:root{color-scheme:light;font-family:Inter,-apple-system,Segoe UI,sans-serif;background:#f7f7f8;color:#111;--brand: #6f1d2b;--brand-hover: #591521;--success: #215c45;--danger: #b42318;--line: #e5e5e5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.primary-link{transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease,transform .18s ease}button:hover:not(:disabled){border-color:#b8b8b8;background:#f7f7f8;box-shadow:0 3px 10px #11182714}button:active:not(:disabled),.primary-link:active{transform:translateY(1px)}button.primary:hover:not(:disabled),.primary-link:hover{background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 5px 14px #6f1d2b2e}button.danger:hover:not(:disabled){background:#912018;border-color:#912018;box-shadow:0 5px 14px #b4231829}:focus-visible{outline:3px solid rgba(111,29,43,.28);outline-offset:2px}.auth{min-height:100vh;display:grid;place-items:center;background:#fff}.card{width:min(360px,calc(100vw - 32px));border:1px solid var(--line);border-radius:8px;padding:28px;animation:page-enter .22s cubic-bezier(.2,.65,.35,1) both}.card h1{font-size:22px;margin:0 0 20px}label{display:grid;gap:6px;font-size:13px;color:#444;margin-bottom:14px}input,select{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}input{padding:10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}select{padding:10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background:#fff}input:hover,select:hover{border-color:#b8b8b8}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #6f1d2b2e}button{padding:9px 14px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;cursor:pointer}button.primary{background:var(--brand);color:#fff;border-color:var(--brand);width:100%}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.primary-link{display:inline-block;padding:9px 14px;background:var(--brand);color:#fff;border-radius:6px;font-size:14px}.error{color:var(--danger);font-size:13px}.muted{color:#6b7280;font-size:13px}.inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.inline label{min-width:0}.inline button{margin-bottom:14px;white-space:nowrap}.page header{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;background:#fff;border-bottom:1px solid var(--line)}.page header nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}.page header nav a{padding:7px 4px}.page header nav a:hover{color:var(--brand)}.page header nav button{width:auto;padding:7px 11px;font-size:13px}.page header nav button.primary{width:auto}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:650}.brand-mark{display:block;width:auto;height:30px;flex:0 0 auto;object-fit:contain}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--brand);font-weight:700}.auth-lockup{display:block;width:176px;height:auto}.page main{max-width:960px;margin:32px auto;padding:0 24px;animation:page-enter .22s cubic-bezier(.2,.65,.35,1) backwards}.page main h2{font-size:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.metric span{display:block;font-size:13px;color:#6b7280;margin-bottom:8px}.metric strong{font-size:20px;overflow-wrap:anywhere}.metric button{margin-top:12px}.page h3{font-size:17px;margin:28px 0 12px}.table-wrap{width:100%;margin-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:700px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{text-align:left;padding:12px;border-bottom:1px solid #eef0f2;font-size:14px}th{color:#6b7280;font-weight:500;background:#fafafa}td button{margin:2px 4px 2px 0}.empty-row td{padding:24px 12px;color:#6b7280;text-align:center}.notice{margin:16px 0;padding:12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;overflow-wrap:anywhere}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.3;background:#f3f4f6;color:#374151;white-space:nowrap}.status-active,.status-pending,.status-submitted,.status-available{background:#ecfdf3;color:var(--success)}.status-disabled,.status-rejected,.status-cancelled,.status-expired,.status-revoked,.status-unavailable{background:#fef3f2;color:var(--danger)}.status-approved{background:#eef2ff;color:#3730a3}.toast{position:fixed;left:50%;bottom:24px;z-index:1400;transform:translate(-50%);max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#166534;box-shadow:0 8px 24px #0f172a24;font-size:13px;text-align:center;animation:toast-enter .2s cubic-bezier(.2,.65,.35,1) both}.invite-copy{margin:8px 0 16px;font-size:14px}.invite-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.invite-actions input{flex:1 1 320px;min-width:220px}.invite-actions button.primary{width:auto;min-width:112px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:#1118276b;animation:backdrop-enter .16s ease-out both}.modal{position:relative;z-index:1201;width:min(460px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px #0f172a33;animation:modal-enter .2s cubic-bezier(.2,.65,.35,1) both}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head strong{font-size:18px}.modal-head button{width:32px;height:32px;padding:0;font-size:20px;line-height:1}.modal-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;color:#444;font-size:13px}.quick-amounts{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.quick-amounts button{min-width:58px}.quick-amounts button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.payment-methods{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}.payment-methods button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.payment-methods button.primary{width:auto;margin-left:auto}.inline-amount{display:flex;align-items:center;gap:8px;margin:0}.inline-amount input{width:110px;padding:8px}.payment-modal{width:min(520px,100%)}.payment-amount{display:grid;justify-items:center;gap:4px;padding:16px;margin-bottom:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.payment-amount span,.payment-amount small{color:#64748b;font-size:13px}.payment-amount strong{font-size:32px;line-height:1.1}.payment-qr-card{display:grid;justify-items:center;gap:8px;padding:16px;margin-bottom:14px;border:1px solid #e5e5e5;border-radius:8px}.payment-qr-card img{display:block;width:min(280px,100%);height:auto;aspect-ratio:1;object-fit:contain;border:1px solid #eef0f2;border-radius:6px;background:#fff}.payment-qr-card p{margin:0;font-size:14px;text-align:center}.payment-qr-state{padding:32px 16px;margin-bottom:14px;text-align:center;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.payment-qr-state.error{color:#b42318;background:#fef3f2;border-color:#fecdca}.payment-notice{display:grid;gap:4px;padding:12px;margin-bottom:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:13px}.payment-notice span{color:#854d0e}.confirm-copy{padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:14px}.confirm-copy p{margin:6px 0 0}.confirm-copy.danger-copy{background:#fef3f2;border-color:#fecdca;color:#912018}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button.primary{width:auto}button:disabled{cursor:not-allowed;opacity:.55}pre{background:#111;color:#e5e7eb;padding:16px;border-radius:8px;overflow:auto;font-size:13px;line-height:1.6}.secret-modal{width:min(620px,100%)}.secret-value{margin:16px 0;background:#111827;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.conn-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:1000;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:13px;line-height:1;box-shadow:0 4px 14px #0000001f;pointer-events:none}.conn-banner--warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.conn-banner--ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.conn-banner .conn-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}.conn-banner--warn .conn-dot{animation:conn-pulse 1.2s ease-in-out infinite}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%,6px) scale(.985)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes modal-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(hover:hover)and (pointer:fine){.metric:hover{transform:translateY(-2px);border-color:#ded1d3;box-shadow:0 8px 22px #11182714}}@media(prefers-reduced-motion:reduce){.conn-banner--warn .conn-dot{animation:none}button,.primary-link,input,select,.metric{transition-duration:.01ms}.page main,.card,.toast,.modal-backdrop,.modal{animation:none}button:active:not(:disabled),.primary-link:active,.metric:hover{transform:none}}@media(max-width:640px){.page header{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 16px}.page header nav{width:100%;gap:4px}.page header nav a{padding:5px 4px}.page header nav button{padding:6px 9px}.page main{margin:20px auto;padding:0 16px}.page main h2{font-size:21px}.grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.metric{padding:14px}.metric strong{font-size:18px}.inline{grid-template-columns:1fr}.inline button{margin:0 0 14px;width:100%}.table-wrap table{min-width:640px}.modal-backdrop{align-items:start;padding:12px;overflow-y:auto}.modal{max-height:none;margin:12px 0;padding:16px}.modal-actions{flex-direction:column-reverse}.modal-actions button,.modal-actions button.primary{width:100%}.quick-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.quick-amounts button{min-width:0}.inline-amount{grid-column:1 / -1}.inline-amount input{width:100%}.toast{bottom:16px}.payment-methods button.primary{width:100%;margin-left:0}.payment-modal{padding:16px}.payment-amount strong{font-size:28px}}
