:root{--ink: #0c0d10;--panel: #14161b;--panel-2: #191c22;--line: #262a33;--text: #e9eaed;--mute: #8b909b;--faint: #5a5f6b;--accent: #7e7bff;--accent-dim: rgba(126, 123, 255, .16);--ok: #3fb984;--warn: #e0a33f;--danger: #e5604d;--gold: #d9b26a;color:var(--text);background:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--ink)}.mono{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:360px;max-width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px}.login-card h1{font-size:16px;margin:0 0 4px;letter-spacing:.02em}.login-card p{color:var(--mute);margin:0 0 20px;font-size:13px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.brand{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:0 10px 16px}.brand b{color:var(--text)}.nav-item{text-align:left;background:none;border:none;color:var(--mute);padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13.5px}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--text)}.sidebar-foot{margin-top:auto;padding:12px 10px 0}.main{padding:28px 32px;overflow-x:auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h2{font-size:18px;margin:0;font-weight:600}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.card .label{color:var(--mute);font-size:12px;margin-bottom:8px}.card .value{font-size:24px;font-weight:600}.card .sub{color:var(--faint);font-size:12px;margin-top:4px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--mute);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:hover td{background:var(--panel-2)}.table tr.clickable{cursor:pointer}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px;border:1px solid var(--line);color:var(--mute)}.badge.ok{color:var(--ok);border-color:#3fb98466}.badge.warn{color:var(--warn);border-color:#e0a33f66}.badge.danger{color:var(--danger);border-color:#e5604d66}.badge.accent{color:var(--accent);border-color:#7e7bff66}input,select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}.row{display:flex;gap:10px;align-items:center}.btn{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0c0d10;font-weight:600}.btn.danger{color:var(--danger);border-color:#e5604d66}.btn.danger:hover{border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn.sm{padding:5px 9px;font-size:12px}.toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.toolbar .search{width:280px}.toolbar select{width:auto}.muted{color:var(--mute)}.faint{color:var(--faint)}.err{color:var(--danger);font-size:13px;margin:8px 0}.notice{background:var(--accent-dim);border:1px solid rgba(126,123,255,.4);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--text);margin-bottom:16px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10}.drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:100%;background:var(--ink);border-left:1px solid var(--line);z-index:11;overflow-y:auto;padding:24px}.drawer h3{margin:0 0 2px;font-size:16px}.section{margin-top:22px}.section h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:0 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:13px}.kv .k{color:var(--mute)}.actions{display:flex;flex-wrap:wrap;gap:8px}.loading{color:var(--mute);padding:40px 0;text-align:center}
