:root{--ink:#1d2433;--ink-2:#4a5468;--ink-3:#7a8396;--paper:#f6f7f9;--surface:#fff;--rule:#dde1e8;--green:#146c55;--green-soft:#e3f1ec;--yellow:#f2b705;--yellow-soft:#fff6d6;--red:#b42318;--red-soft:#fdecea;--amber:#b54708;--amber-soft:#fff1e0;--rail:#1d2433;--chart-1:#146c55;--chart-2:#2f6fb0;--chart-3:#c27c0e;--chart-4:#8a4fb3;--chart-5:#5d6b82;--radius-s:4px;--radius-m:8px;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-figure:"Barlow Semi Condensed", "Arial Narrow", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font:14px/1.5 var(--font-body);font-variant-numeric:tabular-nums;margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}h1,h2,h3{font-family:var(--font-figure);letter-spacing:.005em;margin:0;font-weight:600}h1{font-size:30px;line-height:1.15}h2{font-size:20px;line-height:1.25}h3{font-size:16px;line-height:1.3}p{margin:0}.muted{color:var(--ink-3)}.small{font-size:12px}.num{text-align:right;white-space:nowrap}code,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.shell{grid-template-columns:232px 1fr;min-height:100%;display:grid}.rail{background:var(--rail);color:#c9d0dc;flex-direction:column;height:100vh;padding:20px 0;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid #2c3548;margin-bottom:12px;padding:0 20px 20px}.brand-name{font-family:var(--font-figure);color:#fff;font-size:22px;font-weight:700}.brand-sub{color:#8f99ab;font-size:12px}.rail-group{padding:10px 0 4px}.rail-heading{color:#8f99ab;padding:0 20px 6px;font-size:12px}.rail a{color:#d6dce6;border-left:3px solid #0000;padding:6px 20px 6px 17px;display:block}.rail a:hover{background:#253048;text-decoration:none}.rail a.active{border-left-color:var(--yellow);color:#fff;background:#253048;font-weight:500}.main{min-width:0}.page{max-width:1400px;padding:24px 32px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head p{color:var(--ink-2);max-width:70ch;margin-top:4px}.filters{z-index:5;background:var(--paper);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:end;gap:12px;padding:10px 32px;display:flex;position:sticky;top:0}.field{color:var(--ink-2);flex-direction:column;gap:3px;font-size:12px;display:flex}.field input,.field select,.field textarea{font:14px var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-s);min-height:34px;padding:6px 8px}.field textarea{min-height:90px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.meter{background:var(--ink);border-radius:var(--radius-m);color:#fff;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px;display:grid;overflow:hidden}.meter-cell{border-right:1px solid #323c52;padding:14px 18px 12px}.meter-cell:last-child{border-right:0}.meter-label{color:#a9b2c3;font-size:12px}.meter-value{font-family:var(--font-figure);color:var(--yellow);margin-top:2px;font-size:30px;font-weight:600;line-height:1.15}.meter-note{color:#8f99ab;font-size:11px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m);min-width:0;padding:16px 18px}.panel+.panel,.grid-2+.panel,.panel+.grid-2,.grid-2+.grid-2{margin-top:16px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.panel-head p{color:var(--ink-3);font-size:12px}.chart{height:260px}.table-wrap{overflow-x:auto}.table-wrap[aria-busy=true]{opacity:.6}.pager{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:12px;display:flex}.pager-label,.pager-page{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.pager-page{align-self:center;padding:0 4px}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--rule);white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:500}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}td{vertical-align:top;border-bottom:1px solid #eef0f4;padding:7px 8px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f3f7f5}tfoot td{border-top:1px solid var(--rule);font-weight:600}.btn{font:500 14px var(--font-body);border-radius:var(--radius-s);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;padding:7px 14px}.btn:hover{border-color:var(--ink-3)}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:#0f5947}.btn-danger{color:var(--red);border-color:#f1c2bd}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill{color:var(--ink-2);white-space:nowrap;background:#eef0f4;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.pill-green{background:var(--green-soft);color:var(--green)}.pill-yellow{background:var(--yellow-soft);color:#7a5a00}.pill-red{background:var(--red-soft);color:var(--red)}.pill-amber{background:var(--amber-soft);color:var(--amber)}.notice{border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:var(--radius-s);color:#6b3304;padding:8px 12px;font-size:13px}.error{border-left:3px solid var(--red);background:var(--red-soft);border-radius:var(--radius-s);color:var(--red);padding:8px 12px}.empty{text-align:center;color:var(--ink-3);padding:28px}.kv{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{margin:0}.tabs{border-bottom:1px solid var(--rule);gap:4px;margin-bottom:16px;display:flex}.tabs button{font:500 14px var(--font-body);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--green)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.section{border-top:1px solid var(--rule);margin-top:14px;padding-top:14px}.section-title{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.section-title span{color:var(--ink-3);font-size:12px}pre.json{border:1px solid var(--rule);border-radius:var(--radius-s);background:#f3f4f7;max-height:420px;margin:0;padding:10px;font-size:12px;overflow:auto}.reason{border-bottom:1px solid #eef0f4;grid-template-columns:80px 1fr;align-items:center;gap:10px;padding:6px 0;display:grid}.bar{background:var(--yellow);border-radius:4px;height:8px}@media (width<=900px){.shell{grid-template-columns:1fr}.rail{height:auto;position:static}.page,.filters{padding-left:16px;padding-right:16px}.grid-2,.grid-3{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.control{font:14px var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-s);min-height:34px;padding:6px 8px}.check{color:var(--ink);align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.check input{width:16px;height:16px;accent-color:var(--green);margin:0}.choices{border:0;flex-direction:column;gap:2px;margin:0;padding:0;display:flex}.choices legend{color:var(--ink-2);margin-bottom:4px;padding:0;font-size:12px}.choices-row{flex-flow:wrap;gap:4px 14px}.grid-2>.panel,.grid-3>.panel{margin-top:0}.auth-screen{background:var(--rail);place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border-radius:var(--radius-m);width:100%;max-width:400px;padding:28px;box-shadow:0 12px 32px #00000040}.auth-brand .brand-name{color:var(--ink)}.auth-brand .brand-sub{color:var(--ink-3)}.auth-brand{border-left:4px solid var(--yellow);margin-bottom:20px;padding-left:12px}.auth-title{font-family:var(--font-figure);margin:0 0 12px;font-size:24px}.auth-form{gap:12px;display:grid}.auth-form .field input,.auth-form .field select{width:100%}.auth-hint{margin-top:16px}.error-text{color:var(--red)}.rail-user{border-top:1px solid #ffffff1f;margin-top:auto;padding:16px 20px;font-size:13px}.rail-user-name{color:#fff;font-weight:500}.rail-user-role{color:#fff9;word-break:break-all;font-size:12px}.rail-user-links{align-items:center;gap:12px;margin-top:8px;display:flex}.rail .rail-user-links a{border:0;padding:0}.rail-signout{color:var(--yellow);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.rail-signout:hover{text-decoration:underline}
