:root{--bg: #0b0a08;--surface: #17140f;--line: #2a2519;--text: #f3ead8;--muted: #9a9078;--accent: #e8a33c;--accent-ink: #1a1206;--danger: #d9634f;--ok: #7fb77e}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}a{color:var(--accent)}main{max-width:32rem;margin:0 auto;padding:1rem 1rem 4rem}header.top{display:flex;align-items:baseline;justify-content:space-between;padding:.75rem 0 1rem}header.top .brand{font-weight:700;letter-spacing:.04em;text-decoration:none;color:var(--text);font-size:1.1rem}header.top .brand:before{content:"";display:inline-block;width:.55em;height:.9em;border:2px solid var(--accent);border-radius:2px;margin-right:.5em;vertical-align:-.1em}header.top nav a{margin-left:1rem;color:var(--muted);text-decoration:none;font-size:.95rem}h1{font-size:1.5rem;margin:.5rem 0 .25rem;line-height:1.2}h2{font-size:1.05rem;margin:1.5rem 0 .5rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}p{margin:.5rem 0}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.75rem 0}.card.link{display:block;color:inherit;text-decoration:none}.card.link:hover{border-color:var(--accent)}.row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.receipt{width:100%;border-collapse:collapse;margin:.5rem 0}.receipt td{padding:.3rem 0;vertical-align:top}.receipt td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.receipt tr.total td{border-top:1px solid var(--line);padding-top:.5rem;font-weight:700}.receipt .to{display:block;color:var(--muted);font-size:.85rem}label{display:block;margin:.75rem 0 .25rem;color:var(--muted);font-size:.9rem}input,select{width:100%;padding:.7rem .8rem;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;padding:.7rem 1rem;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer}button.quiet{background:transparent;color:var(--text);border-color:var(--line)}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:default}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.actions button{flex:1 1 auto}.status{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;border:1px solid var(--line);color:var(--muted)}.status.won,.status.paid,.status.held{color:var(--ok);border-color:var(--ok)}.status.used{color:var(--accent);border-color:var(--accent)}.error{color:var(--danger);margin:.5rem 0}.qr{display:block;margin:1rem auto;width:min(280px,80vw);border-radius:12px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all;background:var(--bg);padding:.6rem;border-radius:8px;border:1px solid var(--line)}.tick{color:var(--ok)}.toast{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:.6rem .8rem;display:flex;gap:.5rem;align-items:center}.toast button{padding:.4rem .7rem}.hint{border-left:3px solid var(--line);padding-left:.8rem;color:var(--muted);font-size:.95rem}
