:root{--ink:#0e1726;--ink-2:#3e4757;--muted:#596273;--ground:#f4f4f0;--surface:#fff;--line:#e2e3dd;--line-soft:#ecede8;--control-line:#d5d7d0;--track:#eef0ea;--segment:#e8e9e3;--nav:#0e1726;--nav-raised:#233149;--nav-text:#c3cbd8;--nav-muted:#a9b3c4;--amber:#f0b429;--blue:#2e5bd8;--blue-deep:#1b3fa6;--blue-soft:#eef2fd;--good-bg:#e6f4ec;--good-fg:#1f6b45;--warn-bg:#fdf3dc;--warn-fg:#7a4f00;--bad-bg:#fde8e6;--bad-fg:#a3271c;--radius:14px;--font:"Hanken Grotesk", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;color-scheme:light}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--blue-deep)}a:hover{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.page{flex-direction:column;gap:20px;max-width:1160px;margin:0 auto;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.15}.page-head p{color:var(--muted);margin:6px 0 0;font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row{flex-wrap:wrap;align-items:stretch;gap:16px;display:flex}.grow{flex:999 560px;min-width:0}.side{flex:320px;min-width:0}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px 22px}.card h2{margin:0;font-size:16px;font-weight:600}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-sub{color:var(--muted);margin:4px 0 0;font-size:13px}.btn{border:1px solid var(--control-line);background:var(--surface);min-height:44px;color:var(--ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);border-color:#b9bcb3}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{color:#fff;background:#1f2a3d}.btn-small{border-radius:9px;min-height:36px;padding:0 12px;font-size:13px}.btn-danger{color:var(--bad-fg)}.btn:disabled{opacity:.55}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--track);color:var(--ink)}.segmented{background:var(--segment);border-radius:12px;gap:2px;padding:2px;display:inline-flex}.segmented a,.segmented button{color:#475061;background:0 0;border:none;border-radius:10px;align-items:center;min-height:40px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.segmented [aria-current=true],.segmented [aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0e17261f}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--control-line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.chip .count{background:var(--track);min-width:22px;color:var(--ink-2);text-align:center;border-radius:999px;padding:1px 7px;font-size:12px}.chip[aria-current=true],.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip[aria-current=true] .count,.chip[aria-pressed=true] .count{color:#fff;background:#ffffff29}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.pill svg{flex:none}.pill-good{background:var(--good-bg);color:var(--good-fg)}.pill-warn{background:var(--warn-bg);color:var(--warn-fg)}.pill-bad{background:var(--bad-bg);color:var(--bad-fg)}.pill-busy{background:var(--blue-soft);color:var(--blue-deep)}.pill-plain{background:var(--track);color:var(--ink-2)}.field{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field small{color:var(--muted);font-weight:400}.input,.select{border:1px solid var(--control-line);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:400}.input:focus,.select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2e5bd82e}.search{flex:280px;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{padding-left:38px}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--ink);margin:2px 0 0}.form-error{background:var(--bad-bg);color:var(--bad-fg);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.form-error:empty{display:none}.notice{background:var(--blue-soft);color:var(--blue-deep);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:none}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table .right{text-align:right}.meter{background:var(--track);border-radius:4px;height:8px;overflow:hidden}.meter>span{background:var(--blue);border-radius:4px;height:100%;display:block}.meter-warn>span{background:var(--amber)}.empty{text-align:center;color:var(--muted);margin:0;padding:28px 12px;font-size:14px}.toast{z-index:50;background:var(--ink);color:#fff;border-radius:10px;padding:10px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0e17263d}.toast[hidden]{display:none}
