:root{--bar-h:60px;--paper:#f3f5f9;--surface:#fff;--surface-2:#eef2f8;--surface-3:#e3e9f3;--ink:#13213a;--ink-2:#4e5d78;--ink-3:#8a97ae;--rule:#d7deea;--rule-soft:#e7ecf4;--brand:#3373e9;--brand-ink:#214ca7;--brand-tint:#e8f0fd;--lane:#b7791f;--lane-tint:#fbf3e3;--ok:#24805a;--ok-tint:#e4f4ec;--bad:#b3261e;--bad-tint:#fbeae8;--side:#13213a;--side-ink:#c6d0e2;--side-ink-strong:#fff;--side-active:#ffffff1a;--side-rule:#ffffff14;--shadow:0 1px 2px #0f1b330f, 0 8px 24px -16px #0f1b3340;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0b1220;--surface:#121b2e;--surface-2:#192440;--surface-3:#1f2c4d;--ink:#e7edf8;--ink-2:#a7b4cc;--ink-3:#6e7d9b;--rule:#2b3a5a;--rule-soft:#22304d;--brand:#6c9bf3;--brand-ink:#9dbbf7;--brand-tint:#1b2c50;--lane:#d9a441;--lane-tint:#2c2612;--ok:#6cc49a;--ok-tint:#15302a;--bad:#f28b82;--bad-tint:#3a1b19;--side:#0a1020;--side-ink:#a9b6ce;--side-ink-strong:#fff;--side-active:#ffffff17;--side-rule:#ffffff12;--shadow:0 1px 2px #0006, 0 8px 24px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#0b1220;--surface:#121b2e;--surface-2:#192440;--surface-3:#1f2c4d;--ink:#e7edf8;--ink-2:#a7b4cc;--ink-3:#6e7d9b;--rule:#2b3a5a;--rule-soft:#22304d;--brand:#6c9bf3;--brand-ink:#9dbbf7;--brand-tint:#1b2c50;--lane:#d9a441;--lane-tint:#2c2612;--ok:#6cc49a;--ok-tint:#15302a;--bad:#f28b82;--bad-tint:#3a1b19;--side:#0a1020;--side-ink:#a9b6ce;--side-ink-strong:#fff;--side-active:#ffffff17;--side-rule:#ffffff12;--shadow:0 1px 2px #0006, 0 8px 24px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:14px/1.5 IBM Plex Sans,system-ui,sans-serif}code,.mono{font-family:IBM Plex Mono,ui-monospace,monospace}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}.sidebar-nav a:hover,.btn:hover,.stat:hover{text-decoration:none}button,input,select{font:inherit}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app.app-collapsed{grid-template-columns:64px 1fr}.sidebar{background:var(--side);color:var(--side-ink);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-nav{scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar .mark{flex-shrink:0;width:30px;height:30px}.brand-text{font-size:15px}.sidebar-brand{height:var(--bar-h);box-sizing:border-box;color:var(--side-ink-strong);letter-spacing:-.01em;border-bottom:1px solid var(--side-rule);align-items:center;gap:10px;padding:0 16px;font-weight:600;display:flex}.sidebar .disc,.topbar .disc{background:linear-gradient(135deg, var(--brand), #7c5cf0);color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:10px;font-weight:700;display:grid}.sidebar-nav{flex:1;align-content:start;gap:14px;padding:10px;display:grid;overflow-y:auto}.nav-group{gap:2px;display:grid}.nav-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:8px 10px 4px;font-size:10.5px}.sidebar-nav a{color:var(--side-ink);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;transition:background .12s;display:flex}.sidebar-nav a:hover{background:var(--side-active);color:var(--side-ink-strong)}.sidebar-nav a.active{background:var(--side-active);color:var(--side-ink-strong);box-shadow:inset 3px 0 0 var(--brand)}.nav-icon{flex-shrink:0;place-items:center;width:18px;display:grid}.sidebar-toggle{border:1px solid var(--side-rule);color:var(--side-ink);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;margin:10px;padding:8px 10px;font-size:12.5px;display:flex}.app-collapsed .sidebar-label{display:none}.app-collapsed .sidebar-nav a,.app-collapsed .sidebar-toggle{justify-content:center}.app-collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.frame{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;height:var(--bar-h);box-sizing:border-box;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule-soft);align-items:center;gap:14px;padding:0 22px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.search{border:1px solid var(--rule);background:var(--surface-2);width:min(460px,40vw);color:var(--ink-3);border-radius:10px;align-items:center;gap:8px;padding:7px 12px;display:flex}.search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.search:focus-within{border-color:var(--brand);background:var(--surface)}.snapshot{color:var(--ink-2);border:1px solid var(--rule);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;display:flex}.snapshot input{color:var(--ink);font:inherit;background:0 0;border:0;outline:none}.entity-switch select{color:var(--ink);font:inherit;background:0 0;border:0;outline:none;max-width:220px}.snapshot .link{color:var(--brand-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.theme-switch{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:3px;display:inline-flex}.theme-switch button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:5px 8px;display:grid}.theme-switch button[aria-pressed=true]{background:var(--brand-tint);color:var(--brand-ink)}.who{color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:flex}.who-name{color:var(--ink);line-height:1.2;display:grid}.who-name small{color:var(--ink-3);font-size:11px}.btn.icon{place-items:center;padding:7px;display:grid}.content{flex:1;min-width:0}.pill{letter-spacing:.04em;background:var(--brand-tint);color:var(--brand-ink);border-radius:999px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:11px}main.page{width:100%;max-width:1360px;margin:0 auto;padding:24px 28px 40px}.page h1{letter-spacing:-.015em;margin:0 0 4px;font-size:22px;font-weight:650}.page .sub{color:var(--ink-2);margin:0 0 18px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;display:flex}.toolbar>.btn,.toolbar>.switch,.toolbar>.actions,.toolbar>.muted,.toolbar>.check,.toolbar>h2,.toolbar>.error{align-self:flex-end}.toolbar>h2{align-self:center}.toolbar>.btn.primary:first-child{order:10;margin-left:auto}.toolbar>.muted{line-height:34px}.check{height:34px;color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.check input{accent-color:var(--brand);margin:0}.field{color:var(--ink-2);gap:4px;font-size:12px;display:grid}.field input,.field select{border:1px solid var(--rule);background:var(--surface);height:34px;color:var(--ink);border-radius:8px;min-width:160px;padding:0 9px}.field input[type=file]{padding:5px 9px}.field select{max-width:380px}.perm-list summary{cursor:pointer;color:var(--brand-ink);font-size:12.5px}.field input:focus,.field select:focus,.form-grid textarea:focus{outline:2px solid var(--brand-tint);border-color:var(--brand)}.btn{border:1px solid var(--rule);background:var(--surface);height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary:hover{background:var(--brand-ink)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--rule-soft);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.card-head{border-bottom:1px solid var(--rule-soft);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:9px 14px}table.grid th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--surface-2);font-size:11.5px;font-weight:600;position:sticky;top:0}table.grid tbody tr:hover{background:var(--surface-2)}table.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.nowrap{white-space:nowrap}.tag{background:var(--surface-2);color:var(--ink-2);border-radius:4px;margin:1px 4px 1px 0;padding:1px 7px;font-size:11.5px;display:inline-block}.tag b{color:var(--ink);font-weight:500}.state{background:var(--ok);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.state.off{background:var(--ink-3)}.timeline{gap:8px;display:grid}.tl-row{border:1px solid var(--rule);background:var(--surface);border-radius:8px;grid-template-columns:190px 1fr;gap:14px;padding:10px 14px;display:grid}.tl-row.withdrawn{opacity:.6;border-style:dashed}.tl-row .when{color:var(--ink-2);font-family:IBM Plex Mono,monospace;font-size:12px}.tl-row .when b{color:var(--ink);font-weight:500;display:block}.tl-row .diff{flex-wrap:wrap;gap:4px;display:flex}.tl-row .diff .chg{background:var(--brand-tint);color:var(--brand-ink);border-radius:4px;padding:2px 8px;font-size:12.5px}.tl-row .diff .chg s{color:var(--ink-3)}.stack{gap:24px;display:grid}.two{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;display:grid}@media (width<=900px){.two{grid-template-columns:1fr}}.kv{grid-template-columns:minmax(120px,190px) 1fr;gap:5px 16px;font-size:13.5px;display:grid}.kv dt{overflow-wrap:anywhere;color:var(--ink-2)}.kv dd{margin:0}.empty{text-align:center;color:var(--ink-3);padding:40px}.error{background:var(--bad-tint);color:var(--bad);border-radius:6px;padding:12px 14px}.switch{border:1px solid var(--rule);background:var(--surface);border-radius:8px;height:34px;padding:3px;display:inline-flex}.switch button{appearance:none;color:var(--ink-2);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;padding:4px 10px;font-size:13px}.switch button[aria-pressed=true]{background:var(--brand);color:#fff}.login{background:#17306b url(/brand/facets.svg) 50%/cover no-repeat fixed;grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100vh;display:grid}.login-hero{color:#f1f5fb;text-shadow:0 1px 2px #00000059;background:linear-gradient(100deg,#0a142dbd 0%,#0a142d80 60%,#0a142d00 100%);flex-direction:column;justify-content:center;gap:14px;padding:56px 64px;display:flex;position:relative;overflow:hidden}.login-hero:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(at 30% 40%,#000 30%,#0000 75%)}.login-hero>*{z-index:1;position:relative}.login-hero img{filter:hue-rotate(-95deg)saturate(.9)drop-shadow(0 30px 50px #145a8c8c);width:min(280px,50%);margin-bottom:18px}.login-hero h1{letter-spacing:-.02em;max-width:16ch;margin:0;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.15}.login-hero p{color:#d3dcea;max-width:44ch;margin:0;font-size:15px}.login-hero ul{color:#e1e8f3;gap:10px;margin:10px 0 0;padding:0;font-size:13.5px;list-style:none;display:grid}.login-hero li{align-items:center;gap:10px;display:flex}.login-hero li svg{color:#9dd9b8;flex-shrink:0}.login-panel{align-content:center;place-items:center;gap:18px;padding:32px 24px;display:grid}.login .box{background:var(--surface);border:1px solid var(--rule-soft);border-top:3px solid var(--brand);text-align:center;border-radius:16px;gap:14px;width:min(420px,100%);padding:36px 36px 28px;display:grid;box-shadow:0 24px 60px #050c1e73}.login .logo{justify-self:center;width:auto;height:44px;margin-bottom:8px}.login h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.login .tagline{color:var(--ink-2);margin:0 0 6px}.login .btn.primary{justify-content:center;height:42px;font-size:14.5px;font-weight:500}.login .spinner{border:2px solid var(--rule);border-top-color:var(--brand);border-radius:50%;justify-self:center;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login .error{text-align:left;font-size:13px}@media (width<=900px){.login{grid-template-columns:1fr}.login-hero{display:none}}.logo-dark{display:none}.logo-light{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-dark{display:block}:root:not([data-theme=light]) .logo-light{display:none}}:root[data-theme=dark] .logo-dark{display:block}:root[data-theme=dark] .logo-light{display:none}.modal{z-index:50;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--rule);border-radius:10px;gap:14px;width:min(760px,100%);max-height:90vh;padding:20px 22px;display:grid;overflow:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:16px}.modal-foot{justify-content:flex-end;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;display:grid}.form-grid .field.wide{grid-column:1/-1}.form-grid textarea{border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:inherit;border-radius:6px;padding:6px 8px}.form-grid .check{flex-wrap:wrap;align-self:end;height:auto;min-height:34px}.form-grid .check>span:first-child,.form-grid .field.check span:first-child{color:var(--ink);align-items:center;gap:6px;height:34px;display:inline-flex}.field.valid-from{background:var(--brand-tint);border-radius:6px;padding:10px 12px}.field.valid-from input{max-width:200px}.attrs{gap:6px;display:grid}.attrs-head{justify-content:space-between;align-items:center;font-size:13px;display:flex}.attr-row{grid-template-columns:200px 1fr auto;gap:6px;display:grid}.attr-row input{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;padding:5px 8px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.actions{gap:6px;display:inline-flex}.btn.small{height:26px;padding:0 8px;font-size:12px}.impersonation{background:var(--lane-tint);color:var(--ink);border-bottom:1px solid var(--lane);align-items:center;gap:8px;padding:6px 24px;font-size:13px;display:flex}.assist-fab{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;z-index:40;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #0003}.assist{background:var(--surface);border:1px solid var(--rule);z-index:40;border-radius:10px;grid-template-rows:auto 1fr auto;width:min(440px,100vw - 40px);max-height:70vh;display:grid;position:fixed;bottom:74px;right:20px;box-shadow:0 10px 30px #00000040}.assist-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.assist-body{align-content:start;gap:10px;padding:12px;display:grid;overflow:auto}.assist-turn{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:13px}.assist-turn.user{background:var(--brand-tint);color:var(--brand-ink);justify-self:end;max-width:85%}.assist-input{border-top:1px solid var(--rule);gap:6px;padding:10px;display:flex}.assist-input input{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;flex:1;padding:7px 9px}.search-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.result-list{margin:0;padding:6px 0;list-style:none}.result-list li{border-bottom:1px solid var(--rule-soft);padding:7px 14px;font-size:13.5px;display:grid}.result-list li:last-child{border-bottom:0}.result-list .mono{font-size:11.5px}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:var(--surface);border:1px solid var(--rule-soft);box-shadow:var(--shadow);color:inherit;border-radius:12px;gap:4px;padding:14px 16px;text-decoration:none;display:grid}.stat .label{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;display:flex}.stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.stat .hint{color:var(--ink-3);font-size:12px}@media (width<=860px){.app{grid-template-columns:64px 1fr}.sidebar-label{display:none}.search{width:40vw}}
