/* Shared light Transport ERP workspace, aligned with the public landing page. */
:root {
  --app-navy: #102746;
  --app-blue: #507b9e;
  --app-ink: #18324f;
  --app-muted: #718198;
  --app-line: #e3eaf0;
  --app-surface: #ffffff;
  --app-canvas: #f4f7fa;
  --app-mint: #e8f3ef;
  --app-shadow: 0 12px 34px rgba(16, 39, 70, .055);
}

body:has(.app-container), body.vehicle-page {
  background: var(--app-canvas) !important;
  color: var(--app-ink) !important;
  font-family: Inter, "Segoe UI", system-ui, sans-serif !important;
}
.app-container { min-height: 100vh; background: var(--app-canvas); }
.sidebar {
  background: #fff !important; color: var(--app-ink) !important;
  border-right: 1px solid var(--app-line) !important;
  box-shadow: 4px 0 24px rgba(16,39,70,.025);
  padding: 25px 15px !important;
}
.logo { color: var(--app-navy) !important; letter-spacing: -.04em; }
.logo i, .logo .fa-truck-fast { color: var(--app-blue) !important; }
.nav-item { color: #63758b !important; border-radius: 9px !important; }
.nav-item:hover, .sub-item:hover { background: #f2f6f9 !important; color: var(--app-navy) !important; }
.nav-item.active { background: var(--app-navy) !important; color: #fff !important; box-shadow: 0 5px 14px rgba(16,39,70,.14); }
.sub-menu { border-left-color: #e3eaf0 !important; }
.sub-item { color: #73849a !important; }
.sub-item.active { color: var(--app-navy) !important; background: #edf3f7 !important; font-weight: 650; }
.main-content { padding: clamp(22px,3.1vw,46px) clamp(18px,4vw,60px) !important; }
.top-header { margin-bottom: 27px !important; align-items: flex-start !important; }
.top-header h1 { color: var(--app-navy) !important; font-size: clamp(25px,2.1vw,32px) !important; letter-spacing: -.045em; }
.top-header p, .top-header small { color: var(--app-muted) !important; }
.back-link { color: var(--app-blue) !important; }

.stats-grid { gap: 14px !important; }
.stat-card, .results-panel, .calc-card, .calc-results, .vehicle-card, .vehicle-table-wrap {
  background: var(--app-surface) !important;
  color: var(--app-ink) !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--app-shadow);
}
.stat-card { padding: 20px 22px !important; transition: transform .18s ease, box-shadow .18s ease; }
.stat-card:hover, .vehicle-card:hover { transform: translateY(-2px); box-shadow: 0 16px 35px rgba(16,39,70,.09); }
.stat-label, .field-help, .finance-toolbar label, .results-note, .fleet-note { color: var(--app-muted) !important; }
.stat-value { color: var(--app-navy) !important; font-variant-numeric: tabular-nums; }
.tab-view { color: var(--app-ink); }
.finance-toolbar, .fleet-toolbar { background: #fff; border: 1px solid var(--app-line); border-radius: 13px; padding: 15px 17px; box-shadow: 0 5px 18px rgba(16,39,70,.035); }
.form-control, .fleet-form input, .fleet-form select, .fleet-form textarea, .fleet-toolbar input, .fleet-select,
.entity-fields input, .entity-fields select, .results-dates input, .calc-field input, .calc-field select, .search-field input,
.calc-card input, .calc-card select, .calc-card textarea {
  color: var(--app-ink) !important; background: #fff !important; border: 1px solid #d9e2ea !important;
  border-radius: 8px !important; color-scheme: light !important; box-shadow: inset 0 1px 2px rgba(16,39,70,.025);
}
.form-control:focus, .fleet-form input:focus, .fleet-form select:focus, .entity-fields input:focus, .entity-fields select:focus,
.calc-card input:focus, .calc-card select:focus, .calc-card textarea:focus {
  outline: 3px solid rgba(80,123,158,.15) !important; border-color: #83a5bf !important;
}
.form-group label, .calc-field label, .calc-card label { color: #53677e !important; }
.btn-primary, .fleet-primary, .btn.btn-primary {
  background: var(--app-navy) !important; color: #fff !important; border: 1px solid var(--app-navy) !important;
  border-radius: 8px !important; box-shadow: 0 5px 12px rgba(16,39,70,.12); transition: background .18s, transform .18s, box-shadow .18s;
}
.btn-primary:hover, .fleet-primary:hover { background: #1c3a5d !important; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(16,39,70,.16); }
.btn-secondary, .entity-secondary, .vehicle-main .invoice-edit {
  background: #f3f6f9 !important; color: var(--app-navy) !important; border: 1px solid #dce5ec !important; border-radius: 8px !important;
}
.btn-secondary:hover, .entity-secondary:hover { background: #eaf0f5 !important; }
.text-action, .vehicle-main a, .fleet-table a { color: var(--app-blue) !important; }

.table-container, .vehicle-table-wrap { overflow: auto !important; background: #fff !important; border: 1px solid var(--app-line) !important; border-radius: 13px !important; box-shadow: var(--app-shadow); }
table, .fleet-table { color: var(--app-ink) !important; }
table thead, .fleet-table thead { background: #f5f8fa !important; }
table th, .fleet-table th { color: #687c92 !important; font-weight: 650 !important; font-size: 11px !important; letter-spacing: .045em; text-transform: uppercase; border-bottom: 1px solid var(--app-line) !important; }
table td, .fleet-table td { color: #304861 !important; border-bottom: 1px solid #edf1f4 !important; }
table tbody tr:hover, .fleet-row:hover { background: #f7fafc !important; }
.empty-state { color: var(--app-muted) !important; }

.calc-layout { gap: 20px !important; align-items: start; }
.calc-card, .calc-results { padding: clamp(18px,2vw,27px) !important; }
.calc-heading { color: var(--app-navy) !important; }
.calc-heading i { color: var(--app-blue) !important; }
.result-card { background: #f5f8fa !important; border: 1px solid var(--app-line) !important; border-radius: 10px !important; color: var(--app-ink) !important; }
.result-card strong, .calc-results strong { color: var(--app-navy) !important; }
.compact-status { color: var(--app-muted) !important; }
.place-choice { background: #f6f9fb !important; color: var(--app-ink) !important; border-color: var(--app-line) !important; }

#tab-result .results-card { color: var(--app-ink) !important; background: #fff !important; border: 1px solid var(--app-line) !important; box-shadow: var(--app-shadow); }
#tab-result .results-card.profit { background: linear-gradient(145deg,#f0f8f4,#fff) !important; border-color: #d6e9e0 !important; }
#tab-result .results-card strong, #tab-result .results-detail-heading>strong { color: var(--app-navy) !important; }
#tab-result .results-card-top, #tab-result .results-card-foot, #tab-result .results-panel h3,
#tab-result .results-period-caption>span:first-child, #tab-result .results-breakdown-label { color: #61758b !important; }
#tab-result .results-period, #tab-result .results-panel { background: #fff !important; border-color: var(--app-line) !important; box-shadow: var(--app-shadow); }
#tab-result .results-presets button, #tab-result .results-detail-tabs button { color: #61758b !important; }
#tab-result .results-presets button[aria-pressed=true], #tab-result .results-detail-tabs button[aria-current=true] { background: #edf3f7 !important; color: var(--app-navy) !important; }
#tab-result .results-breakdown-label strong { color: var(--app-ink) !important; }

.fleet-dialog, .tax-dialog { background: #fff !important; color: var(--app-ink) !important; border: 1px solid var(--app-line) !important; border-radius: 16px !important; box-shadow: 0 28px 80px rgba(16,39,70,.22); }
.fleet-dialog h2, .fleet-dialog h3, .tax-dialog h2, .tax-dialog h3 { color: var(--app-navy) !important; }
.fleet-dialog header button, .close-btn { color: #75869a !important; }
.fleet-dialog::backdrop, .tax-dialog::backdrop { background: rgba(16,39,70,.35) !important; backdrop-filter: blur(3px); }
.vehicle-page { background: var(--app-canvas) !important; }
.vehicle-main { max-width: 1360px !important; padding: 36px clamp(18px,4vw,56px) !important; }
.vehicle-main h1, .vehicle-main h2 { color: var(--app-navy) !important; letter-spacing: -.035em; }
.vehicle-main h1 { font-size: clamp(26px,2.3vw,34px) !important; }
.vehicle-card { padding: 23px !important; }
.vehicle-card small, .entity-data dt, .entity-note { color: var(--app-muted) !important; }
.vehicle-card strong, .entity-data dd { color: var(--app-navy) !important; }
.entity-grid { gap: 18px !important; }
.entity-total { background: var(--app-mint) !important; border: 1px solid #d3e7de !important; }
.entity-total span { color: #59786d !important; }
.entity-total strong { color: #1c6047 !important; }
.entity-form-section, .entity-checklist article { background: #f7f9fb !important; border-color: var(--app-line) !important; }
.entity-form-section summary, .entity-upload summary, .entity-help summary, .entity-document a, .entity-help a, .entity-checklist a { color: var(--app-blue) !important; }
.entity-document { border-color: #edf1f4 !important; }
.entity-document strong, .entity-checklist strong { color: var(--app-navy) !important; }
.entity-car { border-color: var(--app-line) !important; color: var(--app-blue) !important; background: #f8fafb; }
.entity-car small { color: var(--app-muted) !important; }

@media (max-width: 900px) {
  .sidebar { width: 230px !important; }
  .main-content { padding: 24px 20px !important; }
}
@media (max-width: 700px) {
  .app-container { display: block !important; }
  .sidebar { width: 100% !important; padding: 12px 14px !important; border-right: 0 !important; border-bottom: 1px solid var(--app-line) !important; }
  .logo { margin: 0 0 10px !important; padding: 0 7px !important; }
  .nav-menu { flex-direction: row !important; overflow-x: auto; gap: 5px !important; padding-bottom: 3px; }
  .nav-item { flex: 0 0 auto; font-size: 12px !important; padding: 9px 11px !important; }
  .sub-menu { flex-direction: row !important; border-left: 0 !important; border-top: 0 !important; padding: 0 !important; margin: 0 0 0 5px !important; }
  .main-content { padding: 20px 14px 30px !important; overflow: visible !important; }
  .top-header { margin-bottom: 20px !important; }
  .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .stat-card { padding: 15px !important; }
  .stat-value { font-size: 21px !important; }
  .calc-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 420px) {
  .stats-grid { grid-template-columns: 1fr !important; }
  .vehicle-stats, .vehicle-details, .entity-grid, .entity-data, .entity-fields, .entity-checklist { grid-template-columns: 1fr !important; }
  .finance-toolbar { padding: 12px !important; }
}
