:root{--background:#f5f7fa;--surface:#fff;--surface-muted:#eef3f8;--surface-strong:#dfe8f1;--text:#17212f;--text-muted:#617086;--border:#d7e0ea;--accent:#c63a40;--accent-soft:#fbe8ea;--success:#197b53;--success-soft:#e2f5ee;--warning:#9a5a00;--warning-soft:#fff1d6;--danger:#ad2e2e;--danger-soft:#fde7e7;--info:#246178;--info-soft:#e3f4f8;--swiss-red:#c63a40;--swiss-red-dark:#b53035;--swiss-red-soft:#d85a5f;--shadow:0 20px 45px #17212f14}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.app-frame{grid-template-columns:236px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-frame.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-sidebar{background:linear-gradient(180deg, var(--swiss-red), var(--swiss-red-dark));color:var(--surface);border-right:1px solid #a92c31;min-height:100vh;padding:18px 12px;position:sticky;top:0}.sidebar-collapse{color:var(--surface);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:16px;font-weight:800;display:inline-flex}.sidebar-brand{border-bottom:1px solid #ffffff2e;gap:3px;margin-bottom:14px;padding:0 6px 14px;display:grid}.sidebar-brand span{letter-spacing:0;font-size:1rem;font-weight:860}.sidebar-brand strong,.sidebar-brand small{color:#ffe5e8;font-size:.72rem;font-weight:650;line-height:1.25}.sidebar-brand small{color:#ffffffb8}.sidebar-nav{gap:8px;display:grid}.sidebar-link{color:#ffe6e9;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:5px 8px;display:grid;position:relative}.sidebar-link[aria-current=page]{background:var(--swiss-red-soft);color:var(--surface);border-color:#ffffff57}.sidebar-link:hover{background:var(--swiss-red-dark);border-color:#fff3}.sidebar-link-disabled{cursor:not-allowed;opacity:.62}.sidebar-icon{background:#ffffff1f;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:850;display:inline-flex}.sidebar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;font-weight:700;overflow:hidden}.coming-soon{color:#dbe5f2;background:#ffffff1a;border-radius:999px;grid-column:2;width:max-content;padding:3px 7px;font-size:.66rem;font-weight:750}.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-brand strong,.sidebar-collapsed .sidebar-brand small,.sidebar-collapsed .coming-soon{display:none}.sidebar-collapsed .sidebar-brand{justify-items:center;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-link{grid-template-columns:34px;justify-content:center}.shell{width:min(1480px,100% - 40px);margin:0 auto;padding:28px 0 40px}.page-header{margin-bottom:18px}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:750}h1{letter-spacing:0;margin:0;font-size:clamp(1.42rem,1.8vw,2rem);line-height:1.1}.summary-strip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(5,minmax(108px,1fr));align-items:stretch;min-width:min(100%,700px);display:grid;overflow:hidden}.portfolio-summary-strip{width:100%;min-width:0;margin-bottom:18px}.summary-strip div{color:var(--text-muted);gap:4px;min-height:70px;padding:13px 16px;display:grid}.summary-strip div+div{border-left:1px solid var(--border)}.summary-strip span{color:var(--text);font-size:1.25rem;font-weight:780}.capacity-summary-strip{width:100%;min-width:0;margin-bottom:18px}.operational-summary-strip{grid-template-columns:repeat(9,minmax(108px,1fr));width:100%;min-width:0;margin-bottom:18px}.operational-history-summary-strip{grid-template-columns:repeat(6,minmax(120px,1fr));width:100%;min-width:0;margin-bottom:18px}.filter-bar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:end;gap:14px;margin-bottom:18px;padding:16px;display:grid}.filter-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:18px;overflow:hidden}.capacity-filter-panel{z-index:25;position:relative;overflow:visible}.operational-filter-panel{z-index:24;position:relative;overflow:visible}.filter-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:50px;padding:0 16px;display:flex}.filter-panel-header h2{margin:0;font-size:1rem}.filter-panel-header button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-height:34px;padding:0 12px}.filter-panel .filter-bar{box-shadow:none;border:0;border-radius:0;margin-bottom:0}.capacity-filter-bar{gap:12px;padding:16px;display:grid}.capacity-filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.capacity-filter-footer{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:14px;display:grid}.capacity-filter-footer .quick-search-field{grid-column:auto}.operational-filter-grid{grid-template-columns:minmax(220px,1.8fr) repeat(2,minmax(150px,1fr)) auto;gap:14px;display:grid}.filter-field{gap:6px;min-width:0;display:grid}.filter-field label{color:var(--text-muted);font-size:.75rem;font-weight:700}.filter-field select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%) right 16px center / 6px 6px no-repeat, linear-gradient(135deg, var(--text-muted) 50%, transparent 50%) right 12px center / 6px 6px no-repeat, var(--surface-muted);border:1px solid var(--border);color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;min-width:0;height:38px;padding:0 32px 0 11px;overflow:hidden}.filter-field input[type=date],.capacity-filter-actions button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:6px;min-width:0;height:38px;padding:0 11px}.filter-field select[multiple]{background:var(--surface-muted);white-space:normal;height:92px;padding:7px 9px}.capacity-filter-actions{justify-content:flex-end;align-self:end;gap:8px;display:flex}.capacity-filter-actions button{cursor:pointer;font-weight:700}.capacity-filter-actions button:first-child{background:var(--text);border-color:var(--text);color:var(--surface)}.capacity-filter-actions button:disabled{cursor:wait;opacity:.65}.capacity-filter-chips{flex-wrap:wrap;gap:8px;display:flex}.capacity-filter-chips button{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:1px solid #f0bcc1;border-radius:999px;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:750}.professional-select{position:relative}.professional-select-control{color:var(--text);cursor:pointer;text-align:left;background:#f7f9fb;border:1px solid #cfd8e3;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;min-height:38px;padding:5px 9px;display:flex}.professional-select-control:hover{background:#f1f5f9;border-color:#b8c4d3}.professional-select-value{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.professional-select-placeholder{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.professional-select-token{color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:#ebf1f7;border:1px solid #d7e0ea;border-radius:4px;justify-content:center;align-items:center;max-width:100%;min-height:22px;padding:2px 6px;font-size:.76rem;font-weight:650;line-height:1.2;display:inline-flex;overflow:hidden}.professional-select-chevron{color:var(--text-muted);flex:none;font-size:.76rem;font-weight:800}.professional-select-menu{background:var(--surface);border:1px solid var(--border);z-index:80;border-radius:8px;gap:8px;min-width:min(360px,90vw);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 32px #17212f29}.professional-select-menu input[type=search]{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;height:34px;padding:0 10px}.professional-select-options{overscroll-behavior:contain;gap:4px;max-height:260px;padding-right:2px;display:grid;overflow-y:auto}.professional-select-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;font-size:.84rem;font-weight:500;line-height:1.35;display:flex}.professional-select-option:hover{background:#fff1f2}.professional-select-option[aria-selected=true]{background:#fde8ea}.professional-select-option input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:0}.professional-select-option span{white-space:normal;overflow-wrap:break-word;min-width:0;line-height:1.35}.professional-select-options p{color:var(--text-muted);margin:0;padding:8px 6px;font-size:.82rem}.quick-search-field{grid-column:1/span 7}.quick-search-field input{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:6px;min-width:0;height:38px;padding:0 11px}.quick-search-field input::placeholder{color:var(--text-muted)}.risk-filter{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;grid-column:span 2;align-self:end;align-items:center;gap:8px;height:38px;padding:0 12px;display:inline-flex}.risk-filter input{accent-color:var(--danger);width:16px;height:16px;margin:0}.filter-action button{background:var(--text);border:1px solid var(--text);color:var(--surface);cursor:pointer;white-space:nowrap;border-radius:6px;height:38px;padding:0 14px}.filter-action button:disabled{cursor:wait;opacity:.65}.grid-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;overflow:visible}.data-note{color:var(--text-muted);margin:-6px 0 14px;font-size:.84rem}.capacity-loading{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:10px;margin:-4px 0 16px;padding:14px 16px;display:grid}.capacity-loading strong{font-size:.94rem}.capacity-loading ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.capacity-loading li{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:650;display:inline-flex}.capacity-loading li.is-active{background:var(--accent-soft);color:var(--accent);border-color:#f0bcc1}.capacity-loading li.is-complete{background:var(--success-soft);color:var(--success);border-color:#c5e7d9}.charts-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:18px;overflow:hidden}.charts-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:54px;padding:0 16px;display:flex}.charts-header h2{margin:0;font-size:1rem}.charts-header button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-height:34px;padding:0 12px}.charts-header span{color:var(--text-muted);font-size:.84rem;font-weight:650}.charts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 16px;display:grid}.capacity-charts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operational-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operational-history-charts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operational-history-chart-group{gap:10px;padding:12px 16px;display:grid}.operational-history-chart-group+.operational-history-chart-group{border-top:1px solid var(--border)}.operational-history-chart-group h3{color:var(--text-muted);letter-spacing:0;margin:0;font-size:.8rem;font-weight:850}.operational-subsection-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.operational-subsection-header button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-height:32px;padding:0 10px}.operational-history-chart-group .charts-grid{padding:0}.operational-history-content .operational-filter-grid{grid-template-columns:repeat(auto-fit,minmax(136px,180px));align-items:end}.operational-history-content .filter-field input[type=date]{min-width:0;max-width:180px}.chart-card{border:1px solid var(--border);border-radius:8px;gap:8px;min-height:0;padding:12px;display:grid}.chart-card h3{margin:0;font-size:.9rem}.pie-layout{grid-template-columns:minmax(104px,128px) 1fr;align-items:center;gap:10px;display:grid}.pie-chart{justify-self:center;width:min(100%,128px);max-width:128px;height:auto;display:block;transform:rotate(-90deg)}.pie-chart circle{stroke-width:9px}.chart-legend{gap:5px 8px;margin:0;padding:0;list-style:none;display:grid}.chart-legend li{color:var(--text-muted);align-items:center;gap:6px;max-width:100%;font-size:.7rem;line-height:1.2;display:inline-flex}.chart-legend li span{border-radius:999px;width:10px;height:10px}.chart-legend strong{color:var(--text);min-width:0;font-weight:650}.bar-chart{grid-auto-columns:minmax(58px,1fr);grid-auto-flow:column;align-items:end;gap:8px;min-height:160px;display:grid;overflow-x:auto}.bar-item{grid-template-rows:auto 1fr auto;align-items:stretch;gap:6px;min-width:58px;display:grid}.bar-value{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;min-height:18px;font-size:.74rem}.operational-issue-table .operational-plan-cell{text-align:left}.bar-track{border:1px solid var(--border);background:#f8fafc;border-radius:6px 6px 0 0;align-items:end;min-height:102px;display:flex;overflow:hidden}.bar-fill{background:linear-gradient(180deg, var(--accent), #19a883);border-radius:inherit;width:100%;min-height:0}.bar-label{color:var(--text-muted);text-align:center;min-height:34px;font-size:.72rem;line-height:1.2;overflow:hidden}.empty-chart{color:var(--text-muted);margin:0;padding:18px 16px}.capacity-empty-chart{padding:10px 0 0}.operational-line-card{align-content:start}.operational-line-chart{width:100%;height:auto;display:block}.operational-line-chart line{stroke:#d7e0ea;stroke-width:1px}.operational-axis-label{fill:var(--text-muted);font-size:.46rem;font-weight:600}.operational-axis-label-x{text-anchor:end}.operational-line-chart path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.operational-line-primary{stroke:var(--accent)}.operational-line-secondary{stroke:var(--success)}.operational-chart-legend{grid-template-columns:1fr}.operational-legend-primary{background:var(--accent)}.operational-legend-secondary{background:var(--success)}.operational-blocked-chart{grid-auto-columns:minmax(88px,1fr)}.grid-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:58px;padding:0 16px;display:flex}.grid-toolbar h2{margin:0;font-size:1rem}.grid-toolbar span{color:var(--text-muted);font-size:.86rem}.grid-toolbar button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-height:34px;padding:0 12px}.tree-grid-header-scroll{z-index:8;background:#f8fafc;position:sticky;top:0;overflow:hidden}.tree-grid-scroll{overflow-x:auto}.tree-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1180px}.tree-col-key{width:156px}.tree-col-summary{width:310px}.tree-col-status{width:132px}.tree-col-assignee{width:180px}.tree-col-progress{width:170px}.tree-col-budget{width:124px}.tree-col-hours{width:116px}.tree-grid th{border-bottom:1px solid var(--border);color:var(--text-muted);text-align:left;white-space:nowrap;z-index:8;background:#f8fafc;padding:12px 14px;font-size:.75rem;font-weight:750;position:sticky;top:0}.capacity-grid-wrap{overflow:visible}.capacity-grid-header-scroll{z-index:8;background:#f8fafc;position:sticky;top:0;overflow:hidden}.capacity-grid-scroll{overflow-x:auto}.capacity-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1320px}.capacity-col-label{width:250px}.capacity-col-number{width:98px}.capacity-grid th{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-muted);text-align:left;white-space:nowrap;z-index:8;background:#f8fafc;padding:10px 12px;font-size:.75rem;font-weight:750;position:sticky;top:0}.capacity-grid th:nth-child(2),.capacity-grid th:nth-child(3),.capacity-grid th:nth-child(4),.capacity-grid td:nth-child(2),.capacity-grid td:nth-child(3),.capacity-grid td:nth-child(4){background:#fbfcfe}.capacity-grid th:nth-child(5),.capacity-grid th:nth-child(6),.capacity-grid td:nth-child(5),.capacity-grid td:nth-child(6){background:#f6f9fd}.capacity-grid th:nth-child(7),.capacity-grid th:nth-child(8),.capacity-grid td:nth-child(7),.capacity-grid td:nth-child(8){background:#fbfcfe}.capacity-grid th:nth-child(9),.capacity-grid th:nth-child(10),.capacity-grid td:nth-child(9),.capacity-grid td:nth-child(10){background:#f6f9fd}.capacity-grid th:nth-child(11),.capacity-grid th:nth-child(12),.capacity-grid td:nth-child(11),.capacity-grid td:nth-child(12),.capacity-grid thead tr:first-child th:nth-child(2),.capacity-grid thead tr:first-child th:nth-child(4),.capacity-grid thead tr:first-child th:nth-child(6){background:#fbfcfe}.capacity-grid thead tr:first-child th:nth-child(3),.capacity-grid thead tr:first-child th:nth-child(5){background:#f6f9fd}.capacity-grid th:nth-child(2),.capacity-grid th:nth-child(5),.capacity-grid th:nth-child(7),.capacity-grid th:nth-child(9),.capacity-grid th:nth-child(11),.capacity-grid td:nth-child(2),.capacity-grid td:nth-child(5),.capacity-grid td:nth-child(7),.capacity-grid td:nth-child(9),.capacity-grid td:nth-child(11),.capacity-grid thead tr:first-child th:nth-child(n+2){border-left:1px solid #dce5ef}.capacity-grid thead tr:nth-child(2) th{z-index:9;top:38px}.capacity-grid th[colspan]{text-align:center}.capacity-grid td{border-bottom:1px solid var(--border);vertical-align:middle;border-left:1px solid #e4ebf2;padding:12px}.capacity-grid td:first-child{border-left:0}.capacity-team-row{background:#fbfcfe}.capacity-team-row td:first-child,.capacity-project-row td:first-child,.capacity-person-row td:first-child{background:inherit}.capacity-team-row .capacity-label-cell{font-weight:700}.capacity-project-row{background:var(--surface)}.capacity-person-row{color:var(--text-muted);background:#f8fafc}.capacity-label-cell{white-space:nowrap;min-width:250px}.capacity-project-toggle{margin-left:34px}.capacity-person-indent{margin-left:76px;display:inline-flex}.capacity-empty-cell{color:var(--text-muted);text-align:center;padding:18px 16px}.operational-body{overflow:hidden}.operational-history-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-top:18px;overflow:hidden}.operational-history-toolbar{background:#fbfcfe}.operational-history-content{padding:16px}.operational-history-content .operational-filter-panel,.operational-history-content .operational-history-charts{box-shadow:none}.operational-stacked-card{align-content:start}.operational-stacked-chart{grid-auto-columns:minmax(68px,1fr);grid-auto-flow:column;align-items:end;gap:8px;min-height:176px;display:grid;overflow-x:auto}.operational-stacked-item{grid-template-rows:auto 1fr auto;gap:6px;min-width:68px;display:grid}.operational-stacked-track{min-height:112px}.operational-stacked-bar{border-radius:6px 6px 0 0;flex-direction:column-reverse;width:100%;display:flex;overflow:hidden}.operational-stacked-bar span{min-height:3px}.operational-priority-legend{flex-wrap:wrap;gap:6px 10px;display:flex}.operational-state-time-card{margin-top:12px}.operational-state-time-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.operational-state-time-header span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.operational-state-time-chart{grid-template-columns:repeat(7,minmax(72px,1fr));align-items:end;gap:8px;min-height:176px;display:grid;overflow-x:auto}.operational-state-time-item{grid-template-rows:auto 1fr auto;gap:6px;min-width:72px;display:grid}.operational-state-time-track{min-height:112px}.operational-state-time-fill{background:linear-gradient(180deg, #256f87, var(--accent));border-radius:6px 6px 0 0;width:100%}.operational-cfd-card{margin-top:12px}.operational-cfd-chart{width:100%;height:260px;display:block}.operational-cfd-axis{stroke:var(--border-strong);stroke-width:1px}.operational-cfd-gridline{stroke:var(--border);stroke-dasharray:3 4;stroke-width:1px}.operational-cfd-area{stroke:#11182729;stroke-width:1px}.operational-cfd-area-done,.operational-cfd-legend-done{fill:#197b53;background:#197b53}.operational-cfd-area-progress,.operational-cfd-legend-progress{fill:#d7a900;background:#d7a900}.operational-cfd-area-todo,.operational-cfd-legend-todo{fill:#8aa6b2;background:#8aa6b2}.operational-cfd-x-label,.operational-cfd-y-label{fill:var(--text-muted);font-size:.68rem}.operational-cfd-y-label{text-anchor:end}.operational-cfd-x-label{text-anchor:middle}.operational-body-grid{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:16px;padding:16px;display:grid}.operational-panel{border:1px solid var(--border);border-radius:8px;min-width:0;overflow:hidden}.operational-panel h3{border-bottom:1px solid var(--border);background:#f8fafc;min-height:44px;margin:0;padding:12px 14px;font-size:.94rem}.operational-table-scroll{overflow-x:auto}.operational-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:520px}.operational-issue-table{min-width:860px}.operational-table th{border-bottom:1px solid var(--border);color:var(--text-muted);text-align:left;white-space:nowrap;z-index:6;background:#fbfcfe;padding:10px 12px;font-size:.74rem;font-weight:750;position:sticky;top:0}.operational-table td{border-bottom:1px solid var(--border);color:#28364a;vertical-align:middle;padding:11px 12px;font-size:.84rem}.operational-table tr:last-child td{border-bottom:0}.operational-plan-cell{text-align:right}.operational-issue-alert{background:#fff6f6}.operational-issue-alert td{box-shadow:inset 0 1px #f2cfcf}.operational-warning{background:var(--danger-soft);color:var(--danger);border:1px solid #efc7c7;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;margin-right:7px;font-size:.72rem;font-weight:850;display:inline-flex}.operational-summary-cell{text-overflow:ellipsis;white-space:nowrap;min-width:220px;overflow:hidden}.tree-grid td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.tree-grid tr:last-child td{border-bottom:0}.initiative-row{background:#fbfcfe}.initiative-row-risk{background:#fff6f6}.initiative-row-risk td{box-shadow:inset 0 1px #f2cfcf}.initiative-row-risk .toggle-icon{color:#9b3434;background:#fde7e7;border-color:#efc7c7}.initiative-row td{font-weight:400}.initiative-row .key-cell,.initiative-row .summary-cell{font-weight:600}.epic-row{background:var(--surface)}.epic-row td{color:#28364a}.sprint-row{background:#f8fafc}.sprint-row td{color:var(--text-muted);font-size:.88rem;font-weight:500}.activity-row{background:var(--surface)}.activity-row td{color:#3d4a5f}.key-cell{white-space:nowrap;width:156px}.summary-cell{min-width:310px}.row-toggle{color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:28px;padding:0;display:inline-flex}.toggle-icon{background:var(--accent-soft);color:var(--accent);border:1px solid #f0bcc1;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:800;display:inline-flex}.epic-indent{color:var(--text-muted);margin-left:34px;display:inline-flex}.epic-toggle-indent{margin-left:34px}.sprint-indent{color:var(--text-muted);margin-left:68px;display:inline-flex}.sprint-toggle-indent{color:var(--text-muted);margin-left:68px}.activity-indent{color:var(--text-muted);margin-left:92px;display:inline-flex}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;min-width:106px;padding:5px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.status-badge.neutral{background:var(--surface-strong);color:var(--text-muted)}.status-badge.success{background:var(--success-soft);color:var(--success)}.status-badge.info{background:var(--info-soft);color:var(--info)}.progress-cell{min-width:170px}.progress{grid-template-columns:1fr 42px;align-items:center;gap:8px;display:grid}.progress-track{background:var(--surface-strong);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), #19a883);border-radius:inherit;height:100%}.progress span{color:var(--text-muted);text-align:right;font-size:.78rem;font-weight:700}.number-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.timeline-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;overflow:visible}.timeline-toolbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:58px;padding:0 16px;display:flex}.timeline-toolbar h2{margin:0 0 3px;font-size:1rem}.timeline-toolbar span{color:var(--text-muted);font-size:.82rem}.timeline-actions{gap:6px;display:inline-flex}.timeline-actions button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;min-width:34px;height:34px;padding:0 11px;font-weight:750}.timeline-grid{grid-template-columns:510px minmax(0,1fr);display:grid}.timeline-table{border-right:1px solid var(--border);overflow:visible}.timeline-table-head,.timeline-table-row{grid-template-columns:minmax(190px,1.35fr) 106px 122px 92px;display:grid}.timeline-table-head{border-bottom:1px solid var(--border);color:var(--text-muted);z-index:16;background:#f8fafc;height:68px;font-size:.75rem;font-weight:750;position:sticky;top:0}.timeline-table-head span,.timeline-table-row>div{align-items:center;min-width:0;padding:0 12px;display:flex}.timeline-table-head span{border-bottom:1px solid var(--border)}.timeline-table-row{min-height:48px}.timeline-key-cell{font-weight:650}.timeline-key-cell .row-toggle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.timeline-progress-cell{min-width:0}.timeline-progress-cell .progress{width:100%}.person-timeline-row{background:#fbfcfe}.person-timeline-row .timeline-key-cell{color:var(--text)}.master-timeline-row .timeline-key-cell{padding-left:28px}.epic-timeline-row .timeline-key-cell{padding-left:62px}.timeline-leaf-key{color:#28364a;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.budget-badge{border-radius:999px;justify-content:center;min-width:52px;padding:5px 9px;font-size:.75rem;font-weight:780;display:inline-flex}.budget-badge.info{background:var(--info-soft);color:var(--info)}.budget-badge.danger{background:var(--danger-soft);color:var(--danger)}.timeline-scroller{overscroll-behavior-x:contain;overflow:auto visible}.timeline-lane{min-width:0;overflow:visible}.timeline-time-header{background:var(--surface);z-index:16;height:68px;position:sticky;top:0;overflow:clip}.timeline-time-header-inner{will-change:transform}.timeline-canvas{min-width:100%;position:relative}.timeline-quarter-row,.timeline-month-row{display:flex}.timeline-quarter{color:var(--text);background:#f4f7fb;border-bottom:1px solid #d8e1eb;border-right:1px solid #d1dce8;justify-content:center;align-items:center;height:34px;font-size:.8rem;font-weight:850;display:flex}.timeline-month{color:var(--text-muted);text-transform:capitalize;background:#fbfcfe;border-bottom:1px solid #e6edf4;border-right:1px dashed #e1e8f0;justify-content:center;align-items:center;height:34px;font-size:.74rem;font-weight:650;display:flex}.timeline-bars{background-image:linear-gradient(90deg,#e7edf4 1px,#0000 1px);background-size:112px 100%}.timeline-bar-row{height:48px;position:relative}.timeline-bar{color:var(--surface);border-radius:6px;align-items:center;min-width:34px;height:26px;padding:0 10px;display:flex;position:absolute;top:11px}.person-bar-row{background:#fbfcfe}.person-bar-row .timeline-bar{opacity:.72;height:18px;top:15px}.timeline-info{background:var(--info)}.timeline-success{background:var(--success)}.timeline-neutral{background:#617086}.timeline-danger{background:var(--danger)}.epic-bar-row .timeline-info{background:#7eafbf}.epic-bar-row .timeline-success{background:#79b99f}.epic-bar-row .timeline-neutral{background:#a7b1bf}.epic-bar-row .timeline-danger{background:#d98282}.timeline-bar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:760;display:block;position:relative;overflow:hidden}.timeline-tooltip{color:var(--surface);opacity:0;pointer-events:none;white-space:normal;z-index:20;background:#17212f;border-radius:6px;max-width:360px;padding:7px 9px;font-size:.76rem;font-weight:650;line-height:1.25;transition:opacity .15s .5s,transform .15s .5s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 12px 24px #17212f2e}.timeline-bar:hover .timeline-tooltip{opacity:1;transform:translateY(0)}.app-footer{color:var(--text-muted);text-align:center;margin-top:22px;padding:8px 0 0;font-size:.78rem;font-weight:650}@media (max-width:1120px){.app-frame{grid-template-columns:72px minmax(0,1fr)}.sidebar-label,.sidebar-brand strong,.sidebar-brand small,.coming-soon{display:none}.sidebar-brand{justify-items:center;padding-left:0;padding-right:0}.page-header{align-items:stretch;display:grid}.summary-strip{min-width:0}.filter-bar{grid-template-columns:repeat(3,minmax(160px,1fr))}.timeline-grid{grid-template-columns:430px minmax(0,1fr)}.timeline-table-head,.timeline-table-row{grid-template-columns:minmax(178px,1.1fr) 100px 112px 78px}}@media (max-width:720px){.app-frame,.app-frame.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{align-items:center;gap:10px;min-height:0;padding:10px 12px;display:flex;position:static}.sidebar-brand{border-bottom:0;border-right:1px solid #ffffff2e;margin:0 2px 0 0;padding:0 12px 0 0}.sidebar-collapse{margin-bottom:0}.sidebar-nav{min-width:0;display:flex;overflow-x:auto}.sidebar-link{min-width:48px}.shell{width:min(100% - 24px,1480px);padding-top:18px}.summary-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.summary-strip div+div{border-left:0}.summary-strip div:nth-child(2n){border-left:1px solid var(--border)}.summary-strip div:nth-child(n+3){border-top:1px solid var(--border)}.filter-bar{grid-template-columns:1fr}.quick-search-field,.risk-filter{grid-column:auto}.charts-header{align-items:start;gap:10px;padding-top:12px;padding-bottom:12px;display:grid}.charts-grid,.capacity-charts-grid,.operational-charts-grid,.operational-history-charts-grid,.operational-history-summary-strip{grid-template-columns:1fr}.chart-card{grid-column:auto}.operational-filter-grid,.operational-body-grid{grid-template-columns:1fr}.grid-toolbar{align-items:start;gap:4px;padding-top:12px;padding-bottom:12px;display:grid}.timeline-toolbar{align-items:start;gap:10px;padding-top:12px;padding-bottom:12px;display:grid}.timeline-grid{grid-template-columns:1fr}.timeline-table{border-right:0;overflow-x:auto}.timeline-table-head,.timeline-table-row{min-width:510px}}
