:root{--bg:#0d1117;--panel:#161b22;--border:#262d36;--text:#e6edf3;--muted:#8b949e;--up:#3fb950;--down:#f85149;--accent:#58a6ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit;color:inherit}.admin-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(980px,100%);max-height:min(700px,100%);display:flex;overflow:hidden}.admin-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem 1rem;display:flex}.admin-head h2{margin:0;font-size:1.05rem}.admin-head .sub{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.admin-head .close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.3rem;line-height:1}.admin-body{flex:1;min-height:0;overflow:auto}.admin-panel table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-panel th{z-index:1;background:var(--panel);border-bottom:1px solid var(--border);color:var(--muted);text-align:left;white-space:nowrap;padding:.5rem .75rem;font-weight:500;position:sticky;top:0}.admin-panel td{vertical-align:middle;border-bottom:1px solid #1c222b;padding:.6rem .75rem}.admin-panel tr.is-pending{background:#58a6ff0f}.admin-panel .mono{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-panel .muted{color:var(--muted);white-space:nowrap}.tag{border:1px solid var(--accent);color:var(--accent);text-transform:uppercase;border-radius:4px;margin-left:.4rem;padding:.05rem .35rem;font-size:.65rem}.status{text-transform:capitalize;border-radius:4px;padding:.12rem .45rem;font-size:.72rem}.status.pending{color:#d29922;background:#d2992226}.status.approved{color:var(--up);background:#3fb95021}.status.rejected,.status.disabled{color:var(--down);background:#f851491f}.admin-panel .actions{justify-content:flex-end;gap:.4rem;display:flex}.admin-panel .actions button{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.28rem .6rem;font-size:.75rem;font-weight:600}.admin-panel .actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-panel .actions .approve{border-color:var(--up);color:var(--up)}.admin-panel .actions .approve:hover:not(:disabled){background:var(--up);color:#08111f}.admin-panel .actions .danger:hover:not(:disabled){border-color:var(--down);color:var(--down)}.admin-panel .actions button:disabled{opacity:.4;cursor:default}.admin-msg{color:var(--muted);text-align:center;padding:2rem;font-size:.85rem}.admin-error{color:#ffb4ae;background:#f851491a;border-bottom:1px solid #6e2b28;margin:0;padding:.6rem 1rem;font-size:.8rem}.admin-foot{border-top:1px solid var(--border);color:var(--muted);padding:.6rem 1rem;font-size:.72rem;line-height:1.5}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:min(400px,100%);padding:2rem}.auth-card h1{letter-spacing:-.01em;margin:0;font-size:1.3rem}.auth-card .subtitle{color:var(--muted);margin:.35rem 0 1.5rem;font-size:.85rem;line-height:1.5}.auth-card form{flex-direction:column;gap:1rem;display:flex}.auth-card label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.auth-card input,.auth-card select{border:1px solid var(--border);color:var(--text);background:#0d1117;border-radius:8px;padding:.6rem .7rem;font-size:.95rem}.auth-card input:focus-visible,.auth-card select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.phone{gap:.5rem;display:flex}.phone select{flex:none;width:6.5rem}.phone input{flex:1;min-width:0}.auth-card button[type=submit],.auth-card>button{background:var(--accent);color:#08111f;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1rem;font-size:.9rem;font-weight:600}.auth-card button:disabled{opacity:.5;cursor:default}.auth-card .link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;text-decoration:underline}.auth-card .row{justify-content:space-between;display:flex}.auth-card .hint,.auth-card .optional{color:var(--muted);font-size:.75rem;font-weight:400}.auth-card .hint.ok{color:var(--up)}.auth-card .hint.warn{color:#d29922}.auth-card .error{color:#ffb4ae;background:#f851491a;border:1px solid #6e2b28;border-radius:8px;margin:0;padding:.55rem .7rem;font-size:.8rem;line-height:1.45}.auth-card .switch{color:var(--muted);text-align:center;margin:1.25rem 0 0;font-size:.82rem}.auth-card .body{margin:0 0 1rem;font-size:.88rem;line-height:1.6}.auth-card .body.muted{color:var(--muted);font-size:.82rem}.app{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.booting{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.impersonating{background:#a371f724;border:1px solid #8957e5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1.25rem;padding:.6rem .9rem;font-size:.82rem;display:flex}.impersonating button{color:#d2a8ff;cursor:pointer;background:0 0;border:1px solid #a371f7;border-radius:6px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.impersonating button:hover{color:#fff;background:#8957e5}.session{order:3;gap:.4rem;display:flex}.ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .7rem;font-size:.78rem;font-weight:600}.ghost:hover{border-color:var(--accent);color:var(--accent)}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.top h1{letter-spacing:-.02em;margin:0;font-size:1.5rem}.sub{color:var(--muted);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:.85rem}.top form{gap:.5rem;display:flex}.top input{background:var(--panel);border:1px solid var(--border);text-transform:uppercase;border-radius:8px;width:9rem;padding:.5rem .75rem}.top input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.top button{background:var(--accent);color:#08111f;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.banner{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:8px;align-items:center;gap:.5rem;margin:1.25rem 0;padding:.6rem .9rem;font-size:.85rem;display:flex}.banner.warn{border-color:#9e6a03}.banner.bad{color:#ffb4ae;border-color:#6e2b28}.banner.ok{border-color:#1f6f34}.banner-text{flex:1}.note{margin-top:-.75rem;line-height:1.5}.note code{word-break:break-all;background:#0d1117;border-radius:4px;padding:.1rem .3rem;font-size:.78rem}.account{font-variant-numeric:tabular-nums;color:var(--text);flex:none;align-items:center;gap:.3rem;font-size:.78rem;display:flex}.account .tick{color:var(--up)}.account .muted{color:var(--muted)}.account .warn-text{color:#d29922}.reconnect{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.reconnect.urgent{border-color:var(--accent);color:var(--accent)}.reconnect:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#08111f}.reconnect:disabled{opacity:.5;cursor:default}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.dot.open{background:var(--up)}.dot.error{background:var(--down)}.err{color:var(--down)}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem}.card header{justify-content:space-between;align-items:baseline;display:flex}.card h2{letter-spacing:.04em;margin:0;font-size:1rem}.remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1}.remove:hover{color:var(--down)}.last{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.5rem 0 .15rem;font-size:1.9rem;font-weight:600}.tick-up{animation:.6s ease-out flash-up}.tick-down{animation:.6s ease-out flash-down}@keyframes flash-up{0%{color:var(--up)}}@keyframes flash-down{0%{color:var(--down)}}@media (prefers-reduced-motion:reduce){.tick-up,.tick-down{animation:none}}.change{font-variant-numeric:tabular-nums;gap:.5rem;font-size:.9rem;display:flex}.card.up .change{color:var(--up)}.card.down .change{color:var(--down)}.card.flat .change{color:var(--muted)}.detail{grid-template-columns:1fr 1fr;gap:.4rem 1rem;margin:1rem 0 0;font-size:.78rem;display:grid}.detail div{justify-content:space-between;gap:.5rem;display:flex}.detail dt{color:var(--muted)}.detail dd{font-variant-numeric:tabular-nums;margin:0}.detail small{color:var(--muted)}.card footer{border-top:1px solid var(--border);color:var(--muted);margin-top:.9rem;padding-top:.6rem;font-size:.72rem}.card footer.stale{color:#d29922}.card.pending .waiting,.empty{color:var(--muted);font-size:.85rem}.card.clickable{cursor:pointer;transition:border-color .12s}.card.clickable:hover,.card.clickable:focus-visible{border-color:var(--accent);outline:none}.overlay{z-index:10;background:#010409c7;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.chart-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(1100px,100%);height:min(680px,100%);display:flex;overflow:hidden}.chart-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.chart-title{align-items:baseline;gap:.6rem;display:flex}.chart-title h2{letter-spacing:.04em;margin:0;font-size:1.1rem}.chart-last{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600}.chart-tf,.hint{color:var(--muted);font-size:.75rem}.chart-controls{gap:.3rem;display:flex}.chart-controls button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.chart-controls button:hover{color:var(--text)}.chart-controls button.active{border-color:var(--accent);color:var(--accent)}.chart-controls .close{border-color:#0000;font-size:1.1rem;line-height:1}.ohlc{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--muted);flex-wrap:wrap;gap:.9rem;padding:.5rem 1rem;font-size:.78rem;display:flex}.ohlc b{font-weight:600}.ohlc .up{color:var(--up)}.ohlc .down{color:var(--down)}.ohlc .muted{color:var(--muted)}.chart-body{flex:1;min-height:0;position:relative}.chart-canvas{width:100%;height:100%}.chart-msg{color:var(--muted);justify-content:center;align-items:center;margin:0;font-size:.85rem;display:flex;position:absolute;inset:0}.chart-msg.err{color:var(--down)}.chart-foot{border-top:1px solid var(--border);color:var(--muted);padding:.5rem 1rem;font-size:.72rem}.brand{align-items:center;gap:.65rem;display:flex}.brand h1{letter-spacing:-.02em;margin:0;font-size:1.25rem}.wordmark{align-items:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.wordmark-text{flex-direction:column;line-height:1.25;display:flex}.wordmark-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.wordmark-tag{color:var(--muted);letter-spacing:.01em;font-size:.68rem}.footer-brand{color:var(--muted);text-align:center;margin:3rem 0 0;font-size:.72rem}
