*{box-sizing:border-box}body{background:#0b1020;color:#e6e9f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;margin:0}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{align-items:center;background:#0e1430;border-bottom:1px solid #1d2540;display:flex;gap:24px;padding:14px 24px;position:sticky;top:0;z-index:10}.brand{font-weight:700;letter-spacing:.5px}.nav{display:flex;font-size:14px;gap:18px}.nav a{border-radius:6px;color:#a9b3d1;padding:6px 10px}.nav a:hover{background:#1a2244;color:#fff}.nav a.router-link-exact-active{background:#2d3a72;color:#fff}.main{margin:0 auto;padding:20px clamp(16px,3vw,48px);width:100%}.card{background:#111838;border:1px solid #1d2540;border-radius:10px;margin-bottom:16px;overflow-x:auto;padding:18px}.card h2{color:#c8d0e8;font-size:16px;margin:0 0 12px}.muted{color:#8993b6;font-size:13px}.row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.btn{background:#2d3a72;border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px}.btn:hover{background:#3a4a8d}.btn.danger{background:#6b1e2e}.btn.danger:hover{background:#8a2a3d}.btn.ghost{background:transparent;border:1px solid #2d3a72}input,select,textarea{background:#0b1228;border:1px solid #2a3360;border-radius:6px;color:#e6e9f2;font-family:inherit;font-size:13px;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:#4a5ab0;outline:none}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:100px;width:100%}table{border-collapse:collapse;font-size:13px;width:100%}td,th{border-bottom:1px solid #1d2540;padding:8px 10px;text-align:left;vertical-align:top}th{color:#8993b6;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}tr.expandable{cursor:pointer}tr.expandable:hover td{background:#161e44}.badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.badge.success{background:#173d2e;color:#67e2a3}.badge.error{background:#3d1717;color:#ff8b8b}.badge.muted{background:#232c54;color:#a9b3d1}pre{background:#0a1024;border:1px solid #1d2540;border-radius:6px;font-size:12px;line-height:1.45;overflow-x:auto;padding:10px}.stat{background:#111838;border:1px solid #1d2540;border-radius:10px;padding:16px}.stat .v{font-size:24px;font-weight:700}.stat .l{color:#8993b6;font-size:12px;letter-spacing:.4px;text-transform:uppercase}
