/* v12.0.11: compact financial surfaces, inherited light/dark tokens. */
.ledger-surface{min-width:0}.ledger-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ledger-heading h2,.ledger-heading h3{margin:0}.ledger-heading>span{color:var(--muted);font-size:.875rem}.ledger-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.ledger-tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 12px;border-radius:8px;font-size:.875rem;min-height:44px}.ledger-tabs button[aria-selected=true],.ledger-tabs button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.ledger-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:16px 0}.ledger-kpi{padding:14px;background:var(--surface-soft);border-radius:10px;min-width:0}.ledger-kpi span,.ledger-kpi small{display:block;color:var(--muted);font-size:.875rem;line-height:1.4}.ledger-kpi strong{display:block;margin:6px 0;font-size:1.3rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ledger-table-wrap{overflow:auto;max-width:100%;margin:12px 0}.ledger-table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}.ledger-table th{font-weight:600;color:var(--muted);background:var(--surface-soft)}.ledger-table th,.ledger-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.ledger-table button{margin:2px;min-height:40px}.ledger-dialog{width:min(960px,calc(100vw - 20px));max-height:94dvh;padding:20px;background:var(--card);color:var(--text)}.ledger-dialog form{margin:10px 0}.ledger-dialog input,.ledger-dialog select{width:100%;max-width:100%;min-width:0;font-size:1rem;min-height:44px}.ledger-dialog input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle}.ledger-dialog label{font-size:.875rem;min-width:0}.ledger-dialog h3{margin-top:20px;font-size:1.05rem}.ledger-edit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:12px 0;border-bottom:1px solid var(--line);align-items:end}.ledger-edit-row>button{justify-self:start}.ledger-warning,#ledgerError{color:var(--amber);font-size:.9rem;line-height:1.5}.ledger-parts{display:grid;gap:8px}.ledger-parts label{padding:8px;background:var(--surface-soft);border-radius:8px}.trip-optional{grid-column:1/-1;border-top:1px solid var(--line);padding:10px 0}.trip-optional>summary{cursor:pointer;min-height:36px;font-weight:600;list-style-position:inside}.trip-optional>.form-grid{margin-top:10px}.trip-schedule{display:grid;grid-template-columns:1fr 1fr;gap:16px;grid-column:1/-1}.trip-schedule>section{display:grid;gap:8px;min-width:0}.trip-schedule h4{margin:0}.trip-schedule .trip-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.commercial-trip-footer>span:not(:first-child){display:none}.commercial-trip-card .commercial-route-stop strong{font-size:1rem}.commercial-trip-card .commercial-route{gap:4px}.commercial-trip-card .commercial-trip-stats{padding-block:10px}.ledger-info{color:var(--muted);font-size:.875rem;line-height:1.45}.ledger-more{display:block;margin:12px auto}.ledger-summary-note{margin:8px 0;font-size:.875rem;line-height:1.4;color:var(--muted)}
@media(max-width:600px){.ledger-dialog{padding:12px}.ledger-edit-row{grid-template-columns:1fr 1fr}.ledger-edit-row label:first-child{grid-column:1/-1}.ledger-table th,.ledger-table td{padding:8px}.trip-schedule{gap:12px;grid-template-columns:1fr}.ledger-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-kpi{padding:10px}.ledger-kpi strong{font-size:1.15rem}.ledger-tabs button{flex:1 1 140px}.ledger-dialog .form-grid{grid-template-columns:1fr}.ledger-heading .btn{width:auto}}
.ledger-surface button:not([role=tab]),.ledger-table button{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 12px;border-radius:8px;min-height:44px;cursor:pointer;font:inherit}.ledger-surface button:hover{background:var(--surface-soft)}
@media(max-width:600px){.stage-inline{display:grid!important;grid-template-columns:1fr!important}.trip-schedule{gap:8px!important}.trip-schedule>section{gap:4px}.trip-schedule .trip-optional{padding:6px 0}}

#ledgerDialog{box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto;margin:auto}#ledgerDialog .dialog-title{align-items:flex-start}#ledgerDialog .dialog-title h2{font-size:1.3rem;line-height:1.25;min-width:0}body>aside[data-demo-notice]{grid-column:1/-1}

.mileage-actions.mileage-inline{align-self:end;display:flex;flex-wrap:wrap;gap:8px;margin:0;min-width:0}.mileage-inline>button{min-height:48px}.mileage-inline>span{flex-basis:100%;font-size:12px;line-height:1.4}.route-location-panel{grid-column:1/-1}

.analysis-metric{cursor:pointer;text-align:left;font:inherit;color:inherit;min-height:150px;border:1px solid var(--border,#dbe1ea);background:var(--surface,#fff)}.analysis-metric:hover,.analysis-metric:focus-visible{border-color:#285bc5;outline:2px solid #285bc5;outline-offset:2px}.analysis-metric small{line-height:1.45}.analysis-overview{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.analytics-scope{line-height:1.6}.analysis-metric strong{overflow-wrap:anywhere}#analysisExplanation{max-width:760px;width:calc(100% - 28px);max-height:88dvh;overflow:auto;padding:24px}#analysisExplanation p{line-height:1.65}#analysisExplanation table{font-size:.95rem}@media(max-width:520px){.analysis-overview{grid-template-columns:1fr 1fr;gap:10px}.analysis-metric{padding:14px;min-width:0;min-height:168px}.analysis-metric strong{font-size:1.45rem}}

.analytics-more{margin-top:22px}.analytics-more>summary{font-weight:700;cursor:pointer;padding:14px 0}.analytics-more .ledger-tabs{margin-top:12px}#analysisExplanation{padding:20px!important;box-sizing:border-box!important}#analysisExplanation .dialog-title{display:flex;gap:12px;align-items:start;justify-content:space-between;margin-bottom:16px}#analysisExplanation h2{font-size:1.4rem;margin:0}#analysisExplanation .dialog-title button{flex-shrink:0;padding:10px;font-size:.9rem}
@layer visibility {
 #analysisExplanation{padding:20px!important;box-sizing:border-box!important;width:min(760px,calc(100% - 24px))!important;height:auto!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;margin:auto!important}
 #analysisExplanation .dialog-title{display:flex!important;gap:12px!important;align-items:flex-start!important;justify-content:space-between!important;margin-bottom:16px!important}
 #analysisExplanation h2{font-size:1.3rem!important;line-height:1.3!important;margin:0!important}
}

/* v12.0.18: all record reports share one responsive layout. */
.record-label{display:none}
.ledger-table .record-value{min-width:0;overflow-wrap:break-word;word-break:normal}
.ledger-table .record-value button{white-space:normal;word-break:normal;max-width:100%;overflow-wrap:break-word}
.analysis-empty-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.analysis-empty-actions>button{flex:1 1 220px;min-height:44px}
@layer visibility{
 /* These dialogs own the scrolling surface; nested forms must not become full-screen. */
 dialog.stage-manager-dialog{box-sizing:border-box!important;width:min(960px,calc(100% - 32px))!important;height:auto!important;max-height:calc(100dvh - 32px)!important;padding:24px!important;margin:auto!important;inset:0!important;overflow:auto!important;border:1px solid var(--line)!important;border-radius:18px!important;overscroll-behavior:contain!important;scroll-padding:24px!important}
 dialog.stage-manager-dialog form{height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:16px 0!important}
 dialog.stage-manager-dialog form.form-grid{display:grid!important}
 dialog.stage-manager-dialog .dialog-title{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0 0 20px!important}
 dialog.stage-manager-dialog .dialog-title h2{min-width:0!important;flex:1!important;font-size:22px!important;line-height:1.3!important}
 dialog .dialog-close-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;font-size:28px!important;line-height:1!important;border-radius:12px!important}
 .ledger-table th,.ledger-table td{overflow-wrap:normal!important;word-break:normal!important}
 .ledger-table .record-value{font-variant-numeric:tabular-nums}
 .record-actions .record-value{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
 .ledger-kpi strong,.analysis-metric strong{overflow-wrap:normal!important;word-break:normal!important}
 @media(max-width:1023px){
  .ledger-table,.ledger-table tbody{display:block!important;width:100%!important}
  .ledger-table thead{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important}
  .ledger-table tbody{display:grid!important;gap:12px!important}
  .ledger-table tr{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:16px!important;background:var(--card,#fff)!important}
  .ledger-table td{display:block!important;padding:0!important;border:0!important;min-width:0!important;font-size:15px!important;line-height:1.45!important}
  .ledger-table .record-label{display:block!important;font-size:12px!important;color:var(--muted)!important;line-height:1.4!important;margin-bottom:4px!important}
  .ledger-table .record-actions .record-label{display:none!important}
  .ledger-table .record-value{overflow-wrap:break-word!important}
  .ledger-table button{margin:0!important;min-height:44px!important}
  .ledger-table-wrap:has(tbody:empty){display:none!important}
 }
 @media(min-width:600px) and (max-width:1023px){
  .ledger-table tr{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ledger-table td:first-child,.ledger-table .record-actions{grid-column:1/-1!important}
 }
 @media(max-width:599px){
  dialog.stage-manager-dialog,#analysisExplanation{width:calc(100% - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:16px!important;border-radius:16px!important}
  dialog.stage-manager-dialog .dialog-title h2{font-size:20px!important}
  .ledger-edit-row{grid-template-columns:minmax(0,1fr)!important}
  .ledger-edit-row>*{grid-column:1!important;min-width:0!important}
  .analysis-overview{grid-template-columns:minmax(0,1fr)!important}
  .analysis-metric{min-height:130px!important}
 }
}
@layer visibility{
 .expense-journal-head{flex-wrap:wrap!important;min-width:0!important}
 .expense-category-filters{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;width:100%!important;overflow:visible!important;gap:6px!important}
 .expense-category-filters button{min-width:0!important;white-space:normal!important;overflow-wrap:break-word!important}
 dialog.stage-manager-dialog .dialog-title{position:sticky!important;top:0!important;z-index:20!important;background:var(--card,#fff)!important;padding-bottom:12px!important}
 dialog.stage-manager-dialog .dialog-title h2:focus{outline:none!important}
}

/* Settlement import: overview first, optional editing, safe-area modal. */
#settlementForm>details{border-top:1px solid var(--line);padding:12px 0;margin:0}
#settlementForm summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;line-height:1.4}
#settlementForm>details>.form-grid{margin-top:12px}
.settlement-upload{display:grid;gap:12px}.settlement-upload input[type=file]{margin-top:8px}
#settlementProgress:not([hidden]){display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface-soft);border-radius:10px;margin-top:12px}
.settlement-spinner{flex:0 0 22px;height:22px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:settlement-spin 1s linear infinite}
@keyframes settlement-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.settlement-spinner{animation:none}}
.settlement-overview{padding:16px;background:var(--surface-soft);border-radius:12px;margin:16px 0}
.settlement-overview>p{margin:0 0 12px;line-height:1.45}.settlement-overview dl{margin:0}
.settlement-overview dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0}
.settlement-overview dt{min-width:0;overflow-wrap:anywhere}.settlement-overview dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.settlement-overview .settlement-net{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:1.1rem;font-weight:700}
.settlement-overview .ledger-info{margin:14px 0 0}
.settlement-questions{padding:14px;border:1px solid var(--line);border-radius:12px;margin:16px 0}
.settlement-questions h3{margin-top:0}.settlement-questions>label,.settlement-questions details>label{display:block;margin:12px 0}
.settlement-questions label>span{display:block;margin:4px 0}.settlement-questions select{margin-top:6px}
.settlement-row{border-bottom:1px solid var(--line);padding:6px 0}.settlement-row>summary{display:grid;grid-template-columns:1fr auto;gap:6px 12px}.settlement-row>summary small{grid-column:1/-1;color:var(--muted);font-weight:400}.settlement-row>summary b{white-space:nowrap}
.settlement-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.settlement-confirm{display:block;margin-top:16px;line-height:1.5}.settlement-comparison{padding-left:20px}.settlement-comparison li{margin:12px 0}
@layer visibility{
 dialog#ledgerDialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important;inset:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)!important}
 #settlementForm [hidden]{display:none!important}
 #settlementForm .ledger-info{font-size:.875rem!important}
}

/* Driver home and one-pass statement review. */
.driver-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.driver-quick-actions button{min-height:44px}
#dashboardView .dashboard-grid{grid-template-columns:minmax(0,1fr)}
#dashboardDetails>summary{cursor:pointer;font-weight:650;min-height:44px;align-content:center}
#dashboardDetails .financial-breakdown-panel{border:0;padding:8px 0;margin:0;box-shadow:none}
#dashboardDetails .score-card{margin-top:12px}
#settlementSmartReview .settlement-suggestion{padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:12px}
#settlementSmartReview button{margin:6px 6px 0 0;min-height:44px}
#trackingStartDialog label{display:grid;gap:8px;margin:16px 0}
#ledgerDialog{scroll-padding-top:100px}
@media(max-width:599px){.driver-quick-actions{display:grid;grid-template-columns:1fr 1fr}.driver-quick-actions button:first-child{grid-column:1/-1}#ledgerSummary .ledger-kpis{grid-template-columns:1fr 1fr}}

/* Keep save failures beside the action; only an explicit link moves the viewport. */
#settlementSaveFeedback{border:2px solid #b45309;border-radius:12px;padding:12px;margin:12px 0;background:#fff7ed;color:#78350f}
#settlementSaveFeedback[hidden]{display:none}
#settlementSaveMessage{margin:0 0 8px;font-weight:600}
#settlementSmartReview,#settlementMetadata,#settlementLoads{scroll-margin-top:110px}
#settlementSaved{padding:12px;border:2px solid #15803d;border-radius:12px}

#earlierReceiptQuestion button[aria-pressed="true"]{border:2px solid var(--blue);background:var(--surface-soft);font-weight:700}

/* Cover the dialog padding above and beside a sticky title while content scrolls. */
@layer visibility{
 dialog.stage-manager-dialog .dialog-title::before{content:"";position:absolute;inset:-24px -24px 0;background:var(--card,#fff);z-index:-1;pointer-events:none}
}

/* v39: compact, aligned deduction cards and separated touch controls. */
@layer visibility {
#settlementSmartReview .settlement-accounted{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
#settlementSmartReview .settlement-accounted p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
#settlementSmartReview .settlement-accounted strong{font-variant-numeric:tabular-nums;white-space:nowrap}
#settlementSmartReview .settlement-suggestion{margin:10px 0;padding:14px}
#settlementSmartReview .settlement-suggestion>.btn{margin:5px 8px 5px 0;max-width:100%;white-space:normal}
#settlementCosts>button{display:inline-flex;margin:12px 10px 4px 0;vertical-align:top}
#settlementForm>details{margin-block:8px;padding-block:8px}
@media(max-width:600px){#settlementSmartReview .settlement-suggestion>.btn{display:flex;width:100%;margin:8px 0}#settlementCosts>button{width:100%;margin:8px 0}}
}
@layer visibility {
#settlementDeductions .settlement-row>summary,#settlementAdditions .settlement-row>summary{display:flex!important;align-items:baseline;gap:12px;width:100%;box-sizing:border-box}
#settlementDeductions .settlement-row>summary>span,#settlementAdditions .settlement-row>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
#settlementDeductions .settlement-row>summary>b,#settlementAdditions .settlement-row>summary>b{margin-left:auto;text-align:right;flex:none;font-variant-numeric:tabular-nums}
}

@layer visibility {
#recurringCostsPanel[hidden]{display:none!important}
#recurringCostForm label[hidden]{display:none!important}
#ledgerDialog #ledgerBody,#settlementForm,#settlementSmartReview{min-width:0;max-width:100%;box-sizing:border-box}
#ledgerDialog label,#ledgerDialog .form-grid>*{min-width:0;overflow-wrap:anywhere}
#ledgerDialog select,#ledgerDialog input:not([type=checkbox]){min-width:0;max-width:100%;width:100%;box-sizing:border-box}
}
