@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}:root{color-scheme:light;--navy: #121d59;--navy-soft: #e8ecf9;--primary: #0f5af2;--primary-hover: #0b49c6;--primary-active: #093c9f;--primary-soft: #e8f0fe;--secondary: #076df2;--accent: #4f9cf7;--bg: #f5f7fc;--panel: #ffffff;--text: #1f2a44;--text-strong: #121d59;--text-muted: #5a6485;--text-subtle: #8a93ad;--text-inverse: #ffffff;--success: #0f7b43;--success-bg: #e7f6ee;--success-border: #a9dcc0;--warning: #9a5b00;--warning-bg: #fdf3e2;--warning-border: #efcf9a;--danger: #b3261e;--danger-bg: #fdecea;--danger-border: #f2b8b5;--info: #0b4fbf;--info-bg: #e8f0fe;--info-border: #b6ccf8;--surface: #ffffff;--surface-sunken: #f5f7fc;--surface-hover: #eef2fb;--border: #e3e8f2;--border-strong: #cfd7ea;--focus: #0f5af2;--focus-on-dark: #4f9cf7;--font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: clamp(.9375rem, .9rem + .2vw, 1rem);--text-lg: clamp(1.0625rem, 1rem + .4vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .8vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.4vw, 2rem);--text-3xl: clamp(1.75rem, 1.4rem + 2vw, 2.5rem);--leading: 1.55;--leading-tight: 1.2;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(18, 29, 89, .06);--shadow: 0 6px 24px rgba(18, 29, 89, .08);--shadow-lg: 0 24px 60px rgba(18, 29, 89, .18);--z-content: 1;--z-sticky: 20;--z-nav: 30;--z-scrim: 40;--z-sheet: 45;--z-modal: 50;--z-toast: 60;--rail-width: 15rem;--topbar-height: 4rem;--bottombar-height: 4.25rem;--content-max: 90rem;--focus-ring: 0 0 0 3px rgba(15, 90, 242, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--text-base);line-height:var(--leading);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--text-strong);line-height:var(--leading-tight);margin:0 0 var(--space-2);overflow-wrap:anywhere}h1{font-size:var(--text-2xl);letter-spacing:-.02em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--secondary);text-decoration:none}a:hover{text-decoration:underline}small,.text-sm{font-size:var(--text-sm)}.muted{color:var(--text-muted)}.mono{font-family:var(--mono);overflow-wrap:anywhere}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;background:var(--primary);color:var(--text-inverse);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .12s ease,transform .12s ease;touch-action:manipulation}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:active:not(:disabled){background:var(--primary-active);transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--secondary{background:var(--surface);color:var(--text-strong);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.btn--ghost{background:transparent;color:var(--secondary)}.btn--ghost:hover:not(:disabled){background:var(--primary-soft)}.btn--danger{background:var(--danger)}.btn--danger:hover:not(:disabled){background:#8f1d17}.btn--block{width:100%}.btn--sm{min-height:36px;font-size:var(--text-sm);padding:0 var(--space-3)}.field{display:block;margin-bottom:var(--space-4)}.field>span,.field>label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-strong);margin-bottom:var(--space-1)}.field input,.field select,.field textarea,.input,.select,.textarea{width:100%;min-height:48px;padding:var(--space-3);font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .12s ease}.field textarea,.textarea{min-height:120px;resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--text-subtle)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}.field .help{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-muted)}.field .error-text{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--danger)}.field--invalid input,.field--invalid select,.field--invalid textarea{border-color:var(--danger)}.check{display:flex;gap:var(--space-3);align-items:flex-start;min-height:44px;padding:var(--space-2) 0;font-size:var(--text-base)}.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--primary);flex:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);container-type:inline-size}.card+.card{margin-top:var(--space-4)}.card__head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card__title{margin:0;font-size:var(--text-lg)}.grid{display:grid;gap:var(--space-4)}.grid--cards{grid-template-columns:1fr}@container (min-width: 34rem){.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 60rem){.grid--cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;background:var(--navy-soft);color:var(--text-strong);white-space:nowrap}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.badge--info{background:var(--info-bg);color:var(--info)}.badge--muted{background:#eef1f7;color:var(--text-muted)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--info-border);background:var(--info-bg);color:var(--info);margin-bottom:var(--space-4)}.alert--error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.alert--success{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.alert--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted)}.empty h3{color:var(--text-strong)}.skeleton{background:linear-gradient(90deg,#eef1f7 25%,#e3e8f2 37%,#eef1f7 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite;border-radius:var(--radius-sm);min-height:16px}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.progress{height:8px;border-radius:var(--radius-pill);background:var(--navy-soft);overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary);transition:width .2s ease}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:var(--space-2) var(--space-4);padding-top:max(var(--space-2),env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--border)}.topbar__title{min-width:0;flex:1;display:flex;flex-direction:column}.topbar__title strong{font-size:var(--text-base);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__title span{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-strong);cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}.main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-4);padding-bottom:calc(var(--bottombar-height) + env(safe-area-inset-bottom) + var(--space-6))}.main--staff{padding-bottom:var(--space-10)}.page-head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-5)}.page-head p{color:var(--text-muted);margin:0;max-width:60ch}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.row--between{justify-content:space-between}.grow{flex:1;min-width:0}.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--navy);color:var(--text-inverse);font-weight:700;font-size:var(--text-sm)}.rail{display:none}.bottom-nav{position:fixed;inset:auto 0 0;z-index:var(--z-nav);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--bottombar-height);border:0;background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer}.bottom-nav button[aria-current=page]{color:var(--primary)}.bottom-nav button[aria-current=page] svg{transform:translateY(-1px)}.sheet{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center;background:#121d5973}.sheet__panel{width:100%;max-height:88dvh;overflow:auto;background:var(--panel);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg)}.sheet__handle{width:44px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong);margin:0 auto var(--space-4)}@media(min-width:640px){.sheet{align-items:center}.sheet__panel{max-width:32rem;border-radius:var(--radius-lg);padding:var(--space-5)}}@media(min-width:1024px){.bottom-nav{display:none}.app{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr)}.rail{display:flex;flex-direction:column;gap:var(--space-2);grid-row:1 / span 3;position:sticky;top:0;height:100dvh;padding:var(--space-5) var(--space-4);background:var(--navy);color:var(--text-inverse)}.rail__brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);color:inherit}.rail__brand img{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--panel)}.rail__brand span{font-weight:700;line-height:1.15}.rail__brand small{display:block;font-weight:400;color:var(--accent)}.rail nav{display:flex;flex-direction:column;gap:var(--space-1)}.rail nav button{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:#c3ccea;font:inherit;font-weight:600;text-align:left;cursor:pointer}.rail nav button:hover{background:#ffffff14;color:var(--text-inverse)}.rail nav button[aria-current=page]{background:#4f9cf72e;color:var(--text-inverse);box-shadow:inset 3px 0 0 var(--focus-on-dark)}.rail__footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:#c3ccea}.rail__footer .icon-btn{color:inherit;justify-content:flex-start;width:auto;gap:var(--space-3);padding:0 var(--space-3)}.topbar{grid-column:2;position:sticky}.main{grid-column:2;padding:var(--space-8);padding-bottom:var(--space-12)}}@media(min-width:1440px){.main{padding-inline:var(--space-12)}}.case-head{position:sticky;top:var(--topbar-height);z-index:calc(var(--z-sticky) - 1);background:var(--bg);padding:var(--space-3) 0 var(--space-2);margin-bottom:var(--space-2)}.case-head__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.case-head h1{font-size:var(--text-xl);margin-bottom:var(--space-2)}.tabs{display:flex;gap:var(--space-1);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--space-1)}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;scroll-snap-align:start;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:var(--text-inverse)}.tabs__count{margin-left:var(--space-2);font-size:var(--text-xs);opacity:.8}@media(min-width:768px){.tabs{flex-wrap:wrap;overflow:visible}.tabs button{border-radius:var(--radius-sm)}}.list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.list-item{display:flex;gap:var(--space-3);align-items:center;width:100%;text-align:left;padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:inherit;cursor:pointer}.list-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.list-item__body{min-width:0;flex:1}.list-item__body strong{display:block;color:var(--text-strong);overflow-wrap:anywhere}.list-item__body small{color:var(--text-muted)}.hero{background:linear-gradient(160deg,var(--navy) 0%,#1b2f7a 60%,var(--primary) 160%);color:var(--text-inverse);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.hero h1,.hero h2{color:inherit}.hero .btn{background:var(--panel);color:var(--navy)}.hero .btn:hover:not(:disabled){background:var(--navy-soft)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.kpi{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:768px){.kpi{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi>div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)}.kpi strong{display:block;font-size:var(--text-xl);color:var(--text-strong)}.access{min-height:100dvh;display:grid;grid-template-columns:1fr}@media(min-width:1024px){.access{grid-template-columns:1.05fr 1fr}}.access__brand{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-6) 0}.access__brand h1{font-size:var(--text-2xl);max-width:22ch}.access__brand p{color:var(--text-muted);max-width:46ch}@media(min-width:1024px){.access__brand{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-12);background:var(--navy);color:var(--text-inverse)}.access__brand h1{color:inherit;font-size:var(--text-3xl);max-width:22ch}.access__brand p{color:#c3ccea;max-width:46ch}}.access__panel{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);padding-top:max(var(--space-6),env(safe-area-inset-top))}@media(min-width:1024px){.access__panel{padding:var(--space-12)}}.access__form{width:100%;max-width:26rem;margin:0 auto}.brand-mark{display:flex;align-items:center;gap:var(--space-3);font-weight:700;color:var(--text-strong)}.brand-mark img{width:40px;height:40px}.question{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);container-type:inline-size}.question legend,.question__label{font-size:var(--text-lg);font-weight:700;color:var(--text-strong)}.question__help{color:var(--text-muted);font-size:var(--text-sm)}.question__special{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.question__special button{border:1px dashed var(--border-strong);background:transparent;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.question__special button[aria-pressed=true]{border-style:solid;border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer}.dropzone--active{border-color:var(--primary);background:var(--primary-soft)}.upload-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.upload-row__meta{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.chat{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-2)}.chat__bubble{max-width:min(85%,34rem);padding:var(--space-3);border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.chat__bubble--mine{align-self:flex-end;background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.chat__bubble small{display:block;margin-top:var(--space-1);opacity:.75;font-size:var(--text-xs)}.chat__composer{position:sticky;bottom:calc(var(--bottombar-height) + env(safe-area-inset-bottom));display:flex;gap:var(--space-2);padding:var(--space-2) 0;background:var(--bg)}@media(min-width:1024px){.chat__composer{bottom:0}}.divider{height:1px;background:var(--border);margin:var(--space-4) 0}.timeline{list-style:none;margin:0;padding:0 0 0 var(--space-4);border-left:2px solid var(--border)}.timeline li{position:relative;padding:0 0 var(--space-4) var(--space-3)}.timeline li:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 5px);top:6px;width:10px;height:10px;border-radius:50%;background:var(--primary)}.codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.codes li{font-family:var(--mono);background:var(--surface-sunken);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);overflow-wrap:anywhere}.qr{display:flex;justify-content:center;padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
