.number-jump{border:1px solid var(--line);background:var(--surface-muted);border-radius:7px;flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:160px;max-width:280px;margin-left:auto;padding:3px 7px 3px 12px;display:flex;position:relative}.number-jump>.ui-icon{color:#8b9ba3}.number-jump input{background:0 0;border:0;flex:1;width:0;min-width:60px;padding:5px 2px;font-size:11px}.number-jump input::placeholder{color:#87979f}.number-jump button{background:var(--surface);color:var(--muted);padding:2px 6px;font-size:10px}.number-jump [role=status]{z-index:10;border:1px solid var(--line);box-shadow:var(--shadow-raised);color:var(--muted);background:#fff;border-radius:8px;margin:0;padding:12px;font-size:12px;position:absolute;top:calc(100% + 8px);left:0;right:0}.number-jump-knowledge{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;display:block}.kb-ask{z-index:60;width:min(440px,100vw);padding-top:env(safe-area-inset-top,0px);border-left:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #132a351f}.kb-ask__head{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:14px 16px 10px;display:grid}.kb-ask__head h2{margin:0;font-size:16px}.kb-ask__scope{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;justify-self:start;display:inline-flex;overflow:hidden}.kb-ask__scope button{background:var(--surface);color:var(--muted);border:0;border-radius:0;padding:4px 12px;font-size:12px}.kb-ask__scope button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.kb-ask__note,.kb-ask__empty,.kb-ask__muted{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px}.kb-ask__body{flex:1;align-content:start;gap:14px;padding:14px 16px;display:grid;overflow:auto}.kb-ask__turn{gap:8px;display:grid}.kb-ask__question{background:var(--accent-soft);white-space:pre-wrap;border-radius:12px 12px 2px;justify-self:end;max-width:88%;margin:0;padding:8px 12px}.kb-ask__reply{gap:8px;display:grid}.kb-ask__disclaimer{background:var(--banner);color:var(--banner-ink);border-radius:6px;justify-self:start;padding:2px 8px;font-size:11px}.kb-ask__answer{white-space:pre-wrap;margin:0;line-height:1.7}.kb-ask__marker{color:var(--accent);font-weight:600;text-decoration:none}.kb-ask__refs{gap:6px;margin:0;padding:0;list-style:none;display:grid}.kb-ask__refs li{border:1px solid var(--line);border-radius:8px;gap:2px;padding:7px 10px;font-size:12px;display:grid}.kb-ask__refs li:target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kb-ask__ref-head{font-family:var(--font-mono);font-weight:600}.kb-ask__ref-quote{color:var(--muted)}.kb-ask__form{padding:10px 16px max(14px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);gap:8px;display:flex}.kb-ask__form textarea{border:1px solid var(--line);min-height:40px;max-height:120px;font:inherit;resize:vertical;border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.kb-ask__form button[type=submit]{border-color:var(--accent);background:var(--accent);color:#fff;align-self:flex-end}.kb-ask__form button[type=submit]:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--bg:#f5f7f8;--surface:#fff;--surface-muted:#f7f9fa;--ink:#182b36;--text:var(--ink);--muted:#647581;--line:#e4eaed;--accent:#147d78;--accent-hover:#0d6662;--accent-soft:#e8f4f1;--hover:#f0f5f5;--shadow:0 2px 4px #132a3505, 0 8px 24px #132a3508;--shadow-raised:0 12px 48px #132a3521;--radius:12px;--status-draft:#647581;--status-progress:#286dba;--status-done:#187657;--status-ok:var(--status-done);--status-blocked:#ba4c4b;--danger:var(--status-blocked);--status-due:#a26922;--critical-path:#b24948;--banner:#fff5e5;--banner-ink:#845c23;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:var(--bg);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid #dbe3e7;border-radius:7px}button{cursor:pointer;padding:7px 13px;font-weight:500;transition:background .14s,border-color .14s,box-shadow .14s}button:hover:not(:disabled){background:var(--hover);border-color:#bbcfcc}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{padding:7px 10px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}textarea{resize:vertical}:where(input,select,textarea,button,a,summary):focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 48%, transparent);outline-offset:3px}a{color:inherit;text-underline-offset:3px}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;line-height:1.35}h2{font-size:17px}h3{font-size:14px}::selection{background:#cee8e2}.ui-icon{vertical-align:middle;flex:none}.tabular-nums{font-variant-numeric:tabular-nums}.status-draft{color:var(--status-draft)}.status-progress{color:var(--status-progress)}.status-done{color:var(--status-done)}.status-blocked{color:var(--status-blocked)}.status-due{color:var(--status-due)}.critical-path{color:var(--critical-path);font-family:var(--font-mono)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:10px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.app-shell{--sidebar-width:236px;--page-gutter:32px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"side top""side banner""side main";height:100dvh;display:grid;overflow:hidden}.top-bar{min-height:72px;padding:14px var(--page-gutter);background:var(--surface);border-bottom:1px solid var(--line);z-index:8;flex-wrap:wrap;grid-area:top;align-items:center;gap:12px 20px;display:flex}.top-bar-location{align-items:center;gap:14px;min-width:0;font-size:13px;display:flex}.breadcrumb-parent,.top-bar-location>.ui-icon{color:#84939d}.breadcrumb-current{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.icon-button{color:var(--muted);background:0 0;border-color:#0000;place-items:center;padding:7px;display:inline-grid}.top-bar-meta{flex:none;align-items:center;gap:14px;margin-left:auto;display:flex}.top-bar-logout{color:var(--muted);white-space:nowrap;background:0 0;border-color:#0000;align-items:center;gap:6px;padding:5px 0;font-size:12px;display:inline-flex}.top-bar-logout:hover:not(:disabled){color:var(--accent);background:0 0;border-color:#0000}.stage-badge{color:#8a713d;white-space:nowrap;background:#f4f1e8;border-radius:5px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.stage-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.logout-error{color:var(--status-blocked);margin:0}.top-bar>.logout-error{flex-basis:100%}.break-glass-banner{padding:7px var(--page-gutter);background:var(--banner);color:var(--banner-ink);border-bottom:1px solid #f0e2c9;grid-area:banner;font-size:12px}.sidebar{color:#c8d5da;background:#152d38;flex-direction:column;grid-area:side;min-height:0;padding:0 14px;display:flex;overflow:hidden}.sidebar-brand{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:148px;padding:16px 12px;display:flex}.brand-mark{object-fit:contain;flex:none;width:140px;height:auto;display:block}.brand-wordmark{color:#c8d5da;letter-spacing:.8px;white-space:nowrap;font-size:13px;font-weight:500}.brand-wordmark small{color:#8ca4af;letter-spacing:1.5px;margin-top:1px;font-size:10px;font-weight:400;display:none}.sidebar-context{background:#1b3440;border:1px solid #314752;border-radius:9px;align-items:center;gap:11px;min-height:62px;margin:2px 2px 20px;padding:10px 12px;display:flex}.sidebar-context>.ui-icon{color:#88b9b2}.sidebar-context strong{color:#e5eff1;font-size:12px;font-weight:500;display:block}.sidebar-context small{color:#93a8b2;margin-top:3px;font-size:10px;display:block}.sidebar-navigation{scrollbar-width:thin;scrollbar-color:#3c555f transparent;flex:1;min-height:0;overflow:auto}.nav-group{margin:0 0 20px}.nav-group-label{color:#829da9;letter-spacing:1.8px;margin:0 14px 7px;font-size:10px}.nav-link{color:#bfced5;border-radius:7px;align-items:center;gap:12px;min-height:39px;margin:3px 0;padding:8px 13px;font-size:13px;text-decoration:none;transition:background .14s,color .14s;display:flex}.nav-link>.ui-icon{opacity:.8}.nav-link:hover{color:#fff;background:#223e4b}.nav-link[aria-current=page]{color:#effffb;background:#2c585b;font-weight:550;box-shadow:inset 3px 0 #72c9b6}.nav-link[aria-current=page]>.ui-icon{color:#a7e0d3;opacity:1}.nav-link[aria-disabled=true]{color:#7e96a2;cursor:not-allowed}.nav-soon{color:#91a7b2;white-space:nowrap;border:1px solid #3a515b;border-radius:3px;margin-left:auto;padding:0 4px;font-size:9px}.sidebar-profile{border-top:1px solid #2e4550;align-items:center;gap:11px;min-height:82px;padding:16px 8px;display:flex}.profile-avatar{color:#356356;background:#d8e6e1;border-radius:50%;flex:0 0 34px;place-items:center;height:34px;font-size:13px;font-weight:600;display:grid}.sidebar-profile strong{color:#e8eff2;font-size:12px;font-weight:500;display:block}.identity-label{color:#8da6b1;margin-top:1px;font-size:10px;display:block}.shell-main{min-width:0;min-height:0;padding:30px var(--page-gutter) 40px;scrollbar-width:thin;scrollbar-color:#c1d0d5 transparent;grid-area:main;overflow:auto}.shell-main:focus{outline:none}.shell-main h1{margin-top:0;font-size:25px;font-weight:650}.page-heading h1{margin:0}.page-description{color:var(--muted);margin:7px 0 0;font-size:12px;font-weight:400;line-height:1.6}.page-eyebrow{color:var(--accent);letter-spacing:1.7px;margin:0 0 6px;font-size:10px;font-weight:600}.root-readonly{color:var(--muted);margin:0 0 16px}.gate-filter-pill{background:var(--accent-soft);color:var(--accent);border-radius:6px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:inline-flex}.app-shell[data-nav-collapsed=true]{--sidebar-width:76px}.app-shell[data-nav-collapsed=true] .sidebar{padding-inline:10px}.app-shell[data-nav-collapsed=true] :is(.sidebar-brand,.sidebar-context,.sidebar-profile){justify-content:center;padding-inline:10px}.app-shell[data-nav-collapsed=true] .nav-link{justify-content:center;padding-inline:8px}.app-shell[data-nav-collapsed=true] :is(.nav-label,.brand-wordmark,.nav-group-label,.nav-soon){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell[data-nav-collapsed=true] .nav-group{margin-bottom:12px}.login-page,.forbidden-page,.placeholder-page{background:var(--bg);place-items:center;min-height:100vh;padding:32px;display:grid}.login-layout{background:#fff;border-radius:22px;grid-template-columns:1.1fr 1fr;width:min(1060px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 24px 80px #152d3817}.login-story{color:#d5e4e9;background:#152d38;flex-direction:column;align-items:flex-start;padding:44px;display:flex;position:relative;overflow:hidden}.login-brand{color:#a7bbc5;letter-spacing:1px;flex-direction:column;align-items:flex-start;gap:16px;font-size:14px;font-weight:500;display:flex}.login-brand .brand-mark{width:188px}.app-shell[data-nav-collapsed=true] .sidebar-brand{min-height:88px;padding-inline:0}.app-shell[data-nav-collapsed=true] .sidebar-brand .brand-mark{width:48px}@media (width<=960px){.sidebar .sidebar-brand{min-height:88px;padding-inline:0}.sidebar-brand .brand-mark{width:48px}}@media (width<=640px){.sidebar .sidebar-brand{min-height:72px}.sidebar-brand .brand-mark{width:42px}.login-brand .brand-mark{width:140px}}.login-story h2{z-index:1;color:#fff;letter-spacing:-1px;margin:42px 0 16px;font-size:38px;line-height:1.5;position:relative}.login-story>p{color:#a7bbc5;max-width:310px;font-size:13px}.login-story-foot{color:#89a5ad;letter-spacing:2px;margin-top:auto;padding-top:32px;font-size:11px}.login-blueprint{opacity:.1;background:repeating-linear-gradient(0deg,#0000 0 35px,#bddcd6 35px 36px),repeating-linear-gradient(90deg,#0000 0 35px,#bddcd6 35px 36px);border:1px solid #bddcd6;width:310px;height:220px;position:absolute;bottom:100px;right:-60px;transform:rotate(-24deg)}.login-card{align-self:center;padding:50px}.login-card h1{margin:0 0 10px;font-size:29px}.login-kicker{color:var(--accent);letter-spacing:1px;margin:0 0 12px;font-size:11px}.login-lead{color:var(--muted);margin:0 0 32px;font-size:13px}.feishu-login{background:var(--accent);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-weight:600;text-decoration:none;display:flex}.feishu-login:hover{background:var(--accent-hover)}.login-caption{color:var(--muted);margin:12px 0 28px;font-size:11px}.local-root-login{border-top:1px solid var(--line);color:var(--muted);padding-top:20px;font-size:12px}.local-root-login summary{cursor:pointer}.local-root-login form{gap:12px;margin-top:16px;display:grid}.local-root-login label{gap:5px;display:grid}.local-root-login input,.local-root-login button{width:100%;padding:8px 10px}.local-root-login button{background:var(--ink);color:#fff}.login-error{color:var(--status-blocked)}.forbidden-card,.placeholder-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:16px;padding:40px}@media (width<=1200px){.app-shell{--page-gutter:24px;--sidebar-width:212px}.top-bar{gap:12px}.breadcrumb-parent{display:none}.top-bar-location{gap:8px}}@media (width<=960px){.app-shell{--sidebar-width:76px;--page-gutter:20px}.sidebar{padding-inline:10px}.sidebar-brand,.sidebar-context,.sidebar-profile{justify-content:center;padding-inline:10px}.nav-link{justify-content:center;padding-inline:8px}.sidebar :is(.nav-label,.brand-wordmark,.nav-group-label,.nav-soon){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.nav-group{margin-bottom:12px}.nav-toggle{display:none}.login-story{padding:32px}.login-card{padding:36px}}@media (width<=640px){.app-shell{--sidebar-width:60px;--page-gutter:14px}.sidebar{padding-inline:5px}.sidebar-context{display:none}.sidebar-brand{min-height:72px}.sidebar-profile{min-height:70px}.top-bar{gap:8px;min-height:72px;padding-block:10px}.top-bar-location{flex:100px}.top-bar-meta{gap:9px}.top-bar .number-jump{flex-basis:100%;order:3;width:100%;min-width:0;max-width:none}.top-bar .number-jump input{width:0;min-width:0}.top-bar .number-jump button{flex:none}.stage-badge{font-size:10px}.shell-main{padding-top:22px}.shell-main h1{font-size:22px}.login-page{padding:18px}.login-layout{min-height:auto;display:block}.login-story{padding:24px}.login-story h2{margin:24px 0 0;font-size:26px}.login-story-foot,.login-story>p{display:none}.login-card{padding:32px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.overview{color:var(--ink);margin:0;padding:0 0 32px}.overview__header,.overview__section{margin-bottom:20px}.overview__kicker{color:var(--muted);letter-spacing:.04em;margin:0 0 4px;font-size:12px}.overview h1,.overview h2{margin:0 0 12px;font-size:20px}.overview__toolbar{align-items:center;gap:8px;display:flex}.overview__cards{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.overview__card,.overview__panel,.overview__person,.overview__health{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:14px}.overview__health--alert{background:#fff5f4;border-color:#d94841}.overview__alert{color:#8a1f1b;margin:8px 0 0;font-weight:600}.overview__card{text-align:left;width:100%;min-width:0}.overview__card:focus-visible,.overview button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overview__badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-right:6px;padding:1px 6px;font-size:12px;display:inline-block}.overview__badge--warn{color:#8a4b08;background:#f8e3c8}.overview__counts{font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:10px 0 0;padding:0;font-size:13px;display:grid}.overview__overdue{background:#fff5f4;border-color:#d94841}.overview__overdue table,.overview__person table{border-collapse:collapse;width:100%;font-size:13px}.overview__overdue th,.overview__overdue td,.overview__person th,.overview__person td{text-align:left;border-bottom:1px solid #e4e9ef;padding:6px 8px}.overview__empty{color:var(--muted);margin:0}.overview__banner{background:var(--ink);color:#fff;margin:0 0 16px;padding:8px 10px;font-size:13px}.overview--denied{max-width:40rem}.overview__project-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.overview__project-summary{min-width:0}.overview__project-summary h3{margin:0 0 12px}.overview__project-enter{color:var(--ink);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:0;font-size:18px;font-weight:600;display:inline-flex}.overview__project-enter:hover:not(:disabled){color:var(--accent);background:0 0}.overview__project-enter .ui-icon{color:var(--accent)}.overview__project-badges{flex-wrap:wrap;gap:6px;margin:0;display:flex}.overview__project-badges .overview__badge{margin:0}.overview__plan-window{color:var(--muted);margin:12px 0 0;font-size:12px}.overview__project-progress{text-align:right;gap:6px;min-width:146px;display:grid}.overview__project-progress>span:first-child{color:var(--muted);font-size:11px}.overview__project-progress strong{color:var(--accent);font-size:32px;font-weight:600;line-height:1.2}.overview__progress-track{background:#e7eeed;border-radius:99px;height:5px;display:block;overflow:hidden}.overview__progress-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.overview__packages{margin-top:24px}.overview__packages h3{margin:0 0 12px;font-size:14px}.overview__plan-order-note{color:var(--muted);margin:-5px 0 12px;font-size:11px}.overview__packages-scroll{border:1px solid var(--line);border-radius:9px;max-width:100%;overflow-x:auto}.overview__packages-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:680px;font-size:12px}.overview__packages-table th,.overview__packages-table td{border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;padding:12px 16px}.overview__packages-table thead th{background:var(--surface-muted);color:var(--muted);font-size:11px;font-weight:500}.overview__packages-table thead th:first-child{width:42%}.overview__packages-table thead th:nth-child(2){width:22%}.overview__packages-table thead th:nth-child(3){width:12%}.overview__packages-table thead th:nth-child(4){width:15%}.overview__packages-table thead th:nth-child(5){width:9%}.overview__packages-table tbody th{overflow-wrap:anywhere;font-weight:500}.overview__packages-table td{white-space:nowrap}.overview__packages-table tbody tr:last-child :is(th,td){border-bottom:0}.overview__packages-table tbody tr:hover{background:#f8fbfa}.overview__package-progress{align-items:center;gap:14px;display:flex}.overview__package-progress .overview__progress-track{flex:1;min-width:30px}.overview__package-progress .tabular-nums{text-align:right;min-width:55px}.overview__package-status{color:var(--muted)}.overview__overdue-badge{color:var(--status-blocked);background:#fff1ef;border-radius:4px;padding:2px 7px;font-size:11px;display:inline-block}@media (width<=760px){.overview__project-head{flex-direction:column;gap:18px}.overview__project-progress{text-align:left;width:100%;min-width:0}.overview__project-progress strong{font-size:27px}.overview__project-enter{font-size:16px}}.governance{min-width:0;color:var(--ink);padding:8px 4px 32px}.governance__header,.governance__section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-bottom:16px;padding:16px 18px}.governance__kicker{color:var(--muted);letter-spacing:.04em;margin:0 0 4px;font-size:12px}.governance h1,.governance h2{margin:0 0 12px;font-size:20px}.governance table{border-collapse:collapse;width:100%;font-size:13px}.governance th,.governance td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.governance th{color:var(--muted);background:var(--surface-muted);white-space:nowrap;font-size:12px;font-weight:600}.governance td{overflow-wrap:anywhere}.governance table button,.governance__actions,.governance__person-state{white-space:nowrap}.governance__person-identity{min-width:12rem}.governance__person-roles,.governance__person-disciplines{min-width:10rem}.governance__person-disciplines summary{cursor:pointer;white-space:nowrap}.governance__form,.governance__toolbar{flex-wrap:wrap;align-items:end;gap:8px 12px;display:flex}.governance__form label,.governance fieldset label{gap:4px;font-size:13px;display:grid}.governance input,.governance select,.governance button{min-height:32px}.governance__note,.governance__empty{color:var(--muted)}.ai-model-settings{border-bottom:1px solid var(--line);margin:12px 0 20px;padding-bottom:16px}.ai-model-settings__controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.ai-model-settings__controls label{gap:6px;font-size:13px;display:grid}.ai-model-settings__controls select{min-width:160px}.ai-model-settings .governance__hint{color:var(--muted);font-size:13px}.governance__choice-list{gap:6px;min-width:0;max-width:100%;display:grid}.governance fieldset .governance__choice{align-items:center;gap:8px;display:flex}.governance fieldset .governance__choice input{flex:0 0 17px;width:17px;height:17px;min-height:auto;margin:0}.governance fieldset .governance__choice{overflow-wrap:anywhere;align-items:flex-start;min-width:0;padding:5px 0}.governance fieldset .governance__choice input{margin-top:2px}.governance .governance__guest-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:64rem;display:grid}.governance__guest-form>label,.governance__guest-form input{width:100%;min-width:0}.governance__guest-form>h3,.governance__guest-actions,.governance__project-choices{grid-column:1/-1}.governance__project-choices{border:1px solid var(--line);border-radius:8px;margin:0;padding:10px 14px}.governance__guest-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=960px){.governance .governance__guest-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.governance .governance__guest-form{grid-template-columns:minmax(0,1fr)}.governance__form>label,.governance__form>label :is(input,select),.governance__toolbar>label,.governance__toolbar>label :is(input,select){min-width:0;max-width:100%}}.governance__confirm{border:1px solid var(--status-blocked);background:#fff5f4;padding:12px}.governance__permission-reference summary{cursor:pointer;font-weight:600}.governance__permission-table{overflow-x:auto}.governance__permission-table th,.governance__permission-table td{min-width:12rem}.governance__permission-table ul{margin:0;padding-left:1rem}.system-task-project{min-width:0;margin-top:16px}.system-task-project h3{overflow-wrap:anywhere;margin:0 0 10px;font-size:14px}.system-task-list{gap:12px;min-width:0;display:grid}.system-task-card{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;min-width:0}.system-task-card__controls{flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 14px;display:flex}.system-task-heading{flex:15rem;min-width:0}.system-task-heading h4{margin:0;font-size:14px}.system-task-schedule{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.system-task-schedule input{width:108px;max-width:100%}.system-task-command{min-width:0;max-width:100%;margin-left:auto}.system-task-help{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400}.system-task-help summary{cursor:pointer}.system-task-help p{max-width:24rem;margin:6px 0}.system-task-toggle,.system-task-actions{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.governance .system-task-toggle input{width:16px;height:16px;min-height:0;margin:0;padding:0}.system-task-times{border-top:1px solid var(--line);background:var(--surface-muted);white-space:normal;border-radius:0 0 10px 10px;min-width:0;padding:10px 14px;font-size:12px;line-height:1.5}.system-task-timestamps{color:var(--muted);flex-wrap:wrap;gap:4px 24px;display:flex}.system-task-result{white-space:normal;gap:4px;min-width:0;margin-top:8px;padding:8px 10px;line-height:1.5;display:grid}.system-task-result--warning{color:#69420b;background:#fff5dc;border-left:3px solid #ad6200}.system-task-result summary{cursor:pointer;font-weight:600}.system-task-result :is(ul,p){margin:6px 0}.system-task-result ul{padding-left:18px}.system-task-progress{margin-top:4px;font-size:12px;line-height:1.5;display:block}.system-task-progress>span{display:block}.system-task-actions button{white-space:nowrap;padding:4px 10px}.system-task-feedback{max-width:20rem;margin:6px 0 0}@media (width<=640px){.system-task-heading{flex-basis:100%}.system-task-command{margin-left:0}}.admin-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin:0 0 16px;display:flex}.governance .admin-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-size:14px;display:inline-flex}.governance .admin-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}.governance .admin-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.admin-tabs__badge{background:var(--surface-muted);color:var(--muted);border-radius:999px;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.admin-tabs__badge.is-warn{background:color-mix(in srgb, var(--status-due) 14%, white);color:var(--status-due)}.admin-tabs__badge.is-bad{background:color-mix(in srgb, var(--status-blocked) 12%, white);color:var(--status-blocked)}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;display:inline-flex}.status-pill.is-ok{background:color-mix(in srgb, var(--status-done) 12%, white);color:var(--status-done)}.status-pill.is-progress{background:color-mix(in srgb, var(--status-progress) 12%, white);color:var(--status-progress)}.status-pill.is-due{background:color-mix(in srgb, var(--status-due) 14%, white);color:var(--status-due)}.status-pill.is-bad{background:color-mix(in srgb, var(--status-blocked) 12%, white);color:var(--status-blocked)}.status-pill.is-off{border:1px solid var(--line);background:var(--surface-muted);color:var(--muted)}.status-text.is-ok{color:var(--status-done)}.status-text.is-progress{color:var(--status-progress)}.status-text.is-due{color:var(--status-due)}.status-text.is-bad{color:var(--status-blocked)}.status-text.is-off{color:var(--muted)}.system-run-list{gap:12px;min-width:0;margin-top:14px;display:grid}.system-run-card{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;min-width:0;font-size:13px;line-height:1.5}.system-run-card__header{flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 14px;display:flex}.system-run-card__heading{flex:14rem;min-width:0}.system-run-card__heading h3{margin:0;font-size:14px}.system-run-card__heading p{color:var(--muted);margin:3px 0 0;font-size:12px}.system-run-card__state,.system-run-card__times{flex-wrap:wrap;gap:6px 24px;font-size:12px;display:flex}.system-run-card__state{color:var(--muted);align-items:center}.system-run-card__times{margin:0;padding:0 14px 12px}.system-run-card__times>div{flex-wrap:wrap;gap:4px 8px;min-width:0;display:flex}.system-run-card__times dt{color:var(--muted)}.system-run-card__times dd{margin:0}.system-run-card__heartbeat{padding:0 14px 12px}.system-run-card__heartbeat p{margin:0;font-size:12px}.system-run-card__result{border-top:1px solid var(--line);background:var(--surface-muted);white-space:normal;border-radius:0 0 10px 10px;min-width:0;padding:10px 14px}.system-run-card__details{margin-top:8px}.system-run-card__details summary{cursor:pointer;font-weight:600}.system-run-card__result p{margin:8px 0}.system-run-card.system-run--long{border-color:var(--status-due);background:color-mix(in srgb, var(--status-due) 6%, white)}.governance tr.is-failed td{background:color-mix(in srgb, var(--status-blocked) 5%, white)}.knowledge-service{gap:14px;display:grid}.governance .knowledge-service h2{margin:0}.governance .knowledge-service h3{margin:0;font-size:15px}.knowledge-service__status{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px;margin:0;display:grid}.knowledge-service__status>div{border:1px solid var(--line);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.knowledge-service__status dt,.knowledge-service__status span,.knowledge-service__status small{color:var(--muted);font-size:12px}.knowledge-service__status dd{margin:0}.knowledge-service__metric{align-items:baseline;gap:6px;display:flex}.knowledge-service__metric strong{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.4}.knowledge-service__runtime{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin-top:10px;font-size:12px;display:flex}.knowledge-service__grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px;display:grid}.knowledge-service__card{border:1px solid var(--line);border-radius:10px;align-content:start;gap:8px;min-width:0;padding:12px 14px;display:grid}.knowledge-service__card header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.knowledge-service__card p{margin:0}.knowledge-service__actions{gap:6px;margin-left:auto;display:flex}.knowledge-service__bar{background:var(--line);border-radius:4px;height:8px;display:flex;overflow:hidden}.knowledge-service__bar i.is-ok{background:var(--status-done)}.knowledge-service__bar i.is-due{background:var(--status-due)}.knowledge-service__bar i.is-progress{background:var(--status-progress)}.knowledge-service__bar i.is-bad{background:var(--status-blocked)}.knowledge-service__facts{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:0;font-size:13px;display:grid}.knowledge-service__facts dt{color:var(--muted)}.knowledge-service__facts dd{overflow-wrap:anywhere;margin:0}.knowledge-service__switch{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.governance .knowledge-service__switch button{background:var(--surface);min-height:28px;color:var(--muted);border:0;border-radius:0;padding:2px 12px}.governance .knowledge-service__switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.source-chain{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 16px;padding:0;list-style:none;display:grid}.source-chain li{border:1px solid var(--line);border-radius:10px;align-content:start;gap:4px;min-width:0;padding:12px 14px;display:grid;position:relative}.source-chain li+li:before{color:var(--muted);content:"→";position:absolute;top:50%;left:-22px;transform:translateY(-50%)}.source-chain__step,.source-chain small{color:var(--muted);font-size:12px}.source-chain strong{font-size:15px}@media (width<=760px){.source-chain{grid-template-columns:minmax(0,1fr);gap:10px}.source-chain li+li:before{content:none}}.gantt-left-head:before,.gantt-left-body:before{content:"";width:var(--page-gutter);background:var(--bg);position:absolute;top:0;bottom:0;right:100%}.gantt-page>p{width:fit-content;color:var(--muted);font-size:12px;position:sticky;left:0}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table){table-layout:fixed}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table) :is(th,td){white-space:normal;overflow-wrap:anywhere;width:112px}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table) th{white-space:nowrap}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table) :is(th,td):first-child{z-index:1;background:var(--surface);width:130px;min-width:130px;box-shadow:1px 0 var(--line);position:sticky;left:0}.shell-main .tracking-table :is(th,td):nth-child(2),.shell-main :is(.files-table,.issues-table,.changes-table) :is(th,td):nth-child(3){z-index:1;background:var(--surface);width:240px;box-shadow:1px 0 var(--line);position:sticky;left:130px}.shell-main .tracking-table th:nth-child(2),.shell-main :is(.files-table,.issues-table,.changes-table) th:nth-child(3){background:#f6f9fa}.ledger-summary{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=640px){.shell-main .tracking-table :is(th,td):nth-child(2),.shell-main :is(.files-table,.issues-table,.changes-table) :is(th,td):nth-child(3){box-shadow:none;position:static}}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table) th:first-child{background:#f6f9fa}.shell-main :is(.wbs-header,.gantt-header,.wbs-filters,.gantt-toolbar){width:calc(100vw - var(--sidebar-width) - var(--page-gutter) * 2 - 12px);max-width:calc(100vw - var(--sidebar-width) - var(--page-gutter) * 2 - 12px)}.wbs-filters input:not([type=checkbox]){width:132px;min-width:0}.inbox-header{margin-bottom:26px}.knowledge-header p:has(>a){gap:18px;margin-top:16px;font-size:12px;display:flex}.knowledge-header p>a{color:var(--accent);text-decoration:none}.shell-main>main>p:is([role=alert],[data-testid$=error],[data-testid$=expired],[data-testid$=unavailable]){color:var(--status-blocked);background:#fffaf8;border:1px solid #edd8d2;border-radius:10px;padding:18px 20px}.shell-main>main>p[data-testid$=empty]{color:var(--muted);text-align:center;background:var(--surface);border:1px dashed #ccd9dd;border-radius:12px;padding:50px 24px}.shell-main :is(.files-header,.tracking-header,.issues-header,.changes-header,.knowledge-header,.reports-header,.wbs-header,.gantt-header){flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:24px}.shell-main :is(.files-header,.tracking-header,.issues-header,.changes-header)>.page-heading{margin-right:auto}.shell-main :is(.files-freshness,.tracking-freshness,.issues-freshness,.changes-freshness){color:var(--muted);font-size:11px}.shell-main :is(.wbs-header,.gantt-header){min-height:68px}.shell-main :is(.wbs-header,.gantt-header)>.page-heading{margin-right:18px}.shell-main :is(.wbs-header,.gantt-header)>p{color:var(--muted);font-size:11px}.shell-main :is(.files-board,.tracking-board,.issues-board,.changes-board){border-radius:var(--radius);box-shadow:var(--shadow)}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table,.governance table,.reports-section table){font-size:12px}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table,.governance table,.reports-section table) th{color:#627784;background:#f6f9fa;padding:13px 16px;font-size:11px;font-weight:500}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table,.governance table,.reports-section table) td{vertical-align:middle;padding:15px 16px}.shell-main :is(.files-table,.tracking-table,.issues-table,.changes-table,.governance table,.reports-section table) tbody tr:hover{background:#f8fbfa}.shell-main :is(.files-row-select,.tracking-row-select,.issues-row-select,.changes-row-select){font-size:12px;font-weight:600;text-decoration:none}.shell-main :is(.files-row-select,.tracking-row-select,.issues-row-select,.changes-row-select):hover{background:0 0;border-color:#0000;text-decoration:underline}.shell-main :is(.tracking-filters,.issues-filters,.changes-filters,.wbs-filters){gap:10px}.shell-main :is(.tracking-filters,.issues-filters) label{min-width:0;color:var(--muted);gap:4px;font-size:12px;display:grid}.shell-main :is(.tracking-filters,.issues-filters) label :is(input,select){width:150px;min-width:0;max-width:100%}.shell-main :is(.tracking-toolbar,.issues-filters,.changes-toolbar,.wbs-filters){border:1px solid var(--line);background:var(--surface);border-radius:9px;margin-bottom:18px;padding:14px 16px}.shell-main :is(.tracking-filters,.issues-filters,.changes-filters,.wbs-filters) :is(input,select,button){font-size:12px}.shell-main :is(.files-view-switch,.tracking-view-switch,.issues-view-switch,.tracking-tabs){border:1px solid var(--line);background:#edf2f3;border-radius:8px;gap:3px;width:fit-content;padding:3px;display:inline-flex}.shell-main :is(.files-view-switch,.tracking-view-switch,.issues-view-switch,.tracking-tabs) button{color:var(--muted);background:0 0;border-color:#0000;padding:5px 13px;font-size:12px}.shell-main :is(.files-view-switch,.tracking-view-switch,.issues-view-switch,.tracking-tabs) button:is([aria-current=page],[aria-selected=true],[aria-pressed=true]){color:var(--accent);background:#fff;font-weight:600;box-shadow:0 1px 4px #152d3814}.shell-main :is(.files-detail,.tracking-detail,.issues-detail,.changes-detail,.knowledge-detail,.knowledge-create,.reports-section,.changes-totals){border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow);padding:24px}.shell-main :is(.files-detail-meta,.tracking-detail-meta,.issues-detail-meta,.changes-detail-meta){border-bottom:1px solid var(--line);gap:18px;padding-bottom:22px}.shell-main :is(.files-detail-meta,.tracking-detail-meta,.issues-detail-meta,.changes-detail-meta) dt{margin-bottom:5px;font-size:11px}.shell-main :is(.files-detail-meta,.tracking-detail-meta,.issues-detail-meta,.changes-detail-meta) dd{font-size:13px}.shell-main :is(.files-opinion,.files-attachments,.files-ai-review,.files-ai-preview,.issues-block,.changes-block){border-radius:9px}.shell-main :is(.board-view,.issues-board-view){background:0 0;border:0;padding:0 0 18px}.shell-main :is(.board-columns,.issues-board-columns){gap:16px}.shell-main :is(.board-column,.issues-board-column){background:#edf2f4;border:1px solid #e0e8eb;border-radius:10px}.shell-main :is(.board-column-header,.issues-board-column-header){border-bottom:0;padding:16px}.shell-main :is(.board-column-header,.issues-board-column-header) h2{align-items:center;gap:8px;font-size:12px;display:flex}.shell-main :is(.board-column-header,.issues-board-column-header) h2:before{content:"";background:#8ea3ad;border-radius:50%;width:6px;height:6px}.shell-main :is(.board-column-cards,.issues-board-column-cards){gap:12px;padding:0 10px 12px}.shell-main :is(.board-card,.issues-board-card){border:1px solid #e1e8eb;border-radius:8px;box-shadow:0 2px 4px #152d3808}.shell-main :is(.board-card,.issues-board-card):hover{box-shadow:var(--shadow);border-color:#b8cdc9}.shell-main :is(.board-form-dialog-panel,.issues-board-form-panel){box-shadow:var(--shadow-raised);border-radius:14px;max-height:90vh;padding:26px;overflow-y:auto}.shell-main .changes-totals{gap:0;padding:0;overflow:hidden}.shell-main .changes-totals>div{border-right:1px solid var(--line);flex:1;min-width:150px;padding:20px 24px}.shell-main .changes-totals strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.shell-main :is(.knowledge-page,.reports-page){max-width:1440px;margin:0 auto;padding:0}.shell-main .knowledge-tree{border-radius:var(--radius);padding:18px}.shell-main .knowledge-node-line{min-height:42px}.shell-main .knowledge-node-select{border-radius:5px;font-size:13px}.shell-main .knowledge-actions a{border-radius:7px;font-size:12px}.shell-main .reports-section h2{font-size:16px}.shell-main .reports-sources{font-size:10px}.shell-main .reports-section-status{background:var(--surface-muted);border-radius:5px;padding:3px 8px}.shell-main .reports-section-header{margin-bottom:14px}.shell-main .governance{max-width:1440px;margin:0 auto;padding:0}.shell-main .governance__header{box-shadow:none;background:0 0;border:0;margin-bottom:26px;padding:0}.shell-main .governance__kicker,.shell-main .overview__kicker{color:var(--accent);letter-spacing:1px;font-size:10px}.shell-main .governance h1,.shell-main .overview h1{margin-bottom:8px;font-size:25px}.shell-main .governance h2,.shell-main .overview h2{font-size:16px}.shell-main .governance__section{margin-bottom:22px;padding:24px;overflow-x:auto}.shell-main .governance__form,.shell-main .governance__toolbar{gap:14px}.shell-main .governance__confirm{border-radius:9px}.shell-main .overview{max-width:1440px;margin:0 auto}.shell-main .overview__header{margin-bottom:28px}.shell-main .overview__section{margin-bottom:24px}.shell-main :is(.overview__card,.overview__panel,.overview__person,.overview__health){border-radius:var(--radius);padding:24px}.shell-main .overview__card{border-top:3px solid var(--accent);position:relative}.shell-main .overview__counts{border-top:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 14px;margin-top:22px;padding-top:18px}.shell-main .overview__counts dt{color:var(--muted);font-size:11px}.shell-main .overview__counts dd{letter-spacing:-.8px;margin:5px 0 0;font-size:26px;font-weight:600}.shell-main .overview__overdue{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px;overflow:auto}.shell-main .overview__person{margin-bottom:14px;overflow-x:auto}.shell-main .overview__person h3{margin-top:0}.overview__more{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.shell-main .overview__person>button{text-align:left;overflow-wrap:anywhere;max-width:100%}.shell-main .overview :is(.overview__overdue,.overview__person) table{min-width:760px}.shell-main .overview__banner{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:12px 16px}.shell-main .inbox-page{max-width:1440px;margin:0 auto;padding:0}.inbox-row{border-radius:9px;padding:16px 18px;font-size:12px}.inbox-row[data-due-bucket=overdue]{background:#fffaf9;border-color:#ecd5d2}.inbox-row[data-due-bucket=today]{background:#fffcf6;border-color:#ecdfc9}.inbox-type{background:var(--accent-soft);border-radius:5px;width:fit-content;padding:3px 7px;font-size:10px}.inbox-number{font-family:var(--font-mono);font-size:10px}.inbox-title{font-size:12px;font-weight:500}.inbox-drawer{z-index:30;border-left:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-raised);padding:28px}.inbox-drawer h2{font-size:19px}.inbox-drawer dl{margin-top:28px}.inbox-drawer dt{color:var(--muted);font-size:11px}.inbox-drawer dd{margin-left:0;font-size:13px}.inbox-drawer-hint{background:var(--surface-muted);color:var(--muted);border-radius:8px;padding:14px;font-size:12px}.wbs-grid tbody tr.is-alt,.gantt-row-left.is-alt{background:#fafcfc}.wbs-grid th{background:#f1f6f6;font-size:11px;font-weight:500}.wbs-grid td{align-items:center;font-size:12px;display:flex}.wbs-name{font-weight:500}.wbs-progress{background:#e7eeed;height:5px}.gantt-hover{left:calc(var(--sidebar-width) + var(--page-gutter));right:var(--page-gutter)}.wbs-detail,.wbs-edit,.wbs-create,.gantt-hover{box-shadow:var(--shadow-raised)}.gantt-left-head,.gantt-axis{background:#f1f6f6}.gantt-left-head{font-size:11px;font-weight:500}.gantt-axis-cell{color:#657d87;font-size:11px;font-weight:500}.gantt-row-left{font-size:12px}.gantt-scales{border:1px solid var(--line);background:#edf2f3}.gantt-scales button{padding:4px 14px;font-size:11px}@media (width<=760px){.shell-main .overview__counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}.shell-main :is(.files-detail,.tracking-detail,.issues-detail,.changes-detail,.knowledge-detail,.reports-section,.governance__section){padding:18px}.shell-main :is(.files-header,.tracking-header,.issues-header,.changes-header,.reports-header){align-items:flex-start;gap:14px}.inbox-row{grid-template-columns:50px minmax(0,1fr);gap:6px 10px}.inbox-title{grid-area:2/1/auto/-1}.inbox-due{font-size:11px}.files-opinions{grid-template-columns:1fr}.shell-main :is(.files-freshness,.tracking-freshness,.issues-freshness,.changes-freshness){flex-wrap:wrap;gap:6px 12px}.shell-main :is(.tracking-filters,.issues-filters,.changes-filters,.files-filters){width:100%}.shell-main :is(.tracking-filters,.issues-filters,.changes-filters,.files-filters) label{flex:130px;min-width:0}.shell-main :is(.tracking-filters,.issues-filters,.changes-filters,.files-filters) label :is(input,select){width:100%;min-width:0;max-width:100%}.shell-main :is(.files-detail-meta,.tracking-detail-meta,.issues-detail-meta,.changes-detail-meta){grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}}
