/* Excel report structure with the same restrained colors as the portal. */
[data-reports] { min-width:0; }
.report-toolbar {display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;}
.report-toolbar h3 {font-size:22px;letter-spacing:-.5px;margin:8px 0;}
.report-toolbar p,.report-attachments>p {font-size:13px;color:var(--text-secondary);line-height:1.7;}
.report-picker,.road-filter label {display:grid;gap:8px;color:var(--text-secondary);font-size:12px;min-width:200px;}
.report-picker select,.road-filter input {font:inherit;font-size:14px;padding:12px;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);background:var(--bg-card);min-height:44px;max-width:100%;}
.report-status {font-size:12px;line-height:1.7;color:var(--text-secondary);margin:12px 0 20px;}
.report-status.report-error {color:#ae3928;}
.report-actions {display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--border-color);padding:0 0 20px;}
.report-actions>div {display:flex;flex-wrap:wrap;gap:8px;}
.report-actions .btn {min-height:44px;text-decoration:none;}
.report-sheet-heading {text-align:center;padding:28px 12px 22px;}
.report-sheet-heading h4 {font-size:19px;line-height:1.4;letter-spacing:-.3px;}
.report-sheet-heading p {font-size:14px;margin:6px 0 14px;}
.report-sheet-heading span {color:var(--text-secondary);font-size:12px;}
.report-kpis {display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--border-color);border-radius:12px;overflow:hidden;margin:0 0 20px;background:var(--bg-card);}
.report-kpis>div {padding:18px;display:grid;gap:9px;}
.report-kpis>div:last-child {background:var(--bg-input);}
.report-kpis span {color:var(--text-secondary);font-size:11px;}
.report-kpis strong {font-size:19px;letter-spacing:-.5px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.report-hint {font-size:11px;line-height:1.7;color:var(--text-secondary);margin:12px 0;}
.report-scroll {width:100%;max-width:100%;max-height:650px;overflow:auto;border:1px solid var(--border-color);border-radius:10px;overscroll-behavior-x:contain;scrollbar-width:thin;}
.report-scroll:focus-visible {outline:2px solid #225e52;outline-offset:3px;}
.excel-report-table {border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:12px;line-height:1.6;}
.excel-report-table th,.excel-report-table td {padding:10px 12px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);text-align:left;vertical-align:top;white-space:normal;}
.excel-report-table thead th {position:sticky;top:0;z-index:2;background:#225e52;color:#fff;font-size:11px;font-weight:600;vertical-align:middle;}
.excel-report-table td {background:var(--bg-card);}
.excel-report-table tr:nth-child(even)>td {background:var(--bg-input);}
.excel-report-table .number {text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.excel-report-table .report-group th {background:var(--bg-input);font-size:12px;padding-top:16px;padding-bottom:12px;}
.excel-report-table .report-subtotal>* {font-weight:600;background:var(--bg-card);}
.excel-report-table .report-total>* {background:var(--bg-input);font-weight:700;border-top:1px solid var(--border-color);}
.excel-report-table .report-empty {color:var(--text-secondary);font-style:italic;}
.report-finance th:nth-child(1){min-width:42px;}
.report-finance th:nth-child(2){min-width:100px;}
.report-finance th:nth-child(3){min-width:265px;}
.report-finance th:nth-child(4){min-width:185px;}
.report-finance th:nth-child(5){min-width:95px;}
.report-finance th:nth-child(6),.report-finance th:nth-child(7){min-width:115px;}
.report-road {min-width:1560px;}
.report-road th:nth-child(3) {min-width:210px;}
.report-road th:nth-child(n+4){min-width:120px;}
.report-road td:nth-child(2),.report-road th:nth-child(2){position:sticky;left:0;font-weight:600;z-index:1;min-width:85px;box-shadow:2px 0 3px #00000008;}
.report-road th:nth-child(2){z-index:3;}
.report-attachments {margin-top:28px;}
.report-attachments>h4 {font-size:16px;margin-bottom:8px;}
.report-attachments details,.report-notes {border:1px solid var(--border-color);border-radius:10px;margin:12px 0;overflow:hidden;}
.report-attachments summary,.report-notes summary,.reports-annual>summary {padding:16px;cursor:pointer;font-size:13px;line-height:1.6;font-weight:600;}
.report-attachments summary span {font-weight:400;font-size:11px;color:var(--text-secondary);margin-left:8px;}
.report-attachments .report-scroll {border-radius:0;border:0;}
.report-attachment-table {min-width:740px;}
.report-notes p {font-size:12px;color:var(--text-secondary);line-height:1.8;margin:0 16px 14px;}
.report-source {font-size:11px;color:var(--text-secondary);overflow-wrap:anywhere;margin-top:18px;}
.road-filter {display:flex;justify-content:space-between;align-items:end;gap:16px;margin:20px 0 12px;}
.road-filter label {width:350px;max-width:100%;}
.road-filter>span,.road-pagination>span {font-size:12px;color:var(--text-secondary);}
.road-pagination {display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 24px;}
.road-pagination>div {display:flex;gap:8px;}
.reports-annual {margin-top:32px;border-top:1px solid var(--border-color);}
.reports-annual>summary {padding:20px 0;}
.reports-annual[open]>.finance-toolbar {margin-top:16px;}
@media(max-width:700px){
 .report-toolbar,.report-actions,.road-filter,.road-pagination {flex-direction:column;align-items:stretch;gap:16px;}
 .report-toolbar h3 {font-size:21px;}
 .report-picker,.road-filter label {width:100%;min-width:0;}
 .report-actions>.finance-badge {align-self:flex-start;}
 .report-actions>div>.btn {flex:1;}
 .report-kpis {grid-template-columns:repeat(2,minmax(0,1fr));}
 .report-kpis>div {padding:14px 12px;}
 .report-kpis strong {font-size:16px;}
 .report-kpis span {font-size:10px;line-height:1.6;}
 .report-sheet-heading {padding:24px 0 20px;}
 .report-sheet-heading h4 {font-size:17px;}
 .road-pagination>div>.btn {flex:1;}
 .report-scroll {max-height:540px;}
}
@media(max-width:359px){.report-kpis {grid-template-columns:1fr;}.report-actions>div {flex-direction:column;}}
