.report-filters{align-items:flex-end;gap:16px}.report-filters label{display:grid;gap:6px;font-size:12px;font-weight:600}.report-filters select{min-width:175px}.report-period-note{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.report-kpis .value{font-size:clamp(24px,2.3vw,34px);overflow-wrap:anywhere}.report-kpis .hint{line-height:1.6}.report-health{display:flex;gap:12px 22px;align-items:center;flex-wrap:wrap;margin:0 0 22px;color:var(--muted);font-size:12px}.report-charts{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:stretch}.report-charts .panel{display:flex;flex-direction:column}.report-chart-body{flex:1;min-width:0}.report-legend{display:flex;gap:20px;font-size:11px;color:var(--muted);margin:0 0 20px}.report-legend span{display:flex;align-items:center;gap:7px}.report-swatch{display:inline-block;width:10px;height:10px;border-radius:3px}.report-swatch.plan{background:#ceb2f7}.report-swatch.actual{background:#7c35ed}.report-util-group{margin-bottom:23px}.report-util-heading{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13px}.report-util-heading span{font-size:11px;color:var(--muted)}.report-util-row{display:grid;grid-template-columns:32px 1fr 65px 75px;gap:10px;align-items:center;margin:9px 0;font-size:11px}.report-util-row small{color:var(--muted);font-size:10px}.report-util-row b,.report-util-row>span{text-align:right;font-variant-numeric:tabular-nums}.report-util-row>span{color:var(--muted)}.report-util-track{height:9px;border-radius:10px;background:var(--bg);overflow:hidden}.report-util-track span{display:block;height:100%;border-radius:10px}.report-util-track .plan{background:#ceb2f7}.report-util-track .actual{background:#7c35ed}.report-capacity{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px;font-size:11px}.report-capacity span{color:var(--muted)}.report-caption{font-size:11px;color:var(--muted);line-height:1.6;margin-top:16px}.report-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.report-metrics .btn{min-height:30px;padding:7px 12px}.report-money-chart{width:100%;height:auto;display:block;overflow:visible}.report-grid-line{stroke:#e9e6ee;stroke-width:1}.report-zero-line{stroke:#b5aebf;stroke-width:1}.report-axis-label{font-family:Arial,sans-serif;font-size:10px;fill:#797772}.report-category-label{font-family:Arial,sans-serif;font-size:12px;fill:#444047}.report-column.plan{fill:#ceb2f7}.report-column.actual{fill:#7c35ed}.report-column.loss{fill:#c74458}.report-column:hover{opacity:.8}.report-table-filters{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:0 26px 20px}.report-table-filters input[type=search]{width:300px;max-width:100%;padding:10px 12px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px}.report-table-filters label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.report-table-filters input[type=checkbox]{accent-color:#7c35ed;width:16px;height:16px}.report-detail table{min-width:1460px}.report-detail td:first-child{min-width:230px;max-width:270px}.report-detail .business-task-link{text-align:left;line-height:1.5}.report-detail td{padding-top:19px;padding-bottom:19px}.report-detail tr.report-loss{background:#fff1f3}.report-detail tr.report-loss td:first-child{box-shadow:inset 4px 0 #c74458}.report-detail tr.report-plan-loss{background:#fff7f8}.report-detail tr.report-plan-loss td:first-child{box-shadow:inset 4px 0 #e5a3ae}.report-overrun{color:var(--red);margin-top:8px}.report-table-note{padding:0 26px 22px;font-size:11px;color:var(--muted);line-height:1.6}.report-detail .table-wrap{margin-bottom:14px}.report-detail .pnl-pair{font-size:12px}
@media(max-width:1120px){.report-charts{grid-template-columns:1fr}.report-period-note{margin-left:0}.report-money-chart{max-height:340px}.report-util-group{margin-bottom:20px}}
@media(max-width:720px){.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-filters label{min-width:0}.report-filters select{min-width:0;width:100%;font-size:12px}.report-period-note{font-size:10px}.report-charts{gap:0}.report-util-row{grid-template-columns:28px 1fr 57px 62px;gap:7px}.report-table-filters{padding:0 20px 18px}.report-table-filters input[type=search]{width:100%}.report-kpis .value{font-size:25px}.report-kpis .hint{font-size:10px}.report-table-note{padding:0 20px 20px}.report-capacity{flex-wrap:wrap}.report-health{gap:10px;font-size:11px}}

@media(max-width:720px){.report-axis-label{font-size:18px}.report-category-label{font-size:20px}}

.schedule-report{margin:30px 0}.schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 20px}.schedule-heading h2{font-size:23px;font-weight:500;margin-top:6px}.schedule-heading>span{font-size:12px;color:var(--muted)}.schedule-report table{min-width:1160px}.schedule-report td:first-child{min-width:230px;max-width:300px}.schedule-report .business-task-link{text-align:left;line-height:1.5}.schedule-report .schedule-late{background:#fff1f3}.schedule-report .schedule-late td:first-child{box-shadow:inset 4px 0 #c74458}.schedule-report .progress{min-width:100px;margin:8px 0}.schedule-filters{padding-top:20px;justify-content:space-between}.schedule-filters label{flex-wrap:wrap}.schedule-filters>span{font-size:12px;color:var(--muted)}@media(max-width:720px){.schedule-heading{align-items:flex-start;flex-direction:column}.schedule-heading h2{font-size:21px}.schedule-filters{align-items:flex-start;flex-direction:column}}

.report-detail table{min-width:1780px}.report-detail tr.report-schedule-deviation{background:#fff1f3}.report-detail tr.report-schedule-deviation td:first-child{box-shadow:inset 4px 0 #c74458}.report-detail .report-date-deviation{color:#b33248;font-weight:600}.report-date-pair{min-width:150px}.report-detail .report-date-deviation .row-sub{font-weight:400}

.report-detail table{min-width:2160px}.report-detail td:nth-last-child(3){min-width:125px}.report-detail td:last-child{min-width:190px}.report-detail td:nth-last-child(3) .progress{margin:8px 0;min-width:95px}
