@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-lg:20px;--color-surface:#fffdf8;--color-surface-2:#f4efe5;--color-ink:#16232f;--color-ink-soft:#55606b;--color-ink-faint:#8a939c;--color-line:#e5ddd0;--color-line-strong:#d7cdbc;--color-brand:#0a8ea0;--color-brand-soft:#e3f1f2;--color-brand-ink:#0b6675;--color-accent:#cf6a2e;--color-success:#2f7f5d;--color-navy:#173854;--radius-card:16px;--radius-pill:999px;--shadow-card:0 1px 2px #16232f0a,0 1px 3px #16232f0f;--shadow-pop:0 12px 32px #16232f24}}@layer base{.app-shell :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}.app-shell :where(ul,ol){padding:0;list-style:none}.app-shell :where(button){font:inherit;cursor:pointer}.ui-mono{font-family:var(--font-mono),ui-monospace,monospace}}@layer components{.app-shell{min-height:100vh;color:var(--color-ink);grid-template-columns:264px minmax(0,1fr);display:grid}@media (max-width:900px){.app-shell{grid-template-columns:1fr}}.app-rail{border-right:1px solid var(--color-line);background:#fffdf8b3;flex-direction:column;align-self:start;gap:20px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.app-rail{background:color-mix(in srgb,var(--color-surface) 70%,transparent)}}.app-rail{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto}@media (max-width:900px){.app-rail{display:none}}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{z-index:20;border-bottom:1px solid var(--color-line);background:#fffdf8d1;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.app-topbar{background:color-mix(in srgb,var(--color-surface) 82%,transparent)}}.app-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-content{flex-direction:column;flex:1;gap:24px;padding:28px 24px 48px}.app-content,.app-footer{width:100%;max-width:1180px;margin:0 auto;display:flex}.app-footer{color:var(--color-ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 28px;font-size:.8125rem}.rail-brand{letter-spacing:-.02em;padding:0 8px;font-size:1.05rem;font-weight:800}.rail-nav{flex-direction:column;gap:2px;display:flex}.rail-link{color:var(--color-ink-soft);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex}.rail-link:hover{background:var(--color-surface-2);color:var(--color-ink)}.rail-link[data-active=true]{background:var(--color-brand-soft);color:var(--color-brand-ink);font-weight:600}.rail-section{margin-top:auto;padding:0 8px}.rail-caption{letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:8px;font-size:.68rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ui-eyebrow{font-family:var(--font-mono),monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brand);margin-bottom:6px;font-size:.72rem;display:block}.page-title{letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.15}.page-desc{max-width:60ch;color:var(--color-ink-soft);margin-top:8px;font-size:.95rem;line-height:1.6}.section{border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:clip}.section-head{border-bottom:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.section-title{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.section-body{padding:20px}.card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:16px;display:flex}a.card{color:inherit;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s}a.card:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-pop);transform:translateY(-1px)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ui-stack{flex-direction:column;gap:16px;display:flex}.ui-muted{color:var(--color-ink-soft);font-size:.875rem;line-height:1.55}.ui-strong{font-size:1rem;font-weight:700}.chip{border-radius:var(--radius-pill);background:var(--color-surface-2);width:fit-content;max-width:100%;color:var(--color-ink-soft);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;line-height:1.4;display:inline-flex}.chip--brand{background:var(--color-brand-soft);color:var(--color-brand-ink)}.chip--active{background:var(--color-brand);color:#fff;font-weight:600}.ui-chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{border-radius:var(--radius-pill);letter-spacing:.02em;align-items:center;width:fit-content;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.badge--brand{background:var(--color-brand-soft);color:var(--color-brand-ink)}.badge--neutral{background:var(--color-surface-2);color:var(--color-ink-soft)}.badge--high{background:#cf6a2e26}@supports (color:color-mix(in lab,red,red)){.badge--high{background:color-mix(in srgb,var(--color-accent) 15%,transparent)}}.badge--high{color:var(--color-accent)}.badge--mid{background:#1738541f}@supports (color:color-mix(in lab,red,red)){.badge--mid{background:color-mix(in srgb,var(--color-navy) 12%,transparent)}}.badge--mid{color:var(--color-navy)}.badge--ok{background:#2f7f5d26}@supports (color:color-mix(in lab,red,red)){.badge--ok{background:color-mix(in srgb,var(--color-success) 15%,transparent)}}.badge--ok{color:var(--color-success)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.stat{border:1px solid var(--color-line);background:var(--color-surface-2);border-radius:12px;padding:12px 14px}.stat-value{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.stat-label{color:var(--color-ink-soft);margin-top:2px;font-size:.76rem}.btn{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s;display:inline-flex}.btn:hover{background:var(--color-surface-2)}.btn--primary{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.btn--primary:hover{background:var(--color-brand-ink)}.btn--sm{padding:6px 10px;font-size:.8rem}.user-chip{border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);align-items:center;gap:8px;padding:5px 10px 5px 6px;font-size:.85rem;display:inline-flex}.user-chip:hover{background:var(--color-surface-2)}.avatar{border-radius:var(--radius-pill);background:var(--color-brand);color:#fff;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:700;display:inline-flex}.popover{z-index:40;border:1px solid var(--color-line);background:var(--color-surface);width:260px;box-shadow:var(--shadow-pop);border-radius:14px;padding:14px;position:absolute;top:52px;right:24px}.crumbs{color:var(--color-ink-faint);align-items:center;gap:6px;min-width:0;font-size:.85rem;display:flex}.crumbs a{color:var(--color-ink-soft);text-decoration:none}.crumbs a:hover{color:var(--color-ink)}.lane-board{scroll-snap-type:x proximity;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.lane{scroll-snap-align:start;background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:14px;flex-direction:column;flex:0 0 300px;align-self:flex-start;gap:10px;max-height:100%;padding:12px;transition:border-color .14s,background .14s;display:flex}.lane--drop{border-color:var(--color-brand);background:var(--color-brand-soft);outline:2px dashed var(--color-brand);outline-offset:-4px}.kanban-card{cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card--dragging{opacity:.45}.kanban-grip{color:var(--color-ink-faint);cursor:grab;-webkit-user-select:none;user-select:none;font-size:.85rem;line-height:1}.kanban-status{flex-direction:column;gap:4px;display:flex}.kanban-status .ui-select{width:100%}.lane-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lane-title{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.72rem}.lane-count{border-radius:var(--radius-pill);background:#16232f14;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.lane-count{background:color-mix(in srgb,var(--color-ink) 8%,transparent)}}.lane-count{color:var(--color-ink-soft);font-size:.7rem}.lane-empty{text-align:center;color:var(--color-ink-faint);padding:16px 8px;font-size:.8rem}@media (max-width:900px){.lane-board{flex-direction:column;overflow-x:visible}.lane{flex:auto;width:100%}}.lane-cards{flex-direction:column;gap:8px;display:flex}.ui-select{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);border-radius:8px;max-width:100%;padding:6px 8px;font-size:.82rem}.ui-field{align-items:stretch;gap:6px;display:flex}.ui-field .ui-select{flex:1;min-width:0}.ui-form{flex-direction:column;gap:14px;width:100%;display:flex}.ui-field-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:14px;display:grid}.ui-field-row--single{grid-template-columns:1fr}@media (max-width:640px){.ui-field-row{grid-template-columns:1fr}}.ui-label{flex-direction:column;gap:6px;display:flex}.ui-caption{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.72rem}.ui-input,.ui-textarea{border:1px solid var(--color-line-strong);background:var(--color-surface);font:inherit;color:var(--color-ink);border-radius:10px;width:100%;padding:9px 11px;font-size:.9rem}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{outline:2px solid var(--color-brand-soft);outline-offset:0;border-color:var(--color-brand)}.ui-textarea{resize:vertical;min-height:120px}.ui-feedback{color:var(--color-ink-soft);font-size:.85rem}.ui-feedback--error{color:var(--color-accent)}.btn--ghost{color:var(--color-ink-soft);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--color-surface-2);color:var(--color-ink)}.ui-table{border-collapse:collapse;width:100%;font-size:.875rem}.ui-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);white-space:nowrap;padding:10px 12px;font-size:.7rem;font-weight:600}.ui-table td,.ui-table th{border-bottom:1px solid var(--color-line)}.ui-table td{vertical-align:top;padding:12px}.ui-table tr:last-child td{border-bottom:none}.ui-table-wrap{overflow-x:auto}.grid-2{grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:18px;display:grid}@media (max-width:900px){.grid-2{grid-template-columns:1fr}}.ui-empty{text-align:center;color:var(--color-ink-faint);padding:28px;font-size:.9rem}.ui-metric-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.ui-metric{border:1px solid var(--color-line);background:var(--color-surface);border-radius:14px;padding:16px}.ui-metric-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.ui-metric-label{color:var(--color-ink-soft);margin-top:4px;font-size:.8rem}.mobile-nav{display:none}@media (max-width:900px){.mobile-nav{display:block}}.mobile-nav-scrim{z-index:45;background:#10233366;position:fixed;inset:0}.mobile-nav-drawer{z-index:46;background:var(--color-surface);border-right:1px solid var(--color-line);width:264px;height:100vh;box-shadow:var(--shadow-pop);flex-direction:column;gap:20px;padding:22px 16px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (min-width:40rem){.sm\:inline{display:inline}}}:root{--bg:#f5f1e8;--bg-strong:#ede4d5;--surface:#fffcf7d1;--surface-strong:#fffaf1;--surface-muted:#0f2c4314;--ink:#102333;--ink-soft:#4d5b67;--line:#1023331f;--cyan:#0a8ea0;--orange:#d4682d;--green:#2f7f5d;--navy:#173854;--shadow:0 28px 80px #10233314}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;font-family:var(--font-sans),sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#0a8ea02e,transparent 32%),radial-gradient(circle at 85% 12%,#d4682d29,transparent 22%),linear-gradient(180deg,#f8f4ec 0,var(--bg) 55%,var(--bg-strong) 100%);margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#10233306 1px,#0000 0),linear-gradient(90deg,#10233306 1px,#0000 0);background-size:38px 38px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 78%);mask-image:linear-gradient(#0000008c,#0000 78%)}.page-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:56px 0 80px;position:relative}.discipline-card,.hero-card,.module-card,.phase-card,.stack-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:28px}.discipline-card,.hero-card,.login-card,.module-card,.phase-card,.stack-card,.workspace-panel{min-width:0}.hero-card{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:24px;padding:28px;display:grid}.discipline-card h3,.hero-copy h1,.module-card h3,.phase-card h3,.section-heading h2,.stack-card h3{letter-spacing:-.04em;margin:0}.discipline-card h3,.hero-copy h1,.login-card-copy h1,.login-card-form h2,.module-card h3,.phase-card h3,.section-heading h2,.stack-card h3,.workspace-panel-header h2{overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;max-width:100%}.hero-copy h1{max-width:12ch;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.95}.card-summary,.hero-text{color:var(--ink-soft);line-height:1.6}.card-summary,.hero-text,.login-card-copy p,.login-card-form p{overflow-wrap:anywhere}.hero-text{max-width:62ch;margin:18px 0 24px;font-size:1.05rem}.eyebrow,.metric-label,.mini-heading,.panel-label,.phase-number,.stack-list span{font-family:var(--font-mono),monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.eyebrow,.mini-heading,.panel-label,.phase-number{color:var(--cyan)}.discipline-grid,.hero-grid,.module-grid,.phase-grid{gap:16px;display:grid}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:var(--surface-strong);border:1px solid #10233314;border-radius:20px;padding:16px}.metric-value{margin-bottom:8px;font-size:2rem;font-weight:800;display:block}.focus-panel,.stack-card{padding:22px}.focus-panel{color:#f4f7fb;background:linear-gradient(#173854f0,#0e2232f0);border-radius:24px}.focus-panel .eyebrow,.focus-panel .mini-heading,.focus-panel .panel-label{color:#83dfeb}.focus-panel .muted-list{color:#f4f7fbcc}.divider{background:#ffffff24;height:1px;margin:18px 0}.section-grid{margin-top:28px}.section-heading{margin-bottom:18px}.section-heading h2{max-width:18ch;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.discipline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discipline-card,.module-card,.phase-card{padding:22px}.two-column-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.72fr);gap:18px;display:grid}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-stack{gap:16px;display:grid}.stack-list{gap:14px;margin-top:16px;display:grid}.stack-list div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:14px;display:grid}.stack-list div:last-child{border-bottom:0;padding-bottom:0}.stack-list strong{font-size:1.05rem}.muted-surface{background:#1023330f}.phase-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.line-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.line-list li{padding-left:18px;line-height:1.5;position:relative}.line-list li:before{content:"";background:linear-gradient(135deg,var(--cyan),var(--orange));border-radius:999px;width:8px;height:8px;position:absolute;top:.7em;left:0}.compact-list{gap:8px}.code-tag,.status-pill{font-family:var(--font-mono),monospace;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.75rem;display:inline-flex}.code-tag{color:var(--navy);background:#17385414}.status-pill-live{color:#fff;background:linear-gradient(135deg,var(--green),var(--cyan))}.card-topline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-topline h3,.login-card-copy,.login-card-form,.workspace-panel-header>div{min-width:0}.card-topline h3{flex:220px}.accent-cyan{border-top:6px solid var(--cyan)}.accent-orange{border-top:6px solid var(--orange)}.accent-green{border-top:6px solid var(--green)}.accent-navy{border-top:6px solid var(--navy)}@media (max-width:1100px){.discipline-grid,.hero-card,.module-grid,.phase-grid,.two-column-layout{grid-template-columns:1fr}}@media (max-width:840px){.page-shell{width:min(100% - 20px,1240px);padding:28px 0 44px}.discipline-card,.hero-card,.module-card,.phase-card,.stack-card{border-radius:22px}.discipline-card,.focus-panel,.hero-card,.module-card,.phase-card,.stack-card{padding:18px}.hero-grid{grid-template-columns:1fr}.hero-copy h1{max-width:11ch}}.workspace-panel{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.workspace-section-label{color:var(--cyan);font-family:var(--font-mono),monospace;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.76rem}.workspace-panel-header h2{letter-spacing:-.04em;margin:0}.tag-chip{width:fit-content;justify-content:center;align-items:center;padding:6px 10px;font-size:.74rem;display:inline-flex}.workspace-panel{border-radius:28px;gap:16px;padding:22px;display:grid}.workspace-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workspace-panel-header h2{font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.15}.tag-chip{color:var(--navy);font-size:.84rem;font-family:var(--font-mono),monospace;background:#1023330f;border-radius:999px;padding:8px 10px}.auth-form,.field-row,.field-stack,.workflow-form{gap:10px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row-single{grid-template-columns:1fr}.inline-button,.select-input,.text-input{font:inherit;border:1px solid #10233324;border-radius:14px}.select-input,.text-input{width:100%;color:var(--ink);background:#ffffffc2;padding:12px 14px}.inline-button{cursor:pointer;width:fit-content;color:var(--ink);background:#1023330f;justify-content:center;align-items:center;padding:12px 14px;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.inline-button:hover{border-color:#0a8ea052;transform:translateY(-1px)}.inline-button-primary{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff}.inline-button-ghost{color:#f4f7fb;background:#ffffff14;border-color:#ffffff24;width:100%}.form-feedback{margin:0;font-size:.94rem}.form-feedback-error{color:#9c261c}.login-shell{grid-template-columns:minmax(0,1.1fr) minmax(320px,.82fr);align-items:center;gap:20px;width:min(1080px,100% - 24px);min-height:100vh;margin:0 auto;padding:28px 0;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:30px}.login-card-copy,.login-card-form{padding:28px}.login-card-copy{gap:18px;display:grid}.login-card-copy h1,.login-card-form h2{letter-spacing:-.04em;margin:0}.login-card-copy h1{max-width:11ch;font-size:clamp(2rem,4vw,4rem);line-height:.96}.login-card-copy p,.login-card-form p{color:var(--ink-soft);margin:0;line-height:1.65}.login-card-form{gap:18px;display:grid}@media (max-width:780px){.field-row,.login-shell{grid-template-columns:1fr}.login-card,.workspace-panel{border-radius:22px;padding:18px}}.schaden-form{max-width:640px}.field-label{gap:6px;display:grid}.schaden-textarea{resize:vertical;min-height:100px}.schaden-success-panel{text-align:center;justify-items:center;gap:20px;max-width:560px}.schaden-success-icon{width:56px;height:56px;color:var(--green);background:#2f7f5d24;border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.schaden-success-panel h2{margin-bottom:6px;font-size:1.2rem}.schaden-success-panel p{color:var(--ink-soft);margin:0}.schaden-ticket-id{font-size:.82rem;margin-top:8px!important}.schaden-ticket-id code{font-family:var(--font-mono),monospace;background:#1023330f;border-radius:6px;padding:2px 6px}.schaden-success-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.portal-app{min-height:100vh;font-family:var(--font-sans),sans-serif;color:var(--ink);background:linear-gradient(160deg,#f0f4f8,#e8f0f4)}.portal-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffd9;border-bottom:1px solid #10233314;justify-content:space-between;gap:16px;padding:16px 32px;position:sticky;top:0}.portal-brand,.portal-header{align-items:center;display:flex}.portal-brand{gap:10px}.portal-brand-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.portal-brand-badge{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;font-family:var(--font-mono),monospace;letter-spacing:.06em;border-radius:999px;padding:4px 10px;font-size:.7rem}.portal-header-user{align-items:center;gap:12px;font-size:.88rem;display:flex}.portal-logout-btn{width:auto;color:var(--ink);background:#1023330f;border-color:#10233324;padding:8px 12px;font-size:.8rem}.portal-logout-btn:hover{background:#1023331a;border-color:#0a8ea052}.portal-main{gap:20px;max-width:1200px;margin:0 auto;padding:24px 32px 80px;display:grid}.portal-notice{color:var(--ink);background:#0a8ea01a;border:1px solid #0a8ea047;border-radius:14px;padding:14px 18px;font-size:.9rem}.portal-welcome-panel{background:linear-gradient(135deg,var(--navy) 0,#0a8ea0e6 100%);color:#fff;border-radius:28px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex}.portal-label{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0 0 6px;font-size:.72rem}.portal-welcome-copy h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}.portal-unit-line{opacity:.9;margin:0 0 4px;font-size:1rem}.portal-address{opacity:.7;margin:0;font-size:.84rem}.portal-quick-action{text-align:center;flex-shrink:0;gap:8px;display:grid}.portal-action-btn{white-space:nowrap;padding:14px 22px;font-size:.9rem;color:#fff!important;background:#ffffff2e!important;border-color:#ffffff4d!important}.portal-action-btn:hover{background:#ffffff47!important}.portal-action-hint{opacity:.65;margin:0;font-size:.74rem}.portal-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.portal-metric-card{background:#ffffffd9;border:1px solid #10233312;border-radius:22px;gap:6px;padding:20px;display:grid}.portal-metric-label{font-family:var(--font-mono),monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.portal-metric-value{letter-spacing:-.03em;color:var(--navy);font-size:1.7rem;font-weight:700}.portal-metric-sub{color:var(--ink-soft);font-size:.78rem}.portal-content-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:16px;display:grid}.portal-panel{background:#ffffffd9;border:1px solid #10233312;border-radius:26px;gap:16px;padding:24px;display:grid}.portal-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-panel-header h2{margin:4px 0 0;font-size:1.1rem}.portal-doc-list,.portal-ticket-list{gap:10px;display:grid}.portal-ticket-card{background:#10233308;border:1px solid #1023330f;border-radius:18px;gap:6px;padding:14px;display:grid}.portal-ticket-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-ticket-status{font-family:var(--font-mono),monospace;letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:.7rem}.portal-ticket-status--done{color:var(--green);background:#2f7f5d1f}.portal-ticket-status--active{color:var(--cyan);background:#0a8ea01f}.portal-ticket-status--wait{color:var(--orange);background:#d4682d1a}.portal-ticket-status--open{color:var(--ink-soft);background:#10233314}.portal-prio{font-family:var(--font-mono),monospace;border-radius:999px;padding:3px 8px;font-size:.68rem}.portal-prio--urgent{color:#9c261c;background:#b828231f}.portal-prio--high{color:var(--orange);background:#d4682d1f}.portal-prio--normal{color:var(--ink-soft);background:#1023330f}.portal-ticket-date{color:var(--ink-soft);margin-left:auto;font-size:.74rem}.portal-ticket-title{font-size:.92rem}.portal-ticket-id{font-family:var(--font-mono),monospace;color:var(--ink-soft);margin:0;font-size:.72rem}.portal-doc-card{background:#10233308;border:1px solid #1023330f;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.portal-doc-name{font-size:.88rem;display:block}.portal-doc-meta{color:var(--ink-soft);margin:2px 0 0;font-size:.74rem}.portal-doc-download{flex-shrink:0;margin-left:auto;padding:8px 14px;font-size:.8rem;text-decoration:none}.portal-doc-groups{gap:10px;display:grid}.portal-doc-group{background:#10233305;border:1px solid #1023330f;border-radius:14px;padding:10px 14px}.portal-doc-group>summary{cursor:pointer;align-items:center;gap:10px;font-size:.88rem;list-style:none;display:flex}.portal-doc-group>summary::-webkit-details-marker{display:none}.portal-doc-group>summary:before{content:"▸";color:var(--ink-soft);font-size:.8rem;transition:transform .15s}.portal-doc-group[open]>summary:before{transform:rotate(90deg)}.portal-doc-group-title{margin-right:auto;font-weight:600}.portal-panel-footer{border-top:1px solid #1023330f;padding-top:12px}.portal-hint{color:var(--ink-soft);margin:0;font-size:.78rem;font-style:italic}.portal-chat-fab{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;cursor:pointer;z-index:100;font-family:var(--font-sans),sans-serif;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 20px;font-size:.88rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #0a8ea059}.portal-chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 28px #0a8ea073}.portal-chat-fab svg{width:20px;height:20px}.portal-chat-window{z-index:100;background:#fff;border:1px solid #1023331a;border-radius:24px;flex-direction:column;width:360px;max-height:560px;display:flex;position:fixed;bottom:28px;right:28px;overflow:hidden;box-shadow:0 12px 48px #10233329}.portal-chat-header{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;align-items:center;gap:10px;padding:14px 16px;display:flex}.portal-chat-header-avatar{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.portal-chat-header-avatar svg{width:20px;height:20px}.portal-chat-header-name{font-size:.92rem;font-weight:600}.portal-chat-header-status{opacity:.8;font-size:.72rem}.portal-chat-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px;transition:opacity .16s}.portal-chat-close:hover{opacity:1}.portal-chat-disclosure{color:#7a4820;background:#d4682d12;border-bottom:1px solid #d4682d1f;align-items:flex-start;gap:6px;padding:8px 14px;font-size:.7rem;line-height:1.4;display:flex}.portal-chat-privacy{color:var(--ink-soft);flex:1;gap:14px;padding:20px 16px;font-size:.82rem;line-height:1.5;display:grid}.portal-chat-privacy p{margin:0}.portal-chat-privacy-label{color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4;display:flex}.portal-chat-privacy-label input{flex-shrink:0;margin-top:2px}.portal-chat-messages{flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px;display:flex;overflow-y:auto}.portal-chat-msg{border-radius:16px;max-width:85%;padding:10px 13px;font-size:.84rem;line-height:1.45}.portal-chat-msg--bot{background:#1023330f;border-bottom-left-radius:4px;align-self:flex-start}.portal-chat-msg--user{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.portal-chat-typing{background:#1023330f;border-radius:16px 16px 16px 4px;gap:5px;width:fit-content;padding:12px 14px;display:flex}.portal-chat-typing span{background:var(--ink-soft);border-radius:50%;width:7px;height:7px;animation:portalTypingDot 1.2s ease-in-out infinite}.portal-chat-typing span:nth-child(2){animation-delay:.2s}.portal-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes portalTypingDot{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.portal-chat-suggestions{border-top:1px solid #1023330f;flex-wrap:wrap;gap:6px;padding:8px 14px;display:flex}.portal-chat-suggestion{color:var(--cyan);cursor:pointer;font-size:.75rem;font-family:var(--font-sans),sans-serif;background:#0a8ea00f;border:1px solid #0a8ea040;border-radius:999px;padding:6px 12px;transition:background .16s}.portal-chat-suggestion:hover{background:#0a8ea01f}.portal-chat-input-area{border-top:1px solid #10233314;gap:8px;padding:12px 14px;display:flex}.portal-chat-input{font:inherit;color:var(--ink);background:#ffffffe6;border:1px solid #10233324;border-radius:12px;flex:1;padding:10px 13px;font-size:.84rem}.portal-chat-input:focus{border-color:var(--cyan);outline:none}.portal-chat-send{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .16s;display:flex}.portal-chat-send:disabled{opacity:.4;cursor:default}.portal-chat-send svg{width:16px;height:16px}@media (max-width:1180px){.portal-content-grid{grid-template-columns:1fr}.portal-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:780px){.portal-header{padding:12px 16px}.portal-main{padding:16px 16px 80px}.portal-welcome-panel{flex-direction:column}.portal-metric-strip{grid-template-columns:1fr}.portal-chat-window{width:calc(100vw - 24px);bottom:12px;right:12px}}.site-footer{border-top:1px solid var(--line);width:100%;margin-top:32px;padding:20px 0}.site-footer-row{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.site-footer-brand{letter-spacing:.02em;font-weight:600}.site-footer-beta{color:var(--muted);margin:10px 0 0;font-size:12px}.site-footer-links{gap:18px;display:flex}.site-footer-links a{color:var(--muted);text-decoration:none}.site-footer-links a:hover{color:var(--ink);text-decoration:underline}.legal-page{flex-direction:column;width:min(820px,100% - 32px);min-height:100vh;margin:0 auto;padding:28px 0 0;display:flex}.legal-container{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;flex:1;padding:32px 36px}.legal-container h1{letter-spacing:-.03em;margin:4px 0 24px}.legal-container h2{letter-spacing:-.01em;margin:28px 0 8px;font-size:18px}.legal-container p,.legal-container ul{color:var(--ink);margin:8px 0;line-height:1.55}.legal-container ul{padding-left:22px}.legal-container li{margin-bottom:6px}.legal-container a{color:var(--accent,#2563eb)}.legal-meta{color:var(--muted);font-size:13px}.legal-back{margin-top:32px;font-size:14px}@media (max-width:767px){.field-row{flex-direction:column}.field-row .field-label,.field-row .field-stack{width:100%}.login-shell{grid-template-columns:1fr}}.shell-breadcrumbs{margin-bottom:4px}.shell-breadcrumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.shell-breadcrumbs__item{align-items:center;gap:6px;display:inline-flex}.shell-breadcrumbs__link{color:var(--muted);text-decoration:none}.shell-breadcrumbs__link:hover{color:var(--ink);text-decoration:underline}.shell-breadcrumbs__current{color:var(--ink)}.shell-breadcrumbs__sep{color:var(--line)}.app-modal{border:1px solid var(--line);background:var(--surface-strong);width:min(640px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--ink);border-radius:20px;padding:0;overflow:hidden;box-shadow:0 40px 120px #10233347}.app-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10233373}.app-modal-head{border-bottom:1px solid var(--line);background:var(--surface-strong);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex;position:sticky;top:0}.app-modal-head h3{letter-spacing:-.01em;margin:0;font-size:18px}.app-modal-close{flex:none;padding:4px 10px}.app-modal-body{max-height:calc(100vh - 140px);padding:20px;overflow-y:auto}@media (max-width:767px){.app-modal{border-radius:20px 20px 0 0;width:100vw;max-width:100vw;max-height:92vh;margin:auto auto 0}}.fin-dashboard{--fin-s1:#2a78d6;--fin-s2:#1baf7a;--fin-s3:#eda100;--fin-s4:#008300;--fin-s5:#4a3aa7;--fin-s6:#e34948;--fin-grid-line:#1023331a;--fin-axis-ink:#6b7681;flex-direction:column;gap:16px;display:flex}.fin-property-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fin-chip{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink-soft);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.9rem;text-decoration:none;transition:all .15s;display:inline-flex}.fin-chip:hover{border-color:var(--cyan);color:var(--ink)}.fin-chip--active{background:var(--navy);border-color:var(--navy);color:#fdfcf8}.fin-chip-count{background:#ffffff2e;border-radius:999px;padding:1px 7px;font-size:.72rem}.fin-chip:not(.fin-chip--active) .fin-chip-count{background:var(--surface-muted)}.fin-findings{flex-wrap:wrap;gap:8px;display:flex}.fin-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.fin-badge--ok{color:#1f5a41;background:#2f7f5d24;border:1px solid #2f7f5d47}.fin-badge--err{color:#9a2a2a;background:#d33b3b24;border:1px solid #d33b3b4d}.fin-kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.fin-kpi{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.fin-kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fin-axis-ink,#6b7681);font-size:.76rem}.fin-kpi-value{color:var(--ink);font-size:1.5rem;font-weight:650;line-height:1.15}.fin-kpi-sub{color:var(--ink-soft);font-size:.82rem}.fin-chart-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.fin-chart-card,.fin-table-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;padding:16px 18px}.fin-chart-card--wide{grid-column:1/-1}.fin-chart-head h3{color:var(--ink);margin:0;font-size:1.05rem}.fin-chart-sub{color:var(--ink-soft);margin:2px 0 10px;font-size:.82rem}.fin-chart-svg{width:100%;height:auto;display:block}.fin-chart-empty{color:var(--fin-axis-ink,#6b7681);text-align:center;padding:24px 0;font-size:.88rem}.fin-grid{stroke:var(--fin-grid-line,#1023331a);stroke-width:1px}.fin-axis-label{fill:var(--fin-axis-ink,#6b7681);font-variant-numeric:tabular-nums;font-size:11px}.fin-line{stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.fin-dot{stroke:var(--surface-strong);stroke-width:1.5px}.fin-stack-seg{stroke:var(--surface-strong);stroke-width:1px}.fin-legend{flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;padding:0;list-style:none;display:flex}.fin-legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.fin-legend-swatch{border-radius:3px;width:11px;height:11px;display:inline-block}.fin-table-scroll{overflow-x:auto}.fin-table{border-collapse:collapse;width:100%;font-size:.88rem}.fin-table td,.fin-table th{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}.fin-table th{color:var(--fin-axis-ink,#6b7681);text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:600}.fin-table .fin-num{text-align:right;font-variant-numeric:tabular-nums}.fin-empty-state{background:var(--surface-strong);border:1px dashed var(--line);text-align:center;color:var(--ink-soft);border-radius:16px;padding:40px 24px}.fin-tabs{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.fin-tab{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.86rem;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.fin-tab:hover{border-color:var(--cyan);color:var(--ink)}.fin-tab--active{background:var(--navy);border-color:var(--navy);color:#fdfcf8}.fin-tab-count{background:var(--surface-muted);border-radius:999px;padding:1px 7px;font-size:.72rem}.fin-tab--active .fin-tab-count{background:#ffffff2e}.fin-row{cursor:pointer}.fin-row--open,.fin-row:hover{background:var(--surface-muted)}.fin-toggle-cell{width:28px}.fin-row-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-size:.8rem;line-height:1}.fin-row-toggle:hover{color:var(--ink);background:var(--surface-strong)}.fin-pos-row>td{background:var(--surface-strong);padding:4px 10px 14px}.fin-pos-table{border-collapse:collapse;width:100%;font-size:.84rem}.fin-pos-table td,.fin-pos-table th{border-bottom:1px solid var(--line);text-align:left;padding:6px 10px}.fin-pos-table th{color:var(--fin-axis-ink,#6b7681);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.fin-pos-table .fin-num{text-align:right;font-variant-numeric:tabular-nums}.fin-pos-sum td{border-bottom:none;font-weight:650}.fin-pos-empty{color:var(--ink-soft);margin:0;padding:10px 0;font-size:.86rem}.fin-tooltip rect{fill:var(--navy);opacity:.96}.fin-tooltip .fin-tt-head{fill:#cfe9ee;font-size:10px;font-weight:600}.fin-tooltip .fin-tt-val{fill:#fff;font-variant-numeric:tabular-nums;font-size:11px}.fin-dot,.fin-stack-seg{cursor:pointer}@media (max-width:840px){.fin-kpi-grid{grid-template-columns:repeat(2,1fr)}.fin-chart-grid{grid-template-columns:1fr}}.doc-upload-summary{color:var(--ink-soft);font-size:.9rem}.doc-upload-result{color:var(--ink)}.doc-upload-groups{gap:8px;display:grid}.doc-upload-group{border:1px solid var(--line);background:var(--surface-strong);border-radius:12px;padding:6px 12px}.doc-upload-group>summary{cursor:pointer;align-items:center;gap:10px;padding:6px 0;list-style:none;display:flex}.doc-upload-group>summary::-webkit-details-marker{display:none}.doc-folder-name{font-size:.9rem;font-weight:600}.doc-folder-cat{color:var(--ink-soft);font-size:.76rem;font-family:var(--font-mono),monospace;margin-left:auto}.doc-file-list{gap:2px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.doc-file{border-radius:6px;align-items:center;gap:10px;padding:3px 4px;font-size:.82rem;display:flex}.doc-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doc-file-size{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0}.doc-file-state{flex-shrink:0;margin-left:auto;font-size:.78rem}.doc-file--ok{color:#1f5a41}.doc-file--error{color:#9a2a2a}.doc-file--uploading{color:var(--cyan)}.doc-file--skipped{color:#8a4a1f}.doc-group{margin-bottom:18px}.doc-group-head{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.doc-group-name{color:var(--ink);font-size:.95rem;font-weight:650}.doc-breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;font-size:.95rem;display:flex}.doc-crumb{color:var(--ink-soft);border-radius:8px;padding:3px 6px;text-decoration:none}.doc-crumb:hover{color:var(--ink);background:var(--surface-muted)}.doc-crumb-part{align-items:center;gap:4px;display:inline-flex}.doc-crumb-sep{color:var(--line)}.doc-inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;display:flex}.doc-inline-form .ui-input{max-width:320px}.doc-folder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.doc-folder-tile{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.doc-folder-link{color:var(--ink);gap:2px;text-decoration:none;display:grid}.doc-folder-ico{font-size:1.4rem}.doc-folder-title{overflow-wrap:anywhere;font-weight:650}.doc-folder-count{color:var(--ink-soft);font-size:.78rem}.doc-folder-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;display:flex}.doc-disclosure{display:inline-block}.doc-disclosure>summary{cursor:pointer;list-style:none}.doc-disclosure>summary::-webkit-details-marker{display:none}.doc-hint,.doc-orig{color:var(--ink-soft);font-size:.74rem}.doc-orig{margin:2px 0 0}.doc-upload-divider{color:var(--ink-soft);text-align:center;margin:16px 0 10px;font-size:.82rem;position:relative}.portal-ticket-card--link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.portal-ticket-card--link:hover{border-color:var(--cyan);transform:translateY(-1px)}.portal-back-link{color:var(--ink-soft);align-items:center;gap:6px;font-size:.9rem;text-decoration:none;display:inline-flex}.portal-back-link:hover{color:var(--ink)}.portal-thread{flex-direction:column;gap:16px;display:flex}.portal-thread-head{flex-direction:column;gap:4px;display:flex}.portal-thread-title{color:var(--ink);margin:0;font-size:1.35rem}.portal-thread-meta{color:var(--ink-soft);flex-wrap:wrap;gap:8px 14px;font-size:.85rem;display:flex}.portal-thread-desc{color:var(--ink-soft);font-size:.95rem;line-height:1.5}.portal-thread-soon{color:#6b7681;font-size:.85rem;font-style:italic}.portal-msg-list{flex-direction:column;gap:10px;display:flex}.portal-msg-list>article{background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.portal-msg-top{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.portal-msg-from{color:var(--ink);font-size:.85rem;font-weight:600}.portal-msg-subject{color:var(--ink);font-size:.9rem}.portal-msg-text{color:var(--ink-soft);white-space:pre-wrap;font-size:.92rem;line-height:1.5}.portal-feed-time{color:#6b7681;font-variant-numeric:tabular-nums;font-size:.8rem}.portal-reply-form{flex-direction:column;gap:10px;margin-top:4px;display:flex}.portal-reply-input{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-height:90px;color:var(--ink);font:inherit;resize:vertical;border-radius:12px;padding:10px 12px}.portal-reply-btn{align-self:flex-start}.fin-badge--warn{color:#8a4a1f;background:#d4682d1f;border:1px solid #d4682d4d}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}