body.theme-blue{--theme:#1769d2;--theme-dark:#0c376d;--theme-soft:#eaf3ff;--theme-contrast:#fff}
body.theme-green{--theme:#16865b;--theme-dark:#0c4934;--theme-soft:#e7f7ef;--theme-contrast:#fff}
body.theme-red{--theme:#c83b43;--theme-dark:#6d1821;--theme-soft:#fff0f1;--theme-contrast:#fff}
body.theme-yellow{--theme:#e5a900;--theme-dark:#725300;--theme-soft:#fff7d9;--theme-contrast:#17243c}
body[class*="theme-"]{--blue:var(--theme);--blue-dark:var(--theme-dark);--blue-soft:var(--theme-soft)}
body[class*="theme-"] .sidebar{background:linear-gradient(180deg,var(--theme-dark),var(--theme))!important}
body[class*="theme-"] .btn,body[class*="theme-"] .navbtn,body[class*="theme-"] .mini:not(.light){background:var(--theme)!important;color:var(--theme-contrast)!important}
body[class*="theme-"] .sidebar nav a.active,body[class*="theme-"] .sidebar nav a:hover{background:#ffffff20!important;border-color:#ffffff55!important}
body[class*="theme-"] .brand>span,body[class*="theme-"] .userchip>span{background:var(--theme)!important;color:var(--theme-contrast)!important}
.report-toolbar{padding:20px;margin-bottom:18px;display:grid;gap:16px}.quick-periods{display:flex;gap:8px}.quick-periods a{padding:10px 16px;border:1px solid var(--line);border-radius:11px;font-weight:800}.quick-periods a.active{background:var(--theme);color:var(--theme-contrast);border-color:var(--theme)}.report-toolbar form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end}.report-toolbar label{font-size:12px;font-weight:750}.report-toolbar input,.report-toolbar select{display:block;width:100%;height:46px;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:#fff}.report-results tfoot th{font-size:13px;text-transform:none;text-align:right}.report-results tfoot th:first-child{text-align:right}.report-results .report-grand th{font-size:17px;color:var(--theme);border-top:2px solid var(--theme)}
.performance-summary{padding:24px;margin-bottom:18px}.performance-summary h2{margin-top:0}.performance-summary>div{display:grid;grid-template-columns:110px 1fr 70px;gap:14px;align-items:center;margin:14px 0}.performance-summary i{height:10px;border-radius:10px;background:#e7edf5;overflow:hidden}.performance-summary i b{display:block;height:100%;border-radius:inherit;background:var(--theme)}.performance-summary strong{text-align:right}.driver-review-list article{padding:18px 0;border-bottom:1px solid var(--line)}.driver-review-list article header{display:flex;justify-content:space-between}.driver-review-list article header b{color:#efb323;font-size:21px;letter-spacing:2px}.driver-review-list article header strong{margin-left:8px}.driver-review-list article p{font-size:15px;margin:12px 0}.driver-review-list article small{display:block;color:var(--muted);font-size:12px}.driver-review-list article footer{margin-top:10px;font-size:12px;font-weight:750}.theme-settings{max-width:920px}.theme-settings>p{font-size:14px}.theme-options{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.theme-options input{position:absolute;opacity:0}.theme-options span{display:block;border:2px solid var(--line);border-radius:17px;padding:18px;cursor:pointer}.theme-options i{display:block;width:46px;height:46px;background:var(--swatch);border-radius:14px;margin-bottom:14px}.theme-options b,.theme-options small{display:block}.theme-options b{font-size:15px}.theme-options small{color:var(--muted);margin-top:4px}.theme-options input:checked+span{border-color:var(--swatch);box-shadow:0 0 0 4px color-mix(in srgb,var(--swatch) 18%,transparent)}
/* Larger on-screen receipt typography */
.receipt{font-size:15px}.receipt>header h2{font-size:21px}.receipt-brand b{font-size:17px}.receipt-brand small,.receipt-route small{font-size:12px}.receipt-route b{font-size:15px;line-height:1.45}.receipt-grid dt,.receipt-grid dd{font-size:13px;padding:10px 0}.receipt-totals>div{font-size:13px}.receipt-totals .grand b{font-size:25px}.receipt>footer{font-size:13px}
@media(max-width:900px){.report-toolbar form{grid-template-columns:1fr 1fr}.theme-options{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.report-toolbar form,.theme-options{grid-template-columns:1fr}.performance-summary>div{grid-template-columns:80px 1fr 60px}}
@media print{@page{size:A4 portrait;margin:9mm}html,body{background:#fff!important;font-size:10pt!important}.app{display:block!important;min-height:auto!important}.sidebar{display:flex!important;position:static!important;width:100%!important;height:16mm!important;padding:3mm 5mm!important;align-items:center!important;background:var(--theme-dark)!important;border-radius:0!important}.sidebar .brand{display:flex!important}.sidebar nav,.sidebar .safe,.sidebar .logout{display:none!important}.workspace{display:block!important;padding:0!important}.top{display:none!important}.site-footer{display:block!important;margin:4mm 0 0!important;padding:3mm 0!important;background:#fff!important;border-top:1px solid #ccd7e5!important;color:#26364d!important}.site-footer>div{padding:0!important}.site-footer nav{display:none!important}.site-footer p{font-size:8pt!important;margin:0!important}.receipt{display:block!important;max-width:none!important;margin:4mm 0 0!important;padding:5mm!important;border:1px solid #ccd7e5!important;border-radius:4mm!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.receipt>header{padding-bottom:4mm!important}.receipt-route{padding:4mm 0!important;gap:2mm!important}.receipt-grid{grid-template-columns:1fr .8fr!important;gap:6mm!important;padding:4mm 0!important}.receipt-grid dt,.receipt-grid dd{font-size:9.5pt!important;padding:1.8mm 0!important}.receipt-route b{font-size:10pt!important}.receipt-totals{padding:4mm!important}.receipt-totals>div{font-size:9.5pt!important;padding:2mm 0!important}.receipt>footer{padding-top:3mm!important;font-size:9pt!important}.receipt>footer button,.review-prompt,.review-form,.review-summary,.pwa-install,.notification-center,.emergency-fab,.report-toolbar,.report-kpis,.report-results .panelhead button{display:none!important}.report-results{box-shadow:none!important}.report-results table{font-size:8pt!important}}
