@font-face{font-family:Rogan;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Rogan-Light-BMyNyaMY.woff2) format("woff2")}@font-face{font-family:Rogan;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Rogan-Regular-BbtkOFEV.woff2) format("woff2")}@font-face{font-family:Rogan;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Rogan-Medium-DXBdhqXF.woff2) format("woff2")}@font-face{font-family:Rogan;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Rogan-SemiBold-Mz31Guz_.woff2) format("woff2")}@font-face{font-family:Rogan;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Rogan-Bold-D_lINvqV.woff2) format("woff2")}@font-face{font-family:Rogan;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/Rogan-ExtraBold-C0Qs4Q-O.woff2) format("woff2")}:root{--chnet-indigo: #1a237e;--chnet-indigo-90: #232c8c;--chnet-indigo-70: #4951a4;--chnet-indigo-40: #a4a8d1;--chnet-indigo-20: #d1d3e8;--chnet-indigo-10: #e8e9f4;--accent-pink: #e91e63;--accent-cyan: #00e5ff;--accent-teal: #1de9b6;--accent-lime: #eeff41;--accent-blue: #2962ff;--accent-green: #00e676;--white: #ffffff;--off-white: #f7f8fb;--grey-100: #eef0f4;--grey-200: #d8dce4;--grey-400: #9097a8;--grey-600: #565c72;--grey-800: #2a2e44;--black: #0a0d1e;--success: var(--accent-green);--info: var(--accent-cyan);--warning: var(--accent-lime);--danger: var(--accent-pink);--font-display: "Rogan", "Inter", system-ui, sans-serif;--font-body: "Mulish", "Proxima Nova", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", Menlo, monospace;--fs-display: clamp(2.5rem, 5vw + 1rem, 5.5rem);--fs-h1: clamp(2rem, 3vw + 1rem, 3.5rem);--fs-h2: clamp(1.5rem, 1.6vw + 1rem, 2.25rem);--fs-h3: 1.5rem;--fs-eyebrow: .8125rem;--fs-body: 1rem;--fs-caption: .8125rem;--ls-eyebrow: .18em;--lh-normal: 1.45;--lh-relaxed: 1.6;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-0: 0;--r-1: 2px;--r-2: 4px;--r-3: 8px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(26, 35, 126, .06);--shadow-2: 0 4px 14px rgba(26, 35, 126, .08);--ease-out: cubic-bezier(.2, .7, .2, 1);--dur-base: .22s;--container: 1200px;--bg: var(--white);--bg-subtle: var(--off-white);--fg-1: var(--chnet-indigo);--fg-2: var(--grey-800);--fg-3: var(--grey-600);--line: var(--grey-200);--line-strong: var(--grey-400);--focus-ring: var(--chnet-indigo-70);--surface: var(--white);--surface-row-hover: var(--off-white);--header-bg: var(--white);--accent-text: var(--chnet-indigo);--accent-wash: var(--chnet-indigo-10);--accent-wash-strong: var(--chnet-indigo-20);--control-track: var(--grey-200);--control-track-border: var(--grey-400);--control-thumb: var(--white);--scrim: rgba(10, 13, 30, .45);--btn-quiet-bg: var(--white);--btn-quiet-fg: var(--chnet-indigo);--btn-press: var(--black)}[data-theme=dark]{color-scheme:dark;--bg: var(--black);--bg-subtle: var(--grey-800);--fg-1: var(--white);--fg-2: var(--chnet-indigo-20);--fg-3: var(--grey-400);--line: rgba(255, 255, 255, .08);--line-strong: var(--chnet-indigo-40);--focus-ring: var(--chnet-indigo-40);--surface: var(--grey-800);--surface-row-hover: rgba(255, 255, 255, .04);--header-bg: var(--grey-800);--accent-text: var(--chnet-indigo-40);--accent-wash: rgba(26, 35, 126, .35);--accent-wash-strong: rgba(26, 35, 126, .5);--control-track: var(--grey-600);--control-track-border: var(--grey-400);--control-thumb: var(--white);--scrim: rgba(0, 0, 0, .6);--btn-quiet-bg: transparent;--btn-quiet-fg: var(--chnet-indigo-40);--btn-press: var(--chnet-indigo)}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/mulish-latin-300-normal-CUksJvDM.woff2) format("woff2"),url(/assets/mulish-latin-300-normal-DjilOh2I.woff) format("woff")}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mulish-latin-400-normal-C9Snyl1s.woff2) format("woff2"),url(/assets/mulish-latin-400-normal-BRmeVNaI.woff) format("woff")}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/mulish-latin-500-normal-BoPlPdCZ.woff2) format("woff2"),url(/assets/mulish-latin-500-normal-CoJZbj2t.woff) format("woff")}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mulish-latin-600-normal-BSghSUeJ.woff2) format("woff2"),url(/assets/mulish-latin-600-normal-BgWMv2vh.woff) format("woff")}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/mulish-latin-700-normal-DP36JSCV.woff2) format("woff2"),url(/assets/mulish-latin-700-normal-LuPokTVX.woff) format("woff")}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/mulish-latin-800-normal-B_RVkmOV.woff2) format("woff2"),url(/assets/mulish-latin-800-normal-DFBkNLap.woff) format("woff")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-normal);color:var(--fg-2);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0 0 var(--sp-4);font-family:var(--font-display);color:var(--fg-1);line-height:1.1;letter-spacing:-.01em}h1{font-size:var(--fs-h1);font-weight:800}h2{font-size:var(--fs-h2);font-weight:700}h3{font-size:var(--fs-h3);font-weight:700}p{margin:0 0 var(--sp-4)}a{color:var(--accent-text);text-decoration:none;transition:opacity var(--dur-base) var(--ease-out)}a:hover{opacity:.7}button{font-family:inherit}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}ul,ol{margin:0 0 var(--sp-4);padding-left:var(--sp-5)}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.eyebrow{display:inline-block;margin:0 0 var(--sp-2);font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--accent-text);font-size:var(--fs-eyebrow);line-height:1.2}.eyebrow:before{content:"→ "}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.app-header{display:flex;align-items:center;gap:var(--sp-6);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);background:var(--header-bg)}.wordmark{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:var(--accent-text);text-transform:none;white-space:nowrap}.app-nav{display:flex;align-items:center;gap:var(--sp-2)}.app-nav a{display:inline-block;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;border-radius:var(--r-1);font-weight:600;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.app-nav a:hover{opacity:1;color:var(--accent-text)}.app-nav a.active{color:var(--accent-text);border-color:var(--line);background:var(--accent-wash)}.app-header-actions{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}.app-main{flex:1;width:100%;max-width:var(--container);margin:0 auto;padding:var(--sp-7) var(--sp-6)}.sso-link{cursor:pointer;background:none;border:none;padding:0}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-5);min-height:100vh;padding:var(--sp-6);text-align:center;background:var(--bg-subtle)}.boot-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);min-height:100vh;padding:var(--sp-6);color:var(--fg-3);font-weight:500;text-align:center}.boot-state--error{color:var(--fg-1)}.boot-state--error .boot-state__detail{color:var(--danger)}.btn{--btn-bg: var(--chnet-indigo);--btn-fg: var(--white);--btn-border: var(--chnet-indigo);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);font-family:var(--font-body);font-size:var(--fs-body);font-weight:600;line-height:1.2;white-space:nowrap;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--r-1);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.btn:hover{opacity:1}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-caption)}.btn--primary{--btn-bg: var(--chnet-indigo);--btn-fg: var(--white);--btn-border: var(--chnet-indigo)}.btn--primary:hover:not(:disabled){--btn-bg: var(--chnet-indigo-90);--btn-border: var(--chnet-indigo-90)}.btn--primary:active:not(:disabled){--btn-bg: var(--btn-press);--btn-border: var(--btn-press)}.btn--secondary{--btn-bg: var(--btn-quiet-bg);--btn-fg: var(--btn-quiet-fg);--btn-border: var(--btn-quiet-fg)}.btn--secondary:hover:not(:disabled){--btn-bg: var(--accent-wash)}.btn--secondary:active:not(:disabled){--btn-bg: var(--accent-wash-strong)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--btn-quiet-fg);--btn-border: transparent}.btn--ghost:hover:not(:disabled){--btn-bg: var(--accent-wash)}.btn--ghost:active:not(:disabled){--btn-bg: var(--accent-wash-strong)}.btn--danger{--btn-bg: var(--danger);--btn-fg: var(--white);--btn-border: var(--danger)}.btn--danger:hover:not(:disabled){--btn-bg: #c2185b;--btn-border: #c2185b}.btn--danger:active:not(:disabled){--btn-bg: #ad1457;--btn-border: #ad1457}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-1);padding:var(--sp-5);box-shadow:var(--shadow-1)}.card__title{margin:0 0 var(--sp-4)}.card__title:last-child{margin-bottom:0}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-1);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.table thead th{padding:var(--sp-3) var(--sp-4);text-align:left;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);border-bottom:1px solid var(--line);white-space:nowrap}.table tbody td{padding:var(--sp-4);color:var(--fg-2);border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-row-hover)}.table-empty{padding:var(--sp-7) var(--sp-5);text-align:center;color:var(--fg-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-1)}.badge{--badge-fg: var(--grey-800);--badge-bg: var(--grey-100);--badge-border: var(--grey-200);display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);font-family:var(--font-body);font-size:var(--fs-caption);font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:.04em;color:var(--badge-fg);background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:var(--r-pill);white-space:nowrap}.badge--neutral{--badge-fg: var(--grey-800);--badge-bg: var(--grey-100);--badge-border: var(--grey-200)}.badge--indigo{--badge-fg: var(--chnet-indigo);--badge-bg: var(--chnet-indigo-10);--badge-border: var(--chnet-indigo-20)}.badge--success{--badge-fg: #0a6b43;--badge-bg: rgba(0, 230, 118, .14);--badge-border: rgba(0, 230, 118, .45)}.badge--info{--badge-fg: #0a6f7c;--badge-bg: rgba(0, 229, 255, .14);--badge-border: rgba(0, 229, 255, .45)}.badge--warning{--badge-fg: var(--grey-800);--badge-bg: rgba(238, 255, 65, .3);--badge-border: rgba(180, 196, 0, .55)}.badge--danger{--badge-fg: #b0124a;--badge-bg: rgba(233, 30, 99, .12);--badge-border: rgba(233, 30, 99, .4)}[data-theme=dark] .badge--neutral{--badge-fg: var(--chnet-indigo-20);--badge-bg: rgba(255, 255, 255, .08);--badge-border: rgba(255, 255, 255, .16)}[data-theme=dark] .badge--indigo{--badge-fg: var(--chnet-indigo-20);--badge-bg: rgba(26, 35, 126, .45);--badge-border: var(--chnet-indigo-40)}[data-theme=dark] .badge--success{--badge-fg: var(--accent-green);--badge-bg: rgba(0, 230, 118, .16);--badge-border: rgba(0, 230, 118, .5)}[data-theme=dark] .badge--info{--badge-fg: var(--accent-cyan);--badge-bg: rgba(0, 229, 255, .16);--badge-border: rgba(0, 229, 255, .5)}[data-theme=dark] .badge--warning{--badge-fg: var(--accent-lime);--badge-bg: rgba(238, 255, 65, .16);--badge-border: rgba(238, 255, 65, .45)}[data-theme=dark] .badge--danger{--badge-fg: #ff7aa8;--badge-bg: rgba(233, 30, 99, .2);--badge-border: rgba(233, 30, 99, .5)}.toggle{display:inline-flex;align-items:center;gap:var(--sp-3);cursor:pointer;user-select:none}.toggle--disabled{cursor:not-allowed;opacity:.55}.toggle__label{font-weight:600;font-size:var(--fs-caption);color:var(--fg-2)}.toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toggle__track{position:relative;flex:none;width:40px;height:22px;background:var(--control-track);border:1px solid var(--control-track-border);border-radius:var(--r-2);transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--control-thumb);border-radius:var(--r-1);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-out)}.toggle__input:checked+.toggle__track{background:var(--chnet-indigo);border-color:var(--chnet-indigo)}.toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(18px)}.toggle__input:focus-visible+.toggle__track{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:var(--scrim)}.modal{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-2);padding:var(--sp-6)}.modal__title{margin:0 0 var(--sp-4)}.modal__body{margin:0 0 var(--sp-5);color:var(--fg-2)}.modal__gate{margin:0 0 var(--sp-5)}.modal__gate-label{display:block;margin:0 0 var(--sp-2);font-size:var(--fs-caption);font-weight:600;color:var(--fg-3)}.modal__gate-phrase{font-family:var(--font-mono);font-weight:600;color:var(--fg-1)}.modal__input{width:100%;padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-body);color:var(--fg-2);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-1)}.modal__input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.modal__actions{display:flex;justify-content:flex-end;gap:var(--sp-3)}.toast-region{position:fixed;top:var(--sp-5);right:var(--sp-5);z-index:1100;display:flex;flex-direction:column;gap:var(--sp-3);max-width:min(360px,calc(100vw - var(--sp-6)));pointer-events:none}.toast{--toast-accent: var(--info);display:flex;align-items:flex-start;pointer-events:auto;padding:var(--sp-3) var(--sp-4);color:var(--fg-2);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--toast-accent);border-radius:var(--r-1);box-shadow:var(--shadow-2);font-size:var(--fs-caption);font-weight:500;animation:toast-in var(--dur-base) var(--ease-out)}.toast--success{--toast-accent: var(--success)}.toast--info{--toast-accent: var(--info)}.toast--warning{--toast-accent: var(--warning)}.toast--danger{--toast-accent: var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6)}.page-head h1{margin:0}.page-section{margin-bottom:var(--sp-7)}.page-section:last-child{margin-bottom:0}.page-section__title{margin:0 0 var(--sp-4);font-size:var(--fs-h3)}.page-status{margin:0;color:var(--fg-3);font-weight:500}.page-status--error{margin-bottom:var(--sp-4);color:var(--danger)}.page-empty{padding:var(--sp-4) 0}.page-empty__lead{margin:0 0 var(--sp-1);font-weight:700;color:var(--fg-2)}.page-empty__hint{margin:0;color:var(--fg-3)}.page-callout{margin-bottom:var(--sp-6)}.page-callout--warning{border-left:4px solid var(--warning)}.page-callout p:last-child{margin-bottom:0}.cell-stack{display:flex;flex-direction:column;gap:2px}.cell-strong{font-weight:600;color:var(--fg-1)}.cell-sub{font-size:var(--fs-caption);color:var(--fg-3)}.cell-mono{font-family:var(--font-mono);font-size:.9em}.cell-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cell-toggle{display:inline-flex;align-items:center;gap:var(--sp-3)}
