*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select{font-family:inherit}.app{background:var(--bg);min-height:100vh;color:var(--text);transition:background .2s,color .2s}.app.dark{--bg:#111110;--surface:#1c1c1a;--surface2:#242422;--border:#2e2e2b;--text:#f0efe9;--text2:#8a8880;--text3:#5a5955;--accent:#f0efe9;--accent-text:#111110}.app:not(.dark){--bg:#f5f4f0;--surface:#fff;--surface2:#f0efe9;--border:#e2e0d8;--text:#1a1917;--text2:#6b6960;--text3:#9b9890;--accent:#1a1917;--accent-text:#fff}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:14px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.tlogo{letter-spacing:-.3px;font-size:15px;font-weight:600}.tlogo span{color:var(--text3);font-weight:400}.navtabs{gap:2px;margin-left:6px;display:flex}.navtab{color:var(--text2);border-radius:6px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.navtab:hover{background:var(--surface2);color:var(--text)}.navtab.active{background:var(--accent);color:var(--accent-text)}.navcount{background:var(--surface2);color:var(--text2);border-radius:10px;padding:1px 6px;font-size:10px}.navtab.active .navcount{color:inherit;background:#7f7f7f59}.tright{align-items:center;gap:10px;margin-left:auto;display:flex}.main-content{max-width:1200px;margin:0 auto;padding:20px}.btn{background:var(--accent);color:var(--accent-text);border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn.sm{padding:4px 9px;font-size:12px}.btn.danger{color:#c0392b;border:1px solid var(--border);background:0 0}.btn.danger:hover{background:#c0392b14}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:16px}.card h2{letter-spacing:-.2px;margin-bottom:12px;font-size:14px;font-weight:600}.field{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:7px;padding:9px 11px;font-size:13px}.field:focus{border-color:var(--text3);outline:none}.row{flex-wrap:wrap;gap:8px;display:flex}.row>.grow{flex:1;min-width:220px}.statbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.pill{background:var(--surface);border:1px solid var(--border);color:var(--text2);border-radius:20px;padding:5px 11px;font-size:12px}.pill strong{color:var(--text);font-weight:600}.pill.warn{color:#a97a12;border-color:#d9a441}.pill.bad{color:#c0392b;border-color:#c0392b}.pill.good{color:#3f9142;border-color:#3f9142}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);padding:0 10px 8px;font-size:11px;font-weight:600}td{border-top:1px solid var(--border);vertical-align:middle;padding:11px 10px}tr.dead td{opacity:.55}.pname{font-weight:600}.psub{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;max-width:380px;margin-top:2px;font-size:11px;overflow:hidden}.price{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.hit{color:#3f9142}.tag{border:1px solid var(--border);color:var(--text2);white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px}.tag.in{color:#3f9142;border-color:#3f9142}.tag.out{color:#c0392b;border-color:#c0392b}.acts{justify-content:flex-end;gap:6px;display:flex}.msg{border-radius:7px;margin-bottom:12px;padding:10px 12px;font-size:13px}.msg.err{color:#c0392b;background:#c0392b1a}.msg.ok{color:#3f9142;background:#3f91421a}.muted{color:var(--text3);font-size:12px}.login{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login .card{width:100%;max-width:340px}.preview{border:1px solid var(--border);background:var(--surface2);border-radius:8px;margin-top:12px;padding:12px}.spin{border:2px solid var(--border);border-top-color:var(--text2);vertical-align:-2px;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.navtabs{order:3;width:100%;overflow-x:auto}.navtab{white-space:nowrap;padding:5px 10px;font-size:12px}.main-content{padding:12px}th.hide,td.hide{display:none}.psub{max-width:180px}}
