:root{--nav:#102137;--ink:#17283f;--muted:#62728a;--blue:#1763ce;--border:#dde5ef;--bg:#f3f6fa;--teal:#087b65;--danger:#ae3141;--shadow:0 10px 35px #2137530b;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #50a9ff;outline-offset:3px}button{border:1px solid var(--border);border-radius:9px;padding:10px 15px;background:#fff;color:var(--ink);min-height:44px;font-weight:600;font-size:.875rem}button:hover{background:#eef4fb}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#124fa8}.ghost{border-color:transparent;background:transparent}.danger{color:var(--danger)}input,select{width:100%;padding:11px 12px;border:1px solid #c7d3e1;border-radius:8px;background:#fff;min-height:45px;color:var(--ink);font-size:1rem}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}label small{font-weight:400;color:var(--muted)}.field{margin:17px 0}.field:first-child{margin-top:0}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1}.muted{color:var(--muted)}.small{font-size:.8125rem}.full{width:100%}.stack{display:grid;gap:16px}h1,h2,h3,p{margin-top:0}h1{font-size:1.85rem;letter-spacing:-.04em;margin-bottom:6px}h2{font-size:1.25rem;letter-spacing:-.025em;margin-bottom:14px}h3{font-size:1rem;margin-bottom:9px}p{line-height:1.6}svg{max-width:100%}[hidden]{display:none!important}.loading{padding:50px;text-align:center}.empty{padding:36px 22px;text-align:center;color:var(--muted);line-height:1.6}.panel{background:#fff;border:1px solid var(--border);border-radius:15px;padding:23px;box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:5px 8px;font-size:.75rem;font-weight:650;background:#edf3fa;color:#39536f}.good{background:#e1f4ed;color:#076048}.warn{background:#fff0d1;color:#805a04}.bad{background:#ffe7e9;color:#922c3c}.badge.dot:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--nav);color:#dce7f5;padding:27px 16px;display:flex;flex-direction:column;gap:30px}.brand{font-size:1.32rem;font-weight:750;letter-spacing:.045em;display:flex;align-items:center;gap:9px}.brand img{width:33px;height:33px}.sidebar .brand{padding:0 9px}.sidebar small{color:#91a6be;display:block;margin:5px 10px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;background:transparent;color:#b7c8dc;text-align:left;display:flex;gap:12px;align-items:center;padding:13px 14px;font-weight:500}.nav button:hover{background:#1d334d}.nav button.active{color:#fff;background:#244763}.nav .navicon{width:18px;font-size:1rem;color:#73b2d2}.sidebar-foot{margin-top:auto;border-top:1px solid #314358;padding:20px 8px 0;color:#a6bbd3;font-size:.8125rem;line-height:1.7}.workspace{min-width:0}.topbar{min-height:78px;background:#fff;border-bottom:1px solid var(--border);padding:16px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar .crumb{font-size:.875rem;color:var(--muted)}.account{display:flex;align-items:center;gap:11px;font-size:.875rem}.avatar{width:35px;height:35px;background:#e5eefb;color:var(--blue);display:grid;place-items:center;border-radius:50%;font-weight:700}.demo-banner{background:#fff2d6;color:#795619;padding:9px 30px;font-size:.8125rem;border-bottom:1px solid #e9d8b2}.content{padding:29px 30px 36px;max-width:1750px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}.page-head p{margin:0;font-size:.875rem;color:var(--muted)}.stats{display:flex;gap:24px;align-items:center;padding:14px 0 22px;flex-wrap:wrap;font-size:.875rem}.stats strong{font-size:1.18rem;margin-right:7px}.stats span{color:var(--muted)}.fleet{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:19px;align-items:start}.map-wrap{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden}.map-top{display:flex;justify-content:space-between;align-items:center;padding:15px 19px;gap:12px;font-size:.875rem}.map{height:530px;background:#e6edf2;z-index:0}.map-caption{padding:11px 17px;font-size:.75rem;color:var(--muted);border-top:1px solid var(--border)}.map-error{padding:12px;background:#fff2d6;font-size:.8125rem;position:relative;z-index:1}.vehicle-list{display:grid;gap:11px}.vehicle-card{border:1px solid var(--border);background:#fff;padding:19px;border-radius:13px}.vehicle-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.vehicle-card .select-vehicle{padding:0;background:none;border:0;min-height:0;text-align:left;font-size:1rem;margin:9px 0 5px;display:block}.plate{font-size:.75rem;letter-spacing:.05em;font-weight:600;color:var(--muted)}.vehicle-data{display:flex;justify-content:space-between;margin:18px 0;font-size:.875rem}.vehicle-data small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}.vehicle-actions{display:flex;gap:7px}.vehicle-actions button{flex:1;padding:7px;font-size:.8125rem}.vehicle-time{margin-top:11px;font-size:.75rem;color:var(--muted)}.car-marker{background:#1763ce;color:#fff;border:3px solid #fff;box-shadow:0 3px 13px #15345855;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:750}.leaflet-popup-content{font:14px/1.6 Inter,Segoe UI,system-ui,sans-serif}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);text-align:left;font-weight:650;padding:13px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:15px 12px;border-bottom:1px solid #ebeff5;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td strong{display:block}.data-table .actions{display:flex;gap:7px;flex-wrap:wrap}.data-table button{font-size:.75rem;padding:7px 11px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.alert-row{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid var(--border)}.alert-row:last-child{border:0}.alert-icon{width:38px;height:38px;flex-shrink:0;background:#fff0d1;color:#986000;display:grid;place-items:center;border-radius:10px;font-weight:700}.alert-row p{margin:4px 0;font-size:.875rem}.alert-row small{font-size:.75rem;color:var(--muted)}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 21px}.tabs button[aria-pressed=true]{background:var(--nav);color:#fff;border-color:var(--nav)}.note{padding:13px 16px;background:#edf4fc;border:1px solid #d5e3f4;border-radius:9px;color:#375575;font-size:.875rem;line-height:1.55;margin:16px 0}.warning{background:#fff4db;color:#795712;border-color:#ead8ad}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .span2{grid-column:1/-1}.plan-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.plan-choices label{border:1px solid var(--border);border-radius:10px;padding:15px 8px;text-align:center;background:#fff;cursor:pointer}.plan-choices label:has(input:checked){background:#eaf2ff;border-color:var(--blue);color:var(--blue)}.plan-choices input{min-height:0;width:auto;margin-right:3px}.plan-choices strong{display:block;margin:8px 0 2px;font-size:1rem}.progress{display:flex;gap:6px;margin:15px 0 25px}.progress span{height:5px;background:#dfe7f0;flex:1;border-radius:5px}.progress .done{background:var(--blue)}.qr{max-width:240px;display:block;margin:15px auto}.code{background:#f1f5fa;padding:14px;border-radius:8px;overflow-wrap:anywhere;font-family:monospace;font-size:.875rem}.camera{width:100%;max-height:250px;background:#102137;border-radius:10px}.error{color:var(--danger);font-size:.875rem;line-height:1.5;margin:12px 0;white-space:pre-wrap}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:var(--nav);color:#fff;padding:50px clamp(25px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;gap:50px}.login-story h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;max-width:560px;letter-spacing:-.055em}.login-story p{color:#a8c1da;max-width:440px}.login-story .line{width:60px;height:4px;background:#54d5be;margin:30px 0}.login-form{padding:50px 25px;display:grid;place-items:center;background:#fff}.login-form form{width:100%;max-width:375px}.login-form h2{font-size:1.7rem;margin-bottom:6px}.login-foot{margin-top:23px;font-size:.75rem;color:var(--muted);line-height:1.6}.history-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:20px}.history-controls .field{margin:0}.history-toolbar{padding:15px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--border)}.history-toolbar input[type=range]{padding:0;flex:1;min-width:130px}.report-stats{display:flex;gap:25px;flex-wrap:wrap;margin:18px 0}.report-stats strong{font-size:1.3rem;display:block}.report-stats span{font-size:.8125rem;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#102137;color:#fff;padding:13px 20px;border-radius:10px;box-shadow:0 5px 30px #0003;z-index:10000;max-width:calc(100% - 30px);display:none;font-size:.875rem}dialog{border:1px solid var(--border);border-radius:17px;padding:0;width:min(560px,calc(100% - 28px));color:var(--ink);max-height:90dvh;box-shadow:0 20px 80px #07142340}dialog::backdrop{background:#08182c80;backdrop-filter:blur(2px)}.modal-head{padding:22px 25px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:10px}.modal-head h2{margin:0}.modal-body{padding:23px 25px}.modal-head button{font-size:20px;min-width:44px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.check input{width:auto;min-height:0;margin-top:5px}.license-date{font-variant-numeric:tabular-nums}.readonly{padding:12px 0;color:var(--muted)}
@media(min-width:1600px){.map{height:650px}.fleet{grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:1150px){.shell{grid-template-columns:180px minmax(0,1fr)}.fleet{grid-template-columns:minmax(0,1fr)}.vehicle-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map{height:420px}.content{padding:24px}.history-controls{grid-template-columns:1fr 1fr}.history-controls .field:first-child{grid-column:1/-1}.grid3{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{padding:13px 14px;gap:13px}.sidebar .brand{font-size:1.1rem;padding:0}.sidebar small,.sidebar-foot{display:none}.nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.nav button{font-size:.75rem;justify-content:center;text-align:center;padding:9px 4px;min-height:42px}.navicon{display:none}.topbar{padding:12px 17px;min-height:65px}.topbar .crumb{font-size:.75rem}.account .avatar,.account .user-name{display:none}.content{padding:22px 15px}.demo-banner{padding:9px 16px;font-size:.75rem}h1{font-size:1.6rem}.page-head{margin-bottom:15px}.stats{gap:15px;font-size:.8125rem;padding:7px 0 18px}.fleet{gap:15px}.vehicle-list,.grid2{grid-template-columns:1fr}.map{height:350px}.map-top{padding:12px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.alert-row{align-items:flex-start;gap:11px;flex-wrap:wrap}.alert-row .grow{min-width:180px}.login-page{display:block}.login-story{padding:25px;gap:20px}.login-story h1{font-size:1.8rem;margin:0}.login-story p,.login-story .line,.login-story .small{display:none}.login-form{padding:28px 24px}.modal-head,.modal-body{padding:19px}.history-controls{gap:10px}.data-table td,.data-table th{padding:12px 8px}.grid2 .panel{min-width:0}.report-stats{gap:17px}.topbar button{font-size:.75rem}}
@media print{body{background:#fff}.sidebar,.topbar,.demo-banner,.page-head button,.history-controls,.history-toolbar,#toast,dialog,button{display:none!important}.shell{display:block}.content{padding:0}.panel,.map-wrap{box-shadow:none;border-color:#ddd}.map{height:360px}.page-head{margin:0 0 20px}.leaflet-control-zoom{display:none}.table-wrap{overflow:visible}.grid2{display:block}.print-note{display:block}.license-date{white-space:nowrap}h1{font-size:23px}}
@media print{body.printing-card #app{display:none}body.printing-card dialog{display:block!important;position:static;margin:0;border:0;box-shadow:none;max-height:none;width:100%}body.printing-card .modal-head,body.printing-card .note,body.printing-card .error{display:none!important}body.printing-card .qr{max-width:260px}}
/* Fleet workspace 1.1 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-control{margin:0}.language-control select{width:auto;min-width:96px;min-height:38px;font-size:.8rem;padding:7px 10px}.login-preferences{margin-bottom:24px}.fleet-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.fleet-tools>input{flex:2;min-width:200px}.fleet-tools>select{flex:1;min-width:150px}.map-choice{display:flex;align-items:center;gap:9px;max-width:330px;margin:0 0 15px;font-size:.8rem}.map-choice select{font-size:.85rem;min-width:160px}.fleet-tools .map-choice{margin:0}.insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.insights button{background:#fff;border-radius:13px;padding:18px;text-align:left;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow)}.insights strong{font-size:1.6rem;color:var(--blue)}.insights span{font-size:.8rem;font-weight:500;line-height:1.5}.star-button{padding:0;border:0;min-height:28px;min-width:28px;font-size:1.4rem;color:#986300}.star-button[aria-pressed=true]{color:#bc7f03}.vehicle-card .row.spread{gap:5px}.navigation-links{display:flex;gap:14px;margin-top:15px;font-size:.8rem}.fuel-link{font-size:.8rem;margin-top:8px;padding:6px 0}.fleet-tools button[aria-pressed=true]{background:#e1ecfc;border-color:var(--blue)}.google-pin{position:absolute;transform:translate(-50%,-50%);height:32px;width:32px;min-height:32px;padding:0;z-index:3}.monthly-controls{display:grid;grid-template-columns:200px minmax(200px,1fr) auto;gap:14px;align-items:end;margin-bottom:24px}.monthly-controls .field{margin:0}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.report-heading h2{margin-bottom:6px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.metric-grid>div{background:#fff;border:1px solid var(--border);border-radius:13px;padding:23px}.metric-grid span{font-size:.8rem;color:var(--muted);display:block;margin-bottom:9px}.metric-grid strong{display:block;font-size:1.65rem;letter-spacing:-.03em}.metric-grid small{font-size:.75rem;color:var(--muted);display:block;margin-top:9px}.report-section{margin-top:20px}.fuel-bars{display:flex;align-items:flex-end;gap:4px;height:170px;padding:5px 0 25px;border-bottom:1px solid var(--border);margin:25px 0}.fuel-bar{border:0;position:relative;flex:1;min-width:8px;height:100%;padding:0;min-height:0;border-radius:3px;display:flex;align-items:flex-end;background:transparent}.fuel-bar:hover{background:#1763ce12}.fuel-bar span{display:block;background:#168b77;width:100%;border-radius:4px 4px 0 0;min-width:3px}.fuel-bar small{position:absolute;bottom:-22px;width:100%;font-size:.65rem;font-weight:400;color:var(--muted)}.data-table tr.highlight td{background:#fff2d6}.activity-track{display:flex;gap:1px;height:16px;border-radius:5px;overflow:hidden;margin-top:20px;background:#d3dce7}.activity-moving{background:#1763ce}.activity-idle{background:#e49a30}.activity-stopped{background:#168b77}.activity-stationary{background:#779196}.activity-unknown{background:repeating-linear-gradient(45deg,#d8dfe7,#d8dfe7 4px,#edf1f5 4px,#edf1f5 8px)}.activity-legend{display:flex;gap:17px;flex-wrap:wrap;font-size:.75rem;margin:12px 0;color:var(--muted)}.activity-legend span:nth-child(1){color:#1763ce}.activity-legend span:nth-child(2){color:#ac6c0d}.activity-legend span:nth-child(3){color:#168b77}#speed-chart{width:100%;min-height:160px;cursor:crosshair;overflow:visible}#speed-chart text{fill:var(--muted);font-size:12px}.history-controls{margin-top:15px}
[data-theme=dark]{--ink:#e1e9f4;--muted:#a3b5cc;--bg:#101925;--border:#334359;--blue:#80b8ff;--nav:#0b1422;color-scheme:dark}[data-theme=dark] .panel,[data-theme=dark] .topbar,[data-theme=dark] .vehicle-card,[data-theme=dark] .map-wrap,[data-theme=dark] .metric-grid>div,[data-theme=dark] .insights button,[data-theme=dark] .login-form,[data-theme=dark] dialog{background:#182537}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] button{background:#1b2c43;color:var(--ink)}[data-theme=dark] .primary{background:#1763ce;color:#fff;border-color:#1763ce}[data-theme=dark] .ghost{background:transparent}[data-theme=dark] .data-table td{border-color:var(--border)}[data-theme=dark] .note{background:#1c334d;color:#c2d8f3;border-color:#365675}[data-theme=dark] .demo-banner,[data-theme=dark] .warning{background:#3d311b;color:#ecd29b;border-color:#705728}[data-theme=dark] .code{background:#102137}[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip{background:#182537;color:#e1e9f4}[data-theme=dark] .car-marker{background:#1763ce;color:white}[data-theme=dark] .fuel-bar{background:transparent}[data-theme=dark] .data-table tr.highlight td{background:#443719}
@media(max-width:1100px){.insights{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:1fr}.monthly-controls{grid-template-columns:1fr 1fr}.monthly-controls button{grid-column:1/-1}.fleet-tools .map-choice{flex-basis:100%;max-width:none}.fleet-tools .map-choice select{max-width:260px}.topbar{flex-wrap:wrap}.account{flex-wrap:wrap}}
@media(max-width:600px){.insights{gap:8px}.insights button{padding:12px;gap:8px}.insights strong{font-size:1.3rem}.insights span{font-size:.7rem}.fleet-tools>input,.fleet-tools>select{flex-basis:100%}.monthly-controls{grid-template-columns:1fr}.monthly-controls button{grid-column:auto}.account{gap:4px}.fuel-bars{gap:2px}.fuel-bar small{font-size:.55rem}.report-heading .row{width:100%}.report-heading button{flex:1}.map-choice{max-width:100%}.language-control select{min-width:86px}.history-controls{grid-template-columns:1fr}.history-controls .field:first-child{grid-column:auto}}
@media print{.fleet-tools,.insights,.map-choice,.monthly-controls,.report-heading .row,.navigation-links{display:none!important}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-grid>div{padding:10px}.report-section{break-inside:auto}.fuel-bar{display:flex!important}.fuel-bars{print-color-adjust:exact}.report-section .data-table{font-size:10px}.report-section .data-table th,.report-section .data-table td{padding:7px 4px}#speed-chart{min-height:0}.activity-track{print-color-adjust:exact}:root,[data-theme=dark]{--ink:#17283f;--muted:#62728a;--bg:#fff;--border:#ddd}.panel,.metric-grid>div{background:white!important;color:#17283f!important}}

/* Own billing */
.billing-tabs{flex-wrap:wrap;margin-bottom:20px;gap:8px}.billing-tabs+ .note{margin-bottom:16px}#billing-panel .panel{margin-bottom:20px}.billing-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.billing-details dt{font-size:12px;color:var(--muted);margin-top:16px}.billing-details dd{margin:5px 0;overflow-wrap:anywhere}.billing-export{margin-bottom:15px}#billing-panel textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink);font:13px monospace;resize:vertical}#billing-panel .actions{flex-wrap:wrap;gap:8px}#billing-panel td{max-width:380px;overflow-wrap:anywhere}#bank-preview{margin-top:20px}#billing-panel .small{display:block}#billing-panel .check{margin:14px 0}#billing-panel a{color:var(--blue);text-decoration:underline}#bill-settings-form>.primary{margin-bottom:30px}@media(max-width:680px){.billing-plans{grid-template-columns:1fr}.billing-tabs button{flex:1}}

.plan-choices label:has(input:disabled){opacity:.65;cursor:default}.plan-choices .small{display:block;margin-top:7px}@media(max-width:600px){.plan-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact vehicle cards: retain information and all actions. */
.vehicle-card{padding:12px 14px;border-radius:12px;min-width:0}
.vehicle-card .select-vehicle{margin:3px 0 2px;font-size:.94rem;overflow-wrap:anywhere}
.vehicle-driver{font-size:.78rem;line-height:1.4;margin-top:2px;overflow-wrap:anywhere}
.vehicle-driver span{color:var(--muted)}
.vehicle-data{gap:10px;flex-wrap:wrap;margin:8px 0;font-size:.8125rem}
.vehicle-data>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.vehicle-data small{display:inline;margin:0;font-size:.72rem}
.vehicle-actions{gap:5px}.vehicle-actions button{min-width:0;min-height:34px;padding:5px 6px;font-size:.76rem}
.vehicle-card .navigation-links{margin-top:7px;gap:12px;flex-wrap:wrap;font-size:.75rem}
.vehicle-time{margin-top:7px;font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}
@media(pointer:coarse){.vehicle-actions button,.vehicle-card .select-vehicle,.vehicle-card .star-button{min-height:44px}.vehicle-card .star-button{min-width:44px}.vehicle-card .navigation-links a{min-height:44px;display:inline-flex;align-items:center}}

/* Persistent fleet labels: shared by OpenStreetMap and Google Maps. */
.map-pin-label{position:absolute;left:37px;top:50%;transform:translateY(-50%);display:block;width:max-content;max-width:210px;padding:5px 9px;background:#fff;color:#172d45;border:1px solid #c9d7e5;border-radius:7px;box-shadow:0 2px 8px #15345826;text-align:left;font:12px/1.35 Inter,Segoe UI,system-ui,sans-serif;cursor:pointer}
.map-pin-label>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-pin-name{font-weight:700}.map-pin-driver{font-weight:500;color:#40566e;margin-top:1px}.map-pin-status{font-size:11px;color:#66758a;margin-top:2px}
.car-marker.is-offline,[data-theme=dark] .car-marker.is-offline{background:#6b7280;color:#fff}
.car-marker.is-offline .map-pin-label{border-color:#b6bdc6;background:#f1f3f5;color:#475467}
.car-marker:hover,.car-marker:focus-visible{z-index:10000!important}
[data-theme=dark] .map-pin-label{background:#182537;color:#e1e9f4;border-color:#53677f}
[data-theme=dark] .map-pin-driver{color:#c0cede}[data-theme=dark] .map-pin-status{color:#abb9cb}
[data-theme=dark] .car-marker.is-offline .map-pin-label{background:#2d3643;color:#d1d8e2;border-color:#687384}
.leaflet-popup-content{white-space:pre-line}
@media(max-width:600px){.map-pin-label{max-width:160px;padding:4px 7px;font-size:11px}.map-pin-status{font-size:10px}}

/* Route points retain their meaning on screen and in print. */
.route-pin.route-start{background:#087b65}.route-pin.route-finish{background:#bb3447}.route-pin.route-stop{background:#a76300;width:14.4px!important;height:12.8px!important;min-width:0;min-height:0;padding:0;border-width:1px;border-radius:3px;font-size:6px;box-shadow:0 1px 2px #15345844}.route-pin.route-loop{background:linear-gradient(90deg,#087b65 50%,#bb3447 50%);font-size:10px}
.route-pin.route-start .map-pin-label{left:auto;right:38px}
.route-pin.route-direction{background:transparent;border:0;box-shadow:none;pointer-events:none;color:#124fa8;font-size:22px}.route-arrow{display:block;text-shadow:0 0 2px white,0 0 3px white;line-height:1}
.route-legend{display:flex;flex-wrap:wrap;gap:12px;padding:16px;font-size:13px;border-top:1px solid var(--border)}.route-key{font-weight:700}.route-key.start{color:#087b65}.route-key.finish{color:#bb3447}.route-key.stop{color:#8c5400}
.route-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 16px 12px;font-size:12px}.route-endpoints span{display:block;margin-top:5px}.route-note{padding:0 16px;font-size:12px;color:var(--muted);line-height:1.6}.route-stops{padding:0 16px 16px;font-size:13px}.route-stops summary{cursor:pointer;font-weight:600}.route-stop-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.route-stop-list button{font-size:12px}.map-error button{margin-left:6px;min-height:32px;padding:5px 9px}
.history-print-layout .sidebar,.history-print-layout .topbar,.history-print-layout .demo-banner,.history-print-layout .page-head button,.history-print-layout .history-controls,.history-print-layout .history-toolbar,.history-print-layout .map-choice,.history-print-layout .mobile-nav,.history-print-layout #toast{display:none!important}.history-print-layout .shell{display:block}.history-print-layout .content{width:190mm;max-width:none;padding:0}.history-print-layout #history-map{height:100mm}.history-print-layout .map-wrap{border-radius:0}.history-print-layout .leaflet-container{background:#e6edf2}
@media(max-width:600px){.route-endpoints{grid-template-columns:1fr}}
@media print{#history-result .map-wrap{break-inside:avoid;border-radius:0}#history-map{height:100mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}#history-map .google-pin{display:grid!important}#history-map img.leaflet-tile{max-width:none!important}.route-legend,.route-pin{print-color-adjust:exact;-webkit-print-color-adjust:exact}.route-endpoints{grid-template-columns:1fr 1fr}.route-stops{display:none}.route-note{color:#344255}.history-print-layout .content{width:190mm;max-width:100%}}
@page gps-route{size:A4 portrait;margin:10mm}
@media print{body.history-print-layout{page:gps-route}}
/* Fleet services and automation, 1.7 */
.auto-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}
.auto-vehicle-picker{max-height:200px;overflow:auto;padding:8px 0}
#automation-preferences fieldset{border:1px solid #cbd5e1;border-radius:10px;margin:16px 0;padding:12px}
#automation-preferences legend{font-weight:600;padding:0 6px}
.route-tools{padding:14px 18px;border-top:1px solid #dce3ed}
.route-tools details{margin-top:12px}
.route-address-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e1e5ec}
.route-address-row span{flex:1;min-width:0}
.route-speed-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0}
.route-speed-legend i{display:inline-block;width:24px;height:4px;vertical-align:middle;margin-right:6px}
.shared-page{max-width:1000px;margin:auto;padding:20px}
.shared-page .map{height:65vh;min-height:300px;border-radius:14px}
#share-created input{width:100%;margin-bottom:10px}
@media(max-width:620px){.route-address-row{flex-wrap:wrap}.route-address-row span{flex-basis:75%}.auto-check-grid{grid-template-columns:1fr 1fr}}
@media print{.route-tools button,.route-tools .check{display:none}.route-tools details{display:none}}
