/* Shared presentation of immutable P1–P4 facts. */
body{background:var(--tt-paper);color:var(--tt-ink);font-family:var(--tt-font)}
.report-page-v2{width:min(1380px,calc(100% - 40px));margin:24px auto;border-radius:16px;min-height:0;box-shadow:var(--tt-shadow)}
.rpt-header{grid-template-columns:340px minmax(0,1fr) 240px;gap:24px;padding:10px 30px;background:white;min-height:112px;position:relative;overflow:visible}
.rpt-brand-link{width:170px;height:92px;overflow:hidden}
.rpt-brand-link img{transform:none;width:100%;height:100%;object-fit:cover}
.rpt-heading{text-align:center}
/* Balance the existing 340px/240px side columns without moving the brand/period. */
@media(min-width:1101px){.rpt-heading{transform:none}}
.rpt-kicker{color:var(--tt-teal);font-size:11px;font-weight:700}
.rpt-heading h1{font-size:26px;letter-spacing:-.035em;color:var(--tt-navy);line-height:1.25}
.rpt-subtitle{font-size:13px}
.rpt-period strong{font-size:21px;color:var(--tt-navy)}
.rpt-period span{font-size:11px}
.rpt-content{padding:30px}
.rpt-panel{border-radius:12px;box-shadow:none;min-width:0}
.rpt-panel-title{font-size:13px;color:var(--tt-navy);letter-spacing:.025em}
.rpt-panel-note{font-size:12px;margin-top:5px}
.rpt-section-title{font-size:14px;margin-block:24px 14px;color:var(--tt-navy)}
.rpt-section-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:32px 24px 10px;background:#f1f5f1;border-bottom:1px solid var(--tt-line)}
.rpt-section-nav a{padding:8px 12px;text-decoration:none;color:var(--tt-muted);font-size:12px;border-radius:6px}
.rpt-section-nav a[aria-current=page]{background:var(--tt-navy);color:white}
.rpt-section-nav a:hover{background:#dfe6e0;color:var(--tt-navy)}
.p1-top{grid-template-columns:.85fr 1.15fr;gap:22px}
.p1-summary{padding:25px;background:#f6faf7}
.p1-summary-text{font-size:14px;line-height:1.8}
.p1-focus-title{font-size:12px;margin-top:24px}
.p1-focus-item{font-size:12px;line-height:1.6}
.p1-kpis{gap:14px}
.p1-kpi{padding:20px;border-radius:12px;box-shadow:none;text-align:center}
.p1-kpi-top{justify-content:center}
.p1-kpi-label{font-size:12px}
.p1-kpi-icon{display:none}
.p1-kpi-value{font-size:31px;letter-spacing:-.035em;line-height:1.25}
.p1-kpi-comps{font-size:11px;line-height:1.75}
.p1-charts{grid-template-columns:1.5fr 1fr;gap:22px;margin-top:24px}
.p1-chart{padding:23px}
.p1-chart .trend-svg{width:100%;max-width:none;height:auto}
.chart-value-label{opacity:1}
.rpt-subtitle{color:var(--tt-gold-ink);font-size:16px;font-weight:750;line-height:1.35;margin-top:7px}
.rpt-period{min-width:0;max-width:100%;overflow-wrap:anywhere}
.rpt-period .rpt-company{font-size:12px;font-weight:700;line-height:1.35;color:var(--tt-navy);margin:0 0 8px}
.p1-top{align-items:start}.p1-kpis{grid-auto-rows:auto;align-self:start;align-content:start}
.report-card-question{display:block;color:var(--tt-gold-ink);font-size:14px;font-weight:750;line-height:1.4;margin:0 0 9px}
.tier-step{border-top:4px solid transparent}
.tier-step.tier-insufficient{border-top-color:#a52a2a}.tier-step.tier-core{border-top-color:#a36e10}.tier-step.tier-operational{border-top-color:#207f88}.tier-step.tier-complete{border-top-color:#2f7447}
.tier-step.current{box-shadow:0 0 0 2px var(--tt-navy);background:#fff}.tier-step.current b,.tier-step.current small{color:var(--tt-ink)}
.advisory-audit{min-width:160px;max-width:290px;color:var(--tt-muted);font-size:11px}.advisory-audit summary{cursor:pointer}.advisory-audit small{display:block;overflow-wrap:anywhere;margin-top:5px}
.data-profile-footer-nav{display:flex;flex-wrap:wrap;gap:10px;padding:4px 26px 22px;background:#f8faf8}.data-profile-footer-nav a{display:inline-flex;min-height:40px;align-items:center;padding:9px 13px;border:1px solid var(--tt-line);border-radius:8px;background:white;color:var(--tt-navy);font-size:12px;font-weight:700;text-decoration:none}
.rpt-nav a:focus-visible,.rpt-section-nav a:focus-visible,.data-profile-footer-nav a:focus-visible,.report-home-card:focus-visible{outline:3px solid var(--tt-gold);outline-offset:2px}
@media(max-width:720px){.rpt-subtitle{font-size:15px}.advisory-audit{max-width:100%}.data-profile-footer-nav{padding-inline:20px}}
.axis-label{fill:#657169}
.p1-service-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}
.p1-service-grid .donut-svg{width:100%;max-width:340px;margin:auto}
.p1-service-row{font-size:11px}
.p1-service-row strong{font-size:12px}
.p1-insights{gap:13px}
.p1-insight{font-size:12px;line-height:1.7;border-radius:10px;padding:17px 17px 17px 45px;display:block;-webkit-line-clamp:unset;overflow:visible}
.p2-financial{padding:8px 22px;overflow-x:auto}
.p2-financial table{min-width:600px}
.p2-financial th,.p2-financial td{font-size:13px;padding:14px 10px}
.p2-financial thead th{font-size:11px;color:var(--tt-muted)}
.p2-middle{gap:22px;grid-template-columns:.85fr 1.15fr;margin-top:24px}
.p2-expense-list,.p2-trend{padding:23px}
.expense-row{font-size:12px;margin-top:16px;gap:12px}
.expense-name{font-size:12px}
.expense-value{font-size:12px}
.expense-trend-chart{height:205px;gap:8px}
.expense-total-label{font-size:9px;white-space:nowrap}
.expense-month{font-size:10px}
.p2-labor-grid{gap:14px}
.p2-labor-card{padding:20px;border-radius:12px}
.p2-labor-label{font-size:12px}
.p2-labor-value{font-size:28px;letter-spacing:-.04em}
.p2-labor-comp{font-size:11px;line-height:1.9}
.p3-top{gap:22px;grid-template-columns:1.2fr 1fr}
.p3-job-card,.p3-service-card{padding:23px}
.p3-big-value{font-size:44px}
.p3-big-comp{font-size:11px;line-height:1.9}
.p3-job-inner{grid-template-columns:150px minmax(0,1fr);gap:16px}
.jobs-chart-wrap{min-width:0}
.jobs-trend-v2{gap:8px}
.job-value-v2,.job-month-v2{font-size:10px}
.p3-service-card .service-bar-name,.service-bar-value{font-size:12px}
.p3-tables{gap:22px;margin-top:24px;grid-template-columns:1.55fr 1fr}
.p3-table{padding:23px;overflow-x:auto}
.p3-table table{min-width:340px}
.p3-table th,.p3-table td{font-size:12px;padding:12px 8px}
.p3-cash{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.p3-cash-card{min-width:0;grid-template-columns:1fr;grid-template-areas:"label" "value" "note" "comp";padding:20px;border-radius:12px}
.p3-cash-label{font-size:12px}
.p3-cash-value{font-size:29px;letter-spacing:-.035em}
.p3-cash-comps{text-align:center;white-space:normal;margin-top:10px}
.p3-big,.p3-cash-card{text-align:center}
.p3-cash-note,.p3-cash-comps{font-size:11px;line-height:1.8}
.p3-recs{padding:23px}
.p3-rec{font-size:13px;line-height:1.75}
.p4-kicker{font-size:12px;color:var(--tt-muted);margin-bottom:20px}
.p4-overall{padding:28px;background:#edf5ee;border-left:3px solid var(--tt-teal)}
.p4-title{font-size:18px;line-height:1.3;letter-spacing:-.02em}
.p4-no{background:#edf5ee;color:var(--tt-teal)}
.p4-text{font-size:15px;line-height:1.9;white-space:pre-line;max-width:85ch}
.p4-columns{gap:22px;margin-top:24px}
.p4-column{gap:22px}
.p4-section{padding:28px}
.rpt-footer{height:auto;min-height:76px;flex-shrink:0;color:var(--tt-muted);position:static;padding:22px 30px;gap:16px;flex-wrap:wrap;background:#f6faf7}
.rpt-footer-left,.rpt-footer-right{font-size:11px}
.rpt-nav{flex-wrap:wrap}
.rpt-nav a{color:var(--tt-navy);border:1px solid var(--tt-line);background:white;font-size:12px;min-height:40px;padding:8px 14px}
.report-home-shell{max-width:1380px;border-radius:16px;box-shadow:var(--tt-shadow)}
.report-home-hero{background:var(--tt-navy)}
.report-home-hero h1{font-weight:650;letter-spacing:-.04em}
.report-home-logo img{transform:none}
.report-home-card{box-shadow:none;border-radius:12px;padding:25px 25px 60px}
.report-home-card h2{font-size:19px;font-weight:650;letter-spacing:-.02em}
.report-home-card p{font-size:13px;line-height:1.65}
.report-card-open{left:25px;bottom:22px;font-size:12px}
.report-home-card-data{background:#edf5ee}
.report-card-no{color:var(--tt-teal)}
.report-home-strip{display:none}
.report-home-main{padding:30px}
.report-home-identity{padding:25px 30px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.rpt-header,.report-home-brandbar{--tt-brand-surface:#fff}
@media(max-width:900px){.report-home-identity{grid-template-columns:1fr}}
.data-profile-panel{box-shadow:none;border-radius:12px}
.data-profile-hero{background:var(--tt-navy)}

@media(max-width:1100px){.rpt-header{grid-template-columns:340px 1fr;gap:18px;padding:10px 24px}
.rpt-period{grid-column:2;justify-self:start;text-align:left;border:0;padding:0}
.rpt-brand-link{width:175px}
.rpt-content{padding:24px}
.p1-top{grid-template-columns:1fr}
.p1-kpis{grid-template-columns:repeat(3,1fr)}
.p1-charts,.p2-middle,.p3-top{grid-template-columns:1fr}
.p1-service-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
.p2-labor-grid{grid-template-columns:repeat(3,1fr)}
.p3-cash{grid-template-columns:repeat(2,1fr)}
.p3-job-inner{grid-template-columns:170px 1fr}
.p3-tables{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){.report-page-v2{width:calc(100% - 20px);margin:10px auto;border-radius:12px}
.rpt-header{grid-template-columns:1fr;gap:10px;padding:18px 20px}
.rpt-header .tt-brand{margin-bottom:28px}
.rpt-brand-link{height:88px;width:148px}
.rpt-heading h1{font-size:24px}
.rpt-period{grid-column:auto;justify-self:start;text-align:left;border:0;padding:0}
.rpt-period strong{font-size:18px}
.rpt-content{padding:20px 16px}
.rpt-section-nav{padding:8px 12px}
.rpt-section-nav a{font-size:11px;padding:8px 10px}
.p1-kpis{grid-template-columns:repeat(2,1fr);gap:10px}
.p1-kpi{padding:16px}
.p1-kpi-value{font-size:27px}
.p1-kpi-comps{font-size:10px}
.p1-summary,.p1-chart,.p2-expense-list,.p2-trend,.p3-job-card,.p3-service-card,.p3-table,.p3-recs{padding:20px}
.p1-service-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.p1-insights{grid-template-columns:1fr}
.p2-labor-grid{grid-template-columns:repeat(2,1fr)}
.p2-financial{padding-inline:10px}
.p2-trend{overflow-x:auto}
.expense-trend-chart{min-width:550px}
.p3-tables,.p4-columns{grid-template-columns:1fr}
.p3-job-inner{grid-template-columns:1fr}
.jobs-chart-wrap{overflow-x:auto}
.jobs-trend-v2{min-width:400px}
.jobs-chart-wrap{grid-template-columns:25px 1fr}
.p3-cash-card{padding:16px}
.p3-cash-value{font-size:25px}
.p4-overall,.p4-section{padding:22px}
.p4-text{font-size:14px}
.rpt-footer{padding:20px;justify-content:flex-start}
.rpt-footer-right{display:none}
.rpt-nav{justify-content:flex-start}
.report-home-main{padding:22px}
.data-profile-main{padding:20px}
.report-home-identity{padding:22px}
.report-home-status{width:100%}
.report-home-brandbar{flex-wrap:wrap;padding:8px 22px}
.report-home-actions{margin-left:auto}
}

@media print{.tt-demo-banner,.rpt-section-nav{display:none}
.report-page-v2{width:100%;margin:0;box-shadow:none;border:0}
.rpt-content{padding:20px}
.rpt-panel,.p1-kpi,.p4-section{break-inside:avoid}
.chart-value-label{opacity:1}
}


#revenue-trend-chart{overflow-x:auto}
.trend-svg{min-width:550px}
.axis-label{font-size:11px}
@media print{.trend-svg{min-width:0}
}

/* Report identity and reading rhythm, shared by current and frozen snapshots. */
.p1-summary-text{line-height:1.7;max-width:64ch}
.p4-text{line-height:1.7;max-width:75ch;text-wrap:pretty}
.p3-tables:has(> :only-child){grid-template-columns:1fr}

/* Page 2 only: focused financial drivers, then full-width expense evidence. */
.p2-financial-kpis.p2-driver-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.p2-driver-kpis .p2-financial-kpi{text-align:center;padding:20px;background:#fafdfb}
.p2-driver-kpis .p2-labor-label{min-height:0}
.p2-driver-sections.p2-middle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.p2-driver-sections .p2-trend,.p2-driver-sections .p2-expense-list{min-height:0;height:auto}
.p2-driver-sections .p2-expense-list{margin-top:0}
.p2-driver-sections .expense-row{grid-template-columns:minmax(0,1.2fr) minmax(45px,1fr) 85px;margin:12px 0}
.p2-other-expenses{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--tt-line);font-size:12px}
.p2-other-expenses small{display:block;font-weight:400;color:var(--tt-muted);margin-top:4px}
.p2-expense-details summary{font-size:12px;font-weight:700;color:var(--tt-teal);cursor:pointer;padding:10px 0}
@media(max-width:720px){.p2-financial-kpis.p2-driver-kpis{grid-template-columns:1fr}.p2-driver-sections .expense-row{grid-template-columns:minmax(0,1fr) 1fr 85px;gap:8px}.p2-driver-sections .expense-track{display:block}}

/* Targeted P1/P2/P4 reading order; keep the approved P3 geometry unchanged. */
.p1-conclusion{margin-top:24px;width:100%;min-height:0}
.p1-conclusion .p1-summary-text{max-width:none;line-height:1.75}
.p1-conclusion .p1-focus-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.p4-columns{grid-template-columns:minmax(0,1fr);align-items:start}
.p4-text{max-width:none}
.p4-section{min-height:0}
.p2-financial-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.p2-financial-kpi{min-width:0;padding:18px 12px;border:1px solid var(--tt-line);border-radius:12px;background:white}
.p2-financial-label{font-size:12px;font-weight:700;color:var(--tt-navy)}
.p2-financial-value{font-size:25px;line-height:1.3;font-weight:800;letter-spacing:-.025em;margin:8px 0;overflow-wrap:anywhere}
.p2-financial-kpi small{display:block;font-size:10px;line-height:1.5;color:var(--tt-muted)}
.p2-change-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;margin-top:22px;align-items:start}
.p2-change-panel{padding:22px}
.p2-change-panel .rpt-panel-note{line-height:1.5;margin-bottom:12px}
.p2-change-axis{display:flex;justify-content:space-between;margin:0 96px 8px 98px;font-size:10px;color:var(--tt-muted)}
.p2-change-metric+.p2-change-metric{margin-top:12px}
.p2-change-panel:first-child .p2-change-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.p2-change-panel:first-child .p2-change-metric{margin-top:0}
.p2-change-label{font-size:12px;font-weight:700;margin-bottom:6px;color:var(--tt-navy)}
.p2-change-row{display:grid;grid-template-columns:90px minmax(32px,1fr) 90px;gap:8px;align-items:center;min-height:22px;font-size:11px}
.p2-change-period{color:var(--tt-muted)}
.p2-change-value{text-align:right;white-space:nowrap}
.p2-change-track{position:relative;height:12px;background:#edf3ef;border-radius:3px}
.p2-change-track::after{position:absolute;content:"";left:50%;top:-2px;height:16px;width:1px;background:var(--tt-muted)}
.p2-change-bar{position:absolute;top:2px;height:8px;border-radius:2px;background:var(--tt-teal)}
.p2-change-bar.series-year{background:var(--tt-gold-ink)}
@media(max-width:1100px){.p2-financial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.p2-change-grid{grid-template-columns:1fr}}
@media(max-width:720px){.p1-conclusion .p1-focus-list{grid-template-columns:1fr}.p2-financial-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p2-financial-kpi{padding:16px 12px}.p2-financial-value{font-size:24px}.p2-change-panel{padding:18px 12px}.p2-change-row{grid-template-columns:78px minmax(24px,1fr) 80px;gap:6px;font-size:10px}.p2-change-axis{margin-inline:84px 86px}.p2-change-panel:first-child .p2-change-metrics{grid-template-columns:1fr}}


.expense-name{white-space:normal;overflow:visible;text-overflow:unset}
.expense-row{grid-template-columns:minmax(145px,1fr) 1.6fr 80px}
.p3-service-card .service-bar-name{white-space:normal;overflow:visible}
.rpt-nav .rpt-site-link{color:var(--tt-teal);border-color:var(--tt-line)}


/* Readable detail without forcing the audit trail into the initial layer. */
.report-home-copy h1,.data-profile-hero h1{color:white}
.data-profile-panel{padding:24px}
.data-profile-main{padding:30px}
.data-profile-summary span,.data-profile-heading span{font-size:11px}
.data-profile-summary small,.data-profile-heading>small,.data-profile-note,.baseline-box p,.baseline-box small,.tier-step small,.impact-note p{font-size:13px;line-height:1.65}
.data-check-list>div,.field-item{font-size:13px;padding:11px}
.tier-step b,.baseline-box strong,.lineage-row strong{font-size:14px}
.lineage-row span,.lineage-row small{font-size:12px;overflow-wrap:anywhere}
.data-profile-audit summary{font-size:15px;cursor:pointer;padding:10px 0;color:var(--tt-navy);font-weight:650}
.data-profile-heading{flex-wrap:wrap}
.report-home-status b,.identity-mini b{font-size:14px}
.report-home-status span,.identity-mini span,.identity-provider small,.report-home-section-title{font-size:12px}
.report-home-logo{height:76px;width:165px;overflow:hidden}
.report-home-brandbar{height:auto;min-height:112px;gap:16px;padding:6px 30px;position:relative;overflow:visible}
.report-home-hero,.data-profile-hero{padding-top:48px}
.report-home-logo img{object-fit:cover}
.report-home-footer{height:auto;min-height:48px;font-size:12px}

@media(max-width:720px){.p3-cash{grid-template-columns:1fr}
.expense-row{grid-template-columns:1fr}
.data-profile-panel{padding:20px}
.data-profile-main{padding:20px}
.data-profile-hero h1{font-size:28px}
}


.rpt-scroll-note{display:none;font-size:12px;color:var(--tt-muted)}
@media(max-width:720px){.rpt-scroll-note{display:block;margin:8px 0}
}
/* Additive published-report download; approved report layout remains unchanged. */
.report-download-action{margin:0 0 18px}.report-download-action a{white-space:normal;text-align:center}

@media(max-width:900px){.p2-driver-sections.p2-middle{grid-template-columns:1fr}}
