.metrics-select{vertical-align:middle;min-width:0;display:inline-flex;position:relative}.metrics-select>button{border:1px solid var(--portfolio-line);background:var(--surface);width:100%;min-width:0;height:34px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;font-size:12px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:flex}.metrics-select>button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metrics-select>button>svg{color:var(--portfolio-muted);flex:none;transition:transform .15s}.metrics-select.is-open>button{border-color:var(--portfolio-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--portfolio-blue) 14%, transparent)}.metrics-select.is-open>button>svg{transform:rotate(180deg)}.metrics-select>button:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:2px}.metrics-select>button:disabled{cursor:not-allowed;opacity:.58;background:var(--portfolio-soft-line)}.metrics-select-menu{z-index:1000;overscroll-behavior:contain;border:1px solid var(--portfolio-line);background:var(--surface);color:var(--text);border-radius:10px;padding:5px;font-size:12px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0f172a26}.metrics-select-option{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:7px 10px;display:flex}.metrics-select-option>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metrics-select-option>svg{color:var(--portfolio-blue);flex:none}.metrics-select-option.is-active{background:var(--portfolio-blue-bg);color:var(--portfolio-blue)}.metrics-select-option[aria-selected=true]{color:var(--portfolio-blue);font-weight:600}[data-theme=dark] .metrics-select-menu{box-shadow:0 12px 32px #00000059}.report-preview-picker .metrics-select{width:100%}.report-preview-picker .metrics-select>button{border-color:color-mix(in srgb, var(--portfolio-blue) 30%, var(--portfolio-line));height:40px;font-size:14px}.role-detail-filters .metrics-select,.report-preview-member-filters .metrics-select{min-width:120px}.role-detail-filters .metrics-select>button,.report-preview-member-filters .metrics-select>button,.metrics-select.role-trend-role>button{height:36px}.preview-role-pager .metrics-select>button,.member-share-pagination .metrics-select>button{height:28px}.portfolio-page-controls .metrics-select>button,.report-preview-pagination .metrics-select>button,.role-pagination-controls .metrics-select>button{height:32px}@media (width>=701px){.metrics-select.role-trend-role{flex:none;width:128px}:is(.portfolio-page-controls,.member-share-pagination,.preview-role-pager,.report-preview-pagination,.role-pagination-controls) .metrics-select{flex:none;width:84px}:is(.portfolio-page-controls,.member-share-pagination,.preview-role-pager,.report-preview-pagination,.role-pagination-controls) .metrics-select>button{white-space:nowrap;flex-direction:row;justify-content:space-between;align-items:center;display:flex}}.daily-progress-date{color:var(--portfolio-muted);margin:6px 0 0;font-size:11px}.daily-progress-cell{gap:6px;min-width:160px;display:grid}.daily-progress-track{background:var(--portfolio-soft-line);border-radius:4px;height:8px;margin-block:3px;position:relative}.daily-progress-track>i{height:100%;display:block;position:absolute;top:0}.daily-progress-base{background:var(--portfolio-blue);border-radius:4px 0 0 4px;left:0}.daily-progress-delayed{background:var(--portfolio-delayed-fill)}.daily-progress-severe{background:var(--portfolio-severe-fill)}.daily-progress-ahead{background:var(--portfolio-green);border-radius:0 4px 4px 0}.daily-progress-track .daily-progress-plan{background:var(--text);width:2px;height:14px;top:-3px;transform:translate(-1px)}.portfolio-card-reason{margin-top:5px!important}.project-share-visual .overview-members-list{grid-template-columns:20px minmax(0,1.2fr) minmax(0,.7fr) max-content;column-gap:8px}.project-share-visual .overview-members-list>li,.project-share-visual .mock-share-row-button{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.project-share-visual .mock-share-row-button{text-align:left;row-gap:6px;min-width:0}.project-share-visual .mock-share-row-heading,.project-share-visual .mock-share-name-group{display:contents}.project-share-visual .overview-members-rank{text-align:left;grid-column:1}.project-share-visual .overview-members-name{text-align:left;grid-column:2}.project-share-visual .mock-share-product{text-align:left;grid-column:3}.project-share-visual .mock-share-row-heading>b{text-align:right;grid-column:4}.project-share-visual .overview-members-bar{grid-column:1/-1;width:100%;height:7px;margin-top:0;display:block}.project-share-visual .mock-share-stage{text-align:left;grid-column:1/-1;margin-top:0}.project-share-back{border:1px solid var(--portfolio-line);background:var(--surface);color:var(--portfolio-muted);white-space:nowrap;cursor:pointer;border-radius:7px;align-items:center;gap:5px;margin-left:auto;padding:6px 10px;font-size:11px;display:inline-flex}.project-share-detail{padding:18px 16px 16px}.project-share-detail-overview{align-items:center;gap:24px;min-height:214px;display:flex}.project-share-detail-total{border:24px solid var(--portfolio-line);text-align:center;border-radius:50%;flex-direction:column;flex:0 0 195px;justify-content:center;align-items:center;gap:4px;width:195px;height:195px;display:flex}.project-share-detail-total strong{color:var(--text);white-space:nowrap;font-size:24px;line-height:32px}.project-share-detail-total span{color:var(--portfolio-muted);font-size:11px}.project-share-detail-total.has-composition{border-color:#0000;position:relative}.project-share-detail-total.has-composition>svg{width:195px;height:195px;position:absolute;inset:-24px}.project-share-detail-total.has-composition>strong,.project-share-detail-total.has-composition>span{position:relative}.project-share-detail-gap{border:1px dashed var(--portfolio-line);background:var(--subtle);min-height:140px;color:var(--portfolio-muted);text-align:center;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:16px;font-size:12px;display:flex}.project-share-detail-people{border-top:1px solid var(--portfolio-soft-line);margin-top:18px;padding-top:16px}.project-share-detail-people h3{color:var(--text);margin:0;font-size:14px;line-height:20px}.project-share-detail-people p{color:var(--portfolio-muted);margin:4px 0 0;font-size:11px}@media (width<=1060px){.project-share-detail-overview{flex-direction:column;align-items:stretch;gap:12px}.project-share-detail-total{flex-basis:auto;align-self:center}.project-share-detail-gap{min-height:90px}}.project-share-detail-composition{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:8px;flex:1;gap:11px;min-height:140px;padding:14px 16px;display:grid}.project-share-detail-composition-row{grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) 56px;align-items:center;gap:10px;display:grid}.project-share-detail-composition-row>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.project-share-detail-composition-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-share-detail-composition-row span{color:var(--portfolio-muted);white-space:nowrap;font-size:11px}.project-share-detail-composition-row b{color:var(--text);text-align:right;font-size:12px}.project-share-detail-composition-track{background:var(--portfolio-line);border-radius:999px;height:7px;overflow:hidden}.project-share-detail-composition-track i{border-radius:inherit;background:var(--portfolio-blue);height:100%;display:block}.stat-violet .project-share-detail-composition-track i{background:var(--portfolio-violet)}.project-share-detail-people-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.project-share-detail-people-list li{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:7px;grid-template-columns:32px minmax(120px,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.project-share-detail-rank{color:var(--portfolio-muted);font-variant-numeric:tabular-nums;font-size:11px}.project-share-detail-people-list strong{color:var(--text);font-size:12px;display:block}.project-share-detail-people-list small{color:var(--portfolio-muted);margin-top:2px;font-size:10px;display:block}.project-share-detail-people-list b{color:var(--portfolio-blue);white-space:nowrap;font-size:12px}.stat-violet .project-share-detail-people-list b{color:var(--portfolio-violet)}@media (width<=700px){.project-share-detail-composition-row{grid-template-columns:minmax(100px,1fr) 1.4fr 48px}.project-share-detail-people-list li{grid-template-columns:28px minmax(0,1fr)}.project-share-detail-people-list li>b{grid-column:2}}.overview-members-content{grid-template-columns:260px minmax(0,1fr);align-items:center;gap:20px;min-height:252px;padding:16px;display:grid}.overview-members-chart{width:220px;height:220px;margin-inline:auto;position:relative}.overview-members-chart svg{width:100%;height:100%;display:block}.overview-members-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overview-members-center strong{color:var(--text);font-size:24px;font-weight:600;line-height:32px}.overview-members-center span{color:var(--portfolio-muted);margin-top:4px;font-size:11px}.overview-members-ranking{min-width:0}.overview-members-list{gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.overview-members-list li{border-radius:8px;min-width:0;padding:6px 8px}.overview-members-list li:hover{background:var(--subtle)}.overview-members-row{align-items:center;gap:8px;min-width:0;font-size:12px;line-height:20px;display:flex}.overview-members-rank{color:var(--portfolio-muted);flex:1;font-size:11px}.overview-members-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:500;overflow:hidden}.overview-members-row b{color:var(--text);white-space:nowrap;flex:none;font-weight:600}.overview-members-bar{background:var(--portfolio-soft-line);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.overview-members-bar i{border-radius:inherit;height:100%;display:block}.overview-members-other,.overview-members-empty{color:var(--portfolio-muted);font-size:11px;line-height:18px}.overview-members-other{margin:12px 8px 0}.portfolio-investment-pending{grid-template-columns:260px minmax(0,1fr);align-items:center;gap:20px;min-height:252px;padding:16px;display:grid}.portfolio-investment-pending-ring{border:24px solid var(--portfolio-line);border-radius:50%;place-items:center;width:176px;height:176px;margin-inline:auto;display:grid;position:relative}.portfolio-investment-pending-ring>span{color:var(--portfolio-muted);flex-direction:column;align-items:center;font-size:24px;line-height:30px;display:flex}.portfolio-investment-pending-ring small{font-size:11px;line-height:18px}.portfolio-investment-pending>p{border:1px dashed var(--portfolio-line);background:var(--subtle);min-height:180px;color:var(--portfolio-muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;margin:0;font-size:12px;display:flex}@media (width<=1280px){.overview-members-content,.portfolio-investment-pending{grid-template-columns:210px minmax(0,1fr);gap:10px}.overview-members-chart{width:190px;height:190px}}@media (width<=1060px){.overview-members-content,.portfolio-investment-pending{grid-template-columns:minmax(0,1fr)}.portfolio-investment-pending>p{min-height:90px}}.workhour-shares{min-width:0;overflow:hidden}.workhour-share-bar{width:min(120px,100%);height:8px;accent-color:var(--accent);vertical-align:middle;margin-right:8px;display:inline-block}.workhour-shares>p{color:var(--text-muted);padding:12px 16px;font-size:13px}.workhour-shares>.portfolio-segments{width:fit-content;margin:12px 16px}.workhour-summary{flex-wrap:wrap;gap:8px 24px;padding:12px 16px;font-size:13px;display:flex}.workhour-summary strong{font-size:18px}.workhour-shares table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;font-size:12px}.workhour-shares th{white-space:normal}.workhour-shares th,.workhour-shares td{text-align:left;border-bottom:1px solid var(--portfolio-line);padding:10px 16px}.workhour-shares th{color:var(--text-muted);font-weight:500}.workhour-shares td:first-child{overflow-wrap:anywhere;max-width:240px}.workhour-shares .portfolio-pagination{flex-wrap:wrap;gap:8px}@media (width<=480px){.workhour-shares th,.workhour-shares td{overflow-wrap:anywhere;padding:10px 8px}.workhour-shares th:first-child{width:38%}.workhour-shares .workhour-share-bar{width:100%;margin:0 0 5px;display:block}.workhour-shares .overview-members-row{flex-wrap:wrap}.workhour-shares .overview-members-name{white-space:normal;overflow-wrap:anywhere}}.metrics-source-main{background:var(--subtle);max-width:none;padding:24px;display:block}.metrics-source-page{--metrics-font-9:11px;--metrics-font-10:11px;--portfolio-blue:#2563eb;--portfolio-muted:#64748b;--portfolio-line:#e2e8f0;--portfolio-soft-line:#f1f5f9;--portfolio-icon-bg:#f1f5f9;--portfolio-blue-bg:#eff6ff;--portfolio-amber:#d97706;--portfolio-amber-bg:#fffbeb;--portfolio-red:#dc2626;--portfolio-red-bg:#fff1f2;--portfolio-violet:#8b5cf6;--portfolio-violet-bg:#f5f3ff;--portfolio-green:#047857;--portfolio-cyan:#0891b2;--portfolio-indigo:#6366f1;--portfolio-teal:#0f766e;--portfolio-average-hours-accent:#5f51f7;--portfolio-average-hours-value:#372aac;--portfolio-average-hours-bg:#eef2ff;--portfolio-pink:#db2777;--portfolio-neutral:#64748b;--portfolio-magenta-strong:#8a0194;--portfolio-magenta-bg:#fdf4ff;--portfolio-on-accent:#fff;--portfolio-shadow-rgb:15 23 42;--portfolio-severe-fill:#fecaca;--portfolio-delayed-fill:#fde68a;min-width:0;color:var(--text);gap:20px;display:grid}.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) input[type=search]:focus{border-color:var(--portfolio-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--portfolio-blue) 14%, transparent);outline:none}.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) input[type=search]{transition:border-color .15s,box-shadow .15s}@media (width<=700px){.metrics-source-page{--metrics-font-9:9px;--metrics-font-10:10px}}@media (width>=701px){.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) table thead :is(th,th *){font-size:11px!important}.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) table tbody td,.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) table tbody td small{font-size:12px!important}.metrics-source-page:is(.overview-page,.role-efficiency-page,.project-reports-page) :is(.preview-role-axis-text,.report-preview-axis-text,.preview-role-share-axis,.metric-history-dates){font-size:11px}.metrics-source-page.project-reports-page .report-preview-chart .report-preview-axis-text{font-size:10px}}[data-theme=dark] .metrics-source-page{--portfolio-blue:#93b8ff;--portfolio-muted:#a1acba;--portfolio-line:#393e47;--portfolio-soft-line:#30353c;--portfolio-icon-bg:#2b3038;--portfolio-blue-bg:#263446;--portfolio-amber:#f3bc65;--portfolio-amber-bg:#3c3224;--portfolio-red:#f898a3;--portfolio-red-bg:#402a31;--portfolio-violet:#c4a5ff;--portfolio-violet-bg:#352c43;--portfolio-green:#71d9b5;--portfolio-cyan:#67e8f9;--portfolio-indigo:#a5b4fc;--portfolio-teal:#6ec8bc;--portfolio-average-hours-accent:#a5b4fc;--portfolio-average-hours-value:#c7d2fe;--portfolio-average-hours-bg:#2d2d47;--portfolio-pink:#f8a9d3;--portfolio-neutral:#a1acba;--portfolio-magenta-strong:#f5c9ff;--portfolio-magenta-bg:#34223d;--portfolio-on-accent:#17191c;--portfolio-shadow-rgb:0 0 0;--portfolio-severe-fill:#75424a;--portfolio-delayed-fill:#76603a}@media (width<=700px){.metrics-source-main{padding:18px 12px 30px}.metrics-source-page{gap:16px}}.source-panel{border:1px solid var(--portfolio-line);background:var(--surface);min-width:0;box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 8%);border-radius:14px;overflow:hidden}.source-panel-heading{border-bottom:1px solid var(--portfolio-soft-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.source-panel-heading>div:first-child{flex:160px;min-width:0}.source-panel-heading h2{margin:0;font-size:16px;font-weight:600;line-height:24px}.source-panel-heading p{color:var(--portfolio-muted);margin:4px 0 0;font-size:12px;line-height:20px}.source-panel-content{min-width:0;padding:20px}.source-panel-compact .source-panel-heading{gap:8px;padding:12px 16px}.source-panel-compact h2{font-size:14px;line-height:20px}.source-panel-compact .source-panel-heading p{margin-top:2px;font-size:11px;line-height:16px}.source-panel-compact .source-panel-content{padding:16px}.source-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;display:flex}.metrics-grain-switch{background:var(--portfolio-icon-bg);border:0;border-radius:10px;align-items:center;gap:0;max-width:100%;padding:3px;display:inline-flex}.metrics-grain-switch button{min-width:36px;height:32px;color:var(--portfolio-muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:500;line-height:16px}.metrics-grain-switch button[aria-pressed=true]{color:var(--portfolio-blue);background:var(--surface);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 10%)}.metrics-grain-switch{isolation:isolate;position:relative}.metrics-grain-switch:before{z-index:-1;background:var(--surface);width:calc(33.3333% - 2px);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 10%);content:"";pointer-events:none;border-radius:8px;transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0)}.metrics-grain-switch:has(>button:nth-child(2)[aria-pressed=true]):before{transform:translate(100%)}.metrics-grain-switch:has(>button:nth-child(3)[aria-pressed=true]):before{transform:translate(200%)}.metrics-grain-switch button{z-index:1;flex:1 0 0;position:relative}.metrics-grain-switch button[aria-pressed=true]{box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.metrics-grain-switch:before{transition:none}}@media (width<=700px){.source-panel-heading,.source-panel-content{padding:16px}.source-panel-actions{justify-content:flex-start}}.overview-heading,.overview-heading-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-heading{background:var(--surface);border-bottom:1px solid var(--portfolio-line);margin:-24px -24px 4px;padding:20px 24px}.overview-heading h2{margin:0;font-size:20px;font-weight:600;line-height:28px}.overview-heading-actions{margin-left:auto}.overview-timestamp{background:var(--portfolio-icon-bg);color:var(--portfolio-muted);border-radius:6px;padding:7px 10px;font-size:12px;line-height:18px}.overview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.portfolio-stat{border:1px solid var(--portfolio-line);background:var(--surface);min-width:0;min-height:204px;box-shadow:0 1px 3px rgb(var(--portfolio-shadow-rgb) / 10%);border-radius:14px;flex-direction:column;padding:16px;display:flex}.portfolio-stat-title{align-items:center;gap:8px;display:flex}.portfolio-stat-title h3{margin:0;font-size:14px;font-weight:500;line-height:20px}.portfolio-stat-icon{background:var(--portfolio-icon-bg);width:36px;height:36px;color:var(--portfolio-muted);border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.stat-blue .portfolio-stat-icon{background:var(--portfolio-blue-bg);color:var(--portfolio-blue)}.stat-amber .portfolio-stat-icon{background:var(--portfolio-amber-bg);color:var(--portfolio-amber)}.stat-red .portfolio-stat-icon{background:var(--portfolio-red-bg);color:var(--portfolio-red)}.stat-violet .portfolio-stat-icon{background:var(--portfolio-violet-bg);color:var(--portfolio-violet)}.portfolio-stat-body{justify-content:space-between;align-items:flex-end;gap:8px;margin:12px 0;display:flex}.portfolio-stat-value{align-items:baseline;gap:4px;display:flex}.portfolio-stat-value strong{font-size:30px;font-weight:600;line-height:36px}.portfolio-stat-value>span{color:var(--portfolio-muted);font-size:14px}.portfolio-stat-change{color:var(--portfolio-muted);margin:4px 0 0;font-size:12px;line-height:16px}.portfolio-history-empty{color:var(--portfolio-muted);background:var(--subtle);min-width:72px;height:48px;font-size:var(--metrics-font-10);border-radius:6px;flex:0 112px;place-items:center;display:grid}.portfolio-stat-footer{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);margin-top:auto;padding-top:8px}.portfolio-stat-footer p{min-height:16px;margin:0;font-size:11px;line-height:16px}.portfolio-stat-footer>span{font-size:var(--metrics-font-10);line-height:16px}.portfolio-progress,.portfolio-investment,.portfolio-matrix{background:var(--surface);border:1px solid var(--portfolio-line);min-width:0;box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 8%);border-radius:14px;overflow:hidden}.portfolio-section-heading{border-bottom:1px solid var(--portfolio-soft-line);padding:16px}.portfolio-section-heading h2{margin:0;font-size:16px;font-weight:600;line-height:24px}.portfolio-investment h2{margin:0;font-size:14px;font-weight:600;line-height:20px}.portfolio-controls{background:var(--subtle);border-bottom:1px solid var(--portfolio-soft-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.portfolio-scope{color:var(--portfolio-muted);align-items:center;gap:8px;font-size:12px;display:flex}.portfolio-segments{background:var(--surface);border:0;border-radius:10px;gap:0;padding:3px;display:flex}.portfolio-segments button{height:32px;color:var(--portfolio-muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:500;line-height:16px}.portfolio-segments button[aria-pressed=true]{background:var(--portfolio-blue);color:var(--portfolio-on-accent);box-shadow:0 1px 3px color-mix(in srgb, var(--portfolio-blue) 20%, transparent)}.portfolio-segments{isolation:isolate;position:relative}.portfolio-segments:before{z-index:-1;background:var(--portfolio-blue);width:calc(50% - 3px);box-shadow:0 1px 3px color-mix(in srgb, var(--portfolio-blue) 20%, transparent);content:"";pointer-events:none;border-radius:8px;transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0)}.portfolio-segments:has(>button:nth-child(2)[aria-pressed=true]):before{transform:translate(100%)}.portfolio-segments button{z-index:1;flex:1 0 0;position:relative}.portfolio-segments button[aria-pressed=true]{box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.portfolio-segments:before{transition:none}}.portfolio-export{border:1px solid var(--portfolio-line);height:32px;color:var(--portfolio-muted);background:var(--surface);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.portfolio-legend{border-bottom:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);font-size:var(--metrics-font-10);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:9px 16px;line-height:16px;display:flex}.portfolio-legend>span{align-items:center;gap:6px;display:flex}.portfolio-legend i{border-radius:4px;width:16px;height:10px;display:inline-block}.legend-completed{background:var(--portfolio-blue)}.legend-severe{background:var(--portfolio-severe-fill)}.legend-delayed{background:var(--portfolio-delayed-fill)}.legend-ahead{background:var(--portfolio-green)}.portfolio-legend .legend-plan{margin-left:auto}.portfolio-table,.portfolio-table thead,.portfolio-table tbody{width:100%;display:block}.portfolio-table{min-width:836px}.portfolio-table tr{border-bottom:1px solid var(--portfolio-soft-line);grid-template-columns:32px minmax(105px,1.1fr) 92px minmax(90px,.9fr) minmax(145px,1.5fr) 54px 78px 60px;align-items:center;gap:8px;padding:14px 12px;display:grid}.portfolio-table thead tr{border-bottom-color:var(--portfolio-line);padding-block:10px}.portfolio-table th{background:var(--surface);font-size:var(--metrics-font-10);border:0;padding:0;font-weight:500;line-height:16px}.portfolio-table td{border:0;min-width:0;padding:0;font-size:12px;line-height:20px}.portfolio-table tbody tr:last-child{border-bottom:0}.portfolio-table tbody tr:hover{background:var(--subtle)}.portfolio-row-number{color:var(--portfolio-muted);font-weight:600;font-size:14px!important}.portfolio-project-name{color:var(--portfolio-blue);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;line-height:24px;text-decoration:none;display:block;overflow:hidden}.portfolio-project-meta{color:var(--portfolio-muted);font-size:var(--metrics-font-10);overflow-wrap:anywhere;line-height:16px;display:block}.portfolio-date{white-space:nowrap;font-weight:500}.portfolio-missing{color:var(--portfolio-muted);font-size:11px!important}.portfolio-progress-gap{font-size:var(--metrics-font-10);color:var(--portfolio-muted);align-items:center;gap:8px;display:flex}.portfolio-progress-gap>span:first-child{white-space:nowrap}.portfolio-divider{opacity:.6;margin:0 4px}.portfolio-unavailable-track{text-align:center;border-block:1px dashed var(--portfolio-line);min-width:80px;font-size:var(--metrics-font-10);color:var(--portfolio-muted);flex:1}.portfolio-task-count{font-size:var(--metrics-font-10);color:var(--portfolio-muted);margin-top:3px;display:block}.portfolio-status{border:1px solid var(--portfolio-line);background:var(--subtle);color:var(--portfolio-muted);white-space:nowrap;border-radius:16px;padding:3px 8px;font-size:11px;line-height:18px;display:inline-flex}.portfolio-pagination{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:12px;display:flex}.portfolio-page-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.portfolio-page-controls label{align-items:center;gap:6px;margin-right:3px;display:flex}.portfolio-page-controls select,.portfolio-page-controls button{border:1px solid var(--portfolio-line);background:var(--surface);height:32px;color:var(--portfolio-muted);border-radius:6px;padding:0 8px;font-size:12px}.portfolio-page-controls button{justify-content:center;align-items:center;gap:3px;display:flex}.portfolio-page-controls .portfolio-page-number{min-width:30px}.portfolio-page-controls [aria-current=page]{background:var(--portfolio-blue);color:var(--portfolio-on-accent);border-color:var(--portfolio-blue)}.portfolio-investment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portfolio-investment-heading{border-bottom:1px solid var(--portfolio-soft-line);align-items:flex-start;gap:12px;padding:16px;display:flex}.portfolio-investment-heading p{color:var(--portfolio-muted);margin:4px 0 0;font-size:12px;line-height:20px}.portfolio-investment-empty{min-height:220px;color:var(--portfolio-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.portfolio-investment-empty p{margin:0}.portfolio-matrix .portfolio-section-heading h2{margin:0;padding:0;font-size:16px}.portfolio-matrix .portfolio-controls{background:var(--surface)}.portfolio-matrix .portfolio-segments{background:var(--portfolio-icon-bg)}.portfolio-matrix .portfolio-segments:before{background:var(--surface);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 10%)}.portfolio-matrix .portfolio-segments button[aria-pressed=true]{color:var(--portfolio-blue)}.portfolio-matrix-waiting{min-height:180px;color:var(--portfolio-muted);place-items:center;margin:0;font-size:12px;display:grid}.portfolio-time-basis{color:var(--portfolio-muted);text-align:right;font-size:11px}.portfolio-facts-table{table-layout:fixed;width:100%;min-width:0}.portfolio-facts-table th{border-right:1px solid var(--portfolio-soft-line);padding:12px 8px;font-size:12px}.portfolio-facts-table th:last-child{border-right:0}.portfolio-facts-table td{border-bottom:1px solid var(--portfolio-soft-line);border-right:1px solid var(--portfolio-soft-line);vertical-align:top;overflow-wrap:anywhere;padding:12px 10px;font-size:12px;line-height:18px}.portfolio-facts-table td:last-child{border-right:0}.portfolio-facts-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--subtle) 55%, var(--surface))}.portfolio-facts-table tbody tr:hover{background:var(--subtle)}.portfolio-facts-table strong{color:var(--text);font-size:13px;font-weight:600;line-height:20px;display:block}.portfolio-facts-table td:first-child strong{border-left:2px solid var(--portfolio-blue);padding-left:8px}.portfolio-facts-table small{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-top:5px;line-height:16px;display:block}.portfolio-facts-table .mock-matrix-project{min-width:0}.portfolio-facts-table .mock-matrix-project small{overflow-wrap:anywhere}.portfolio-fact-levels{border-top:1px solid var(--portfolio-soft-line);grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px;padding-top:6px;display:grid}.portfolio-fact-levels span{border-right:1px solid var(--portfolio-soft-line);min-width:0;color:var(--portfolio-muted);font-size:var(--metrics-font-9);text-align:center;padding-inline:2px;line-height:15px}.portfolio-fact-levels span:last-child{border-right:0}.portfolio-fact-levels b{color:var(--text);font-size:var(--metrics-font-10);line-height:16px;display:block}.portfolio-facts-table progress{width:100%;height:6px;accent-color:var(--portfolio-blue);background:var(--portfolio-soft-line);border:0;border-radius:999px;margin-top:8px;display:block;overflow:hidden}.portfolio-facts-table progress::-webkit-progress-bar{background:var(--portfolio-soft-line)}.portfolio-facts-table progress::-webkit-progress-value{background:var(--portfolio-blue)}.portfolio-facts-table progress::-moz-progress-bar{background:var(--portfolio-blue)}@media (width<=1240px){.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.portfolio-investment-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.portfolio-facts-table{min-width:850px}}@media (width<=700px){.overview-heading{margin:-18px -12px 0;padding:18px 12px}.overview-main{padding:18px 12px 30px}.overview-page{gap:16px}.overview-heading h2{font-size:18px}.overview-heading-actions{gap:6px}.overview-timestamp{padding:6px;font-size:10px}.portfolio-stat{min-height:220px;padding:12px}.portfolio-stat-title{flex-direction:column;align-items:flex-start;gap:7px}.portfolio-stat-title h3{font-size:12px}.portfolio-stat-value strong{font-size:28px}.portfolio-stat-body{flex-wrap:wrap;margin-top:8px}.portfolio-history-empty{flex-basis:100%;height:24px}.portfolio-stat-change,.portfolio-stat-footer p{font-size:10px}.portfolio-stat-footer>span{font-size:9px}.portfolio-controls{padding:12px}.portfolio-scope{gap:6px}.portfolio-legend{gap:4px 10px;padding-inline:12px}.portfolio-legend .legend-plan{margin-left:0}.portfolio-pagination{padding:12px}.portfolio-page-controls{gap:4px}.portfolio-page-controls button span,.portfolio-page-controls .portfolio-page-number:not([aria-current=page]){display:none}}.mock-overview-page .portfolio-stat-body{align-items:center}.mock-portfolio-spark-wrap{flex:0 0 112px;width:112px;height:48px;position:relative}.mock-overview-page .mock-portfolio-spark{cursor:crosshair;width:112px;height:48px;display:block}.mock-overview-page .mock-portfolio-spark:focus{outline:none}.mock-overview-page .mock-portfolio-spark:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:2px;border-radius:3px}.mock-overview-page .mock-portfolio-spark-path{animation:.9s ease-out forwards mock-spark-draw}.mock-overview-page .mock-portfolio-spark-point{pointer-events:none;transition:cx .15s,cy .15s}.mock-portfolio-spark-tooltip{z-index:2;border:1px solid var(--portfolio-line);background:var(--surface);width:120px;color:var(--text);box-shadow:0 8px 24px rgb(var(--portfolio-shadow-rgb) / 14%);white-space:nowrap;pointer-events:none;border-radius:8px;gap:5px;padding:8px 9px;font-size:11px;transition:left .15s;display:grid;position:absolute;bottom:33px}.mock-portfolio-spark-tooltip strong{font-weight:500}.mock-portfolio-spark-tooltip span{font-size:var(--metrics-font-10)}@keyframes mock-spark-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.mock-overview-page .mock-portfolio-spark-path{stroke-dashoffset:0;animation:none}.mock-portfolio-spark-point,.mock-portfolio-spark-tooltip{transition:none}}.mock-overview-page .portfolio-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mock-progress-cell{min-width:0;color:var(--portfolio-muted);font-size:var(--metrics-font-10);align-items:center;gap:8px;display:flex}.mock-progress-cell>span{white-space:nowrap;flex:none}.mock-progress-cell b{color:var(--text);font-weight:600}.mock-progress-cell .mock-progress-actual{color:var(--portfolio-blue)}.mock-progress-cell i{color:var(--portfolio-line);font-style:normal}.mock-progress-track{background:var(--portfolio-soft-line);border-radius:99px;flex:auto;min-width:36px;height:10px;margin-block:4px;position:relative}.mock-progress-track>i{height:100%;display:block;position:absolute;top:0}.mock-progress-track .mock-progress-base{background:var(--portfolio-blue);border-radius:99px 0 0 99px;left:0}.mock-progress-track .mock-progress-severe{background:var(--portfolio-severe-fill)}.mock-progress-track .mock-progress-delayed{background:var(--portfolio-delayed-fill)}.mock-progress-track .mock-progress-ahead{background:var(--portfolio-green);border-radius:0 99px 99px 0}.mock-progress-track .mock-progress-plan{z-index:1;background:var(--text);border-radius:1px;width:1px;height:18px;top:-4px;transform:translate(-50%)}.mock-negative{color:var(--portfolio-amber);font-weight:600}.mock-positive{color:var(--portfolio-blue);font-weight:600}.mock-status-severe{border-color:var(--portfolio-red);background:var(--portfolio-red-bg);color:var(--portfolio-red)}.mock-status-delayed{border-color:var(--portfolio-amber);background:var(--portfolio-amber-bg);color:var(--portfolio-amber)}.mock-status-normal{border-color:var(--portfolio-green);background:color-mix(in srgb, var(--portfolio-green) 12%, var(--surface));color:var(--portfolio-green)}.mock-status-ahead{border-color:var(--portfolio-blue);background:var(--portfolio-blue-bg);color:var(--portfolio-blue)}.mock-matrix-link{color:var(--portfolio-blue);font-size:16px;font-weight:600;line-height:24px;display:block}.mock-matrix-link,.mock-overview-page .portfolio-project-name{text-decoration:none}.mock-matrix-link:hover,.mock-matrix-link:focus-visible,.mock-overview-page .portfolio-project-name:hover,.mock-overview-page .portfolio-project-name:focus-visible{text-decoration:underline}.mock-overview-page .portfolio-facts-table th small{color:var(--portfolio-muted);font-size:var(--metrics-font-9);margin-top:3px;font-weight:400;display:block}.mock-matrix-project{border-left:2px solid var(--portfolio-blue);min-height:62px;padding-left:10px}.mock-requirement-total{align-items:baseline;gap:4px;display:flex}.mock-overview-page .portfolio-facts-table .mock-requirement-total strong{font-size:14px;font-weight:700;display:inline}.mock-requirement-total span{color:var(--portfolio-muted);font-size:var(--metrics-font-10);font-weight:400}.mock-matrix-main{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.mock-overview-page .portfolio-facts-table .mock-matrix-main strong{display:inline}.mock-matrix-main b{color:var(--portfolio-blue);font-size:var(--metrics-font-10);white-space:nowrap}.mock-overview-page .portfolio-facts-table .mock-matrix-warning{color:var(--portfolio-amber)}.mock-overview-page .portfolio-facts-table .mock-matrix-danger{color:var(--portfolio-red)}.mock-overview-page .portfolio-facts-table progress::-webkit-progress-value{border-radius:999px}.mock-overview-page .portfolio-facts-table progress::-moz-progress-bar{border-radius:999px}.mock-share-content{grid-template-columns:220px minmax(0,1fr);gap:18px;min-height:294px}.mock-share-content .overview-members-chart{width:215px;height:215px}.mock-share-content .overview-members-center strong{white-space:nowrap;justify-content:center;align-items:baseline;display:flex}.mock-share-content .overview-members-center strong span{color:var(--text);margin:0;font-size:24px;font-weight:600;line-height:32px}.mock-share-content .overview-members-center strong small{color:var(--text);font-size:18px}.mock-share-content .overview-members-center>span{max-width:140px;font-size:var(--metrics-font-10);text-align:center;white-space:nowrap;line-height:1.35}.mock-share-tooltip{z-index:2;border:1px solid var(--portfolio-line);background:var(--surface);width:170px;color:var(--text);box-shadow:0 8px 24px rgb(var(--portfolio-shadow-rgb) / 14%);pointer-events:none;opacity:0;border-radius:10px;gap:8px;padding:11px 12px;font-size:11px;transition:left .12s ease-out,top .12s ease-out,opacity .16s ease-out,transform .16s ease-out;display:grid;position:absolute;transform:translateY(5px)scale(.98)}.mock-share-tooltip.is-visible{opacity:1;transform:translateY(0)scale(1)}.mock-share-tooltip>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mock-share-tooltip>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mock-share-tooltip>span b{font-weight:500}.mock-share-tooltip>span em{color:var(--portfolio-blue);font-style:normal;font-weight:600}.mock-share-tooltip>small{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);font-size:var(--metrics-font-10);padding-top:8px}.mock-share-content .overview-members-list{gap:14px}.mock-share-content .overview-members-list li{padding-block:8px}.mock-share-content .overview-members-bar{height:7px}.mock-share-name-group{flex:auto;align-items:baseline;gap:8px;min-width:0;display:flex}.mock-share-name-group .overview-members-name{flex:0 auto}.mock-share-product,.mock-share-stage{color:var(--portfolio-muted);font-size:var(--metrics-font-10);white-space:nowrap}.mock-share-product{text-overflow:ellipsis;overflow:hidden}.mock-share-stage{margin-top:5px;display:block}.mock-share-footer{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);font-size:var(--metrics-font-10);padding:10px 16px;line-height:16px}.mock-share-back{border:1px solid var(--portfolio-line);background:var(--surface);color:var(--portfolio-muted);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;margin-left:auto;padding:6px 10px;font-size:11px;display:inline-flex}.mock-share-row-button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.mock-share-row-button:disabled{cursor:default}.mock-share-row-button b{white-space:nowrap;font-size:11px}.mock-share-row-heading{align-items:center;gap:8px;display:flex}.mock-donut-selectable{cursor:pointer;outline-offset:3px}.mock-donut-reveal{animation:.9s ease-out forwards mock-donut-draw}@keyframes mock-donut-draw{to{stroke-dashoffset:0}}.mock-share-detail{padding:18px 16px 16px}.mock-share-detail-overview{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:24px;min-height:214px;display:grid}.mock-share-detail-overview .overview-members-chart{width:195px;height:195px}.mock-share-detail-overview .overview-members-center strong{white-space:nowrap;justify-content:center;align-items:baseline;display:flex}.mock-share-detail-overview .overview-members-center strong span{color:var(--text);margin:0;font-size:24px;line-height:32px}.mock-share-detail-overview .overview-members-center strong small{color:var(--text);font-size:18px}.mock-share-detail-overview .overview-members-center>span{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-top:2px}.mock-share-role-list{gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.mock-share-role-list li,.mock-share-role-list li>span{align-items:center;gap:6px;display:flex}.mock-share-role-list li{min-width:0;color:var(--text);justify-content:space-between;font-size:11px}.mock-share-role-list li>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mock-share-role-list i{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.mock-share-role-list b{color:var(--text);white-space:nowrap;font-size:11px;font-weight:600}.mock-share-detail-people{border-top:1px solid var(--portfolio-soft-line);margin-top:18px;padding-top:16px}.mock-share-detail-people h3{color:var(--text);margin:0;font-size:14px;line-height:20px}.mock-share-detail-people>p:not(.mock-share-detail-note){color:var(--portfolio-muted);margin:4px 0 12px;font-size:11px}.mock-share-detail-people ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.mock-share-detail-people li{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:9px;min-width:0;padding:12px}.mock-share-person-heading{align-items:center;gap:8px;display:flex}.mock-share-person-rank{border:1px solid var(--portfolio-line);background:var(--surface);width:28px;height:28px;color:var(--portfolio-muted);border-radius:50%;flex:0 0 28px;place-items:center;font-size:12px;display:inline-grid}.mock-share-detail-people li:first-child .mock-share-person-rank{border-color:var(--portfolio-blue);background:var(--portfolio-blue);color:var(--portfolio-on-accent)}.mock-share-person-heading strong{color:var(--text);font-size:12px;display:block}.mock-share-person-heading small{font-size:var(--metrics-font-10);margin-top:2px;display:block}.mock-share-person-value{justify-content:space-between;align-items:baseline;gap:6px;margin-top:12px;display:flex}.mock-share-person-value strong{color:var(--text);white-space:nowrap;font-size:14px}.mock-share-person-value span{color:var(--portfolio-muted);font-size:var(--metrics-font-10)}.mock-share-person-track{background:var(--portfolio-line);border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.mock-share-person-track i{border-radius:inherit;background:var(--portfolio-blue);height:100%;display:block}.mock-share-detail-people .mock-share-detail-note{border:1px solid color-mix(in srgb, var(--portfolio-amber) 45%, var(--portfolio-line));background:var(--portfolio-amber-bg);color:var(--portfolio-amber);font-size:var(--metrics-font-10);border-radius:8px;margin:12px 0 0;padding:10px 12px;line-height:16px}@media (prefers-reduced-motion:reduce){.mock-share-tooltip{transition:none}.mock-donut-reveal{stroke-dashoffset:0;animation:none}}@media (width<=1400px){.mock-overview-page .portfolio-investment-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1280px){.mock-share-content{grid-template-columns:205px minmax(0,1fr);gap:14px}.mock-share-content .overview-members-chart{width:190px;height:190px}}@media (width<=1060px){.mock-share-content,.mock-share-detail-overview{grid-template-columns:minmax(0,1fr)}.mock-share-detail-overview{gap:12px}}@media (width<=700px){.mock-progress-cell{display:block}.mock-progress-track{margin-top:4px}.mock-overview-page .portfolio-table{min-width:836px}.mock-share-detail-people ol{grid-template-columns:minmax(0,1fr)}}.role-page-heading{background:var(--surface);border-bottom:1px solid var(--portfolio-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:-24px -24px 4px;padding:20px 24px;display:flex}.role-page-heading h2{margin:0;font-size:20px;font-weight:600;line-height:28px}.role-page-heading>span{color:var(--portfolio-muted);background:var(--portfolio-icon-bg);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.role-employee-overview{border:1px solid var(--portfolio-line);background:var(--surface);min-width:0;box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 6%);border-radius:12px;padding:8px 16px 12px}.role-employee-grid{grid-template-columns:1.15fr repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.role-employee-grid article{border-right:1px solid var(--portfolio-soft-line);min-width:0;padding:0 16px}.role-employee-grid article:last-child{border-right:0}.role-employee-grid .role-employee-primary{align-items:center;gap:12px;padding-left:0;display:flex}.role-employee-icon{width:40px;height:40px;color:var(--portfolio-blue);background:var(--portfolio-blue-bg);border-radius:10px;flex:0 0 40px;place-items:center;display:grid}.role-stat-label{color:var(--portfolio-muted);font-size:11px;line-height:16px}.role-employee-primary .role-stat-label{font-size:12px}.role-stat-value{align-items:baseline;gap:4px;margin-top:4px;display:flex}.role-stat-value strong{font-size:20px;font-weight:600;line-height:28px}.role-employee-primary .role-stat-value strong{font-size:24px;line-height:32px}.role-stat-value>span{color:var(--portfolio-muted);font-size:12px;line-height:16px}.role-employee-grid article:last-child strong{color:var(--portfolio-violet)}.role-employee-grid p{font-size:var(--metrics-font-10);color:var(--portfolio-muted);margin:4px 0 0;line-height:16px}.role-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.role-share-grid{align-items:start}.role-trend-grid{align-items:stretch}.role-share-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.role-scope-switch{background:var(--portfolio-icon-bg);border:0;border-radius:10px;align-items:center;gap:0;max-width:100%;padding:3px;display:inline-flex}.role-scope-switch button{height:32px;color:var(--portfolio-muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:11px;font-weight:500;line-height:16px}.role-scope-switch button[aria-pressed=true]{color:var(--portfolio-blue);background:var(--surface);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 10%)}.role-scope-violet button[aria-pressed=true]{color:var(--portfolio-violet)}.role-scope-switch{isolation:isolate;position:relative}.role-scope-switch:before{z-index:-1;background:var(--surface);width:calc(50% - 3px);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 10%);content:"";pointer-events:none;border-radius:8px;transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0)}.role-scope-switch:has(>button:nth-child(2)[aria-pressed=true]):before{transform:translate(100%)}.role-scope-switch button{z-index:1;flex:1 0 0;position:relative}.role-scope-switch button[aria-pressed=true]{box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.role-scope-switch:before{transition:none}}.role-export,.role-reset{border:1px solid var(--portfolio-line);background:var(--surface);height:28px;color:var(--portfolio-muted);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:11px;line-height:16px;display:inline-flex}.role-data-gap,.role-person-gap{color:var(--portfolio-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:14px;line-height:22px;display:flex}.role-data-gap{border:1px dashed var(--portfolio-line);background:var(--subtle);border-radius:10px}.role-data-gap p,.role-person-gap p{overflow-wrap:anywhere;margin:0}.role-data-gap svg,.role-person-gap svg{color:var(--icon);flex:none}.role-share-gap{min-height:140px}.role-trend-gap{height:350px}.role-detail-filters input{border:1px solid var(--portfolio-line);background:var(--surface);max-width:100%;height:36px;color:var(--text);font:inherit;border-radius:10px;padding:0 10px;font-size:12px}.metrics-select.role-trend-role{max-width:150px}.role-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.role-detail-stat{background:var(--portfolio-icon-bg);min-width:0;min-height:100px;color:var(--portfolio-muted);border-radius:8px;padding:16px}.role-detail-blue{background:var(--portfolio-blue-bg)}.role-detail-indigo{background:var(--portfolio-violet-bg)}.role-detail-green{background:color-mix(in srgb, var(--portfolio-green) 9%, var(--surface))}.role-detail-stat>span,.role-detail-stat p{font-size:12px;line-height:20px}.role-detail-stat>div{align-items:baseline;gap:4px;margin-top:4px;display:flex}.role-detail-stat strong{color:var(--text);font-size:24px;font-weight:600;line-height:32px}.role-detail-stat>div>span{font-size:22px}.role-detail-stat p{margin:4px 0 0}.role-detail-blue strong,.role-detail-blue>span{color:var(--portfolio-blue)}.role-detail-indigo strong,.role-detail-indigo>span{color:var(--portfolio-violet)}.role-detail-green strong,.role-detail-green>span{color:var(--portfolio-green)}.role-detail-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.role-month-filter{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.role-month-filter>span{color:var(--portfolio-muted);font-size:12px}.role-person-search{flex:1;min-width:220px;position:relative}.role-person-search svg{color:var(--icon);pointer-events:none;position:absolute;top:10px;left:12px}.role-person-search input{width:100%;padding:0 12px 0 36px;font-size:14px}.role-person-search input::placeholder{color:var(--portfolio-muted)}.role-detail-filters .role-export,.role-detail-filters .role-reset{height:36px;padding-inline:12px;font-size:14px}.role-detail-filters select{color:var(--portfolio-muted)}.role-person-table{border:1px solid var(--portfolio-line);border-radius:8px;margin-top:12px;overflow:hidden}.role-person-table table{min-width:1040px}.role-person-table th{background:var(--subtle);padding:12px;font-size:12px;font-weight:500;line-height:18px}.role-person-gap{min-height:140px}.role-detail-pagination{color:var(--portfolio-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 -20px -20px;padding:12px 16px;font-size:12px;display:flex}.role-pagination-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.role-pagination-controls label{align-items:center;gap:6px;margin-right:3px;display:flex}.role-pagination-controls select,.role-pagination-controls button{border:1px solid var(--portfolio-line);background:var(--surface);height:32px;color:var(--portfolio-muted);border-radius:6px;padding:0 8px;font-size:12px}.role-pagination-controls button{justify-content:center;align-items:center;gap:3px;display:inline-flex}.role-pagination-controls .role-detail-page-number{min-width:28px}.role-pagination-controls [aria-current=page]{min-width:28px;color:var(--portfolio-on-accent);background:var(--portfolio-blue);border-color:var(--portfolio-blue)}@media (width<=1279px){.role-two-columns{grid-template-columns:minmax(0,1fr)}.role-employee-grid,.role-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.role-employee-grid article{padding:12px 16px}.role-employee-grid article:nth-child(2){border-right:0}.role-employee-grid article:nth-child(-n+2){border-bottom:1px solid var(--portfolio-soft-line)}.role-employee-grid article:nth-child(3){padding-left:0}}@media (width<=700px){.role-page-heading{margin:-18px -12px 0;padding:18px 12px}.role-page-heading h2{font-size:18px}.role-page-heading>span{font-size:10px}.role-employee-grid,.role-detail-summary{grid-template-columns:minmax(0,1fr)}.role-employee-grid article,.role-employee-grid .role-employee-primary{border-right:0;border-bottom:1px solid var(--portfolio-soft-line);padding:12px 0}.role-employee-grid article:last-child{border-bottom:0;padding-bottom:0}.role-data-gap,.role-person-gap{font-size:12px}.role-detail-stat{padding:12px 8px}.role-detail-stat>span,.role-detail-stat p{font-size:11px}.role-person-search{flex-basis:100%;min-width:0}.role-person-search input{min-width:0}.role-detail-pagination{margin:0 -16px -16px}.role-pagination-controls>button>span{display:none}}.preview-role-share-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.preview-role-share-summary>div{background:var(--portfolio-icon-bg);border-radius:8px;min-width:0;min-height:76px;padding:12px}.preview-role-share-summary>div:first-child{background:var(--portfolio-blue-bg)}.preview-role-share-summary.tone-violet>div:first-child{background:var(--portfolio-violet-bg)}.preview-role-share-summary>div:last-child{background:color-mix(in srgb, var(--portfolio-blue) 10%, var(--surface))}.preview-role-share-summary.tone-violet>div:last-child{background:color-mix(in srgb, var(--portfolio-violet) 10%, var(--surface))}.preview-role-share-summary span{color:var(--portfolio-muted);font-size:11px;line-height:16px;display:block}.preview-role-share-summary strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin-top:4px;font-size:20px;font-weight:600;line-height:28px;display:block;overflow:hidden}.preview-role-share-summary>div:first-child strong,.preview-role-share-summary>div:last-child strong{color:var(--portfolio-blue)}.preview-role-share-summary.tone-violet>div:first-child strong,.preview-role-share-summary.tone-violet>div:last-child strong{color:var(--portfolio-violet)}@media (width>=701px){.preview-role-share-summary>div:first-child>:is(span,p),.preview-role-share-summary>div:last-child>:is(span,p){color:var(--portfolio-blue)}.preview-role-share-summary.tone-blue>div:last-child{background:var(--portfolio-average-hours-bg)}.preview-role-share-summary.tone-blue>div:last-child>:is(span,p){color:var(--portfolio-average-hours-accent)}.preview-role-share-summary.tone-blue>div:last-child strong{color:var(--portfolio-average-hours-value)}.preview-role-share-summary.tone-violet>div:first-child>:is(span,p){color:var(--portfolio-violet)}.preview-role-share-summary.tone-violet>div:last-child{background:var(--portfolio-magenta-bg)}.preview-role-share-summary.tone-violet>div:last-child>:is(span,p),.preview-role-share-summary.tone-violet>div:last-child strong{color:var(--portfolio-magenta-strong)}}.preview-role-share-summary small{color:inherit;font-size:18px;font-weight:inherit;margin-left:0}.preview-role-page .role-scope-switch button{font-size:14px;line-height:20px}.preview-role-share-list{gap:8px;margin-top:16px;display:grid}.preview-role-share-row{border-radius:8px;grid-template-columns:minmax(110px,190px) minmax(40px,1fr) minmax(105px,132px);align-items:center;gap:10px;min-height:46px;padding:4px 6px;display:grid}.preview-role-share-row:hover{background:var(--subtle)}.preview-role-share-row>div{min-width:0}.preview-role-share-row>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px;font-weight:500;line-height:18px;display:block;overflow:hidden}.preview-role-share-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-top:2px;line-height:15px;display:block;overflow:hidden}.preview-role-share-track{background:var(--portfolio-icon-bg);border-radius:999px;height:12px;overflow:hidden}.preview-role-share-track i{border-radius:inherit;background:color-mix(in srgb, var(--portfolio-blue) 72%, var(--surface));height:100%;display:block}.preview-role-share-row.is-leading .preview-role-share-track i{background:var(--portfolio-blue)}.tone-violet~.preview-role-share-list .preview-role-share-track i{background:color-mix(in srgb, var(--portfolio-violet) 72%, var(--surface))}.tone-violet~.preview-role-share-list .preview-role-share-row.is-leading .preview-role-share-track i{background:var(--portfolio-violet)}.preview-role-share-row>div:last-child{white-space:nowrap;justify-content:flex-end;gap:20px;font-size:11px;display:flex}.preview-role-share-row>div:last-child strong{color:var(--text);font-weight:600}.preview-role-share-row>div:last-child b{color:var(--portfolio-blue)}.tone-violet~.preview-role-share-list .preview-role-share-row>div:last-child b{color:var(--portfolio-violet)}.preview-role-share-axis{color:var(--portfolio-muted);font-size:var(--metrics-font-10);justify-content:space-between;margin:4px 140px 0 205px;display:flex}.preview-role-pager{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:12px -16px -16px;padding:10px 16px;font-size:11px;display:flex}.preview-role-pager>div,.preview-role-pager label{align-items:center;gap:5px;display:inline-flex}.preview-role-pager button,.preview-role-pager select{border:1px solid var(--portfolio-line);background:var(--surface);min-width:28px;height:28px;color:var(--text);border-radius:6px;place-items:center;padding:0 6px;font-size:11px;display:inline-grid}.preview-role-line-chart{min-height:370px;position:relative}.preview-role-trend-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:22px;display:grid}.preview-role-trend-summary>div{background:var(--subtle);border-radius:9px;min-width:0;padding:12px}.preview-role-trend-summary>div:nth-child(2){background:var(--portfolio-blue-bg)}.preview-role-trend-summary span{color:var(--portfolio-muted);font-size:11px;display:block}.preview-role-trend-summary strong{color:var(--text);margin-top:6px;font-size:20px;line-height:26px;display:block}.preview-role-trend-summary>div:nth-child(2) strong{color:var(--portfolio-blue)}.preview-role-trend-summary small{color:inherit;font-size:18px;font-weight:inherit;margin-left:0}.preview-role-line-chart svg{width:100%;height:280px;margin-top:10px;display:block;overflow:visible}.preview-role-chart-reveal{transform-box:fill-box;transform-origin:0;animation:.85s ease-out forwards preview-role-chart-draw;transform:scaleX(0)}@keyframes preview-role-chart-draw{to{transform:scaleX(1)}}.preview-role-chart-legend{color:var(--portfolio-muted);flex-wrap:wrap;justify-content:flex-end;gap:14px;font-size:11px;display:flex}.preview-role-chart-legend span{align-items:center;gap:5px;display:inline-flex}.preview-role-chart-legend i{border-top:2px solid;width:16px;height:0}.preview-role-chart-legend .plan{border-color:var(--portfolio-muted);border-top-style:dashed}.preview-role-chart-legend .actual{border-color:var(--portfolio-blue)}.preview-role-grid-line{stroke:var(--portfolio-line);stroke-width:1px;stroke-dasharray:3 4}.preview-role-axis-text{fill:var(--portfolio-muted);font-size:12px}.preview-role-hover-guide{stroke:var(--portfolio-line);stroke-width:1px;opacity:0;transition:transform .22s,opacity .16s}.preview-role-hover-guide.is-visible{opacity:1}.preview-role-plan-line,.preview-role-actual-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.preview-role-plan-line{stroke:var(--portfolio-muted);stroke-dasharray:5 5}.preview-role-actual-line{stroke:var(--portfolio-blue)}.preview-role-plan-dot{fill:var(--portfolio-muted)}.preview-role-actual-dot{fill:var(--portfolio-blue)}.preview-role-line-chart rect{cursor:crosshair}.preview-role-line-chart rect:focus{outline:none}.preview-role-chart-tooltip{--role-tooltip-width:220px;z-index:2;width:var(--role-tooltip-width);border:1px solid var(--portfolio-line);background:var(--surface);max-width:100%;color:var(--portfolio-muted);box-shadow:0 8px 24px rgb(var(--portfolio-shadow-rgb) / 14%);pointer-events:none;opacity:0;border-radius:8px;gap:7px;padding:10px 12px;font-size:11px;transition:left .22s,opacity .16s,transform .16s;display:grid;position:absolute;top:132px;transform:translateY(4px)}.preview-role-chart-tooltip.is-visible{opacity:1;transform:translateY(0)}.preview-role-chart-tooltip b{color:var(--text)}.preview-role-chart-tooltip span{justify-content:space-between;gap:16px;display:flex}.preview-role-chart-tooltip strong{color:var(--portfolio-blue)}.preview-role-chart-tooltip .is-plan,.preview-role-chart-tooltip .is-plan strong{color:var(--portfolio-muted)}.preview-role-chart-tooltip .is-actual,.preview-role-chart-tooltip .is-actual strong{color:var(--portfolio-blue)}.preview-role-chart-tooltip span:not(.is-plan,.is-actual) strong{color:var(--text)}.preview-role-page .role-person-table td{border-bottom:1px solid var(--portfolio-soft-line);color:var(--text);white-space:nowrap;padding:12px;font-size:12px}.preview-role-page .role-person-table tbody tr:last-child td{border-bottom:0}.preview-role-page .role-person-table tbody tr:hover{background:var(--subtle)}.preview-role-page .role-person-table td:first-child strong{font-weight:600;display:block}.preview-role-page .role-person-table td small{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-top:3px;display:block}.preview-role-page .role-person-table .preview-role-warning,.preview-role-page .role-person-table .preview-role-rate-low{color:var(--portfolio-amber);font-weight:600}.preview-role-page .role-person-table .preview-role-rate-complete{color:var(--portfolio-green);font-weight:600}.preview-role-page .role-detail-stat>div{color:var(--text)}.preview-role-page .role-detail-stat>div>span{font-weight:600}.preview-role-page .role-detail-blue>div{color:var(--portfolio-blue)}.preview-role-page .role-detail-indigo>div{color:var(--portfolio-violet)}.preview-role-page .role-detail-green>div{color:var(--portfolio-green)}.preview-role-page-number{background:var(--portfolio-blue);min-width:28px;height:32px;color:var(--portfolio-on-accent);border-radius:6px;place-items:center;display:inline-grid}.preview-role-page .source-panel-actions{align-items:center}@media (width<=700px){.preview-role-share-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-role-share-summary>div{padding:9px}.preview-role-share-summary strong{font-size:16px}.preview-role-share-row{grid-template-columns:minmax(0,1fr) auto}.preview-role-share-row .preview-role-share-track{grid-area:2/1/auto/-1}.preview-role-share-axis{display:none}.preview-role-trend-summary{gap:5px}.preview-role-trend-summary>div{padding:8px}.preview-role-trend-summary strong{font-size:15px}.preview-role-line-chart svg{height:240px}.preview-role-chart-tooltip{--role-tooltip-width:190px;top:116px}}@media (prefers-reduced-motion:reduce){.preview-role-chart-reveal{animation:none;transform:none}.preview-role-hover-guide,.preview-role-chart-tooltip{transition:none}}.preview-role-page .role-share-toolbar .metric-export-control .portfolio-export{border:1px solid var(--portfolio-line);background:var(--surface);height:28px;color:var(--portfolio-muted);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:11px;line-height:16px;display:inline-flex}.preview-role-page .preview-role-line-chart .metric-history-chart{min-height:280px}.preview-role-share-track .preview-role-share-progress{appearance:none;background:var(--portfolio-icon-bg);border:0;border-radius:999px;width:100%;height:12px;display:block;overflow:hidden}.preview-role-share-track .preview-role-share-progress::-webkit-progress-bar{background:var(--portfolio-icon-bg)}.preview-role-share-track .preview-role-share-progress::-webkit-progress-value{background:color-mix(in srgb, var(--portfolio-blue) 72%, var(--surface));border-radius:999px}.preview-role-share-row.is-leading .preview-role-share-progress::-webkit-progress-value{background:var(--portfolio-blue)}.preview-role-share-track .preview-role-share-progress::-moz-progress-bar{background:color-mix(in srgb, var(--portfolio-blue) 72%, var(--surface));border-radius:999px}.preview-role-share-row.is-leading .preview-role-share-progress::-moz-progress-bar{background:var(--portfolio-blue)}.tone-violet~.preview-role-share-list .preview-role-share-progress::-webkit-progress-value{background:color-mix(in srgb, var(--portfolio-violet) 72%, var(--surface))}.tone-violet~.preview-role-share-list .preview-role-share-row.is-leading .preview-role-share-progress::-webkit-progress-value{background:var(--portfolio-violet)}.tone-violet~.preview-role-share-list .preview-role-share-progress::-moz-progress-bar{background:color-mix(in srgb, var(--portfolio-violet) 72%, var(--surface))}.tone-violet~.preview-role-share-list .preview-role-share-row.is-leading .preview-role-share-progress::-moz-progress-bar{background:var(--portfolio-violet)}.member-share-error{color:var(--portfolio-red);font-size:12px;line-height:20px}.member-share-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.member-share-totals>div{background:var(--portfolio-violet-bg);border-radius:8px;min-width:0;min-height:74px;padding:12px}.member-share-totals>div:nth-child(2){background:var(--portfolio-icon-bg)}.member-share-totals>div:nth-child(3){background:color-mix(in srgb, var(--portfolio-violet) 10%, var(--surface))}.member-share-totals span{color:var(--portfolio-muted);font-size:11px;line-height:16px}.member-share-totals>div:first-child span,.member-share-totals>div:first-child strong,.member-share-totals>div:nth-child(3) strong{color:var(--portfolio-violet)}.member-share-totals strong{color:var(--text);margin-top:4px;font-size:20px;font-weight:600;line-height:28px;display:block}.member-share-totals small{font-size:var(--metrics-font-10);color:var(--portfolio-muted);margin-left:4px;font-weight:400}.member-share-rows{gap:10px;padding-block:16px;display:grid}.member-share-row{border-radius:8px;grid-template-columns:minmax(115px,190px) minmax(60px,1fr) minmax(110px,132px);align-items:center;gap:8px;min-height:38px;padding:4px 6px;display:grid}.member-share-row:hover{background:var(--subtle)}.member-share-row>strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.member-share-row>span{text-align:right;white-space:nowrap;color:var(--portfolio-muted);font-size:11px}.member-share-row b{color:var(--portfolio-violet);margin-left:8px}.member-share-row progress{width:100%;height:12px;accent-color:var(--portfolio-violet);border:0;border-radius:999px;overflow:hidden}.member-share-row progress::-webkit-progress-bar{background:var(--portfolio-icon-bg)}.member-share-row progress::-webkit-progress-value{background:var(--portfolio-violet)}.member-share-row progress::-moz-progress-bar{background:var(--portfolio-violet)}.member-share-pagination{border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);flex-wrap:wrap;align-items:center;gap:6px;padding-top:12px;font-size:11px;display:flex}.member-share-pagination>span:first-child{margin-right:auto}.member-share-pagination label{align-items:center;gap:4px;display:flex}.member-share-pagination select,.member-share-pagination button{border:1px solid var(--portfolio-line);background:var(--surface);height:28px;color:var(--text);border-radius:6px;place-items:center;padding:0 6px;font-size:11px;display:grid}.member-share-na{color:var(--portfolio-muted);font-size:12px}@media (width<=700px){.member-share-row{grid-template-columns:minmax(0,1fr) auto}.member-share-row progress{grid-area:2/1/auto/-1}.member-share-totals{grid-template-columns:minmax(0,1fr)}}.metrics-month-picker{flex:none;min-width:0;display:inline-flex}.metrics-month-trigger{border:1px solid var(--portfolio-line);background:var(--surface);min-width:132px;height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 11px;font-size:12px;transition:border-color .15s,box-shadow .15s;display:flex}.metrics-month-trigger span{white-space:nowrap}.metrics-month-trigger svg{color:var(--portfolio-muted);flex:none}.metrics-month-trigger:focus-visible,.metrics-month-picker.is-open .metrics-month-trigger{border-color:var(--portfolio-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--portfolio-blue) 14%, transparent);outline:none}.metrics-month-menu{z-index:1000;box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--portfolio-line);background:var(--surface);color:var(--text);border-radius:10px;padding:12px;font-size:12px;animation:.15s metrics-month-enter;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0f172a26}.metrics-month-heading{border-bottom:1px solid var(--portfolio-soft-line);justify-content:space-between;align-items:center;gap:8px;padding-bottom:10px;display:flex}.metrics-month-heading strong{font-size:13px;font-weight:600}.metrics-month-menu button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.metrics-month-heading button{width:28px;height:28px;color:var(--portfolio-muted)}.metrics-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 0;display:grid}.metrics-month-grid button{height:34px}.metrics-month-menu button:hover:not(:disabled){background:var(--portfolio-blue-bg);color:var(--portfolio-blue)}.metrics-month-grid button[aria-pressed=true]{background:var(--portfolio-blue-bg);color:var(--portfolio-blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--portfolio-blue) 24%, transparent);font-weight:600}.metrics-month-menu button:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:1px}.metrics-month-menu button:disabled{color:var(--portfolio-muted);opacity:.4;cursor:not-allowed}.metrics-month-footer{border-top:1px solid var(--portfolio-soft-line);justify-content:flex-end;padding-top:8px;display:flex}.metrics-month-footer button{height:28px;color:var(--portfolio-blue);padding:0 10px}[data-theme=dark] .metrics-month-menu{box-shadow:0 12px 32px #00000059}@keyframes metrics-month-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.metrics-month-menu{animation:none}.metrics-month-trigger,.metrics-month-menu button{transition:none}}.report-preview-page{gap:20px}.report-preview-page .report-project-selector{grid-template-columns:minmax(270px,1.35fr) minmax(0,3fr)}.report-preview-picker{border:1px solid color-mix(in srgb, var(--portfolio-blue) 23%, var(--surface));background:var(--portfolio-blue-bg);border-radius:9px;flex-direction:column;justify-content:center;min-width:0;padding:12px;display:flex}.report-preview-picker>span{color:var(--portfolio-blue);margin-bottom:7px;font-size:11px;font-weight:600}.report-preview-picker select{border:1px solid color-mix(in srgb, var(--portfolio-blue) 30%, var(--surface));background:var(--surface);width:100%;height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px;font-size:14px;font-weight:500}.report-preview-page .report-project-facts{gap:8px}.report-preview-page .report-project-facts>div{background:var(--subtle);border:0;border-radius:8px;padding:10px 12px}.report-preview-page .report-progress-overall{background:var(--subtle)}.report-preview-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.report-preview-status.status-severe{color:var(--portfolio-red);background:var(--portfolio-red-bg)}.report-preview-status.status-delayed{color:var(--portfolio-amber);background:var(--portfolio-amber-bg)}.report-preview-status.status-normal,.report-preview-status.status-ahead{color:var(--portfolio-green);background:color-mix(in srgb, var(--portfolio-green) 10%, var(--surface))}.report-preview-progress-line{color:var(--portfolio-muted);white-space:nowrap;align-items:center;gap:12px;margin-top:22px;font-size:11px;display:flex}.report-preview-progress-line>span{flex:none}.report-preview-progress-line b{color:var(--portfolio-blue)}.report-preview-progress-line i{color:var(--portfolio-line);font-style:normal}.report-preview-progress-track{background:var(--portfolio-line);border-radius:999px;flex:auto;min-width:90px;height:10px;margin-block:4px;position:relative}.report-preview-progress-track>i{position:absolute;top:0;bottom:0}.report-preview-progress-done{background:var(--portfolio-blue);border-radius:999px 0 0 999px;left:0}.report-preview-progress-severe{background:var(--portfolio-severe-fill)}.report-preview-progress-delayed{background:var(--portfolio-delayed-fill)}.report-preview-progress-ahead{background:var(--portfolio-green);border-radius:0 999px 999px 0}.report-preview-progress-track .report-preview-progress-marker{z-index:1;background:var(--text);border-radius:1px;width:1px;height:18px;top:-4px;bottom:auto;transform:translate(-50%)}.report-preview-page .report-progress-variance strong.is-delayed{color:var(--portfolio-amber)}.report-preview-page .report-progress-variance strong.is-ahead{color:var(--portfolio-green)}.report-preview-milestones{grid-template-columns:repeat(5,minmax(92px,1fr));gap:8px;margin-top:20px;display:grid}.report-preview-milestone{border:1px solid var(--portfolio-soft-line);background:var(--subtle);min-width:0;color:var(--portfolio-muted);font-size:var(--metrics-font-10);border-radius:8px;flex-direction:column;padding:10px;display:flex}.report-preview-milestone:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:2px}.report-preview-milestone.is-current{border-color:color-mix(in srgb, var(--portfolio-blue) 45%, var(--surface));background:var(--portfolio-blue-bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--portfolio-blue) 23%, var(--surface))}.report-preview-milestone .milestone-bar{background:var(--portfolio-line);border-radius:99px;height:8px}.report-preview-milestone.milestone-severe .milestone-bar{background:var(--portfolio-red)}.report-preview-milestone.milestone-delayed .milestone-bar{background:var(--portfolio-amber)}.report-preview-milestone.milestone-ahead .milestone-bar{background:var(--portfolio-green)}.report-preview-milestone.milestone-normal .milestone-bar{background:var(--portfolio-blue)}.report-preview-milestone>div{justify-content:space-between;align-items:center;gap:5px;margin-top:9px;display:flex}.report-preview-milestone>div b{color:var(--text);font-size:12px}.report-preview-milestone em{background:var(--portfolio-blue);color:var(--portfolio-on-accent);font-style:normal;font-size:var(--metrics-font-9);border-radius:4px;padding:2px 5px}.report-preview-milestone>span{color:var(--portfolio-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;overflow:hidden}.report-preview-milestone>small{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-top:12px}.report-preview-milestone>strong{font-size:var(--metrics-font-10);margin-top:5px}.report-preview-milestone.milestone-severe>strong{color:var(--portfolio-red)}.report-preview-milestone.milestone-delayed>strong{color:var(--portfolio-amber)}.report-preview-milestone.milestone-ahead>strong{color:var(--portfolio-green)}.report-preview-milestone.milestone-normal>strong{color:var(--portfolio-blue)}.report-preview-page .report-milestone-legend span{align-items:center;gap:5px;display:inline-flex}.report-preview-page .report-milestone-legend span:before{content:"";background:var(--portfolio-line);border-radius:3px;width:11px;height:8px}.report-preview-page .report-milestone-legend span:first-child:before{background:var(--portfolio-red)}.report-preview-page .report-milestone-legend span:nth-child(2):before{background:var(--portfolio-amber)}.report-preview-page .report-milestone-legend span:nth-child(3):before{background:var(--portfolio-blue)}.report-preview-page .report-milestone-legend span:nth-child(4):before{background:var(--portfolio-green)}.report-preview-matrix{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.report-preview-metric{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:11px;min-width:0;min-height:142px;padding:14px}.report-preview-metric:focus-visible{outline:2px solid var(--metric-color,var(--portfolio-blue));outline-offset:3px}.report-metric-tooltip{z-index:1000;border:1px solid var(--portfolio-line);background:var(--surface);color:var(--text);box-shadow:0 8px 24px rgb(var(--portfolio-shadow-rgb) / 16%);pointer-events:none;--tooltip-offset:6px;opacity:1;border-radius:10px;padding:14px 16px;font-size:12px;line-height:20px;transition:opacity .18s cubic-bezier(.16,1,.3,1),translate .18s cubic-bezier(.16,1,.3,1);position:fixed;overflow-y:auto;translate:0}.report-metric-tooltip.is-above{--tooltip-offset:-6px}.report-metric-tooltip.is-closing{opacity:0;translate:0 var(--tooltip-offset);transition-duration:.14s;transition-timing-function:ease-in}@starting-style{.report-metric-tooltip{opacity:0;translate:0 var(--tooltip-offset)}}.report-metric-tooltip>strong{margin-bottom:8px;font-size:13px;display:block}.report-metric-tooltip dl{gap:6px;margin:0;display:grid}.report-metric-tooltip dl>div{grid-template-columns:56px minmax(0,1fr);gap:10px;display:grid}.report-metric-tooltip dt{color:var(--portfolio-muted)}.report-metric-tooltip dd{overflow-wrap:anywhere;min-width:0;margin:0}.report-preview-metric.metric-violet{background:var(--portfolio-violet-bg);border-color:color-mix(in srgb, var(--portfolio-violet) 20%, var(--surface));--metric-color:var(--portfolio-violet)}.report-preview-metric.metric-blue{background:var(--portfolio-blue-bg);border-color:color-mix(in srgb, var(--portfolio-blue) 23%, var(--surface));--metric-color:var(--portfolio-blue)}.report-preview-metric.metric-cyan{background:color-mix(in srgb, var(--portfolio-cyan) 10%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-cyan) 25%, var(--surface));--metric-color:var(--portfolio-cyan)}.report-preview-metric.metric-indigo{background:color-mix(in srgb, var(--portfolio-indigo) 10%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-indigo) 23%, var(--surface));--metric-color:var(--portfolio-indigo)}.report-preview-metric.metric-green{background:color-mix(in srgb, var(--portfolio-green) 10%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-green) 22%, var(--surface));--metric-color:var(--portfolio-green)}.report-preview-metric.metric-amber{background:var(--portfolio-amber-bg);border-color:color-mix(in srgb, var(--portfolio-amber) 18%, var(--surface));--metric-color:var(--portfolio-amber)}.report-preview-metric-title{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.report-preview-metric-title b{color:var(--metric-color);font-size:12px}.report-preview-metric-title span{color:var(--metric-color);font-size:var(--metrics-font-10)}.report-preview-metric-value{align-items:baseline;gap:4px;margin-top:9px;display:flex}.report-preview-metric-value strong{color:var(--text);font-size:24px;font-weight:600;line-height:32px}.report-preview-metric-value span{color:var(--portfolio-muted);font-size:12px}.report-preview-mini-track{background:color-mix(in srgb, var(--metric-color) 14%, var(--surface));border-radius:99px;height:6px;margin-top:12px;overflow:hidden}.report-preview-mini-track i{background:var(--metric-color);border-radius:99px;height:100%;display:block}.report-preview-metric p{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin:9px 0 0;line-height:15px}.report-preview-metric p .report-preview-note-warning{color:var(--portfolio-amber)}.report-preview-metric p .report-preview-note-danger{color:var(--portfolio-red)}.report-preview-requirements{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:10px;display:grid}.report-preview-requirements span{background:var(--surface);color:var(--portfolio-muted);text-align:center;font-size:var(--metrics-font-9);border-radius:4px;padding:4px 1px}.report-preview-requirements b{color:var(--text);margin-top:3px;font-size:11px;display:block}.report-preview-trend-summary{min-height:32px;color:var(--portfolio-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11px;display:flex}.report-preview-trend-legend{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.report-preview-trend-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.report-preview-trend-legend i{border-top:2px solid;width:16px;height:0;display:inline-block}.report-preview-trend-summary>b{color:var(--portfolio-muted);margin-left:auto;font-size:11px;font-weight:500}.report-preview-trend-summary strong{color:var(--portfolio-blue);font-weight:600}.report-preview-trend-summary .is-warning{color:var(--portfolio-amber)}.report-preview-page .report-trend-grid .metrics-grain-switch button{min-width:38px;font-size:14px}.report-preview-chart{width:100%;min-height:250px;margin-top:9px;position:relative}.report-preview-chart>svg{width:100%;height:auto;display:block}.report-preview-chart-reveal{transform-box:fill-box;transform-origin:0;animation:.85s ease-out forwards report-preview-chart-draw;transform:scaleX(0)}@keyframes report-preview-chart-draw{to{transform:scaleX(1)}}.report-preview-chart rect{cursor:crosshair}.report-preview-chart rect:focus{outline:none}.report-preview-grid-line{stroke:var(--portfolio-line);stroke-width:1px;stroke-dasharray:3 3}.report-preview-grid-line.is-baseline{stroke:var(--portfolio-neutral);stroke-width:1.3px;stroke-dasharray:4 4}.report-preview-zero-line{stroke:var(--portfolio-muted);stroke-width:1px;stroke-dasharray:5 4}.report-preview-hover-guide{stroke:var(--portfolio-line);stroke-width:1px}.report-preview-axis-text{fill:var(--portfolio-muted);font-size:12px}.report-preview-chart-tooltip{--report-tooltip-width:240px;z-index:2;width:var(--report-tooltip-width);border:1px solid var(--portfolio-line);background:var(--surface);max-width:100%;color:var(--portfolio-muted);box-shadow:0 8px 24px rgb(var(--portfolio-shadow-rgb) / 14%);text-align:left;overflow-wrap:anywhere;pointer-events:none;opacity:0;border-radius:8px;flex-direction:column;gap:7px;padding:10px 12px;font-size:11px;transition:left .18s ease-out,top .18s ease-out,opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;transform:translateY(6px)}.report-preview-chart-tooltip.is-visible{opacity:1;transform:translateY(0)}.report-preview-chart-tooltip>b{color:var(--text)}.report-preview-chart-tooltip>span{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.report-preview-chart-tooltip i{border-radius:50%;flex-shrink:0;width:7px;height:7px}.report-preview-chart-tooltip strong{max-width:100%;color:var(--text);margin-left:auto}.report-forecast-tooltip dl{gap:6px;margin:0 0 8px;display:grid}.report-forecast-tooltip dl>div{grid-template-columns:52px minmax(0,1fr);gap:6px;display:grid}.report-forecast-tooltip dd{color:var(--text);text-align:right;margin:0}.report-forecast-tooltip table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;color:var(--text)}.report-forecast-tooltip th,.report-forecast-tooltip td{text-align:right;overflow-wrap:anywhere;background:0 0;border:0;padding:5px 0}.report-forecast-tooltip th:first-child{text-align:left;width:52px;color:var(--portfolio-muted);padding-left:0;font-weight:400}.report-forecast-tooltip thead th:nth-child(2){color:var(--portfolio-violet)}.report-forecast-tooltip thead th:nth-child(3){color:var(--portfolio-blue)}.report-preview-chart-empty{min-height:250px;color:var(--portfolio-muted);place-items:center;font-size:13px;display:grid}@media (prefers-reduced-motion:reduce){.report-metric-tooltip{transition:none}.report-preview-chart-reveal{animation:none;transform:none}.report-preview-chart-tooltip{transition:none}}.report-preview-role-layout{grid-template-columns:minmax(0,1fr) 360px;gap:20px;display:grid}.report-preview-role-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-preview-role-totals>div{background:var(--portfolio-blue-bg);border-radius:8px;padding:12px}.report-preview-role-totals>div:nth-child(2){background:var(--portfolio-violet-bg)}.report-preview-role-totals span{color:var(--portfolio-blue);font-size:12px;display:block}.report-preview-role-totals>div:nth-child(2) span{color:var(--portfolio-violet)}.report-preview-role-totals strong{color:var(--portfolio-blue);margin-top:5px;font-size:20px;display:block}.report-preview-role-totals>div:nth-child(2) strong{color:var(--portfolio-violet)}.report-preview-role-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.report-preview-role-card{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:8px;min-width:0;padding:10px}.report-preview-role-card>span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.report-preview-role-card>span i{border-radius:50%;flex:0 0 8px;height:8px}.report-preview-role-card>div{justify-content:space-between;align-items:end;gap:4px;margin-top:9px;display:flex}.report-preview-role-card strong{color:var(--text);font-size:13px}.report-preview-role-card b{color:var(--portfolio-violet);text-align:right;font-size:12px}.report-preview-role-card small{color:var(--portfolio-muted);font-size:var(--metrics-font-9);white-space:nowrap;margin:3px 0 0;font-weight:400;display:block}.report-preview-delayed{border:1px solid color-mix(in srgb, var(--portfolio-amber) 55%, var(--surface));background:var(--portfolio-amber-bg);border-radius:10px;padding:16px}.report-preview-delayed-heading{justify-content:space-between;gap:10px;display:flex}.report-preview-delayed-heading h3{color:var(--text);margin:0;font-size:14px}.report-preview-delayed-heading p{color:var(--portfolio-muted);margin:5px 0 0;font-size:11px;line-height:16px}.report-preview-delayed-heading strong{color:var(--portfolio-amber);white-space:nowrap;font-size:20px}.report-preview-delayed-heading strong small{text-align:right;color:var(--portfolio-amber);font-size:var(--metrics-font-10);display:block}.report-preview-delay-row{margin-top:13px}.report-preview-delay-row>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.report-preview-delay-row>div span{color:var(--text);font-size:12px;font-weight:600}.report-preview-delay-row>div small{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin-left:7px;font-weight:400}.report-preview-delay-row>div b{color:var(--portfolio-amber);font-size:13px}.report-preview-delay-row p{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin:4px 0 5px}.report-preview-delay-row>i{background:color-mix(in srgb, var(--portfolio-amber) 18%, var(--surface));border-radius:99px;height:6px;display:block;overflow:hidden}.report-preview-delay-row em{background:var(--portfolio-amber);border-radius:99px;height:100%;display:block}.report-preview-members{border-top:1px solid var(--portfolio-line);margin-top:20px;padding-top:20px}.report-preview-members-heading{justify-content:space-between;align-items:end;gap:10px;display:flex}.report-preview-members-heading h3{color:var(--text);margin:0;font-size:14px}.report-preview-members-heading span{color:var(--portfolio-muted);font-size:12px}.report-preview-members-heading b{color:var(--portfolio-blue)}.report-preview-member-filters{grid-template-columns:minmax(180px,1fr) 180px auto;gap:12px;margin-top:16px;display:grid}.report-preview-member-filters label{position:relative}.report-preview-member-filters label svg{color:var(--portfolio-muted);position:absolute;top:10px;left:12px}.report-preview-member-filters input,.report-preview-member-filters>button{border:1px solid var(--portfolio-line);background:var(--surface);height:36px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px;font-size:12px}.report-preview-member-filters input{width:100%;padding-left:34px}.report-preview-member-filters>button{cursor:pointer;align-items:center;gap:5px;display:flex}.report-preview-member-filters>button:disabled{opacity:.5;cursor:not-allowed}.report-preview-member-table{border:1px solid var(--portfolio-line);border-radius:8px;margin-top:12px;overflow-x:auto}.report-preview-member-table table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1080px}.report-preview-member-index-col{width:46px}.report-preview-member-table th{background:var(--subtle);color:var(--portfolio-muted);text-align:left;padding:12px 7px;font-size:11px;font-weight:500}.report-preview-member-table td{border-top:1px solid var(--portfolio-soft-line);color:var(--portfolio-muted);vertical-align:middle;padding:12px 7px;font-size:11px}.report-preview-member-table td:first-child{color:var(--portfolio-muted)}.report-preview-member-table td:nth-child(2){width:14%}.report-preview-member-table td b{color:var(--text)}.report-preview-member-table td small{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin:4px 0 0;display:block}.report-preview-member-role{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.report-preview-member-role i{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.report-preview-share{align-items:center;gap:7px;display:flex}.report-preview-share>i{background:var(--portfolio-soft-line);border-radius:99px;flex:1;height:7px}.report-preview-share em{background:var(--portfolio-blue);border-radius:99px;height:100%;display:block}.report-preview-role-share em{background:var(--portfolio-neutral)}.report-preview-page .report-preview-member-table .report-preview-delayed-hours{color:var(--portfolio-muted);font-size:14px;font-weight:600}.report-preview-page .report-preview-member-table .report-preview-delay-positive .report-preview-delayed-hours,.report-preview-page .report-preview-member-table .report-preview-delay-positive small,.report-preview-page .report-preview-member-table .report-preview-delayed-tasks.is-positive{color:var(--portfolio-amber)}.report-preview-page .report-preview-member-table .report-preview-delayed-tasks{color:var(--portfolio-muted);white-space:nowrap;font-size:12px;font-weight:500}.report-preview-page .report-preview-member-table .report-preview-average-hours{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.report-preview-member-empty{color:var(--portfolio-muted);text-align:center;padding:28px;font-size:12px}.report-preview-pagination,.report-preview-pagination>div,.report-preview-pagination label{align-items:center;gap:6px;display:flex}.report-preview-pagination>div{flex-wrap:wrap}.report-preview-pagination{color:var(--portfolio-muted);justify-content:space-between;margin-top:12px;font-size:11px}.report-preview-pagination button,.report-preview-pagination select{border:1px solid var(--portfolio-line);background:var(--surface);height:32px;color:var(--portfolio-muted);font:inherit;border-radius:6px;padding:0 9px}.report-preview-pagination [aria-current=page]{background:var(--portfolio-blue);border-color:var(--portfolio-blue);color:var(--portfolio-on-accent)}.report-preview-pagination button:disabled{opacity:.45}.report-preview-empty{min-height:220px;color:var(--portfolio-muted);place-items:center;display:grid}@media (width<=1535px){.report-preview-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1279px){.report-preview-role-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=1023px){.report-preview-page .report-project-selector{grid-template-columns:minmax(0,1fr)}.report-preview-page .report-project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.report-preview-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.report-preview-milestones{overflow-x:auto}.report-preview-role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.report-preview-member-filters{grid-template-columns:minmax(0,1fr)}.report-preview-members-heading,.report-preview-pagination{flex-direction:column;align-items:start}}[data-theme=dark] .report-preview-page .report-preview-picker,[data-theme=dark] .report-preview-page .report-preview-milestone.is-current,[data-theme=dark] .report-preview-page .report-preview-role-totals>div:first-child{border-color:var(--portfolio-line);background:var(--portfolio-blue-bg)}[data-theme=dark] .report-preview-page .report-project-facts>div,[data-theme=dark] .report-preview-page .report-progress-overall,[data-theme=dark] .report-preview-page .report-preview-milestone,[data-theme=dark] .report-preview-page .report-preview-role-card,[data-theme=dark] .report-preview-page .report-preview-member-table th{border-color:var(--portfolio-line);background:var(--subtle)}[data-theme=dark] .report-preview-page .report-preview-picker select,[data-theme=dark] .report-preview-page .report-preview-chart-tooltip,[data-theme=dark] .report-preview-page .report-preview-requirements span,[data-theme=dark] .report-preview-page .report-preview-member-filters input,[data-theme=dark] .report-preview-page .report-preview-member-filters select,[data-theme=dark] .report-preview-page .report-preview-member-filters>button,[data-theme=dark] .report-preview-page .report-preview-pagination button,[data-theme=dark] .report-preview-page .report-preview-pagination select{border-color:var(--portfolio-line);background:var(--surface);color:var(--text)}[data-theme=dark] .report-preview-page .report-preview-metric{border-color:var(--portfolio-line);background:var(--subtle)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-violet{background:var(--portfolio-violet-bg);--metric-color:var(--portfolio-violet)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-blue{background:var(--portfolio-blue-bg);--metric-color:var(--portfolio-blue)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-cyan{background:color-mix(in srgb, var(--portfolio-cyan) 16%, var(--surface));--metric-color:var(--portfolio-cyan)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-indigo{background:color-mix(in srgb, var(--portfolio-indigo) 16%, var(--surface));--metric-color:var(--portfolio-indigo)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-green{background:color-mix(in srgb, var(--portfolio-green) 15%, var(--surface));--metric-color:var(--portfolio-green)}[data-theme=dark] .report-preview-page .report-preview-metric.metric-amber{background:var(--portfolio-amber-bg);--metric-color:var(--portfolio-amber)}[data-theme=dark] .report-preview-page .report-preview-role-totals>div:nth-child(2){background:var(--portfolio-violet-bg)}[data-theme=dark] .report-preview-page .report-preview-delayed{border-color:var(--portfolio-amber);background:var(--portfolio-amber-bg)}[data-theme=dark] .report-preview-page .report-preview-progress-track,[data-theme=dark] .report-preview-page .report-preview-milestone .milestone-bar,[data-theme=dark] .report-preview-page .report-preview-share>i,[data-theme=dark] .report-preview-page .report-preview-delay-row>i{background:var(--portfolio-line)}[data-theme=dark] .report-preview-page .report-preview-progress-marker{background:var(--text)}[data-theme=dark] .report-preview-page .report-preview-picker>span{color:var(--portfolio-blue)}[data-theme=dark] .report-preview-page .report-preview-role-card b{color:var(--portfolio-violet)}[data-theme=dark] .report-preview-page .report-preview-milestone.is-current{box-shadow:0 0 0 1px var(--portfolio-line)}[data-theme=dark] .report-preview-page .report-preview-status.status-severe{color:var(--portfolio-red);background:var(--portfolio-red-bg)}[data-theme=dark] .report-preview-page .report-preview-status.status-delayed{color:var(--portfolio-amber);background:var(--portfolio-amber-bg)}[data-theme=dark] .report-preview-page .report-preview-status.status-normal,[data-theme=dark] .report-preview-page .report-preview-status.status-ahead{color:var(--portfolio-green);background:color-mix(in srgb, var(--portfolio-green) 15%, var(--surface))}[data-theme=dark] .report-preview-page .report-progress-variance strong.is-delayed{color:var(--portfolio-amber)}[data-theme=dark] .report-preview-page .report-progress-variance strong.is-ahead{color:var(--portfolio-green)}[data-theme=dark] .report-preview-page .report-preview-mini-track{background:color-mix(in srgb, var(--metric-color) 18%, var(--surface))}[data-theme=dark] .report-preview-page .report-preview-members,[data-theme=dark] .report-preview-page .report-preview-member-table,[data-theme=dark] .report-preview-page .report-preview-member-table td,[data-theme=dark] .report-preview-page .report-preview-pagination button,[data-theme=dark] .report-preview-page .report-preview-pagination select{border-color:var(--portfolio-line)}[data-theme=dark] .report-preview-page :is(.report-preview-progress-line,.report-preview-milestone,.report-preview-milestone>span,.report-preview-metric p,.report-preview-trend-summary,.report-preview-chart-tooltip,.report-preview-chart-empty,.report-preview-delayed-heading p,.report-preview-delay-row p,.report-preview-members-heading span,.report-preview-member-table th,.report-preview-member-table td,.report-preview-member-empty,.report-preview-pagination,.report-preview-empty){color:var(--portfolio-muted)}[data-theme=dark] .report-preview-page :is(.report-preview-progress-line b,.report-preview-milestone>div b,.report-preview-metric-value strong,.report-preview-requirements b,.report-preview-trend-summary>b,.report-preview-chart-tooltip>b,.report-preview-chart-tooltip strong,.report-preview-role-card>span,.report-preview-role-card strong,.report-preview-delayed-heading h3,.report-preview-delay-row>div span,.report-preview-members-heading h3,.report-preview-member-table td b){color:var(--text)}[data-theme=dark] .report-preview-page :is(.report-preview-metric-title span,.report-preview-metric-value span,.report-preview-requirements span,.report-preview-role-card small,.report-preview-delay-row>div small,.report-preview-member-table td small){color:var(--portfolio-muted)}[data-theme=dark] .report-preview-page .report-preview-role-totals>div:first-child :is(span,strong),[data-theme=dark] .report-preview-page .report-preview-members-heading b,[data-theme=dark] .report-preview-page .report-preview-milestone.milestone-normal>strong{color:var(--portfolio-blue)}[data-theme=dark] .report-preview-page .report-preview-role-totals>div:nth-child(2) :is(span,strong){color:var(--portfolio-violet)}[data-theme=dark] .report-preview-page .report-preview-milestone.milestone-ahead>strong{color:var(--portfolio-green)}[data-theme=dark] .report-preview-page .report-preview-milestone.milestone-delayed>strong,[data-theme=dark] .report-preview-page .report-preview-delay-row>div b,[data-theme=dark] .report-preview-page .report-preview-delayed-heading strong,[data-theme=dark] .report-preview-page .report-preview-delayed-heading strong small{color:var(--portfolio-amber)}[data-theme=dark] .report-preview-page .report-preview-milestone.milestone-severe>strong{color:var(--portfolio-red)}[data-theme=dark] .report-preview-page .report-preview-member-filters label svg{color:var(--portfolio-muted)}[data-theme=dark] .report-preview-page .report-preview-pagination [aria-current=page]{background:var(--portfolio-blue);border-color:var(--portfolio-blue);color:var(--portfolio-on-accent)}.report-preview-page .report-preview-metric progress{background:color-mix(in srgb, var(--metric-color) 14%, var(--surface));width:100%;height:6px;accent-color:var(--metric-color);border:0;border-radius:999px;margin-top:12px;display:block;overflow:hidden}.report-preview-page .report-preview-metric progress::-webkit-progress-bar{background:color-mix(in srgb, var(--metric-color) 14%, var(--surface))}.report-preview-page .report-preview-metric progress::-webkit-progress-value{background:var(--metric-color);border-radius:999px}.report-preview-page .report-preview-metric progress::-moz-progress-bar{background:var(--metric-color);border-radius:999px}.report-preview-delayed-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.report-preview-delayed-list li{border-top:1px solid color-mix(in srgb, var(--portfolio-amber) 20%, transparent);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.report-preview-delayed-list li:first-child{border-top:0}.report-preview-delayed-list li div{min-width:0}.report-preview-delayed-list li strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.report-preview-delayed-list li span{color:var(--portfolio-muted);margin-top:2px;font-size:10px;display:block}.report-preview-delayed-list li b{color:var(--portfolio-amber);white-space:nowrap;font-size:11px}.report-page-heading{background:var(--surface);border-bottom:1px solid var(--portfolio-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:-24px -24px 4px;padding:20px 24px;display:flex}.report-page-heading h2{margin:0;font-size:20px;font-weight:600;line-height:28px}.report-page-heading>div{align-items:center;gap:8px;display:flex}.report-page-heading>div>span{color:var(--portfolio-muted);background:var(--portfolio-icon-bg);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.report-request-status,.report-request-error{color:var(--portfolio-muted);margin:0;font-size:13px;line-height:20px}.report-request-error{color:var(--portfolio-red)}.report-project-selector{border:1px solid var(--portfolio-line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(270px,1.35fr) minmax(0,3fr);align-items:stretch;gap:12px;padding:16px;display:grid}.report-current-milestones{min-height:140px;max-height:260px;margin-top:16px;font-size:12px;overflow:auto}.report-current-milestones>p{color:var(--portfolio-muted)}.report-current-milestones ol{margin:0;padding:0;list-style:none}.report-current-milestones li{border-bottom:1px solid var(--portfolio-soft-line);grid-template-columns:minmax(80px,1fr) 82px 48px;align-items:center;gap:8px;padding:10px 0;display:grid}.report-current-milestones li>span{overflow-wrap:anywhere}.report-current-milestones li small{margin:4px 0 0;display:block}.report-current-milestones b{font-weight:500}.report-picker{background:var(--portfolio-blue-bg);border-radius:8px;min-width:0;padding:12px}.report-picker label{display:block}.report-picker label>span{color:var(--portfolio-blue);margin-bottom:6px;font-size:11px;line-height:16px;display:block}.report-picker select{border:1px solid var(--portfolio-line);background:var(--surface);width:100%;height:40px;color:var(--text);border-radius:8px;padding:0 12px;font-size:14px;font-weight:500}.report-picker-pagination{color:var(--portfolio-muted);font-size:var(--metrics-font-10);justify-content:flex-end;align-items:center;gap:5px;margin-top:8px;display:flex}.report-picker-pagination>span{margin-right:auto}.report-picker-pagination button{flex:0 0 26px;width:26px;height:26px}.report-project-facts{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;display:grid}.report-project-facts>div{border-right:1px solid var(--portfolio-soft-line);flex-direction:column;justify-content:center;min-width:0;min-height:76px;padding:8px 12px;display:flex}.report-project-facts>div:last-child{border-right:0}.report-project-facts span{color:var(--portfolio-muted);font-size:11px;line-height:16px}.report-project-facts strong{overflow-wrap:anywhere;margin-top:4px;font-size:14px;font-weight:600;line-height:20px}.report-progress-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:20px;display:grid}.report-progress-overall,.report-milestones{border:1px solid var(--portfolio-line);background:var(--surface);border-radius:14px;min-width:0;padding:16px}.report-overall-heading,.report-milestone-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-progress-layout h2{color:var(--portfolio-muted);margin:0;font-size:12px;font-weight:500;line-height:20px}.report-unknown-status{border:1px solid var(--portfolio-line);background:var(--subtle);color:var(--portfolio-muted);border-radius:20px;padding:4px 10px;font-size:12px}.report-overall-value{align-items:baseline;gap:8px;margin-top:8px;display:flex}.report-overall-value strong{font-size:30px;line-height:36px}.report-overall-value>span{color:var(--portfolio-muted);font-size:14px}.report-progress-missing{min-height:32px;color:var(--portfolio-muted);align-items:center;margin-top:20px;font-size:12px;display:flex}.report-progress-legend{font-size:var(--metrics-font-10);color:var(--portfolio-muted);flex-wrap:wrap;gap:8px 16px;margin-top:16px;line-height:16px;display:flex}.report-progress-legend span{align-items:center;gap:6px;display:inline-flex}.report-progress-legend i{border-radius:4px;width:16px;height:10px}.report-legend-completed{background:var(--portfolio-blue)}.report-legend-severe{background:var(--portfolio-severe-fill)}.report-legend-delayed{background:var(--portfolio-delayed-fill)}.report-legend-ahead{background:var(--portfolio-green)}.report-progress-variance{border-top:1px solid var(--portfolio-line);margin-top:16px;padding-top:16px}.report-progress-variance>span{color:var(--portfolio-muted);font-size:12px;display:block}.report-progress-variance strong{margin-top:4px;font-size:18px;display:block}.project-reports-page small{color:var(--portfolio-muted);margin-left:4px;font-size:12px;font-weight:400}.report-milestone-heading p,.report-milestone-heading strong{margin:4px 0 0;font-size:14px;line-height:20px;display:block}.report-milestone-heading>div:last-child{text-align:right}.report-milestone-heading span{color:var(--portfolio-muted);font-size:12px}.report-milestone-gap{border:1px dashed var(--portfolio-line);min-height:140px;color:var(--portfolio-muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.report-milestone-gap p{margin:0}.report-milestone-legend{font-size:var(--metrics-font-10);color:var(--portfolio-muted);border-top:1px solid var(--portfolio-soft-line);flex-wrap:wrap;gap:4px 16px;margin-top:16px;padding-top:12px;line-height:16px;display:flex}.report-metric-matrix{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.report-matrix-cell{border-right:1px solid var(--portfolio-soft-line);min-width:0;padding:16px}.report-matrix-cell:last-child{border-right:0}.report-matrix-label{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.report-matrix-label h3{margin:0;font-size:12px;font-weight:500}.report-matrix-label>span{font-size:var(--metrics-font-10);color:var(--portfolio-muted)}.report-matrix-violet h3{color:var(--portfolio-violet)}.report-matrix-blue h3,.report-matrix-indigo h3,.report-matrix-cyan h3{color:var(--portfolio-blue)}.report-matrix-green h3{color:var(--portfolio-green)}.report-matrix-amber h3{color:var(--portfolio-amber)}.report-matrix-value{flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:8px;display:flex}.report-matrix-value strong{font-size:24px;font-weight:600;line-height:32px}.report-matrix-value>span{color:var(--portfolio-muted);font-size:12px}.report-matrix-cell p{color:var(--portfolio-muted);font-size:var(--metrics-font-10);margin:8px 0 0;line-height:16px}.report-data-gaps{border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);flex-wrap:wrap;gap:6px 22px;margin:16px 0 0;padding:12px 16px 0;font-size:11px;line-height:18px;display:flex}.report-matrix-cell progress{width:100%;height:6px;accent-color:var(--portfolio-blue);background:var(--portfolio-icon-bg);border:0;border-radius:6px;margin-top:12px;display:block;overflow:hidden}.report-matrix-cell progress::-webkit-progress-bar{background:var(--portfolio-icon-bg)}.report-matrix-cell progress::-webkit-progress-value{background:var(--portfolio-blue)}.report-matrix-cell progress::-moz-progress-bar{background:var(--portfolio-blue)}.report-requirement-levels{text-align:center;font-size:var(--metrics-font-9);color:var(--portfolio-muted);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:12px;display:grid}.report-requirement-levels b{margin-top:4px;font-size:11px;display:block}.report-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.report-trend-gap{background:var(--subtle);border:1px dashed var(--portfolio-line);min-height:250px;color:var(--portfolio-muted);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:13px;display:flex}.report-trend-gap p{margin:0}.report-role-structure{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.report-role-totals{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-role-totals>div{border-bottom:1px solid var(--portfolio-soft-line);padding:12px}.report-role-totals span{color:var(--portfolio-muted);font-size:12px}.report-role-totals strong{margin-top:4px;font-size:20px;line-height:28px;display:block}.report-roles-gap{min-height:160px;color:var(--portfolio-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 12px;font-size:12px;display:flex}.report-roles-gap p{margin:0}.report-delay-structure{border-left:2px solid var(--portfolio-amber);background:var(--portfolio-amber-bg);padding:16px}.report-delay-structure h3{margin:0;font-size:14px;line-height:22px}.report-delay-structure p{color:var(--portfolio-muted);margin:4px 0 0;font-size:11px;line-height:18px}.report-delay-structure>strong{color:var(--portfolio-amber);margin-top:12px;font-size:20px;display:block}.report-delay-structure footer{border-top:1px solid var(--portfolio-line);font-size:var(--metrics-font-10);color:var(--portfolio-amber);margin-top:16px;padding-top:12px;line-height:16px}.report-member-detail{border-top:1px solid var(--portfolio-line);margin-top:20px;padding-top:20px}.report-member-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.report-member-heading h3{margin:0;font-size:14px;line-height:22px}.report-member-heading span{color:var(--portfolio-muted);font-size:12px}.report-member-filters{grid-template-columns:minmax(240px,1fr) 180px;gap:12px;margin-top:16px;display:grid}.report-member-filters label{min-width:0;position:relative}.report-member-filters svg{color:var(--icon);pointer-events:none;position:absolute;top:10px;left:12px}.report-member-filters input,.report-member-filters select{background:var(--surface);border:1px solid var(--portfolio-line);width:100%;height:36px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.report-member-filters input{padding-left:36px}.report-member-filters input::placeholder{color:var(--portfolio-muted)}.report-member-filters input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.report-member-table{border-block:1px solid var(--portfolio-line);margin-top:12px}.report-member-table table{min-width:1050px}.report-member-table th{padding:12px 8px;font-size:12px}.report-members-gap{text-align:center;color:var(--portfolio-muted);padding:32px;font-size:12px}.report-member-pagination,.report-member-pagination>div,.report-member-pagination label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-member-pagination{color:var(--portfolio-muted);justify-content:space-between;padding:12px 0 0;font-size:12px}.report-member-pagination button,.report-member-pagination select{border:1px solid var(--portfolio-line);background:var(--surface);height:32px;color:var(--portfolio-muted);border-radius:6px;place-items:center;padding:0 8px;font-size:12px;display:grid}.report-member-pagination [aria-current]{background:var(--portfolio-blue);color:var(--surface);border-radius:6px;padding:6px 10px}@media (width<=1535px){.report-metric-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}.report-matrix-cell:nth-child(3){border-right:0}.report-matrix-cell:nth-child(-n+3){border-bottom:1px solid var(--portfolio-soft-line)}}@media (width<=1279px){.report-progress-layout,.report-trend-grid,.report-role-structure{grid-template-columns:minmax(0,1fr)}}@media (width<=1023px){.report-project-selector{grid-template-columns:minmax(0,1fr)}.report-project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.report-project-facts>div:nth-child(2){border-right:0}.report-project-facts>div:nth-child(-n+2){border-bottom:1px solid var(--portfolio-soft-line)}}@media (width<=700px){.report-page-heading{margin:-18px -12px 0;padding:18px 12px}.report-page-heading h2{font-size:18px}.report-page-heading>div>span{font-size:10px}.report-metric-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.report-matrix-cell{border-bottom:1px solid var(--portfolio-soft-line);padding:12px}.report-matrix-cell:nth-child(3){border-right:1px solid var(--portfolio-soft-line)}.report-matrix-cell:nth-child(2n){border-right:0}.report-matrix-cell:nth-last-child(-n+2){border-bottom:0}.report-member-filters{grid-template-columns:minmax(0,1fr)}.report-member-heading span{font-size:11px}.report-members-gap{padding:24px 12px}}.project-reports-page .report-project-selector,.project-reports-page .report-progress-panel{border:1px solid var(--portfolio-line);background:var(--surface);box-shadow:0 1px 2px rgb(var(--portfolio-shadow-rgb) / 7%);border-radius:14px;padding:16px}.project-reports-page .report-project-selector{gap:12px}.project-reports-page .report-picker{border:1px solid color-mix(in srgb, var(--portfolio-blue) 16%, var(--portfolio-line));background:var(--portfolio-blue-bg);border-radius:10px;padding:12px}.project-reports-page .report-picker label>span{font-weight:600}.project-reports-page .report-picker select{border-color:color-mix(in srgb, var(--portfolio-blue) 26%, var(--portfolio-line))}.project-reports-page .report-project-facts{gap:8px}.project-reports-page .report-project-facts>div{background:var(--subtle);border:0;border-radius:9px;min-height:76px;padding:10px 12px}.project-reports-page .report-project-facts strong{line-height:21px}.project-reports-page .report-progress-layout{gap:20px}.project-reports-page .report-progress-overall,.project-reports-page .report-milestones{min-height:224px;box-shadow:none;border-radius:12px;padding:16px}.project-reports-page .report-progress-overall{background:var(--subtle)}.project-reports-page .report-milestones{background:var(--surface)}.project-reports-page .report-overall-value{margin-top:9px}.project-reports-page .report-overall-value strong{font-size:32px;line-height:38px}.project-reports-page .report-progress-missing{min-height:32px;margin-top:20px;display:block}.project-reports-page .report-progress-track{background:var(--portfolio-icon-bg);border-radius:999px;width:100%;height:9px}.project-reports-page .report-progress-missing>p{color:var(--portfolio-muted);margin:4px 0 0;font-size:11px}.project-reports-page .report-progress-legend{margin-top:14px;font-size:11px}.project-reports-page .report-progress-variance{margin-top:15px;padding-top:13px}.project-reports-page .report-milestone-heading p{color:var(--text);font-weight:600}.project-reports-page .report-milestone-heading>div:last-child{max-width:48%}.project-reports-page .report-milestone-heading strong{overflow-wrap:anywhere}.project-reports-page .report-current-milestones{min-height:0;max-height:none;margin-top:16px;overflow:auto hidden}.project-reports-page .report-current-milestones>p{margin:0 0 10px;font-size:11px}.project-reports-page .report-current-milestones ol{align-items:stretch;gap:8px;padding-bottom:5px;display:flex}.project-reports-page .report-current-milestones .report-milestone-card{border:1px solid var(--portfolio-soft-line);background:var(--subtle);border-radius:9px;flex-direction:column;flex:1 0 102px;align-items:stretch;gap:5px;min-width:102px;max-width:160px;padding:10px;display:flex}.project-reports-page .report-milestone-in_progress{border-color:color-mix(in srgb, var(--portfolio-blue) 42%, var(--portfolio-line))!important;background:var(--portfolio-blue-bg)!important}.project-reports-page .report-milestone-bar{background:var(--portfolio-line);border-radius:99px;height:7px;margin-bottom:3px}.project-reports-page .report-milestone-completed .report-milestone-bar{background:var(--portfolio-green)}.project-reports-page .report-milestone-in_progress .report-milestone-bar{background:var(--portfolio-blue)}.project-reports-page .report-milestone-card-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.project-reports-page .report-milestone-card-heading b{color:var(--text);font-size:12px;font-weight:700}.project-reports-page .report-milestone-card-heading em{font-size:var(--metrics-font-9);color:var(--portfolio-on-accent);background:var(--portfolio-blue);border-radius:4px;padding:2px 5px;font-style:normal}.project-reports-page .report-milestone-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.project-reports-page .report-milestone-card small{font-size:var(--metrics-font-10);white-space:nowrap;text-overflow:ellipsis;margin:0;display:block;overflow:hidden}.project-reports-page .report-milestone-card time,.project-reports-page .report-milestone-card strong{font-size:var(--metrics-font-10);line-height:15px}.project-reports-page .report-milestone-card time{color:var(--portfolio-muted);margin-top:auto}.project-reports-page .report-milestone-card strong{color:var(--portfolio-muted);font-weight:600}.project-reports-page .report-milestone-completed strong{color:var(--portfolio-green)}.project-reports-page .report-milestone-in_progress strong{color:var(--portfolio-blue)}.project-reports-page .report-milestone-legend{margin-top:13px;padding-top:12px}.project-reports-page .report-metric-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-reports-page .report-matrix-cell{background:var(--subtle);border-radius:12px;min-height:130px;padding:14px;border:1px solid var(--portfolio-line)!important}.project-reports-page .report-matrix-violet{background:color-mix(in srgb, var(--portfolio-violet) 4%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-violet) 15%, var(--portfolio-line))!important}.project-reports-page .report-matrix-blue,.project-reports-page .report-matrix-indigo{background:color-mix(in srgb, var(--portfolio-blue) 4%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-blue) 15%, var(--portfolio-line))!important}.project-reports-page .report-matrix-cyan{background:color-mix(in srgb, var(--portfolio-cyan) 4%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-cyan) 15%, var(--portfolio-line))!important}.project-reports-page .report-matrix-green{background:color-mix(in srgb, var(--portfolio-green) 4%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-green) 15%, var(--portfolio-line))!important}.project-reports-page .report-matrix-amber{background:color-mix(in srgb, var(--portfolio-amber) 5%, var(--surface));border-color:color-mix(in srgb, var(--portfolio-amber) 17%, var(--portfolio-line))!important}.project-reports-page .report-matrix-label h3{font-weight:600}.project-reports-page .report-matrix-value{margin-top:9px}.project-reports-page .report-matrix-cell p{line-height:17px}.project-reports-page .report-matrix-cell progress{margin-top:12px}.project-reports-page .report-matrix-cyan progress{accent-color:var(--portfolio-cyan)}.project-reports-page .report-matrix-green progress{accent-color:var(--portfolio-green)}.project-reports-page .report-matrix-amber progress{accent-color:var(--portfolio-amber)}.project-reports-page .report-matrix-cyan progress::-webkit-progress-value{background:var(--portfolio-cyan)}.project-reports-page .report-matrix-green progress::-webkit-progress-value{background:var(--portfolio-green)}.project-reports-page .report-matrix-amber progress::-webkit-progress-value{background:var(--portfolio-amber)}.project-reports-page .report-matrix-cyan progress::-moz-progress-bar{background:var(--portfolio-cyan)}.project-reports-page .report-matrix-green progress::-moz-progress-bar{background:var(--portfolio-green)}.project-reports-page .report-matrix-amber progress::-moz-progress-bar{background:var(--portfolio-amber)}.project-reports-page .report-requirement-levels{gap:4px}.project-reports-page .report-requirement-levels>span{background:var(--surface);border-radius:5px;padding:5px 2px}.project-reports-page .report-trend-grid{gap:16px}.project-reports-page .report-trend-grid>.source-panel{height:100%}.project-reports-page .report-role-structure{gap:20px}.project-reports-page .report-role-totals{gap:12px;margin-bottom:12px}.project-reports-page .report-role-totals>div{background:var(--portfolio-blue-bg);border:0;border-radius:9px;padding:12px}.project-reports-page .report-role-totals>div:nth-child(2){background:color-mix(in srgb, var(--portfolio-violet) 7%, var(--surface))}.project-reports-page .report-role-totals>div:first-child span,.project-reports-page .report-role-totals>div:first-child strong{color:var(--portfolio-blue)}.project-reports-page .report-role-totals>div:nth-child(2) span,.project-reports-page .report-role-totals>div:nth-child(2) strong{color:var(--portfolio-violet)}.project-reports-page .report-roles-gap{min-height:130px}.project-reports-page .report-delay-structure{border:1px solid color-mix(in srgb, var(--portfolio-amber) 35%, var(--portfolio-line));background:var(--portfolio-amber-bg);border-radius:12px}.project-reports-page .report-member-detail{margin-top:20px;padding-top:20px}.project-reports-page .report-member-table{border:1px solid var(--portfolio-line);border-radius:9px;overflow:hidden}.project-reports-page .report-member-table th{background:var(--subtle)}@media (width>=1900px){.project-reports-page .report-metric-matrix{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=1279px){.project-reports-page .report-progress-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=699px){.project-reports-page .report-project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-reports-page .report-progress-panel{padding:12px}.project-reports-page .report-metric-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.project-reports-page .report-matrix-cell{padding:12px}.project-reports-page .report-role-totals{grid-template-columns:minmax(0,1fr)}}.operations-main{background:#f4f7fb;max-width:none;padding:20px 24px 36px;display:block;overflow:visible;container:ops/inline-size}[data-theme=dark] .operations-main{background:var(--canvas)}.operations-page{--ops-blue:#2b7fff;--ops-blue-soft:#eef5ff;--ops-green:#00c950;--ops-muted:#62748e;--ops-line:#e2e8f0;--ops-soft:#f1f5f9;--ops-new:#2b7fff;--ops-mod:#05df72;--ops-flow:#fb2c36;--ops-assoc:#ff8904;--ops-review:#51a2ff;--ops-publish:#90a1b9;min-width:0;color:var(--text);gap:14px;display:grid}[data-theme=dark] .operations-page{--ops-blue:#70b0ff;--ops-blue-soft:#243044;--ops-green:#5ee9b5;--ops-muted:#a1acba;--ops-line:#393e47;--ops-soft:#2b3038;--ops-new:#70b0ff;--ops-mod:#5ee9b5;--ops-flow:#fca5a5;--ops-assoc:#fdba74;--ops-review:#93c5fd;--ops-publish:#cbd5e1}.operations-page .operations-heading{z-index:5;gap:12px;display:grid;position:relative}.operations-page .operations-heading h2{color:var(--text);margin:0;font-size:22px;font-weight:650;line-height:32px}.operations-page .analysis-note{color:var(--ops-blue);cursor:help;display:inline-flex;position:relative}.operations-page .analysis-note:hover .analysis-tip,.operations-page .analysis-note:focus-visible .analysis-tip{opacity:1;pointer-events:auto;transform:translateY(0)}.analysis-tip{z-index:6;color:#fff;opacity:0;pointer-events:none;background:#1e293b;border-radius:8px;width:max-content;max-width:280px;padding:10px 12px;font-size:12px;font-weight:400;line-height:18px;position:absolute;top:-6px;left:28px;transform:translateY(4px);box-shadow:0 8px 24px #0f172a2e}[data-theme=dark] .analysis-tip{background:#0f172a}.operations-page .operations-filters{border:0;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:0;padding:0;display:flex;overflow:visible}.operations-page .operations-filters label{min-width:112px;max-width:160px;color:var(--ops-muted);flex:0 132px;font-size:12px;display:grid}.operations-page .operations-period{--portfolio-line:#e2e8f0;--portfolio-muted:#64748b;--portfolio-soft-line:#f1f5f9;--portfolio-blue:#2563eb;--portfolio-blue-bg:#eff6ff;flex:0 132px;min-width:112px;max-width:160px}.operations-page .operations-period>button{height:36px}[data-theme=dark] .operations-page .operations-period{--portfolio-line:#393e47;--portfolio-muted:#a1acba;--portfolio-soft-line:#30353c;--portfolio-blue:#93b8ff;--portfolio-blue-bg:#263446}.operations-page .operations-filters>label.ops-date-field{z-index:7;flex:0 0 158px;min-width:158px;max-width:180px;position:relative}.operations-page .ops-date-field input[type=date]{width:100%;min-width:158px;max-width:100%}.operations-page .operations-filters .roster-select{min-width:180px;max-width:360px;color:var(--ops-muted);flex:220px;font-size:12px;display:grid;overflow:visible}.operations-page .roster-control{z-index:6}.operations-page .operations-filters>label input,.operations-page .roster-field,.operations-page .filter-actions button{border:1px solid var(--ops-line);background:var(--surface);height:36px;color:var(--text);border-radius:8px;padding:0 12px;font-size:13px}.operations-page .roster-field{cursor:text;height:auto;min-height:36px;padding:4px 10px;overflow:visible}.operations-page .roster-chip{background:var(--ops-soft);border-radius:6px}.operations-page .roster-search{height:24px;color:var(--text);background:0 0;border:0;padding:0 4px}.operations-page .roster-menu{z-index:20;border-color:var(--ops-line);background:var(--surface);color:var(--text);border-radius:8px}.operations-page .roster-menu .roster-status{color:var(--ops-muted);padding:8px 12px;font-size:12px}.operations-page .filter-actions{flex:none;align-items:center;gap:8px;display:flex}.operations-page .filter-actions button{min-width:64px;color:var(--text);justify-content:center;align-items:center;gap:6px;display:inline-flex}.operations-page .filter-actions .query-button,.operations-page .filter-actions .query-button:hover{color:#fff;background:#155dfc;border-color:#155dfc}.operations-page .filter-actions .query-button:hover{background:#1248d9}.operations-page .filter-actions .reset-button{border-color:var(--ops-line);background:var(--surface);color:var(--ops-muted);white-space:nowrap;border-radius:10px;min-width:72px;padding:0 12px;font-size:14px;line-height:16px;transition:border-color .15s,background-color .15s,color .15s}.operations-page .filter-actions .reset-button>svg{flex:none}.operations-page .filter-actions .reset-button:hover{color:var(--text);background:var(--ops-soft)}.operations-page [role=alert]{color:#b45309;margin:0;font-size:12px;line-height:18px}[data-theme=dark] .operations-page [role=alert]{color:#f0b562}.operations-page .operations-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.operations-page .operations-summary>:last-child{grid-column:auto}.operations-page .ops-kpi{background:var(--ops-blue-soft);min-width:0;min-height:96px;box-shadow:none;border:0;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon body spark""delta delta spark";align-items:center;gap:4px 8px;padding:14px 16px 12px;display:grid}.operations-page .ops-card-icon{width:36px;height:36px;color:var(--ops-blue);background:0 0;border-radius:0;grid-area:icon;align-self:center;place-items:center;display:grid}.operations-page .ops-kpi-main{grid-area:body;min-width:0;display:grid}.operations-page .ops-kpi-label{color:var(--ops-muted);white-space:nowrap;font-size:13px;line-height:18px}.operations-page .ops-kpi strong{letter-spacing:-.02em;color:var(--text);margin:0;font-size:26px;font-weight:700;line-height:32px;display:block}.operations-page .ops-kpi-meta{grid-area:delta;min-width:0}.operations-page .ops-delta{color:var(--ops-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.operations-page .ops-delta[data-dir=up]{color:var(--ops-green)}.operations-page .ops-delta[data-dir=down]{color:#e7000b}.operations-page .ops-spark{grid-area:spark;align-self:center;width:64px;height:36px;overflow:visible}.operations-page .ops-spark polyline{fill:none;stroke:var(--ops-blue);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.operations-page .ops-spark-fill{fill:#2b7fff29}[data-theme=dark] .operations-page .ops-spark-fill{fill:#70b0ff2e}.operations-page .ops-panel{background:var(--surface);border:0;border-radius:16px;min-width:0;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.operations-page .ops-panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.operations-page .ops-panel-heading h2{color:var(--text);margin:0;font-size:16px;font-weight:600;line-height:24px}.operations-page .ops-panel-body{min-width:0;padding:12px 20px 20px}.operations-page .operations-analysis-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:14px;display:grid}.operations-page .operations-analysis-grid>.ops-panel{flex-direction:column;min-height:0;display:flex}.operations-page [aria-label=操作内容分布] .ops-panel-body{flex:1;align-items:center;padding-top:28px;padding-bottom:24px;display:flex}.operations-page .ops-chart{margin:0}.operations-page .ops-chart svg{width:100%;height:auto;display:block}.operations-page .chart-legend{color:var(--ops-muted);flex-wrap:wrap;gap:8px 16px;margin:0;font-size:12px;display:flex}.operations-page .chart-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.operations-page .chart-legend .legend-line{border-top:2px solid var(--ops-flow);vertical-align:3px;background:0 0;border-radius:0;width:16px;height:0}.operations-page .chart-new{fill:var(--ops-new);background:var(--ops-new)}.operations-page .chart-mod{fill:var(--ops-mod);background:var(--ops-mod)}.operations-page .chart-flow-line{fill:none;stroke:var(--ops-flow);stroke-width:2px}.operations-page .chart-flow-dot{fill:var(--surface);stroke:var(--ops-flow);stroke-width:2px}.operations-page .chart-grid{stroke:#eef2f6}[data-theme=dark] .operations-page .chart-grid{stroke:var(--ops-soft)}.operations-page .chart-axis{fill:var(--ops-muted);font-size:10px}.operations-page .dist-chart{grid-template-columns:minmax(168px,1.05fr) minmax(140px,1fr);align-items:center;gap:12px 20px;width:100%;padding:8px 0 4px;display:grid}.operations-page .dist-chart svg{justify-self:center;width:100%;max-width:220px}.operations-page .chart-center{fill:var(--text);font-size:24px;font-weight:650}.operations-page .chart-center-label{fill:var(--ops-muted);font-size:12px}.operations-page .chart-track{stroke:var(--ops-soft);stroke-width:30px}.operations-page .dist-legend{width:100%;color:var(--ops-muted);gap:14px;font-size:13px;display:grid}.operations-page .dist-legend>span{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.operations-page .dist-legend .dist-pct{text-align:right;font-variant-numeric:tabular-nums}.operations-page .table-shell{background:0 0;border:0}.operations-page .table-scroll{overflow-x:auto}.operations-page table{min-width:0}.operations-page table:has(tbody tr){min-width:720px}.operations-page th{color:var(--ops-muted);border-bottom:1px solid var(--ops-line);background:0 0;padding:10px 12px;font-size:12px;font-weight:500}.operations-page th button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.operations-page .operations-analysis-grid td{border-bottom:1px solid var(--ops-soft);padding:12px;font-size:13px}.operations-page tbody tr:hover{background:var(--ops-soft)}.operations-page .ops-pager{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.operations-page .ops-pager button{border:1px solid var(--ops-line);background:var(--surface);min-width:64px;height:32px;color:var(--ops-muted);border-radius:8px}.operations-page .dist-chart,.operations-page .trend-chart{position:relative}.operations-page .ops-tip{z-index:8;border:1px solid var(--ops-line);background:var(--surface);min-width:140px;max-width:200px;color:var(--text);pointer-events:none;border-radius:8px;padding:10px 12px;font-size:12px;line-height:20px;position:absolute;box-shadow:0 8px 24px #0f172a1f}.operations-page .ops-tip-pinned{top:8px;right:8px}.operations-page .ops-tip-title{align-items:center;gap:6px;font-weight:600;display:flex}.operations-page .ops-tip-title i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.operations-page .ops-tip-row{color:var(--ops-muted);align-items:center;gap:6px;margin-top:2px;display:flex}.operations-page .ops-tip-row i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.operations-page .chart-flow-solid{background:var(--ops-flow)}.operations-page .dist-seg{cursor:pointer}.operations-page .dist-seg:focus-visible{outline:2px solid var(--ops-blue);outline-offset:2px}.operations-page .type-chart{min-height:280px}.operations-page .type-bars{align-content:space-evenly;gap:28px;min-height:240px;margin:16px 0 8px;padding:0;list-style:none;display:grid}.operations-page .type-bar-row{color:var(--text);grid-template-columns:72px minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:13px;display:grid;position:relative}.operations-page .type-bar-row:focus-visible{outline:2px solid var(--ops-blue);outline-offset:2px}.operations-page .type-bar-row .ops-tip{top:calc(100% + 6px);left:min(120px,40%)}.operations-page .type-bar-track{background:var(--ops-soft);border-radius:999px;height:10px;display:block;overflow:hidden}.operations-page .type-bar-fill{border-radius:999px;height:100%;display:block}.operations-page .type-bar-pct{text-align:right;color:var(--ops-muted);font-variant-numeric:tabular-nums}.operations-page .chart-updated{color:var(--ops-muted);align-items:center;gap:6px;margin:16px 0 0;font-size:11px;display:inline-flex}.operations-page .ops-updated{color:var(--ops-muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;margin:2px 0 0;font-size:12px;line-height:18px;display:flex}.operations-page .ops-updated svg{flex:0 0 14px}@media (width<=1000px){.operations-page .operations-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.operations-page .operations-analysis-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr)}}@media (width<=700px){.operations-main{padding:16px 12px 28px}}@container ops (width<=640px){.operations-page .operations-filters label,.operations-page .operations-filters .roster-select,.operations-page .operations-period{flex:140px;max-width:none}.operations-page .operations-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-page .operations-summary>:last-child{grid-column:1/-1}.operations-page .operations-analysis-grid{grid-template-columns:minmax(0,1fr)}.operations-page .ops-spark{display:none}.operations-page .dist-chart{grid-template-columns:minmax(0,1fr)}}:root{color:#273344;font-synthesis:none;letter-spacing:0;background:#f4f6f9;font-family:Noto Sans SC,Inter,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{--canvas:#f4f6f9;--surface:#fff;--text:#273344;--muted:#6e7b8d;--line:#e3e8ef;--subtle:#f8fafc;--accent:#235ac6;--amber:#986817;--red:#bc414b;--icon:#91a0b3;--chart-new:#235ac6;--chart-mod:#d48b2c;--chart-flow:#2a9d8f;--chart-assoc:#6f5bd6;--chart-1:#235ac6;--chart-2:#d48b2c;--chart-3:#2a9d8f;--chart-4:#bc414b;--chart-5:#6f5bd6;--chart-6:#4b7c9b;--chart-7:#8a98aa;--menu-surface:#fff;--menu-text:#000000d9;--menu-primary:#396adc;--menu-hover-text:#6188e3;--menu-hover-bg:color-mix(in srgb, var(--menu-primary) 6%, var(--menu-surface));--menu-selected-bg:color-mix(in srgb, var(--menu-primary) 12%, var(--menu-surface));background:var(--canvas);min-height:100vh;color:var(--text)}.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#17191c;--surface:#202328;--text:#e2e6ed;--muted:#a1acba;--line:#393e47;--subtle:#252930;--accent:#89b5ff;--amber:#e2b971;--red:#f4989d;--icon:#8a98aa;--chart-new:#89b5ff;--chart-mod:#e2b971;--chart-flow:#6ec8bc;--chart-assoc:#b8a6ff;--chart-1:#89b5ff;--chart-2:#e2b971;--chart-3:#6ec8bc;--chart-4:#f4989d;--chart-5:#b8a6ff;--chart-6:#8eb6c9;--chart-7:#8a98aa;--menu-surface:#141414;--menu-text:#ffffffd9;--menu-primary:#335dbe;--menu-hover-text:#b8d1f8;--menu-selected-text:#88acea;--menu-hover-bg:color-mix(in srgb, var(--menu-primary) 12%, var(--menu-surface));--menu-selected-bg:color-mix(in srgb, var(--menu-primary) 24%, var(--menu-surface))}.app-header{background:var(--surface);border-bottom:1px solid var(--line);min-height:64px;padding:14px 24px}.app-body{grid-template-columns:240px minmax(0,1fr);align-items:start;min-height:calc(100dvh - 64px);display:grid}.embedded-portal .app-body{min-height:100dvh}.metrics-sidebar{background:var(--menu-surface);height:calc(100dvh - 64px);min-height:280px;color:var(--menu-text);flex-direction:column;padding:14px 0 10px;display:flex;position:sticky;top:0;overflow-y:auto}.embedded-portal .metrics-sidebar{height:100dvh}.sidebar-footer{color:var(--muted);align-items:center;gap:10px;margin-top:auto;padding:16px;font-size:11px;display:flex}.header-top,.brand,.header-actions{align-items:center;display:flex}.header-top{justify-content:space-between;gap:16px}.brand{color:var(--accent);gap:12px;min-width:0}h1{color:var(--text);margin:0;font-size:22px;font-weight:650;line-height:32px}.domain-code{color:var(--muted);font-size:11px}.header-actions{flex-shrink:0;gap:18px}.connection-state{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.connection-state i{background:var(--icon);border-radius:50%;width:6px;height:6px}.connection-state[data-kind=partial] i{background:var(--accent)}.connection-state[data-kind=error] i{background:var(--red)}.icon-button{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:6px;place-items:center;display:grid}.icon-button:hover{background:var(--subtle)}.sidebar-nav{flex-direction:column;display:flex}.sidebar-nav a{width:100%;min-height:42px;color:var(--menu-text);text-align:left;border-radius:6px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.sidebar-nav a:hover{background:var(--menu-hover-bg);color:var(--menu-hover-text)}.sidebar-nav a.active{background:var(--menu-selected-bg);color:var(--menu-selected-text,var(--menu-primary));font-weight:500}.sidebar-nav svg{flex:0 0 20px;width:20px;height:20px}main{gap:24px;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:26px 32px 40px;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.summary-item{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:126px;padding:18px 20px}.summary-title{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.summary-item strong{margin:7px 0 3px;font-size:28px;font-weight:500;line-height:34px;display:block}.tone-blue svg{color:var(--accent)}.tone-amber svg{color:var(--amber)}.tone-red svg{color:var(--red)}.muted{color:var(--muted);font-size:11px}.metric-section{border-top:1px solid var(--line);min-width:0}h2{margin:15px 0 13px;font-size:14px;font-weight:600;line-height:22px}.empty-state{min-height:144px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.empty-state svg{color:var(--icon)}.empty-state p{margin:0;line-height:22px}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.table-shell{background:var(--surface);border-block:1px solid var(--line)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}th{color:var(--muted);background:var(--subtle);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:500}td{padding:0}.metrics-data-table td{border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px}.metrics-data-table td:first-child{overflow-wrap:anywhere;min-width:160px;max-width:260px}.metrics-data-toolbar,.metrics-pagination{flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.metrics-data-toolbar>.muted{text-align:right;margin-left:auto}.metrics-segments{display:flex}.metrics-segments button,.metrics-pagination select{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:7px 10px}.metrics-segments button[aria-pressed=true]{background:var(--accent);color:var(--surface)}.metrics-pagination{justify-content:flex-end;margin-top:12px}.metrics-data-error{color:var(--red);font-size:13px}button:disabled{cursor:not-allowed;opacity:.55}.operations-analysis-grid td{border-bottom:1px solid var(--line);padding:12px 16px;font-size:13px}.people-summary{border-block:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 0;display:grid}.people-summary>div{border-right:1px solid var(--line);padding:0 20px}.people-summary>div:last-child{border-right:0}.people-summary span{color:var(--muted);font-size:12px}.people-summary strong{margin:9px 0;font-size:24px;display:block}.people-summary small{color:var(--muted);font-size:11px}.project-filter{align-items:center;gap:16px;font-size:13px;display:flex}.project-filter select{background:var(--surface);border:1px solid var(--line);min-width:230px;max-width:100%;color:var(--muted);border-radius:5px;padding:9px 12px}.skip-link{background:var(--surface);z-index:10;padding:10px;position:absolute;top:-80px;left:12px}.skip-link:focus{top:8px}.not-found{padding:40px 0}.fatal-error{padding:40px}.operations-heading h2{margin:0;font-size:18px;line-height:28px}.operations-title{align-items:center;gap:8px;display:flex}.analysis-note{color:var(--accent);display:inline-flex}.operations-heading>p{color:var(--muted);margin:6px 0 18px;font-size:12px;line-height:20px}.operations-filters{border:0;flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;margin:0;padding:0;display:flex}.operations-filters label{min-width:150px;color:var(--muted);gap:6px;font-size:12px;display:grid}.operations-filters select,.operations-filters input,.filter-actions button{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--muted);border-radius:5px;padding:0 12px;font-size:12px}.operations-filters .roster-select{min-width:280px;max-width:420px;color:var(--muted);gap:6px;font-size:12px;display:grid}.roster-control{position:relative}.roster-field{border:1px solid var(--line);background:var(--surface);cursor:text;border-radius:5px;flex-wrap:wrap;align-items:center;gap:4px;min-height:36px;padding:4px 8px;display:flex}.roster-chip{background:var(--subtle);max-width:100%;height:24px;color:var(--text);border:0;border-radius:4px;align-items:center;gap:2px;padding:0 4px 0 8px;font-size:12px;line-height:24px;display:inline-flex}.roster-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:8em;overflow:hidden}.roster-chip-remove{width:18px;height:18px;color:var(--muted);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;font-size:14px;line-height:1;display:grid}.roster-chip-remove:hover{color:var(--text);background:var(--line)}.operations-filters .roster-search{min-width:72px;height:24px;color:var(--text);background:0 0;border:0;border-radius:0;flex:72px;margin:0;padding:0 4px;font-size:12px}.operations-filters .roster-search:focus,.operations-filters .roster-search:focus-visible{outline:none}.roster-menu{z-index:8;background:var(--surface);border:1px solid var(--line);border-radius:5px;max-height:240px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a14}.roster-menu button{width:100%;color:var(--text);background:0 0;border:0;justify-content:flex-start;align-items:baseline;gap:8px;padding:8px 12px;font-size:12px;display:flex}.roster-menu button:hover,.roster-menu button[aria-pressed=true]{background:var(--subtle)}.roster-menu small{color:var(--muted)}.ops-chart{min-width:0;margin:0}.ops-chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-axis,.chart-center-label{fill:var(--muted);font-size:10px}.chart-center{fill:var(--text);font-size:16px;font-weight:600}.chart-track{fill:none;stroke:var(--line);stroke-width:22px}.chart-new{fill:var(--chart-new);background:var(--chart-new)}.chart-mod{fill:var(--chart-mod);background:var(--chart-mod)}.chart-flow{fill:var(--chart-flow);background:var(--chart-flow)}.chart-assoc{fill:var(--chart-assoc);background:var(--chart-assoc)}.chart-other{fill:var(--chart-7);background:var(--chart-7)}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:10px 16px;margin:10px 0 0;font-size:11px;display:flex}.chart-legend i{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.dist-chart{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px;display:grid}.dist-legend{gap:6px;display:grid}.type-bars{gap:12px;margin:0;padding:4px 0 0;list-style:none;display:grid}.type-bar-row{color:var(--text);grid-template-columns:72px minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:12px;display:grid}.type-bar-name{min-width:0}.type-bar-track{background:var(--subtle);border-radius:999px;height:10px;display:block;overflow:hidden}.type-bar-fill{border-radius:999px;min-width:0;height:100%;display:block}.type-bar-pct{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.chart-updated{color:var(--muted);align-items:center;gap:6px;margin:16px 0 0;font-size:11px;display:inline-flex}.operations-filters :disabled{cursor:not-allowed}.filter-actions{gap:8px;display:flex}.filter-actions button{justify-content:center;align-items:center;gap:6px;min-width:76px;display:inline-flex}.filter-actions .query-button{color:var(--accent);background:var(--subtle)}.operations-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.operations-analysis-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;display:grid}.operations-analysis-grid>.metric-section{min-width:0}.operations-analysis-grid .empty-state{min-height:220px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1000px){.operations-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-analysis-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.app-header{padding:14px 16px}.app-body{grid-template-columns:58px minmax(0,1fr)}main{gap:22px;padding:18px 12px 30px}h1{font-size:20px}.header-actions{gap:8px}.domain-code{display:none}.sidebar-nav a{justify-content:center;padding:10px}.sidebar-nav a span,.sidebar-footer span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-footer{padding:14px 11px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-item{padding:12px}.summary-title{font-size:12px}.section-grid{grid-template-columns:minmax(0,1fr);gap:22px}.people-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.people-summary>div:nth-child(2){border-right:0}.connection-state{font-size:11px}.operations-filters label{flex:140px;min-width:0}.operations-summary>:last-child{grid-column:1/-1}.dist-chart{grid-template-columns:minmax(0,1fr)}}
