:root{color:#24332d;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f5f2;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:1180px;min-height:100vh;margin:0}button{color:inherit;font:inherit}button:focus-visible{outline-offset:2px;outline:2px solid #176b5b}.app-shell{grid-template-columns:72px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:10;background:#0f342c;border-right:1px solid #dce2de;flex-direction:column;align-items:center;height:100vh;padding:17px 0;display:flex;position:sticky;top:0}.brand-mark{color:#fff;border:1px solid #ffffff2e;border-radius:10px;place-items:center;width:38px;height:38px;font-family:DM Mono,monospace;font-size:13px;font-weight:500;display:grid}.sidebar nav{gap:10px;margin-top:62px;display:grid}.nav-button{color:#8eaaa2;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.nav-button:hover,.nav-button--active{color:#fff;background:#ffffff1c}.nav-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px}.nav-button:first-child svg{fill:currentColor;stroke:none}.nav-settings{margin-top:auto}.workspace{min-width:0}.topbar{background:#ffffffeb;border-bottom:1px solid #dce2de;align-items:center;height:65px;padding:0 27px;display:flex}.project-switcher{align-items:center;gap:11px;min-width:280px;display:flex}.project-avatar{color:#fff;background:#247262;border-radius:7px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.project-switcher strong,.project-switcher small{display:block}.project-switcher strong{font-size:13px;font-weight:600}.project-switcher small{color:#84918c;margin-top:2px;font-size:10px}.chevron{color:#87948f;margin-left:5px}.topbar-meta{border-left:1px solid #e3e8e5;align-items:center;gap:10px;margin-left:6px;padding-left:25px;display:flex}.topbar-meta span{color:#8a9691;letter-spacing:.08em;font-family:DM Mono,monospace;font-size:9px}.topbar-meta strong{font-size:12px;font-weight:600}.saved-state{color:#77857f;align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.saved-state span{background:#d3944b;border-radius:50%;width:6px;height:6px}.avatar-button{color:#315047;background:#dce9e3;border:0;border-radius:50%;width:32px;height:32px;margin-left:22px;font-size:10px;font-weight:700}.content{padding:22px 27px 28px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:19px;display:flex}.breadcrumb{color:#88958f;letter-spacing:.08em;margin:0 0 6px;font-family:DM Mono,monospace;font-size:9px}h1,h2,p{margin-top:0}h1{color:#173c32;letter-spacing:-.035em;margin-bottom:0;font-size:25px;font-weight:600}.mode-switch{background:#fff;border:1px solid #d6ddd9;border-radius:8px;padding:3px;display:flex}.heading-actions{align-items:center;gap:12px;display:flex}.publish-button{color:#17483f;background:#fff;border:1px solid #bfd0c9;border-radius:7px;padding:9px 13px;font-weight:650}.publish-button:disabled{opacity:.45;cursor:not-allowed}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#092a2361;place-items:center;display:grid;position:fixed;inset:0}.baseline-dialog{background:#fff;border-radius:12px;width:min(460px,100vw - 32px);padding:26px;box-shadow:0 24px 80px #06211b47}.baseline-dialog h2{color:#173f36;margin:7px 0 8px}.baseline-dialog p{color:#66756f;margin:0 0 20px;line-height:1.5}.baseline-dialog label{color:#31534b;gap:7px;font-size:12px;font-weight:700;display:grid}.baseline-dialog input{color:#173f36;font:inherit;border:1px solid #bdccc7;border-radius:7px;padding:10px 11px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.load-gate{text-align:center;background:#fff;border:1px solid #dce2de;border-radius:9px;align-content:center;justify-items:center;min-height:420px;padding:30px;display:grid}.load-gate h2{color:#173f36;margin:9px 0 7px}.load-gate p{color:#6f7d77;max-width:520px;line-height:1.55}.load-gate .primary-button{color:#fff;background:#1b6859;border:0;border-radius:7px;padding:10px 15px;font-weight:650}.mode-switch button{color:#77847f;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 16px;font-size:11px;font-weight:600}.mode-switch button.active{color:#fff;background:#1d6859;box-shadow:0 1px 2px #0a332a26}.notice{color:#7d3f31;background:#fff4ef;border:1px solid #e8c8bd;border-radius:8px;align-items:center;gap:12px;margin:-6px 0 14px;padding:9px 12px;font-size:11px;display:flex}.notice strong{font-weight:700}.notice button{cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:16px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px;display:grid}.metric-card{background:#fff;border:1px solid #dce2de;border-radius:9px;min-height:91px;padding:13px 15px}.metric-label{color:#7c8984;letter-spacing:.06em;justify-content:space-between;align-items:center;font-family:DM Mono,monospace;font-size:9px;display:flex}.metric-dot{background:#9eaaa5;border-radius:50%;width:6px;height:6px}.metric-card strong{color:#213a32;letter-spacing:-.05em;margin-top:8px;font-family:DM Mono,monospace;font-size:22px;font-weight:500;display:block}.metric-card small{color:#84918c;margin-top:4px;font-size:10px;display:block}.metric-card--risk .metric-dot{background:#d36d4d}.metric-card--risk small{color:#b65c41}.metric-card--good .metric-dot{background:#3d9f7b}.workspace-grid{grid-template-columns:minmax(0,1fr);gap:13px;min-height:510px;display:grid}.grid-panel,.performance-card,.task-detail{background:#fff;border:1px solid #dce2de;border-radius:9px;overflow:hidden}.grid-panel{flex-direction:column;min-width:0;min-height:510px;display:flex}.grid-toolbar{border-bottom:1px solid #e1e6e3;justify-content:space-between;align-items:center;min-height:58px;padding:0 14px 0 17px;display:flex}.grid-toolbar h2,.panel-heading h2{color:#203d34;margin:0;font-size:13px;font-weight:650}.grid-toolbar>div>span{color:#8a9691;margin-top:3px;font-size:9px;display:block}.toolbar-actions{align-items:center;gap:7px;display:flex}.toolbar-actions button{color:#5c6c66;cursor:pointer;background:#fff;border:1px solid #d5dcd8;border-radius:6px;min-height:30px;padding:0 10px;font-size:10px;font-weight:600}.toolbar-actions button:disabled{cursor:not-allowed;opacity:.45}.toolbar-actions .primary-button{color:#fff;background:#1b6859;border-color:#1b6859}.critical-path-ribbon{background:#fff9f6;border-bottom:1px solid #e1e6e3;align-items:center;gap:14px;min-height:54px;padding:7px 14px 7px 17px;display:flex}.critical-path-ribbon>div:first-child{flex:none;gap:2px;display:grid}.critical-path-ribbon>div:first-child span{color:#bc6549;letter-spacing:.08em;font:8px DM Mono,monospace}.critical-path-ribbon>div:first-child strong{color:#6f4d43;font-size:10px}.critical-path-links{scrollbar-width:thin;gap:6px;min-width:0;display:flex;overflow-x:auto}.critical-path-links button{color:#804b3c;cursor:pointer;background:#fff;border:1px solid #edc6ba;border-radius:7px;flex:none;align-items:center;gap:5px;min-height:30px;padding:0 8px;font-size:10px;display:flex}.critical-path-links button:hover{background:#fff4ef;border-color:#d87352}.critical-path-links button small{color:#a05a45;background:#fbe9e3;border-radius:4px;padding:2px 4px;font:8px DM Mono,monospace}.primary-button span{margin-right:4px;font-size:14px}.readonly-pill,.status-pill,.critical-pill{border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700}.readonly-pill{color:#66736e;background:#eef1ef}.grid-wrap{flex:1;min-height:0}.ag-root-wrapper{border:0!important}.ag-header-cell-text{letter-spacing:.035em;text-transform:uppercase}.ag-cell.editable-cell{background:#fff}.ag-cell.calculated-cell{color:#5d6a65;background:#f8faf8}.ag-cell.numeric-cell{font-variant-numeric:tabular-nums;font-family:DM Mono,monospace;font-size:11px}.ag-cell.task-name-cell{color:#203d34;font-weight:550}.ag-cell.task-id-cell{color:#176b5b;font:700 10px DM Mono,monospace}.ag-cell.dependency-cell{color:#6f5b55;font:9px DM Mono,monospace}.ag-row.critical-row:before{z-index:2;content:"";background:#d87352;width:3px;height:100%;position:absolute}.ag-row.constraint-violation-row{box-shadow:inset 0 0 0 1px #e8a08a}.ag-cell.hierarchy-cell{color:#65756f;font-size:11px}.ag-cell.constraint-cell{font-family:DM Mono,monospace;font-size:10px}.ag-cell.assignment-cell{color:#1b6859;font-family:DM Mono,monospace;font-size:10px}.ag-cell.variance-cell--risk{color:#b65c41;background:#fff7f3}.gantt-header{align-content:center;gap:2px;width:100%;height:100%;display:grid}.gantt-header>strong{color:#64736d;letter-spacing:.035em;text-transform:uppercase;font-size:10px}.gantt-header>div{color:#8b9792;justify-content:space-between;font:8px DM Mono,monospace;display:flex}.ag-cell.gantt-column{background:#fbfcfb;padding:0}.gantt-cell{width:100%;height:100%;position:relative;overflow:hidden}.gantt-gridline,.gantt-status{background:#e5eae7;width:1px;height:100%;position:absolute;top:0}.gantt-status{z-index:2;opacity:.7;background:#d38348;width:2px}.gantt-bar{background:#d9ebe5;border:1px solid #72a99a;border-radius:4px;min-width:4px;height:18px;position:absolute;top:12px;overflow:hidden}.gantt-bar>i{opacity:.82;background:#2f7f6d;height:100%;display:block}.gantt-bar--critical{background:#f5dcd3;border-color:#d87352}.gantt-bar--critical>i{background:#c86041}.team-workload{gap:14px;display:grid}.mode-switch--hidden{visibility:hidden}.performance-workspace{gap:14px;display:grid}.performance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.performance-layout{grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr);align-items:start;gap:14px;display:grid}.trend-card,.variance-card{background:#fff;border:1px solid #dce2de;border-radius:9px;padding:20px}.trend-card header,.variance-card header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.trend-card h2,.variance-card h2{color:#203d34;margin:5px 0 0;font-size:15px}.trend-legend{color:#6f7d77;flex-wrap:wrap;gap:13px;font-size:9px;display:flex}.trend-legend span{align-items:center;gap:5px;display:flex}.trend-legend i{border-radius:50%;width:8px;height:8px}.trend-card svg{width:100%;margin-top:18px;display:block;overflow:visible}.trend-card svg text{fill:#87938e;font-family:DM Mono,monospace;font-size:8px}.trend-gridline{stroke:#e8ece9;stroke-width:1px;stroke-dasharray:3 5}.variance-table{margin-top:18px;display:grid}.variance-table__header,.variance-table__row{grid-template-columns:minmax(0,1fr) 76px 76px;align-items:center;gap:10px;display:grid}.variance-table__header{color:#87938e;text-transform:uppercase;border-bottom:1px solid #e3e8e5;padding:0 4px 9px;font-family:DM Mono,monospace;font-size:8px}.variance-table__header span:not(:first-child),.variance-table__row>span:not(:first-child){text-align:right}.variance-table__row{color:#53635c;border-bottom:1px solid #edf0ee;min-height:54px;padding:7px 4px;font-family:DM Mono,monospace;font-size:9px}.variance-table__row>span:first-child{text-overflow:ellipsis;white-space:nowrap;gap:3px;min-width:0;display:grid;overflow:hidden}.variance-table__row strong{color:#1f6656;font-size:8px}.team-summary{background:#fff;border:1px solid #dce2de;border-radius:9px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.team-summary div{padding:16px 18px}.team-summary div+div{border-left:1px solid #e1e6e3}.team-summary span,.team-summary strong{display:block}.team-summary span{color:#84918c;letter-spacing:.06em;font-family:DM Mono,monospace;font-size:8px}.team-summary strong{color:#203d34;margin-top:6px;font-family:DM Mono,monospace;font-size:20px;font-weight:500}.resource-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.resource-card{background:#fff;border:1px solid #dce2de;border-radius:9px;padding:17px}.resource-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.resource-card h2,.resource-card p{margin:0}.resource-card h2{color:#203d34;margin-top:3px;font-size:14px}.resource-card p,.resource-id{color:#87938e;font-size:9px}.resource-card p{margin-top:5px}.resource-id{font-family:DM Mono,monospace}.load-pill{color:#26745f;white-space:nowrap;background:#e9f4ef;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700}.load-pill--risk{color:#a24e38;background:#fff0ea}.risk-text{color:#b65c41!important}.resource-meta{color:#68766f;border-block:1px solid #e7ebe9;flex-wrap:wrap;gap:6px 12px;margin-block:15px;padding-block:10px;font-family:DM Mono,monospace;font-size:8px;display:flex}.load-days{gap:8px;display:grid}.load-day{grid-template-columns:44px 1fr 36px;align-items:center;gap:8px;display:grid}.load-day>span,.load-day>strong{color:#75827d;font-family:DM Mono,monospace;font-size:8px;font-weight:500}.load-day>strong{text-align:right}.load-day>div{background:#edf1ef;border-radius:99px;height:7px;overflow:hidden}.load-bar{border-radius:inherit;background:#2a806d;height:100%;display:block}.load-bar--risk{background:#d87352}.resource-card footer{color:#87938e;margin-top:14px;font-size:9px;line-height:1.5}.grid-footer{color:#87938e;border-top:1px solid #e3e8e5;align-items:center;gap:17px;min-height:35px;padding:0 13px;font-size:9px;display:flex}.grid-footer span:last-child{margin-left:auto}.grid-footer i{vertical-align:-1px;border:1px solid #d8dfdb;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.calculated-key{background:#f1f4f2}.insight-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0;display:grid}.performance-card,.task-detail{padding:17px}.panel-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-kicker{color:#8a9691;letter-spacing:.07em;margin-bottom:5px;font-family:DM Mono,monospace;font-size:8px;display:block}.status-pill{color:#26745f;background:#e9f4ef}.critical-pill{color:#a24e38;background:#fff0ea}.performance-bars{gap:18px;margin-top:27px;display:grid}.performance-row{grid-template-columns:47px minmax(60px,1fr) 75px;align-items:center;gap:10px;display:grid}.performance-label span,.performance-label small{display:block}.performance-label span{color:#29463d;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.performance-label small{color:#919c98;white-space:nowrap;margin-top:2px;font-size:7px}.bar-track{background:#edf1ef;border-radius:99px;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;height:100%;display:block}.performance-row>strong{color:#3f524b;text-align:right;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.budget-marker{color:#8c9793;align-items:center;gap:7px;margin:18px 0 16px 57px;display:flex}.budget-marker span{border-top:1px dashed #aab4b0;width:17px}.budget-marker small{font-family:DM Mono,monospace;font-size:8px}.variance-grid{border-top:1px solid #e6eae8;grid-template-columns:1fr 1fr;padding-top:14px;display:grid}.variance-grid div+div{border-left:1px solid #e5e9e7;padding-left:15px}.variance-grid span,.variance-grid strong{display:block}.variance-grid span{color:#89958f;font-size:8px}.variance-grid strong{color:#af5c43;margin-top:4px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.task-detail h2{max-width:200px;line-height:1.35}.empty-detail{color:#8a9691;margin:25px 0 0;font-size:11px;line-height:1.5}.constraint-warning{color:#94462f;background:#fff4ef;border:1px solid #f0c2b4;border-radius:6px;margin:16px 0 0;padding:8px 9px;font-size:9px;line-height:1.45}.detail-grid{grid-template-columns:1fr 1fr;gap:15px 12px;margin:22px 0 0;display:grid}.detail-grid div{min-width:0}.detail-grid .detail-grid--wide{grid-column:1/-1}.detail-grid dt{color:#8a9691;text-transform:uppercase;margin-bottom:5px;font-size:8px}.detail-grid dd{color:#3b5048;margin:0;font-family:DM Mono,monospace;font-size:9px;line-height:1.45}.scenario-workspace{gap:14px;display:grid}.scenario-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.scenario-heading h2{color:#173c32;margin:4px 0;font-size:24px}.scenario-heading p{color:#71807a;margin:0}.scenario-safety{color:#8a6629;background:#fff3d9;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:650}.scenario-create{gap:8px;display:flex}.scenario-create input{border:1px solid #d4ddd8;border-radius:7px;min-width:220px;padding:9px 11px}.scenario-layout{grid-template-columns:220px minmax(0,1fr);gap:13px;min-width:0;display:grid}.scenario-list,.scenario-main{background:#fff;border:1px solid #dce2de;border-radius:9px}.scenario-list{flex-direction:column;gap:6px;min-height:580px;padding:9px;display:flex}.scenario-list button{color:#496059;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:11px}.scenario-list button.active{color:#17483f;background:#e8f2ee}.scenario-list strong,.scenario-list span{display:block}.scenario-list span{color:#7f8c87;text-transform:uppercase;margin-top:4px;font-size:9px}.scenario-list p{color:#73817c;padding:12px;font-size:12px;line-height:1.5}.scenario-load-state{text-align:center;background:#fff;border:1px solid #dce2de;border-radius:9px;place-content:center;justify-items:center;min-height:260px;padding:28px;display:grid}.scenario-load-state strong{color:#24483e;font-size:16px}.scenario-load-state p{color:#71807a;max-width:470px;line-height:1.55}.scenario-main{min-width:0;overflow:hidden}.scenario-banner{border-bottom:1px solid #e0e6e2;justify-content:space-between;align-items:center;min-height:62px;padding:10px 16px;display:flex}.scenario-banner strong,.scenario-banner span{display:block}.scenario-banner span{color:#7b8984;margin-top:3px;font-size:10px}.scenario-metrics{border-bottom:1px solid #e0e6e2;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.scenario-metric{border-right:1px solid #e0e6e2;gap:4px;min-width:0;padding:14px;display:grid}.scenario-metric:last-child{border-right:0}.scenario-metric>span{color:#81908a;font:9px DM Mono,monospace}.scenario-metric strong{color:#173c32;font:19px DM Mono,monospace}.scenario-metric small{color:#688078}.scenario-metric--risk small{color:#c65137}.scenario-summary{color:#75837e;border-bottom:1px solid #e0e6e2;flex-wrap:wrap;gap:18px;padding:10px 16px;font-size:10px;display:flex}.scenario-summary strong{color:#24463c}.scenario-table-wrap{max-height:390px;overflow:auto}.scenario-table{border-collapse:collapse;width:100%;font-size:11px}.scenario-table th{color:#71807a;text-align:left;text-transform:uppercase;background:#f7f9f7;font-size:9px;position:sticky;top:0}.scenario-table th,.scenario-table td{white-space:nowrap;border-bottom:1px solid #e3e8e5;padding:9px 11px}.scenario-table input{border:1px solid #d4ddd8;border-radius:5px;width:110px;padding:6px 7px}.scenario-change-review{border-top:1px solid #e0e6e2;padding:13px 16px}.scenario-change-review h3{color:#294b41;margin:0 0 8px;font-size:11px}.scenario-change-review p,.scenario-change-review ul,.scenario-dialog-changes{color:#687b74;margin:0;font:10px/1.55 DM Mono,monospace}.scenario-change-review ul,.scenario-dialog-changes{max-height:150px;padding-left:20px;overflow:auto}.scenario-dialog-changes{text-align:left;margin:14px 0}.scenario-actions{color:#77857f;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;font-size:10px;display:flex}.scenario-actions div{gap:7px;display:flex}.scenario-actions button,.primary-button{cursor:pointer;background:#fff;border:1px solid #cad5d0;border-radius:6px;padding:8px 11px;font-size:10px;font-weight:650}.scenario-actions .primary-button,.scenario-create .primary-button{color:#fff;background:#1b6859;border-color:#1b6859}.scenario-actions button:disabled,.scenario-create button:disabled{cursor:not-allowed;opacity:.45}.staffing-workspace{gap:14px;display:grid}.staffing-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.staffing-heading h2,.staffing-unavailable h2{color:#173c32;margin:4px 0;font-size:24px}.staffing-heading p,.staffing-unavailable p{color:#71807a;max-width:760px;margin:0;line-height:1.55}.staffing-unavailable{text-align:center;background:#fff;border:1px solid #dce2de;border-radius:10px;place-content:center;justify-items:center;min-height:360px;padding:32px;display:grid}.staffing-layout{grid-template-columns:220px minmax(0,1fr);gap:13px;min-width:0;display:grid}.staffing-list,.staffing-form-card,.staffing-result,.staffing-empty{background:#fff;border:1px solid #dce2de;border-radius:9px}.staffing-list{flex-direction:column;gap:6px;min-height:720px;padding:9px;display:flex}.staffing-list-heading{color:#31544a;justify-content:space-between;align-items:center;padding:7px 10px;font-size:11px;display:flex}.staffing-list-heading span{background:#edf3f0;border-radius:99px;padding:3px 7px}.staffing-list>button{color:#496059;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:11px}.staffing-list>button.active{color:#17483f;background:#e8f2ee}.staffing-list>button strong,.staffing-list>button span{display:block}.staffing-list>button span{color:#7f8c87;text-transform:uppercase;margin-top:4px;font-size:9px}.staffing-list>p{color:#73817c;padding:12px;font-size:11px;line-height:1.5}.staffing-content{gap:13px;min-width:0;display:grid}.staffing-form-card>header,.staffing-result>header{border-bottom:1px solid #e0e6e2;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.staffing-form-card h3,.staffing-result h3{color:#24483e;margin:3px 0;font-size:18px}.staffing-result header p{color:#788680;margin:3px 0 0;font-size:10px}.staffing-form-card>header input{min-width:240px}.staffing-form-card input,.staffing-form-card select{color:#29443c;background:#fff;border:1px solid #d4ddd8;border-radius:6px;min-width:0;padding:7px 8px}.staffing-effort-table{overflow-x:auto}.staffing-effort-header,.staffing-effort-row{border-bottom:1px solid #e5eae7;grid-template-columns:minmax(230px,1fr) 145px 110px 170px;align-items:center;gap:12px;min-width:760px;padding:9px 16px;display:grid}.staffing-effort-header{color:#7b8984;text-transform:uppercase;background:#f7f9f7;font:9px DM Mono,monospace}.staffing-effort-row>span strong,.staffing-effort-row>span small{display:block}.staffing-effort-row>span strong{color:#294b41;font-size:11px}.staffing-effort-row>span small{color:#80908a;margin-top:3px;font-size:9px}.staffing-effort-row label{color:#6e7d78;align-items:center;gap:5px;font-size:10px;display:flex}.staffing-effort-row input[type=number]{width:92px}.staffing-confirm{font:9px DM Mono,monospace!important}.staffing-constraints{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 16px;display:grid}.staffing-constraints label{color:#667872;text-transform:uppercase;gap:5px;font-size:9px;display:grid}.staffing-form-split{border-top:1px solid #e0e6e2;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:16px;padding:14px 16px;display:grid}.staffing-form-split h4,.staffing-verified h4,.staffing-ai h4,.staffing-diff h4,.staffing-infeasible h4{color:#2c4e44;margin:0 0 9px;font-size:11px}.staffing-objectives{gap:5px;margin:0;padding:0;list-style:none;display:grid}.staffing-objectives li{color:#50645d;border:1px solid #e1e7e3;border-radius:6px;grid-template-columns:24px 1fr 28px 28px;align-items:center;gap:5px;padding:6px;font-size:10px;display:grid}.staffing-objectives li>span{color:#fff;background:#317261;border-radius:50%;place-content:center;width:20px;height:20px;display:grid}.staffing-objectives button,.staffing-candidates button{cursor:pointer;background:#fff;border:1px solid #d4ddd8;border-radius:5px}.staffing-candidates>div{grid-template-columns:1.2fr 1fr .7fr .9fr 1fr auto;gap:6px;display:grid}.staffing-candidates>p{color:#688078;background:#f3f7f5;border-radius:6px;align-items:center;gap:10px;margin:7px 0 0;padding:6px 8px;font-size:9px;display:flex}.staffing-candidates>p span{flex:1}.staffing-form-card>footer,.staffing-result>footer{color:#77857f;border-top:1px solid #e0e6e2;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;font-size:10px;display:flex}.staffing-form-card button:disabled,.staffing-result button:disabled{cursor:not-allowed;opacity:.45}.staffing-empty{color:#73817c;place-content:center;justify-items:center;min-height:220px;display:grid}.staffing-empty p{margin:5px 0}.staffing-status{border-radius:99px;padding:6px 10px;font:9px DM Mono,monospace}.staffing-status--ready{color:#14604f;background:#dff2eb}.staffing-status--infeasible,.staffing-status--failed{color:#a44731;background:#fde8df}.staffing-status--requested,.staffing-status--running,.staffing-status--unknown{color:#816224;background:#fff0cf}.staffing-status-grid,.staffing-verified>div{border-bottom:1px solid #e0e6e2;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.staffing-status-grid article,.staffing-verified article{border-right:1px solid #e0e6e2;gap:4px;padding:12px 14px;display:grid}.staffing-status-grid span,.staffing-verified article span{color:#81908a;font:8px DM Mono,monospace}.staffing-status-grid strong{color:#315047;text-overflow:ellipsis;font-size:10px;overflow:hidden}.staffing-verified{border-bottom:1px solid #e0e6e2}.staffing-verified>header{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.staffing-verified>header h4{margin:3px 0 0}.staffing-verified>header>span{color:#176b5b;font-size:9px}.staffing-verified>div{border:0;grid-template-columns:repeat(6,minmax(0,1fr))}.staffing-verified article strong{color:#173c32;font:15px DM Mono,monospace}.staffing-ai{background:#faf8fe;border-left:4px solid #8068a8;padding:14px 16px}.staffing-ai h4{margin-top:5px}.staffing-ai ul,.staffing-diff ol,.staffing-infeasible ul{color:#667872;font-size:10px;line-height:1.6}.staffing-ai small{color:#806f8d}.staffing-diff,.staffing-infeasible,.staffing-pending{border-top:1px solid #e0e6e2;padding:14px 16px}.staffing-diff ol{max-height:180px;font-family:DM Mono,monospace;overflow:auto}.staffing-infeasible{color:#774c40;background:#fffaf7}.staffing-infeasible p,.staffing-pending p{color:#71807a;font-size:10px}@media (width<=1250px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.metric-card{padding-inline:12px}.metric-card strong{font-size:19px}}.forecast-panel{background:linear-gradient(145deg,#f8fbfd 0%,#f1f7f7 100%);border:1px solid #d8e1e8;border-radius:16px;margin:24px 0;padding:22px}.forecast-heading,.forecast-run-row,.forecast-result-meta{justify-content:space-between;align-items:center;gap:18px;display:flex}.forecast-heading h3{margin:4px 0;font-size:22px}.forecast-heading p{color:#52636e;max-width:720px;margin:0}.forecast-revisions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.forecast-revisions span{color:#3b5558;background:#e4efef;border-radius:999px;padding:7px 10px;font-size:12px}.forecast-revisions strong{color:#17383b;margin-left:4px}.forecast-message{color:#245140;background:#e5f1ec;border-radius:9px;margin-top:14px;padding:10px 12px}.forecast-estimates-wrap{margin-top:18px;overflow-x:auto}.forecast-estimates{border-collapse:collapse;width:100%;min-width:720px}.forecast-estimates th{color:#64757f;letter-spacing:.05em;text-align:left;text-transform:uppercase;border-bottom:1px solid #cbd8dd;padding:9px 8px;font-size:11px}.forecast-estimates td{border-bottom:1px solid #e0e7ea;padding:8px}.forecast-estimates input{width:100%;min-width:110px}.forecast-controls{grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;margin-top:18px;display:grid}.forecast-controls label{color:#5e6e77;letter-spacing:.04em;text-transform:uppercase;gap:5px;font-size:11px;font-weight:700;display:grid}.forecast-controls input{width:100%}.forecast-confirmation{color:#41545e;align-items:center;gap:8px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.forecast-confirmation input{width:auto}.forecast-correlation-toggle>label{align-items:center;gap:6px;display:flex}.forecast-correlation-toggle>label input{width:auto}.forecast-run-row{border-top:1px solid #d7e1e5;margin-top:18px;padding-top:16px}.forecast-run-row>div{gap:3px;display:grid}.forecast-run-row span{color:#697982;font-size:12px}.forecast-error{color:#913f35;background:#fff0ed;border-radius:9px;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.forecast-results{margin-top:18px}.forecast-result-meta{color:#5f7079;flex-wrap:wrap;justify-content:flex-start;margin:12px 0;font-size:12px}.forecast-result-meta span{border-right:1px solid #cfdadd;padding-right:14px}.forecast-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.forecast-chart{background:#fff;border:1px solid #d8e2e6;border-radius:11px;margin:0;padding:12px}.forecast-chart figcaption{color:#334d50;margin-bottom:6px;font-size:13px;font-weight:700}.forecast-chart svg{width:100%;height:auto;display:block}.forecast-chart rect{fill:#2e7d77}.forecast-chart line{stroke:#9badb2;stroke-width:1px}.forecast-chart-range{color:#64757f;justify-content:space-between;gap:10px;font-size:11px;display:flex}@media (width<=900px){body{min-width:0;padding-bottom:58px}.app-shell{display:block}.sidebar{border:0;border-top:1px solid #ffffff24;flex-direction:row;justify-content:center;width:100%;height:58px;padding:0 12px;position:fixed;inset:auto 0 0}.brand-mark,.nav-settings{display:none}.sidebar nav{gap:16px;margin:0;display:flex}.topbar{flex-wrap:wrap;gap:8px 16px;height:auto;min-height:64px;padding:10px 16px}.project-switcher{flex:260px;min-width:0}.topbar-meta{border:0;margin:0;padding:0}.saved-state{margin-left:0}.avatar-button{margin-left:auto}.content{padding:18px 16px 24px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}.heading-actions{justify-content:space-between;width:100%}.metric-grid,.performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid,.performance-layout{grid-template-columns:minmax(0,1fr)}.workspace-grid{min-height:0}.grid-panel{min-height:520px}.insight-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid-toolbar{gap:10px;padding-block:10px}.scenario-layout{grid-template-columns:minmax(0,1fr)}.scenario-list{flex-direction:row;min-height:0;overflow-x:auto}.scenario-list button{min-width:170px}.scenario-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.staffing-layout{grid-template-columns:minmax(0,1fr)}.staffing-list{flex-direction:row;min-height:0;overflow-x:auto}.staffing-list-heading{min-width:120px}.staffing-list>button{min-width:180px}.staffing-form-split{grid-template-columns:minmax(0,1fr)}.staffing-verified>div{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-charts{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.topbar-meta,.avatar-button{display:none}.saved-state{flex:1 0 100%}.metric-grid,.performance-summary,.insight-column{grid-template-columns:minmax(0,1fr)}.heading-actions,.grid-toolbar{flex-direction:column;align-items:stretch}.mode-switch{width:100%}.mode-switch button{flex:1}.publish-button{width:100%}.grid-toolbar>div:first-child>span{display:none}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.workspace-grid,.grid-panel{width:calc(100vw - 32px);max-width:calc(100vw - 32px);display:block}.grid-wrap{width:100%;max-width:100%;overflow:hidden}.critical-path-ribbon{flex-direction:column;align-items:stretch}.grid-footer span:not(.gantt-hint){display:none}.grid-footer .gantt-hint{margin-left:0}.trend-card,.variance-card{padding:15px}.trend-card header,.variance-card header{flex-direction:column}.scenario-heading,.scenario-actions{flex-direction:column;align-items:stretch}.scenario-create{flex-direction:column}.scenario-create input{width:100%;min-width:0}.scenario-metrics{grid-template-columns:minmax(0,1fr)}.scenario-metric{border-bottom:1px solid #e0e6e2;border-right:0}.scenario-actions div{flex-wrap:wrap}.staffing-heading,.staffing-form-card>header,.staffing-result>header,.staffing-form-card>footer,.staffing-result>footer{flex-direction:column;align-items:stretch}.staffing-form-card>header input{width:100%;min-width:0}.staffing-constraints,.staffing-status-grid,.staffing-verified>div,.staffing-candidates>div{grid-template-columns:minmax(0,1fr)}.forecast-heading,.forecast-run-row{flex-direction:column;align-items:stretch}.forecast-revisions{justify-content:flex-start}}
