/* The report also loads this stylesheet inside its isolated print frame. */
.request-hero:has(.claim-print-control) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:24px; align-items:center; }
.request-hero > .claim-print-control { border:0; padding:0; }
.claim-print-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:14px 22px; font-size:15px; font-weight:700; white-space:nowrap; }
.claim-print-error { display:block; max-width:200px; margin-top:8px; color:#9f2828; font-size:12px; }
@media screen and (max-width:900px) {
    .request-hero:has(.claim-print-control) { grid-template-columns:minmax(0,1fr); gap:18px; }
    .claim-print-button { width:100%; }
}
.claim-report { box-sizing:border-box; width:186mm; margin:0 auto; padding:0; color:#172d4b; font:10pt/1.35 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
.claim-report * { box-sizing:border-box; }
.report-header { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:0 0 12px; border-bottom:3px solid #1b3f7d; }
.report-header strong { display:block; font-size:19pt; letter-spacing:-.5px; }
.report-header span { display:block; font-size:9pt; color:#536780; }
.report-reference { text-align:right; font-size:8pt; letter-spacing:1px; }
.report-reference b { display:block; margin-top:4px; font-size:10pt; letter-spacing:0; }
.report-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:14px 0; }
.report-heading h1 { margin:0; font-size:22pt; }
.report-heading > span { padding:5px 10px; border:1px solid #bcc9d9; border-radius:4px; font-weight:bold; }
.report-columns { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:22px; align-items:start; }
.report-columns > section { min-width:0; }
.report-claim-details > h2, .report-timeline > h2 { margin:0 0 10px; font-size:12pt; break-after:avoid; }
.report-details { display:grid; grid-template-columns:1fr; gap:5px; margin:0 0 14px; }
.report-details > div { display:grid; grid-template-columns:95px 1fr; gap:8px; border-bottom:1px solid #e1e5eb; padding-bottom:4px; break-inside:avoid; }
.report-details dt { color:#536780; font-size:8.5pt; }
.report-details dd { margin:0; }
.claim-report h2 { font-size:10pt; margin:0 0 4px; }
.claim-report p { margin:0; white-space:pre-wrap; }
.report-description > div { margin-bottom:9px; }
.report-timeline { border-left:1px solid #d6deea; padding-left:18px; font-size:9pt; }
.report-event { border-left:2px solid #bdcce1; padding:0 0 9px 12px; margin-left:3px; break-inside:avoid; }
.report-event > div { display:block; }
.report-event time { display:block; margin-top:3px; color:#536780; font-size:8pt; }
.report-event small { display:block; font-size:8pt; color:#536780; margin:2px 0; }
.report-event p { margin-top:3px; }
.report-footer { border-top:1px solid #bcc9d9; padding-top:8px; margin-top:12px; display:flex; justify-content:space-between; gap:12px; color:#536780; font-size:8pt; break-inside:avoid; }
.report-compact { font-size:9pt; line-height:1.25; }
.report-compact .report-event { padding-bottom:6px; }
.report-compact .report-description > div { margin-bottom:6px; }
@page { size:A4 portrait; margin:12mm; }
@media print {
    html,body { margin:0; padding:0; background:white; }
    .claim-report { width:100%; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
    .claim-report h2 { break-after:avoid; }
    .claim-report p { orphans:3; widows:3; }
}
