:root{--bg: #0c0f14;--card: #1a222d;--border: #2a3544;--text: #e8eef7;--muted: #8b97a8;--accent: #5b8cff;--ok: #3ecf8e;--bad: #f07178;--warn: #e6c07b}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text);font-family:Segoe UI,system-ui,sans-serif;background:radial-gradient(900px 400px at 10% -10%,#1a2744,transparent 50%),var(--bg)}.hidden{display:none!important}.view{min-height:100vh}.login-card{width:min(400px,92vw);margin:12vh auto;padding:28px 24px}.login-card form{display:grid;gap:12px;margin-top:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#0c0f14e6;z-index:5}.tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1}.tab{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:7px 14px;cursor:pointer;font-weight:600}.tab.active{background:var(--accent);color:#fff;border-color:transparent}.top-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.main{width:min(1100px,94vw);margin:20px auto 40px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}label{display:grid;gap:6px;font-size:.86rem;color:var(--muted);margin-bottom:10px}label.check{display:flex;align-items:center;gap:8px;color:var(--text)}input,select,textarea{width:100%;border:1px solid var(--border);background:#0e131a;color:var(--text);border-radius:8px;padding:10px 12px;font:inherit}textarea{font-family:ui-monospace,Consolas,monospace;resize:vertical}.btn{border:1px solid transparent;border-radius:8px;padding:10px 14px;font-weight:650;cursor:pointer;font:inherit}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn.danger{background:transparent;border-color:#5a3035;color:var(--bad)}.btn-sm{padding:6px 10px;font-size:.8rem}.muted{color:var(--muted);font-size:.9rem}.msg{min-height:1.2em;font-size:.88rem;margin-top:8px}.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}.badge{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#243044;color:var(--muted)}.badge.admin{background:#2a3a1f;color:var(--ok)}.badge.available{background:#1a3328;color:var(--ok)}.badge.sold{background:#3a2a1a;color:var(--warn)}.stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-width:110px}.stat b{display:block;font-size:1.2rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.75rem;text-transform:uppercase}td.key-cell{font-family:ui-monospace,Consolas,monospace;word-break:break-all;max-width:220px}.result{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.toast{position:fixed;bottom:20px;right:20px;background:#1e2836;border:1px solid var(--border);padding:12px 16px;border-radius:10px;opacity:0;transition:.2s;z-index:50}.toast.show{opacity:1}.pay-rules{margin:0 0 14px;padding:14px 16px;border-radius:12px;border:1px solid #6a3a20;background:linear-gradient(135deg,#2a1810,#1a222d 70%);color:var(--text)}.pay-rules-title{margin:0 0 10px;font-size:.82rem;font-weight:800;letter-spacing:.04em;color:var(--warn)}.pay-rules ul{margin:0;padding:0 0 0 1.1em;display:grid;gap:6px;font-size:.98rem;line-height:1.35}.pay-rules li strong{color:#fff}.pay-rules-foot{margin:12px 0 0;font-size:.85rem;color:var(--muted);line-height:1.4}.mykeys-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.mykeys-copy-btn{white-space:nowrap}.shop-limit{margin:4px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid #2a5040;background:#0e1814;font-size:.9rem;line-height:1.4;color:var(--text)}.shop-limit b{color:var(--ok)}.shop-limit.limit-warn{border-color:#6a3a20;background:#1a1410}.shop-limit.limit-warn b{color:var(--warn)}.shop-limit.limit-full{border-color:#5a3035;background:#1a1012}.shop-limit.limit-full b{color:var(--bad)}.acc-limit-input{width:72px;padding:6px 8px;font-size:.85rem}.acc-limit-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.claim-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.claim-modal.hidden{display:none!important}.claim-modal-backdrop{position:absolute;inset:0;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.claim-modal-box{position:relative;width:min(440px,96vw);padding:22px 20px 18px;border-radius:16px;border:2px solid #e74c3c;background:linear-gradient(160deg,#2a1212,#1a222d 55%,#0f1a14);box-shadow:0 0 0 1px #3ecf8e44,0 20px 50px #0000008c;animation:claim-pop .18s ease-out}@keyframes claim-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.claim-modal-kicker{margin:0 0 10px;font-size:.78rem;font-weight:800;letter-spacing:.06em;color:#ff6b6b}.claim-modal-title{margin:0 0 14px;font-size:1.05rem;line-height:1.45;font-weight:800;color:#fff;text-transform:uppercase}.claim-modal-detail{margin:0 0 18px;padding:12px 14px;border-radius:10px;border:1px solid #3a5040;background:#0e1812;font-size:.92rem;line-height:1.5;color:var(--text)}.claim-modal-detail b{color:#3ecf8e}.claim-modal-detail .warn-line{margin-top:8px;color:#ff8a80;font-weight:700;font-size:.86rem}.claim-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.claim-btn-ok{background:#1f9d55!important;border-color:#2ecc71!important;color:#fff!important;font-size:1.05rem;font-weight:800;padding:14px 12px;box-shadow:0 0 18px #2ecc7155}.claim-btn-ok:hover{filter:brightness(1.1)}.claim-btn-no{background:#c0392b!important;border-color:#e74c3c!important;color:#fff!important;font-size:.95rem;font-weight:800;padding:14px 10px;box-shadow:0 0 18px #e74c3c55}.claim-btn-no:hover{filter:brightness(1.1)}@media(max-width:420px){.claim-modal-actions{grid-template-columns:1fr}.claim-modal-title{font-size:.95rem}}
