:root{--primary-gold: #ffd700;--secondary-gold: #daa520;--dark-gold: #b8860b;--light-gold: #fff8dc;--background: #ffffff;--panel: #fffef4;--text: #333333;--danger: #b42318;--success: #0f766e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;background-color:var(--background);color:var(--text);margin:0;padding:0;line-height:1.6}.app-shell{display:flex;min-height:100vh}.standalone-card{max-width:720px;margin:48px auto;padding:24px}.sidebar{width:280px;background-color:var(--dark-gold);color:#fff;padding:24px;position:sticky;top:0;align-self:flex-start;min-height:100vh}.sidebar h2{margin-top:0;color:var(--light-gold)}.sidebar-link-group{display:grid;gap:10px;margin-bottom:18px}.sidebar-link-group a{display:inline-block;background-color:var(--primary-gold);color:#222;padding:10px 14px;border-radius:6px;text-decoration:none;font-weight:700}.sidebar-link-group a:hover,.sidebar-link-group a:focus{background-color:var(--light-gold);color:var(--dark-gold)}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar li{margin-bottom:10px}.sidebar a{color:#fff;text-decoration:none;font-size:.95rem}.sidebar nav a:hover,.sidebar nav a:focus{color:var(--primary-gold)}.session-card{display:grid;gap:8px;margin-bottom:18px;padding:12px;background:#ffffff1f;border-radius:8px}.session-card button{width:100%}.content{flex:1;padding:24px}.dashboard-snapshot{display:grid;gap:20px}.dashboard-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dashboard-header p{margin-bottom:0;max-width:760px}.dashboard-badge{background:linear-gradient(135deg,#fff2b3,#ffd24d);color:#6d4c00;padding:10px 14px;border-radius:999px;font-weight:700;white-space:nowrap}.snapshot-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.snapshot-kpi{display:grid;gap:8px;padding:18px;border-radius:16px;color:#1f2937;border:1px solid rgba(0,0,0,.08)}.snapshot-kpi span,.snapshot-kpi small{color:#1f2937d1}.snapshot-kpi strong{font-size:2rem;line-height:1}.snapshot-kpi-gold{background:linear-gradient(180deg,#fff8cf,#ffeaa0)}.snapshot-kpi-teal{background:linear-gradient(180deg,#daf7f2,#b8efe5)}.snapshot-kpi-coral{background:linear-gradient(180deg,#ffe3d7,#ffd0bd)}.snapshot-kpi-slate{background:linear-gradient(180deg,#e9eef8,#d8e1f0)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.snapshot-chart-card{background:linear-gradient(180deg,#ffffffd1,#fff8dcb8);border:1px solid rgba(184,134,11,.28);border-radius:18px;padding:18px;display:grid;gap:18px}.snapshot-chart-copy h3{margin-bottom:8px}.snapshot-chart-copy p{margin:0;color:#5b6472}.bar-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:end;min-height:250px}.bar-chart-column{display:grid;gap:10px;justify-items:center}.bar-chart-value,.bar-chart-label,.trend-axis-label,.trend-value-label{font-size:.8rem}.bar-chart-track{width:100%;max-width:52px;height:180px;background:linear-gradient(180deg,#ffd7001f,#b8860b29);border-radius:999px;display:flex;align-items:end;padding:6px}.bar-chart-bar{width:100%;border-radius:999px;background:linear-gradient(180deg,#f7c948,#c89211);box-shadow:0 10px 18px #b8860b38}.bar-chart-label{color:#6b7280}.trend-chart{overflow-x:auto}.trend-chart svg{width:100%;min-width:480px;height:auto;color:#c89211}.trend-line{stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:currentColor;stroke:#fffef4;stroke-width:2}.trend-line.revenue,.trend-area.revenue{color:#0f766e}.trend-line.gasoline,.trend-area.gasoline{color:#c2410c}.trend-line.maintenance,.trend-area.maintenance{color:#7c3aed}.trend-line.dispatch,.trend-area.dispatch{color:#2563eb}.trend-axis-label{fill:#6b7280}.trend-value-label{fill:#374151;font-weight:700}.vehicle-master-page{display:grid;gap:18px}.vehicle-master-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.vehicle-master-header p{margin-bottom:0;max-width:760px}.vehicle-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vehicle-master-card{background:linear-gradient(180deg,#ffffffdb,#fff8dce6);border:1px solid rgba(184,134,11,.28);border-radius:16px;padding:18px;display:grid;gap:12px}.vehicle-db-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vehicle-db-status span{display:block;color:#6b7280;font-size:.85rem}.vehicle-db-status strong{display:block;margin-top:4px}.vehicle-db-source{grid-column:1 / -1}.vehicle-db-source code,.vehicle-master-note code{display:inline-block;margin-top:6px;padding:8px 10px;background:#fffef4;border:1px dashed rgba(184,134,11,.45);border-radius:8px;white-space:normal;word-break:break-all}.vehicle-master-steps{margin:0;padding-left:20px}.vehicle-master-note{margin:0}.lease-scorecard-page{display:grid;gap:18px}.lease-scorecard-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lease-scorecard-header p{margin-bottom:0;max-width:760px}.lease-scorecard-grid,.lease-scorecard-workspace{display:grid;gap:18px}.lease-scorecard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lease-scorecard-workspace{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);align-items:start}.lease-card{background:linear-gradient(180deg,#ffffffe0,#fff8dceb);border:1px solid rgba(184,134,11,.28);border-radius:16px;padding:18px;display:grid;gap:12px}.lease-scorecard-list{margin:0;padding-left:20px}.lease-scorecard-note{margin:0;color:#5b6472}.lease-scorecard-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lease-scorecard-preview{padding:14px;border-radius:12px;background:#ffd70024;display:grid;gap:4px}.lease-scorecard-preview strong{font-size:1.4rem}.lease-scorecard-form .form-actions,.lease-scorecard-preview{grid-column:1 / -1}.lease-side-panel{display:grid;gap:18px}.lease-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lease-result-grid span{display:block;color:#6b7280;font-size:.85rem}.lease-result-grid strong{display:block;margin-top:4px}.lease-result-summary{grid-column:1 / -1}.lease-result-summary p{margin:6px 0 0}.live-gps-page{display:grid;gap:18px}.live-gps-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.live-gps-header p{margin-bottom:0;max-width:760px}.live-gps-grid,.live-gps-detail-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.live-gps-card{background:linear-gradient(180deg,#ffffffe0,#fff8dceb);border:1px solid rgba(184,134,11,.28);border-radius:16px;padding:18px;display:grid;gap:12px}.live-gps-card-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.live-gps-map-card{overflow:hidden}.live-gps-map{position:relative;min-height:320px;border-radius:18px;background:radial-gradient(circle at 20% 30%,rgba(16,185,129,.18),transparent 20%),radial-gradient(circle at 72% 50%,rgba(37,99,235,.18),transparent 18%),linear-gradient(135deg,#1f2937,#334155 42%,#0f766e);overflow:hidden}.live-gps-map:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px}.gps-map-overlay{position:absolute;left:18px;bottom:18px;padding:12px 14px;border-radius:14px;background:#0f172aad;color:#f8fafc;display:grid;gap:4px}.gps-marker{position:absolute;width:42px;height:42px;border-radius:999px;border:2px solid rgba(255,255,255,.8);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 12px 20px #0f172a59}.gps-marker-moving{background:#16a34a}.gps-marker-idle{background:#2563eb}.gps-marker-stopped{background:#c2410c}.gps-marker-selected{transform:scale(1.08);outline:3px solid rgba(255,255,255,.45)}.gps-status-badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:capitalize}.gps-status-moving{background:#dcfce7;color:#166534}.gps-status-idle{background:#dbeafe;color:#1d4ed8}.gps-status-stopped{background:#ffedd5;color:#c2410c}.gps-row-selected{background:#ffd7001f}.live-gps-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.live-gps-detail-list span{display:block;color:#6b7280;font-size:.85rem}.live-gps-detail-list strong{display:block;margin-top:4px}.maintenance-page{display:grid;gap:18px}.maintenance-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.maintenance-header p{margin-bottom:0;max-width:760px}.maintenance-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-notes-field{grid-column:1 / -1}.insurance-page{display:grid;gap:18px}.insurance-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.insurance-header p{margin-bottom:0;max-width:760px}.insurance-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-detail-page{display:grid;gap:18px}.vehicle-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.vehicle-detail-header p{margin-bottom:0;max-width:760px}.vehicle-detail-grid,.vehicle-detail-panels,.vehicle-detail-columns,.vehicle-profile-grid{display:grid;gap:18px}.vehicle-detail-grid,.vehicle-detail-panels,.vehicle-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-detail-card{background:linear-gradient(180deg,#ffffffe0,#fff8dceb);border:1px solid rgba(184,134,11,.28);border-radius:16px;padding:18px;display:grid;gap:12px}.vehicle-detail-note{margin:0;color:#5b6472}.vehicle-profile-grid span{display:block;color:#6b7280;font-size:.85rem}.vehicle-profile-grid strong{display:block;margin-top:4px}.scorecard-page{display:grid;gap:20px}.scorecard-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.scorecard-header p{margin-bottom:0;max-width:760px}.scorecard-summary-card,.scorecard-outcome-card{background:linear-gradient(180deg,#fffef7,#f7ecd1);border:1px solid rgba(184,134,11,.3);border-radius:16px;padding:18px;display:grid;gap:10px}.scorecard-pill{display:inline-flex;justify-content:center;width:fit-content;padding:6px 12px;background:#ffd7002e;border-radius:999px;font-size:.85rem;font-weight:700}.scorecard-total{font-size:2rem;line-height:1;color:var(--dark-gold)}.scorecard-grade{width:fit-content;padding:8px 12px;border-radius:999px;font-weight:700}.scorecard-grade-a{background:#d1fae5;color:#065f46}.scorecard-grade-b{background:#dbeafe;color:#1d4ed8}.scorecard-grade-c{background:#fef3c7;color:#92400e}.scorecard-grade-d{background:#fed7aa;color:#9a3412}.scorecard-grade-e,.scorecard-grade-override{background:#fee2e2;color:#b91c1c}.scorecard-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scorecard-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.scorecard-legend-item{padding:12px;border-radius:12px;display:grid;gap:4px;border:1px solid rgba(0,0,0,.06)}.scorecard-legend-item strong{font-size:1.1rem}.scorecard-legend-1{background:#dcfce7}.scorecard-legend-2{background:#ecfccb}.scorecard-legend-3{background:#fef3c7}.scorecard-legend-4{background:#fed7aa}.scorecard-legend-5{background:#fee2e2}.scorecard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.95fr);gap:20px;align-items:start}.scorecard-sections{display:grid;gap:18px}.scorecard-section-card{background:linear-gradient(180deg,#ffffffdb,#fff8dcdb);border:1px solid rgba(184,134,11,.25);border-radius:16px;padding:18px;display:grid;gap:16px}.scorecard-section-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.scorecard-section-header p{margin-bottom:0;color:#5b6472}.scorecard-section-badge{min-width:86px;display:grid;justify-items:center;gap:2px;padding:10px 12px;border-radius:12px;background:#ffd70029}.scorecard-section-badge strong{font-size:1.1rem}.scorecard-table td,.scorecard-table th{font-size:.92rem}.scorecard-criterion-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:700}.scorecard-critical-chip{display:inline-flex;align-items:center;padding:3px 8px;background:#fee2e2;color:#b91c1c;border-radius:999px;font-size:.75rem;font-weight:700}.scorecard-side-panel{display:grid;gap:16px;position:sticky;top:16px}.scorecard-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.scorecard-outcome-grid span{display:block;color:#6b7280;font-size:.85rem}.scorecard-outcome-grid strong{display:block;margin-top:4px}.scorecard-section-totals{list-style:none;padding:0;margin:0;display:grid;gap:10px}.scorecard-section-totals li{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.08)}.container{max-width:1200px;margin:0 auto}.intro{margin-bottom:20px;color:var(--text)}.card,.standalone-card{background-color:#fff8dcf2;border:1px solid var(--secondary-gold);border-radius:8px;box-shadow:0 3px 6px #0000001f}.card{padding:20px;margin:16px 0}.card h2,.card h3,.standalone-card h1{margin-top:0}button{background-color:var(--primary-gold);color:var(--text);border:2px solid var(--secondary-gold);padding:10px 20px;font-size:16px;cursor:pointer;border-radius:5px;transition:background-color .3s}button:hover{background-color:var(--secondary-gold)}button:disabled{cursor:wait;opacity:.7}.button-danger{background-color:#ffe0dc;border-color:#d92d20;color:#7a271a}.button-danger:hover{background-color:#fecdc7}input,select,textarea{border:1px solid var(--secondary-gold);padding:8px;border-radius:4px;font-size:14px;width:100%}textarea{min-height:100px}label{display:block;margin-bottom:12px}.checkbox-label{display:flex;align-items:center;gap:10px;margin-bottom:12px}.checkbox-label input{width:auto}.vehicle-grid,.access-grid,.fuel-management .fuel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stack-panel{display:grid;gap:20px}.backup-code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}.backup-code{display:inline-block;padding:10px 12px;background:#fffef4;border:1px dashed var(--secondary-gold);border-radius:6px;text-align:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background-color:#daa52026}th,td{padding:12px 10px;border:1px solid rgba(0,0,0,.08);text-align:left;vertical-align:top}th{color:var(--dark-gold)}.actions-cell{display:flex;gap:8px;flex-wrap:wrap}.fuel-management .fuel-summary,.fuel-management .fuel-form,.auth-panel{background:var(--panel)}.empty-state{margin:0;color:#6b7280}.status-message{margin:12px 0 0;font-weight:600}.status-error{color:var(--danger)}.status-success{color:var(--success)}.form-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 960px){.app-shell{flex-direction:column}.sidebar{width:100%;position:static;min-height:auto}.vehicle-grid,.access-grid,.fuel-management .fuel-grid,.snapshot-kpis,.dashboard-grid,.vehicle-master-grid,.vehicle-detail-grid,.vehicle-detail-panels,.vehicle-detail-columns,.vehicle-profile-grid,.lease-scorecard-grid,.lease-scorecard-workspace,.lease-scorecard-form,.live-gps-grid,.live-gps-detail-grid,.live-gps-detail-list,.maintenance-grid,.insurance-grid,.scorecard-meta,.scorecard-legend,.scorecard-grid{grid-template-columns:1fr}.content{padding:16px}.dashboard-header,.vehicle-master-header,.vehicle-detail-header,.lease-scorecard-header,.live-gps-header,.maintenance-header,.insurance-header,.scorecard-header,.scorecard-section-header{flex-direction:column}.vehicle-db-status{grid-template-columns:1fr}.scorecard-side-panel{position:static}.scorecard-outcome-grid,.lease-result-grid{grid-template-columns:1fr}}
