/* Clean Finance Pro. Legacy geometry remains as a fallback, not a second UI. */
@layer visibility, finance, legacy;
@import url('styles.css') layer(legacy);
@layer visibility {
  [hidden],.hidden,.settings-section-hidden{display:none!important}
  .file-label input[type=file],.ocr-file-label input[type=file]{display:none!important}
  body[data-workspace-role="viewer"] :is(#quickAddTop,#quickExpenseTop,#quickImportLoadTop,#quickAdd,#addExpense,#importExpenseScreens,#addMaintenance,[data-add-entity],#saveLoadSettings,#clearAll,.maintenance-actions,.expense-card .mini-danger,.entity-card button,#addRecurringCost,#addStartupCost,#addReserveAdjustment,#saveCurrentProfile,#saveFinanceProfile,#startNewOwnerStage,#resumeOwnerStage){display:none!important}
  body.cloud-booting .cf-back-top{display:none!important}
}

:root, :root[data-theme='light'] {
  --bg:#f5f6f8; --card:#fff; --surface:#fff; --surface-soft:#f0f3f7; --soft:#f0f3f7;
  --text:#17212f; --muted:#5e6c7c; --line:#dce2e9; --line-strong:#b5c0ce;
  --blue:#245bce; --blue-soft:#edf3ff; --navy:#245bce; --navy2:#245bce;
  --green:#18724c; --green-soft:#eaf5ef; --red:#b83440; --red-soft:#fbeff0;
  --amber:#8f5a16; --amber-soft:#fcf4e5; --gold:#8f5a16;
  --shadow:0 1px 3px #17212f06; --shadow-hover:0 2px 8px #17212f0a;
  --radius:16px; --control-radius:10px; --sidebar-width:224px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px;
  --app-bg:var(--bg); --app-surface:var(--surface); --app-surface-2:var(--surface-soft);
  --app-text:var(--text); --app-muted:var(--muted); --app-border:var(--line);
  --app-accent:var(--blue); --app-accent-soft:var(--blue-soft); --app-success:var(--green);
  --app-danger:var(--red); --app-warning:var(--amber); --app-shadow:var(--shadow);
  color-scheme:light;
}
:root[data-theme='dark'] {
  --bg:#191e25; --card:#232a33; --surface:#232a33; --surface-soft:#2b3440; --soft:#2b3440;
  --text:#edf1f6; --muted:#adb8c7; --line:#3c4756; --line-strong:#657488;
  --blue:#90b4ff; --blue-soft:#293b59; --navy:#90b4ff; --navy2:#90b4ff;
  --green:#8ac6a4; --green-soft:#273e33; --red:#f1a3aa; --red-soft:#472e35;
  --amber:#e2bd80; --amber-soft:#453a29; --gold:#e2bd80;
  --shadow:0 1px 3px #0002; --shadow-hover:0 2px 8px #0002;
  color-scheme:dark;
}

/* Important declarations in the first layer retire conflicting historical guards. */
@layer finance {
  html,body{margin:0 !important;height:100% !important;background:var(--bg)!important;color:var(--text)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;font-size:15px !important;line-height:1.45 !important;-webkit-text-size-adjust:100% !important}
  body{display:grid!important;grid-template-columns:minmax(0,1fr) !important;grid-template-rows:auto minmax(0,1fr) auto !important;padding:0!important;overflow:hidden !important}
  /* Do not inherit a transient keyboard-sized percentage height in Safari. */
  body{height:100vh!important;height:100dvh!important}
  *,*::before,*::after{box-sizing:border-box !important}
  [hidden],.hidden,.settings-section-hidden{display:none!important}
  button,input,select,textarea{font:inherit !important}
  button{-webkit-text-fill-color:currentColor!important}
  button,a,input,select,textarea{touch-action:manipulation !important}
  button{cursor:pointer !important}
  button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55 !important;cursor:not-allowed !important}
  :focus-visible{outline:3px solid var(--blue)!important;outline-offset:3px!important}
  h1,h2,h3,p{overflow-wrap:break-word !important}
  h1,h2,h3{color:var(--text)!important;letter-spacing:-.025em !important;line-height:1.25 !important}
  .app-header{grid-row:1 !important;grid-column:1 !important;position:relative!important;display:flex!important;align-items:center !important;gap:16px !important;min-height:72px !important;padding:12px 24px!important;background:var(--surface)!important;color:var(--text)!important;border:0 !important;border-bottom:1px solid var(--line) !important;box-shadow:none!important;z-index:20 !important}
  .app-header h1{margin:0 !important;font-size:20px!important;font-weight:750 !important}
  .app-header .brand-kicker{display:none !important}
  .version{display:inline-block !important;margin-left:6px !important;padding:2px 5px !important;background:var(--surface-soft)!important;color:var(--muted)!important;border-radius:4px !important;font-size:10px !important;opacity:1 !important}
  .header-actions{display:flex!important;align-items:center !important;justify-content:flex-end !important;flex-wrap:wrap !important;gap:8px !important;margin-left:auto !important}
  .cloud-status{max-width:150px !important;border:0!important;background:transparent!important;color:var(--muted)!important;padding:4px!important;font-size:12px !important}
  .cloud-status::before{content:'' !important;display:inline-block !important;width:6px !important;height:6px !important;border-radius:50% !important;margin-right:6px !important;background:var(--muted) !important}
  .cloud-status.saved::before{background:var(--green) !important}
  .cloud-status.error{color:var(--red)!important}
  .cloud-status.error::before{background:var(--red) !important}
  .app-shell{grid-column:1 !important;grid-row:2 !important;width:100% !important;height:100% !important;max-width:1600px !important;min-height:0!important;margin:0 auto !important;padding:24px!important;overflow-x:hidden !important;overflow-y:auto !important;overscroll-behavior-y:contain !important;scroll-padding:84px 0 80px !important}
  .view{min-width:0 !important}
  .section-title-row{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;margin:0 0 24px !important}
  .section-title-row h2,.cf-page-title{font-size:28px!important;margin:0!important;font-weight:750 !important}
  .section-kicker{display:block !important;margin-bottom:6px !important;color:var(--muted)!important;font-size:11px !important;font-weight:700 !important;letter-spacing:.1em !important;opacity:1 !important}
  .section-description,.fleet-help,.field-help,.dialog-help,.analytics-list-note,.finance-help{color:var(--muted)!important;font-size:13px !important;line-height:1.5 !important}
  .section-description{margin:6px 0 0 !important}
  .bottom-nav{display:none!important}
  .cf-sidebar{display:none !important}
  .cf-icon{width:21px !important;height:21px !important;flex:0 0 21px !important;stroke:currentColor !important;fill:none !important;stroke-width:1.65 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
  .cf-bottom-nav{grid-column:1 !important;grid-row:3 !important;display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;padding:4px 8px max(8px,env(safe-area-inset-bottom)) !important;border-top:1px solid var(--line) !important;background:var(--surface) !important;z-index:25 !important}
  .cf-bottom-nav button{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:4px !important;border:0 !important;border-radius:10px !important;min-width:0 !important;min-height:54px !important;padding:6px 2px !important;color:var(--muted) !important;background:transparent !important;font-size:11px !important;font-weight:600 !important}
  .cf-bottom-nav button.active{background:var(--blue-soft) !important;color:var(--blue) !important}
  .icon-button.cf-menu-toggle{display:none!important}
  .cf-nav-list{display:grid !important;gap:4px !important}
  .cf-nav-list button{display:flex !important;align-items:center !important;gap:12px !important;width:100% !important;min-height:46px !important;padding:10px 12px !important;border:0 !important;border-radius:10px !important;background:transparent !important;color:var(--muted) !important;text-align:left !important;font-weight:600 !important;font-size:14px !important}
  .cf-nav-list button.active{background:var(--blue-soft) !important;color:var(--blue) !important}
  .cf-nav-list button:hover{background:var(--surface-soft) !important}
  .cf-sidebar-extra{margin-top:16px!important;padding-top:12px!important;border-top:1px solid var(--line)!important}
  .cf-brand{display:flex !important;align-items:center !important;gap:10px !important;padding:8px 8px 32px !important;font-size:16px !important;font-weight:750 !important;line-height:1.3 !important;letter-spacing:-.025em !important}
  .cf-brand-mark{display:grid !important;place-items:center !important;width:36px !important;height:40px !important;border-radius:10px !important;background:var(--blue) !important;color:var(--surface) !important;font-size:14px !important;font-weight:800 !important;letter-spacing:-.04em !important}
  .cf-brand small{display:block !important;color:var(--muted) !important;font-size:10px !important;font-weight:500 !important;letter-spacing:.04em !important;margin-top:4px !important}
  .cf-profile{margin-top:auto !important;padding:20px 12px 0 !important;border-top:1px solid var(--line) !important;display:flex !important;gap:10px !important;align-items:center !important}
  .cf-profile strong,.cf-profile small{display:block !important}
  .cf-profile strong{font-size:13px !important}.cf-profile small{font-size:12px !important;color:var(--muted) !important}
  .cf-profile-badge{display:grid !important;place-items:center !important;width:34px !important;height:34px !important;border-radius:50% !important;background:var(--surface-soft) !important;color:var(--muted) !important}
  body.cloud-booting .cf-sidebar,body.cloud-booting .cf-bottom-nav{visibility:hidden !important}
  .auth-loading{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;color:var(--muted)!important}
  .auth-loading>b{text-align:center!important;font-size:14px!important}
  .cf-loading-skeleton{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
  .cf-loading-skeleton span{display:block!important;height:64px!important;border-radius:10px!important;background:linear-gradient(90deg,var(--surface-soft) 20%,var(--line) 50%,var(--surface-soft) 80%)!important;background-size:200% 100%!important;animation:cf-shimmer 1.8s ease-in-out infinite!important}
  .cf-loading-skeleton span:first-child{grid-column:1/-1!important;height:100px!important}

  /* Components shared by every screen, including generated admin/import forms. */
  .panel,.hero-card,.score-card,.finance-card,.stats-grid article,.expense-summary-grid article,.trip-card,.maintenance-card,.route-row,.week-card,.auth-card,.onboarding-card,.cf-panel{
    background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;background-image:none!important;
  }
  .panel{padding:20px!important;margin:0 0 20px!important;min-width:0 !important}
  .panel-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;margin-bottom:16px !important}
  .panel-head h2,.panel h2{font-size:19px!important;margin:0 !important;font-weight:700 !important}
  .panel-head .section-kicker{font-size:10px !important;margin-bottom:5px !important}
  .panel::before,.panel::after,.hero-card::before,.hero-card::after,.score-card::before,.score-card::after{display:none!important}
  .btn,.icon-button,.mini-danger,.expense-edit,.entity-card button,.fleet-manager-head button,.entity-list-toggle,.calendar-more,.auth-link-button{
    min-height:44px!important;border:1px solid var(--line)!important;border-radius:var(--control-radius)!important;box-shadow:none!important;padding:10px 14px !important;background:var(--surface)!important;color:var(--text)!important;font-weight:650 !important;font-size:14px !important;line-height:1.35 !important;white-space:normal !important;text-decoration:none !important;
  }
  .btn-primary,.btn-wide.btn-primary,.section-title-row .btn-primary,.header-actions .btn-primary{background:var(--blue)!important;color:var(--surface)!important;border-color:var(--blue)!important}
  :root[data-theme=dark] .btn-primary{color:#16243c!important}
  .btn-secondary,.btn-header-secondary,.btn-accountant{background:var(--surface-soft)!important;color:var(--text)!important}
  .btn-danger,.mini-danger{background:var(--red-soft)!important;color:var(--red)!important;border-color:var(--red-soft)!important}
  .icon-button{display:inline-grid !important;place-items:center !important;flex:0 0 44px !important;width:44px!important;height:44px!important;min-width:44px !important;padding:0 !important;font-size:24px !important;line-height:1 !important}
  .btn:hover:not(:disabled){filter:brightness(.96) !important}
  .btn-wide{margin-top:12px !important}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{
    display:block !important;box-sizing:border-box!important;width:100%!important;inline-size:100%!important;min-width:0!important;min-inline-size:0!important;max-width:100%!important;min-height:46px!important;height:auto !important;border:1px solid var(--line-strong)!important;border-radius:10px!important;padding:10px 12px!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:none!important;font:inherit!important;font-size:16px!important;line-height:1.45!important;
  }
  input[type=date],input[type=time],input[type=datetime-local]{height:46px!important;min-height:46px!important;appearance:auto!important;-webkit-appearance:auto!important;-webkit-min-logical-width:0!important}
  input::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:.8 !important}
  select option{background:var(--surface)!important;color:var(--text)!important}
  input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;background:var(--surface)!important}
  input[readonly]{background:var(--surface-soft)!important}
  input[type=checkbox],input[type=radio]{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;accent-color:var(--blue) !important;flex:0 0 22px !important}
  label{min-width:0 !important;max-width:100% !important;font-size:14px!important;font-weight:600!important;color:var(--text) !important}
  label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px!important;cursor:pointer!important}
  .cf-required{color:var(--red)!important;display:inline!important;margin:0!important}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-weight:400!important;-webkit-text-fill-color:currentColor!important}
  .file-label input[type=file]{display:none!important}
  label>span{margin-bottom:8px !important;line-height:1.4 !important}
  .form-grid,.semantic-form-grid,.settings-grid,.finance-settings-grid,.car-hauler-settings,.car-hauler-vehicle-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .wide-field,.form-section-heading,.settings-section-title,.toggle-row,.weekly-total,.form-grid>.route-stops-section,.settings-grid>.btn-wide{grid-column:1/-1!important}
  .form-section-heading{padding:16px 0 0 !important;margin:8px 0 0 !important;border-top:1px solid var(--line) !important;font-size:16px!important}
  .form-section-heading:first-child{border:0 !important;padding-top:0 !important}
  .toggle-row,.privacy-toggle{min-height:44px !important;gap:12px !important}
  .privacy-toggle{display:flex!important;align-items:flex-start!important}
  .privacy-toggle>input{margin-top:3px!important}
  .privacy-toggle>span{min-width:0!important;margin-bottom:0!important}
  .privacy-toggle>span>b{display:block!important;font-size:14px!important;line-height:1.5!important}
  .privacy-toggle>span>small{display:block!important;margin-top:4px!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important;color:var(--muted)!important}
  .delete-retain-toggle{background:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--text)!important}
  .community-privacy-footer{font-size:13px!important;line-height:1.5!important}
  .community-privacy-footer summary{min-height:44px!important;padding:12px 0!important;font-size:14px!important;color:var(--blue)!important}
  .community-privacy-status{color:var(--muted)!important;font-size:13px!important;line-height:1.5!important}
  .positive{color:var(--green)!important}.negative{color:var(--red)!important}
  .trip-preview-card .trip-preview-head>strong[data-cf-sign="positive"]{color:var(--green)!important}
  .trip-preview-card .trip-preview-head>strong[data-cf-sign="negative"]{color:var(--red)!important}
  .empty-state{padding:24px 16px!important;background:transparent!important;color:var(--muted)!important;font-size:14px !important;line-height:1.55 !important;border:0 !important;box-shadow:none!important}
  .empty-state .btn{display:block !important;width:max-content !important;max-width:100% !important;margin:12px auto 0 !important}
  .alert,.load-review-warnings,.ocr-warning,.car-hauler-fit-confirm{background:var(--amber-soft)!important;color:var(--amber)!important;border-color:var(--amber)!important;border-radius:10px!important}
  .load-review-error,.auth-message.error,.export-status.error,.validation-note{color:var(--red)!important;background:var(--red-soft)!important;border-color:var(--red)!important}
  .review-banner,.actual-expense-note,.export-status,.ocr-detail-summary{background:var(--green-soft)!important;color:var(--green)!important;border-color:var(--line)!important}
  .review-banner,.ocr-detail-summary{background:var(--blue-soft)!important;color:var(--text)!important}
  .ocr-progress-track{background:var(--surface-soft)!important}
  .ocr-progress-bar{background:var(--blue)!important}
  .load-decision-grid>span:nth-child(n+6){grid-column:1/-1!important;border-top:1px solid var(--line)!important;padding-top:12px!important}
  .load-decision-grid>span:nth-child(n+6)>b{font-size:13px!important;font-weight:400!important;line-height:1.5!important}
  .trip-preview,.trip-preview-card,.trip-preview-metric,.review-car-hauler-summary,.review-cargo-row,.route-stop-row,.car-hauler-fields,.car-hauler-vehicle,.service-ocr-box,.ocr-result-card,.maintenance-detail-summary>div,.finance-summary>div,.reserve-ledger-summary article,.entity-card,.member-card,.admin-user-card,.cloud-account-row>div,.announcement-card,.onboarding-choice-list label,.finance-list-card,.cf-detail-grid>div{
    background:var(--surface-soft)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:none!important;border-radius:10px!important;
  }
  .trip-preview-card strong,.load-decision,.load-decision-grid,.trip-preview-card b,.cloud-account-row strong,.admin-summary-grid strong,.commercial-gross strong,.commercial-route-stop strong,.expense-amount,.entity-card strong,.finance-list-card strong,.member-card strong{color:var(--text)!important}
  .trip-preview-note,.trip-preview-metric span,.car-hauler-safety-note,.route-stops-head small,.telegram-setup-steps,.community-privacy-footer,.commercial-trip-footer,.card-meta span,.route-sub,.entity-card small,.finance-list-card small,.cloud-account-row span,.admin-user-meta{color:var(--muted)!important}
  .finance-summary span,.reserve-ledger-summary span{color:var(--muted)!important}
  .finance-summary b:not(.positive):not(.negative){color:var(--text)!important}
  .car-hauler-safety-note,.ai-disclosure,.route-privacy-note,.ocr-detail-field,.maintenance-details-text{background:var(--surface-soft)!important;color:var(--muted)!important;border-color:var(--line)!important}
  .ocr-upload-box{background:var(--surface-soft)!important;color:var(--text)!important;border-color:var(--line)!important;border-radius:12px!important;padding:16px!important}
  .ocr-upload-box p{color:var(--muted)!important;font-size:13px!important;line-height:1.5!important}
  .ocr-result-grid{grid-template-columns:minmax(170px,1fr) minmax(0,2fr) minmax(140px,1fr)!important;gap:12px!important}
  .cf-ocr-field{align-content:start!important}
  .cf-ocr-field>span{margin-bottom:0!important}
  @media(max-width:700px){.ocr-result-grid{grid-template-columns:minmax(0,1fr)!important}}
  .calendar-controls,.analytics-attention-list>button,.analytics-insight-card,.settings-location-grid article,
  .admin-summary-grid article,.integration-status-row,.admin-feature-toggle,.announcement-composer,
  .announcement-push-toggle,.car-hauler-check,.create-choice-card,.driver-summary-card{
    background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:none!important;
  }
  .weekly-total,.plan-actual-summary article,.telegram-status-row>div,.route-stops-section,
  .rate-breakdown,.trip-preview-head,.trip-preview-note,.expense-week-preview,.onboarding-note,
  .telegram-privacy-note,.trip-stop-count,.load-decision,.preview-decision{
    background:var(--surface-soft)!important;color:var(--text)!important;border-color:var(--line)!important;
  }
  .create-choice-card strong,.trip-preview-head strong,.driver-summary-card strong{color:var(--text)!important}
  .create-choice-card span,.driver-summary-label span,.driver-summary-label small{color:var(--muted)!important}
  .preview-decision.good,.load-decision.good{background:var(--green-soft)!important;color:var(--green)!important}
  .preview-decision.warn,.load-decision.warn{background:var(--amber-soft)!important;color:var(--amber)!important}
  .preview-decision.bad,.load-decision.bad{background:var(--red-soft)!important;color:var(--red)!important}
  .toolbar{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .commercial-trip-head{padding:0!important}
  .commercial-trip-stats{background:transparent!important;border-bottom:0!important;margin-left:0!important}
  .commercial-trip-footer{padding:10px 0 0!important}
  .score-card{text-align:left!important}

  /* Period and context stay together. Only this compact row is sticky. */
  .cf-period-bar{position:sticky !important;top:-24px !important;z-index:12 !important;display:flex !important;align-items:center !important;justify-content:space-between !important;flex-wrap:wrap !important;gap:8px 16px !important;margin:0 -4px 20px !important;padding:8px 4px !important;background:var(--bg) !important;border-bottom:1px solid var(--line) !important}
  .period-control{display:grid !important;grid-template-columns:44px minmax(0,1fr) 44px !important;align-items:center !important;gap:4px !important;width:min(440px,100%) !important;max-width:none !important;margin:0!important}
  .period-arrow{width:44px!important;height:44px!important;min-height:44px !important;border-radius:10px!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:20px !important}
  .period-tabs{display:flex !important;gap:0 !important;padding:3px !important;margin:0!important;background:var(--surface-soft)!important;border-radius:10px !important;overflow:visible!important}
  .period-tabs button{flex:1 !important;min-width:0 !important;min-height:44px !important;padding:6px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;font-size:13px !important;font-weight:600 !important;box-shadow:none!important;white-space:nowrap !important}
  .period-tabs button.active{background:var(--surface)!important;color:var(--blue)!important;box-shadow:var(--shadow)!important}
  .period-range-label{margin:0!important;color:var(--muted)!important;text-align:left !important;font-size:13px !important;font-weight:600 !important;white-space:nowrap !important}
  .toolbar{display:grid !important;grid-template-columns:minmax(0,1fr) 230px !important;gap:12px !important;margin-bottom:16px !important}
  .expense-category-filters,.settings-section-nav,.cf-tabs,.cf-chart-periods{display:flex!important;gap:4px !important;padding:4px!important;background:var(--surface-soft)!important;border:0 !important;border-radius:10px!important;overflow-x:auto !important;max-width:100% !important;scrollbar-width:thin !important}
  .expense-category-filters button,.settings-section-nav button,.cf-tabs button,.cf-chart-periods button{position:static!important;flex:0 0 auto !important;min-height:44px !important;min-width:44px !important;padding:8px 12px!important;border:0!important;border-radius:8px!important;color:var(--muted)!important;background:transparent!important;font-size:13px!important;font-weight:600 !important;box-shadow:none!important}
  .expense-category-filters button.active,.settings-section-nav button.active,.cf-tabs button.active,.cf-chart-periods button.active{background:var(--surface)!important;color:var(--blue)!important;box-shadow:var(--shadow)!important}
  .expense-category-filters::before,.expense-category-filters::after{display:none!important}
  .settings-section-nav{position:static!important;margin:0 0 20px !important;flex-wrap:wrap !important;overflow:visible !important}
  .cf-tabs{margin-bottom:20px !important;flex-wrap:wrap !important}

  /* Dashboard hierarchy: net -> 4 KPIs -> chart/breakdown -> loads -> detail. */
  .cf-dashboard-header{display:flex !important;align-items:center !important;justify-content:space-between !important;margin:0 0 20px !important}
  .cf-dashboard-header p{margin:4px 0 0 !important;color:var(--muted) !important;font-size:13px !important}
  .dashboard-grid{display:grid !important;grid-template-columns:minmax(0,2.5fr) minmax(200px,1fr) !important;gap:16px !important;margin-bottom:16px !important}
  .hero-card{padding:24px!important;min-height:180px !important;overflow:visible !important}
  .hero-label{font-size:13px!important;font-weight:650 !important;letter-spacing:.045em !important;color:var(--muted)!important;text-transform:uppercase !important}
  .hero-value{font-size:clamp(40px,4.5vw,56px)!important;line-height:1.1 !important;letter-spacing:-.055em !important;font-weight:750 !important;margin:12px 0!important;font-variant-numeric:tabular-nums !important;overflow-wrap:anywhere !important}
  .hero-meta{display:flex !important;justify-content:space-between !important;gap:12px !important;color:var(--muted)!important;opacity:1 !important;font-size:13px !important}
  #heroPerMile{color:var(--text) !important;font-size:16px !important;font-weight:650 !important}
  .score-card{padding:24px!important;min-height:0 !important;display:grid !important;grid-template-columns:auto 1fr !important;gap:8px 16px !important;align-content:center !important;align-items:center !important}
  .score-title{grid-column:1/-1 !important;color:var(--muted)!important;font-size:13px !important}
  .score-value{display:grid !important;place-items:center !important;width:64px !important;height:64px !important;margin:4px 0!important;background:var(--green-soft) !important;border-radius:14px !important;font-size:34px !important;font-weight:700 !important}
  .score-text{font-size:13px !important;line-height:1.5 !important;color:var(--muted)!important}
  .score-value[data-grade=C]{background:var(--amber-soft) !important;color:var(--amber)!important}
  .score-value[data-grade=D]{background:var(--red-soft) !important;color:var(--red)!important}
  .score-value[data-grade='—']{background:var(--surface-soft) !important;color:var(--muted)!important}
  .cf-kpi-row{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;margin-bottom:20px !important}
  .finance-card{padding:16px!important;min-width:0 !important}
  .finance-card span{font-size:12px !important;line-height:1.4 !important;color:var(--muted)!important}
  .finance-card strong{font-size:25px!important;line-height:1.2 !important;letter-spacing:-.035em !important;font-weight:700 !important;margin:10px 0 6px !important;font-variant-numeric:tabular-nums !important;overflow-wrap:anywhere !important;color:var(--text)!important}
  .finance-card strong.positive{color:var(--green)!important}
  .finance-card strong.negative{color:var(--red)!important}
  .finance-card small{font-size:12px !important;line-height:1.4 !important;color:var(--muted)!important}
  .financial-breakdown-panel{margin-bottom:20px!important}
  .financial-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;background:transparent!important;border:0!important;box-shadow:none!important}
  .financial-grid .finance-card{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;border-bottom:1px solid var(--line)!important;padding:16px 12px!important}
  .financial-grid .finance-card strong{font-size:20px!important;margin:8px 0 !important}
  .cf-chart-row{display:grid !important;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) !important;gap:20px !important}
  .cf-chart-row .panel{min-width:0 !important}
  .cf-chart-periods{width:max-content !important;margin:0 0 12px !important;max-width:100% !important}
  .cf-chart-periods button{min-height:44px !important;font-size:12px!important;padding:6px 8px!important}
  .cf-chart-legend{display:flex !important;gap:12px !important;flex-wrap:wrap !important;font-size:11px !important;color:var(--muted) !important;margin:12px 0 0 !important}
  .cf-chart-legend span{display:inline-flex !important;align-items:center !important;gap:5px !important}
  .cf-chart-dot{display:inline-block !important;width:8px !important;height:8px !important;border-radius:3px !important;background:var(--blue) !important}
  .cf-chart-dot.operating{background:var(--muted) !important}.cf-chart-dot.net{background:var(--green) !important}
  .expense-bars{gap:12px !important}
  .expense-row{display:grid !important;grid-template-columns:minmax(70px,1fr) minmax(40px,.7fr) minmax(76px,auto) !important;gap:8px !important;align-items:center !important}
  .expense-row>span{font-size:12px !important;color:var(--muted) !important}
  .expense-row b{font-size:13px !important;font-weight:650 !important;white-space:nowrap !important;text-align:right !important;font-variant-numeric:tabular-nums !important}
  .expense-row b small{display:block !important;font-size:11px !important;font-weight:400 !important;color:var(--muted) !important}
  .bar-track{height:6px !important;border-radius:3px !important;background:var(--surface-soft)!important}
  .bar-fill{height:100% !important;border-radius:3px !important;background:var(--blue)!important;opacity:.7 !important}
  .cf-summary-details>summary{cursor:pointer !important;font-size:16px !important;font-weight:650 !important;min-height:44px !important;display:flex !important;align-items:center !important;justify-content:space-between !important}
  .cf-summary-details>summary::after{content:'+' !important;font-size:22px !important;color:var(--muted) !important}
  .cf-summary-details[open]>summary::after{content:'−' !important}
  .cf-summary-details .panel{margin:12px 0 0!important}

  /* Compact lists: one working object per row, not a large promotional tile. */
  .trip-cards{display:grid !important;grid-template-columns:1fr !important;gap:12px !important}
  .commercial-trip-card{padding:16px!important;overflow:hidden !important;transition:border-color .15s !important}
  .commercial-trip-card:hover{border-color:var(--line-strong)!important}
  .trip-profit-rail{display:none!important}
  .commercial-trip-head{display:flex !important;justify-content:space-between !important;align-items:start !important;gap:16px !important}
  .commercial-route{min-width:0 !important;display:grid !important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;gap:6px 10px !important;align-items:center !important}
  .trip-date-label{grid-column:1/3 !important;font-size:11px !important;color:var(--muted) !important}
  .trip-status{grid-column:3 !important;justify-self:end !important;min-height:0 !important;padding:3px 7px!important;border-radius:5px!important;font-size:10px !important;font-weight:650 !important;white-space:normal !important;background:var(--surface-soft)!important;color:var(--muted)!important;box-shadow:none!important}
  .trip-status.status-booked{background:var(--blue-soft)!important;color:var(--blue)!important}
  .trip-status.status-cancelled{background:var(--red-soft)!important;color:var(--red)!important}
  .trip-card-identifiers{grid-column:1/-1 !important;display:flex !important;align-items:baseline !important;gap:8px !important;flex-wrap:wrap !important;margin:2px 0 !important}
  .trip-card-identifiers strong{font-size:13px !important;color:var(--text) !important}
  .trip-card-identifiers span{font-size:11px !important;color:var(--muted) !important}
  .commercial-route-stop strong{font-size:15px!important;line-height:1.4 !important;font-weight:650 !important;-webkit-line-clamp:unset !important;display:block !important;overflow-wrap:anywhere !important}
  .commercial-route-stop small{font-size:11px !important;color:var(--muted) !important}
  .route-arrow{font-size:16px !important;color:var(--muted) !important}
  .commercial-gross{min-width:104px !important;text-align:right !important;background:transparent!important;padding:0!important;border:0!important}
  .commercial-gross span{font-size:11px !important;color:var(--muted) !important}
  .commercial-gross strong{display:block !important;font-size:22px!important;line-height:1.4 !important;letter-spacing:-.025em !important;white-space:nowrap !important}
  .commercial-gross small{font-size:12px !important;color:var(--muted) !important}
  .commercial-trip-stats{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;margin-top:12px !important;padding-top:12px !important;border-top:1px solid var(--line) !important}
  .commercial-trip-stats>div{display:block !important;min-width:0 !important;padding:0!important;background:transparent!important;border:0!important;grid-column:auto!important}
  .commercial-trip-stats span{display:block !important;font-size:11px !important;color:var(--muted) !important}
  .commercial-trip-stats b{font-size:15px !important;line-height:1.5 !important}
  .commercial-trip-stats small{margin-left:4px !important;font-size:11px !important;color:var(--muted) !important}
  .commercial-trip-footer{display:flex !important;gap:6px 12px !important;flex-wrap:wrap !important;margin-top:12px !important;padding-top:10px !important;font-size:11px !important;border-top:1px solid var(--line) !important}
  .commercial-trip-footer b{margin-left:auto !important;color:var(--blue) !important}
  .expense-entry{display:grid !important;grid-template-columns:90px minmax(0,1fr) minmax(80px,auto) 44px !important;gap:12px !important;padding:14px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:12px!important;border-left-width:1px!important}
  .expense-kind{font-size:13px!important}.expense-meta{font-size:12px!important;color:var(--muted)!important}
  .expense-amount{font-size:18px!important;white-space:nowrap !important}
  .expense-edit{width:44px !important;height:44px !important;padding:4px !important}
  .stats-grid,.analytics-summary-grid,.expense-summary-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;margin:0 0 20px !important}
  .analytics-summary-grid,.expense-summary-grid{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .stats-grid article{padding:16px!important}
  .stats-grid strong{font-size:25px!important;color:var(--text) !important;font-variant-numeric:tabular-nums !important;overflow-wrap:anywhere !important}
  .stats-grid span,.stats-grid small{color:var(--muted)!important;font-size:12px !important}
  .analytics-insight-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
  .analytics-insight{padding:16px !important;background:var(--surface-soft)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:12px !important}
  .analytics-trend-track{background:var(--surface-soft)!important}.analytics-trend-item>span,.analytics-trend-item>strong{color:var(--muted)!important}
  .route-row{padding:14px!important}.route-sub{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .route-sub b{color:var(--text)!important}.route-main b{overflow-wrap:anywhere !important}
  .cf-analysis-content{min-height:280px !important}
  .cf-detail-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
  .cf-detail-grid>div{padding:20px !important}
  .cf-detail-grid span,.cf-detail-grid small{display:block !important;color:var(--muted) !important;font-size:13px !important}
  .cf-detail-grid strong{display:block !important;margin:8px 0 !important;font-size:28px !important;letter-spacing:-.03em !important;font-variant-numeric:tabular-nums !important}
  .calendar-controls{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important}
  .calendar-board{background:transparent!important;border:0!important;box-shadow:none!important}
  .calendar-weekdays{background:var(--line)!important;border:1px solid var(--line)!important;border-radius:10px!important;margin-bottom:8px!important;overflow:hidden!important}
  .calendar-grid{display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:8px !important}
  .calendar-cell{min-width:0 !important;min-height:100px !important;padding:8px !important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important}
  .calendar-head{font-size:12px !important;color:var(--muted)!important;background:var(--surface)!important;padding:8px 0 !important}
  .calendar-cell .day{display:inline-grid !important;place-items:center !important;width:26px !important;height:26px !important;font-size:13px !important;font-weight:650 !important}
  .calendar-cell.today{border-color:var(--blue)!important}.calendar-cell.today .day{color:var(--blue)!important;background:var(--blue-soft) !important;border-radius:6px !important}
  .calendar-trip{background:var(--blue-soft)!important;color:var(--blue)!important;font-size:12px !important;min-height:44px !important;padding:8px !important;border-radius:6px !important}
  .calendar-more{min-width:28px !important;padding:4px !important;font-size:11px !important;width:100% !important}
  .maintenance-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important}
  .maintenance-card{padding:20px!important}
  .maintenance-card .due{color:var(--muted)!important}.maintenance-card h3{font-size:18px !important}
  .maintenance-card .service-card-summary{white-space:normal !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important}
  .maintenance-actions{margin-top:16px !important;gap:8px !important}
  .service-card-count{background:var(--surface-soft)!important;color:var(--muted)!important;border-radius:6px!important}
  .fleet-management-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
  .fleet-manager{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .fleet-manager-head{gap:8px !important;align-items:center !important;padding-bottom:12px !important;border-bottom:1px solid var(--line) !important}
  .fleet-manager-head h3{font-size:16px !important}
  .entity-count{background:var(--surface-soft)!important;color:var(--muted)!important}
  .entity-card{padding:12px!important;gap:8px !important}
  .entity-card strong{font-size:13px !important}.entity-card small{font-size:12px !important;line-height:1.45 !important}
  .entity-card button{font-size:12px !important;padding:8px !important}
  .finance-list-card{width:100% !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;padding:14px!important;text-align:left !important}
  .finance-list-card em{font-size:11px!important;color:var(--muted)!important;background:var(--surface)!important;border-color:var(--line)!important}
  .admin-user-card{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:16px!important}
  .admin-user-main,.admin-user-meta,.admin-user-actions{grid-column:1/-1!important;min-width:0!important}
  .admin-user-meta{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px 16px!important}
  .admin-user-meta b{color:var(--text)!important;font-weight:600!important}
  .admin-user-actions{margin-top:4px!important;justify-content:flex-start!important}
  .admin-user-state.confirmed{background:var(--green-soft)!important;color:var(--green)!important}
  .admin-user-state.pending{background:var(--amber-soft)!important;color:var(--amber)!important}
  .finance-summary,.reserve-ledger-summary{gap:12px!important}
  .finance-summary>div,.reserve-ledger-summary article{padding:14px!important}
  .auth-gate,.onboarding-gate{background:var(--bg)!important}
  .auth-card,.onboarding-card{padding:28px!important}
  .auth-brand-mark{width:44px !important;height:44px !important;border-radius:12px !important;background:var(--blue)!important;color:var(--surface)!important}
  .auth-description,.onboarding-card p{color:var(--muted)!important}
  .auth-mode-tabs{background:var(--surface-soft)!important;box-shadow:none!important}
  .auth-mode-tabs button{background:transparent!important;color:var(--muted)!important}
  .auth-mode-tabs button.active{background:var(--surface)!important;color:var(--blue)!important}
  .onboarding-choice-list strong{color:var(--text)!important}
  .onboarding-choice-list small{color:var(--muted)!important}
  .auth-loading{position:relative !important;padding:16px !important;background:var(--surface-soft) !important;color:var(--muted)!important;border-radius:10px !important}
  .auth-loading::after{content:'' !important;display:block !important;position:absolute !important;inset:0 !important;border-radius:inherit !important;background:linear-gradient(90deg,transparent,#8291a212,transparent) !important;background-size:200% 100% !important;animation:cf-shimmer 1.8s linear infinite !important;pointer-events:none !important}
  .cancelled-load-toggle{display:flex!important;align-items:flex-start!important;gap:12px!important;background:var(--surface-soft)!important;border-color:var(--line)!important;padding:12px 14px!important}
  .cancelled-load-toggle b{color:var(--text)!important}
  .cancelled-load-toggle:has(input:checked){background:var(--red-soft)!important;border-color:var(--red)!important}
  .cancelled-load-toggle:has(input:checked) b{color:var(--red)!important}
  .cancelled-load-toggle input{flex:0 0 20px!important;margin:2px 0 0!important}

  /* One scrolling surface per form. Textareas can always be scrolled by touch. */
  dialog{width:min(840px,calc(100% - 48px))!important;max-width:none!important;max-height:calc(100dvh - 48px)!important;padding:0!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:0 24px 64px #0003!important;overflow:hidden!important}
  dialog::backdrop{background:#0e16267a !important;backdrop-filter:none!important}
  .app-question-dialog{width:min(520px,calc(100% - 48px))!important}
  dialog form{display:block!important;max-height:calc(100dvh - 50px)!important;padding:24px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain !important;-webkit-overflow-scrolling:touch !important;scroll-padding:92px 0 24px !important}
  dialog .dialog-head{position:sticky!important;top:-24px!important;z-index:15 !important;margin:-24px -24px 20px!important;padding:20px 24px 16px!important;background:var(--surface)!important;box-shadow:none!important;border-bottom:1px solid var(--line)!important;gap:12px !important}
  dialog h2{font-size:22px!important;margin:0 !important}
  #expenseDialog .expense-form-fields{overflow:visible!important;max-height:none!important;padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  #expenseDialog .expense-form-fields label:has(textarea){grid-column:1/-1!important}
  #expenseDialog .expense-form-fields label{overflow:visible!important}
  textarea,.form-grid textarea,.settings-grid textarea{min-height:112px!important;height:auto !important;max-height:none !important;overflow-x:hidden!important;overflow-y:auto!important;resize:vertical !important;white-space:pre-wrap !important;overflow-wrap:anywhere !important;touch-action:pan-y !important;overscroll-behavior-y:auto !important;-webkit-overflow-scrolling:touch !important;scrollbar-width:auto !important;scrollbar-gutter:stable !important}
  textarea.cf-expanded{resize:none !important;overflow-y:hidden!important}
  .cf-text-tools{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:8px !important;margin:4px 0 0 !important;color:var(--muted) !important;font-size:11px !important;font-weight:400 !important}
  .cf-text-tools button{min-height:44px !important;max-width:100% !important;padding:8px 0 8px 12px !important;border:0 !important;background:transparent !important;color:var(--blue) !important;font-size:12px !important;font-weight:600 !important}
  .cf-more-dialog{width:min(500px,calc(100% - 32px))!important}
  .cf-more-dialog form{padding-bottom:24px!important}
  .cf-more-dialog .cf-nav-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .cf-more-dialog .cf-nav-list button{background:var(--surface-soft) !important;min-height:64px !important}
  #cfAppearance .section-description{margin:8px 0 16px!important}
  .cf-appearance-options{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important}
  .cf-appearance-options button{min-height:80px !important;padding:12px !important;border:1px solid var(--line-strong) !important;border-radius:12px !important;background:var(--surface) !important;color:var(--text) !important;display:grid !important;justify-items:center !important;gap:8px !important;font-size:13px !important;font-weight:600 !important}
  .cf-appearance-options button[aria-pressed=true]{border:2px solid var(--blue) !important;background:var(--blue-soft) !important;color:var(--blue) !important}
  .cf-back-top{position:fixed !important;right:24px !important;bottom:calc(90px + env(safe-area-inset-bottom)) !important;z-index:22 !important;display:flex !important;align-items:center !important;gap:6px !important;min-height:44px !important;padding:8px 12px !important;border:1px solid var(--line-strong) !important;border-radius:10px !important;background:var(--surface) !important;color:var(--text) !important;box-shadow:var(--shadow-hover) !important;font-size:13px !important}
  body:has(dialog[open]) .cf-back-top,body.cf-keyboard .cf-back-top{display:none!important}
  .app-toast{bottom:calc(88px + env(safe-area-inset-bottom)) !important;background:var(--text)!important;color:var(--surface)!important;max-width:min(600px,calc(100% - 32px)) !important;box-shadow:var(--shadow) !important;font-size:14px !important;border-radius:10px !important}
  .app-toast[data-tone=error]{background:var(--red-soft)!important;color:var(--red)!important;border-color:var(--red)!important}
  .cf-screen-reader{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}

  @media(min-width:768px){
    body{grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}
    .cf-sidebar{grid-column:1 !important;grid-row:1/3 !important;display:flex !important;flex-direction:column !important;gap:0 !important;padding:24px 16px !important;background:var(--surface) !important;border-right:1px solid var(--line) !important;overflow-y:auto !important}
    .app-header,.app-shell{grid-column:2 !important}.cf-bottom-nav{display:none!important}
    .cf-back-top{bottom:24px !important}.app-toast{bottom:24px !important}
    .cf-profile{margin-top:auto !important;padding-top:24px !important}
    #tripCards .commercial-trip-card{display:grid !important;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr) !important;gap:0 20px !important}
    #tripCards .commercial-trip-stats{border:0 !important;margin:0 !important;padding:0 !important;align-content:center !important;gap:12px !important}
    #tripCards .commercial-trip-footer{grid-column:1/-1 !important}
  }
  @media(min-width:1400px){:root{--sidebar-width:236px !important}.app-shell{padding:32px!important}.cf-period-bar{top:-32px !important}.cf-chart-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) !important}.financial-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}}
  @media(min-width:700px) and (max-width:767px){
    .icon-button.cf-menu-toggle{display:inline-grid!important}.cf-bottom-nav{display:none!important}
    .app-shell{grid-row:2 !important}.cf-back-top{bottom:24px !important}
    .cf-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
    .cf-chart-row{grid-template-columns:1fr !important}.cf-chart-row .expense-bars{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px 24px !important}
    .fleet-management-grid{grid-template-columns:1fr !important}
  }
  @media(max-width:699px){
    #expenseDialog .expense-form-fields{grid-template-columns:1fr!important}
    .admin-user-meta{grid-template-columns:1fr!important}
    .app-header{min-height:60px !important;padding:8px 16px!important;gap:8px !important}
    .app-header h1{font-size:16px!important;line-height:1.2 !important}.app-header .version{display:table !important;margin:3px 0 0 !important;white-space:nowrap !important}
    .header-actions{gap:6px !important}.header-actions .cloud-status{display:block !important;max-width:105px;white-space:normal;font-size:10px!important;line-height:1.2}.header-actions .btn-header-secondary{display:none!important}
    .header-actions .btn{padding:9px 12px !important;font-size:13px !important}
    .app-shell{padding:16px!important;scroll-padding-top:94px !important}
    .section-title-row{gap:12px !important;align-items:flex-start !important;margin-bottom:20px !important}
    .section-title-row h2,.cf-page-title{font-size:25px!important}.section-title-row .btn{font-size:12px !important;padding:9px 10px !important}
    .section-title-row .trip-page-actions{display:flex !important;flex-wrap:wrap !important;gap:6px !important;justify-content:flex-end !important}
    .section-title-row .language-picker{max-width:120px !important}.language-picker>span{display:none !important}
    .panel{padding:16px!important;margin-bottom:16px!important}.panel-head{gap:10px !important;flex-wrap:wrap !important}
    .panel-head h2,.panel h2{font-size:18px!important}
    .cf-period-bar{top:-16px !important;display:block !important;padding:6px 0 8px !important;margin-bottom:16px !important}
    .period-control{width:100% !important;grid-template-columns:44px minmax(0,1fr) 44px !important;gap:0 !important}
    .period-arrow{width:44px!important;height:44px!important}.period-tabs button{padding:7px 5px!important;font-size:12px !important;min-height:44px !important}
    .period-range-label{display:block !important;text-align:center !important;font-size:11px !important;padding-top:3px !important}
    .dashboard-grid{grid-template-columns:1fr !important;gap:12px !important;margin-bottom:12px !important}
    .hero-card{padding:20px!important;min-height:170px !important}.hero-value{font-size:44px!important}
    .score-card{padding:12px 16px!important;display:flex !important;flex-direction:row!important;align-items:center !important;gap:12px !important;flex-wrap:wrap !important}
    .score-title{font-size:12px !important;flex:1 !important}.score-value{width:36px !important;height:36px !important;border-radius:8px !important;font-size:23px !important;margin:0!important}.score-text{font-size:11px !important;max-width:45% !important}
    .cf-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;margin-bottom:16px !important}
    .finance-card{padding:14px!important}.finance-card strong{font-size:23px!important}.finance-card span{font-size:11px !important}.finance-card small{font-size:11px !important}
    .financial-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.financial-grid .finance-card{padding:14px 8px!important}
    .cf-chart-row{display:block !important}.cf-chart-periods{width:100% !important}.cf-chart-periods button{flex:1 !important;min-width:0 !important;font-size:11px!important;padding:7px 5px!important}
    .toolbar{grid-template-columns:1fr !important;gap:8px !important}
    .commercial-trip-head{display:block !important}.commercial-gross{margin:12px 0 0 !important;display:flex !important;align-items:baseline !important;gap:8px !important;text-align:left !important}
    .commercial-gross strong{font-size:21px!important}.commercial-gross small{margin-left:auto !important}
    .commercial-route{gap:6px 8px !important}.commercial-route-stop strong{font-size:14px!important}
    .commercial-trip-stats{gap:8px !important}.commercial-trip-stats b{font-size:14px !important}.commercial-trip-stats small{display:block !important;margin:0 !important}
    .commercial-trip-footer{gap:4px 8px !important}.commercial-trip-footer span{font-size:10px !important}
    .stats-grid,.analytics-summary-grid,.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px !important}
    .stats-grid article{padding:14px!important}.stats-grid strong{font-size:24px!important}.stats-grid span{font-size:11px !important}
    .analytics-insight-grid,.cf-detail-grid{grid-template-columns:1fr !important}
    .expense-journal-head{display:block !important}.expense-category-filters{margin-top:12px !important;width:100% !important}.expense-category-filters button{flex:1 !important;min-width:0 !important;padding:8px 6px!important;font-size:12px!important}
    .expense-entry{grid-template-columns:minmax(0,1fr) auto 44px !important;gap:6px 10px !important;padding:12px!important}.expense-entry>div:first-child{grid-column:1 !important;grid-row:1 !important}.expense-entry>div:nth-child(2){grid-column:1 !important;grid-row:2 !important}.expense-entry .expense-amount{grid-column:2 !important;grid-row:1/3 !important}.expense-edit{grid-column:3 !important;grid-row:1/3 !important}.expense-amount{font-size:17px!important}
    #calendarWeekdays{display:none!important}
    .calendar-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
    .calendar-cell{position:relative!important;padding:8px 12px 8px 60px!important;min-height:60px!important;border-radius:10px!important}
    .calendar-cell-empty{display:none!important}
    .calendar-cell .day{position:absolute!important;left:12px!important;top:10px!important;display:block!important;width:32px!important;height:auto!important;font-size:18px!important;text-align:center!important}
    .calendar-cell .day::after{content:attr(data-cf-weekday)!important;display:block!important;font-size:11px!important;font-weight:400!important;color:var(--muted)!important}
    .calendar-cell:not(:has(button))::after{content:'—'!important;display:block!important;padding:10px 0!important;color:var(--muted)!important}
    .calendar-trip,.calendar-more{display:block!important;width:100%!important;min-height:44px!important;margin:0 0 4px!important;padding:10px 12px!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.45!important}
    .calendar-trip{font-size:0!important}
    .calendar-trip::before{content:attr(data-cf-calendar-label)!important;font-size:13px!important}
    .calendar-more{font-size:13px!important}
    .maintenance-list,.fleet-management-grid{grid-template-columns:1fr !important}.maintenance-card{padding:16px!important}
    .form-grid,.semantic-form-grid,.settings-grid,.finance-settings-grid,.car-hauler-settings,.car-hauler-vehicle-grid,.review-cargo-row{grid-template-columns:minmax(0,1fr)!important}
    .wide-field,.form-section-heading,.settings-section-title,.toggle-row,.weekly-total,.settings-grid>.btn-wide{grid-column:1!important}
    dialog{width:100%!important;height:100dvh!important;max-height:100dvh!important;max-width:100%!important;margin:0!important;inset:0 !important;border:0!important;border-radius:0!important}
    dialog form{height:100% !important;max-height:100dvh!important;padding:20px 16px calc(24px + env(safe-area-inset-bottom))!important;scroll-padding:84px 0 24px !important}
    dialog .dialog-head{top:-20px!important;margin:-20px -16px 20px!important;padding:16px!important;padding-top:max(16px,env(safe-area-inset-top))!important}
    dialog h2{font-size:21px!important}
    .cf-more-dialog,.app-question-dialog{width:100%!important;height:auto!important;max-height:85dvh!important;inset:auto 0 0!important;border-radius:18px 18px 0 0!important}
    .cf-more-dialog form,.app-question-dialog form{height:auto !important;max-height:85dvh!important}
    .cf-appearance-options{gap:8px !important}.cf-appearance-options button{padding:12px 8px !important;font-size:12px !important}
    .cf-back-top{right:16px !important;bottom:calc(84px + env(safe-area-inset-bottom)) !important}
    /* Secondary financial information must remain readable in a truck cab. */
    .finance-card span,.finance-card small,.stats-grid span,.trip-date-label,
    .trip-card-identifiers span,.commercial-route-stop small,.commercial-gross span,
    .commercial-trip-stats span,.commercial-trip-stats small,.commercial-trip-footer,
    .commercial-trip-footer span,.score-title,.score-text,.period-range-label,
    .cf-bottom-nav button{font-size:12px!important}
  }
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
  @media print{body{display:block!important;height:auto!important;overflow:visible!important}.cf-sidebar,.cf-bottom-nav,.cf-period-bar,.cf-back-top,.app-header{display:none!important}.app-shell{padding:0!important;height:auto!important;overflow:visible!important;max-width:none !important}.cf-chart-row{display:block !important}.panel,.finance-card{break-inside:avoid !important}.cf-summary-details{display:block !important}}
}
@layer finance {
  .route-location-manual{margin:16px 0!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important}
  .route-location-manual summary{cursor:pointer!important;font-weight:650!important}
  .route-location-manual a{display:block!important;margin:12px 0!important;overflow-wrap:anywhere!important}
  .route-location-manual input{width:100%!important;min-width:0!important}
  .route-location-manual button{margin-top:12px!important;white-space:normal!important}
}
@keyframes cf-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* A6: conflict comparison stays readable in both themes and narrow viewports. */
.conflict-dialog{width:min(960px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto}.conflict-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.conflict-versions pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:45dvh;overflow:auto}.conflict-dialog .dialog-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:699px){.conflict-versions{grid-template-columns:minmax(0,1fr)}}

/* Full account deletion is the strongest destructive action in either theme. */
.admin-delete-full.btn-danger{background:#b91c1c;color:#fff;border-color:#fca5a5;font-weight:750}
.admin-delete-full.btn-danger:hover{background:#991b1b;color:#fff}

/* v11.0.9: more useful information above the fold on compact screens. */
@layer finance {
  .fleet-management-panel .fleet-filter-bar{
    display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;
    width:100%!important;margin:0 0 16px!important;gap:8px!important;
  }
  .fleet-management-panel .fleet-filter-bar.hidden{display:none!important}
  .fleet-management-panel .fleet-filter-bar select{
    flex:0 1 190px!important;min-width:145px!important;max-width:100%!important;
    min-height:44px!important;background:var(--surface)!important;color:var(--text)!important;
  }
  .fleet-management-panel .fleet-filter-bar select.hidden{display:none!important}
}
@layer finance {
@media (min-width:700px) and (max-width:1100px){
  /* iPad date controls have an intrinsic width that spills into adjacent fields. */
  #newOwnerStageDialog .form-grid,#recurringCostDialog .form-grid,#financePaymentDialog .form-grid,
  .finance-settings-grid{grid-template-columns:minmax(0,1fr)!important}
  :is(#newOwnerStageDialog,#recurringCostDialog,#financePaymentDialog) .form-grid>label,
  .finance-settings-grid>label{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  :is(#newOwnerStageDialog,#recurringCostDialog,#financePaymentDialog) input[type=date],
  .finance-settings-grid input[type=date]{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
}
@media (max-width:699px){
  .app-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 8px!important;min-height:0!important;padding:7px 12px 8px!important}
  .app-header>div:first-child{grid-column:1!important;grid-row:1!important;max-width:none!important;min-width:0!important}
  .app-header h1{display:flex!important;align-items:baseline!important;gap:6px!important;font-size:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .app-header .version{display:inline-block!important;flex:none!important;margin:0!important;font-size:10px!important}
  .header-actions{grid-column:2!important;grid-row:1!important;width:auto!important;margin:0!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
  .header-actions #quickAddTop{min-height:44px!important;padding:7px 10px!important}
  .fleet-management-panel .fleet-filter-bar select{flex:1 1 145px!important;padding:6px 9px!important;font-size:13px!important}
  .app-shell{padding-top:8px!important}
  .cf-dashboard-header{margin-bottom:5px!important}
  .cf-dashboard-header h2{font-size:21px!important}
  .cf-period-bar{top:-8px!important;margin-bottom:9px!important;padding:3px 0 5px!important}
  .period-range-label{padding-top:0!important}
  .dashboard-grid{gap:7px!important;margin-bottom:8px!important}
  .hero-card{min-height:0!important;padding:14px 16px!important}
  .hero-label{font-size:12px!important}
  .hero-value{font-size:clamp(32px,9vw,42px)!important;margin:5px 0!important}
  .hero-meta{font-size:12px!important}
  .score-card{min-height:0!important;padding:7px 12px!important;gap:8px!important;flex-wrap:nowrap!important}
  .score-title{flex:0 1 auto!important;font-size:12px!important}
  .score-value{width:30px!important;height:30px!important;font-size:19px!important;flex:none!important}
  .score-text{max-width:none!important;flex:1!important;font-size:12px!important}
  .cf-kpi-row{gap:8px!important;margin-bottom:12px!important}
  .cf-kpi-row .finance-card{min-height:0!important;padding:11px 12px!important}
  .cf-kpi-row .finance-card strong{font-size:21px!important;margin:5px 0 3px!important}
  .cf-kpi-row .finance-card small{line-height:1.3!important}
  .cf-chart-scale-title{margin-bottom:4px!important}
  #cfChartScaleNote{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
}
}

/* v12.0.5: consistent spacing for profile actions and readable finance cards. */
@layer finance {
.profile-shortcuts{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.profile-shortcuts .btn{width:100%;margin:0!important;white-space:normal}
#driverHistoryToggle{display:block;width:100%;margin:16px 0 12px!important;white-space:normal}
#startupCostsList .finance-list-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start!important;gap:12px!important;text-align:left!important}
#startupCostsList .finance-list-card>span{min-width:0;text-align:left}
#startupCostsList .finance-list-card>strong{white-space:nowrap;text-align:right}
#startupCostOcrStatus{line-height:1.5;margin-block:14px;overflow-wrap:anywhere}
@media(max-width:480px){
  #startupCostsList .finance-list-card{grid-template-columns:minmax(0,1fr)}
  #startupCostsList .finance-list-card>strong{justify-self:start;text-align:left}
}
#driverHistoryFull{display:block;width:100%;margin:0 0 20px!important;white-space:normal}

}
/* Read-only archive stays in the current app session. */
#driverArchiveDialog{width:min(1000px,calc(100% - 32px))!important;height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;padding:0!important;overflow:hidden!important;background:#101c31!important;color:#e7effc!important}
#driverArchiveHost{height:100%;min-height:0}
@media(max-width:700px){#driverArchiveDialog{width:100%!important;height:100dvh!important;max-height:100dvh!important;max-width:100%!important;margin:0!important;border:0!important;border-radius:0!important}}

/* Existing form groups remain in source markup. */
.trip-details {border:1px solid var(--border,#dce2e9);border-radius:12px;padding:12px;margin:4px 0;min-width:0;}
.trip-details>summary,.settings-details>summary {cursor:pointer;min-height:28px;font-weight:600;}
.trip-details[open]>.form-grid {margin-top:14px;}
#tripForm>.trip-save-bar {position:sticky;bottom:-1px;background:var(--surface,var(--card));padding:10px 0 max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:5;}
#tripForm .trip-save-bar .btn {margin:0;}
#paymentsDialog .settings-details {margin:16px 0;padding:14px;border:1px solid var(--border,#dce2e9);border-radius:12px;}

/* 12.0.18: expected income belongs to Summary, inside the selected period. */
.expected-income-card[hidden]{display:none!important}
.expected-income-card{margin:0 0 16px!important}
.expected-income-total{display:block;font-size:clamp(26px,7vw,38px);line-height:1.2;margin:10px 0;color:var(--text)}
.expected-trip-list{display:grid;gap:8px;margin:12px 0}
.expected-trip{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}
.expected-trip span{min-width:0}.expected-trip small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.expected-trip>strong{white-space:nowrap}
.expense-meta small{display:block;margin-top:5px;color:var(--muted)}
#tripForm>.trip-save-bar{background:var(--surface,var(--card))!important}

/* v12.0.21: keep forecast arithmetic readable on narrow screens. */
.load-profit-breakdown{margin-top:16px}
.load-profit-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;color:var(--text)}
.load-profit-row>span{min-width:0;overflow-wrap:anywhere;font-size:14px}
.load-profit-row>b{flex-shrink:0;white-space:nowrap;font-size:16px;font-variant-numeric:tabular-nums}
.load-profit-total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-weight:700}
.load-profit-note{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.load-profit-market{border-top:1px solid var(--line);padding-top:12px;font-size:13px;line-height:1.5}
@layer finance {
  .commercial-trip-card.trip-cancelled{border-color:var(--red)!important;background:var(--red-soft)!important}
  .commercial-trip-card.trip-cancelled .trip-profit-rail{background:var(--red)!important}
  .commercial-trip-head>.commercial-route{flex:1 1 0!important}
  .commercial-trip-head>.commercial-gross{flex:0 0 auto!important}
  @media(min-width:601px){.commercial-trip-head>.commercial-gross{max-width:45%!important}}
}

/* 12.0.22: reserve balance uses funded repairs; total repair spend stays separate. */
.reserve-ledger-equation{font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere;color:var(--text)}
.reserve-repair-summary{display:grid;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.reserve-repair-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--muted);font-size:14px}
.reserve-repair-summary b{white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums}
@layer finance {
  #reserveLedgerSummary{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))!important}
  #reserveLedgerSummary article{min-width:0!important}
  #reserveLedgerSummary article>span{white-space:normal!important;overflow-wrap:anywhere!important}
  #reserveLedgerSummary article>strong{white-space:nowrap!important;font-size:20px!important;overflow-wrap:normal!important;word-break:normal!important}
}

@layer finance {
  .cf-brand-mark { width:40px !important; height:40px !important; object-fit:contain; background:#090909 !important; }
  .auth-brand-mark { overflow:hidden; background:#090909 !important; }
  .auth-brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
}

@layer finance {
 #tripExpenseLinks { grid-column:1/-1; display:grid; gap:10px; min-width:0; }
 #tripExpenseLinks small,#tripExpenseBinding { overflow-wrap:anywhere; }
 .trip-expense-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px solid var(--border); }
 .trip-expense-row span { overflow-wrap:anywhere; }
}

/* Programmatic heading focus is an orientation aid, not an interactive control.
   Keep this override INSIDE finance: layered !important beats unlayered
   !important even if the unlayered selector is more specific (Safari/keyboard).
   Covers modal titles and page headings focused by Back to top. */
@layer finance {
  :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:not([role="button"]):not([role="link"]):focus {
    outline:none!important;box-shadow:none!important;
  }
}
.trip-counts{font-weight:600;line-height:1.6;margin:12px 0;color:var(--text)}

.conflict-differences{border-collapse:collapse;width:100%;font-size:14px}.conflict-differences th,.conflict-differences td{padding:10px;border-bottom:1px solid var(--border,#dce2eb);text-align:left;vertical-align:top;overflow-wrap:anywhere;max-width:300px}.conflict-dialog details{margin:16px 0}

.app-toast{box-sizing:border-box;width:min(620px,calc(100vw - 48px))}

@layer finance {
  .stage-manager-dialog > .dialog-title { position: static; }
  #settingsView [data-settings-group="export"] .btn-wide { display:block; margin-block: .7rem; clear:both; }
  #costStartRows {display:grid;gap:.8rem;}
  #costStartReview .dialog-actions {display:flex;gap:.6rem;flex-wrap:wrap;}
}

/* Gross leads the summary; profit remains a secondary result. */
#expectedTripRevenue{white-space:pre-line;line-height:1.7}
#expectedIncomeTotal{font-size:clamp(34px,9vw,48px);font-weight:750;overflow-wrap:anywhere}
#dashboardView .hero-value{font-size:clamp(28px,7vw,34px)!important}
