.dashboard-frame-host{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}.dashboard-frame-stage{position:absolute;top:0;left:0;width:calc(100% / var(--embed-zoom, 1));height:calc(100% / var(--embed-zoom, 1));transform:scale(var(--embed-zoom, 1));transform-origin:top left}.dashboard-frame{width:100%;height:100%;border:0;margin:0;padding:0;display:block;background:#fff}.aps-viewer-host{position:relative;flex:1;min-height:0;min-width:0;height:100%;overflow:hidden;background-color:#f8f9fc;border-left:1px solid #e2e8f0}.aps-viewer-host .aps-viewer-div{width:100%;height:100%;min-height:240px}.aps-viewer-status{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;font-size:13px;font-weight:500;color:#64748b;background:#f8f9fceb;pointer-events:none}.aps-viewer-host.aps-viewer-ready .aps-viewer-status{display:none}.aps-viewer-clear-btn{position:absolute;bottom:20px;right:20px;z-index:100;margin:0;padding:8px 15px;border-radius:4px;border:1px solid #e2e8f0;background-color:#fff;color:#1e293b;font-size:13px;font-weight:500;box-shadow:0 1px 4px #00000014;cursor:pointer;font-family:inherit;transition:all .2s ease}.aps-viewer-clear-btn:hover:not(:disabled){background-color:#f1f5f9;border-color:#3b82f6;transform:translateY(-1px)}.aps-viewer-clear-btn:disabled{opacity:.55;cursor:not-allowed}.analytics-page{--pbi-canvas: #f3f2f1;--pbi-visual-bg: #ffffff;--pbi-border: #e1dfdd;--pbi-slicer-header: #faf9f8;--pbi-text: #252423;--pbi-text-muted: #605e5c;--pbi-accent: #118dff;--pbi-accent-dark: #12239e;--pbi-filter-width: 200px;--pbi-gap: 8px;--pbi-font: "Segoe UI", "Segoe UI Web (West European)", system-ui, sans-serif}.analytics-page{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--pbi-canvas);font-family:var(--pbi-font)}.analytics-page-report{height:100vh;overflow:hidden}.analytics-report-toolbar{flex-shrink:0;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.65rem .75rem;background:#fffffff5;border-bottom:1px solid var(--pbi-border)}.analytics-report-toolbar-start{display:flex;align-items:center;gap:.5rem;justify-self:start}.analytics-filters-toggle-report{display:none}.analytics-report-back{justify-self:start;font-size:.84rem;font-weight:600;color:var(--pbi-text-muted);text-decoration:none}.analytics-report-back:hover{color:var(--pbi-text)}.analytics-report-title{font-size:.9rem;font-weight:600;color:var(--pbi-text);text-align:center}.analytics-report-spacer{justify-self:end;width:1px}.analytics-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--pbi-border);background:var(--pbi-visual-bg)}.analytics-toolbar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.analytics-filters-toggle{display:none;padding:.45rem .85rem;border:1px solid var(--pbi-border);border-radius:2px;background:var(--pbi-visual-bg);color:var(--pbi-text);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit}.analytics-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--pbi-text)}.analytics-body{flex:1;min-height:0;display:grid;grid-template-columns:var(--pbi-filter-width) minmax(0,1fr);position:relative}.analytics-backdrop{display:none}.analytics-filters{min-height:0;overflow:auto;border-right:1px solid var(--pbi-border);background:var(--pbi-visual-bg)}.analytics-canvas{min-height:0;overflow:hidden;padding:var(--pbi-gap);display:flex;flex-direction:column;gap:var(--pbi-gap);background:var(--pbi-canvas)}.analytics-canvas-kpis{flex-shrink:0}.analytics-canvas-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) min(380px,36%);gap:var(--pbi-gap);overflow:hidden}.analytics-canvas-visuals{min-height:0;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:var(--pbi-gap)}.analytics-canvas-main{flex:1;min-height:0;display:grid;grid-template-columns:1.2fr .8fr;gap:var(--pbi-gap)}.analytics-canvas-model,.analytics-canvas-charts{min-height:0;overflow:hidden}.analytics-canvas-model .model-panel,.analytics-canvas-charts .chart-placeholder{height:100%}.analytics-canvas-charts{display:flex;flex-direction:column;gap:var(--pbi-gap)}.analytics-canvas-charts .chart-placeholder{flex:1;min-height:0}.analytics-canvas-table{flex-shrink:0;min-height:160px;max-height:200px}.analytics-canvas-table .activity-table-card{height:100%;display:flex;flex-direction:column}.analytics-canvas-table .activity-table-scroll{flex:1;min-height:0}.kpi-sidebar{min-height:0;overflow:hidden;display:flex;flex-direction:column}.kpi-sidebar .dashboard-visual-pane{flex:1;min-height:0}.dashboard-visual-pane{display:flex;flex-direction:column;gap:var(--pbi-gap);min-height:0}.dashboard-visual-pane--filters{overflow:auto}.dashboard-visual-pane--sidebar{flex:1;overflow:hidden}.dashboard-visual-pane--main-grid{flex:1;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:var(--pbi-gap);overflow:hidden}.dashboard-visual-pane--main-grid .visual-placeholder-box--model{grid-row:1 / span 2}.visual-placeholder-box{display:flex;flex-direction:column;min-height:0;flex:var(--visual-flex, 1);overflow:hidden;border:1px solid #0078d4;background:#fff;box-shadow:0 1px 4px #00000014}.visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer){flex:0 0 auto;min-height:110px;max-height:160px}.dashboard-grid--pbi-report,.dashboard-grid--cost{--dashboard-filter-slicer-row-height: 26px;--dashboard-filter-slicer-row-gap: 4px;--dashboard-filter-slicer-row-count: 6;--dashboard-filter-slicer-body-height: calc( var(--dashboard-filter-slicer-row-count) * var(--dashboard-filter-slicer-row-height) + (var(--dashboard-filter-slicer-row-count) - 1) * var(--dashboard-filter-slicer-row-gap) );--dashboard-discipline-slicer-height: calc(38px + 12px + var(--dashboard-filter-slicer-body-height));--dashboard-discipline-row-height: var(--dashboard-discipline-slicer-height)}.visual-placeholder-box--discipline-slicer{--dashboard-filter-slicer-row-height: 26px;--dashboard-filter-slicer-row-gap: 4px;--dashboard-filter-slicer-row-count: 6;--dashboard-filter-slicer-body-height: calc( var(--dashboard-filter-slicer-row-count) * var(--dashboard-filter-slicer-row-height) + (var(--dashboard-filter-slicer-row-count) - 1) * var(--dashboard-filter-slicer-row-gap) );--dashboard-discipline-slicer-height: calc(38px + 12px + var(--dashboard-filter-slicer-body-height));box-sizing:border-box;height:var(--dashboard-discipline-slicer-height);min-height:var(--dashboard-discipline-slicer-height);max-height:var(--dashboard-discipline-slicer-height);flex:0 0 var(--dashboard-discipline-slicer-height);overflow:hidden}.visual-placeholder-box--discipline-slicer .visual-slicer-body--list{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto}.visual-placeholder-box--filter-slicer{min-height:0;max-height:none;height:100%;flex:1 1 auto;overflow:hidden}.visual-placeholder-box--filter-slicer .visual-slicer-body--list{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto}.dashboard-filter-column{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;align-self:stretch;gap:var(--pbi-report-gap, 4px)}.dashboard-filter-column.dashboard-grid-slot--resizable{overflow:hidden}.dashboard-filter-column__discipline{flex:0 0 auto;min-height:0;overflow:hidden}.dashboard-filter-column__category{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.dashboard-filter-column__discipline .visual-placeholder-box,.dashboard-filter-column__category .visual-placeholder-box{width:100%}.dashboard-filter-column__discipline .visual-placeholder-box--discipline-slicer,.dashboard-filter-column__discipline .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer){box-sizing:border-box;height:var(--dashboard-discipline-slicer-height, 226px);min-height:var(--dashboard-discipline-slicer-height, 226px);max-height:var(--dashboard-discipline-slicer-height, 226px);flex:0 0 var(--dashboard-discipline-slicer-height, 226px);overflow:hidden}.dashboard-filter-column__discipline .visual-placeholder-box--discipline-slicer .visual-slicer-body--list{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto}.dashboard-filter-column__category .visual-placeholder-box--filter-slicer,.dashboard-filter-column__category .visual-placeholder-box--category-slicer,.dashboard-filter-column__category .visual-placeholder-box--slicer{flex:1 1 0;min-height:0;max-height:none;height:100%;overflow:hidden}.dashboard-filter-column__category .visual-slicer-body--list,.dashboard-filter-column__category .visual-slicer-body--scroll{flex:1 1 0;min-height:0;overflow-y:auto}.dashboard-native-canvas--progress .dashboard-grid-template--pbi-monitor-quantity .dashboard-filter-column--aps-native{grid-row:1 / 6;grid-column:2}.dashboard-native-canvas--cost .dashboard-grid-template--pbi-cost .dashboard-filter-column--aps-native{grid-row:1 / 8;grid-column:2}.dashboard-native-canvas--planned-simulation .dashboard-grid-template--pbi-monitor .dashboard-filter-column--aps-native,.dashboard-native-canvas--viewpoint .dashboard-grid-template--pbi-monitor .dashboard-filter-column--aps-native{grid-row:1 / 4;grid-column:2}.visual-placeholder-box--chart,.visual-placeholder-box--table,.visual-placeholder-box--kpi,.visual-placeholder-box--model{min-height:120px}.visual-placeholder-box-title{margin:0;padding:8px 10px;font-size:12px;font-weight:700;color:#0078d4;text-align:center;border-bottom:1px solid var(--pbi-border);background:#fff;flex-shrink:0;line-height:1.3}.visual-placeholder-box-body{flex:1;min-height:64px;background:#faf9f8}.visual-placeholder-box--kpi{--dashboard-kpi-height: 72px;box-sizing:border-box;height:var(--dashboard-kpi-height);min-height:var(--dashboard-kpi-height);max-height:var(--dashboard-kpi-height);border:none;box-shadow:0 1px 3px #0000001f;text-align:center;justify-content:space-between;gap:4px;padding:8px 6px;overflow:hidden}.dashboard-grid .dashboard-grid-slot:has(.visual-placeholder-box--kpi){align-self:start}.visual-kpi-label{margin:0;flex:1 1 auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:11px;font-weight:700;line-height:1.2;color:var(--pbi-text)}.visual-kpi-value-placeholder{width:55%;min-height:1.5rem;margin-inline:auto;border-radius:2px;background:#0000000f}.visual-kpi-value{margin:0;flex:0 0 auto;font-size:1.15rem;font-weight:700;line-height:1.1;color:var(--pbi-text);text-align:center}.visual-kpi-value--value-green{color:#28a745}.visual-kpi-value--value-red{color:#dc3545}.dashboard-grid-template--quality-tracker .visual-placeholder-box--kpi{--dashboard-kpi-height: 72px}.visual-placeholder-box--tone-progress{background:linear-gradient(180deg,#d4edda,#c3e6cb)}.visual-placeholder-box--tone-delayed-pct{background:linear-gradient(180deg,#f8d7da,#f1b0b7)}.visual-placeholder-box--tone-completed-count{background:linear-gradient(180deg,#28a745,#218838)}.visual-placeholder-box--tone-completed-count .visual-kpi-label{color:#fff}.visual-placeholder-box--tone-completed-count .visual-kpi-value-placeholder{background:#ffffff38}.visual-placeholder-box--tone-delayed-count{background:linear-gradient(180deg,#e57373,#d9534f)}.visual-placeholder-box--tone-delayed-count .visual-kpi-label{color:#fff}.visual-placeholder-box--tone-delayed-count .visual-kpi-value-placeholder{background:#ffffff38}.visual-placeholder-box--tone-duration{background:linear-gradient(180deg,#ffe0b2,#ffcc80)}.visual-placeholder-box--tone-neutral{background:#0078d4}.visual-placeholder-box--tone-neutral .visual-kpi-label{color:#fff}.visual-placeholder-box--tone-neutral .visual-kpi-value-placeholder{background:#fff3}.visual-placeholder-box--tone-cost-card,.visual-placeholder-box--tone-value-green,.visual-placeholder-box--tone-value-red{background:#ececec;border:1px solid #d1d1d1;border-radius:6px;box-shadow:none;padding:6px 8px;justify-content:space-between;gap:2px}.visual-placeholder-box--tone-cost-card .visual-kpi-label,.visual-placeholder-box--tone-value-green .visual-kpi-label,.visual-placeholder-box--tone-value-red .visual-kpi-label{color:#252423;font-size:10px;font-weight:700;text-align:center}.visual-placeholder-box--tone-cost-card .visual-kpi-value-placeholder,.visual-placeholder-box--tone-value-green .visual-kpi-value-placeholder,.visual-placeholder-box--tone-value-red .visual-kpi-value-placeholder{width:72%;min-height:1.65rem;margin-top:auto;margin-bottom:auto;border-radius:2px;background:#2524231f}.visual-placeholder-box--tone-value-green .visual-kpi-value-placeholder{background:#28a74547}.visual-placeholder-box--tone-value-red .visual-kpi-value-placeholder{background:#dc354547}.visual-slicer-body--list{flex:1;min-height:0;overflow:auto;padding:6px 8px;background:#fff}.visual-slicer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.visual-slicer-option{display:flex;align-items:center;gap:6px;font-size:10px;color:#252423;line-height:1.2}.visual-slicer-checkbox{flex-shrink:0;width:12px;height:12px;border:1px solid #8a8886;border-radius:2px;background:#fff}.visual-slicer-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-slicer-check-item{display:flex;align-items:center;gap:6px;width:100%;min-width:0;font:inherit;color:inherit;cursor:pointer}.visual-slicer-check-item input[type=checkbox]{flex-shrink:0;margin:0;cursor:pointer}.visual-slicer-check-item--sub{font-size:11px}.visual-slicer-list--discipline{gap:4px}.visual-slicer-option--disc-group{display:block;padding:2px 0}.disc-group{display:flex;flex-direction:column;width:100%}.disc-group__header{display:flex;align-items:center;gap:2px}.disc-group__toggle{background:none;border:none;padding:0 2px;cursor:pointer;font-size:10px;color:#605e5c;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.disc-group__toggle svg{width:10px;height:10px}.disc-group__toggle:hover{color:#0f6cbd}.disc-group__children{padding-left:1.4rem;display:flex;flex-direction:column;gap:2px;margin-top:2px}.visual-slicer-status{margin:0;padding:8px 4px;font-size:11px;color:#605e5c}.visual-slicer-status--loading{display:flex;align-items:center;gap:8px}.visual-slicer-spinner{width:14px;height:14px;flex-shrink:0;border-radius:50%;border:2px solid rgba(138,136,134,.25);border-top-color:#0078d4;animation:visual-slicer-spin .8s linear infinite}@keyframes visual-slicer-spin{to{transform:rotate(360deg)}}.visual-slicer-status--error{color:#a4262c}.visual-slicer-body--scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.visual-slicer-body--scroll::-webkit-scrollbar{width:8px}.visual-slicer-body--scroll::-webkit-scrollbar-thumb{background:#c8c6c4;border-radius:4px}.visual-slicer-body--scroll::-webkit-scrollbar-track{background:#f3f2f1}.visual-slicer-option--skeleton{pointer-events:none}.visual-slicer-checkbox--skeleton{background:#edebe9;border-color:#e1dfdd}.visual-slicer-label-placeholder{flex:1;display:block;height:10px;max-width:78%;border-radius:2px;background:#edebe9}.visual-slicer-option--skeleton:nth-child(2n) .visual-slicer-label-placeholder{max-width:62%}.visual-slicer-option--skeleton:nth-child(3n) .visual-slicer-label-placeholder{max-width:88%}.visual-date-range-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:4px 12px 10px;background:#fff}.visual-date-range-inputs{display:flex;gap:8px;flex-shrink:0}.visual-date-range-input{display:block;width:92px;height:24px;border:1px solid #d1d1d1;border-radius:3px;background:#fff}.visual-date-range-track{position:relative;display:flex;align-items:center;height:18px;padding-inline:4px}.visual-date-range-line{flex:1;height:2px;background:#0078d4;opacity:.55}.visual-date-range-handle{position:absolute;top:50%;width:12px;height:12px;border:2px solid #0078d4;border-radius:50%;background:#fff;transform:translateY(-50%)}.visual-date-range-handle--start{left:0}.visual-date-range-handle--end{right:0}.visual-placeholder-box--wbs-light{border:1px solid #d1d1d1;box-shadow:none;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.visual-placeholder-box--wbs-light .visual-table-title{flex-shrink:0;color:#0078d4;font-size:12px;padding:6px 8px}.visual-placeholder-box--wbs-light .visual-table-scroll--body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.visual-placeholder-box--wbs-light .visual-table-scroll--body::-webkit-scrollbar,.visual-placeholder-box--category-table .visual-table-scroll--body::-webkit-scrollbar{width:8px}.visual-placeholder-box--wbs-light .visual-table-scroll--body::-webkit-scrollbar-thumb,.visual-placeholder-box--category-table .visual-table-scroll--body::-webkit-scrollbar-thumb{background:#c8c6c4;border-radius:4px}.visual-placeholder-box--wbs-light .visual-table-scroll--body::-webkit-scrollbar-track,.visual-placeholder-box--category-table .visual-table-scroll--body::-webkit-scrollbar-track{background:#f3f2f1}.dashboard-grid--pbi-report .dashboard-grid-slot:has(.visual-placeholder-box--wbs-light),.dashboard-grid--pbi-report .dashboard-grid-slot:has(.visual-placeholder-box--category-table),.dashboard-grid--cost .dashboard-grid-slot:has(.visual-placeholder-box--wbs-light),.dashboard-grid--cost .dashboard-grid-slot:has(.visual-placeholder-box--category-table){min-height:0;overflow:hidden;align-self:stretch}.visual-placeholder-box--wbs-light.visual-placeholder-box--table,.visual-placeholder-box--category-table.visual-placeholder-box--table{min-height:0}.visual-placeholder-box--category-table{border:1px solid #d1d1d1;box-shadow:none;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.visual-placeholder-box--category-table .visual-table-title{flex-shrink:0;color:#0078d4;font-size:12px;padding:6px 8px}.visual-placeholder-box--category-table .visual-table-scroll--body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.visual-placeholder-box--wbs-light .visual-table,.visual-placeholder-box--category-table .visual-table--category{table-layout:fixed;width:100%}.visual-placeholder-box--wbs-light .visual-table thead th,.visual-placeholder-box--category-table .visual-table thead th{position:sticky;top:0;z-index:2;background:#fff;color:#0078d4;border:1px solid #d1d1d1;font-weight:600;font-size:10px;padding:5px 4px;line-height:1.15;text-align:left;vertical-align:middle}.visual-placeholder-box--category-table .visual-table thead th{white-space:normal;word-break:break-word;font-size:9px;padding:4px 2px}.visual-placeholder-box--wbs-light .visual-table thead th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visual-placeholder-box--category-table .visual-table thead th.visual-table-num{text-align:right}.visual-placeholder-box--category-table .visual-table-data-row td{padding:3px 4px;border:1px solid #e1dfdd;background:#fff;font-size:9px;color:#252423;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-placeholder-box--category-table .visual-table-row-placeholder td{padding:3px 4px;border:1px solid #e1dfdd;background:#fff}.visual-placeholder-box--category-table .visual-table-data-row:nth-child(2n) td,.visual-placeholder-box--category-table .visual-table-row-placeholder:nth-child(2n) td{background:#faf9f8}.visual-placeholder-box--category-table .visual-table-data-row td.visual-table-num,.visual-placeholder-box--category-table .visual-table-row-placeholder td.visual-table-num{text-align:right}.visual-placeholder-box--category-table .visual-table-cell-placeholder{height:8px;width:70%}.visual-placeholder-box--category-table .visual-table-row-placeholder td.visual-table-num .visual-table-cell-placeholder{width:50%;margin-left:auto}.visual-placeholder-box--wbs-light .visual-table-row-placeholder td{padding:4px 6px;border:1px solid #e1dfdd;background:#fff}.visual-placeholder-box--wbs-light .visual-table-row-placeholder:nth-child(2n) td{background:#faf9f8}.visual-placeholder-box--wbs-light .visual-table-data-row td{padding:4px 6px;border:1px solid #e1dfdd;background:#fff;font-size:10px;color:#252423;vertical-align:top}.visual-placeholder-box--wbs-light .visual-table-data-row:nth-child(2n) td{background:#faf9f8}.visual-placeholder-box--wbs-light .visual-table-data-row td.visual-table-num{text-align:right;white-space:nowrap}.visual-placeholder-box--wbs-light .visual-wbs-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-right:4px}.visual-placeholder-box--wbs-light .visual-wbs-clear{border:none;background:transparent;color:#0078d4;font-size:10px;font-weight:600;cursor:pointer;padding:2px 4px}.visual-placeholder-box--wbs-light .visual-wbs-clear:hover{text-decoration:underline}.visual-placeholder-box--wbs-light .visual-table-data-row--interactive{cursor:pointer}.visual-placeholder-box--wbs-light .visual-table-data-row--selected td{background:#deecf9!important}.visual-placeholder-box--wbs-light .visual-table-data-row--unassigned td,.visual-placeholder-box--wbs-light .visual-table-data-row--empty td{color:#605e5c;font-style:italic}.visual-table-cell-placeholder{display:block;height:10px;width:80%;border-radius:2px;background:#0000000d}.visual-placeholder-box--wbs-light .visual-table-row-placeholder td:nth-child(3) .visual-table-cell-placeholder,.visual-placeholder-box--wbs-light .visual-table-row-placeholder td:nth-child(4) .visual-table-cell-placeholder,.visual-placeholder-box--wbs-light .visual-table-row-placeholder td:nth-child(5) .visual-table-cell-placeholder{width:55%;margin-left:auto}.visual-placeholder-box--table{display:flex;flex-direction:column;overflow:hidden}.visual-table-title{margin:0;padding:8px 10px 6px;font-size:13px;font-weight:700;color:var(--pbi-accent);text-align:center;border-bottom:none;background:#fff}.visual-table-scroll{flex:1;min-height:0;overflow:auto}.visual-table{width:100%;border-collapse:collapse;font-size:11px}.visual-table thead th{position:sticky;top:0;z-index:1;padding:6px 8px;background:var(--pbi-accent-dark);color:#fff;font-weight:600;text-align:left;border:1px solid #0e1a7a;white-space:nowrap}.visual-table-num{text-align:right}.visual-table-empty-row td{padding:1.5rem 1rem;text-align:center;border:1px solid var(--pbi-border);background:#faf9f8;color:var(--pbi-text-muted);font-style:italic}.visual-placeholder-box--timeline .visual-placeholder-box-body{min-height:48px}.visual-chart-body{flex:1;min-height:0;display:flex;align-items:flex-end;padding:8px 10px 10px;background:#fff}.visual-chart-body--bar{overflow:hidden}.visual-chart-bars{display:flex;align-items:flex-end;gap:6px;width:100%;height:100%;min-height:120px}.visual-chart-bar{flex:1 1 0;min-width:0;background:#118dff;border-radius:2px 2px 0 0;opacity:.85}.visual-chart-body--stacked-bar{flex-direction:column;gap:6px;padding-top:4px}.visual-placeholder-box--stacked-bar{min-height:0;overflow:hidden}.visual-stacked-bar{--stacked-bar-y-gutter: 28px;--stacked-bar-x-height: 88px;--stacked-bar-x-title-height: 16px;flex:1;min-height:0;display:flex;flex-direction:column;padding:2px 6px 4px;background:#fff;overflow:hidden}.visual-stacked-bar-legend{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:0 0 4px 2px}.visual-stacked-bar-legend-heading{font-size:9px;font-weight:600;color:#323130;line-height:1}.visual-stacked-bar-legend-item{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#605e5c;line-height:1}.visual-stacked-bar-legend-item:before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0}.visual-stacked-bar-legend-item--completed:before{background:#2196f3}.visual-stacked-bar-legend-item--delayed:before{background:#1a237e}.visual-stacked-bar-main{flex:1;min-height:0;display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:4px;overflow:hidden}.visual-stacked-bar-y-axis-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;color:#605e5c;text-align:center;justify-self:center;align-self:center;white-space:nowrap;line-height:1.2;letter-spacing:.02em}.visual-stacked-bar-chart-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.visual-stacked-bar-plot-area{flex:1;min-height:0;position:relative;overflow:hidden;z-index:1;background:#fff}.visual-stacked-bar-y-ticks{position:absolute;inset:0 auto 0 0;width:var(--stacked-bar-y-gutter);z-index:2;pointer-events:none}.visual-stacked-bar-y-tick{position:absolute;right:4px;transform:translateY(50%);font-size:8px;color:#605e5c;line-height:1;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.visual-stacked-bar-y-tick:first-child{transform:translateY(-50%)}.visual-stacked-bar-y-tick:last-child{transform:translateY(0)}.visual-stacked-bar-grid{position:absolute;inset:0 0 0 var(--stacked-bar-y-gutter);pointer-events:none}.visual-stacked-bar-grid-line{position:absolute;left:0;right:0;border-top:1px dotted #c8c6c4}.visual-stacked-bar-bars{position:absolute;inset:0 2px 0 var(--stacked-bar-y-gutter);display:flex;align-items:flex-end;gap:2px}.visual-stacked-bar-column{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}.visual-stacked-bar-stack{width:100%;max-width:26px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.visual-stacked-bar-segment{display:block;width:100%}.visual-stacked-bar-segment--completed{background:#2196f3}.visual-stacked-bar-segment--delayed{background:#1a237e}.visual-stacked-bar-x-ticks{flex-shrink:0;display:flex;gap:2px;height:var(--stacked-bar-x-height);padding:10px 12px var(--stacked-bar-y-gutter);margin-top:0;overflow:visible;position:relative;z-index:0}.visual-stacked-bar-x-tick-wrap{flex:1 1 0;min-width:0;position:relative;height:100%;overflow:visible}.visual-stacked-bar-x-tick{position:absolute;left:50%;top:14px;font-size:7px;color:#605e5c;line-height:1.1;transform:translate(-50%) rotate(-45deg);transform-origin:top center;white-space:nowrap;text-align:center}.visual-stacked-bar-x-axis-label{flex-shrink:0;height:var(--stacked-bar-x-title-height);padding:2px 2px 0 var(--stacked-bar-y-gutter);text-align:center;font-size:8px;color:#605e5c;line-height:var(--stacked-bar-x-title-height)}.visual-chart-legend{display:flex;justify-content:center;gap:12px;flex-shrink:0}.visual-chart-legend-item{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#605e5c}.visual-chart-legend-item:before{content:"";width:10px;height:10px;border-radius:1px}.visual-chart-legend-item--completed:before{background:#118dff}.visual-chart-legend-item--delayed:before{background:#12239e}.visual-chart-bars--stacked{min-height:100px}.visual-chart-bar-stack{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:1px}.visual-chart-bar-segment{display:block;width:100%;border-radius:1px}.visual-chart-bar-segment--completed{background:#118dff}.visual-chart-bar-segment--delayed{background:#12239e}.visual-placeholder-box--gantt{min-height:0}.visual-gantt-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.dashboard-native-canvas{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--pbi-canvas);font-family:var(--pbi-font)}.dashboard-native-canvas--regions{flex-direction:row}.dashboard-native-main{flex:1;min-width:0;min-height:0;overflow:hidden}.dashboard-report-header{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:10px 4rem;background:#fff;border-bottom:1px solid var(--pbi-border)}.dashboard-report-title{margin:0;font-size:1.15rem;font-weight:700;color:#0078d4;text-align:center;letter-spacing:.03em}.dashboard-report-reset{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border:1px solid var(--pbi-border);border-radius:2px;background:#fff;color:#0078d4;font-size:11px;font-family:inherit;cursor:pointer;opacity:1;line-height:1}.dashboard-report-reset:hover:not(:disabled){background:#f3f2f1}.dashboard-report-reset:disabled{cursor:not-allowed;opacity:.45;color:var(--pbi-text-muted)}.dashboard-report-reset-icon{font-size:16px;line-height:1;color:inherit}.dashboard-report-reset-label{font-size:10px;font-weight:600}.dashboard-grid{flex:1;min-height:0;display:grid;gap:var(--pbi-gap);padding:var(--pbi-gap);overflow:hidden;--dashboard-col1-min: 100px;--dashboard-col1-max: 170px;--dashboard-col2-min: 90px;--dashboard-col2-max: 150px;--dashboard-model-min: 220px;--dashboard-model-width: 1fr;--dashboard-right-panel-width: unset;--dashboard-right-panel-kpi-col: var(--dashboard-kpi-col-width, 120px)}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report,.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report{--dashboard-col1-min: 280px}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: wbs"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: wbs"],.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"],.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: category"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: category"],.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: model"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: model"],.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-right-panel{min-height:0;overflow:hidden;align-self:stretch}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"]:has(.visual-placeholder-box--discipline-slicer),.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"]:has(.visual-placeholder-box--discipline-slicer){height:var(--dashboard-discipline-row-height, 226px);min-height:var(--dashboard-discipline-row-height, 226px);max-height:var(--dashboard-discipline-row-height, 226px);align-self:start;overflow:hidden}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer){height:100%;min-height:0;max-height:none;flex:1;display:flex;flex-direction:column}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--filter-slicer .visual-slicer-body--list,.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--filter-slicer .visual-slicer-body--list{flex:1 1 auto;min-height:0;overflow-y:auto}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--discipline-slicer) .visual-slicer-body--list,.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer) .visual-slicer-body--list,.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-slicer-body--scroll,.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-slicer-body--scroll{flex:1;min-height:0}.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"] .visual-placeholder-box--timeline{max-width:100%}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"] .visual-date-range-body,.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"] .visual-date-range-body{padding:2px 4px 4px}.dashboard-grid-template--pbi-monitor{--pbi-report-gap: 8px;--dashboard-kpi-height: 58px;--dashboard-kpi-col-width: 200px;--dashboard-discipline-row-min: var(--dashboard-discipline-row-height, 226px);gap:var(--pbi-report-gap);padding:var(--pbi-report-gap);grid-template-columns:minmax(var(--dashboard-col1-min),var(--dashboard-col1-width, 22%)) minmax(var(--dashboard-col2-min),var(--dashboard-col2-width, 12%)) minmax(var(--dashboard-model-min),var(--dashboard-model-width, 1fr)) minmax(160px,var(--dashboard-right-panel-width, var(--dashboard-kpi-col-width, 200px)));grid-template-rows:var(--dashboard-discipline-row-height, 226px) minmax(0,1.4fr) minmax(58px,auto) minmax(var(--dashboard-schedule-row-min, 120px),var(--dashboard-schedule-row-height, 22%));grid-template-areas:"wbs discipline model kpi" "wbs category  model chart" "wbs category  trend chart" "schedule schedule schedule schedule"}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot:has(.visual-placeholder-box--kpi){align-self:start}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .visual-placeholder-box--kpi{--dashboard-kpi-height: 58px;padding:4px 8px;gap:0;justify-content:center;background:#fff;border:1px solid #0078d4;border-radius:6px;box-shadow:none}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .visual-placeholder-box--kpi .visual-kpi-label{font-size:9px;line-height:1.1;-webkit-line-clamp:2;line-clamp:2}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .visual-kpi-value{font-size:1.25rem}.dashboard-grid-template--pbi-planned{--pbi-report-gap: 4px;--dashboard-col1-min: 280px;--dashboard-discipline-row-min: var(--dashboard-discipline-row-height, 226px);gap:var(--pbi-report-gap);padding:var(--pbi-report-gap);grid-template-columns:minmax(var(--dashboard-col1-min),var(--dashboard-col1-width, 20%)) minmax(var(--dashboard-col2-min),var(--dashboard-col2-width, 11%)) minmax(var(--dashboard-model-min),var(--dashboard-model-width, 1fr)) minmax(160px,var(--dashboard-right-panel-width, 320px));grid-template-rows:var(--dashboard-discipline-row-height, 226px) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(36px,auto) minmax(var(--dashboard-schedule-row-min, 180px),var(--dashboard-schedule-row-height, 40%));grid-template-areas:"wbs discipline model right" "wbs category   model right" "wbs category   model right" "wbs category   model right" "wbs category   trend right" "schedule schedule schedule right"}.dashboard-grid-slot.dashboard-grid-right-panel.dashboard-grid-right-panel--planned{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:3px;min-height:0;overflow:hidden;background:transparent;border:none;padding:0;box-shadow:none;grid-template-areas:"planned-kpi" "cat-chart" "quantity"}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: schedule"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: wbs"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: category"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: model"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"],.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-right-panel{min-height:0;overflow:hidden;align-self:stretch}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"]:has(.visual-placeholder-box--discipline-slicer){height:var(--dashboard-discipline-row-height, 226px);min-height:var(--dashboard-discipline-row-height, 226px);max-height:var(--dashboard-discipline-row-height, 226px);align-self:start;overflow:hidden}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--filter-slicer{min-height:0;max-height:none;height:100%;flex:1}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--filter-slicer .visual-slicer-body--list{flex:1 1 auto;min-height:0;overflow-y:auto}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer){height:100%;min-height:0;max-height:none;flex:1;display:flex;flex-direction:column}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer) .visual-slicer-body--list,.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-slicer-body--scroll{flex:1;min-height:0}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"] .visual-placeholder-box--timeline{max-width:100%}.dashboard-grid-template--pbi-planned.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: trend"] .visual-date-range-body{padding:2px 4px 4px}.dashboard-grid-template--pbi-monitor-quantity{--pbi-report-gap: 4px;--dashboard-kpi-col-width: 120px;--dashboard-discipline-row-min: var(--dashboard-discipline-row-height, 226px);--dashboard-right-panel-kpi-col: calc( (var(--dashboard-right-panel-width, 240px) - var(--pbi-report-gap)) / 2 );gap:var(--pbi-report-gap);padding:var(--pbi-report-gap);grid-template-columns:minmax(var(--dashboard-col1-min),var(--dashboard-col1-width, 22%)) minmax(var(--dashboard-col2-min),var(--dashboard-col2-width, 12%)) minmax(var(--dashboard-model-min),var(--dashboard-model-width, 1fr)) minmax(90px,var(--dashboard-right-panel-kpi-col)) minmax(90px,var(--dashboard-right-panel-kpi-col));grid-template-rows:var(--dashboard-discipline-row-height, 226px) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) minmax(36px,auto) minmax(var(--dashboard-schedule-row-min, 120px),var(--dashboard-schedule-row-height, 22%));grid-template-areas:"wbs discipline model right right" "wbs category  model right right" "wbs category  model right right" "wbs category  model right right" "wbs category  trend right right" "ongoing ongoing schedule schedule schedule"}.dashboard-grid-slot.dashboard-grid-right-panel.dashboard-grid-right-panel--kpi-grid-quantity{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto minmax(0,1fr);gap:3px;min-height:0;overflow:hidden;grid-template-areas:"kpi1 kpi2" "kpi3 kpi4" "duration duration" "quantity quantity"}.dashboard-grid-right-panel__item{min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.dashboard-grid-right-panel__item--kpi1{grid-area:kpi1;grid-column:1;grid-row:1}.dashboard-grid-right-panel__item--kpi2{grid-area:kpi2;grid-column:2;grid-row:1}.dashboard-grid-right-panel__item--kpi3{grid-area:kpi3;grid-column:1;grid-row:2}.dashboard-grid-right-panel__item--kpi4{grid-area:kpi4;grid-column:2;grid-row:2}.dashboard-grid-right-panel__item--duration{grid-area:duration;grid-column:1 / -1;grid-row:3}.dashboard-grid-right-panel__item--quantity{grid-area:quantity;grid-column:1 / -1;grid-row:4;min-height:0}.dashboard-grid-right-panel--kpi-grid-quantity .visual-placeholder-box--kpi{--dashboard-kpi-height: 68px;width:100%;padding:4px 6px;gap:2px;justify-content:center;border-radius:6px;box-shadow:0 1px 3px #0000001f}.dashboard-grid-right-panel--kpi-grid-quantity .dashboard-grid-right-panel__item--duration .visual-placeholder-box--kpi{--dashboard-kpi-height: 52px;padding:3px 8px}.dashboard-grid-right-panel--kpi-grid-quantity .visual-placeholder-box--kpi .visual-kpi-label{font-size:9px;font-weight:700;line-height:1.1;color:#252423;flex:0 0 auto;-webkit-line-clamp:2;line-clamp:2}.dashboard-grid-right-panel--kpi-grid-quantity .visual-kpi-value{font-size:1.2rem;font-weight:700;color:#252423}.dashboard-grid-right-panel--kpi-grid-quantity .dashboard-grid-right-panel__item--duration .visual-kpi-value{font-size:1.35rem}.dashboard-grid-template--pbi-monitor-quantity .visual-placeholder-box--tone-completed-count .visual-kpi-label,.dashboard-grid-template--pbi-monitor-quantity .visual-placeholder-box--tone-completed-count .visual-kpi-value,.dashboard-grid-template--pbi-monitor-quantity .visual-placeholder-box--tone-delayed-count .visual-kpi-label,.dashboard-grid-template--pbi-monitor-quantity .visual-placeholder-box--tone-delayed-count .visual-kpi-value{color:#252423}.dashboard-grid-right-panel--kpi-grid-quantity .visual-placeholder-box--category-table{flex:1;min-height:0}.dashboard-native-canvas--pbi,.dashboard-native-canvas--cost{background:#fff}.dashboard-native-canvas--pbi .dashboard-report-header,.dashboard-native-canvas--cost .dashboard-report-header{border-bottom:1px solid #d1d1d1;padding:8px 4rem}.dashboard-native-canvas--pbi .dashboard-report-title,.dashboard-native-canvas--cost .dashboard-report-title{color:#002060;font-size:1.05rem;letter-spacing:.02em}.dashboard-native-canvas--pbi .dashboard-report-reset,.dashboard-native-canvas--cost .dashboard-report-reset{border:none;color:#0078d4;opacity:1;padding:2px 6px;background:transparent}.dashboard-native-canvas--pbi .dashboard-report-reset:disabled,.dashboard-native-canvas--cost .dashboard-report-reset:disabled{opacity:.45;color:var(--pbi-text-muted)}.dashboard-native-canvas--pbi .dashboard-grid-slot--model,.dashboard-native-canvas--cost .dashboard-grid-slot--model{border:1px solid #d1d1d1;border-radius:6px;box-shadow:none;background:#fff}.dashboard-native-canvas--pbi .dashboard-grid-slot-model-label,.dashboard-native-canvas--cost .dashboard-grid-slot-model-label{display:none}.dashboard-native-canvas--pbi .dashboard-grid-slot-model-body,.dashboard-native-canvas--cost .dashboard-grid-slot-model-body{background:#f3f2f1}.dashboard-grid--pbi-report .visual-placeholder-box,.dashboard-grid--cost .visual-placeholder-box{border:1px solid #d1d1d1;border-radius:6px;box-shadow:none}.dashboard-grid--pbi-report .visual-placeholder-box-title,.dashboard-grid--pbi-report .visual-table-title,.dashboard-grid--pbi-report .visual-placeholder-box--timeline .visual-placeholder-box-title,.dashboard-grid--cost .visual-placeholder-box-title,.dashboard-grid--cost .visual-table-title,.dashboard-grid--cost .visual-placeholder-box--timeline .visual-placeholder-box-title{color:#0078d4;font-size:11px;font-weight:700;border-bottom:1px solid #e1dfdd;background:#fff;padding:6px 8px}.dashboard-grid--pbi-report .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid--cost .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer){min-height:0;max-height:none;flex:1}.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer):not(.visual-placeholder-box--discipline-slicer),.dashboard-grid--cost [style*="grid-area: discipline"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer){max-height:100%}.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid--cost [style*="grid-area: category"] .visual-placeholder-box--slicer:not(.visual-placeholder-box--filter-slicer),.dashboard-grid--cost [style*="grid-area: category"] .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer){max-height:none;min-height:0;height:100%;flex:1}.dashboard-grid--pbi-report .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer) .visual-slicer-body--list,.dashboard-grid--cost .visual-placeholder-box--category-slicer:not(.visual-placeholder-box--filter-slicer) .visual-slicer-body--list{flex:1;min-height:0}.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"]:has(.visual-placeholder-box--discipline-slicer),.dashboard-grid--cost .dashboard-grid-slot[style*="grid-area: discipline"]:has(.visual-placeholder-box--discipline-slicer){height:var(--dashboard-discipline-row-height, 226px);min-height:var(--dashboard-discipline-row-height, 226px);max-height:var(--dashboard-discipline-row-height, 226px);align-self:start;overflow:hidden}.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--discipline-slicer,.dashboard-grid--cost [style*="grid-area: discipline"] .visual-placeholder-box--discipline-slicer{height:var(--dashboard-discipline-slicer-height, 226px);min-height:var(--dashboard-discipline-slicer-height, 226px);max-height:var(--dashboard-discipline-slicer-height, 226px);flex:0 0 var(--dashboard-discipline-slicer-height, 226px)}.dashboard-grid--pbi-report [style*="grid-area: discipline"] .visual-placeholder-box--discipline-slicer .visual-slicer-body--list,.dashboard-grid--cost [style*="grid-area: discipline"] .visual-placeholder-box--discipline-slicer .visual-slicer-body--list{flex:1 1 0;min-height:0;max-height:100%;overflow-y:auto}.dashboard-grid--pbi-report [style*="grid-area: category"] .visual-placeholder-box--filter-slicer,.dashboard-grid--cost [style*="grid-area: category"] .visual-placeholder-box--filter-slicer{min-height:0;max-height:none;height:100%;flex:1 1 auto}.dashboard-grid--pbi-report .dashboard-grid-slot:has(.visual-placeholder-box--kpi),.dashboard-grid--cost .dashboard-grid-slot:has(.visual-placeholder-box--kpi){align-self:stretch;justify-content:center}.dashboard-grid--pbi-report .dashboard-grid-slot .visual-placeholder-box--kpi,.dashboard-grid--cost .dashboard-grid-slot .visual-placeholder-box--kpi{flex:0 0 auto;width:100%}.dashboard-grid--pbi-report .visual-placeholder-box--kpi,.dashboard-grid--cost .visual-placeholder-box--kpi{--dashboard-kpi-height: 90px;padding:8px 10px;justify-content:flex-start;gap:2px}.dashboard-grid--pbi-report .dashboard-grid-right-panel--kpi-grid-quantity .visual-placeholder-box--kpi{--dashboard-kpi-height: 68px;padding:4px 6px;gap:2px;justify-content:center}.dashboard-grid--pbi-report .dashboard-grid-right-panel--kpi-grid-quantity .dashboard-grid-right-panel__item--duration .visual-placeholder-box--kpi{--dashboard-kpi-height: 52px;padding:3px 8px}.dashboard-grid--pbi-report .visual-placeholder-box--tone-cost-card,.dashboard-grid--pbi-report .visual-placeholder-box--tone-value-green,.dashboard-grid--pbi-report .visual-placeholder-box--tone-value-red,.dashboard-grid--cost .visual-placeholder-box--tone-cost-card,.dashboard-grid--cost .visual-placeholder-box--tone-value-green,.dashboard-grid--cost .visual-placeholder-box--tone-value-red{background:#f2f2f2;border:1px solid #c8c6c4;border-radius:8px;box-shadow:none}.dashboard-grid--pbi-report .visual-placeholder-box--tone-neutral{background:#fff;border:1px solid #0078d4;border-radius:6px;box-shadow:none}.dashboard-grid--pbi-report .visual-placeholder-box--kpi .visual-kpi-label,.dashboard-grid--cost .visual-placeholder-box--kpi .visual-kpi-label{flex:0 0 auto;font-size:10px;font-weight:600;line-height:1.2;padding-inline:0;color:#323130}.dashboard-grid--pbi-report .visual-kpi-value,.dashboard-grid--cost .visual-kpi-value{flex:1 1 auto;display:flex;align-items:center;justify-content:center;margin:0;font-size:1.5rem;font-weight:700;line-height:1;color:#201f1e;font-family:Segoe UI,"Segoe UI Web (West European)",system-ui,sans-serif}.dashboard-grid--pbi-report .visual-kpi-value--value-green,.dashboard-grid--cost .visual-kpi-value--value-green{color:#107c10}.dashboard-grid--pbi-report .visual-kpi-value--value-red,.dashboard-grid--cost .visual-kpi-value--value-red{color:#a4262c}.dashboard-grid--pbi-report .visual-placeholder-box--table,.dashboard-grid--pbi-report .visual-placeholder-box--timeline,.dashboard-grid--pbi-report .visual-placeholder-box--chart,.dashboard-grid--cost .visual-placeholder-box--table,.dashboard-grid--cost .visual-placeholder-box--timeline{min-height:0}.dashboard-grid--pbi-report .visual-placeholder-box--timeline .visual-date-range-body,.dashboard-grid--cost .visual-placeholder-box--timeline .visual-date-range-body{padding-top:2px}.dashboard-grid-template--pbi-cost{--cost-gap: 8px;--dashboard-kpi-height: 90px;--dashboard-col1-min: 300px;--dashboard-kpi-col-width: 120px;--dashboard-right-panel-kpi-col: calc( (var(--dashboard-right-panel-width, 240px) - var(--cost-gap)) / 2 );gap:var(--cost-gap);padding:var(--cost-gap);grid-template-columns:minmax(var(--dashboard-col1-min),var(--dashboard-col1-width, 26%)) minmax(var(--dashboard-col2-min),var(--dashboard-col2-width, 14%)) minmax(var(--dashboard-model-min),var(--dashboard-model-width, 1fr)) minmax(90px,var(--dashboard-right-panel-kpi-col)) minmax(90px,var(--dashboard-right-panel-kpi-col));grid-template-rows:repeat(8,minmax(68px,1fr));grid-template-areas:"wbs discipline model kpi1  kpi2" "wbs discipline model kpi3  kpi4" "wbs category   model kpi5  kpi6" "wbs category   model kpi7  kpi8" "cat category   model kpi9  kpi10" "cat category   model kpi11 kpi12" "cat category   model kpi13 kpi14" "cat daterange  daterange kpi15 kpi16"}.dashboard-grid-template--quality-tracker{--pbi-report-gap: 6px;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;box-sizing:border-box;gap:var(--pbi-report-gap);padding:var(--pbi-report-gap);overflow:hidden}.dashboard-grid-template--quality-top{--dashboard-model-min: 220px;--dashboard-col1-min: 120px;--dashboard-quality-category-min: 70px;--dashboard-col2-min: 90px;flex:1 1 0;min-height:100px;width:100%;box-sizing:border-box;align-items:stretch;grid-template-columns:minmax(var(--dashboard-model-min),var(--dashboard-model-width, 5fr)) minmax(var(--dashboard-col1-min),var(--dashboard-col1-width, 3fr)) minmax(var(--dashboard-quality-category-min),var(--dashboard-quality-category-width, 2fr)) minmax(var(--dashboard-col2-min),var(--dashboard-col2-width, 2fr));grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"model quantity category discipline" "model quantity category revit"}.dashboard-grid-template--quality-images{flex:0 0 auto;width:100%;box-sizing:border-box;position:relative;min-height:0;overflow:hidden;height:var(--dashboard-quality-image-row-height, auto);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:var(--pbi-report-gap)}.dashboard-quality-issues-slot{flex:1 1 0;width:100%;box-sizing:border-box;position:relative;min-height:80px;overflow:hidden}.dashboard-grid-template--quality-tracker[style*=--dashboard-quality-issues-row-height] .dashboard-quality-issues-slot{flex:0 0 auto;height:var(--dashboard-quality-issues-row-height)}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot,.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .dashboard-grid-slot,.dashboard-grid-template--quality-tracker.dashboard-grid--pbi-report .dashboard-quality-issues-slot{align-self:stretch;min-height:0;min-width:0}.dashboard-grid-template--quality-tracker.dashboard-grid--pbi-report .dashboard-grid-template--quality-top,.dashboard-grid-template--quality-tracker.dashboard-grid--pbi-report .dashboard-grid-template--quality-images{width:100%}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: model"]{min-height:120px}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot-model-body:has(.visual-placeholder-box--quality-model){background:#fff}.visual-quality-model-steps{flex:1;min-height:0;padding:10px 12px;overflow:auto;font-size:10px;line-height:1.45;color:#323130}.visual-quality-model-steps-title{margin:0 0 6px;font-size:10px;font-weight:600}.visual-quality-model-steps-list{margin:0;padding-left:1.15rem}.visual-quality-model-steps-list li+li{margin-top:4px}.visual-placeholder-box--quality-model{height:100%;min-height:0;border:none;box-shadow:none;border-radius:6px}.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .visual-placeholder-box--image{height:100%;min-height:0;display:flex;flex-direction:column}.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .dashboard-grid-slot{display:flex;flex-direction:column;min-height:0}.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .visual-image-placeholder-body,.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .visual-image-body{flex:0 0 auto;width:100%;max-width:100%;min-height:0;aspect-ratio:1;height:auto;max-height:100%;object-fit:contain}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: discipline"] .visual-placeholder-box--slicer{flex:1;height:100%;min-height:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: revit"]{margin-top:calc(-1 * var(--pbi-report-gap))}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: revit"] .visual-placeholder-box--revit-slicer{flex:1;height:100%;min-height:0;border-top-left-radius:0;border-top-right-radius:0}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: category"] .visual-placeholder-box--slicer,.dashboard-quality-issues-slot .visual-placeholder-box--issues-table{height:100%;min-height:0}.dashboard-quality-issues-slot .visual-placeholder-box--issues-table .visual-table-scroll--body{flex:1 1 auto;min-height:0;overflow:auto}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .visual-placeholder-box--category-table{height:100%}.dashboard-grid-template--quality-images.dashboard-grid--pbi-report .visual-image-panel-title{margin:0;padding:4px 6px;font-size:9px;font-weight:700;color:#0078d4;text-align:center;border-bottom:1px solid var(--pbi-border);flex-shrink:0;line-height:1.2}.visual-image-placeholder-body{flex:0 0 auto;width:100%;aspect-ratio:1;min-height:0;background:#e8e8e8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23b0b0b0' d='M8 36V12h32v24H8zm4-4h24l-6-8-6 7-4-5-8 6z'/%3E%3Ccircle fill='%23b0b0b0' cx='16' cy='18' r='3'/%3E%3C/svg%3E") center / 48px no-repeat}.visual-image-body{flex:0 0 auto;width:100%;aspect-ratio:1;min-height:0;object-fit:contain;background:#e8e8e8}.dashboard-quality-issues-slot .visual-table-title{display:none}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: revit"] .visual-placeholder-box--revit-slicer{border-top:none;box-shadow:none}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: revit"] .visual-placeholder-box-title{font-size:9px;font-weight:600;padding:4px 8px;text-align:left}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .visual-slicer-option--selected .visual-slicer-option-label{font-weight:600}.dashboard-grid-template--quality-top.dashboard-grid--pbi-report .visual-slicer-checkbox--checked{background:#323130;border-color:#323130}.dashboard-quality-issues-slot .visual-placeholder-box--issues-table .visual-table--issues{font-size:9px}.dashboard-quality-issues-slot .visual-table--issues th,.dashboard-quality-issues-slot .visual-table--issues td{padding:4px 6px;vertical-align:top}.dashboard-quality-issues-slot .visual-table--issues th:nth-child(4),.dashboard-quality-issues-slot .visual-table--issues th:nth-child(5),.dashboard-quality-issues-slot .visual-table--issues th:nth-child(6),.dashboard-quality-issues-slot .visual-table--issues th:nth-child(7),.dashboard-quality-issues-slot .visual-table--issues td:nth-child(4),.dashboard-quality-issues-slot .visual-table--issues td:nth-child(5),.dashboard-quality-issues-slot .visual-table--issues td:nth-child(6),.dashboard-quality-issues-slot .visual-table--issues td:nth-child(7){text-align:center;width:36px}.dashboard-quality-issues-slot .visual-table--issues td:nth-child(3){min-width:180px;max-width:280px;white-space:normal;line-height:1.35}.dashboard-quality-issues-slot .visual-table--issues td:last-child,.dashboard-quality-issues-slot .visual-table--issues th:last-child{text-align:right;white-space:nowrap}.dashboard-grid-slot{min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.dashboard-grid-slot--resizable .visual-placeholder-box--slicer{position:relative;z-index:1}.visual-slicer-option--interactive,.visual-slicer-check-item{position:relative;z-index:2}.visual-slicer-option--interactive.visual-slicer-option--selected .visual-slicer-option-label{font-weight:600}.dashboard-grid-slot--resizable{position:relative;overflow:visible;z-index:1}.dashboard-grid-slot--resizable:focus-within{z-index:2}.dashboard-grid-slot .visual-placeholder-box{height:100%}.dashboard-filter-column__discipline .visual-placeholder-box{height:var(--dashboard-discipline-slicer-height, 226px);min-height:var(--dashboard-discipline-slicer-height, 226px);max-height:var(--dashboard-discipline-slicer-height, 226px);flex:0 0 var(--dashboard-discipline-slicer-height, 226px)}.dashboard-grid-slot .visual-placeholder-box--kpi{flex:0 0 auto;height:var(--dashboard-kpi-height, 72px);min-height:var(--dashboard-kpi-height, 72px);max-height:var(--dashboard-kpi-height, 72px)}.dashboard-grid-slot--model{background:#fff;border:1px solid #0078d4;box-shadow:0 1px 4px #00000014}.dashboard-col-resize{position:absolute;top:0;bottom:0;width:12px;padding:0;border:none;background:transparent;cursor:col-resize;z-index:5;touch-action:none}.dashboard-col-resize:hover,.dashboard-col-resize:focus-visible{background:#0078d433}.dashboard-col-resize--left{left:-6px}.dashboard-col-resize--right{right:-6px}.dashboard-row-resize{top:auto;bottom:auto;width:auto;cursor:row-resize}.dashboard-col-resize--top{top:-6px;left:0;right:0;height:12px}.dashboard-col-resize--bottom{bottom:-6px;left:0;right:0;height:12px}.dashboard-grid-template--pbi-monitor.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: schedule"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: schedule"],.dashboard-grid-template--pbi-monitor-quantity.dashboard-grid--pbi-report .dashboard-grid-slot[style*="grid-area: ongoing"]{min-height:0;overflow:hidden;align-self:stretch}.dashboard-grid-slot--model .visual-placeholder-box-title,.dashboard-grid-slot-model-label{margin:0;padding:8px 10px;font-size:12px;font-weight:700;color:#0078d4;text-align:center;border-bottom:1px solid var(--pbi-border);flex-shrink:0}.dashboard-grid-slot-model-body{flex:1;min-height:0;overflow:hidden}.dashboard-grid-slot--model .aps-viewer-page-canvas{height:100%;min-height:0;border:none}.report-kpi-grid{flex-shrink:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pbi-gap)}.report-kpi-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:10px 8px;border-radius:4px;box-shadow:0 1px 3px #0000001f;text-align:center}.report-kpi-card--full{grid-column:1 / -1}.report-kpi-card-label{margin:0;font-size:11px;font-weight:700;line-height:1.25;color:var(--pbi-text)}.report-kpi-card-value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--pbi-text)}.report-kpi-card--progress{background:linear-gradient(180deg,#d4edda,#c3e6cb)}.report-kpi-card--delayed-pct{background:linear-gradient(180deg,#f8d7da,#f1b0b7)}.report-kpi-card--completed-count{background:linear-gradient(180deg,#28a745,#218838);color:#fff}.report-kpi-card--completed-count .report-kpi-card-label,.report-kpi-card--completed-count .report-kpi-card-value{color:#fff}.report-kpi-card--delayed-count{background:linear-gradient(180deg,#e57373,#d9534f);color:#fff}.report-kpi-card--delayed-count .report-kpi-card-label,.report-kpi-card--delayed-count .report-kpi-card-value{color:#fff}.report-kpi-card--duration{background:linear-gradient(180deg,#ffe0b2,#ffcc80)}.report-kpi-card--neutral,.report-kpi-card--empty{background:var(--pbi-visual-bg);border:1px dashed var(--pbi-border);box-shadow:none}.report-kpi-placeholder{display:block;min-height:.75rem;border-radius:2px;background:#edebe9}.report-kpi-placeholder-value{min-height:1.5rem;width:60%;margin-inline:auto}.pbi-visual{background:var(--pbi-visual-bg);border:1px solid var(--pbi-border);border-radius:0;box-shadow:none}.pbi-visual-title{margin:0;padding:8px 10px 4px;font-size:11px;font-weight:600;line-height:1.3;color:var(--pbi-text)}.filter-panel{display:flex;flex-direction:column;height:100%;gap:.75rem}.filter-panel-pbi{padding:10px 8px 12px;gap:10px}.filter-panel-pbi-heading{display:flex;align-items:center;gap:.45rem;padding:0 4px 6px;font-size:12px;font-weight:600;color:var(--pbi-text);border-bottom:1px solid var(--pbi-border)}.filter-panel-pbi-icon{display:grid;place-items:center;width:16px;height:16px;color:var(--pbi-text-muted)}.filter-panel-header{flex-shrink:0;padding:0 .5rem}.filter-panel-title{margin:0;font-size:.95rem;font-weight:700}.filter-panel-subtitle{margin:.25rem 0 0;font-size:.78rem;color:var(--pbi-text-muted)}.filter-panel-fields{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.filter-field-pbi-slicer{border:1px solid #edebe9;background:var(--pbi-visual-bg)}.filter-field-pbi-card{border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 2px 8px #0f172a0f;overflow:hidden}.filter-slicer-header-card{padding:10px 12px 8px;background:#fff;border-bottom:none;text-align:center}.filter-label-card{margin:0;font-size:14px;font-weight:700;color:#1e40af;text-transform:none;letter-spacing:normal}.filter-multi-scrollable{max-height:220px;overflow-y:auto;padding-right:4px}.filter-hierarchical{display:flex;flex-direction:column;gap:2px}.filter-hierarchical-row{display:flex;align-items:center;gap:4px}.filter-hierarchical-toggle{display:grid;place-items:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:#605e5c;cursor:pointer;flex-shrink:0}.filter-hierarchical-toggle:disabled{cursor:default;opacity:0}.filter-hierarchical-toggle svg{width:10px;height:10px}.filter-hierarchical-children{margin-left:22px;display:flex;flex-direction:column;gap:2px;padding-bottom:4px}.filter-multi-option-nested{padding-left:2px}.aps-viewer-sidebar-filters{width:240px;min-width:240px;padding:8px}.aps-viewer-sidebar-filters .filter-panel-pbi{padding:0;height:100%}.aps-viewer-sidebar-filters .filter-panel-pbi-heading{display:none}.aps-viewer-sidebar-filters .filter-panel-fields{gap:10px}.filter-slicer-header{padding:6px 10px;background:var(--pbi-slicer-header);border-bottom:1px solid #edebe9}.filter-label{font-size:11px;font-weight:600;color:var(--pbi-text);text-transform:none;letter-spacing:normal}.filter-slicer-body{padding:8px 10px 10px}.filter-control{width:100%;padding:4px 8px;border:1px solid #8a8886;border-radius:2px;background:var(--pbi-visual-bg);color:var(--pbi-text);font-size:12px;font-family:inherit;min-height:28px}.filter-control-pbi{border-color:#c8c6c4}.filter-control:focus{outline:1px solid var(--pbi-accent);border-color:var(--pbi-accent)}.filter-multi{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow:auto}.filter-multi-pbi{max-height:120px;padding:0;border:none;background:transparent}.filter-multi-option{display:flex;align-items:center;gap:.45rem;font-size:12px;color:var(--pbi-text);cursor:pointer;padding:2px 0}.filter-date-range{display:grid;grid-template-columns:1fr auto 1fr;gap:.35rem;align-items:center}.filter-date-range-pbi input{font-size:11px;padding:4px 6px;min-height:26px}.filter-date-separator{font-size:11px;color:var(--pbi-text-muted)}.filter-panel-actions{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 4px 0;border-top:1px solid var(--pbi-border)}.filter-panel-actions-pbi{padding-inline:0}.filter-action{padding:6px 8px;border-radius:2px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit}.filter-action-secondary{background:var(--pbi-visual-bg);border-color:#8a8886;color:var(--pbi-text)}.filter-action-primary{background:#0078d4;border-color:#0078d4;color:#fff}.filter-action-primary:hover{background:#106ebe}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--pbi-gap);flex-shrink:0}.kpi-row-pbi{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{padding:.75rem 1rem;background:var(--pbi-visual-bg);border:1px solid var(--pbi-border)}.kpi-card-pbi{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:0;overflow:hidden}.kpi-card-pbi .pbi-visual-title{padding-bottom:2px}.kpi-card-pbi .kpi-card-value{padding:0 10px}.kpi-card-pbi .kpi-card-footer{padding:0 10px 8px}.kpi-card-label{margin:0;font-size:11px;font-weight:600;color:var(--pbi-text-muted)}.kpi-card-value{margin:2px 0 0;font-size:28px;font-weight:600;line-height:1.1;color:var(--pbi-text);letter-spacing:-.02em}.kpi-card-footer{display:flex;align-items:center;gap:.35rem;margin-top:4px}.kpi-card-delta{font-size:11px;font-weight:600}.kpi-card-up .kpi-card-delta{color:#107c10}.kpi-card-down .kpi-card-delta{color:#d13438}.kpi-card-neutral .kpi-card-delta{color:var(--pbi-text-muted)}.kpi-card-trend{display:grid;place-items:center;width:14px;height:14px}.kpi-card-up .kpi-card-trend{color:#107c10}.kpi-card-down .kpi-card-trend{color:#d13438}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pbi-gap)}.chart-placeholder{background:var(--pbi-visual-bg);border:1px solid var(--pbi-border);overflow:hidden;display:flex;flex-direction:column}.chart-placeholder-header{flex-shrink:0}.chart-placeholder-pbi .chart-placeholder-header{border-bottom:none}.chart-placeholder-subtitle{margin:.2rem 0 0;font-size:.76rem;color:var(--pbi-text-muted)}.chart-placeholder-body{flex:1;min-height:0;padding:4px 10px 10px;color:var(--pbi-accent)}.chart-placeholder-svg{width:100%;height:100%;min-height:120px}.chart-placeholder-bars{display:flex;align-items:flex-end;gap:6px;height:100%;min-height:120px;padding-top:.5rem}.chart-placeholder-bars span{flex:1;border-radius:0;background:var(--pbi-accent)}.chart-placeholder-bars span:nth-child(2n){background:var(--pbi-accent-dark)}.activity-table-card{background:var(--pbi-visual-bg);border:1px solid var(--pbi-border);overflow:hidden;display:flex;flex-direction:column}.activity-table-header{flex-shrink:0}.activity-table-subtitle{margin:.2rem 0 0;font-size:.76rem;color:var(--pbi-text-muted)}.activity-table-scroll{overflow:auto}.activity-table{width:100%;border-collapse:collapse;font-size:12px}.activity-table th,.activity-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #edebe9;color:var(--pbi-text)}.activity-table th{font-size:11px;font-weight:600;color:var(--pbi-text-muted);background:var(--pbi-slicer-header);position:sticky;top:0}.activity-table tbody tr:hover{background:#faf9f8}.activity-status{display:inline-flex;padding:2px 8px;border-radius:2px;font-size:11px;font-weight:600}.activity-status-on-track{background:#107c101f;color:#107c10}.activity-status-at-risk{background:#fa43;color:#8a6116}.activity-status-delayed{background:#d134381f;color:#d13438}.model-panel{background:var(--pbi-visual-bg);border:1px solid var(--pbi-border);overflow:hidden;display:flex;flex-direction:column;min-height:0}.model-panel-pbi{border-radius:0}.model-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--pbi-border)}.model-panel-header-pbi{padding:0;border-bottom:none}.model-panel-title{margin:0;font-size:.92rem;font-weight:700}.model-panel-subtitle{margin:.2rem 0 0;font-size:.76rem;color:var(--pbi-text-muted)}.model-panel-toolbar{display:flex;gap:.35rem}.model-panel-btn{padding:.35rem .65rem;border:1px solid var(--pbi-border);border-radius:2px;background:var(--pbi-slicer-header);color:var(--pbi-text-muted);font-size:.76rem;font-weight:600;cursor:not-allowed;opacity:.7;font-family:inherit}.model-panel-aps{display:flex;flex-direction:column;min-height:0;height:100%}.model-panel-viewer-host{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.model-panel-viewer-host .aps-viewer-host{border-left:none;flex:1;min-height:0}.aps-viewer-fullscreen{display:flex;flex-direction:column;height:100vh;min-height:0;overflow:hidden;background:#f8f9fc}.aps-viewer-fullscreen-toolbar{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.65rem .75rem;background:#fffffff5;border-bottom:1px solid var(--pbi-border)}.aps-viewer-fullscreen>.aps-viewer-env-token-notice{margin:0;border-radius:0;border-left:none;border-right:none;border-top:none}.aps-viewer-fullscreen-schedule-banner{padding:.45rem .75rem;font-size:.8rem;color:var(--pbi-text-muted);background:#fffffff5;border-bottom:1px solid var(--pbi-border)}.aps-viewer-fullscreen-schedule-banner--error{color:#8b1a1a;background:#fff5f5}.aps-viewer-fullscreen-back{justify-self:start;font-size:.84rem;font-weight:600;color:var(--pbi-text-muted);text-decoration:none}.aps-viewer-fullscreen-back:hover{color:var(--pbi-text)}.aps-viewer-fullscreen-title{font-size:.9rem;font-weight:600;color:var(--pbi-text);text-align:center}.aps-viewer-fullscreen-spacer{justify-self:end;width:1px}.aps-viewer-fullscreen .dashboard-native-canvas,.aps-viewer-fullscreen .aps-viewer-page{flex:1;min-height:0}.aps-viewer-page{display:flex;height:100%;min-height:0;overflow:hidden;font-family:var(--pbi-font)}.aps-viewer-page-canvas{flex:1;min-width:320px;height:100%}.aps-viewer-page-canvas--slot{position:relative;display:flex;flex:1;min-width:0;min-height:0;height:100%}.aps-viewer-page-canvas-overlay{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;font-size:13px;font-weight:500;color:#64748b;background:#f8f9fceb;pointer-events:none}.aps-viewer-page-canvas-overlay--warn{color:#92400e;background:#fffbebf0}.aps-viewer-page-canvas-overlay--error{color:#991b1b;background:#fef2f2f0}.aps-viewer-page .kpi-sidebar{width:min(380px,36vw);min-width:300px;flex-shrink:0;padding:var(--pbi-gap);border-left:1px solid var(--pbi-border);background:var(--pbi-canvas)}.aps-viewer-sidebar{width:220px;min-width:200px;flex-shrink:0;min-height:0;overflow:auto;padding:1.25rem;border-right:1px solid var(--pbi-border);background:var(--pbi-visual-bg);display:flex;flex-direction:column;gap:1.25rem}.aps-viewer-sidebar-title{margin:0;font-size:1.1rem;font-weight:700;color:#0078d4}.aps-viewer-sidebar-subtitle{margin:.25rem 0 0;font-size:.82rem;color:var(--pbi-text-muted)}.aps-viewer-selectors{display:flex;flex-direction:column;gap:1rem}.aps-viewer-field{display:flex;flex-direction:column;gap:.4rem}.aps-viewer-label{font-size:11px;font-weight:600;color:var(--pbi-text-muted);text-transform:uppercase;letter-spacing:.04em}.aps-viewer-select{width:100%;padding:6px 8px;border:1px solid #c8c6c4;border-radius:2px;background:var(--pbi-visual-bg);font-size:12px;font-family:inherit;color:var(--pbi-text)}.aps-viewer-sidebar-note{margin-top:auto;padding:.75rem;border-radius:2px;background:#f3f2f1;font-size:.78rem;color:var(--pbi-text-muted);line-height:1.5}.aps-viewer-sidebar-note p{margin:0}.aps-viewer-main{min-height:0;overflow:hidden;padding:var(--pbi-gap);background:var(--pbi-canvas)}.aps-viewer-main .model-panel{height:100%;min-height:0}@media(max-width:1100px){.analytics-canvas-split{grid-template-columns:1fr;overflow:auto}.analytics-canvas-visuals,.dashboard-visual-pane--main-grid{grid-template-columns:1fr;grid-template-rows:auto;min-height:360px}.dashboard-visual-pane--main-grid .visual-placeholder-box--model{grid-row:auto}.kpi-sidebar{min-height:480px}.dashboard-grid-template--pbi-monitor,.dashboard-grid-template--pbi-monitor-quantity,.dashboard-grid-template--pbi-planned,.dashboard-grid-template--pbi-cost,.dashboard-grid-template--quality-tracker,.dashboard-grid-template--quality-top,.dashboard-grid-template--quality-images{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:none;overflow:auto}.dashboard-grid-slot{grid-area:auto!important;min-height:120px}.dashboard-grid-slot--model{min-height:320px}.analytics-canvas-main{grid-template-columns:1fr;grid-template-rows:1fr auto}.analytics-canvas-charts{flex-direction:row;min-height:160px}}@media(max-width:960px){.analytics-filters-toggle,.analytics-filters-toggle-report{display:inline-flex}.analytics-body{grid-template-columns:1fr}.analytics-filters{position:fixed;top:0;left:0;bottom:0;z-index:40;width:min(280px,88vw);transform:translate(-105%);transition:transform .25s ease;box-shadow:0 12px 40px #00000026}.analytics-body-filters-open .analytics-filters{transform:translate(0)}.analytics-body-filters-open .analytics-backdrop{display:block;position:fixed;inset:0;z-index:30;background:#00000059}.visual-grid{grid-template-columns:1fr}.kpi-row-pbi{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-canvas-table{max-height:none}.aps-viewer-page{flex-direction:column;overflow:auto}.aps-viewer-sidebar{width:100%;min-width:0;max-height:280px;border-right:none;border-bottom:1px solid var(--pbi-border)}.aps-viewer-page-canvas{min-height:420px}.aps-viewer-page .kpi-sidebar{width:100%;min-width:0;min-height:480px;border-left:none;border-top:1px solid var(--pbi-border)}}@media(min-width:961px){.analytics-filters-toggle,.analytics-filters-toggle-report{display:none}}.ifc-cost-page{background:#f8f9fc}.ifc-cost-toolbar-center{justify-self:center;text-align:center}.ifc-cost-toolbar-kicker{margin:0;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dcm-text-muted, #64748b)}.ifc-cost-toolbar-end{justify-self:end;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem}.ifc-cost-toolbar .dashboard-report-reset{position:static;transform:none;cursor:pointer;opacity:1;border:none;background:transparent;color:#0078d4;padding:2px 6px}.ifc-cost-toolbar .dashboard-report-reset:disabled{cursor:not-allowed;opacity:.45}.ifc-cost-toolbar .toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--dcm-text-muted, #64748b)}.ifc-status-pill{max-width:min(280px,28vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--dcm-text-muted, #64748b);padding:.3rem .55rem;border-radius:999px;background:#f1f5f9;border:1px solid var(--dcm-border, rgba(15, 23, 42, .1))}.ifc-status-pill--sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ifc-export-btn{flex-shrink:0;font-size:.78rem;font-weight:600;line-height:1.2;padding:.3rem .65rem;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));border-radius:4px;background:#fff;color:#0078d4;cursor:not-allowed;opacity:.55;font-family:inherit}.ifc-export-btn:not(:disabled){cursor:pointer;opacity:1}.ifc-export-btn:not(:disabled):hover{background:#f0f7ff}.ifc-cost-canvas{flex:1;min-height:0;display:flex;flex-direction:column}.ifc-cost-grid{flex:1;min-height:0}.ifc-slot{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--pbi-border, rgba(15, 23, 42, .12));border-radius:4px;padding:.45rem .5rem}.ifc-slot h2,.ifc-slot .wbs-header h2{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8}.ifc-slot--slicer .check-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.2rem}.ifc-slot--slicer .check-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;cursor:pointer;min-width:0}.ifc-slot--slicer .check-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-slot--slicer .check-item .count{margin-left:auto;flex-shrink:0;color:var(--dcm-text-muted, #64748b);font-variant-numeric:tabular-nums}.disc-group{display:flex;flex-direction:column}.disc-group__header{display:flex;align-items:center;gap:.1rem}.disc-group__toggle{background:none;border:none;padding:0 .2rem;cursor:pointer;font-size:.65rem;color:var(--dcm-text-muted, #64748b);line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem}.disc-group__toggle svg{width:.65rem;height:.65rem}.disc-group__toggle:hover{color:var(--pbi-accent, #0f6cbd)}.disc-group__children{padding-left:1.8rem;display:flex;flex-direction:column;gap:.15rem}.check-item--sub{font-size:.72rem}.ifc-slot--table .wbs-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;flex-shrink:0}.ifc-slot--table .wbs-scroll,.ifc-slot--props .ifc-props-body{flex:1;min-height:0;overflow:auto}.ifc-slot--table .wbs-scroll{overflow-x:hidden}.ifc-slot--table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.72rem}.ifc-slot--table th,.ifc-slot--table td{text-align:left;padding:.28rem .35rem;border-bottom:1px solid var(--dcm-border, rgba(15, 23, 42, .08));white-space:nowrap}.ifc-slot--table .wbs-col-id{width:28%;max-width:0;overflow:hidden;text-overflow:ellipsis}.ifc-slot--table .wbs-col-date{width:16%}.ifc-slot--table .wbs-col-name{width:46%;max-width:0;overflow:hidden;text-overflow:ellipsis}.ifc-slot--table th{position:sticky;top:0;background:#eff6ff;color:#1e3a8a;z-index:1}.ifc-slot--table tr{cursor:pointer}.ifc-slot--table tr.active{background:#2563eb1a}.ifc-slot--table tr.wbs-unassigned{color:var(--dcm-text-muted, #64748b)}.ifc-slot--table .ghost,.ifc-slot--table .wbs-clear{appearance:none;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#fff;border-radius:6px;padding:.15rem .45rem;font-size:.7rem;cursor:pointer}.ifc-slot--timeline{flex-direction:column;justify-content:center;gap:.4rem;padding:.5rem .75rem}.ifc-slot--timeline h2{flex-shrink:0;margin:0}.dual-range-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.dual-range-controls{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.dual-range-play{flex-shrink:0;font-size:.72rem;line-height:1;padding:.25rem .5rem;border:1px solid var(--pbi-accent, #0f6cbd);border-radius:3px;background:var(--pbi-accent, #0f6cbd);color:#fff;cursor:pointer;font-family:inherit}.dual-range-play:hover:not(:disabled){filter:brightness(1.05)}.dual-range-play:disabled{opacity:.45;cursor:default;background:#cbd5e1;border-color:#cbd5e1;color:#64748b}.dual-range-duration{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.1rem;flex-shrink:0;padding:.25rem .3rem;border:1px solid var(--pbi-accent, #0f6cbd);border-radius:3px;background:var(--pbi-accent, #0f6cbd);color:#fff;cursor:pointer;font-size:.72rem;line-height:1;font-family:inherit}.dual-range-duration:hover:has(.dual-range-duration__select:not(:disabled)){filter:brightness(1.05)}.dual-range-duration:has(.dual-range-duration__select:disabled){opacity:.45;cursor:default;background:#cbd5e1;border-color:#cbd5e1;color:#64748b}.dual-range-duration__value{pointer-events:none;white-space:nowrap}.dual-range-duration__chevron{font-size:.55rem;line-height:1;pointer-events:none}.dual-range-duration__select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;opacity:0;cursor:pointer;font-family:inherit}.dual-range-duration__select:disabled{cursor:default}.dual-range-svg-wrapper{width:100%;flex-shrink:0}.dual-range-labels{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.dual-range-labels label{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--dcm-text-muted, #64748b);white-space:nowrap}.dual-range-labels input[type=date]{font-size:.72rem;padding:.1rem .25rem;border:1px solid var(--pbi-border, rgba(15, 23, 42, .15));border-radius:3px;color:inherit;background:#fff}.ifc-slot--timeline .date-hint{display:none}.ifc-model-slot{display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid var(--pbi-border, rgba(15, 23, 42, .12));border-radius:4px;overflow:hidden}.ifc-model-slot .dashboard-grid-slot-model-body{flex:1;min-height:0;position:relative}.ifc-viewer-tabs{display:flex;align-items:flex-end;flex-shrink:0;min-height:28px;background:#e8eaed;border-bottom:1px solid #c4c7cc;padding:4px 4px 0;gap:2px}.ifc-viewer-tabs__strip{display:flex;align-items:flex-end;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;gap:2px;scrollbar-width:thin}.ifc-viewer-tabs__strip::-webkit-scrollbar{height:4px}.ifc-viewer-tabs__tab{display:flex;align-items:center;flex-shrink:0;max-width:160px;min-width:72px;height:26px;background:#d3d6db;border:1px solid #c4c7cc;border-bottom:none;border-radius:6px 6px 0 0;color:#3c4043;font-size:11px}.ifc-viewer-tabs__tab:hover{background:#e1e3e6}.ifc-viewer-tabs__tab--active{background:#fff;color:#1a73e8;border-color:#c4c7cc;box-shadow:0 -1px #fff;z-index:1}.ifc-viewer-tabs__tab-main{flex:1;min-width:0;height:100%;padding:0 6px;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit;font:inherit}.ifc-viewer-tabs__tab-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-viewer-tabs__rename-input{width:100%;min-width:48px;font-size:11px;padding:0 2px;border:1px solid #1a73e8;border-radius:2px;outline:none}.ifc-viewer-tabs__close{flex-shrink:0;width:18px;height:18px;margin-right:2px;padding:0;border:none;border-radius:50%;background:transparent;color:#5f6368;font-size:14px;line-height:1;cursor:pointer}.ifc-viewer-tabs__close:hover{background:#00000014;color:#202124}.ifc-viewer-tabs__add{flex-shrink:0;width:26px;height:26px;margin-bottom:0;border:1px solid transparent;border-radius:6px 6px 0 0;background:transparent;color:#5f6368;font-size:18px;line-height:1;cursor:pointer}.ifc-viewer-tabs__add:hover{background:#d3d6db;color:#202124}.ifc-viewer-tabs__tab--popped{background:#e8f0fe;border-color:#aecbfa}.ifc-viewer-tabs__popout{flex-shrink:0;width:18px;height:18px;margin-right:1px;padding:0;border:none;border-radius:2px;background:transparent;color:#5f6368;font-size:11px;line-height:1;cursor:pointer}.ifc-viewer-tabs__popout:hover:not(:disabled){background:#1a73e81f;color:#1a73e8}.ifc-viewer-tabs__popout:disabled{opacity:.45;cursor:default}.ifc-popout-page{display:flex;flex-direction:column;height:100vh;background:#f8f9fa}.ifc-popout-toolbar{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:8px 12px;background:#fff;border-bottom:1px solid #dadce0}.ifc-popout-title{font-size:14px;font-weight:500;color:#202124}.ifc-popout-status{flex:1;font-size:12px;color:#5f6368;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-popout-close{flex-shrink:0;padding:6px 12px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;font-size:13px;cursor:pointer}.ifc-popout-close:hover{background:#f1f3f4}.ifc-popout-body{flex:1;min-height:0;position:relative}.ifc-popout-body--error{display:flex;align-items:center;justify-content:center;padding:2rem;color:#5f6368}.ifc-viewer-root{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0}.ifc-viewer-root #canvas-wrap{position:relative;flex:1;min-height:0;width:100%;height:100%;background:#f1f5f9}.ifc-viewer-root #canvas-wrap canvas{width:100%;height:100%;display:block}.ifc-viewer-root #drop-hint{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:var(--dcm-text-muted, #64748b);font-size:.9rem}.ifc-viewer-root #fps-toggle{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:6px;font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);z-index:10;-webkit-user-select:none;user-select:none}.ifc-viewer-root #fps-toggle label{display:flex;align-items:center;gap:4px;cursor:pointer}.ifc-viewer-root #fps-readout{background:#0000008c;padding:1px 6px;border-radius:3px;font-variant-numeric:tabular-nums;min-width:46px;text-align:right}.ifc-viewer-root #viewer-chrome{position:absolute;right:.75rem;top:.75rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.ifc-viewer-root #view-tools{display:flex;gap:.25rem}.ifc-viewer-root #view-tools button{width:32px;height:32px;border-radius:8px;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#ffffffeb;cursor:pointer;color:var(--dcm-text, #0f172a)}.ifc-viewer-root #view-tools svg{width:16px;height:16px}.ifc-viewer-root #view-cube{width:72px;height:72px;perspective:400px}.ifc-viewer-root #view-cube-rot{width:100%;height:100%;position:relative;transform-style:preserve-3d}.ifc-viewer-root .cube-face{position:absolute;inset:18px;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#ffffffe6;font-size:.55rem;font-weight:700;cursor:pointer}.ifc-viewer-root .cube-face[data-view=front]{transform:translateZ(18px)}.ifc-viewer-root .cube-face[data-view=back]{transform:rotateY(180deg) translateZ(18px)}.ifc-viewer-root .cube-face[data-view=right]{transform:rotateY(90deg) translateZ(18px)}.ifc-viewer-root .cube-face[data-view=left]{transform:rotateY(-90deg) translateZ(18px)}.ifc-viewer-root .cube-face[data-view=top]{transform:rotateX(90deg) translateZ(18px)}.ifc-viewer-root .cube-face[data-view=bottom]{transform:rotateX(-90deg) translateZ(18px)}.ifc-cost-grid .ifc-kpi-card{min-width:0;min-height:0;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding:.4rem .5rem;border-radius:4px;border:1px solid var(--pbi-border, rgba(15, 23, 42, .12));background:#fff;overflow:hidden}.ifc-cost-grid .ifc-kpi-card--ok{border-color:#16a34a59;background:#16a34a0f}.ifc-cost-grid .ifc-kpi-card--bad{border-color:#dc26264d;background:#dc26260d}.ifc-cost-grid .ifc-kpi-label{font-size:.62rem;line-height:1.2;color:var(--dcm-text-muted, #64748b)}.ifc-cost-grid .ifc-kpi-val{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ifc-cost-grid .ifc-kpi-card--ok .ifc-kpi-val{color:#16a34a}.ifc-cost-grid .ifc-kpi-card--bad .ifc-kpi-val{color:#dc2626}.ifc-muted{margin:0;font-size:.72rem;color:var(--dcm-text-muted, #64748b)}.ifc-slot--cat-qty tr{cursor:default}.ifc-slot--cat-qty th{white-space:normal;word-break:break-word;line-height:1.2;vertical-align:bottom}.ifc-slot--cat-qty .cat-col-name{max-width:0;overflow:hidden;text-overflow:ellipsis}.ifc-slot--cat-qty th.num,.ifc-slot--cat-qty td.num{text-align:right;font-variant-numeric:tabular-nums}.ifc-slot--cat-qty th.num{text-align:center}.ifc-slot--cat-qty .empty-row td{text-align:center;color:var(--dcm-text-muted, #64748b);white-space:normal}.ifc-progress-page{background:#f8f9fc}.ifc-progress-canvas{flex:1;min-height:0;display:flex;flex-direction:column}.ifc-progress-grid{flex:1;min-height:0}.ifc-progress-grid.dashboard-grid-template--pbi-monitor-quantity{--dashboard-right-panel-width: 360px;--dashboard-col1-width: 20%;--dashboard-col2-width: 11%;--dashboard-schedule-row-height: 40%;--dashboard-schedule-row-min: 180px;grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(36px,auto) minmax(var(--dashboard-schedule-row-min),var(--dashboard-schedule-row-height))}.ifc-slot--table .wbs-col-duration{width:14%}.ifc-progress-grid .dashboard-grid-right-panel--kpi-grid-quantity{background:transparent;border:none;padding:0;box-shadow:none;grid-template-rows:auto auto auto minmax(0,1fr)}.ifc-progress-grid .dashboard-grid-right-panel__item{min-height:0}.ifc-progress-grid .dashboard-grid-right-panel__item--quantity{min-height:0;flex:1;display:flex;flex-direction:column}.ifc-progress-grid .ifc-kpi-card{height:100%;min-height:44px;display:flex;flex-direction:column;justify-content:space-between;gap:.15rem;padding:.35rem .45rem;border-radius:4px;border:none;box-shadow:0 1px 3px #0000001f;overflow:hidden;text-align:center}.ifc-progress-grid .ifc-kpi-label{font-size:.62rem;line-height:1.2;font-weight:700;color:var(--dcm-text, #0f172a);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.ifc-progress-grid .ifc-kpi-val{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ifc-kpi-card--tone-progress{background:linear-gradient(180deg,#d4edda,#c3e6cb)}.ifc-kpi-card--tone-progress .ifc-kpi-val{color:#28a745}.ifc-kpi-card--tone-delayed-pct{background:linear-gradient(180deg,#f8d7da,#f1b0b7)}.ifc-kpi-card--tone-delayed-pct .ifc-kpi-val{color:#dc3545}.ifc-kpi-card--tone-completed-count{background:linear-gradient(180deg,#28a745,#218838)}.ifc-kpi-card--tone-completed-count .ifc-kpi-label,.ifc-kpi-card--tone-completed-count .ifc-kpi-val{color:#fff}.ifc-kpi-card--tone-delayed-count{background:linear-gradient(180deg,#e57373,#d9534f)}.ifc-kpi-card--tone-delayed-count .ifc-kpi-label,.ifc-kpi-card--tone-delayed-count .ifc-kpi-val{color:#fff}.ifc-kpi-card--tone-duration{background:linear-gradient(180deg,#ffe0b2,#ffcc80)}.ifc-progress-grid .ifc-slot--progress-qty{height:100%;min-height:0;flex:1;display:flex;flex-direction:column}.ifc-progress-chart{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.ifc-progress-chart .visual-stacked-bar,.ifc-progress-chart .visual-gantt-body{flex:1;min-height:0}.ifc-ongoing-chart .visual-stacked-bar-legend-item--completed:before{background:#2196f3}.ifc-planned-page{background:#f8f9fc}.ifc-planned-canvas{flex:1;min-height:0;display:flex;flex-direction:column}.ifc-planned-grid{flex:1;min-height:0}.ifc-planned-grid.dashboard-grid-template--pbi-planned{--dashboard-right-panel-width: 340px;--dashboard-col1-width: 20%;--dashboard-col2-width: 11%;--dashboard-schedule-row-height: 40%;--dashboard-schedule-row-min: 180px}.ifc-planned-kpi-card{background:linear-gradient(160deg,#006064,#00838f);color:#fff;border-radius:6px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:0;box-shadow:0 2px 6px #00606440}.ifc-planned-kpi-card__label{margin:0;font-size:10px;font-weight:700;line-height:1.3;color:#ffffffe6;text-transform:uppercase;letter-spacing:.04em}.ifc-planned-kpi-card__value{margin:0;font-size:2rem;font-weight:700;line-height:1;color:#fff;letter-spacing:-.02em}.ifc-planned-grid .dashboard-grid-right-panel--planned [style*="grid-area: cat-chart"],.ifc-planned-grid [style*="grid-area: cat-chart"],.ifc-planned-grid .dashboard-grid-right-panel--planned [style*="grid-area: quantity"],.ifc-planned-grid [style*="grid-area: quantity"]{min-height:0;overflow:hidden}.dashboard-grid-right-panel--planned>.visual-placeholder-box--chart,.dashboard-grid-right-panel--planned>.ifc-slot--planned-qty{min-height:0;height:100%}.dashboard-grid-right-panel--planned>.ifc-slot--planned-qty .wbs-scroll{flex:1;min-height:0}.ifc-ongoing-chart .visual-stacked-bar-legend-item--delayed:before{background:#1a237e}.ifc-ongoing-chart .visual-stacked-bar-y-axis-label{font-size:10px}.ifc-ongoing-scroll-host{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ifc-gantt-task-label{font-size:.65rem;color:#252423;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ifc-props-body{font-size:.72rem}.ifc-props-body table{width:100%;border-collapse:collapse}.ifc-props-body td{padding:.2rem .25rem;border-bottom:1px solid var(--dcm-border, rgba(15, 23, 42, .06));vertical-align:top}.ifc-props-body .pset-name{font-weight:700;margin:.45rem 0 .2rem;color:#1d4ed8}.ifc-page{padding:1.5rem 1.25rem 2rem;max-width:960px;margin:0 auto}.ifc-error{color:#b91c1c;font-size:.85rem}.ifc-page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.ifc-page-header h1{margin:0;font-size:1.5rem;letter-spacing:-.03em}.ifc-btn{appearance:none;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#fff;color:var(--dcm-text, #0f172a);border-radius:8px;padding:.35rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.ifc-btn-primary{background:var(--dcm-accent, #2563eb);border-color:transparent;color:#fff}.ifc-form{display:flex;flex-direction:column;gap:1rem;max-width:520px}.ifc-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.ifc-form input[type=text],.ifc-form input[type=file]{font-weight:400;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#fff}.ifc-project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.25rem}.ifc-project-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:14px;border:1px solid var(--dcm-border, rgba(15, 23, 42, .12));background:#fff;color:inherit}.ifc-project-card h3{margin:0;font-size:1.05rem}.ifc-loading-banner{padding:1rem;text-align:center;color:var(--dcm-text-muted, #64748b)}.ifc-loading-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0f172a8c;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:1;transition:opacity .45s ease}.ifc-loading-overlay--fading{opacity:0;pointer-events:none}.ifc-loading-card{width:min(420px,90vw);background:#fff;border-radius:10px;padding:2rem 2.5rem;box-shadow:0 24px 48px #00000040;display:flex;flex-direction:column;gap:.55rem;text-align:center}.ifc-loading-kicker{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pbi-accent, #0f6cbd)}.ifc-loading-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--dcm-text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ifc-loading-status{margin:0;font-size:.8rem;color:var(--dcm-text-muted, #64748b);min-height:1.1em}.ifc-loading-track{height:8px;border-radius:4px;background:#e2e8f0;overflow:hidden;margin-top:.3rem}.ifc-loading-fill{height:100%;border-radius:4px;background:var(--pbi-accent, #0f6cbd);transition:width .5s ease}@keyframes ifc-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.ifc-loading-fill--shimmer{background:linear-gradient(90deg,var(--pbi-accent, #0f6cbd) 25%,#5eb0ef 50%,var(--pbi-accent, #0f6cbd) 75%);background-size:200% 100%;animation:ifc-shimmer 1.4s linear infinite}.ifc-loading-pct{margin:0;font-size:.75rem;font-weight:600;color:var(--dcm-text-muted, #64748b)}.ifc-viewpoint-page{background:#f8f9fc}.ifc-viewpoint-canvas{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ifc-viewpoint-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,20%) minmax(0,11%) minmax(0,1fr) minmax(200px,280px);grid-template-rows:repeat(5,minmax(0,1fr));grid-template-areas:"wbs discipline model viewpoints" "wbs category   model viewpoints" "wbs category   model viewpoints" "wbs category   model viewpoints" "wbs category   model viewpoints";gap:4px;padding:4px;overflow:hidden}.ifc-viewpoint-grid .dashboard-grid-slot{min-height:0;overflow:hidden;align-self:stretch}.ifc-viewpoint-grid .dashboard-grid-slot[style*="grid-area: discipline"]{align-self:start}.ifc-viewpoint-grid [style*="grid-area: discipline"] .visual-placeholder-box--slicer,.ifc-viewpoint-grid [style*="grid-area: category"] .visual-placeholder-box--slicer,.ifc-viewpoint-grid [style*="grid-area: category"] .visual-placeholder-box--category-slicer{height:100%;min-height:0;max-height:none;flex:1;display:flex;flex-direction:column}.ifc-viewpoint-grid [style*="grid-area: discipline"] .visual-slicer-body--list,.ifc-viewpoint-grid [style*="grid-area: category"] .visual-slicer-body--scroll{flex:1;min-height:0}.ifc-viewpoint-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border:1px solid #d1d1d1;border-radius:6px;padding:8px;gap:6px;font-size:12px}.ifc-viewpoint-panel .ifc-slot-title{margin:0 0 4px;font-size:12px;font-weight:700;text-transform:uppercase;color:#0078d4;letter-spacing:.03em;flex-shrink:0}.ifc-viewpoint-panel__upload{display:flex;align-items:center;gap:6px;flex-shrink:0}.ifc-viewpoint-panel__upload-btn{padding:4px 10px;font-size:11px;font-weight:600;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.ifc-viewpoint-panel__upload-btn:hover{background:#106ebe}.ifc-viewpoint-panel__filename{font-size:11px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.ifc-viewpoint-panel__error{margin:0;font-size:11px;color:#c0392b;flex-shrink:0}.ifc-viewpoint-panel__offset-toggle{flex-shrink:0}.ifc-viewpoint-panel__offset-btn{background:none;border:none;padding:0;font-size:11px;color:#555;cursor:pointer}.ifc-viewpoint-panel__offset-btn:hover{color:#0078d4}.ifc-viewpoint-panel__offset-inputs{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}.ifc-viewpoint-panel__offset-label{display:flex;align-items:center;gap:3px;font-size:11px;color:#444;font-weight:600}.ifc-viewpoint-panel__offset-input{width:64px;font-size:11px;padding:2px 4px;border:1px solid #ccc;border-radius:3px}.ifc-viewpoint-panel__list{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;overflow:hidden}.ifc-viewpoint-panel__list-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#777;flex-shrink:0}.ifc-viewpoint-panel__clear-btn{background:none;border:1px solid #ccc;border-radius:3px;font-size:10px;padding:1px 6px;color:#555;cursor:pointer}.ifc-viewpoint-panel__clear-btn:hover{border-color:#0078d4;color:#0078d4}.ifc-viewpoint-panel__items{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ifc-viewpoint-panel__item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:5px 7px;background:#f5f6fa;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:11px;color:#333}.ifc-viewpoint-panel__item:hover{background:#e8f0fe;border-color:#b3c6f7}.ifc-viewpoint-panel__item--active{background:#def;border-color:#0078d4;color:#003c78;font-weight:600}.ifc-viewpoint-panel__item-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.ifc-viewpoint-panel__item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-viewpoint-panel__item-badge{font-size:10px;font-weight:700;background:#c0392b;color:#fff;border-radius:8px;padding:0 5px;flex-shrink:0}.ifc-viewpoint-panel__item-proj{font-size:9px;color:#999;flex-shrink:0}.ifc-viewpoint-panel__hint{margin:8px 0 0;font-size:11px;color:#888;line-height:1.5;flex-shrink:0}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}:root{--dcm-bg: #ffffff;--dcm-bg-elevated: #f8fafc;--dcm-surface: #ffffff;--dcm-surface-hover: #f1f5f9;--dcm-border: rgba(15, 23, 42, .1);--dcm-text: #0f172a;--dcm-text-muted: #64748b;--dcm-accent: #2563eb;--dcm-accent-2: #4f46e5;--dcm-accent-soft: rgba(37, 99, 235, .1);--dcm-accent-glow: rgba(37, 99, 235, .18);--dcm-success: #16a34a}.dcm-app{--dcm-frame-padding-x: 0;--dcm-frame-padding-bottom: 0;--dcm-header-height: 148px;min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden;color:var(--dcm-text);font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--dcm-bg)}.dcm-header{flex-shrink:0;border-bottom:1px solid var(--dcm-border);background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dcm-header-inner{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.85rem 1.25rem;flex-wrap:wrap}.dcm-brand{display:flex;align-items:center;gap:.875rem}.dcm-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.06em;box-shadow:0 12px 32px var(--dcm-accent-glow)}.dcm-brand-kicker{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dcm-text-muted)}.dcm-brand-title{margin:.1rem 0 0;font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.dcm-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto}.dcm-header-actions{display:flex;align-items:center;margin-left:.25rem}.dcm-user-menu{position:relative}.dcm-user-button{border:1px solid var(--dcm-border);background:var(--dcm-surface);color:var(--dcm-text);border-radius:999px;min-height:2.2rem;max-width:280px;padding:.45rem .95rem;font-size:.84rem;font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s ease,border-color .2s ease}.dcm-user-button:hover{background:var(--dcm-surface-hover);border-color:color-mix(in srgb,var(--dcm-accent) 22%,var(--dcm-border))}.dcm-user-menu-popover{position:absolute;top:calc(100% + .45rem);right:0;min-width:170px;padding:.5rem;border:1px solid var(--dcm-border);border-radius:12px;background:var(--dcm-surface);box-shadow:0 1px 3px #0f172a14,0 10px 24px #0f172a1f;z-index:10}.dcm-logout-button{width:100%;border:1px solid var(--dcm-border);background:var(--dcm-surface);color:var(--dcm-text);border-radius:999px;min-height:2.2rem;padding:.45rem .95rem;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease}.dcm-logout-button:hover:not(:disabled){background:var(--dcm-surface-hover);border-color:color-mix(in srgb,var(--dcm-accent) 22%,var(--dcm-border))}.dcm-logout-button:disabled{opacity:.72;cursor:wait}.dcm-nav-tab{position:relative;padding:.55rem .9rem;border-radius:999px;text-decoration:none;color:var(--dcm-text-muted);font-size:.9rem;font-weight:600;transition:color .2s ease,background .2s ease}.dcm-nav-tab:hover{color:var(--dcm-text);background:var(--dcm-surface-hover)}.dcm-nav-tab-active{color:#fff;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2))}.dcm-dashboard-picker{flex:1;min-height:0;overflow:auto;padding:2.75rem 1.5rem 3rem;background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.1),transparent 42%),radial-gradient(circle at 88% 92%,rgba(79,70,229,.08),transparent 40%),linear-gradient(180deg,var(--dcm-bg-elevated) 0%,var(--dcm-bg) 100%)}.dcm-dashboard-picker-inner{width:min(920px,100%);margin:0 auto}.dcm-dashboard-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dcm-dashboard-card{--card-accent: var(--dcm-accent);--card-accent-soft: var(--dcm-accent-soft);display:flex;flex-direction:column;gap:1rem;min-height:188px;padding:1.25rem;border-radius:18px;border:1px solid var(--dcm-border);background:#ffffffe0;color:inherit;text-decoration:none;box-shadow:0 1px 2px #0f172a0a,0 10px 30px #0f172a0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;animation:dcm-card-in .45s ease both;animation-delay:calc(var(--card-index, 0) * 70ms)}.dcm-dashboard-card:nth-child(1){--card-accent: #2563eb;--card-accent-soft: rgba(37, 99, 235, .12)}.dcm-dashboard-card:nth-child(2){--card-accent: #0891b2;--card-accent-soft: rgba(8, 145, 178, .12)}.dcm-dashboard-card:nth-child(3){--card-accent: #7c3aed;--card-accent-soft: rgba(124, 58, 237, .12)}.dcm-dashboard-card:nth-child(4){--card-accent: #059669;--card-accent-soft: rgba(5, 150, 105, .12)}.dcm-dashboard-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--card-accent) 28%,white);background:#fff;box-shadow:0 2px 6px #0f172a0d,0 18px 40px #0f172a14}.dcm-dashboard-card:focus-visible{outline:2px solid var(--card-accent);outline-offset:3px}.dcm-dashboard-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--card-accent-soft);color:var(--card-accent);flex-shrink:0}.dcm-dashboard-card-icon svg{width:22px;height:22px}.dcm-dashboard-card-body{display:flex;flex-direction:column;gap:.45rem;flex:1}.dcm-dashboard-card-label{font-size:1rem;font-weight:700;letter-spacing:-.02em;line-height:1.35;color:var(--dcm-text)}.dcm-dashboard-card-desc{font-size:.86rem;line-height:1.55;color:var(--dcm-text-muted)}.dcm-dashboard-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(15,23,42,.06)}.dcm-dashboard-card-badge{display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:999px;background:var(--dcm-bg-elevated);color:var(--dcm-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.02em}.dcm-dashboard-card-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--card-accent-soft);color:var(--card-accent);transition:transform .22s ease,background .22s ease,color .22s ease}.dcm-dashboard-card-arrow svg{width:16px;height:16px}.dcm-dashboard-card:hover .dcm-dashboard-card-arrow{transform:translate(2px);background:var(--card-accent);color:#fff}@keyframes dcm-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dcm-main-dashboard{overflow:hidden;display:flex;flex-direction:column}.dcm-main-dashboard .dcm-dashboard-picker{flex:1;min-height:0}.dcm-main-dashboard .dcm-header-inner{padding-top:.55rem;padding-bottom:.55rem}.dcm-viewer-picker.dcm-dashboard-picker{padding-top:1rem}.dcm-viewer-picker-inner{width:min(1280px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.85rem}.dcm-viewer-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 0 .4rem;border-bottom:1px solid rgba(15,23,42,.08)}.dcm-viewer-picker-heading{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dcm-viewer-picker-back{width:fit-content;margin-top:0;font-size:.8rem;font-weight:600;line-height:1.2;color:var(--dcm-text-muted);text-decoration:none;transition:color .15s ease}.dcm-viewer-picker-back:hover{color:var(--dcm-accent)}.dcm-viewer-picker-kicker{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dcm-text-muted)}.dcm-viewer-picker-title{margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--dcm-text)}.dcm-viewer-picker-type{flex-shrink:0;display:inline-flex;align-items:center;padding:.45rem .9rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dcm-viewer-picker-type--ifc{color:#1e40af;background:#2563eb14;border:1px solid rgba(37,99,235,.18)}.dcm-viewer-picker-type--aps{color:#6d28d9;background:#7c3aed1a;border:1px solid rgba(124,58,237,.2)}.dcm-viewer-picker-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);grid-template-rows:auto auto auto;gap:1.25rem;align-items:start}.dcm-viewer-picker-dashboards{display:contents}.dcm-viewer-picker-section-head{display:flex;flex-direction:column;gap:.25rem;grid-column:1;grid-row:1}.dcm-viewer-picker-dashboards>.dcm-dashboard-picker-grid--viewer{grid-column:1;grid-row:2}.dcm-viewer-picker-dashboards>.dcm-viewer-files{grid-column:1;grid-row:3}.dcm-viewer-aps-model{grid-column:1;grid-row:3;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;min-width:0}.dcm-viewer-aps-details-card{display:flex;flex-direction:column;gap:.55rem;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(124,58,237,.12);background:#ffffffb8}.dcm-viewer-aps-details-card .dcm-project-tile-aps-details{margin:0;padding:0;border:none;border-radius:0;background:transparent}.dcm-viewer-aps-details-card .dcm-viewer-aps-schedule-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding-top:.55rem;border-top:1px solid rgba(124,58,237,.1)}.dcm-viewer-aps-details-card .dcm-viewer-aps-schedule-actions .dcm-viewer-file-btn{min-width:6.5rem;justify-content:center}.dcm-viewer-aps-details-card .dcm-viewer-files-message{margin:0}.dcm-viewer-picker-layout>.dcm-project-users{grid-column:2;grid-row:2 / span 2;align-self:start}.dcm-viewer-picker-section-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--dcm-text)}.dcm-viewer-picker-section-desc{margin:0;font-size:.86rem;color:var(--dcm-text-muted)}.dcm-dashboard-picker-grid--viewer{grid-template-columns:repeat(2,minmax(0,1fr))}.dcm-dashboard-picker-grid--viewer .dcm-dashboard-card{position:relative;min-height:168px;gap:1rem;padding:1.25rem 3.25rem 1.25rem 1.25rem}.dcm-dashboard-picker-grid--viewer .dcm-dashboard-card-body{flex:1}.dcm-viewer-picker .dcm-dashboard-card-footer{position:absolute;top:1.25rem;right:1.25rem;margin-top:0;padding-top:0;border-top:none}.dcm-viewer-picker .dcm-dashboard-card-badge{display:none}.dcm-viewer-files{display:flex;flex-direction:column;gap:.5rem;margin-top:.15rem}.dcm-viewer-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dcm-viewer-file-card{display:flex;flex-direction:column;gap:.55rem;padding:.7rem .75rem;border-radius:14px;border:1px solid var(--dcm-border);background:#ffffffe6;box-shadow:0 4px 16px #0f172a0a}.dcm-viewer-file-card--ifc{border-color:#2563eb24}.dcm-viewer-file-card--csv{border-color:#10b9812e}.dcm-viewer-file-card-top{display:flex;align-items:flex-start;gap:.7rem}.dcm-viewer-file-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--dcm-bg-elevated);color:var(--dcm-accent);flex-shrink:0}.dcm-viewer-file-card--ifc .dcm-viewer-file-icon{color:#1d4ed8;background:#2563eb14}.dcm-viewer-file-card--csv .dcm-viewer-file-icon{color:#059669;background:#10b9811a}.dcm-viewer-file-icon svg{width:20px;height:20px}.dcm-viewer-file-meta{flex:1;min-width:0}.dcm-viewer-file-label{margin:0;font-size:.95rem;font-weight:700;color:var(--dcm-text)}.dcm-viewer-file-hint{margin:.2rem 0 0;font-size:.78rem;line-height:1.45;color:var(--dcm-text-muted)}.dcm-viewer-file-status{flex-shrink:0;padding:.22rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#b45309;background:#f59e0b1f}.dcm-viewer-file-status-ready{color:#047857;background:#10b9811f}.dcm-viewer-file-name{margin:0;padding:.55rem .7rem;border-radius:10px;background:var(--dcm-bg-elevated);font-size:.8rem;color:var(--dcm-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcm-viewer-file-name-selectable{color:var(--dcm-accent);cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--dcm-accent) 35%,white);text-underline-offset:2px}.dcm-viewer-file-name-selectable:hover{color:color-mix(in srgb,var(--dcm-accent) 85%,black)}.dcm-viewer-file-actions{display:flex;flex-wrap:wrap;gap:.45rem}.dcm-viewer-file-input{display:none}.dcm-viewer-file-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.4rem .75rem;border-radius:10px;border:1px solid transparent;font-size:.78rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.dcm-viewer-file-btn:disabled{opacity:.55;cursor:not-allowed}.dcm-viewer-file-btn-secondary{border-color:var(--dcm-border);background:#fff;color:var(--dcm-text)}.dcm-viewer-file-btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--dcm-accent) 30%,white);color:var(--dcm-accent)}.dcm-viewer-file-btn-primary{background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff}.dcm-viewer-file-btn-primary:hover:not(:disabled){filter:brightness(1.03)}.dcm-viewer-file-selected{margin:0;font-size:.76rem;color:var(--dcm-text-muted)}.dcm-viewer-file-selected strong{color:var(--dcm-text);font-weight:600}.dcm-viewer-file-card-skeleton{min-height:88px;background:linear-gradient(90deg,#f1f5f9,#f8fafc,#f1f5f9);background-size:200% 100%;animation:dcm-skeleton-shimmer 1.2s ease-in-out infinite}.dcm-viewer-files-message{margin:0;padding:.55rem .75rem;border-radius:10px;font-size:.82rem}.dcm-viewer-files-message-success{color:#047857;background:#10b9811a;border:1px solid rgba(16,185,129,.18)}.dcm-viewer-files-message-error{color:#b91c1c;background:#dc262614;border:1px solid rgba(220,38,38,.16)}.dcm-project-users{display:flex;flex-direction:column;gap:1rem;min-height:100%;padding:1.15rem 1.15rem 1rem;border-radius:18px;border:1px solid var(--dcm-border);background:#ffffffeb;box-shadow:0 1px 2px #0f172a0a,0 10px 30px #0f172a0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:visible}.dcm-project-users-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dcm-project-users-header-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.dcm-project-users-stat{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--dcm-accent);background:var(--dcm-accent-soft);border:1px solid color-mix(in srgb,var(--dcm-accent) 22%,white)}.dcm-project-users-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--dcm-text)}.dcm-project-users-subtitle{margin:.25rem 0 0;font-size:.82rem;line-height:1.45;color:var(--dcm-text-muted)}.dcm-project-users-tabs{display:flex;gap:.35rem;padding:.25rem;border-radius:12px;background:#0f172a0a;border:1px solid rgba(15,23,42,.06)}.dcm-project-users-tab{flex:1;padding:.55rem .85rem;border:none;border-radius:9px;background:transparent;color:#64748b;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.dcm-project-users-tab:hover{color:#334155;background:#ffffffb8}.dcm-project-users-tab-active{color:var(--dcm-accent);background:#fff;box-shadow:0 1px 3px #0f172a14}.dcm-project-users-tab-panel{display:flex;flex-direction:column;gap:.85rem;min-height:0}.dcm-project-users-search{display:flex;flex-direction:column;gap:.45rem}.dcm-project-users-search-label{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.dcm-project-users-search-row{display:flex;gap:.55rem}.dcm-project-users-search-input{flex:1;min-width:0;padding:.62rem .8rem;border:1px solid rgba(15,23,42,.12);border-radius:10px;background:#fff;color:#0f172a;font-size:.84rem;font-family:inherit}.dcm-project-users-search-input:focus{outline:none;border-color:color-mix(in srgb,var(--dcm-accent) 45%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--dcm-accent) 14%,white)}.dcm-project-users-search-btn{flex-shrink:0;padding:.62rem 1rem;border:1px solid color-mix(in srgb,var(--dcm-accent) 35%,white);border-radius:10px;background:var(--dcm-accent);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .15s ease}.dcm-project-users-search-btn:disabled{opacity:.55;cursor:not-allowed}.dcm-project-users-search-result{display:flex;flex-direction:column;gap:.55rem;padding:.8rem .95rem .9rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--dcm-accent) 18%,white);background:linear-gradient(180deg,#2563eb0f,#fffffff5)}.dcm-project-users-search-result-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.dcm-project-users-search-result-body{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.dcm-project-users-search-result-dismiss{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:none;border-radius:8px;background:#0f172a0f;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.dcm-project-users-search-result-dismiss svg{width:.9rem;height:.9rem}.dcm-project-users-search-result-dismiss:hover{background:#0f172a1a;color:#334155}.dcm-project-users-search-result-dismiss:focus-visible{outline:2px solid color-mix(in srgb,var(--dcm-accent) 45%,white);outline-offset:2px}.dcm-project-users-search-result-copy{min-width:0;flex:1}.dcm-project-users-search-result-label{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.dcm-project-users-search-result-name{margin:0;font-size:.92rem;font-weight:700;color:#0f172a}.dcm-project-users-search-result-pisid{font-weight:600;color:var(--dcm-accent)}.dcm-project-users-search-result-email{margin:.2rem 0 0;font-size:.8rem;color:#475569}.dcm-project-users-internal-table-title{margin:0 0 .55rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.dcm-project-users-col-pisid{width:28%}.dcm-project-users-pisid{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:600;color:#334155;letter-spacing:.02em}.dcm-project-users-add-btn{flex-shrink:0;padding:.45rem .85rem;border:1px solid color-mix(in srgb,var(--dcm-accent) 35%,white);border-radius:10px;background:var(--dcm-accent-soft);color:var(--dcm-accent);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.dcm-project-users-add-btn:hover{background:var(--dcm-accent);border-color:var(--dcm-accent);color:#fff}.dcm-project-users-access-cell{display:flex;align-items:center;justify-content:flex-end;width:100%;margin-left:auto}.dcm-project-users-access-cell--managed{min-width:0;width:100%}.dcm-project-users-access-cell .dcm-project-users-grant-btn,.dcm-project-users-access-cell .dcm-project-users-picker{width:100%;max-width:none}.dcm-project-users-managed-access{display:inline-flex;align-items:stretch;width:100%;min-width:0;max-width:none;min-height:34px;border:1px solid color-mix(in srgb,var(--dcm-accent) 20%,white);border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0d;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.dcm-project-users-managed-access:hover{border-color:color-mix(in srgb,var(--dcm-accent) 34%,white);box-shadow:0 4px 12px #2563eb14}.dcm-project-users-managed-access--open{border-color:var(--dcm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dcm-accent) 14%,white)}.dcm-project-users-role-chip{display:inline-flex;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0;padding:.32rem .35rem}.dcm-project-users-role-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:7px}.dcm-project-users-role-chip-icon svg{width:14px;height:14px}.dcm-project-users-role-chip-label{font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcm-project-users-role-chip--admin .dcm-project-users-role-chip-icon{color:#b45309;background:#f59e0b29}.dcm-project-users-role-chip--admin .dcm-project-users-role-chip-label{color:#92400e}.dcm-project-users-role-chip--viewer .dcm-project-users-role-chip-icon{color:#047857;background:#10b98124}.dcm-project-users-role-chip--viewer .dcm-project-users-role-chip-label{color:#065f46}.dcm-project-users-role-chip--none{justify-content:center;gap:0;padding:.32rem .2rem}.dcm-project-users-role-chip--none .dcm-project-users-role-chip-label{color:#475569}.dcm-project-users-grant-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.32rem .45rem;border:1px solid color-mix(in srgb,var(--dcm-accent) 28%,white);border-radius:10px;background:linear-gradient(180deg,#fff,#f8fafc);color:var(--dcm-accent);font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.dcm-project-users-grant-btn:hover{border-color:color-mix(in srgb,var(--dcm-accent) 45%,white);box-shadow:0 4px 14px #2563eb1a;background:#fff}.dcm-project-users-actions{position:relative;display:inline-flex;flex-shrink:0}.dcm-project-users-actions--embedded{display:flex;align-items:stretch;flex-shrink:0;border-left:1px solid color-mix(in srgb,var(--dcm-accent) 14%,white)}.dcm-project-users-actions--embedded .dcm-project-users-actions-trigger{width:30px;min-height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.dcm-project-users-actions--embedded .dcm-project-users-actions-trigger:hover{background:color-mix(in srgb,var(--dcm-accent) 7%,white);box-shadow:none}.dcm-project-users-actions--embedded .dcm-project-users-actions-trigger-open{background:color-mix(in srgb,var(--dcm-accent) 11%,white);box-shadow:none;color:var(--dcm-accent)}.dcm-project-users-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid color-mix(in srgb,var(--dcm-accent) 18%,white);border-radius:10px;background:linear-gradient(180deg,#fff,#f8fafc);color:var(--dcm-text-muted);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease,background .15s ease}.dcm-project-users-actions-trigger svg{width:18px;height:18px}.dcm-project-users-actions-trigger:hover{border-color:color-mix(in srgb,var(--dcm-accent) 35%,white);color:var(--dcm-accent);box-shadow:0 4px 14px #2563eb1a;background:#fff}.dcm-project-users-actions-trigger-open{border-color:var(--dcm-accent);color:var(--dcm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dcm-accent) 16%,white);background:#fff}.dcm-project-users-actions-menu{padding:.3rem}.dcm-project-users-actions-item{display:block;width:100%;padding:.55rem .65rem;border:none;border-radius:10px;background:transparent;color:var(--dcm-text);font-size:.82rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease}.dcm-project-users-actions-item:hover{background:var(--dcm-bg-elevated)}.dcm-project-users-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.85rem;border-radius:14px;background:var(--dcm-bg-elevated);border:1px solid rgba(15,23,42,.06)}.dcm-project-users-field{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--dcm-text-muted)}.dcm-project-users-field span{letter-spacing:.02em}.dcm-project-users-field input,.dcm-project-users-field select{width:100%;padding:.55rem .7rem;border:1px solid var(--dcm-border);border-radius:10px;background:#fff;color:var(--dcm-text);font:inherit;font-size:.86rem;font-weight:500}.dcm-project-users-field input:focus,.dcm-project-users-field select:focus{outline:2px solid color-mix(in srgb,var(--dcm-accent) 40%,white);outline-offset:1px;border-color:var(--dcm-accent)}.dcm-project-users-form-error{grid-column:1 / -1;margin:0;font-size:.8rem;color:#dc2626}.dcm-project-users-submit{grid-column:1 / -1;justify-self:start;padding:.5rem 1rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;font-size:.82rem;font-weight:700;cursor:pointer}.dcm-project-users-table-wrap{max-height:min(26rem,58vh);overflow-x:auto;overflow-y:auto;border-radius:14px;border:1px solid color-mix(in srgb,var(--dcm-accent) 14%,white);background:#fff;box-shadow:inset 0 1px #fffc;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.45) transparent}.dcm-project-users-table-wrap::-webkit-scrollbar{width:8px;height:8px}.dcm-project-users-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:#64748b66}.dcm-project-users-table-wrap::-webkit-scrollbar-thumb:hover{background:#64748b94}.dcm-project-users-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.84rem}.dcm-project-users-col-name{width:28%}.dcm-project-users-col-email{width:32%}.dcm-project-users-col-access{width:24%}.dcm-project-users-grant-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.dcm-project-users-modal-error{margin-top:.75rem}.dcm-project-users-table thead{background:#edf2fc}.dcm-project-users-table th,.dcm-project-users-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:middle}.dcm-project-users-table th{position:sticky;top:0;z-index:5;padding-top:.85rem;padding-bottom:.85rem;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#475569;background-color:#edf2fc;background-clip:padding-box;box-shadow:inset 0 -1px #0f172a14,0 2px 6px #0f172a0f}.dcm-project-users-table thead tr:first-child th:first-child{border-top-left-radius:13px}.dcm-project-users-table thead tr:first-child th:last-child{border-top-right-radius:13px}.dcm-project-users-table tbody tr:last-child td:first-child{border-bottom-left-radius:13px}.dcm-project-users-table tbody tr:last-child td:last-child{border-bottom-right-radius:13px}.dcm-project-users-table tbody tr{animation:dcm-project-users-row-in .35s ease both;transition:background .18s ease,box-shadow .18s ease}.dcm-project-users-table tbody td{position:relative;z-index:1;background-color:#fff}.dcm-project-users-table tbody tr:nth-child(2n) td{background-color:#f8fafc}.dcm-project-users-table tbody tr:hover td{background-color:#2563eb0f}.dcm-project-users-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--dcm-accent)}.dcm-project-users-row-inactive td{opacity:.72}.dcm-project-users-row-inactive:hover td{opacity:1}@keyframes dcm-project-users-row-in{0%{opacity:0}to{opacity:1}}.dcm-project-users-row-updated td{animation:dcm-project-users-row-flash 1.2s ease}@keyframes dcm-project-users-row-flash{0%{background:#10b98129}to{background:transparent}}.dcm-project-users-name{font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcm-project-users-email{color:#475569;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcm-project-users-table tbody tr:hover .dcm-project-users-name{color:var(--dcm-accent)}.dcm-project-users-table tbody tr:hover .dcm-project-users-email{color:#334155}.dcm-project-users-row-skeleton td{padding-top:.85rem;padding-bottom:.85rem}.dcm-project-users-skeleton{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:dcm-skeleton-shimmer 1.2s ease-in-out infinite}.dcm-project-users-skeleton-user{width:72%}.dcm-project-users-skeleton-email{width:88%}.dcm-project-users-skeleton-access{width:100%;max-width:8.75rem;margin-left:auto}.dcm-project-users-empty{text-align:center;color:var(--dcm-text-muted);padding:1.5rem 1rem!important}.dcm-project-users-load-error{margin:0;padding:.55rem .75rem;border-radius:10px;font-size:.82rem;color:#b91c1c;background:#dc262614;border:1px solid rgba(220,38,38,.16)}.dcm-project-users-table-section{position:relative}.dcm-project-users-success{position:fixed;bottom:1.5rem;left:50%;z-index:1300;width:min(520px,calc(100vw - 2rem));margin:0;padding:.7rem 1rem;border-radius:12px;font-size:.84rem;font-weight:600;color:#047857;background:#fff;border:1px solid rgba(16,185,129,.28);box-shadow:0 4px 12px #0f172a1a,0 16px 40px #10b98124;text-align:center;pointer-events:none;transform:translate(-50%);animation:dcm-project-users-success-in .28s ease}@keyframes dcm-project-users-success-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dcm-project-users-access-col{width:11.25rem;min-width:11.25rem;padding-right:1rem!important;padding-left:.65rem!important;text-align:right;vertical-align:middle}.dcm-project-users-table:not(.dcm-project-users-table--internal) .dcm-project-users-access-col{width:11.25rem;min-width:11.25rem;padding-right:.55rem!important;padding-left:.35rem!important}.dcm-project-users-table--internal .dcm-project-users-access-col{width:9.25rem;min-width:9.25rem}.dcm-project-users-table th.dcm-project-users-access-col,.dcm-project-users-table td.dcm-project-users-access-col{text-align:right}.dcm-project-users-table th.dcm-project-users-col-name,.dcm-project-users-table td.dcm-project-users-col-name{padding-left:1.1rem}.dcm-project-users-picker{position:relative;display:inline-flex;justify-content:flex-end;width:100%;max-width:8.75rem;margin-left:auto}.dcm-project-users-picker-trigger{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;column-gap:.35rem;width:100%;min-height:34px;padding:.32rem .42rem .32rem .48rem;border:1px solid color-mix(in srgb,var(--dcm-accent) 18%,white);border-radius:10px;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.dcm-project-users-picker-label{display:flex;align-items:center;justify-content:center;min-width:0}.dcm-project-users-picker-trigger .dcm-project-users-role{flex:0 1 auto;justify-content:center;min-width:4.75rem;max-width:100%;padding:.22rem .45rem;white-space:nowrap}.dcm-project-users-picker-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--dcm-text-muted);transition:transform .15s ease,color .15s ease}.dcm-project-users-picker-chevron svg{width:14px;height:10px;display:block}.dcm-project-users-picker-trigger:hover .dcm-project-users-picker-chevron{color:var(--dcm-accent)}.dcm-project-users-picker-trigger:hover{border-color:color-mix(in srgb,var(--dcm-accent) 35%,white);box-shadow:0 4px 14px #2563eb1a;background:#fff}.dcm-project-users-picker-trigger-open{border-color:var(--dcm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dcm-accent) 16%,white);background:#fff}.dcm-project-users-picker-trigger-open .dcm-project-users-picker-chevron{transform:rotate(180deg);color:var(--dcm-accent)}.dcm-project-users-picker-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:30;width:min(15.5rem,72vw);max-height:min(16rem,calc(100vh - 2rem));overflow-y:auto;padding:.35rem;border-radius:14px;border:1px solid var(--dcm-border);background:#fff;box-shadow:0 4px 10px #0f172a0f,0 18px 36px #0f172a1f;animation:dcm-project-users-menu-in .18s ease}.dcm-project-users-picker-menu-portal{position:fixed;z-index:1300}@keyframes dcm-project-users-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dcm-project-users-picker-option{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.55rem .6rem;border:none;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.dcm-project-users-picker-option:hover{background:var(--dcm-bg-elevated)}.dcm-project-users-picker-option-active{background:color-mix(in srgb,var(--dcm-accent) 8%,white)}.dcm-project-users-picker-option-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.dcm-project-users-picker-option-desc{font-size:.74rem;line-height:1.4;color:var(--dcm-text-muted)}.dcm-project-users-picker-current{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dcm-accent)}.dcm-project-users-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dcm-project-users-backdrop-in .2s ease}@keyframes dcm-project-users-backdrop-in{0%{opacity:0}to{opacity:1}}.dcm-project-users-modal{width:min(440px,100%);padding:1.25rem 1.25rem 1.1rem;border-radius:16px;border:1px solid var(--dcm-border);background:#fff;box-shadow:0 2px 8px #0f172a14,0 24px 48px #0f172a24;animation:dcm-project-users-modal-in .24s ease}@keyframes dcm-project-users-modal-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dcm-project-users-modal-user{display:flex;flex-direction:column;gap:.25rem}.dcm-project-users-modal-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--dcm-text)}.dcm-project-users-modal-user-meta{margin:.2rem 0 0;font-size:.8rem;color:var(--dcm-text-muted)}.dcm-project-users-modal-transition{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:1rem;padding:.75rem;border-radius:12px;background:var(--dcm-bg-elevated)}.dcm-project-users-modal-transition svg{width:18px;height:18px;color:var(--dcm-text-muted);flex-shrink:0}.dcm-project-users-modal-body{margin:.75rem 0 0;font-size:.9rem;line-height:1.55;color:var(--dcm-text)}.dcm-project-users-modal-meta{margin:.55rem 0 0;font-size:.8rem;color:var(--dcm-text-muted)}.dcm-project-users-modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.1rem}.dcm-project-users-modal-btn{padding:.5rem .95rem;border-radius:10px;border:1px solid transparent;font-size:.82rem;font-weight:700;cursor:pointer}.dcm-project-users-modal-btn-secondary{border-color:var(--dcm-border);background:#fff;color:var(--dcm-text)}.dcm-project-users-modal-btn-secondary:hover{background:var(--dcm-bg-elevated)}.dcm-project-users-modal-btn-primary{background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff}.dcm-project-users-modal-btn-primary:hover{filter:brightness(1.03)}.dcm-project-users-role{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.dcm-project-users-role--admin{color:#b45309;background:#f59e0b24}.dcm-project-users-role--editor{color:#1d4ed8;background:#2563eb1f}.dcm-project-users-role--viewer{color:#047857;background:#10b9811f}.dcm-project-users-role--none{color:#64748b;background:#64748b1f}.dcm-project-users-actions-col{width:5.5rem;text-align:right}.dcm-project-users-remove{padding:.2rem .45rem;border:none;border-radius:8px;background:transparent;color:var(--dcm-text-muted);font-size:.75rem;font-weight:600;cursor:pointer}.dcm-project-users-remove:hover{color:#dc2626;background:#dc262614}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dcm-app-fullscreen{height:100vh;overflow:hidden;background:#fff}.dcm-dashboard-fullscreen{display:flex;flex-direction:column;height:100vh;min-height:0;overflow:hidden}.dcm-fullscreen-toolbar{position:relative;flex-shrink:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .5rem;background:#ffffffeb;border-bottom:1px solid var(--dcm-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dcm-fullscreen-frame{position:relative;flex:1;min-height:0;overflow:hidden;padding:0 var(--dcm-frame-padding-x) var(--dcm-frame-padding-bottom);background:#fff}.dcm-fullscreen-back,.dcm-fullscreen-external{font-size:.84rem;font-weight:600;text-decoration:none;white-space:nowrap}.dcm-fullscreen-back{color:var(--dcm-text-muted);transition:color .2s ease}.dcm-fullscreen-back:hover{color:var(--dcm-text)}.dcm-fullscreen-title{color:var(--dcm-text);font-size:.9rem;font-weight:600;margin-top:.15rem}.dcm-fullscreen-external{color:var(--dcm-accent)}.dcm-fullscreen-external:hover{text-decoration:underline}.dcm-main{flex:1;min-height:0;overflow:auto}.dcm-main-analytics{overflow:hidden;display:flex;flex-direction:column}.dcm-main-analytics>*{flex:1;min-height:0}.dcm-demo{display:grid;place-items:center;min-height:100%;padding:2rem 1.25rem}.dcm-demo-card{width:min(520px,100%);padding:2rem;border-radius:16px;border:1px dashed var(--dcm-border);background:var(--dcm-bg-elevated);text-align:center}.dcm-demo-badge{display:inline-block;margin:0;padding:.3rem .65rem;border-radius:999px;background:var(--dcm-accent-soft);color:var(--dcm-accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dcm-demo-title{margin:1rem 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.dcm-demo-text,.dcm-demo-hint{margin:.85rem 0 0;color:var(--dcm-text-muted);line-height:1.6;font-size:.92rem}.dcm-demo-hint strong{color:var(--dcm-text);font-weight:600}.dcm-demo-button{display:inline-flex;align-items:center;justify-content:center;margin-top:1.35rem;padding:.65rem 1.25rem;border-radius:999px;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 8px 24px var(--dcm-accent-glow);transition:transform .2s ease,box-shadow .2s ease}.dcm-demo-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1.35rem}.dcm-demo-actions .dcm-demo-button{margin-top:0}.dcm-home-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.75rem}.dcm-home-tab{display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--dcm-border);background:var(--dcm-surface);color:var(--dcm-text);font-size:.95rem;font-weight:600;text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.dcm-home-tab:hover{border-color:var(--dcm-accent);background:var(--dcm-accent-soft);transform:translateY(-1px);box-shadow:0 8px 20px #0000000f}.dcm-home-tab:focus-visible{outline:2px solid var(--dcm-accent);outline-offset:3px}.dcm-demo-button-secondary{background:var(--dcm-surface);color:var(--dcm-text);border:1px solid var(--dcm-border);box-shadow:none}.dcm-demo-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px var(--dcm-accent-glow)}.dcm-demo-button:focus-visible{outline:2px solid var(--dcm-accent);outline-offset:3px}.dcm-login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.2),transparent 44%),radial-gradient(circle at 88% 92%,rgba(79,70,229,.16),transparent 42%),linear-gradient(180deg,#eff6ff,#f8fafc 46%,#fff)}.dcm-login-card{width:min(440px,100%);padding:1.7rem;border-radius:18px;border:1px solid var(--dcm-border);background:#fffffff0;box-shadow:0 6px 18px #0f172a0f,0 32px 48px #0f172a14}.dcm-login-logo{display:block;width:min(215px,100%);height:auto}.dcm-login-title{margin:1rem 0 0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.dcm-login-copy{margin:.6rem 0 0;color:var(--dcm-text-muted);font-size:.9rem;line-height:1.55}.dcm-login-form{display:grid;gap:.9rem;margin-top:1.15rem}.dcm-login-field{display:grid;gap:.45rem}.dcm-login-field span{font-size:.82rem;color:var(--dcm-text-muted);font-weight:600}.dcm-login-field input{width:100%;border:1px solid var(--dcm-border);border-radius:12px;padding:.72rem .85rem;font-size:.92rem;color:var(--dcm-text);background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.dcm-login-field input:focus{border-color:var(--dcm-accent);box-shadow:0 0 0 4px var(--dcm-accent-soft)}.dcm-login-password{position:relative}.dcm-login-password input{padding-right:4.65rem}.dcm-login-password-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);border:none;border-radius:8px;background:transparent;color:var(--dcm-accent);font-size:.78rem;font-weight:700;padding:.4rem .55rem;cursor:pointer}.dcm-login-password-toggle:hover{background:var(--dcm-accent-soft)}.dcm-login-submit,.dcm-login-sso{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;border-radius:12px;font-size:.91rem;font-weight:700;text-decoration:none}.dcm-login-submit{border:none;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;cursor:pointer;box-shadow:0 12px 24px var(--dcm-accent-glow)}.dcm-login-submit:disabled{opacity:.72;cursor:wait}.dcm-login-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:1rem 0}.dcm-login-divider span{height:1px;background:var(--dcm-border)}.dcm-login-divider small{color:var(--dcm-text-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.dcm-login-sso{width:100%;border:1px solid var(--dcm-border);color:var(--dcm-text);background:var(--dcm-surface);cursor:pointer}.dcm-login-sso:hover{background:var(--dcm-surface-hover)}.dcm-login-sso:disabled{opacity:.72;cursor:wait}.dcm-login-error{margin:0;border-radius:10px;border:1px solid rgba(220,38,38,.3);background:#fef2f2e6;color:#b91c1c;font-size:.82rem;font-weight:600;padding:.6rem .75rem}.dcm-login-help{margin:1rem 0 0;color:var(--dcm-text-muted);font-size:.84rem;text-align:center}.dcm-login-help a{color:var(--dcm-accent);text-decoration:none;font-weight:600}.dcm-login-help a:hover{text-decoration:underline}.dcm-project-create-page{min-height:100%;padding:2rem 1.25rem 2.5rem;background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.14),transparent 44%),radial-gradient(circle at 88% 92%,rgba(79,70,229,.12),transparent 42%),linear-gradient(180deg,#eff6ff,#f8fafc 46%,#fff)}.dcm-project-create-card{width:min(760px,100%);margin:0 auto;padding:1.7rem;border-radius:18px;border:1px solid var(--dcm-border);background:#fffffff0;box-shadow:0 6px 18px #0f172a0f,0 32px 48px #0f172a14}.dcm-project-create-card-wide{width:min(860px,100%)}.dcm-project-create-tab-list{display:flex;gap:.6rem;margin-top:1.2rem;padding:.35rem;border-radius:12px;background:#94a3b824}.dcm-project-create-tab{flex:1;min-height:2.5rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--dcm-text-muted);font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.dcm-project-create-tab:hover:not(:disabled){color:var(--dcm-text);background:#fff9}.dcm-project-create-tab:disabled{opacity:.56;cursor:not-allowed}.dcm-project-create-tab-active{color:var(--dcm-accent);border-color:color-mix(in srgb,var(--dcm-accent) 24%,transparent);background:#fff}.dcm-project-create-tab-panel{margin-top:1rem}.dcm-project-create-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:1fr;gap:1rem;margin-top:1.2rem;align-items:stretch}.dcm-project-create-step-card{height:100%;margin-top:0;border-radius:14px;border:1px solid var(--dcm-border);background:#f8fafcb8;padding:1rem}.dcm-project-create-form.dcm-project-create-step-card{display:flex;flex-direction:column}.dcm-project-create-form.dcm-project-create-step-card .dcm-project-create-actions{margin-top:auto}.dcm-project-create-step-header{display:grid;gap:.3rem}.dcm-project-create-step-index{margin:0;display:inline-flex;align-items:center;width:fit-content;padding:.22rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--dcm-accent);background:var(--dcm-accent-soft)}.dcm-project-create-step-title{margin:0;font-size:1rem;font-weight:700;color:var(--dcm-text)}.dcm-project-create-step-copy{margin:0;font-size:.83rem;color:var(--dcm-text-muted);line-height:1.5}.dcm-project-create-kicker{margin:0;display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:var(--dcm-accent-soft);color:var(--dcm-accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dcm-project-create-title{margin:1rem 0 0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.dcm-project-create-copy{margin:.6rem 0 0;color:var(--dcm-text-muted);font-size:.9rem;line-height:1.55}.dcm-project-create-form{display:grid;gap:.95rem;margin-top:1.2rem}.dcm-project-create-field{display:grid;gap:.45rem}.dcm-project-create-combobox{position:relative}.dcm-project-create-combobox-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:20;max-height:220px;overflow-y:auto;padding:.35rem;border-radius:12px;border:1px solid var(--dcm-border);background:#fff;box-shadow:0 1px 2px #0f172a0d,0 14px 30px #0f172a1f}.dcm-project-create-combobox-option{width:100%;border:none;border-radius:8px;background:transparent;color:var(--dcm-text);text-align:left;padding:.5rem .6rem;font-size:.88rem;line-height:1.4;cursor:pointer}.dcm-project-create-combobox-option:hover{background:var(--dcm-accent-soft)}.dcm-project-create-combobox-empty{margin:0;padding:.5rem .6rem;font-size:.82rem;color:var(--dcm-text-muted)}.dcm-project-create-field span{font-size:.82rem;color:var(--dcm-text-muted);font-weight:600}.dcm-project-create-hint{color:var(--dcm-text-muted);font-size:.78rem}.dcm-project-create-field input,.dcm-project-create-field select{width:100%;border:1px solid var(--dcm-border);border-radius:12px;padding:.72rem .85rem;font-size:.92rem;color:var(--dcm-text);background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.dcm-project-create-field input:focus,.dcm-project-create-field select:focus{border-color:var(--dcm-accent);box-shadow:0 0 0 4px var(--dcm-accent-soft)}.dcm-project-create-inline{display:grid;grid-template-columns:1fr auto;gap:.6rem}.dcm-project-create-secondary,.dcm-project-create-submit,.dcm-project-create-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;border-radius:12px;font-size:.9rem;font-weight:700;text-decoration:none}.dcm-project-create-secondary,.dcm-project-create-secondary-link{border:1px solid var(--dcm-border);background:var(--dcm-surface);color:var(--dcm-text)}.dcm-project-create-secondary{padding:0 1rem;cursor:pointer}.dcm-project-create-secondary:hover,.dcm-project-create-secondary-link:hover{background:var(--dcm-surface-hover)}.dcm-project-create-submit{border:none;padding:0 1.2rem;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;cursor:pointer;box-shadow:0 12px 24px var(--dcm-accent-glow)}.dcm-project-create-submit:disabled,.dcm-project-create-secondary:disabled{opacity:.72;cursor:wait}.dcm-project-create-summary{border-radius:12px;border:1px solid var(--dcm-border);background:var(--dcm-bg-elevated);padding:.8rem .9rem}.dcm-project-create-summary p{margin:0;color:var(--dcm-text);font-size:.87rem;line-height:1.5}.dcm-project-create-summary p+p{margin-top:.35rem}.dcm-project-create-summary strong{color:var(--dcm-text)}.dcm-project-create-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.dcm-project-create-error,.dcm-project-create-info{margin:0;border-radius:10px;font-size:.82rem;font-weight:600;padding:.6rem .75rem}.dcm-project-create-error{border:1px solid rgba(220,38,38,.3);background:#fef2f2e6;color:#b91c1c}.dcm-project-create-info{border:1px solid rgba(22,163,74,.28);background:#f0fdf4f0;color:#166534}.dcm-aps-acc-select{display:grid;gap:.35rem}.dcm-aps-acc-select-note{margin:0 0 .65rem;padding:.65rem .85rem;border:1px solid rgba(37,99,235,.2);border-radius:10px;background:#eff6ffd9;color:#1e40af;font-size:.86rem;line-height:1.45}.dcm-aps-acc-select-note-dev{border-color:#b4530940;background:#fffbebeb;color:#92400e}.dcm-aps-acc-select-note code{font-size:.82em}.aps-viewer-env-token-notice{width:100%;align-self:stretch;box-sizing:border-box;flex-shrink:0}.dcm-viewer-picker-inner>.aps-viewer-env-token-notice--picker{margin:0 0 .75rem;border-radius:.5rem}.dcm-aps-acc-select-summary-title{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1e3a8a}.dcm-aps-acc-select-summary{margin-top:.35rem}.dcm-main-dashboard .dcm-project-list-page{flex:1;min-height:0}.dcm-project-list-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.1),transparent 42%),radial-gradient(circle at 88% 92%,rgba(79,70,229,.08),transparent 40%),linear-gradient(180deg,var(--dcm-bg-elevated) 0%,var(--dcm-bg) 100%)}.dcm-project-list-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.25rem 0}.dcm-project-list-inner{width:min(1080px,100%);margin:0 auto;min-height:100%;display:flex;flex-direction:column}.dcm-project-list-grid-area--paged{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.dcm-project-list-grid-area--paged .dcm-project-list-grid{flex:1;align-content:start}.dcm-project-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.dcm-project-list-tab-list{display:flex;gap:.6rem;margin-bottom:1rem;padding:.35rem;border-radius:12px;background:#94a3b824}.dcm-project-list-tab{flex:1;min-height:2.5rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--dcm-text-muted);font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.dcm-project-list-tab:hover{color:var(--dcm-text);background:#fff9}.dcm-project-list-tab-active{color:var(--dcm-accent);border-color:color-mix(in srgb,var(--dcm-accent) 24%,transparent);background:#fff}.dcm-project-list-kicker{margin:0;display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:var(--dcm-accent-soft);color:var(--dcm-accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dcm-project-list-title{margin:0;font-size:1.55rem;font-weight:700;letter-spacing:-.03em}.dcm-project-list-copy{margin:.55rem 0 0;max-width:52ch;color:var(--dcm-text-muted);font-size:.92rem;line-height:1.55}.dcm-project-list-create{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:0 1rem;border-radius:12px;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));color:#fff;font-size:.9rem;font-weight:700;text-decoration:none;box-shadow:0 12px 24px var(--dcm-accent-glow);white-space:nowrap}.dcm-project-list-create-inline{margin-top:.75rem}.dcm-project-list-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-left:auto}.dcm-project-list-search{position:relative;display:block;margin:0}.dcm-project-list-search-icon{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);display:grid;place-items:center;width:1rem;height:1rem;color:var(--dcm-text-muted);pointer-events:none}.dcm-project-list-search-icon svg{width:100%;height:100%}.dcm-project-list-search input{width:min(220px,52vw);min-height:2.35rem;border:1px solid var(--dcm-border);border-radius:10px;padding:.4rem 2.15rem .4rem .7rem;font-size:.84rem;color:var(--dcm-text);background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.dcm-project-list-search input:focus{border-color:var(--dcm-accent);box-shadow:0 0 0 3px var(--dcm-accent-soft)}.dcm-project-list-search:focus-within .dcm-project-list-search-icon{color:var(--dcm-accent)}.dcm-project-list-state{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:180px;color:var(--dcm-text-muted);font-size:.92rem}.dcm-project-list-empty{display:grid;place-items:center;min-height:220px;padding:1.5rem;border-radius:16px;border:1px dashed var(--dcm-border);background:#ffffffb8;text-align:center;color:var(--dcm-text-muted)}.dcm-project-list-empty p{margin:0}.dcm-project-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dcm-project-list-footer{flex-shrink:0;width:100%;border-top:1px solid color-mix(in srgb,var(--dcm-border) 92%,transparent);background:linear-gradient(180deg,#ffffffb8,#fffffff5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 -8px 24px #0f172a0f}.dcm-project-list-footer-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#94a3b82e;overflow:hidden}.dcm-project-list-footer-progress-fill{display:block;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,var(--dcm-accent),var(--dcm-accent-2));box-shadow:0 0 18px var(--dcm-accent-glow);transition:width .28s ease}.dcm-project-list-footer-inner{width:min(1080px,100%);margin:0 auto;padding:1rem 1.25rem 1.1rem;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem}.dcm-project-list-pagination-summary-block{display:flex;align-items:center;gap:.65rem;min-width:0}.dcm-project-list-pagination-type{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:2.65rem;min-height:1.7rem;padding:0 .5rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dcm-project-list-pagination-type--ifc{color:#1e40af;background:#2563eb1a}.dcm-project-list-pagination-type--aps{color:#6d28d9;background:#6d28d91f}.dcm-project-list-pagination-summary{margin:0;color:var(--dcm-text-muted);font-size:.86rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcm-project-list-pagination-summary strong{color:var(--dcm-text);font-weight:700}.dcm-project-list-pagination-dock{position:relative;display:inline-flex;align-items:center;gap:.45rem;justify-self:center;padding:.4rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--dcm-border) 88%,transparent);background:#ffffffeb;box-shadow:0 1px 2px #0f172a0a,0 12px 28px #0f172a0f}.dcm-project-list-footer-loading .dcm-project-list-pagination-dock{opacity:.82}.dcm-project-list-pagination-spinner{position:absolute;inset:0;border-radius:inherit;background:#ffffff8c;pointer-events:none}.dcm-project-list-pagination-spinner:after{content:"";position:absolute;top:50%;left:50%;width:1.15rem;height:1.15rem;margin:-.575rem 0 0 -.575rem;border:2px solid rgba(37,99,235,.18);border-top-color:var(--dcm-accent);border-radius:50%;animation:dcm-pagination-spin .75s linear infinite}@keyframes dcm-pagination-spin{to{transform:rotate(360deg)}}.dcm-project-list-pagination-action{display:inline-flex;align-items:center;gap:.35rem;min-height:2.45rem;padding:0 .8rem;border:1px solid color-mix(in srgb,var(--dcm-border) 90%,transparent);border-radius:11px;background:#fff;color:var(--dcm-text);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease,transform .2s ease}.dcm-project-list-pagination-action svg{width:.95rem;height:.95rem;flex-shrink:0}.dcm-project-list-pagination-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--dcm-accent) 28%,transparent);color:var(--dcm-accent);background:color-mix(in srgb,var(--dcm-accent) 5%,#fff)}.dcm-project-list-pagination-action:disabled{opacity:.42;cursor:not-allowed}.dcm-project-list-pagination-jump{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--dcm-text-muted);cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}.dcm-project-list-pagination-jump svg{width:1rem;height:1rem}.dcm-project-list-pagination-jump:hover:not(:disabled){color:var(--dcm-accent);background:#ffffffbf}.dcm-project-list-pagination-jump:disabled{opacity:.35;cursor:not-allowed}.dcm-project-list-pagination-meta{margin:0;justify-self:end;text-align:right;color:var(--dcm-text-muted);font-size:.84rem;font-variant-numeric:tabular-nums}.dcm-project-list-pagination-meta strong{color:var(--dcm-text);font-weight:700}.dcm-project-list-pagination-pages{display:flex;align-items:center;gap:.2rem;padding:.28rem;border-radius:12px;background:#94a3b824}.dcm-project-list-pagination-page{min-width:2.3rem;height:2.3rem;padding:0 .4rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--dcm-text-muted);font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dcm-project-list-pagination-page:hover:not(:disabled){color:var(--dcm-text);background:#ffffffb8;transform:translateY(-1px)}.dcm-project-list-pagination-page-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--dcm-accent),var(--dcm-accent-2));box-shadow:0 8px 18px var(--dcm-accent-glow)}.dcm-project-list-pagination-page-active:disabled{opacity:1;cursor:default}.dcm-project-list-pagination-more{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;color:var(--dcm-text-muted);font-size:.9rem;font-weight:700;-webkit-user-select:none;user-select:none}.dcm-project-tile{display:flex;flex-direction:column;gap:.9rem;min-height:210px;padding:1.1rem;border-radius:16px;border:1px solid var(--dcm-border);background:#ffffffe6;box-shadow:0 1px 2px #0f172a0a,0 10px 30px #0f172a0a;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dcm-project-tile-clickable{cursor:pointer}.dcm-project-tile-clickable:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--dcm-accent) 24%,white);box-shadow:0 2px 6px #0f172a0d,0 16px 36px #0f172a14}.dcm-project-tile-disabled{opacity:.72}.dcm-project-tile-skeleton{pointer-events:none}.dcm-project-tile-skeleton:hover{transform:none;border-color:var(--dcm-border);box-shadow:0 1px 2px #0f172a0a,0 10px 30px #0f172a0a}.dcm-skeleton-block{border-radius:10px;background:linear-gradient(90deg,#e2e8f0e6,#f1f5f9f2 45%,#e2e8f0e6);background-size:200% 100%;animation:dcm-skeleton-shimmer 1.35s ease-in-out infinite}.dcm-skeleton-icon{width:42px;height:42px;border-radius:12px}.dcm-skeleton-arrow{width:32px;height:32px;border-radius:999px}.dcm-skeleton-badge{width:3.25rem;height:1.35rem;border-radius:999px;margin-left:auto}.dcm-skeleton-title{width:72%;height:1rem;border-radius:8px}.dcm-skeleton-status{width:4.5rem;height:1.45rem;border-radius:999px}.dcm-skeleton-action{flex:1;height:2.2rem;border-radius:10px}.dcm-project-tile-skeleton:nth-child(2n) .dcm-skeleton-title{width:58%}.dcm-project-tile-skeleton:nth-child(3n) .dcm-skeleton-title{width:84%}@keyframes dcm-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dcm-project-tile-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--dcm-accent-soft);color:var(--dcm-accent)}.dcm-project-tile-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dcm-project-tile-top-end{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-left:auto;flex-shrink:0}.dcm-project-tile-type{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.dcm-project-tile-type--ifc{color:#1e40af;background:#2563eb14;border:1px solid rgba(37,99,235,.16)}.dcm-project-tile-type--aps{color:#6d28d9;background:#7c3aed1a;border:1px solid rgba(124,58,237,.2)}.dcm-project-tile--ifc{min-height:248px;border-color:#2563eb29;background:linear-gradient(165deg,#fffffffa,#eff6ffeb);box-shadow:0 1px 2px #1e40af0a,0 12px 28px #1e40af0f}.dcm-project-tile--ifc.dcm-project-tile-clickable:hover{border-color:#2563eb52;box-shadow:0 2px 6px #1e40af0f,0 18px 36px #1e40af1a}.dcm-project-tile-icon--ifc{background:#2563eb14;color:#1d4ed8}.dcm-project-tile-icon--aps{background:#7c3aed1a;color:#7c3aed}.dcm-project-tile-hint{margin:0;padding:.65rem .75rem;border-radius:12px;border:1px dashed transparent;background:#ffffffa6;font-size:.78rem;line-height:1.5;color:var(--dcm-text-muted)}.dcm-project-tile-hint--ifc{border-color:#2563eb33}.dcm-project-tile-hint--aps{border-color:#7c3aed38}.dcm-project-tile-link-primary{border:none;color:#fff}.dcm-project-tile-link-primary--ifc{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 18px #2563eb38}.dcm-project-tile-link-primary--ifc:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.dcm-project-tile--aps{min-height:248px;border-color:#7c3aed29;background:linear-gradient(165deg,#fffffffa,#f5f3ffeb);box-shadow:0 1px 2px #5b21b60a,0 12px 28px #5b21b60f}.dcm-project-tile--aps.dcm-project-tile-clickable:hover{border-color:#7c3aed52;box-shadow:0 2px 6px #5b21b60f,0 18px 36px #5b21b61a}.dcm-project-tile-link-primary--aps{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 8px 18px #6d28d938}.dcm-project-tile-link-primary--aps:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.dcm-project-tile-link-outline--aps{border-color:#7c3aed47;color:#6d28d9;background:#ffffffd9}.dcm-project-tile--detail{min-height:248px}.dcm-project-tile-aps-details{display:grid;gap:.42rem;margin:0;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(124,58,237,.12);background:#ffffffb8}.dcm-project-tile-aps-detail{display:grid;grid-template-columns:4.75rem minmax(0,1fr);align-items:start;gap:.35rem .75rem}.dcm-project-tile-aps-detail dt{margin:0;padding-top:.05rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dcm-text-muted)}.dcm-project-tile-aps-detail dd{margin:0;font-size:.8rem;line-height:1.4;color:var(--dcm-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcm-project-tile-status-progress{background:#f59e0b1f;color:#b45309}.dcm-project-tile-meta{margin:0;font-size:.76rem;line-height:1.45;color:var(--dcm-text-muted)}.dcm-project-tile-meta strong{color:var(--dcm-text);font-weight:700}.dcm-project-tile-icon svg{width:20px;height:20px}.dcm-project-tile-body{display:grid;gap:.55rem;flex:1}.dcm-project-tile-title{margin:0;font-size:1rem;font-weight:700;line-height:1.4;color:var(--dcm-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcm-project-tile-status-row{display:flex;flex-wrap:wrap;gap:.45rem}.dcm-project-tile-status{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;background:var(--dcm-bg-elevated);color:var(--dcm-text-muted);font-size:.72rem;font-weight:600}.dcm-project-tile-status-ready{background:#16a34a1f;color:#166534}.dcm-project-tile-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(15,23,42,.06)}.dcm-project-tile-actions-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:.5rem}.dcm-project-tile-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;border-radius:10px;border:1px solid var(--dcm-border);background:var(--dcm-surface);color:var(--dcm-accent);font-size:.8rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease}button.dcm-project-tile-link{font-family:inherit;font-size:.8rem;font-weight:700;line-height:1.2}.dcm-project-tile-link:hover{background:var(--dcm-accent-soft);border-color:color-mix(in srgb,var(--dcm-accent) 24%,var(--dcm-border))}.dcm-project-tile-link.dcm-project-tile-link-primary--ifc:hover{color:#fff;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 20px #2563eb3d}.dcm-project-tile-link.dcm-project-tile-link-primary--aps:hover{color:#fff;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 10px 22px #6d28d94d}.dcm-project-tile-link-outline--aps:hover{border-color:#7c3aed73;color:#5b21b6;background:#f5f3fff2}.dcm-project-tile-link-disabled{opacity:.5;cursor:not-allowed;color:var(--dcm-text-muted)}.dcm-frame-loading{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:.75rem;background:#ffffffe0;color:var(--dcm-text-muted);font-size:.92rem;font-weight:500}.dcm-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(148,163,184,.25);border-top-color:var(--dcm-accent);animation:dcm-spin .8s linear infinite}@keyframes dcm-spin{to{transform:rotate(360deg)}}@media(max-width:960px){.dcm-header-inner{padding-left:.85rem;padding-right:.85rem}.dcm-nav{width:100%;justify-content:flex-start}.dcm-dashboard-picker{padding:2rem 1rem 2.5rem}.dcm-dashboard-picker-grid{grid-template-columns:1fr}.dcm-viewer-picker-layout{grid-template-columns:1fr;grid-template-rows:auto}.dcm-viewer-picker-dashboards{display:flex;flex-direction:column;gap:1rem;min-width:0}.dcm-viewer-picker-section-head,.dcm-viewer-picker-dashboards>.dcm-dashboard-picker-grid--viewer,.dcm-viewer-picker-dashboards>.dcm-viewer-files,.dcm-viewer-picker-dashboards>.dcm-viewer-aps-model,.dcm-viewer-picker-layout>.dcm-project-users{grid-column:auto;grid-row:auto}.dcm-viewer-files-grid,.dcm-project-users-form{grid-template-columns:1fr}.dcm-viewer-picker-header{flex-direction:column;align-items:stretch}.dcm-fullscreen-toolbar{flex-wrap:wrap;justify-content:center;padding-top:.75rem}.dcm-fullscreen-title{order:-1;width:100%;text-align:center;margin-top:0;margin-bottom:.25rem}.dcm-project-create-inline,.dcm-project-create-two-column{grid-template-columns:1fr}.dcm-project-create-tab-list{flex-direction:column}.dcm-project-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dcm-project-list-header{flex-direction:column;align-items:stretch}.dcm-project-list-header-actions{width:100%;margin-left:0}.dcm-project-list-search input{flex:1;width:100%;min-width:0}.dcm-project-list-footer-inner{grid-template-columns:1fr;justify-items:stretch;gap:.85rem}.dcm-project-list-pagination-summary-block{justify-content:center}.dcm-project-list-pagination-dock{width:100%;justify-content:center;flex-wrap:wrap}.dcm-project-list-pagination-action span{display:none}.dcm-project-list-pagination-meta{justify-self:center;text-align:center}.dcm-project-list-pagination-pages{max-width:100%;overflow-x:auto}}@media(max-width:640px){.dcm-nav{overflow-x:auto}.dcm-project-list-grid{grid-template-columns:1fr}}
