:root{--bg: #f6f3ee;--bg-tint: #efe9df;--surface: #ffffff;--surface-2: #faf8f4;--text: #1f1d1a;--muted: #6b665e;--subtle: #9a948a;--border: #e7e1d7;--border-strong: #d4ccbf;--primary: #2d3a6b;--primary-hover: #243058;--primary-ink: #ffffff;--primary-soft: #e8ebf6;--accent: #b08d57;--confirmed: #0ca30c;--declined: #d03b3b;--pending: #a3a299;--unused: #ddd8cf;--confirmed-text: #0a6b0a;--declined-text: #a12828;--pending-text: #5f5d56;--confirmed-soft: #e6f5e6;--declined-soft: #fbeaea;--pending-soft: #efeee9;--shadow-sm: 0 1px 2px rgba(31, 29, 26, .06);--shadow: 0 1px 2px rgba(31, 29, 26, .04), 0 8px 24px rgba(31, 29, 26, .06);--shadow-lg: 0 2px 4px rgba(31, 29, 26, .04), 0 24px 60px rgba(31, 29, 26, .12);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #131316;--bg-tint: #18181c;--surface: #1c1c21;--surface-2: #222228;--text: #ecebe8;--muted: #a8a59e;--subtle: #7c7a74;--border: #2d2d33;--border-strong: #3c3c44;--primary: #9aa8ff;--primary-hover: #b3beff;--primary-ink: #11131f;--primary-soft: #23284a;--accent: #d4b27a;--pending: #6f6e67;--unused: #38383f;--confirmed-text: #5fd35f;--declined-text: #ff8c8c;--pending-text: #b9b7b0;--confirmed-soft: #15301a;--declined-soft: #3a1b1d;--pending-soft: #2a2a2e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);color-scheme:dark}}.theme-light{--bg: #f6f3ee;--bg-tint: #efe9df;--surface: #ffffff;--surface-2: #faf8f4;--text: #1f1d1a;--muted: #6b665e;--subtle: #9a948a;--border: #e7e1d7;--border-strong: #d4ccbf;--primary: #2d3a6b;--primary-hover: #243058;--primary-ink: #ffffff;--primary-soft: #e8ebf6;--accent: #b08d57;--confirmed: #0ca30c;--declined: #d03b3b;--pending: #a3a299;--unused: #ddd8cf;--confirmed-text: #0a6b0a;--declined-text: #a12828;--pending-text: #5f5d56;--confirmed-soft: #e6f5e6;--declined-soft: #fbeaea;--pending-soft: #efeee9;--shadow-sm: 0 1px 2px rgba(31, 29, 26, .06);--shadow: 0 1px 2px rgba(31, 29, 26, .04), 0 8px 24px rgba(31, 29, 26, .06);--shadow-lg: 0 2px 4px rgba(31, 29, 26, .04), 0 24px 60px rgba(31, 29, 26, .12);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}.theme-dark{--bg: #131316;--bg-tint: #18181c;--surface: #1c1c21;--surface-2: #222228;--text: #ecebe8;--muted: #a8a59e;--subtle: #7c7a74;--border: #2d2d33;--border-strong: #3c3c44;--primary: #9aa8ff;--primary-hover: #b3beff;--primary-ink: #11131f;--primary-soft: #23284a;--accent: #d4b27a;--pending: #6f6e67;--unused: #38383f;--confirmed-text: #5fd35f;--declined-text: #ff8c8c;--pending-text: #b9b7b0;--confirmed-soft: #15301a;--declined-soft: #3a1b1d;--pending-soft: #2a2a2e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}p{margin:0}img{max-width:100%;display:block}a{color:var(--primary)}::selection{background:var(--primary-soft)}.icon{display:inline-flex;flex:none}.display{font-family:var(--font-display);font-weight:600;letter-spacing:0}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{font-size:.82rem;color:var(--muted)}.nowrap{white-space:nowrap}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:grid;gap:16px}.field{display:grid;gap:6px}.field>label{font-size:.82rem;font-weight:600;color:var(--text)}.input{width:100%;font:inherit;color:var(--text);padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--subtle)}.input:hover{border-color:var(--subtle)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.input-icon{position:relative}.input-icon>.icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--subtle);pointer-events:none}.input-icon>.input{padding-left:40px}.input-icon>.trailing{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.code-input{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase}.code-input::placeholder{letter-spacing:.12em}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.input:focus-visible{outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.9rem;line-height:1;padding:11px 18px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:background .15s,border-color .15s,color .15s,transform .05s,box-shadow .15s;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--subtle)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{background:var(--declined);border-color:var(--declined);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(.95);background:var(--declined)}.btn.outline-danger{color:var(--declined-text);border-color:var(--border-strong)}.btn.outline-danger:hover:not(:disabled){background:var(--declined-soft);border-color:var(--declined)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:var(--bg-tint);border-color:transparent}.btn.sm{padding:8px 12px;font-size:.82rem}.btn.lg{padding:14px 22px;font-size:.95rem}.btn.block{width:100%}.link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--primary);cursor:pointer;text-decoration:none}.link:hover{text-decoration:underline;text-underline-offset:3px}.link.muted{color:var(--muted)}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--bg-tint);color:var(--text)}.icon-btn.sm{width:28px;height:28px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);font-size:.88rem;border:1px solid transparent}.alert>.icon{margin-top:1px}.alert.error{background:var(--declined-soft);color:var(--declined-text)}.alert.success{background:var(--confirmed-soft);color:var(--confirmed-text)}.alert.info{background:var(--primary-soft);color:var(--text)}.alert ul{margin:6px 0 0;padding-left:18px;max-height:180px;overflow:auto}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.chip.confirmed{background:var(--confirmed-soft);color:var(--confirmed-text)}.chip.declined{background:var(--declined-soft);color:var(--declined-text)}.chip.pending{background:var(--pending-soft);color:var(--pending-text)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.confirmed{background:var(--confirmed)}.dot.declined{background:var(--declined)}.dot.pending{background:var(--pending)}.dot.unused{background:var(--unused)}.avatar{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:.78rem;letter-spacing:.02em}.modal{border:0;padding:28px;border-radius:var(--radius-lg);width:min(420px,100vw - 32px);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.modal::backdrop{background:#0f0e0c73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal[open]{animation:pop .18s ease-out}.modal h2{font-size:1.15rem;margin:14px 0 6px}.modal p{color:var(--muted)}.modal-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.modal-icon.danger{background:var(--declined-soft);color:var(--declined-text)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;flex-wrap:wrap}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;right:16px;bottom:16px;z-index:50;display:grid;gap:8px;width:min(380px,100vw - 32px)}.toast{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px;border-radius:12px;background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);font-size:.88rem;animation:pop .2s ease-out}.toast span{flex:1}.toast.success>.icon{color:#6fdc6f}.toast.error>.icon{color:#ff8c8c}.toast .icon-btn{color:inherit;opacity:.7}.toast .icon-btn:hover{background:#7f7f7f33;opacity:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
