:root{--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--ink:#ffffff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:rgba(255,255,255,0.1);--bid:#0ca30c;--ask:#d03b3b;--bid-soft:rgba(12,163,12,0.14);--ask-soft:rgba(208,59,59,0.14);--accent:#3987e5;--warn:#fab219}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;padding:24px 16px 60px}.wrap{max-width:1020px;margin:0 auto}a{color:var(--accent)}header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:6px}.brand{font-size:20px;font-weight:700;letter-spacing:.2px;color:var(--ink);text-decoration:none}.brand .beta{font-size:11px;font-weight:600;color:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:1px 8px;margin-left:8px;vertical-align:2px}.sub{color:var(--muted);margin-bottom:18px}.btn{display:inline-block;border:0;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;text-decoration:none}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--ink-2)}.btn.danger{background:transparent;border:1px solid var(--ask);color:var(--ask)}.btn.approve{background:var(--bid)}.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.asset-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;margin-bottom:16px}.asset-toggle button{border:0;background:transparent;color:var(--ink-2);padding:7px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.asset-toggle button.on{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--border)}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.tile .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px}.tile .val{font-size:22px;font-weight:700}.tile .val.bid{color:var(--bid)}.tile .val.ask{color:var(--ask)}.tile .val.mid{color:var(--accent)}.tile .note{font-size:12px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:16px}.panel h2{font-size:15px;font-weight:600;margin-bottom:2px}.panel h2 .panel-hint{font-size:11px;color:var(--muted);font-weight:400}.panel .desc{color:var(--muted);font-size:12.5px;margin-bottom:10px}.legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink-2);margin-bottom:6px}.legend .chip{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.charts{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:860px){.charts{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}.chart-placeholder{height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--axis);border-radius:10px;color:var(--muted);font-size:13px;text-align:center;padding:0 20px}.chart-placeholder .big{font-size:22px}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{border:1px solid var(--border);background:transparent;color:var(--ink-2);border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer}.tabs button.on{background:var(--surface-2);color:var(--ink)}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--axis)}td{padding:10px;border-bottom:1px solid var(--grid);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:hover td{background:rgba(255,255,255,.025)}.side-badge{font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 9px;border-radius:10px;white-space:nowrap}.side-badge.ask{color:var(--ask);background:var(--ask-soft)}.side-badge.bid{color:var(--bid);background:var(--bid-soft)}.price{font-weight:700}.note-cell{color:var(--ink-2);font-size:13px;max-width:220px}.locked-cell{font-size:12.5px;color:var(--ink-2);white-space:nowrap}.locked-cell .tok{color:var(--muted);font-size:11px}.user{color:var(--ink-2)}.age{font-size:12.5px;white-space:nowrap}.age,.dash,.empty-row td{color:var(--muted)}.empty-row td{text-align:center;padding:24px 10px}.reveal-btn{border:1px solid var(--border);background:transparent;color:var(--accent);border-radius:8px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.reveal-btn:hover{background:rgba(57,135,229,.12)}.contact-shown{font-size:13px;color:var(--ink)}.contact-shown .via{color:var(--muted);font-size:11.5px;text-transform:capitalize}.expiring-badge{font-size:10.5px;font-weight:700;letter-spacing:.4px;color:var(--warn);background:rgba(250,178,25,.12);padding:1px 7px;border-radius:9px;white-space:nowrap}.tooltip{position:fixed;pointer-events:none;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;font-size:12.5px;color:var(--ink);z-index:50;box-shadow:0 6px 18px rgba(0,0,0,.5);white-space:nowrap}.tooltip .t-side{font-weight:700}.tooltip .muted{color:var(--muted)}svg text{font-family:inherit}.safety{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:12px;padding:14px 16px;color:var(--ink-2);font-size:13px}footer{color:var(--muted);font-size:12px;margin-top:18px;line-height:1.6}.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;width:100%;max-width:420px;max-height:92vh;overflow-y:auto}.modal h3{font-size:16px;margin-bottom:4px}.modal p{color:var(--muted);font-size:13px;margin-bottom:14px}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}label{display:block;font-size:12px;color:var(--ink-2);margin:10px 0 4px}input[type=email],input[type=number],input[type=password],input[type=text],select{width:100%;background:var(--page);border:1px solid var(--border);border-radius:8px;color:var(--ink);padding:9px 11px;font-size:14px}input:focus,select:focus{outline:1px solid var(--accent)}.consent{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);margin:14px 0}.row{display:flex;gap:10px}.row>div{flex:1 1}.hint{font-size:11.5px;color:var(--muted);margin-top:4px}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;max-width:520px}.form-card h1{font-size:18px;margin-bottom:4px}.form-card .lead{color:var(--muted);font-size:13px;margin-bottom:10px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.field-error{color:var(--ask);font-size:12px;margin-top:4px}.form-error{background:var(--ask-soft);border:1px solid rgba(208,59,59,.4);color:#e88;border-radius:8px}.form-error,.success{padding:10px 12px;font-size:13px;margin-top:12px}.success{background:var(--bid-soft);border:1px solid rgba(12,163,12,.4);color:#7ed07e;border-radius:8px}.manage-link-box{background:var(--page);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;word-break:break-all;margin:10px 0;color:var(--ink);font-family:ui-monospace,Consolas,monospace}.warn-box{display:flex;gap:10px;align-items:flex-start;background:rgba(250,178,25,.08);border:1px solid rgba(250,178,25,.35);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--ink-2);margin-top:12px}.admin-head{display:flex;align-items:baseline;gap:14px;margin:8px 0 16px}.admin-head h1{font-size:18px}.admin-head .counts{color:var(--muted);font-size:13px}.contact-cell{font-size:12.5px}.contact-cell .via{color:var(--muted);font-size:11px;text-transform:capitalize}.status-badge{font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 9px;border-radius:10px;white-space:nowrap}.status-badge.pending_approval{color:var(--warn);background:rgba(250,178,25,.12)}.status-badge.live{color:var(--bid);background:var(--bid-soft)}.status-badge.closed,.status-badge.expired,.status-badge.rejected{color:var(--muted);background:rgba(255,255,255,.06)}.row-actions{display:flex;gap:8px}.row-actions .btn{padding:5px 12px;font-size:12.5px}