.vs3-fullscreen{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}
:root{--navy:#0d2135;--blue:#1677ff;--pink:#e94b98;--bg:#f4f7fb;--line:#e3e8ef;--text:#182334;--muted:#728096;--ok:#138a52}*{box-sizing:border-box}.vs3-app{display:flex;min-height:760px;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid var(--line);border-radius:18px;overflow:hidden}.vs3-side{width:225px;background:var(--navy);padding:16px 12px;color:#fff;flex:none}.vs3-logo{font-size:21px;font-weight:800;padding:12px 10px 22px}.vs3-logo small{opacity:.65}.vs3-nav{display:block;width:100%;border:0;background:transparent;color:#dbe6f2;text-align:left;padding:12px 13px;border-radius:10px;margin:2px 0;cursor:pointer;font-size:14px}.vs3-nav:hover,.vs3-nav.active{background:#1b4d7d;color:#fff}.vs3-logout{display:block;margin:20px 10px;color:#cbd9e7;font-size:13px}.vs3-main{flex:1;padding:26px;min-width:0}.vs3-main header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.vs3-main h1{margin:2px 0 0;font-size:28px}.muted{color:var(--muted);font-size:13px}.vs3-tab{display:none}.vs3-tab.active{display:block}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.card{min-height:110px}.card b{display:block;margin-bottom:13px}.card strong{font-size:27px}.panel{margin-bottom:16px}.panel h2{margin:0 0 18px;font-size:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#6c7b8f}.vs3-app button,.vs3-login button{border:0;border-radius:9px;padding:10px 14px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.vs3-app button:disabled{opacity:.55;cursor:not-allowed}.vs3-form,.ajax-form{display:flex;flex-direction:column;gap:12px}.ajax-form label,.vs3-form label,.vs3-login label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.ajax-form input,.ajax-form select,.ajax-form textarea,.search,.vs3-login input{width:100%;border:1px solid #d6dee8;border-radius:9px;padding:10px 11px;background:#fff;font:inherit;font-weight:400}.ajax-form textarea{min-height:80px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.search{margin:4px 0 14px}.badge,.visit{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f6;font-size:11px;font-weight:700}.visit.zielony{background:#def6e9;color:#12633f}.visit.zolty{background:#fff3c4}.visit.pomaranczowy{background:#ffe2c4}.visit.czerwony{background:#ffd8d8;color:#8c2222}.state-box,.notice{padding:13px 15px;background:#eef5ff;border-radius:10px;margin:12px 0}.vehicle{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:14px}.vehicle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.route-actions{margin:12px 0}.vs3-modal{display:none;position:fixed;inset:0;background:#07142399;align-items:center;justify-content:center;padding:20px;z-index:99999}.vs3-modal.open{display:flex}.modal-inner{width:min(650px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;position:relative}.close{position:absolute;right:12px;top:8px;background:transparent!important;color:#222!important;font-size:28px;padding:2px 8px!important}.toast{position:fixed;right:20px;bottom:20px;background:#102b45;color:#fff;padding:13px 16px;border-radius:10px;display:none;z-index:100000}.toast.show{display:block}.vs3-login{max-width:430px;margin:40px auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}.vs3-login h2{margin-top:0}@media(max-width:900px){.vs3-app{display:block}.vs3-side{width:100%;display:flex;gap:4px;overflow:auto;padding:8px}.vs3-logo{display:none}.vs3-nav{width:auto;white-space:nowrap}.vs3-main{padding:14px}.cards{grid-template-columns:1fr}.grid4,.vehicle-grid{grid-template-columns:1fr 1fr}.vs3-main header{flex-direction:column}.vs3-main h1{font-size:23px}}@media(max-width:520px){.grid2,.grid4,.vehicle-grid{grid-template-columns:1fr}table{font-size:12px}}
.route-client-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:280px;overflow:auto;padding:10px;border:1px solid #ddd;border-radius:10px;background:#fafafa;margin:6px 0 10px}.route-client-check{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e2e2e2;border-radius:8px;background:#fff;cursor:pointer}.route-client-check:hover{background:#f4f8f4}.route-client-check input{width:auto!important;margin:0}.route-client-check input:checked+span{font-weight:700}.route-stops{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.route-stops span{display:inline-block;padding:3px 7px;border-radius:12px;background:#eef5ee;font-size:12px}
.route-live-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.route-live-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.route-edit-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto;margin:12px 0}.route-edit-list label{display:flex!important;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.route-edit-list input{width:auto!important}.route-edit-list span{font-size:12px;color:var(--muted)}
/* V3.0.7 status colours */
.badge.status-saved{background:#d9f7df;color:#176b2b;border:1px solid #9ad8a5}
.badge.status-to_explain{background:#fff0c2;color:#8a5a00;border:1px solid #e7c15a}
.badge.status-open{background:#d8f4df;color:#16733a;border:1px solid #8fd0a3}
.badge.status-closed{background:#e6e8eb;color:#4b5563;border:1px solid #c8cdd4}
.badge.status-planned{background:#e9eefc;color:#3454a1;border:1px solid #b9c7ee}
.danger-panel{border:1px solid #e5a3a3}.danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}
.badge.status-corrected{background:#dcecff;color:#245d9c;border:1px solid #9ec5ee}
.badge.status-error{background:#ffdede;color:#9b2222;border:1px solid #e5a0a0}

.route-search-box{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #d7e1eb;border-radius:12px;background:#fff;min-height:42px}.route-search-box>span{font-size:17px}.route-search-box input{margin:0!important;border:0!important;box-shadow:none!important;padding-left:0!important;background:transparent!important;min-width:0}.route-region-select-wrap{min-width:220px}.route-picker-tools .route-region-select-wrap select{margin:0!important;width:100%}.route-picker-tools .route-search-box{width:100%}.route-filter-hidden{display:none!important}
.route-picker-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:center;margin:8px 0 10px}
.route-picker-tools .route-client-search,.route-picker-tools .route-edit-search{margin:0}
.route-selected-count,.route-edit-selected-count{font-size:12px;font-weight:800;color:var(--navy);white-space:nowrap}
.route-select-visible,.route-unselect-visible,.route-edit-select-visible,.route-edit-unselect-visible{padding:8px 10px!important;font-size:12px!important;background:#eef4fb!important;color:#1c3854!important;border:1px solid #cbd8e5!important}
.route-client-picker{max-height:320px}
.route-client-check{min-height:48px;transition:.15s ease;border:1px solid #dce4ec!important}
.route-client-check.is-selected{background:#eaf6ff;border-color:#5d9de8!important;box-shadow:0 0 0 2px rgba(93,157,232,.14)}
.route-client-check.is-selected span:before{content:'✓ ';font-weight:900;color:#1677ff}
.route-edit-list{max-height:52vh}
.route-edit-client-row{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px!important;cursor:pointer;transition:.15s ease}
.route-edit-client-row.is-selected{background:#eaf6ff!important;border-color:#5d9de8!important;box-shadow:0 0 0 2px rgba(93,157,232,.12)}
.route-edit-client-name{display:flex;align-items:center;gap:8px;min-width:0}
.route-edit-client-name b{overflow:hidden;text-overflow:ellipsis}
.visited-choice{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px!important;color:#526275!important}
.route-close-modal{width:min(760px,100%)}
.route-close-driver{padding:10px 12px;background:#f4f7fb;border:1px solid var(--line);border-radius:10px;margin:10px 0}
.route-close-stock{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.route-close-stock>div{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center}.route-close-stock span{display:block;font-size:12px;color:var(--muted)}.route-close-stock b{display:block;font-size:22px;margin-top:3px}
.route-close-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.route-close-actions button{background:#eef4fb!important;color:#1c3854!important;border:1px solid #cbd8e5!important}
.route-return-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-return-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.route-return-card.blue{box-shadow:inset 0 0 0 2px rgba(22,119,255,.05)}.route-return-card.pink{box-shadow:inset 0 0 0 2px rgba(233,75,152,.05)}.route-return-card>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.route-return-card>div:first-child span{font-size:11px;color:var(--muted)}.stepper{display:grid;grid-template-columns:42px 1fr 42px;gap:6px}.stepper button{font-size:20px;padding:6px 0!important}.stepper input{margin:0!important;text-align:center;font-size:18px!important;font-weight:800!important}.route-close-remaining{padding:12px 14px;background:#eef5ff;border-radius:10px;margin:12px 0}.route-close-note{min-height:75px}
@media(max-width:760px){.route-picker-tools{grid-template-columns:1fr 1fr}.route-selected-count,.route-edit-selected-count{grid-column:1/-1}.route-close-stock{grid-template-columns:1fr 1fr}.route-return-grid{grid-template-columns:1fr}}

/* V3.1.6 – clearer vehicle stock + route closing */
.driver-pick-box{padding:14px;background:#f7f9fc;border:1px solid var(--line);border-radius:14px;margin-bottom:8px}.driver-stock-preview{margin-top:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}.dsp-title{font-weight:800;margin-bottom:9px}.dsp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dsp-grid span{padding:9px 10px;border-radius:10px;background:#f4f7fb;font-size:12px}.dsp-grid b{font-size:17px;margin-left:4px}.route-car-state{font-weight:800}.route-close-note-box{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;overflow:hidden}.route-close-note-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 14px;background:#f1f5fa;border-bottom:1px solid var(--line)}.route-close-note-head>div{display:flex;flex-direction:column;gap:4px}.route-close-note-head strong{font-size:14px}.route-close-note-head span{font-size:11px;color:var(--muted);font-weight:500}.route-close-note-count{white-space:nowrap;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted)!important}.route-close-note{border:0!important;border-radius:0!important;min-height:96px!important;padding:14px!important;background:#fff!important;resize:none!important;outline:none!important}.route-close-submit-box{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px;border:1px solid #d6e3ef;border-radius:14px;background:#eef6ff}.route-close-submit-box>div{display:flex;flex-direction:column;gap:4px}.route-close-submit-box strong{font-size:14px}.route-close-submit-box span{font-size:12px;color:var(--muted)}.confirm-route-close{min-width:210px!important;padding:14px 18px!important;font-size:14px!important;letter-spacing:.2px;box-shadow:0 6px 16px rgba(22,119,255,.18)}.route-close-remaining{display:flex;justify-content:space-between;align-items:center;gap:10px}.route-close-remaining>span{font-size:12px;color:var(--muted)}.route-close-remaining .rc-remain{font-size:16px}
@media(max-width:760px){.dsp-grid{grid-template-columns:1fr 1fr}.route-close-note-head{flex-direction:column}.route-close-submit-box{flex-direction:column;align-items:stretch}.confirm-route-close{width:100%!important}.route-close-remaining{align-items:flex-start;flex-direction:column}}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid3{grid-template-columns:1fr}}
.badge.status-saved{box-shadow:0 1px 2px rgba(0,0,0,.04)}

/* V3.1.8 regional filters and monthly refill report */
.client-filter-row{display:grid;grid-template-columns:minmax(220px,1fr) 220px;gap:10px;align-items:center;margin:4px 0 14px}.client-filter-row .search{margin:0}.client-filter-row select,.route-picker-tools select{width:100%;border:1px solid #d6dee8;border-radius:9px;padding:10px 11px;background:#fff;font:inherit}.route-client-check small{display:block;margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.monthly-refill-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.monthly-refill-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.monthly-refill-summary>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;justify-content:space-between;gap:8px}.monthly-refill-summary span{font-size:12px}.monthly-refill-summary b{font-size:20px}.route-edit-client-row small{font-size:11px;color:var(--muted);margin-left:auto}@media(max-width:760px){.client-filter-row,.monthly-refill-summary{grid-template-columns:1fr}}

/* V3.1.9 */
#client-table th.sortable{cursor:pointer;user-select:none}#client-table th.sortable:hover{background:#f4f8fc;color:#173a5d}.refill-sections{display:flex;flex-direction:column;gap:12px;margin:12px 0}.refill-section{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.refill-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.refill-section-head h3{margin:0;font-size:16px}.refill-section-head span{font-size:12px;color:var(--muted)}.damaged-to-full{box-shadow:inset 0 0 0 2px rgba(19,138,82,.08)}.damaged-away{box-shadow:inset 0 0 0 2px rgba(180,35,24,.07)}.report-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 16px}.report-summary .card{min-height:85px;padding:14px}.report-summary .card b{font-size:12px;color:var(--muted)}.report-summary strong{font-size:23px;display:block;margin-top:5px}.history-table{min-width:1050px}.client-edit,.exchange-edit{background:#eef4fb!important;color:#183a5b!important;border:1px solid #cbd8e5!important}.empty-filter-row td{text-align:center;padding:18px;color:var(--muted)}#history-driver-filter{min-width:200px;border:1px solid #d6dee8;border-radius:9px;padding:9px 10px;background:#fff}@media(max-width:900px){.report-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.report-summary{grid-template-columns:1fr}.refill-section-head{flex-direction:column;align-items:flex-start}.history-table{min-width:900px}}


/* V3.2.0 */
.secondary-btn{background:#eef4fb!important;color:#193b5d!important;border:1px solid #cbd8e5!important}.operations-panel .panel-head{align-items:center}.operations-panel .panel-head>div{min-width:0}.operations-panel h2{margin-bottom:4px}.operations-panel .panel-head p{margin:0}.ops-history-modal{width:min(1100px,100%)}.ops-history-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.ops-page-label{font-weight:800;color:#33465d;min-width:100px;text-align:center}
.vehicle-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.vehicle-stock-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-stock-group{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}.vehicle-stock-group>strong{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.vehicle-stock-group>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-stock-group span{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:#f6f8fb}.vehicle-stock-group b{font-size:20px}.vehicle-stock-group.full{box-shadow:inset 0 0 0 2px rgba(19,138,82,.07)}.vehicle-stock-group.empty{box-shadow:inset 0 0 0 2px rgba(22,119,255,.06)}
.dsp-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dsp-group{border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff;display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center}.dsp-group>strong{font-size:10px;letter-spacing:.08em;color:var(--muted)}.dsp-group span{padding:8px;background:#f6f8fb;border-radius:8px;display:flex;justify-content:space-between}.dsp-group b{font-size:16px}
.route-garage-stock{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:4px 0 12px;padding:12px;background:#f6f9fd;border:1px solid #dce6f0;border-radius:13px}.route-garage-stock>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.route-garage-stock span{font-size:12px;color:#536477}.route-garage-stock b{font-size:20px}.route-garage-all{background:#eef6ff!important}
.route-visible-count,.route-edit-visible-count{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap}.history-note-cell{max-width:280px;white-space:normal!important;line-height:1.35}.history-note-cell span{display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.worker-delete{background:#fde7e7!important;color:#8d2323!important;border:1px solid #efb5b5!important}.worker-delete:hover{background:#fbdada!important}
.report-stock-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}.report-stock-strip>div{padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;gap:10px;box-shadow:0 2px 8px rgba(25,44,67,.04)}.report-stock-strip span{font-size:12px;color:var(--muted)}.report-stock-strip b{font-size:15px}.report-table-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 3px 14px rgba(25,44,67,.04)}.report-table-card table th{background:#f7f9fc;position:sticky;top:0}.report-table-card table td,.report-table-card table th{padding:11px 10px}
@media(max-width:760px){.vehicle-stock-groups,.dsp-groups,.route-garage-stock,.report-stock-strip{grid-template-columns:1fr}.vehicle-stock-group>div{grid-template-columns:1fr 1fr}.operations-panel .panel-head{align-items:stretch;flex-direction:column}.operations-panel .secondary-btn{width:100%}}

.route-car-stock-split{display:flex;flex-direction:column;gap:5px}.route-car-stock-split span{display:block;padding:5px 7px;border-radius:7px;background:#f6f8fb;font-size:11px}.route-car-stock-split b{font-size:9px;color:#718096;letter-spacing:.06em;margin-right:5px}

/* V3.2.1 – czytelniejsze regiony, pewne filtrowanie trasy, faktury, osobne raporty */
.region-filter-box,.route-region-select-wrap{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border:1px solid #d7e1eb;border-radius:12px;background:#f7fafd;min-width:230px}.region-filter-box>span,.route-region-select-wrap>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#607084}.region-filter-box select,.route-region-select-wrap select{border:1px solid #cdd9e5!important;background:#fff!important;font-weight:800!important}.client-search-box{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #d7e1eb;border-radius:12px;background:#fff}.client-search-box>span{font-size:18px}.client-search-box .search{border:0!important;box-shadow:none!important;padding-left:0!important}.client-visible-count{font-size:11px;color:var(--muted);font-weight:800;white-space:nowrap}.region-filter-hidden{display:none!important}.route-filter-hidden{display:none!important}.invoice-btn,.invoice-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:800;border:1px solid #d5dee8;background:#fff;color:#4a5c70}.invoice-btn.issued,.invoice-badge.issued{background:#eaf8ee;border-color:#b9dfc4;color:#1b6b35}.invoice-date{display:block;margin-top:3px;font-size:9px;color:var(--muted)}.plus-flow{font-weight:900;color:#157a45}.report-page-card{padding:20px!important}.report-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.report-eyebrow{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#718096;margin-bottom:4px}.report-page-header h2{margin:0 0 4px}.report-filter-card{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:14px;margin-bottom:16px;border:1px solid #dce5ee;border-radius:14px;background:#f7fafd}.report-filter-card.single{grid-template-columns:260px auto}.report-filter-action button{min-height:42px}.report-empty{min-height:100px;display:flex;align-items:center}.report-table-card{overflow:hidden}.report-table-card .table-wrap{overflow:auto}.client-filter-row{grid-template-columns:minmax(260px,1fr) 250px auto!important;align-items:stretch!important}.route-picker-tools{display:grid!important;grid-template-columns:minmax(220px,1.5fr) 220px auto auto auto!important;gap:8px!important;align-items:center}.route-picker-tools .route-region-select-wrap{grid-column:auto}@media(max-width:900px){.report-filter-card,.report-filter-card.single{grid-template-columns:1fr}.report-total-summary{grid-template-columns:1fr 1fr}.client-filter-row{grid-template-columns:1fr!important}.route-picker-tools{grid-template-columns:1fr 1fr!important}.client-visible-count{justify-self:start}}


/* V3.2.2 – zawsze widoczna wybrana wartość filtrów i bez komunikatu przy fakturze */
.region-filter-box,.history-driver-filter-box{min-width:260px;display:flex;flex-direction:column;gap:6px;padding:9px 11px;border:1px solid #cfdbe8;border-radius:12px;background:#f7fafd;}
.region-filter-box>span,.history-driver-filter-box>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#5f7084;}
.region-filter-box select,.history-driver-filter-box select{width:100%;min-height:42px;border:1px solid #bfcddd!important;border-radius:9px!important;background:#fff!important;color:#18324d!important;font-size:14px!important;font-weight:800!important;line-height:1.2!important;padding:9px 34px 9px 11px!important;opacity:1!important;}
.filter-current-value{display:block;min-height:17px;color:#173a5d;font-size:12px;font-weight:800;line-height:1.3;}
.history-driver-filter-box{min-width:260px;}
@media(max-width:760px){.region-filter-box,.history-driver-filter-box{min-width:0;width:100%;}.filter-current-value{font-size:11px;}}

/* V3.2.3 – planowanie trasy kierowcy, widoczny garaż i pewne dane auta przy zamknięciu */
.driver-plan-banner{margin:4px 0 12px;padding:12px 14px;border:1px solid #cfe0ef;border-radius:12px;background:#f4f8fc;font-weight:800;color:#173a5d}.route-region-pills,.route-edit-region-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.region-pill{appearance:none;border:1px solid #cbd8e5!important;background:#fff!important;color:#29435c!important;border-radius:999px!important;padding:6px 10px!important;font-size:11px!important;font-weight:800!important;cursor:pointer!important}.region-pill:hover{background:#eef4fb!important}.region-pill.active{background:#173a5d!important;border-color:#173a5d!important;color:#fff!important}.route-region-current,.route-edit-region-current{display:block;margin-top:5px;color:#173a5d;font-size:11px}.route-close-stock{margin:14px 0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important}.route-close-stock>div{padding:12px!important;border:1px solid #dbe4ec!important;border-radius:11px!important;background:#f8fafc!important;display:flex!important;flex-direction:column!important;gap:5px!important}.route-close-stock span{font-size:11px;color:#607084!important;font-weight:700}.route-close-stock b{font-size:24px!important;color:#173a5d!important}.route-close-stock>div:nth-child(1) b,.route-close-stock>div:nth-child(3) b{color:#157a45!important}.route-close-stock>div:nth-child(2) b,.route-close-stock>div:nth-child(4) b{color:#2868a8!important}.route-close-stock:before{content:'Stan auta na zakończenie trasy';grid-column:1/-1;font-size:12px;font-weight:900;letter-spacing:.06em;color:#56697c;text-transform:uppercase;margin-bottom:-2px}.route-region-select-wrap>select,.route-edit-region-filter{display:none!important}.route-picker-tools{align-items:start!important}.route-picker-tools .route-region-select-wrap{min-width:280px}.route-client-picker{background:#f8fafc!important;border-color:#d5e0ea!important}.route-client-check.is-selected{border-color:#173a5d!important;background:#eef5fb!important;box-shadow:0 0 0 2px rgba(23,58,93,.08)}
@media(max-width:900px){.route-close-stock{grid-template-columns:1fr 1fr!important}.route-picker-tools{grid-template-columns:1fr!important}.route-picker-tools .route-region-select-wrap{min-width:0}}

/* V3.2.4 - czytelny stan garażu dla napełniającego */
.refill-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}
.refiller-garage-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.refiller-garage-card{border:1px solid #dfe5ec;border-radius:16px;padding:16px;background:#fff;box-shadow:0 4px 16px rgba(20,30,45,.06)}
.refiller-garage-title{font-size:14px;font-weight:800;letter-spacing:.04em;margin-bottom:12px}
.refiller-garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.refiller-garage-grid>div{background:#f7f9fb;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.refiller-garage-grid span{font-size:12px;color:#6b7280}.refiller-garage-grid strong{font-size:22px;line-height:1.1}
@media(max-width:760px){.refiller-garage-overview{grid-template-columns:1fr}.refiller-garage-grid{grid-template-columns:repeat(3,1fr)}}

/* V3.2.6 – kopie bezpieczeństwa, faktury, historia klienta */
.history-filter-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.invoice-filter-toggle,.report-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d1dbe5;border-radius:10px;background:#f7fafd;font-weight:800;font-size:12px;min-height:42px}.invoice-filter-toggle input,.report-check input{width:18px;height:18px}.client-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.client-history-summary>div{border:1px solid #dbe4ec;border-radius:13px;background:#f8fafc;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.client-history-summary span{font-size:11px;color:#66778a;font-weight:800}.client-history-summary b{font-size:16px;line-height:1.35;color:#173a5d}.backup-list{display:flex;flex-direction:column;gap:8px}.backup-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dbe4ec;border-radius:12px;background:#fff}.backup-row strong{display:block;font-size:13px}.backup-row span{font-size:11px;color:#66778a}.backup-empty{padding:16px;border:1px dashed #cbd5df;border-radius:12px;color:#66778a;text-align:center}.backup-list-box{margin-top:10px}.report-filter-card .report-check{align-self:stretch}.vs3-nav[data-tab="backups"]{margin-top:4px}@media(max-width:900px){.client-history-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.client-history-summary{grid-template-columns:1fr}.history-filter-actions{align-items:stretch}.invoice-filter-toggle{width:100%;box-sizing:border-box}.backup-row{align-items:flex-start;flex-direction:column}}

/* V3.2.7 – kalendarz wizyt, dziennik zmian i tryb kierowcy */
.visit-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.visit-kpis>div{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}.visit-kpis span{font-size:11px;color:var(--muted);font-weight:800}.visit-kpis b{font-size:24px;color:#173a5d}.month-picker{display:flex;flex-direction:column;gap:5px;min-width:180px;font-size:11px;color:#607084;font-weight:900}.month-picker input{min-height:42px}.visit-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:10px;border:1px solid #dbe4ec;border-radius:14px;background:#f5f8fb;overflow:auto}.visit-day-name{padding:7px 6px;text-align:center;font-size:10px;font-weight:900;color:#63748a}.visit-day{min-height:120px;padding:7px;background:#fff;border:1px solid #e1e7ee;border-radius:10px;display:flex;flex-direction:column;gap:5px;overflow:hidden}.visit-day.empty{background:transparent;border-style:dashed}.visit-day.has-visits{box-shadow:inset 0 0 0 2px rgba(23,58,93,.04)}.visit-day-number{font-size:11px;font-weight:900;color:#173a5d}.visit-chip{display:flex;flex-direction:column;gap:1px;text-align:left;padding:6px 7px;border:1px solid #d9e4ee;border-radius:8px;background:#f7fbff;cursor:pointer}.visit-chip b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-chip small{font-size:9px;color:#6a7a8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-more{font-size:9px;color:#65758a;font-weight:800}.visit-agenda{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.visit-agenda-col{border:1px solid #dbe4ec;border-radius:14px;background:#fff;padding:14px}.visit-agenda-col h3{margin:0 0 10px;font-size:14px}.visit-agenda-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e0e7ee;background:#f9fbfd;border-radius:10px;margin-bottom:7px;text-align:left;cursor:pointer}.visit-agenda-item div{display:flex;flex-direction:column;min-width:0}.visit-agenda-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-agenda-item small{font-size:10px;color:#68788c}.visit-agenda-item strong{font-size:10px;color:#173a5d;white-space:nowrap}.visit-empty{padding:14px;border:1px dashed #ccd8e3;border-radius:10px;color:#718096;font-size:12px;text-align:center}.visit-schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.client-highlight{animation:vs3-highlight 1.8s ease}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid #dce5ee;border-radius:14px;background:#f7fafd;margin-bottom:14px}.audit-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.audit-page-label{font-size:12px;color:var(--muted);font-weight:800}.vs3-header-right{display:flex;align-items:center;gap:10px}.driver-mode-toggle{white-space:nowrap}.driver-quick-bar{display:none}.driver-focus-mode .vs3-side{display:none}.driver-focus-mode .vs3-main{width:100%;max-width:none}.driver-focus-mode .vs3-main .vs3-tab .panel{border-radius:18px}.driver-focus-mode button,.driver-focus-mode .vs3-nav{min-height:46px}.driver-focus-mode input,.driver-focus-mode select{min-height:46px}.driver-focus-mode .driver-quick-bar{display:grid;position:fixed;left:10px;right:10px;bottom:10px;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border:1px solid #d5dfe8;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(22,41,62,.16);z-index:9999}.driver-focus-mode .driver-quick-bar button{border:1px solid #d7e1ea;background:#f7fafc;border-radius:12px;font-size:14px;font-weight:900}.driver-focus-mode .driver-quick-bar span{display:block;font-size:10px;margin-top:2px}.driver-focus-mode .vs3-main{padding-bottom:90px}@keyframes vs3-highlight{0%,100%{background:inherit}20%,70%{background:#fff2b8}}
@media(max-width:900px){.visit-kpis{grid-template-columns:1fr 1fr}.visit-agenda{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr 1fr}.visit-schedule-fields{grid-template-columns:1fr}.visit-calendar-grid{min-width:760px}.vs3-header-right>span{display:none}}
@media(max-width:600px){.visit-kpis{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr}.driver-quick-bar{display:none}}


/* V3.2.9 – Visual redesign based on approved VikingSoda navy concept. Functional selectors are preserved. */
:root{
  --vs-bg:#071b2d;--vs-bg-2:#0a243d;--vs-panel:#0b2944;--vs-panel-2:#0e3150;--vs-line:#1a4668;--vs-line-2:#25577d;
  --vs-text:#f4f8ff;--vs-muted:#9bb1c7;--vs-blue:#1682ff;--vs-blue-2:#2ea0ff;--vs-pink:#eb4c9b;--vs-green:#10b981;--vs-yellow:#f4c95d;--vs-danger:#ef6b73;
}
.vs3-app{min-height:780px;border:1px solid #0d3858;border-radius:20px;background:linear-gradient(135deg,#06182a 0%,#081e33 45%,#09243c 100%);color:var(--vs-text);box-shadow:0 25px 60px rgba(0,0,0,.18);overflow:hidden}
.vs3-side{width:226px;background:linear-gradient(180deg,#06192b 0%,#071d31 100%);border-right:1px solid #0e3655;padding:16px 12px;display:flex;flex-direction:column}
.vs3-logo{padding:11px 12px 22px;font-size:24px;letter-spacing:-.04em;color:#fff}.vs3-logo small{color:#6ea8d5;opacity:.95;font-weight:800}
.vs3-nav{padding:11px 13px;margin:3px 0;border:1px solid transparent!important;border-radius:10px;background:transparent!important;color:#b9cadb!important;font-weight:750;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}
.vs3-nav:hover{background:rgba(35,119,180,.14)!important;color:#fff!important;transform:translateX(1px)}.vs3-nav.active{background:linear-gradient(135deg,#177eff,#2d92ff)!important;color:#fff!important;border-color:#3fa2ff!important;box-shadow:0 8px 20px rgba(22,119,255,.22)}
.vs3-logout{margin-top:auto;padding-top:18px;border-top:1px solid #12344e;color:#91aac0}.vs3-main{padding:24px 28px 34px;background:radial-gradient(circle at top right,rgba(20,93,153,.16),transparent 35%)}
.vs3-main header{align-items:center;margin-bottom:20px;padding-bottom:3px}.vs3-header-title{min-width:0}.vs3-header-title .eyebrow{display:block;color:#7ca2c2;font-size:10px;font-weight:900;letter-spacing:.18em;margin-bottom:6px}.vs3-header-title h1{margin:0;color:#fff;font-size:30px;letter-spacing:-.035em}.vs3-header-title .muted{margin:4px 0 0;color:#8ea8bf}
.vs3-header-right{display:flex;align-items:center;gap:12px}.vs3-global-search{width:min(560px,42vw);min-height:42px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid #1a4668;border-radius:13px;background:#09233a;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.vs3-global-search>span{font-size:22px;color:#7ca5c8;line-height:1}.vs3-global-search input{border:0!important;background:transparent!important;color:#eef7ff!important;padding:9px 0!important;outline:0!important;box-shadow:none!important}.vs3-global-search input::placeholder{color:#7290aa}.vs3-global-search kbd{font-size:10px;color:#7f9ab2;border:1px solid #264e6d;border-radius:6px;padding:3px 6px;background:#0b2b47;white-space:nowrap}
.vs3-user-chip{display:grid;grid-template-columns:34px auto auto;column-gap:9px;align-items:center;min-width:180px;padding:6px 9px 6px 6px;border:1px solid #1a4668;border-radius:14px;background:#09233a}.vs3-user-avatar{grid-row:1 / span 2;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#1a84ff,#2e9eff);font-weight:900;color:#fff}.vs3-user-name{font-size:12px;font-weight:800;color:#eff8ff;line-height:1.05}.vs3-user-role{font-size:10px;color:#7f9bb3;line-height:1.05}.vs3-user-caret{grid-column:3;grid-row:1 / span 2;color:#87a4bc;margin-left:auto}
.muted{color:var(--vs-muted);font-size:12px}.cards{gap:14px;margin-bottom:16px}.card,.panel{background:linear-gradient(180deg,rgba(14,49,80,.94),rgba(9,37,61,.96));border:1px solid var(--vs-line);border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.09)}.card{padding:18px;min-height:112px}.card b{color:#b6cce0;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.card strong{font-size:28px;color:#fff}.panel{padding:17px}.panel h2{color:#fff;font-size:18px;letter-spacing:-.02em}
.table-wrap{border:1px solid #174665;border-radius:13px;background:rgba(4,24,41,.55);overflow:auto}table{color:#eaf3fb}th,td{border-bottom:1px solid #173f5e;padding:11px 10px}th{color:#7fa0ba;background:#0b2d49;position:sticky;top:0;z-index:1}tbody tr:hover{background:rgba(35,130,200,.08)}
.vs3-app button{background:linear-gradient(135deg,#167fff,#2d91ff);color:#fff;border:1px solid rgba(77,168,255,.5);border-radius:10px;box-shadow:0 7px 18px rgba(8,87,161,.16)}.vs3-app button:hover{filter:brightness(1.06);transform:translateY(-1px)}.vs3-app button.secondary-btn,.secondary-btn{background:#0c3554!important;color:#cfe1f0!important;border-color:#245a7d!important;box-shadow:none}
.ajax-form label,.vs3-form label,.vs3-login label{color:#bcd0e0}.ajax-form input,.ajax-form select,.ajax-form textarea,.search,.vs3-login input,.client-filter-row select,#history-driver-filter{border-color:#245473!important;background:#092740!important;color:#eef7ff!important}.ajax-form input::placeholder,.ajax-form textarea::placeholder,.search::placeholder{color:#6f8ca6}.ajax-form input:focus,.ajax-form select:focus,.ajax-form textarea:focus,.search:focus{border-color:#338fe2!important;box-shadow:0 0 0 3px rgba(22,127,255,.12)!important;outline:0}
.badge.status-saved{background:rgba(16,185,129,.13);color:#72e6b8;border-color:#148f69}.badge.status-to_explain{background:rgba(244,201,93,.13);color:#ffd66f;border-color:#9b7a25}.badge.status-corrected{background:rgba(45,146,255,.14);color:#86c2ff;border-color:#2b6ea8}.badge.status-error{background:rgba(239,107,115,.13);color:#ff969c;border-color:#a64d54}.badge.status-open{background:rgba(16,185,129,.13);color:#75e3ba;border-color:#198f68}.badge.status-closed{background:rgba(148,163,184,.12);color:#b0becb;border-color:#53687a}.badge.status-planned{background:rgba(99,136,255,.13);color:#9eb4ff;border-color:#536db7}
.state-box,.notice{background:#0a2d4a;border:1px solid #1a4c6e;color:#dceaf5}.vehicle,.route-live-row,.route-edit-list label,.route-client-check,.route-return-card,.route-close-driver,.route-close-stock>div,.monthly-refill-box,.backup-row,.backup-empty,.visit-agenda-col,.visit-day,.visit-chip,.audit-filters,.route-close-note-box,.route-close-submit-box{background:linear-gradient(180deg,#0c304d,#09263f);border-color:#1c4a69;color:#dceaf5}
.route-client-picker{background:#07223a;border-color:#1b4a69}.route-client-check:hover{background:#0e3655}.route-client-check.is-selected,.route-edit-client-row.is-selected{background:rgba(22,127,255,.14)!important;border-color:#2b82d1!important;box-shadow:0 0 0 2px rgba(43,130,209,.14)!important}.route-client-check small,.route-edit-client-row small,.visited-choice,.route-return-card>div:first-child span,.route-close-remaining>span{color:#7894ab!important}
.route-picker-tools .route-search-box{background:#092740;border-color:#245473;color:#cfe3f2}.route-search-box input{color:#eef7ff!important}.route-selected-count,.route-edit-selected-count,.route-visible-count{color:#9bc5e9}.route-select-visible,.route-unselect-visible,.route-edit-select-visible,.route-edit-unselect-visible{background:#0c3554!important;color:#bcd2e3!important;border-color:#245a7d!important}
.route-garage-stock{background:#0a2b47!important;border-color:#1b4b6c!important}.route-close-note-head{background:#0b3554;border-color:#1b4b6a}.route-close-note-head span{color:#8da9c0!important}.route-close-note{background:#08263f!important;color:#eef7ff!important}.route-close-submit-box{background:linear-gradient(135deg,rgba(22,127,255,.13),rgba(11,47,75,.9));border-color:#2b6086}.confirm-route-close{background:linear-gradient(135deg,#147df8,#2f95ff)!important;box-shadow:0 12px 25px rgba(19,115,224,.22)!important}
.client-filter-row{gap:12px}.client-filter-row .client-search-box,.region-filter-box{background:#092740;border:1px solid #245473;border-radius:13px;padding:8px 10px}.client-filter-row .client-search-box .search{border:0!important;padding:7px 2px!important;background:transparent!important}.region-filter-box{display:flex!important;flex-direction:column;align-items:stretch;gap:5px}.region-filter-box>span,.route-region-select-wrap>span{font-size:10px!important;font-weight:900!important;letter-spacing:.1em;color:#79a5c8!important}.region-filter-box select,.route-region-select-wrap select{background:#08273f!important;border-color:#245473!important;color:#f0f7fd!important;min-height:40px}.filter-current-value,.route-region-current{font-size:11px;color:#b9def9!important}
.operations-panel .panel-head p{color:#7794ab}.operations-panel .open-modal{background:#0c3554!important;border-color:#245a7d!important;color:#cfe1f0!important}.report-summary .card{background:linear-gradient(180deg,#0c304d,#09263f);border-color:#1c4a69}.report-summary .card b{color:#7fa0ba}.report-summary strong{color:#f5fbff}
.visit-kpis>div,.monthly-refill-summary>div,.client-history-summary>div,.dsp-grid span,.vehicle-stock-group span,.refiller-garage-grid>div{background:#0a2b47;border-color:#1a4b69;color:#e0edf6}.visit-kpis span,.client-history-summary span,.refiller-garage-grid span{color:#7f9ab2}.visit-kpis b,.client-history-summary b{color:#f5fbff}.visit-calendar-grid{background:#072239;border-color:#1a4b69}.visit-day.empty{background:transparent}.visit-day-number{color:#b8d1e6}.visit-chip{background:#0b3554;border-color:#245978}.visit-chip small{color:#7f9ab2}.audit-filters{background:#0a2943}.audit-page-label,.ops-page-label{color:#8ca8bd}.history-table{min-width:1050px}
.vs3-modal{background:rgba(2,12,22,.78)}.modal-inner{background:linear-gradient(180deg,#0c304e,#08243b);color:#eaf4fb;border:1px solid #1f5275;box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal-inner h2{color:#fff}.close{color:#bcd0e0!important}.toast{background:#0b2e4b;border:1px solid #255a7d;box-shadow:0 10px 25px rgba(0,0,0,.24)}.vs3-login{background:linear-gradient(180deg,#0c304d,#09263f);border-color:#1c4a69;color:#eaf4fb;box-shadow:0 20px 50px rgba(0,0,0,.16)}.vs3-login p{color:#91aabd}
.vs3-app [style*="background:#fff"],.vs3-app [style*="background: #fff"]{background:#0c304d!important;color:#eaf4fb!important}
.vs3-app[data-role="refiller"] .vs3-global-search{display:none}
@media(max-width:1050px){.vs3-global-search{width:38vw}.vs3-user-chip{min-width:150px}}@media(max-width:900px){.vs3-side{width:100%;border-right:0;border-bottom:1px solid #0e3655}.vs3-main{padding:18px}.vs3-global-search{width:100%}.vs3-main header{align-items:stretch}.vs3-header-right{width:100%;flex-wrap:wrap}.vs3-global-search{flex:1;min-width:220px}.vs3-user-chip{min-width:170px}.vs3-user-role,.vs3-user-caret{display:none}}@media(max-width:600px){.vs3-main h1{font-size:24px}.vs3-user-chip{min-width:auto}.vs3-user-name{display:none}.vs3-global-search kbd{display:none}.vs3-global-search{min-width:0}.vs3-header-right{gap:8px}.vs3-user-chip{grid-template-columns:34px 34px;padding-right:7px}.vs3-user-caret{display:none}}


/* V3.2.10 visual refresh — presentation only; no JS/logic changes */
:root{
  --vs-bg:#06182a;
  --vs-side:#061a2d;
  --vs-side-border:#0d3553;
  --vs-panel:#0b2b47;
  --vs-panel-2:#0a2742;
  --vs-line:#174a6e;
  --vs-text:#f4f9fd;
  --vs-muted:#8fa9bf;
  --vs-blue:#1d84ff;
  --vs-blue-2:#2c98ff;
  --vs-pink:#ec4b9a;
  --vs-green:#10b981;
}
.vs3-fullscreen{background:transparent!important}
.vs3-app{
  position:relative!important;
  display:flex!important;
  min-height:780px!important;
  background:linear-gradient(135deg,#06182a 0%,#081d31 55%,#09243c 100%)!important;
  border:1px solid #0d3a5b!important;
  border-radius:20px!important;
  overflow:hidden!important;
  color:var(--vs-text)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
}
.vs3-side{
  width:220px!important;
  flex:0 0 220px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  padding:18px 12px 14px!important;
  background:linear-gradient(180deg,#06192c 0%,#06172a 100%)!important;
  border-right:1px solid var(--vs-side-border)!important;
}
.vs3-logo{
  padding:7px 11px 24px!important;
  font-size:24px!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
}
.vs3-logo small{font-size:10px!important;color:#79a7cd!important;margin-left:5px!important}
.vs3-nav{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-height:42px!important;
  padding:10px 13px!important;
  margin:1px 0!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#b8cada!important;
  text-align:left!important;
  font-size:13px!important;
  font-weight:750!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer!important;
}
.vs3-nav:hover{background:rgba(29,132,255,.11)!important;color:#fff!important;transform:none!important}
.vs3-nav.active{background:linear-gradient(135deg,#197ff7,#2d92ff)!important;color:#fff!important;border-color:#43a2ff!important;box-shadow:0 8px 22px rgba(21,122,232,.2)!important}
.vs3-logout{margin-top:auto!important;padding:12px 12px 4px!important;border-top:1px solid #123551!important;color:#86a1b7!important}
.vs3-main{
  flex:1!important;
  min-width:0!important;
  padding:25px 28px 34px!important;
  background:radial-gradient(circle at top right,rgba(28,113,177,.15),transparent 34%)!important;
}
.vs3-main header{margin-bottom:22px!important;align-items:center!important}
.vs3-header-title .eyebrow{color:#79a5c7!important;font-size:10px!important;font-weight:900!important;letter-spacing:.18em!important}
.vs3-header-title h1{color:#fff!important;font-size:30px!important;letter-spacing:-.035em!important}
.vs3-header-title .muted{color:#8ba6bc!important}
.vs3-header-right{align-items:center!important;gap:12px!important}
.vs3-global-search{
  width:min(520px,42vw)!important;
  min-height:44px!important;
  padding:0 11px!important;
  border:1px solid #1c4d70!important;
  border-radius:13px!important;
  background:#09263f!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.vs3-global-search input{color:#eef7ff!important}
.vs3-global-search input::placeholder{color:#7894ab!important}
.vs3-user-chip{
  min-width:175px!important;
  padding:6px 9px 6px 6px!important;
  border:1px solid #1c4d70!important;
  border-radius:14px!important;
  background:#09263f!important;
}
.vs3-user-avatar{background:linear-gradient(135deg,#1b84ff,#329cff)!important}
.cards{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-bottom:17px!important;
}
.card,.panel{
  background:linear-gradient(180deg,rgba(13,47,77,.97),rgba(8,34,56,.98))!important;
  border:1px solid #174a6e!important;
  border-radius:16px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.card{min-height:112px!important;padding:18px!important}
.card b{color:#b6cde0!important;font-size:10px!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.card strong{color:#fff!important;font-size:29px!important}
.panel{padding:18px!important}
.panel-head h2,.panel h2{color:#fff!important}
.operations-panel{margin-top:2px!important}
.operations-panel .panel-head p{color:#7996ad!important}
.table-wrap{border:1px solid #174a6e!important;border-radius:13px!important;background:rgba(3,20,35,.55)!important;overflow:auto!important}
table{color:#eaf4fb!important}
th,td{padding:11px 10px!important;border-bottom:1px solid #163f5d!important}
th{color:#83a2bb!important;background:#0a2b47!important}
tbody tr:hover{background:rgba(29,132,255,.08)!important}
.vs3-app button{
  border-radius:10px!important;
  border:1px solid rgba(75,165,255,.42)!important;
  background:linear-gradient(135deg,#177fff,#2c95ff)!important;
  box-shadow:0 7px 18px rgba(8,87,161,.16)!important;
}
.vs3-app button.secondary-btn,.secondary-btn{background:#0d3554!important;color:#cfe1f1!important;border-color:#245b7e!important;box-shadow:none!important}
.badge{border-radius:999px!important}
.state-box,.notice{background:#0a2e4d!important;border:1px solid #1a4d70!important;color:#dcecf7!important}
.ajax-form input,.ajax-form select,.ajax-form textarea,.search,.vs3-login input,#history-driver-filter{
  background:#09263f!important;color:#eef7ff!important;border-color:#245777!important;border-radius:10px!important;
}
.ajax-form input::placeholder,.ajax-form textarea::placeholder,.search::placeholder{color:#708da5!important}
.route-client-picker{background:#07253f!important;border-color:#1b4d6f!important}
.route-client-check{background:#0b304e!important;border-color:#1c4c6c!important;color:#dcecf7!important}
.route-client-check:hover{background:#0e3859!important}
.route-client-check.is-selected,.route-edit-client-row.is-selected{background:rgba(29,132,255,.14)!important;border-color:#2f8fe3!important}
.route-picker-tools .route-search-box,.client-filter-row .client-search-box,.region-filter-box{
  background:#09263f!important;border-color:#245777!important;color:#dcecf7!important;border-radius:13px!important
}
.route-picker-tools .route-search-box input,.region-filter-box select,.route-region-select-wrap select{background:transparent!important;color:#eef7ff!important;border-color:#245777!important}
.route-selected-count,.route-edit-selected-count,.route-visible-count,.filter-current-value,.route-region-current{color:#a1caec!important}
.report-summary .card,.monthly-refill-summary>div,.client-history-summary>div,.backup-row,.audit-filters,.visit-agenda-col,.visit-day,.visit-chip,.vehicle,.route-live-row,.route-return-card,.route-close-driver,.route-close-stock>div{
  background:linear-gradient(180deg,#0c304d,#092740)!important;border-color:#1c4d6d!important;color:#e3eef7!important
}
.vs3-modal{background:rgba(2,12,22,.8)!important}
.modal-inner{background:linear-gradient(180deg,#0c304e,#08253f)!important;border-color:#1f5275!important;color:#eaf4fb!important}
.toast{background:#0b2f4c!important;border-color:#255c80!important}
/* Four KPI cards on admin dashboard: exact visual hierarchy */
.vs3-app[data-role="admin"] #tab-home .cards .card:nth-child(1){border-top:2px solid #1d84ff!important}
.vs3-app[data-role="admin"] #tab-home .cards .card:nth-child(2){border-top:2px solid #ec4b9a!important}
.vs3-app[data-role="admin"] #tab-home .cards .card:nth-child(3){border-top:2px solid #e9b94e!important}
.vs3-app[data-role="admin"] #tab-home .cards .card:nth-child(4){border-top:2px solid #4e9cff!important}
@media(max-width:1100px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vs3-global-search{width:34vw!important}
}
@media(max-width:900px){
  .vs3-app{display:block!important}
  .vs3-side{width:100%!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;overflow:auto!important;border-right:0!important;border-bottom:1px solid #0e3857!important;padding:8px!important}
  .vs3-logo{display:none!important}
  .vs3-nav{width:auto!important;white-space:nowrap!important;flex:0 0 auto!important}
  .vs3-logout{display:none!important}
  .vs3-main{padding:18px!important}
  .vs3-main header{align-items:stretch!important}
  .vs3-header-right{width:100%!important;flex-wrap:wrap!important}
  .vs3-global-search{width:auto!important;flex:1!important;min-width:220px!important}
  .cards{grid-template-columns:1fr 1fr!important}
}
@media(max-width:600px){
  .vs3-main h1{font-size:24px!important}
  .cards{grid-template-columns:1fr!important}
  .vs3-user-chip{min-width:auto!important}
  .vs3-user-name{display:none!important}
  .vs3-global-search{min-width:0!important}
}

/* V3.2.12 – approved light dashboard concept. Presentation-only layer; app.js unchanged. */
body.vs3-panel-page .page-header,body.vs3-panel-page .page-header-title,body.vs3-panel-page h1.page-title{display:none!important}
body.vs3-panel-page .site-content{padding-top:18px!important}
.vs3-app{background:#f5f8fb!important;color:#142238!important;border:1px solid #e3eaf1!important;border-radius:18px!important;box-shadow:0 18px 50px rgba(24,53,82,.08)!important}
.vs3-side{background:#fff!important;border-right:1px solid #e5ebf1!important;width:220px!important;flex-basis:220px!important;padding:18px 12px 14px!important}
.vs3-logo{color:#101d2f!important;padding-bottom:24px!important}.vs3-logo small{color:#7d8ea2!important}
.vs3-nav{color:#53657a!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.vs3-nav:hover{background:#f0f6fb!important;color:#17324d!important}.vs3-nav.active{background:#e2f4ec!important;color:#16804f!important;border-color:#d5eee3!important;box-shadow:none!important}
.vs3-logout{border-top:1px solid #edf1f5!important;color:#7b8b9b!important}
.vs3-main{background:#f6f8fa!important;padding:24px 28px 34px!important}
.vs3-header-title .eyebrow{color:#7890a7!important}.vs3-header-title h1{color:#142238!important}.vs3-header-title .muted{color:#718297!important}
.vs3-global-search{background:#fff!important;border:1px solid #dfe7ee!important;box-shadow:0 4px 14px rgba(24,53,82,.04)!important}.vs3-global-search input{color:#25374d!important}.vs3-global-search input::placeholder{color:#8998a8!important}.vs3-global-search kbd{background:#f4f7fa!important;border-color:#dce5ed!important;color:#718198!important}
.vs3-user-chip{background:#fff!important;border:1px solid #dfe7ee!important}.vs3-user-name{color:#24364b!important}.vs3-user-role{color:#7a8999!important}.vs3-user-caret{color:#7a8999!important}.vs3-user-avatar{background:#e7f0fb!important;color:#2379e8!important}
.vs3-home-dashboard{display:none!important}.vs3-home-dashboard.active{display:block!important}.vs3-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}.vs3-kpi{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e1e8ef;border-radius:16px;padding:16px 18px;min-height:80px;box-shadow:0 6px 18px rgba(27,54,82,.05)}.vs3-kpi small{display:block;color:#718297;font-size:12px;font-weight:700}.vs3-kpi b{display:block;color:#142238;font-size:27px;line-height:1.15;margin:3px 0}.vs3-kpi em{font-style:normal;color:#43a97b;font-size:11px;font-weight:700}.kpi-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#e8f2ff;color:#267df0;font-size:19px}.kpi-icon.pink{background:#fff0f7;color:#ea4f9b}.vs3-home-grid{display:grid;gap:16px;margin-bottom:16px}.main-grid{grid-template-columns:1fr 1fr 1fr}.lower-grid{grid-template-columns:2fr 1fr}.bottom-grid{grid-template-columns:1fr 1fr}.vs3-home-card{background:#fff!important;border:1px solid #e1e8ef!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(27,54,82,.05)!important;padding:16px!important;color:#142238!important}.vs3-home-card .table-wrap{border-color:#e4eaf0!important;background:#fff!important}.vs3-home-card table{color:#26384e!important}.vs3-home-card th{background:#f7f9fb!important;color:#75869a!important;border-color:#e7edf3!important}.vs3-home-card td{border-color:#edf1f5!important}.vs3-home-card tbody tr:hover{background:#f8fbfe!important}.vs3-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.vs3-card-head h2{margin:0!important;font-size:18px!important;color:#132238!important}.vs3-link{color:#2b82eb!important;font-size:11px;font-weight:800;cursor:pointer}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#f4516d;color:#fff;font-size:11px;margin-left:4px}.vs3-garage-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:4px 0 8px}.vs3-garage-summary>div>b{display:block;font-size:10px;letter-spacing:.08em;color:#3a7fe2;margin-bottom:8px}.vs3-garage-summary>div:last-child>b{color:#ea4d99}.vs3-garage-summary span{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:#52657a}.vs3-garage-summary strong{margin-left:auto;color:#142238;font-size:18px}.vs3-garage-summary i{font-style:normal;color:#2d8bf6}.vs3-garage-summary i.pink{color:#ef5aa4}.vs3-garage-summary i.empty{opacity:.45}.vs3-damaged-line{padding-top:10px;border-top:1px solid #eef2f6;font-size:11px;color:#738397}.vs3-alert-list>div{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #eef2f6;font-size:12px;color:#506176}.vs3-alert-list>div:last-child{border-bottom:0}.vs3-alert-list .empty-state,.empty-state{padding:12px 0;color:#8b99a8;font-size:12px}.vs3-visit-list>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f6}.vs3-visit-list>div:last-child{border-bottom:0}.visit-dot{width:7px;height:7px;border-radius:50%;background:#49b586}.vs3-visit-list b{display:block;font-size:12px;color:#1a2d43}.vs3-visit-list small{display:block;color:#8491a0;font-size:10px;margin-top:2px}.vs3-visit-list strong{color:#3f6f99;font-size:11px}.vs3-driver-mini>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:12px}.vs3-driver-mini>div:last-child{border-bottom:0}.vs3-driver-mini span{color:#6d7f92}.vs3-driver-mini strong{color:#17293f;font-size:14px}.vs3-mini-log>div{display:grid;grid-template-columns:120px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f6;font-size:11px}.vs3-mini-log>div:last-child{border-bottom:0}.vs3-mini-log span{color:#8a98a8}.vs3-mini-log b{color:#33475d}.vs3-mini-log small{color:#738399;text-align:right}.vs3-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vs3-quick-actions button{min-height:44px!important;font-size:12px!important;border-radius:11px!important;background:#fff!important;color:#2b6fb5!important;border:1px solid #d9e5ef!important;box-shadow:none!important}.vs3-quick-actions button.open-modal{background:#197ff5!important;color:#fff!important;border-color:#197ff5!important}.vs3-home-card .operations-panel{margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.vs3-home-card .operations-panel .panel-head{margin-bottom:8px}.vs3-home-card .operations-panel .open-modal{background:#f6f9fc!important;color:#52677c!important;border-color:#dce5ed!important;box-shadow:none!important}.vs3-home-card .operations-panel th,.vs3-home-card .operations-panel td{font-size:11px!important}
@media(max-width:1100px){.vs3-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid,.lower-grid,.bottom-grid{grid-template-columns:1fr}}
@media(max-width:900px){.vs3-side{width:100%!important;flex-basis:auto!important}.vs3-dashboard-kpis{grid-template-columns:1fr 1fr}.vs3-main{padding:18px!important}}
@media(max-width:600px){.vs3-dashboard-kpis{grid-template-columns:1fr}.vs3-main{padding:14px!important}.vs3-card-head{align-items:flex-start}.vs3-quick-actions{grid-template-columns:1fr}.vs3-mini-log>div{grid-template-columns:1fr}.vs3-mini-log small{text-align:left}}


/* V3.2.13 – compact Start cards; recent exchanges remain limited to 5. */
.vs3-dashboard-kpis{gap:12px!important;margin-bottom:14px!important}
.vs3-kpi{min-height:66px!important;padding:12px 14px!important;border-radius:14px!important;gap:10px!important}
.kpi-icon{width:32px!important;height:32px!important;border-radius:10px!important;font-size:16px!important}
.vs3-kpi small{font-size:10px!important}
.vs3-kpi b{font-size:22px!important;margin:2px 0!important}
.vs3-kpi em{font-size:10px!important}
.vs3-home-grid{gap:12px!important;margin-bottom:12px!important}
.vs3-home-card{padding:13px!important;border-radius:14px!important}
.vs3-card-head{margin-bottom:9px!important}
.vs3-card-head h2{font-size:16px!important}
.vs3-quick-actions{gap:8px!important}
.vs3-quick-actions button{min-height:40px!important}
.vs3-home-card .operations-panel th,.vs3-home-card .operations-panel td{font-size:10.5px!important;padding:7px 9px!important}
@media(max-width:900px){.vs3-dashboard-kpis{gap:10px!important}.vs3-kpi{min-height:62px!important}}

/* V3.2.14 – smaller KPI cards and compact recent exchanges. */
.vs3-dashboard-kpis{gap:10px!important;margin-bottom:12px!important}
.vs3-kpi{min-height:58px!important;padding:9px 12px!important;border-radius:12px!important;gap:9px!important;box-shadow:0 4px 12px rgba(27,54,82,.045)!important}
.kpi-icon{width:28px!important;height:28px!important;border-radius:8px!important;font-size:14px!important}
.vs3-kpi small{font-size:9px!important;letter-spacing:.01em}
.vs3-kpi b{font-size:19px!important;margin:1px 0!important}
.vs3-kpi em{font-size:9px!important}
.vs3-home-card{padding:12px!important}
.vs3-card-head h2{font-size:15px!important}
.recent-exchanges-table th,.recent-exchanges-table td{font-size:10.5px!important;padding:7px 8px!important}
.invoice-done{background:#e6f7ee!important;color:#16804f!important;border:1px solid #bfe8d1!important}
.invoice-todo{background:#fff4df!important;color:#a86c06!important;border:1px solid #f0d79f!important}
@media(max-width:900px){.vs3-kpi{min-height:56px!important;padding:8px 10px!important}}
@media(max-width:600px){.vs3-kpi b{font-size:18px!important}.recent-exchanges-table{min-width:620px!important}}


/* V3.2.15 – shorter middle cards; larger, more readable lower dashboard sections. */
.vs3-home-dashboard .main-grid{align-items:start!important}
.vs3-home-dashboard .main-grid .vs3-home-card{min-height:0!important;height:auto!important;padding:13px 16px!important}
.vs3-home-dashboard .main-grid .vs3-card-head{margin-bottom:8px!important}
.vs3-home-dashboard .main-grid .vs3-card-head h2{font-size:16px!important}
.vs3-home-dashboard .main-grid .vs3-garage-summary{gap:12px!important;padding:1px 0 4px!important}
.vs3-home-dashboard .main-grid .vs3-garage-summary span{margin:6px 0!important;font-size:12px!important}
.vs3-home-dashboard .main-grid .vs3-garage-summary strong{font-size:16px!important}
.vs3-home-dashboard .main-grid .vs3-damaged-line{padding-top:7px!important;font-size:10px!important}
.vs3-home-dashboard .main-grid .vs3-alert-list>div{padding:6px 0!important;font-size:11px!important}
.vs3-home-dashboard .main-grid .vs3-visit-list>div{padding:6px 0!important}
.vs3-home-dashboard .main-grid .vs3-visit-list b{font-size:11px!important}
.vs3-home-dashboard .main-grid .vs3-visit-list small{font-size:9px!important}
.vs3-home-dashboard .lower-grid .vs3-home-card,
.vs3-home-dashboard .bottom-grid .vs3-home-card{padding:18px 20px!important;min-height:220px!important}
.vs3-home-dashboard .lower-grid .vs3-card-head h2,
.vs3-home-dashboard .bottom-grid .vs3-card-head h2{font-size:18px!important}
.vs3-home-dashboard .lower-grid .recent-exchanges-table th,
.vs3-home-dashboard .lower-grid .recent-exchanges-table td{font-size:12px!important;padding:9px 10px!important}
.vs3-home-dashboard .lower-grid .vs3-driver-mini>div{padding:11px 0!important;font-size:13px!important}
.vs3-home-dashboard .lower-grid .vs3-driver-mini strong{font-size:15px!important}
.vs3-home-dashboard .bottom-grid .vs3-mini-log>div{font-size:12px!important;padding:10px 0!important;grid-template-columns:130px 1fr auto}
.vs3-home-dashboard .bottom-grid .vs3-quick-actions{gap:12px!important}
.vs3-home-dashboard .bottom-grid .vs3-quick-actions button{min-height:48px!important;font-size:13px!important}
@media(max-width:1100px){.vs3-home-dashboard .lower-grid .vs3-home-card,.vs3-home-dashboard .bottom-grid .vs3-home-card{min-height:0!important}}
@media(max-width:600px){.vs3-home-dashboard .main-grid .vs3-home-card{padding:12px!important}.vs3-home-dashboard .lower-grid .vs3-home-card,.vs3-home-dashboard .bottom-grid .vs3-home-card{padding:15px!important}.vs3-home-dashboard .lower-grid .recent-exchanges-table th,.vs3-home-dashboard .lower-grid .recent-exchanges-table td{font-size:11px!important}}


/* V3.2.16 – dashboard proportions: shorter upcoming visits; larger remaining sections. */
.vs3-home-dashboard .main-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(0,1.06fr) minmax(0,.84fr)!important;
  align-items:start!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card{
  padding:16px 18px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){
  padding:13px 16px!important;
  min-height:0!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-card-head{
  margin-bottom:6px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-card-head h2{
  font-size:15px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-visit-list>div{
  padding:5px 0!important;
  gap:8px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-visit-list b{
  font-size:10.5px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-visit-list small{
  font-size:9px!important;
}
.vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3) .vs3-visit-list strong{
  font-size:10px!important;
}

.vs3-home-dashboard .lower-grid{
  grid-template-columns:minmax(0,2.05fr) minmax(0,1fr)!important;
}
.vs3-home-dashboard .lower-grid .vs3-home-card{
  min-height:250px!important;
  padding:20px 22px!important;
}
.vs3-home-dashboard .lower-grid .vs3-card-head h2{
  font-size:19px!important;
}
.vs3-home-dashboard .lower-grid .recent-exchanges-table th,
.vs3-home-dashboard .lower-grid .recent-exchanges-table td{
  font-size:12.5px!important;
  padding:10px 11px!important;
}
.vs3-home-dashboard .lower-grid .vs3-driver-mini>div{
  padding:12px 0!important;
  font-size:13.5px!important;
}
.vs3-home-dashboard .lower-grid .vs3-driver-mini strong{
  font-size:16px!important;
}

.vs3-home-dashboard .bottom-grid .vs3-home-card{
  min-height:230px!important;
  padding:20px 22px!important;
}
.vs3-home-dashboard .bottom-grid .vs3-card-head h2{
  font-size:19px!important;
}
.vs3-home-dashboard .bottom-grid .vs3-mini-log>div{
  font-size:12.5px!important;
  padding:11px 0!important;
}
.vs3-home-dashboard .bottom-grid .vs3-quick-actions{
  gap:13px!important;
}
.vs3-home-dashboard .bottom-grid .vs3-quick-actions button{
  min-height:50px!important;
  font-size:13.5px!important;
}

@media(max-width:1100px){
  .vs3-home-dashboard .main-grid{grid-template-columns:1fr!important}
  .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){max-width:none!important}
}


/* V3.2.17 – Start dashboard visual matching the approved light minimalist concept.
   Presentation-only overrides; app.js and operational logic remain untouched. */
body:has(.vs3-app) {
  background:#f5f7fa!important;
  margin-top:0!important;
}
body:has(.vs3-app) #wpadminbar,
body:has(.vs3-app) .page-header,
body:has(.vs3-app) .entry-header,
body:has(.vs3-app) .page-title,
body:has(.vs3-app) h1.entry-title,
body:has(.vs3-app) .elementor-location-header + .page-header {
  display:none!important;
}
body:has(.vs3-app) .site-content,
body:has(.vs3-app) .content-area,
body:has(.vs3-app) article {
  padding-top:0!important;
  margin-top:0!important;
}
body:has(.vs3-app) .vs3-fullscreen{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body:has(.vs3-app) .vs3-app{
  min-height:calc(100vh - 12px)!important;
  width:100%!important;
  background:#f5f7fa!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  color:#182334!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body:has(.vs3-app) .vs3-side{
  width:268px!important;
  flex:0 0 268px!important;
  background:#fff!important;
  border-right:1px solid #e3e9ef!important;
  padding:22px 18px 18px!important;
  color:#1c2737!important;
}
body:has(.vs3-app) .vs3-logo{
  color:#0f1c2d!important;
  padding:8px 14px 34px!important;
  font-size:25px!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}
body:has(.vs3-app) .vs3-logo small{display:none!important}
body:has(.vs3-app) .vs3-nav{
  width:100%!important;
  min-height:50px!important;
  margin:3px 0!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#4c5b6e!important;
  font-size:14px!important;
  font-weight:650!important;
  box-shadow:none!important;
  text-align:left!important;
}
body:has(.vs3-app) .vs3-nav:hover{
  background:#f3f7fa!important;
  color:#1e3249!important;
}
body:has(.vs3-app) .vs3-nav.active{
  background:#e3f4eb!important;
  color:#14804d!important;
  box-shadow:none!important;
}
body:has(.vs3-app) .vs3-logout{
  display:block!important;
  margin:22px 14px 0!important;
  padding:18px 0 0!important;
  border-top:1px solid #edf1f4!important;
  color:#7c8b9d!important;
}
body:has(.vs3-app) .vs3-main{
  flex:1!important;
  min-width:0!important;
  padding:34px 42px 44px!important;
  background:#f5f7fa!important;
}
body:has(.vs3-app) .vs3-main header{
  align-items:flex-start!important;
  margin:0 0 28px!important;
  gap:28px!important;
}
body:has(.vs3-app) .vs3-header-title .eyebrow{
  display:block!important;
  color:#7489a0!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  margin-bottom:7px!important;
}
body:has(.vs3-app) .vs3-header-title h1{
  margin:0!important;
  color:#142238!important;
  font-size:33px!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
body:has(.vs3-app) .vs3-header-title .muted{
  margin-top:8px!important;
  color:#7c8a9a!important;
  font-size:14px!important;
}
body:has(.vs3-app) .vs3-header-right{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:auto!important;
}
body:has(.vs3-app) .vs3-global-search{
  width:min(450px,40vw)!important;
  min-width:340px!important;
  height:50px!important;
  padding:0 14px!important;
  border:1px solid #dce5ed!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(31,61,92,.035)!important;
}
body:has(.vs3-app) .vs3-global-search input{
  font-size:14px!important;
  color:#23364b!important;
}
body:has(.vs3-app) .vs3-global-search kbd{
  border:1px solid #dbe5ed!important;
  background:#f5f8fb!important;
  color:#6e8094!important;
  border-radius:6px!important;
}
body:has(.vs3-app) .vs3-user-chip{
  min-width:190px!important;
  min-height:50px!important;
  border:1px solid #dce5ed!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(31,61,92,.035)!important;
}
body:has(.vs3-app) .vs3-user-avatar{
  width:31px!important;
  height:31px!important;
  background:#e6f0fb!important;
  color:#267cf0!important;
}
body:has(.vs3-app) .vs3-user-name{font-size:12px!important;font-weight:700!important}
body:has(.vs3-app) .vs3-user-role{font-size:10px!important}
body:has(.vs3-app) .vs3-dashboard-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0 0 18px!important;
}
body:has(.vs3-app) .vs3-kpi{
  min-height:124px!important;
  padding:22px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(30,58,88,.035)!important;
}
body:has(.vs3-app) .vs3-kpi small{
  font-size:12px!important;
  font-weight:700!important;
  color:#667a90!important;
}
body:has(.vs3-app) .vs3-kpi b{
  font-size:30px!important;
  line-height:1!important;
  margin:6px 0 7px!important;
  color:#152337!important;
}
body:has(.vs3-app) .vs3-kpi em{font-size:11px!important;color:#39a879!important}
body:has(.vs3-app) .kpi-icon{
  width:46px!important;
  height:46px!important;
  border-radius:13px!important;
  background:#eaf3ff!important;
  color:#247cf0!important;
  font-size:20px!important;
}
body:has(.vs3-app) .kpi-icon.pink{background:#fff0f7!important;color:#e64f98!important}
body:has(.vs3-app) .vs3-home-grid{
  gap:18px!important;
  margin-bottom:18px!important;
}
body:has(.vs3-app) .vs3-home-dashboard .main-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(0,.8fr)!important;
  align-items:stretch!important;
}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card{
  min-height:188px!important;
  padding:22px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(30,58,88,.035)!important;
}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){min-height:160px!important;padding:18px!important}
body:has(.vs3-app) .vs3-card-head{margin-bottom:16px!important}
body:has(.vs3-app) .vs3-card-head h2{font-size:18px!important;font-weight:780!important;letter-spacing:-.02em!important}
body:has(.vs3-app) .vs3-link{font-size:12px!important;color:#52708d!important}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid{
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)!important;
}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid .vs3-home-card{
  min-height:300px!important;
  padding:24px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(30,58,88,.035)!important;
}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid .vs3-card-head h2{font-size:19px!important}
body:has(.vs3-app) .recent-exchanges-table th{background:#f8fafc!important;color:#75879a!important;font-size:11px!important;padding:11px 12px!important}
body:has(.vs3-app) .recent-exchanges-table td{font-size:13px!important;padding:13px 12px!important}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid{
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;
}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-home-card{
  min-height:255px!important;
  padding:24px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(30,58,88,.035)!important;
}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-card-head h2{font-size:19px!important}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-quick-actions{gap:12px!important}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-quick-actions button{
  min-height:54px!important;
  border-radius:11px!important;
  font-size:13px!important;
  background:#fff!important;
  color:#2e6faa!important;
  border:1px solid #dfe7ee!important;
}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-quick-actions button.open-modal{
  background:#197ff5!important;color:#fff!important;border-color:#197ff5!important;
}
body:has(.vs3-app) .vs3-garage-summary strong{font-size:20px!important}
body:has(.vs3-app) .vs3-alert-list>div{font-size:13px!important;padding:11px 0!important}
body:has(.vs3-app) .vs3-visit-list>div{padding:9px 0!important}
body:has(.vs3-app) .vs3-visit-list b{font-size:12px!important}
body:has(.vs3-app) .vs3-visit-list small{font-size:10px!important}
body:has(.vs3-app) .vs3-driver-mini>div{font-size:13px!important;padding:12px 0!important}
body:has(.vs3-app) .vs3-mini-log>div{font-size:12px!important;padding:12px 0!important}
body:has(.vs3-app) .panel,
body:has(.vs3-app) .card,
body:has(.vs3-app) .vehicle,
body:has(.vs3-app) .modal-inner,
body:has(.vs3-app) .vs3-login{
  color:#182334!important;
}
@media(max-width:1100px){
  body:has(.vs3-app) .vs3-side{width:230px!important;flex-basis:230px!important}
  body:has(.vs3-app) .vs3-main{padding:28px 28px 36px!important}
  body:has(.vs3-app) .vs3-global-search{min-width:280px!important;width:34vw!important}
}
@media(max-width:900px){
  body:has(.vs3-app){margin-top:0!important}
  body:has(.vs3-app) .vs3-app{display:block!important;overflow:visible!important}
  body:has(.vs3-app) .vs3-side{width:100%!important;flex:none!important;border-right:0!important;border-bottom:1px solid #e3e9ef!important;padding:10px!important;display:flex!important;align-items:center!important;gap:5px!important;overflow:auto!important}
  body:has(.vs3-app) .vs3-logo{display:none!important}
  body:has(.vs3-app) .vs3-nav{min-width:max-content!important}
  body:has(.vs3-app) .vs3-logout{display:none!important}
  body:has(.vs3-app) .vs3-main{padding:20px 18px 30px!important}
  body:has(.vs3-app) .vs3-main header{flex-direction:column!important}
  body:has(.vs3-app) .vs3-header-right{width:100%!important;margin-left:0!important}
  body:has(.vs3-app) .vs3-global-search{width:100%!important;min-width:0!important}
  body:has(.vs3-app) .vs3-user-chip{min-width:0!important}
  body:has(.vs3-app) .vs3-dashboard-kpis{grid-template-columns:1fr 1fr!important}
  body:has(.vs3-app) .vs3-home-dashboard .main-grid,
  body:has(.vs3-app) .vs3-home-dashboard .lower-grid,
  body:has(.vs3-app) .vs3-home-dashboard .bottom-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  body:has(.vs3-app) .vs3-dashboard-kpis{grid-template-columns:1fr!important}
  body:has(.vs3-app) .vs3-kpi{min-height:100px!important}
  body:has(.vs3-app) .vs3-header-title h1{font-size:27px!important}
}


/* V3.2.18 — dashboard proportions aligned to the approved light visual reference. Presentation only. */
body:has(.vs3-app){
  background:#f6f8fb!important;
}
body:has(.vs3-app) #wpadminbar{display:none!important;}
body:has(.vs3-app) .vs3-fullscreen{padding-top:0!important;}
body:has(.vs3-app) .vs3-app{
  display:flex!important;
  max-width:1536px!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:0 0 18px 18px!important;
  box-shadow:0 12px 36px rgba(29,52,77,.08)!important;
  overflow:hidden!important;
}
body:has(.vs3-app) .vs3-side{
  width:238px!important;
  flex:0 0 238px!important;
  padding:28px 18px 20px!important;
  background:#fff!important;
  border-right:1px solid #e3e9ef!important;
  gap:4px!important;
}
body:has(.vs3-app) .vs3-logo{
  padding:4px 10px 28px!important;
  color:#122238!important;
  font-size:25px!important;
}
body:has(.vs3-app) .vs3-logo small{color:#8b9aad!important;}
body:has(.vs3-app) .vs3-nav{
  width:100%!important;
  min-height:44px!important;
  padding:10px 13px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#31445a!important;
  text-align:left!important;
  box-shadow:none!important;
  font-weight:700!important;
}
body:has(.vs3-app) .vs3-nav:hover{
  background:#f5f8fb!important;
  color:#18324d!important;
  transform:none!important;
}
body:has(.vs3-app) .vs3-nav.active{
  background:#e4f5ee!important;
  color:#087a4c!important;
  border-color:#d7eee4!important;
  box-shadow:none!important;
}
body:has(.vs3-app) .vs3-logout{color:#617287!important;border-top:1px solid #eef2f6!important;}
body:has(.vs3-app) .vs3-main{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:28px 34px 34px!important;
  background:#f7f9fc!important;
}
body:has(.vs3-app) .vs3-main header{
  display:flex!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:24px!important;
  padding-bottom:0!important;
}
body:has(.vs3-app) .vs3-header-title h1{font-size:31px!important;color:#132238!important;}
body:has(.vs3-app) .vs3-header-title .muted{color:#728399!important;}
body:has(.vs3-app) .vs3-global-search{
  width:410px!important;
  min-height:48px!important;
  border:1px solid #dde5ec!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(31,61,92,.03)!important;
}
body:has(.vs3-app) .vs3-user-chip{min-width:190px!important;min-height:48px!important;}
body:has(.vs3-app) .vs3-dashboard-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
body:has(.vs3-app) .vs3-kpi{
  min-height:104px!important;
  padding:18px 20px!important;
  border-radius:15px!important;
  background:#fff!important;
  border:1px solid #e0e7ee!important;
  box-shadow:0 5px 18px rgba(30,58,88,.035)!important;
}
body:has(.vs3-app) .vs3-kpi b{font-size:28px!important;}
body:has(.vs3-app) .kpi-icon{width:42px!important;height:42px!important;border-radius:12px!important;}
body:has(.vs3-app) .vs3-home-dashboard .main-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr) minmax(280px,.7fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin-bottom:18px!important;
}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card{
  min-height:0!important;
  height:214px!important;
  padding:18px 20px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(30,58,88,.035)!important;
  overflow:hidden!important;
}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(1),
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(2){height:214px!important;}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){height:214px!important;min-height:214px!important;padding:18px!important;}
body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-visit-list{max-height:148px!important;overflow:hidden!important;}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.58fr) minmax(0,1fr)!important;
  gap:18px!important;
  margin-bottom:18px!important;
  align-items:start!important;
}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid .vs3-home-card{
  min-height:0!important;
  height:286px!important;
  padding:20px 22px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(30,58,88,.035)!important;
  overflow:hidden!important;
}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-home-card{
  min-height:0!important;
  height:242px!important;
  padding:20px 22px!important;
  border:1px solid #e0e7ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(30,58,88,.035)!important;
  overflow:hidden!important;
}
body:has(.vs3-app) .vs3-home-dashboard .vs3-card-head{margin-bottom:12px!important;}
body:has(.vs3-app) .vs3-home-dashboard .vs3-card-head h2{font-size:17px!important;}
body:has(.vs3-app) .vs3-home-dashboard .lower-grid .vs3-card-head h2,
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-card-head h2{font-size:18px!important;}
body:has(.vs3-app) .vs3-home-dashboard .recent-exchanges-table th{padding:10px 11px!important;font-size:10px!important;}
body:has(.vs3-app) .vs3-home-dashboard .recent-exchanges-table td{padding:11px!important;font-size:12px!important;}
body:has(.vs3-app) .vs3-home-dashboard .vs3-driver-mini>div{padding:10px 0!important;font-size:12px!important;}
body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-mini-log>div{padding:9px 0!important;font-size:11px!important;}
body:has(.vs3-app) .vs3-home-dashboard .vs3-quick-actions{gap:10px!important;}
body:has(.vs3-app) .vs3-home-dashboard .vs3-quick-actions button{min-height:46px!important;font-size:12px!important;}
@media(max-width:1100px){
  body:has(.vs3-app) .vs3-home-dashboard .main-grid{grid-template-columns:1fr 1fr!important;}
  body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){grid-column:1 / -1;}
}
@media(max-width:900px){
  body:has(.vs3-app) .vs3-app{display:block!important;border-radius:0!important;}
  body:has(.vs3-app) .vs3-side{width:100%!important;flex:none!important;padding:10px!important;display:flex!important;align-items:center!important;overflow:auto!important;}
  body:has(.vs3-app) .vs3-logo{display:none!important;}
  body:has(.vs3-app) .vs3-main{padding:20px 18px 30px!important;}
  body:has(.vs3-app) .vs3-main header{flex-direction:column!important;}
  body:has(.vs3-app) .vs3-dashboard-kpis{grid-template-columns:1fr 1fr!important;}
  body:has(.vs3-app) .vs3-home-dashboard .main-grid,
  body:has(.vs3-app) .vs3-home-dashboard .lower-grid,
  body:has(.vs3-app) .vs3-home-dashboard .bottom-grid{grid-template-columns:1fr!important;}
  body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card:nth-child(3){grid-column:auto;}
  body:has(.vs3-app) .vs3-home-dashboard .main-grid .vs3-home-card,
  body:has(.vs3-app) .vs3-home-dashboard .lower-grid .vs3-home-card,
  body:has(.vs3-app) .vs3-home-dashboard .bottom-grid .vs3-home-card{height:auto!important;min-height:0!important;}
}
@media(max-width:560px){body:has(.vs3-app) .vs3-dashboard-kpis{grid-template-columns:1fr!important;}}


/* VikingSoda 3.0.2 — menu visual redesign only. Original working navigation markup/JS preserved. */
body:has(.vs3-app) .vs3-side{
  width:244px!important;
  flex:0 0 244px!important;
  padding:22px 14px 16px!important;
  background:#fff!important;
  color:#182334!important;
  border-right:1px solid #e7edf3!important;
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
}
body:has(.vs3-app) .vs3-logo{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:4px 10px 24px!important;
  font-size:23px!important;
  letter-spacing:-.5px!important;
  color:#142338!important;
}
body:has(.vs3-app) .vs3-logo small{display:none!important;}
body:has(.vs3-app) .vs3-nav{
  position:relative!important;
  z-index:21!important;
  width:100%!important;
  min-height:43px!important;
  padding:10px 13px!important;
  margin:0 0 3px!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#42536a!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
body:has(.vs3-app) .vs3-nav:hover{background:#f5f8fb!important;color:#17324d!important;transform:none!important;}
body:has(.vs3-app) .vs3-nav.active{background:#e4f5ee!important;color:#087a4c!important;border-color:#d5eee5!important;box-shadow:none!important;}
body:has(.vs3-app) .vs3-logout{margin-top:22px!important;color:#7b8999!important;}
@media(max-width:900px){
  body:has(.vs3-app) .vs3-side{width:100%!important;flex-basis:auto!important;display:flex!important;align-items:center!important;overflow:auto!important;padding:10px!important;}
  body:has(.vs3-app) .vs3-logo{display:none!important;}
  body:has(.vs3-app) .vs3-nav{width:auto!important;white-space:nowrap!important;flex:0 0 auto!important;}
}


/* 3.0.3 navigation fix: inactive dashboard tab must not remain visible */
body:has(.vs3-app) .vs3-tab{display:none!important;}
body:has(.vs3-app) .vs3-tab.active{display:block!important;}


/* VikingSoda 3.0.4 — visual unification of inner screens with the Start dashboard.
   Functional JS is intentionally untouched. */
body:has(.vs3-app){
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-tint:#f1f6f4;
  --border:#e2e8f0;
  --heading:#132238;
  --body:#26364a;
  --muted-ui:#738298;
  --accent:#168b63;
  --accent-soft:#e6f5ef;
  --accent-blue:#1677ff;
  --accent-pink:#e94b98;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) > .panel{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  box-shadow:0 6px 22px rgba(35,61,84,.045)!important;
  padding:24px 26px!important;
  margin-bottom:18px!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) > .panel > h2,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .panel-head h2,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .report-page-header h2,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .refill-page-head h2{
  color:var(--heading)!important;
  font-size:21px!important;
  line-height:1.2!important;
  letter-spacing:-.15px!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .panel-head,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .report-page-header,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .refill-page-head{
  margin-bottom:18px!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .muted{color:var(--muted-ui)!important;}

/* Controls */
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) label{
  color:#506176!important;
  font-size:12px!important;
  font-weight:750!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) input,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) select,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) textarea{
  border:1px solid #d9e2ea!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--body)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) input:focus,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) select:focus,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) textarea:focus{
  outline:none!important;
  border-color:#8fc6b0!important;
  box-shadow:0 0 0 3px rgba(22,139,99,.10)!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) button{
  min-height:40px;
  border-radius:10px!important;
  font-size:13px!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) button:not(.danger):not(.secondary-btn):not(.route-select-visible):not(.route-unselect-visible):not(.route-edit-select-visible):not(.route-edit-unselect-visible):not(.report-btn):not(.refill-monthly-btn):not(.audit-btn){
  background:var(--accent)!important;
  color:#fff!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .secondary-btn,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .route-select-visible,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .route-unselect-visible,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .route-edit-select-visible,
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .route-edit-unselect-visible{
  background:#f2f6f9!important;color:#314861!important;border:1px solid #dbe4eb!important;
}

/* Tables */
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) .table-wrap{
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  overflow:auto!important;
  background:#fff!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) table{font-size:13px!important;}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) th{
  background:#f7f9fb!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  padding:12px 12px!important;
  border-bottom:1px solid #e6ebf0!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) td{
  color:#26364a!important;
  padding:12px!important;
  border-bottom:1px solid #edf1f4!important;
  background:#fff!important;
}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) tbody tr:hover td{background:#fbfcfd!important;}
body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) tbody tr:last-child td{border-bottom:0!important;}

/* Search/filter strips */
body:has(.vs3-app) .client-filter-row,
body:has(.vs3-app) .audit-filters,
body:has(.vs3-app) .report-filter-card,
body:has(.vs3-app) .history-filter-actions{
  background:#f8fafc!important;
  border:1px solid #e6ebf0!important;
  border-radius:13px!important;
  padding:12px!important;
}
body:has(.vs3-app) .client-filter-row,
body:has(.vs3-app) .audit-filters,
body:has(.vs3-app) .report-filter-card{gap:10px!important;}
body:has(.vs3-app) .client-search-box,
body:has(.vs3-app) .region-filter-box,
body:has(.vs3-app) .history-driver-filter-box{
  background:#fff!important;
  border:1px solid #dfe7ee!important;
  border-radius:11px!important;
}
body:has(.vs3-app) .region-filter-box span,
body:has(.vs3-app) .history-driver-filter-box span{color:#64748b!important;font-weight:800!important;}
body:has(.vs3-app) .filter-current-value{color:var(--accent)!important;font-weight:800!important;}

/* Client / visit cards */
body:has(.vs3-app) .client-filter-row{margin-bottom:14px!important;}
body:has(.vs3-app) .visits-page .visit-kpis{gap:12px!important;margin-bottom:16px!important;}
body:has(.vs3-app) .visits-page .visit-kpis>div{
  background:#f8fafc!important;
  border:1px solid #e5ebf0!important;
  border-radius:13px!important;
  padding:14px 16px!important;
}
body:has(.vs3-app) .visits-page .visit-kpis b{color:var(--heading)!important;font-size:25px!important;}
body:has(.vs3-app) .visit-agenda-col{
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  padding:16px!important;
}

/* Garage / stock */
body:has(.vs3-app) #tab-garage .grid3,
body:has(.vs3-app) #tab-garage .grid4,
body:has(.vs3-app) #tab-route .grid3,
body:has(.vs3-app) #tab-route .grid4,
body:has(.vs3-app) #tab-exchange .grid4,
body:has(.vs3-app) #tab-inventory .grid4{
  gap:12px!important;
}
body:has(.vs3-app) #tab-garage .grid3>label,
body:has(.vs3-app) #tab-garage .grid4>label{
  background:#f8fafc!important;
  border:1px solid #e5ebf0!important;
  border-radius:12px!important;
  padding:13px!important;
}
body:has(.vs3-app) .state-box,
body:has(.vs3-app) .notice{
  background:#f4f8fc!important;
  border:1px solid #e1e8ef!important;
  border-radius:12px!important;
  color:#40536a!important;
}
body:has(.vs3-app) .vehicle{
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  box-shadow:0 4px 14px rgba(35,61,84,.035)!important;
}
body:has(.vs3-app) .vehicle-stock-group.full{background:#f2f7ff!important;border:1px solid #dbe9fb!important;border-radius:11px!important;}
body:has(.vs3-app) .vehicle-stock-group.empty{background:#f7f8fa!important;border:1px solid #e4e8ed!important;border-radius:11px!important;}

/* Exchange/inventory forms */
body:has(.vs3-app) #tab-exchange .driver-pick-box,
body:has(.vs3-app) #tab-exchange .ajax-form,
body:has(.vs3-app) #tab-inventory .ajax-form,
body:has(.vs3-app) #tab-refill .ajax-form{
  gap:14px!important;
}
body:has(.vs3-app) #tab-exchange .driver-stock-preview,
body:has(.vs3-app) #selected-client-state,
body:has(.vs3-app) #inventory-expected{
  border-radius:12px!important;
}

/* Route planning */
body:has(.vs3-app) .route-picker-tools{
  background:#f8fafc!important;
  border:1px solid #e5ebf0!important;
  border-radius:13px!important;
  padding:10px!important;
}
body:has(.vs3-app) .route-client-picker,
body:has(.vs3-app) .route-edit-list{
  background:#fafcfd!important;
  border:1px solid #e2e9ef!important;
  border-radius:12px!important;
}
body:has(.vs3-app) .route-client-check,
body:has(.vs3-app) .route-edit-list label{
  border-color:#e0e7ed!important;
  border-radius:10px!important;
}
body:has(.vs3-app) .route-client-check.is-selected,
body:has(.vs3-app) .route-edit-client-row.is-selected{
  background:var(--accent-soft)!important;
  border-color:#9dd2be!important;
}

/* Refill */
body:has(.vs3-app) .refiller-garage-card{
  border-radius:14px!important;
  border:1px solid #dfe7ee!important;
  box-shadow:0 4px 14px rgba(35,61,84,.035)!important;
}
body:has(.vs3-app) .refill-section{
  background:#fff!important;
  border:1px solid #e2e8ef!important;
  border-radius:14px!important;
  padding:16px!important;
  margin-bottom:12px!important;
}
body:has(.vs3-app) .refill-section-head{margin-bottom:12px!important;}
body:has(.vs3-app) .refill-section-head h3{color:var(--heading)!important;font-size:16px!important;}

/* Reports */
body:has(.vs3-app) .report-page-card{min-height:0!important;}
body:has(.vs3-app) .report-filter-card{margin-bottom:16px!important;}
body:has(.vs3-app) .report-btn,
body:has(.vs3-app) .refill-monthly-btn,
body:has(.vs3-app) .audit-btn{background:var(--accent)!important;color:#fff!important;}
body:has(.vs3-app) .report-empty{padding:16px 18px!important;color:#607087!important;}

/* Workers / audit / history */
body:has(.vs3-app) #tab-workers .panel-head>div:last-child{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
body:has(.vs3-app) #tab-audit .audit-pagination,
body:has(.vs3-app) #tab-history .history-filter-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}

/* Modals match the Start cards */
body:has(.vs3-app) .vs3-modal{background:rgba(14,28,43,.28)!important;backdrop-filter:blur(3px)!important;}
body:has(.vs3-app) .modal-inner{
  border:1px solid #e1e8ee!important;
  border-radius:16px!important;
  box-shadow:0 24px 70px rgba(20,38,54,.18)!important;
}

/* Driver home: same visual language as admin Start */
body:has(.vs3-app) #tab-home:not(.vs3-home-dashboard) .cards{gap:14px!important;}
body:has(.vs3-app) #tab-home:not(.vs3-home-dashboard) .card{
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:15px!important;
  box-shadow:0 5px 18px rgba(30,58,88,.035)!important;
}

/* Hide the one-click new exchange shortcut on Start, keeping the exchange page available in the menu. */
body:has(.vs3-app) #tab-home.vs3-home-dashboard .vs3-quick-actions [data-tab="exchange"]{display:none!important;}

@media(max-width:900px){
  body:has(.vs3-app) .vs3-tab:not(.vs3-home-dashboard) > .panel{padding:18px!important;}
  body:has(.vs3-app) .client-filter-row,
  body:has(.vs3-app) .audit-filters,
  body:has(.vs3-app) .report-filter-card{grid-template-columns:1fr!important;display:grid!important;}
}


/* VikingSoda 3.0.5 – UI refinements */
:root{--calendar-accent:#3b82f6}
.vs3-side{background:#ffffff!important;color:#263446!important;border-right:1px solid #e6ebf1!important}
.vs3-logo{color:#102033!important;font-weight:800!important}
.vs3-nav{background:transparent!important;color:#5f6f82!important;border:0!important;text-align:left!important}
.vs3-nav:hover{background:#f3f6fa!important;color:#213b57!important}
.vs3-nav.active{background:#e9f3ff!important;color:#1d67b1!important;box-shadow:none!important}
.vs3-logout{color:#6f7f92!important}
.vs3-main{background:#f6f8fb!important}
.vs3-main header{margin-bottom:22px!important}
.panel,.card,.vehicle{background:#fff!important;border-color:#e4e9ef!important;box-shadow:0 2px 10px rgba(23,45,70,.035)!important}
.table-wrap table th{background:#f8fafc!important;color:#5b6b7d!important}
.table-wrap table td{background:#fff!important;color:#283647!important}
.secondary-btn{background:#f3f6fa!important;color:#33485e!important}
.worker-delete{background:#d92d2d!important;color:#fff!important;border-color:#c62525!important}
.worker-delete:hover{background:#bd2020!important;color:#fff!important}
.report-pagination,.history-pagination,.inventory-history-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:14px 0 2px}
.report-page-label,.history-page-label,.inventory-history-page-label{font-weight:800;color:#607085;min-width:100px;text-align:center}
.inventory-history-table{min-width:1150px}
.route-scheduled-field{display:flex;flex-direction:column;gap:6px;margin:10px 0 12px;font-size:12px;font-weight:800;color:#5d6d80}
.route-scheduled-field input{min-height:42px}
.my-route-history{margin:18px 0}
.recent-route-table{min-width:720px}
.expanded-history{margin-top:12px;border:1px solid #e1e7ee;border-radius:12px;background:#f9fbfd;padding:10px 12px}
.expanded-history summary{cursor:pointer;font-weight:800;color:#315475}
.refiller-home-back{margin-bottom:12px}
.calendar-tools{display:flex;align-items:flex-end;gap:10px}
.calendar-color-picker input[type=color]{width:54px;height:42px;padding:3px;border:1px solid #d6dee8;border-radius:9px;background:#fff}
.visit-day-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.calendar-plan-route{padding:4px 7px!important;background:#fff!important;color:var(--calendar-accent)!important;border:1px solid color-mix(in srgb,var(--calendar-accent) 30%,#fff)!important;font-size:10px!important;font-weight:800!important}
.calendar-route-chip{display:flex;flex-direction:column;gap:1px;padding:6px 7px;border-radius:8px;border:1px solid color-mix(in srgb,var(--calendar-accent) 24%,#dfe8f2);background:color-mix(in srgb,var(--calendar-accent) 7%,#fff);}
.calendar-route-chip b{font-size:10px;color:#294a67}.calendar-route-chip small{font-size:9px;color:#6d7d8d}.calendar-route-chip em{font-style:normal;font-size:8px;font-weight:800;color:var(--calendar-accent)}
.visit-day.has-visits{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--calendar-accent) 13%,transparent)!important}
.visit-day-number{color:#294a67!important}
.visit-chip{border-color:color-mix(in srgb,var(--calendar-accent) 18%,#d9e4ee)!important;background:color-mix(in srgb,var(--calendar-accent) 4%,#fff)!important}
.visit-chip:hover{border-color:var(--calendar-accent)!important}
.report-table-card table thead tr:first-child th{background:#f2f6fa!important;color:#40566f!important;font-weight:900!important;text-align:center!important}
.report-table-card table thead tr:nth-child(2) th{background:#fafcfd!important}
.report-table-card table td{vertical-align:top}
@media(max-width:900px){.calendar-tools{width:100%;justify-content:space-between}.route-scheduled-field{margin-top:8px}.report-pagination,.history-pagination,.inventory-history-pagination{flex-wrap:wrap}}

.refiller-main-back{margin-bottom:12px}.refiller-main-back button{background:#f3f6fa!important;color:#315475!important;border:1px solid #dbe4ec!important}.refiller-main-back button:hover{background:#e9f1f8!important}

/* VikingSoda 3.0.6 – unified light theme for calendar, dialogs, forms and reports. */
:root{
  --vs-bg:#f5f7fa;
  --vs-panel:#ffffff;
  --vs-line:#e1e8ef;
  --vs-text:#142238;
  --vs-muted:#718297;
  --vs-blue:#247cf0;
  --vs-blue-soft:#eaf3ff;
  --vs-pink:#e64f98;
  --vs-pink-soft:#fff0f7;
  --vs-green:#39a879;
  --vs-green-soft:#e8f6ef;
  --vs-yellow:#e2a928;
  --vs-yellow-soft:#fff6df;
  --calendar-accent:#247cf0!important;
}

/* All non-dashboard panels use the same light card language as Start. */
.vs3-app .panel,
.vs3-app .card,
.vs3-app .vehicle,
.vs3-app .route-live-row,
.vs3-app .route-edit-list label,
.vs3-app .route-client-check,
.vs3-app .route-return-card,
.vs3-app .route-close-driver,
.vs3-app .route-close-stock>div,
.vs3-app .monthly-refill-box,
.vs3-app .backup-row,
.vs3-app .backup-empty,
.vs3-app .visit-agenda-col,
.vs3-app .visit-day,
.vs3-app .visit-chip,
.vs3-app .audit-filters,
.vs3-app .route-close-note-box,
.vs3-app .route-close-submit-box,
.vs3-app .report-summary .card,
.vs3-app .monthly-refill-summary>div,
.vs3-app .client-history-summary>div,
.vs3-app .refiller-garage-card{
  background:#fff!important;
  color:#142238!important;
  border-color:#e1e8ef!important;
  box-shadow:0 6px 18px rgba(27,54,82,.05)!important;
}

.vs3-app .panel h2,
.vs3-app .panel-head h2,
.vs3-app .card strong,
.vs3-app .vehicle strong{
  color:#142238!important;
}
.vs3-app .panel p.muted,
.vs3-app .muted,
.vs3-app .route-client-check small,
.vs3-app .route-edit-client-row small{
  color:#718297!important;
}

/* Forms and filters match Start. */
.vs3-app .ajax-form input,
.vs3-app .ajax-form select,
.vs3-app .ajax-form textarea,
.vs3-app .search,
.vs3-app #history-driver-filter,
.vs3-app .route-search-box,
.vs3-app .client-filter-row .client-search-box,
.vs3-app .region-filter-box,
.vs3-app .route-picker-tools .route-search-box,
.vs3-app .route-garage-stock,
.vs3-app .audit-filters{
  background:#fff!important;
  color:#24364b!important;
  border-color:#dce5ed!important;
}
.vs3-app .ajax-form input::placeholder,
.vs3-app .ajax-form textarea::placeholder,
.vs3-app .search::placeholder,
.vs3-app .route-search-box input::placeholder{color:#8998a8!important}
.vs3-app .ajax-form input:focus,
.vs3-app .ajax-form select:focus,
.vs3-app .ajax-form textarea:focus,
.vs3-app .search:focus{border-color:#8ebaf7!important;box-shadow:0 0 0 3px rgba(36,124,240,.10)!important}

/* Calendar is fixed to Start colours; the colour chooser is intentionally hidden. */
.vs3-app .calendar-color-picker{display:none!important}
.vs3-app .visit-kpis>div{background:#fff!important;border-color:#e1e8ef!important}
.vs3-app .visit-kpis b{color:#142238!important}
.vs3-app .visit-kpis span{color:#718297!important}
.vs3-app .visit-calendar-grid{background:#f6f8fa!important;border-color:#e1e8ef!important}
.vs3-app .visit-day{background:#fff!important;border-color:#e1e7ee!important}
.vs3-app .visit-day-name{color:#718297!important}
.vs3-app .visit-day-number{color:#142238!important}
.vs3-app .visit-day.has-visits{box-shadow:inset 0 0 0 2px rgba(36,124,240,.10)!important}
.vs3-app .visit-chip{background:#f7fbff!important;border-color:#dbe7f2!important;color:#24364b!important}
.vs3-app .visit-chip:hover{border-color:#247cf0!important;background:#eef6ff!important}
.vs3-app .calendar-route-chip{background:#eef6ff!important;border-color:#cfe2fa!important}
.vs3-app .calendar-route-chip b{color:#274664!important}
.vs3-app .calendar-route-chip small{color:#708195!important}
.vs3-app .calendar-route-chip em{color:#247cf0!important}
.vs3-app .calendar-plan-route{
  padding:3px 6px!important;
  min-height:28px!important;
  background:#eaf3ff!important;
  color:#247cf0!important;
  border:1px solid #cfe2fa!important;
  border-radius:8px!important;
  box-shadow:none!important;
  font-size:10px!important;
  line-height:1!important;
}
.vs3-app .calendar-plan-route:hover{background:#dfeeff!important}

/* Reports: no navy header bands. */
.vs3-app .table-wrap{background:#fff!important;border-color:#e1e8ef!important}
.vs3-app table{color:#26384e!important}
.vs3-app th{background:#f7f9fb!important;color:#718297!important;border-bottom:1px solid #e1e8ef!important}
.vs3-app td{color:#26384e!important;border-bottom:1px solid #edf1f5!important;background:#fff!important}
.vs3-app tbody tr:hover{background:#f8fbfe!important}
.vs3-app .report-summary strong{color:#142238!important}
.vs3-app .report-summary .card b{color:#718297!important}
.vs3-app .report-exchange-table th,
.vs3-app .report-refill-table th,
.vs3-app .history-table th,
.vs3-app #ops-table th{background:#f7f9fb!important;color:#718297!important}

/* Buttons: blue primary, soft blue secondary, consistent with Start. */
.vs3-app button{
  background:#247cf0!important;
  border-color:#247cf0!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(36,124,240,.14)!important;
}
.vs3-app button.secondary-btn,
.vs3-app .route-select-visible,
.vs3-app .route-unselect-visible,
.vs3-app .route-edit-select-visible,
.vs3-app .route-edit-unselect-visible,
.vs3-app .route-close-actions button,
.vs3-app .operations-panel .open-modal{
  background:#f2f6fa!important;
  color:#42627f!important;
  border-color:#dce5ed!important;
  box-shadow:none!important;
}
.vs3-app .vs3-quick-actions button.open-modal{background:#247cf0!important;color:#fff!important;border-color:#247cf0!important}
.vs3-app .danger{background:#dc4f5a!important;border-color:#dc4f5a!important;color:#fff!important}

/* Modals/dialogs: same white card system as Start. */
.vs3-app .vs3-modal{background:rgba(18,34,56,.30)!important}
.vs3-app .modal-inner{
  background:#fff!important;
  color:#24364b!important;
  border:1px solid #e0e7ee!important;
  box-shadow:0 24px 60px rgba(27,54,82,.18)!important;
}
.vs3-app .modal-inner h2{color:#142238!important}
.vs3-app .close{color:#6d7e91!important}
.vs3-app .toast{background:#fff!important;color:#24364b!important;border-color:#dce5ed!important;box-shadow:0 12px 30px rgba(27,54,82,.14)!important}

/* Region chooser and selected state follow the light Start palette. */
.vs3-app .region-pill{background:#fff!important;color:#42627f!important;border-color:#d8e4ee!important}
.vs3-app .region-pill.active{background:#e3f4eb!important;color:#14804d!important;border-color:#d5eee3!important}
.vs3-app .route-client-check.is-selected,
.vs3-app .route-edit-client-row.is-selected{background:#eef6ff!important;border-color:#8dbaf0!important}
.vs3-app .route-selected-count,
.vs3-app .route-edit-selected-count,
.vs3-app .route-visible-count,
.vs3-app .filter-current-value,
.vs3-app .route-region-current{color:#42627f!important}

/* Worker delete button must remain readable. */
.vs3-app .worker-delete{color:#fff!important}


/* VikingSoda 3.0.7 – visual polish: keep all secondary UI aligned with the Start page. */
.vs3-app .vs3-global-search kbd{display:none!important}

/* All popups/dialogs use the same light project palette as Start. */
.vs3-app .vs3-modal{
  background:rgba(30,53,77,.20)!important;
  backdrop-filter:blur(4px)!important;
}
.vs3-app .vs3-modal .modal-inner,
.vs3-app .modal-inner{
  background:#fff!important;
  color:#1e2d40!important;
  border:1px solid #dfe7ee!important;
  border-radius:16px!important;
  box-shadow:0 22px 60px rgba(31,57,82,.16)!important;
}
.vs3-app .modal-inner h2,
.vs3-app .modal-inner h3{color:#142238!important}
.vs3-app .modal-inner label{color:#52677d!important}
.vs3-app .modal-inner input,
.vs3-app .modal-inner select,
.vs3-app .modal-inner textarea{
  background:#fff!important;
  color:#26384e!important;
  border:1px solid #d9e3eb!important;
  box-shadow:none!important;
}
.vs3-app .modal-inner input:focus,
.vs3-app .modal-inner select:focus,
.vs3-app .modal-inner textarea:focus{
  border-color:#8dbaf0!important;
  box-shadow:0 0 0 3px rgba(36,124,240,.10)!important;
}
.vs3-app .modal-inner .state-box,
.vs3-app .modal-inner .notice{
  background:#f7fafc!important;
  color:#51667b!important;
  border:1px solid #e0e7ee!important;
}
.vs3-app .modal-inner .route-client-picker,
.vs3-app .modal-inner .route-edit-list{
  background:#f8fafc!important;
  border-color:#e0e7ee!important;
}
.vs3-app .modal-inner .route-client-check,
.vs3-app .modal-inner .route-edit-client-row{
  background:#fff!important;
  color:#2e4156!important;
  border-color:#e0e7ed!important;
}
.vs3-app .modal-inner .route-client-check:hover,
.vs3-app .modal-inner .route-edit-client-row:hover{
  background:#f4f8fc!important;
}
.vs3-app .modal-inner .route-client-check.is-selected,
.vs3-app .modal-inner .route-edit-client-row.is-selected{
  background:#eef6ff!important;
  border-color:#9ec4ee!important;
}
.vs3-app .toast{
  background:#fff!important;
  color:#24364b!important;
  border:1px solid #dfe7ee!important;
  border-radius:12px!important;
  box-shadow:0 12px 30px rgba(31,57,82,.14)!important;
}

/* Refill page: clear, Start-style three-column cards. */
.vs3-app #tab-refill .refill-sections{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.vs3-app #tab-refill .refill-section{
  background:#fff!important;
  border:1px solid #dfe7ee!important;
  border-radius:15px!important;
  padding:18px!important;
  margin:0!important;
  box-shadow:0 6px 22px rgba(30,58,88,.035)!important;
}
.vs3-app #tab-refill .refill-section-head{
  min-height:62px!important;
  margin-bottom:14px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #edf1f5!important;
}
.vs3-app #tab-refill .refill-section-head h3{
  margin:0 0 6px!important;
  color:#142238!important;
  font-size:16px!important;
  font-weight:800!important;
}
.vs3-app #tab-refill .refill-section-head span{
  color:#75879a!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.vs3-app #tab-refill .refill-section.empty-to-full{border-top:3px solid #247cf0!important}
.vs3-app #tab-refill .refill-section.damaged-to-full{border-top:3px solid #e64f98!important}
.vs3-app #tab-refill .refill-section.damaged-away{border-top:3px solid #f0b84a!important}
.vs3-app #tab-refill .grid2{gap:12px!important}
.vs3-app #tab-refill .grid2 label{color:#52677d!important;font-weight:800!important}
.vs3-app #tab-refill input[type=number]{
  min-height:44px!important;
  background:#fff!important;
  color:#1f2f43!important;
  border:1px solid #d9e3eb!important;
  border-radius:10px!important;
}
.vs3-app #tab-refill input[type=number]:focus{
  border-color:#8dbaf0!important;
  box-shadow:0 0 0 3px rgba(36,124,240,.10)!important;
}
.vs3-app #tab-refill > .panel > .state-box:last-child{
  background:#f7fafc!important;
  border-color:#e0e7ee!important;
  color:#5a6f84!important;
}
@media(max-width:900px){
  .vs3-app #tab-refill .refill-sections{grid-template-columns:1fr!important}
}

/* Exchange report: clean two-level table hierarchy, no dark bands. */
.vs3-app .report-table-card .table-wrap{
  background:#fff!important;
  border:1px solid #dfe7ee!important;
  border-radius:14px!important;
}
.vs3-app .report-table-card table{min-width:1020px!important}
.vs3-app .report-table-card thead tr:first-child th{
  background:#f3f7fa!important;
  color:#52677d!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:center!important;
  border-bottom:1px solid #dfe7ee!important;
}
.vs3-app .report-table-card thead tr:nth-child(2) th{
  background:#fafcfd!important;
  color:#74879a!important;
  font-size:11px!important;
  font-weight:800!important;
}
.vs3-app .report-table-card td{
  background:#fff!important;
  color:#2b3c50!important;
  padding:12px 10px!important;
  font-size:12px!important;
  border-bottom:1px solid #edf1f5!important;
}
.vs3-app .report-table-card tbody tr:hover td{background:#f8fbfe!important}
.vs3-app .report-table-card td:nth-child(5),
.vs3-app .report-table-card td:nth-child(6){color:#247cf0!important;font-weight:800!important}
.vs3-app .report-table-card td:nth-child(7),
.vs3-app .report-table-card td:nth-child(8){color:#e64f98!important;font-weight:800!important}
@media(max-width:900px){.vs3-app .report-table-card table{min-width:900px!important}}

/* VikingSoda 3.0.8 — unified Start-style dialogs, refill cards, invoice actions and exchange report. */
:root{
  --vs-start-bg:#f5f7fa;
  --vs-start-card:#ffffff;
  --vs-start-line:#e1e8ef;
  --vs-start-text:#142238;
  --vs-start-muted:#718297;
  --vs-start-blue:#247cf0;
  --vs-start-blue-soft:#eaf3ff;
  --vs-start-pink:#e64f98;
  --vs-start-pink-soft:#fff0f7;
  --vs-start-green:#39a879;
  --vs-start-green-soft:#e8f6ef;
  --vs-start-yellow:#e2a928;
  --vs-start-yellow-soft:#fff6df;
}

/* Every popup uses exactly the same visual language as Start. */
.vs3-app .vs3-modal,
body:has(.vs3-app) .vs3-modal{
  background:rgba(27,50,74,.18)!important;
  backdrop-filter:blur(5px)!important;
}
.vs3-app .vs3-modal .modal-inner,
body:has(.vs3-app) .vs3-modal .modal-inner{
  background:var(--vs-start-card)!important;
  color:var(--vs-start-text)!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(31,58,84,.16)!important;
  padding:26px!important;
}
.vs3-app .modal-inner h2,
.vs3-app .modal-inner h3{color:var(--vs-start-text)!important;letter-spacing:-.02em!important}
.vs3-app .modal-inner label{color:#52677d!important}
.vs3-app .modal-inner input,
.vs3-app .modal-inner select,
.vs3-app .modal-inner textarea{
  background:#fff!important;
  color:#24364b!important;
  border:1px solid #d9e3eb!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.vs3-app .modal-inner input:focus,
.vs3-app .modal-inner select:focus,
.vs3-app .modal-inner textarea:focus{
  border-color:#8dbaf0!important;
  box-shadow:0 0 0 3px rgba(36,124,240,.10)!important;
}
.vs3-app .modal-inner .close{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#f4f7fa!important;
  color:#6b7b8e!important;
  border:1px solid #e1e8ef!important;
  box-shadow:none!important;
  font-size:22px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.vs3-app .modal-inner .close:hover{background:#edf3f8!important;color:#24364b!important}
.vs3-app .modal-inner button:not(.close){
  background:var(--vs-start-blue)!important;
  border:1px solid var(--vs-start-blue)!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:0 6px 14px rgba(36,124,240,.13)!important;
}
.vs3-app .modal-inner button.secondary-btn,
.vs3-app .modal-inner .route-select-visible,
.vs3-app .modal-inner .route-unselect-visible,
.vs3-app .modal-inner .route-edit-select-visible,
.vs3-app .modal-inner .route-edit-unselect-visible,
.vs3-app .modal-inner .route-close-actions button,
.vs3-app .modal-inner .route-return-all,
.vs3-app .modal-inner .route-return-zero{
  background:#f2f6fa!important;
  color:#42627f!important;
  border:1px solid #dce5ed!important;
  box-shadow:none!important;
}
.vs3-app .modal-inner .danger,
.vs3-app .modal-inner .worker-delete{
  background:#d94f59!important;
  border-color:#d94f59!important;
  color:#fff!important;
}

/* Refill: no navy fields, three calm Start-style cards with only small colour accents. */
.vs3-app #tab-refill .refill-sections{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin:16px 0!important;
  align-items:stretch!important;
}
.vs3-app #tab-refill .refill-section{
  position:relative!important;
  background:#fff!important;
  color:var(--vs-start-text)!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:16px!important;
  padding:20px!important;
  margin:0!important;
  box-shadow:0 6px 18px rgba(27,54,82,.045)!important;
}
.vs3-app #tab-refill .refill-section.empty-to-full{border-top:4px solid var(--vs-start-blue)!important}
.vs3-app #tab-refill .refill-section.damaged-to-full{border-top:4px solid var(--vs-start-pink)!important}
.vs3-app #tab-refill .refill-section.damaged-away{border-top:4px solid var(--vs-start-yellow)!important}
.vs3-app #tab-refill .refill-section-head{
  min-height:58px!important;
  margin-bottom:16px!important;
  padding-bottom:13px!important;
  border-bottom:1px solid #edf1f5!important;
}
.vs3-app #tab-refill .refill-section-head h3{
  color:var(--vs-start-text)!important;
  font-size:17px!important;
  font-weight:800!important;
  margin:0 0 5px!important;
}
.vs3-app #tab-refill .refill-section-head span{
  color:var(--vs-start-muted)!important;
  font-size:11px!important;
}
.vs3-app #tab-refill .refill-section label{
  color:#52677d!important;
  font-weight:800!important;
}
.vs3-app #tab-refill input[type=number],
.vs3-app #tab-refill input[type=text],
.vs3-app #tab-refill select,
.vs3-app #tab-refill textarea{
  background:#fff!important;
  color:#22354a!important;
  border:1px solid #d9e3eb!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.vs3-app #tab-refill input[type=number]:focus,
.vs3-app #tab-refill input[type=text]:focus,
.vs3-app #tab-refill select:focus,
.vs3-app #tab-refill textarea:focus{
  border-color:#8dbaf0!important;
  box-shadow:0 0 0 3px rgba(36,124,240,.10)!important;
}
.vs3-app #tab-refill .refill-section.empty-to-full button{background:var(--vs-start-blue)!important;border-color:var(--vs-start-blue)!important}
.vs3-app #tab-refill .refill-section.damaged-to-full button{background:var(--vs-start-pink)!important;border-color:var(--vs-start-pink)!important}
.vs3-app #tab-refill .refill-section.damaged-away button{background:#d9a328!important;border-color:#d9a328!important}
@media(max-width:900px){.vs3-app #tab-refill .refill-sections{grid-template-columns:1fr!important}}

/* Invoice actions: compact, obvious and colour coded. */
.vs3-app .invoice-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:28px!important;
  padding:4px 8px!important;
  border-radius:8px!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:800!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.vs3-app .invoice-btn:not(.issued){
  background:#fff7e5!important;
  color:#9a6908!important;
  border:1px solid #efd79e!important;
}
.vs3-app .invoice-btn.issued{
  background:var(--vs-start-green-soft)!important;
  color:#1a7750!important;
  border:1px solid #b9e1cd!important;
}
.vs3-app .invoice-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 8px!important;
  border-radius:8px!important;
  font-size:10px!important;
  font-weight:800!important;
  background:#f3f6f9!important;
  color:#6a7a8d!important;
  border:1px solid #dfe6ed!important;
}
.vs3-app .invoice-badge.issued{
  background:var(--vs-start-green-soft)!important;
  color:#1a7750!important;
  border-color:#b9e1cd!important;
}
.vs3-app .invoice-date{font-size:8px!important;color:#8493a3!important;margin-top:2px!important}

/* Exchange report: clear information hierarchy, wider columns, light headers and stronger spacing. */
.vs3-app #tab-report-exchange .report-page-card{padding:24px!important}
.vs3-app #tab-report-exchange .report-filter-card{
  background:#fff!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:15px!important;
  padding:16px!important;
  box-shadow:0 4px 14px rgba(35,61,84,.035)!important;
}
.vs3-app #tab-report-exchange .report-filter-card label{color:#52677d!important;font-weight:800!important}
.vs3-app #tab-report-exchange .report-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin:16px 0!important;
}
.vs3-app #tab-report-exchange .report-summary .card{
  min-height:96px!important;
  padding:15px!important;
  background:#fff!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:14px!important;
  box-shadow:0 5px 16px rgba(27,54,82,.04)!important;
}
.vs3-app #tab-report-exchange .report-summary .card b{font-size:11px!important;color:#718297!important}
.vs3-app #tab-report-exchange .report-summary .card strong{font-size:22px!important;color:#142238!important;display:block!important;margin-top:7px!important}
.vs3-app #tab-report-exchange .report-summary .blue-kpi{box-shadow:inset 0 3px 0 var(--vs-start-blue),0 5px 16px rgba(27,54,82,.04)!important}
.vs3-app #tab-report-exchange .report-summary .pink-kpi{box-shadow:inset 0 3px 0 var(--vs-start-pink),0 5px 16px rgba(27,54,82,.04)!important}
.vs3-app #tab-report-exchange .report-stock-strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:10px 0 16px!important;
}
.vs3-app #tab-report-exchange .report-stock-strip>div{
  padding:12px 14px!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:12px!important;
  background:#f9fbfd!important;
}
.vs3-app #tab-report-exchange .report-stock-strip span{display:block!important;color:#7a8b9d!important;font-size:10px!important;font-weight:700!important}
.vs3-app #tab-report-exchange .report-stock-strip b{display:block!important;color:#20344a!important;font-size:14px!important;margin-top:4px!important}
.vs3-app #tab-report-exchange .report-table-card{
  background:#fff!important;
  border:1px solid var(--vs-start-line)!important;
  border-radius:15px!important;
  overflow:hidden!important;
  box-shadow:0 5px 18px rgba(27,54,82,.035)!important;
}
.vs3-app #tab-report-exchange .report-table-card table{
  min-width:1120px!important;
  table-layout:auto!important;
}
.vs3-app #tab-report-exchange .report-table-card thead tr:first-child th{
  background:#edf5ff!important;
  color:#46627f!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  padding:11px 9px!important;
  border-bottom:1px solid #dce8f3!important;
}
.vs3-app #tab-report-exchange .report-table-card thead tr:nth-child(2) th{
  background:#f8fafc!important;
  color:#6e7f91!important;
  font-size:10px!important;
  font-weight:800!important;
  padding:10px 9px!important;
}
.vs3-app #tab-report-exchange .report-table-card td{
  background:#fff!important;
  color:#2b3c50!important;
  padding:12px 10px!important;
  font-size:12px!important;
  border-bottom:1px solid #edf1f5!important;
  vertical-align:middle!important;
}
.vs3-app #tab-report-exchange .report-table-card tbody tr:nth-child(even) td{background:#fbfcfd!important}
.vs3-app #tab-report-exchange .report-table-card tbody tr:hover td{background:#f5faff!important}
.vs3-app #tab-report-exchange .report-table-card td:nth-child(2){font-weight:800!important;color:#20334a!important}
.vs3-app #tab-report-exchange .report-table-card td:nth-child(5),
.vs3-app #tab-report-exchange .report-table-card td:nth-child(6){color:var(--vs-start-blue)!important;font-weight:900!important;text-align:center!important}
.vs3-app #tab-report-exchange .report-table-card td:nth-child(7),
.vs3-app #tab-report-exchange .report-table-card td:nth-child(8){color:var(--vs-start-pink)!important;font-weight:900!important;text-align:center!important}
.vs3-app #tab-report-exchange .report-table-card td:nth-child(9){text-align:center!important;font-weight:800!important}
.vs3-app #tab-report-exchange .report-table-card td:nth-child(10){font-weight:900!important;color:#142238!important;text-align:right!important}
@media(max-width:1000px){
  .vs3-app #tab-report-exchange .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vs3-app #tab-report-exchange .report-stock-strip{grid-template-columns:1fr!important}
}
@media(max-width:600px){.vs3-app #tab-report-exchange .report-summary{grid-template-columns:1fr!important}}


/* VikingSoda 3.0.9 — final light project palette / calendar / dialogs / report readability.
   Presentation-only overrides; operational JavaScript and data logic remain untouched. */
body:has(.vs3-app) .vs3-app,
body:has(.vs3-app) .vs3-side,
body:has(.vs3-app) .vs3-main,
body:has(.vs3-app) .card,
body:has(.vs3-app) .panel,
body:has(.vs3-app) .vehicle,
body:has(.vs3-app) .route-live-row,
body:has(.vs3-app) .route-edit-list label,
body:has(.vs3-app) .route-client-check,
body:has(.vs3-app) .route-return-card,
body:has(.vs3-app) .route-close-driver,
body:has(.vs3-app) .route-close-stock>div,
body:has(.vs3-app) .monthly-refill-box,
body:has(.vs3-app) .backup-row,
body:has(.vs3-app) .backup-empty,
body:has(.vs3-app) .visit-agenda-col,
body:has(.vs3-app) .visit-day,
body:has(.vs3-app) .visit-chip,
body:has(.vs3-app) .audit-filters,
body:has(.vs3-app) .route-close-note-box,
body:has(.vs3-app) .route-close-submit-box,
body:has(.vs3-app) .visit-calendar-grid,
body:has(.vs3-app) .route-client-picker,
body:has(.vs3-app) .route-garage-stock,
body:has(.vs3-app) .route-picker-tools .route-search-box,
body:has(.vs3-app) .client-filter-row .client-search-box,
body:has(.vs3-app) .region-filter-box,
body:has(.vs3-app) .route-region-select-wrap,
body:has(.vs3-app) .driver-pick-box,
body:has(.vs3-app) .driver-stock-preview,
body:has(.vs3-app) .state-box,
body:has(.vs3-app) .notice,
body:has(.vs3-app) .report-summary .card,
body:has(.vs3-app) .monthly-refill-summary>div,
body:has(.vs3-app) .client-history-summary>div{
  background:#fff!important;
  color:#25364a!important;
  border-color:#e1e8ef!important;
  box-shadow:0 5px 18px rgba(28,54,80,.035)!important;
}

/* Remove the old navy theme from the whole application. */
body:has(.vs3-app) .ajax-form input,
body:has(.vs3-app) .ajax-form select,
body:has(.vs3-app) .ajax-form textarea,
body:has(.vs3-app) .search,
body:has(.vs3-app) .vs3-login input,
body:has(.vs3-app) #history-driver-filter,
body:has(.vs3-app) .route-picker-tools .route-search-box,
body:has(.vs3-app) .route-picker-tools .route-search-box input,
body:has(.vs3-app) .region-filter-box select,
body:has(.vs3-app) .route-region-select-wrap select,
body:has(.vs3-app) .route-client-picker,
body:has(.vs3-app) .route-client-check,
body:has(.vs3-app) .route-edit-client-row,
body:has(.vs3-app) .state-box,
body:has(.vs3-app) .notice,
body:has(.vs3-app) .route-close-note,
body:has(.vs3-app) .toast,
body:has(.vs3-app) .vs3-login{
  background:#fff!important;
  color:#25364a!important;
  border-color:#d9e3eb!important;
}
body:has(.vs3-app) .route-close-note-head,
body:has(.vs3-app) .route-close-submit-box,
body:has(.vs3-app) .route-garage-stock{
  background:#f7fafc!important;
  color:#25364a!important;
  border-color:#e1e8ef!important;
}
body:has(.vs3-app) .route-close-note-head span,
body:has(.vs3-app) .muted,
body:has(.vs3-app) .refill-section-head span,
body:has(.vs3-app) .visit-day-number,
body:has(.vs3-app) .visit-chip small,
body:has(.vs3-app) .audit-page-label,
body:has(.vs3-app) .ops-page-label{
  color:#74859a!important;
}

/* Calendar: fixed Start palette. The old colour picker is intentionally hidden. */
body:has(.vs3-app) .calendar-color-picker{display:none!important}
body:has(.vs3-app) .visit-calendar-grid{background:#fff!important;border:1px solid #e1e8ef!important;border-radius:14px!important;padding:10px!important}
body:has(.vs3-app) .visit-day{background:#fff!important;border:1px solid #e8edf2!important;border-radius:12px!important;box-shadow:none!important}
body:has(.vs3-app) .visit-day-top{background:#fff!important;color:#25364a!important}
body:has(.vs3-app) .visit-day-number{color:#50657b!important}
body:has(.vs3-app) .calendar-plan-route{
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:9px!important;
  background:#247cf0!important;
  border:1px solid #247cf0!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 5px 12px rgba(36,124,240,.12)!important;
}
body:has(.vs3-app) .calendar-plan-route:hover{background:#1f73df!important;border-color:#1f73df!important}
body:has(.vs3-app) .calendar-route-chip{background:#f5f9ff!important;border:1px solid #d8e8fa!important;border-left:3px solid #247cf0!important;color:#29415a!important;border-radius:10px!important}
body:has(.vs3-app) .calendar-route-chip em{background:#e8f6ef!important;color:#167a4f!important;border-radius:999px!important}

/* Route / worker creation: same clean Start-style blue. */
body:has(.vs3-app) #modal-route form > button:last-child,
body:has(.vs3-app) #modal-worker form > button,
body:has(.vs3-app) #modal-worker-edit form > button,
body:has(.vs3-app) #modal-route-edit .route-edit-save{
  background:#247cf0!important;
  border-color:#247cf0!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(36,124,240,.12)!important;
}
body:has(.vs3-app) #modal-route .driver-plan-banner,
body:has(.vs3-app) #modal-route .route-garage-stock,
body:has(.vs3-app) #modal-worker .ajax-form,
body:has(.vs3-app) #modal-worker-edit .ajax-form{
  background:#f8fafc!important;
  border-color:#e1e8ef!important;
}

/* Refill: no navy surfaces anywhere. Use only neutral white + tiny blue/pink/yellow accents. */
body:has(.vs3-app) #tab-refill .refill-section,
body:has(.vs3-app) #tab-refill .refill-section.empty-to-full,
body:has(.vs3-app) #tab-refill .refill-section.damaged-to-full,
body:has(.vs3-app) #tab-refill .refill-section.damaged-away{
  background:#fff!important;
  color:#25364a!important;
}
body:has(.vs3-app) #tab-refill .refill-section.empty-to-full{border-top:4px solid #247cf0!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-to-full{border-top:4px solid #e64f98!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-away{border-top:4px solid #e2a928!important}

/* Exchange report: column headings stay visible at the top while the table scrolls. */
body:has(.vs3-app) #tab-report-exchange .report-table-card .table-wrap{max-height:66vh!important;overflow:auto!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card thead{position:sticky!important;top:0!important;z-index:20!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card thead th{position:sticky!important;background:#f8fafc!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card thead tr:first-child th{top:0!important;background:#edf5ff!important;color:#48637e!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card thead tr:nth-child(2) th{top:37px!important;background:#f8fafc!important;color:#6d7f92!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card td{font-size:13px!important;padding:13px 11px!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card td:nth-child(1){font-variant-numeric:tabular-nums;color:#718196!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card td:nth-child(2){font-weight:800!important;color:#1d3045!important}
body:has(.vs3-app) #tab-report-exchange .report-table-card td:nth-child(3),
body:has(.vs3-app) #tab-report-exchange .report-table-card td:nth-child(4){color:#5e7185!important}

/* Generic report/monthly table headers: light, never navy. */
body:has(.vs3-app) .report-table-card th,
body:has(.vs3-app) .monthly-refill-box th{background:#f8fafc!important;color:#6f8093!important;border-color:#e5ebf0!important}
body:has(.vs3-app) .report-table-card td,
body:has(.vs3-app) .monthly-refill-box td{background:#fff!important;color:#2b3d52!important;border-color:#edf1f5!important}

/* Remove remaining old navy text/background variables from visual rendering. */
body:has(.vs3-app) .vs3-app *{text-shadow:none!important}


/* V3.0.10 – final light project palette + refiller history + readable exchange report. */
:root{
  --project-bg:#f6f8fa;
  --project-card:#ffffff;
  --project-line:#e1e8ef;
  --project-text:#142238;
  --project-muted:#718297;
  --project-blue:#247cf0;
  --project-blue-soft:#eaf3ff;
  --project-pink:#e64f98;
  --project-pink-soft:#fff0f7;
  --project-green:#16804f;
  --project-green-soft:#e5f5ec;
  --project-yellow:#b77908;
  --project-yellow-soft:#fff5dd;
}
body:has(.vs3-app) .vs3-app{background:var(--project-bg)!important;color:var(--project-text)!important;border-color:var(--project-line)!important}
body:has(.vs3-app) .vs3-side{background:#fff!important;border-right:1px solid var(--project-line)!important}
body:has(.vs3-app) .vs3-logo{color:#101d2f!important}
body:has(.vs3-app) .vs3-nav{background:transparent!important;color:#53657a!important;border-color:transparent!important;box-shadow:none!important}
body:has(.vs3-app) .vs3-nav:hover{background:#f1f6fb!important;color:#17324d!important}
body:has(.vs3-app) .vs3-nav.active{background:#e2f4ec!important;color:#16804f!important;border-color:#d4ecdf!important;box-shadow:none!important}
body:has(.vs3-app) .vs3-main{background:#f6f8fa!important}
body:has(.vs3-app) .vs3-header-title h1{color:#142238!important}
body:has(.vs3-app) .vs3-header-title .eyebrow{color:#7890a7!important}
body:has(.vs3-app) .vs3-header-title .muted{color:#718297!important}
body:has(.vs3-app) .vs3-global-search,body:has(.vs3-app) .vs3-user-chip{background:#fff!important;border-color:#dfe7ee!important;color:#25364a!important}
body:has(.vs3-app) .vs3-global-search input{background:transparent!important;color:#25374d!important}
body:has(.vs3-app) .vs3-global-search input::placeholder{color:#8998a8!important}
body:has(.vs3-app) .vs3-global-search kbd{background:#f4f7fa!important;border-color:#dce5ed!important;color:#718198!important}
body:has(.vs3-app) .vs3-user-name{color:#24364b!important}
body:has(.vs3-app) .vs3-user-role,body:has(.vs3-app) .vs3-user-caret{color:#7a8999!important}
body:has(.vs3-app) .vs3-user-avatar{background:#e7f0fb!important;color:#2379e8!important}
body:has(.vs3-app) .panel,body:has(.vs3-app) .card,body:has(.vs3-app) .vehicle,body:has(.vs3-app) .route-live-row,body:has(.vs3-app) .route-edit-list label,body:has(.vs3-app) .visit-agenda-col,body:has(.vs3-app) .visit-day,body:has(.vs3-app) .visit-chip,body:has(.vs3-app) .audit-filters,body:has(.vs3-app) .backup-row,body:has(.vs3-app) .monthly-refill-box,body:has(.vs3-app) .route-close-stock>div,body:has(.vs3-app) .route-return-card,body:has(.vs3-app) .route-close-driver,body:has(.vs3-app) .route-close-note-box,body:has(.vs3-app) .route-close-submit-box{
  background:#fff!important;border-color:var(--project-line)!important;color:var(--project-text)!important;box-shadow:0 5px 18px rgba(28,54,80,.035)!important
}
body:has(.vs3-app) .state-box,body:has(.vs3-app) .notice{background:#f7fafc!important;color:#33475d!important;border-color:#e1e8ef!important}
body:has(.vs3-app) .ajax-form input,body:has(.vs3-app) .ajax-form select,body:has(.vs3-app) .ajax-form textarea,body:has(.vs3-app) .search,body:has(.vs3-app) #history-driver-filter,body:has(.vs3-app) .route-picker-tools .route-search-box,body:has(.vs3-app) .route-region-select-wrap select,body:has(.vs3-app) .region-filter-box select{
  background:#fff!important;color:#25364a!important;border-color:#d9e3eb!important
}
body:has(.vs3-app) .ajax-form input::placeholder,body:has(.vs3-app) .ajax-form textarea::placeholder,body:has(.vs3-app) .search::placeholder{color:#9aa8b6!important}
body:has(.vs3-app) th{background:#f8fafc!important;color:#6f8093!important;border-color:#e5ebf0!important}
body:has(.vs3-app) td{background:#fff!important;color:#2b3d52!important;border-color:#edf1f5!important}
body:has(.vs3-app) tbody tr:hover{background:#f8fbfe!important}
body:has(.vs3-app) .secondary-btn,body:has(.vs3-app) .route-select-visible,body:has(.vs3-app) .route-unselect-visible,body:has(.vs3-app) .route-edit-select-visible,body:has(.vs3-app) .route-edit-unselect-visible{background:#f6f9fc!important;color:#52677c!important;border-color:#dce5ed!important;box-shadow:none!important}
/* Modals: always match the light Start palette. */
body:has(.vs3-app) .vs3-modal{background:rgba(16,34,56,.34)!important}
body:has(.vs3-app) .modal-inner{background:#fff!important;color:#25364a!important;border:1px solid #dfe7ee!important;box-shadow:0 25px 70px rgba(22,49,75,.18)!important}
body:has(.vs3-app) .modal-inner h2,body:has(.vs3-app) .modal-inner h3{color:#142238!important}
body:has(.vs3-app) .modal-inner .close{color:#607287!important;background:transparent!important}
body:has(.vs3-app) .toast{background:#fff!important;color:#25364a!important;border:1px solid #dfe7ee!important;box-shadow:0 12px 30px rgba(22,49,75,.16)!important}
/* Refiller: keep the whole workflow neutral/light, with only subtle identity accents. */
body:has(.vs3-app[data-role="refiller"]) #tab-refill,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .panel,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-card,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-grid>div,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-live-stock,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .state-box{
  background:#fff!important;color:#25364a!important;border-color:#e1e8ef!important
}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.empty-to-full{border-top:4px solid var(--project-blue)!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.damaged-to-full{border-top:4px solid var(--project-pink)!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.damaged-away{border-top:4px solid #e2a928!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-card.blue .refiller-garage-title{color:var(--project-blue)!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-card.pink .refiller-garage-title{color:var(--project-pink)!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-grid>div{background:#f8fafc!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section h3{color:#25364a!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section-head span{color:#74859a!important}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .ajax-form>button{background:var(--project-blue)!important;color:#fff!important;border-color:var(--project-blue)!important}
/* Refiller history page. */
body:has(.vs3-app) .refill-history-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}
body:has(.vs3-app) .refill-history-page-label{min-width:100px;text-align:center;font-weight:800;color:#53657a}
body:has(.vs3-app) .refill-history-table-wrap{background:#fff!important;border-color:#e4eaf0!important}
body:has(.vs3-app) .refill-history-table{min-width:1000px}
/* Invoice action pills. */
body:has(.vs3-app) .invoice-btn{padding:5px 9px!important;border-radius:999px!important;font-size:11px!important;line-height:1.2!important;box-shadow:none!important}
body:has(.vs3-app) .invoice-btn.todo{background:var(--project-yellow-soft)!important;color:var(--project-yellow)!important;border:1px solid #f0d79f!important}
body:has(.vs3-app) .invoice-btn.issued{background:var(--project-green-soft)!important;color:var(--project-green)!important;border:1px solid #bfe8d1!important}
body:has(.vs3-app) .invoice-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f1f4f7;color:#68798c;border:1px solid #dce4eb;font-size:11px;font-weight:800}
body:has(.vs3-app) .invoice-badge.issued{background:var(--project-green-soft)!important;color:var(--project-green)!important;border-color:#bfe8d1!important}
/* Exchange report – card/list layout instead of a dense horizontal table. */
body:has(.vs3-app) .exchange-report-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
body:has(.vs3-app) .exchange-report-card{background:#fff!important;border:1px solid #e1e8ef!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(27,54,82,.05)!important;overflow:hidden}
body:has(.vs3-app) .exchange-report-head{display:grid;grid-template-columns:1.05fr 1.35fr 1.1fr .8fr;gap:0;border-bottom:1px solid #edf1f5;background:#fbfcfd}
body:has(.vs3-app) .exchange-report-head>div{padding:12px 14px;border-right:1px solid #edf1f5;min-width:0}
body:has(.vs3-app) .exchange-report-head>div:last-child{border-right:0}
body:has(.vs3-app) .exchange-report-head small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#8b99a8;margin-bottom:5px}
body:has(.vs3-app) .exchange-report-head b{display:block;font-size:13px;color:#1d3045;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:has(.vs3-app) .exchange-report-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
body:has(.vs3-app) .exchange-report-block{padding:12px 14px;border-right:1px solid #edf1f5;display:flex;flex-direction:column;gap:5px;min-height:62px;justify-content:center}
body:has(.vs3-app) .exchange-report-block:last-child{border-right:0}
body:has(.vs3-app) .exchange-report-block>span{font-size:10px;font-weight:800;color:#7b8b9b}
body:has(.vs3-app) .exchange-report-block>b{font-size:14px;color:#21364c}
body:has(.vs3-app) .exchange-report-block.value{background:#fbfcfd}
body:has(.vs3-app) .exchange-report-block.value b{color:#16804f}
body:has(.vs3-app) .report-empty-card{background:#fff;border:1px dashed #dbe4ec;border-radius:14px;padding:28px;text-align:center;color:#7a8999}
@media(max-width:850px){
  body:has(.vs3-app) .exchange-report-head{grid-template-columns:1fr 1fr}
  body:has(.vs3-app) .exchange-report-head>div:nth-child(2){border-right:0}
  body:has(.vs3-app) .exchange-report-details{grid-template-columns:1fr 1fr}
  body:has(.vs3-app) .exchange-report-block:nth-child(2){border-right:0}
}
@media(max-width:520px){body:has(.vs3-app) .exchange-report-head,body:has(.vs3-app) .exchange-report-details{grid-template-columns:1fr}.exchange-report-head>div,.exchange-report-block{border-right:0!important;border-bottom:1px solid #edf1f5}.exchange-report-head>div:last-child,.exchange-report-block:last-child{border-bottom:0}}


/* V3.0.11 – final visual cleanup based on the light Start design. */
body:has(.vs3-app) #tab-refill .refill-sections,
body:has(.vs3-app) #tab-refill .refill-section,
body:has(.vs3-app) #tab-refill .refill-section-head,
body:has(.vs3-app) #tab-refill .refill-section .grid2,
body:has(.vs3-app) #tab-refill .refill-section label,
body:has(.vs3-app) #tab-refill .refill-section input,
body:has(.vs3-app) #tab-refill .refill-section textarea,
body:has(.vs3-app) #tab-refill .refill-section select,
body:has(.vs3-app) #tab-refill .refiller-garage-card,
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div,
body:has(.vs3-app) #tab-refill .state-box,
body:has(.vs3-app) #tab-refill .refill-live-stock{
  background:#fff!important;
  color:#25364a!important;
}
body:has(.vs3-app) #tab-refill .refill-section-head h3,
body:has(.vs3-app) #tab-refill label{color:#25364a!important}
body:has(.vs3-app) #tab-refill .refill-section-head span{color:#7b8b9b!important}
body:has(.vs3-app) #tab-refill .refill-section.empty-to-full{border-top:4px solid #6ea8f4!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-to-full{border-top:4px solid #ee83b3!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-away{border-top:4px solid #e7c36d!important}
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div{border:1px solid #edf1f5!important;background:#f8fafc!important}
body:has(.vs3-app) #tab-refill input,
body:has(.vs3-app) #tab-refill textarea,
body:has(.vs3-app) #tab-refill select{background:#fff!important;color:#25364a!important;border:1px solid #dfe6ed!important}
body:has(.vs3-app) #tab-refill .ajax-form>button{background:#8bb9f3!important;color:#fff!important;border-color:#8bb9f3!important}

/* Exchange report: simple, spreadsheet-like and easy to scan. */
body:has(.vs3-app) #tab-report-exchange .report-clean-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi{background:#fff!important;border:1px solid #e1e8ef!important;border-radius:14px!important;padding:13px 15px!important;box-shadow:0 5px 16px rgba(28,54,80,.035)!important;min-width:0}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi span{display:block;color:#78899b!important;font-size:10px!important;font-weight:800!important;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi strong{display:block;color:#182b40!important;font-size:22px!important;line-height:1.1!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi.blue strong{color:#4289e9!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi.pink strong{color:#e45f9d!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi.value strong{color:#16804f!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table-wrap{background:#fff;border:1px solid #e1e8ef;border-radius:14px;overflow:auto;box-shadow:0 5px 16px rgba(28,54,80,.03)}
body:has(.vs3-app) #tab-report-exchange .report-clean-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;color:#26394f!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table th{position:sticky;top:0;z-index:3;background:#f8fafc!important;color:#718195!important;border-bottom:1px solid #e1e8ef!important;padding:12px 11px!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.04em!important;white-space:nowrap}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td{background:#fff!important;color:#3a4d62!important;border-bottom:1px solid #edf1f5!important;padding:12px 11px!important;font-size:12px!important;white-space:nowrap}
body:has(.vs3-app) #tab-report-exchange .report-clean-table tbody tr:hover td{background:#fbfdff!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.date{color:#8190a0!important;font-variant-numeric:tabular-nums}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.client{font-weight:800!important;color:#1e3045!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.num{text-align:center!important;font-weight:800!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.blue{color:#4289e9!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.pink{color:#e45f9d!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td.value{text-align:right!important;font-weight:900!important;color:#16804f!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-empty{text-align:center!important;color:#8b99a8!important;padding:32px!important}
body:has(.vs3-app) #tab-report-exchange .report-invoice{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}
body:has(.vs3-app) #tab-report-exchange .report-invoice.issued{background:#e5f5ec!important;color:#16804f!important;border:1px solid #bfe8d1!important}
body:has(.vs3-app) #tab-report-exchange .report-invoice.todo{background:#fff5dd!important;color:#a56f09!important;border:1px solid #f0d79f!important}

/* Invoice buttons in exchange history change visibly without page reload. */
body:has(.vs3-app) .invoice-btn.todo{background:#fff5dd!important;color:#a56f09!important;border:1px solid #f0d79f!important}
body:has(.vs3-app) .invoice-btn.issued{background:#e5f5ec!important;color:#16804f!important;border:1px solid #bfe8d1!important}

@media(max-width:1050px){body:has(.vs3-app) #tab-report-exchange .report-clean-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body:has(.vs3-app) #tab-report-exchange .report-clean-summary{grid-template-columns:1fr}}


/* V3.0.12 – final light palette corrections for refiller + report spacing. */
body:has(.vs3-app) #tab-refill,
body:has(.vs3-app) #tab-refill .panel,
body:has(.vs3-app) #tab-refill .refiller-garage-overview,
body:has(.vs3-app) #tab-refill .refiller-garage-card,
body:has(.vs3-app) #tab-refill .refiller-garage-card.blue,
body:has(.vs3-app) #tab-refill .refiller-garage-card.pink,
body:has(.vs3-app) #tab-refill .refiller-garage-grid,
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div,
body:has(.vs3-app) #tab-refill .refill-sections,
body:has(.vs3-app) #tab-refill .refill-section,
body:has(.vs3-app) #tab-refill .refill-section-head,
body:has(.vs3-app) #tab-refill .refill-section .grid2,
body:has(.vs3-app) #tab-refill .state-box,
body:has(.vs3-app) #tab-refill #refill-live-stock,
body:has(.vs3-app) #tab-refill .refiller-garage-card *:not(input):not(textarea):not(select),
body:has(.vs3-app) #tab-refill .refill-section *:not(input):not(textarea):not(select){
  color:inherit;
}
body:has(.vs3-app) #tab-refill .refiller-garage-card,
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div,
body:has(.vs3-app) #tab-refill .refill-section,
body:has(.vs3-app) #tab-refill .state-box,
body:has(.vs3-app) #tab-refill #refill-live-stock{
  background:#fff!important;
  border-color:#e1e8ef!important;
  box-shadow:0 5px 18px rgba(28,54,80,.035)!important;
  color:#25364a!important;
}
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div{background:#f8fafc!important}
body:has(.vs3-app) #tab-refill .refill-section.empty-to-full{background:#fff!important;border-top:4px solid #6ea8f4!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-to-full{background:#fff!important;border-top:4px solid #ee83b3!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-away{background:#fff!important;border-top:4px solid #e7c36d!important}
body:has(.vs3-app) #tab-refill .refiller-garage-title{background:transparent!important}
body:has(.vs3-app) #tab-refill .refill-section-head{background:transparent!important}
body:has(.vs3-app) #tab-refill .ajax-form>button{
  background:#8bb9f3!important;color:#fff!important;border:1px solid #8bb9f3!important;box-shadow:none!important;
}
body:has(.vs3-app) #tab-refill .refiller-garage-title{color:#25364a!important}
body:has(.vs3-app) #tab-refill .refiller-garage-card.blue .refiller-garage-title{color:#247cf0!important}
body:has(.vs3-app) #tab-refill .refiller-garage-card.pink .refiller-garage-title{color:#e64f98!important}
body:has(.vs3-app) #tab-refill .refill-page-head h2,
body:has(.vs3-app) #tab-refill .refill-section-head h3{color:#142238!important}
body:has(.vs3-app) #tab-refill .refill-section-head span,
body:has(.vs3-app) #tab-refill .refiller-garage-grid span{color:#718297!important}
body:has(.vs3-app) #tab-refill input,
body:has(.vs3-app) #tab-refill textarea,
body:has(.vs3-app) #tab-refill select{background:#fff!important;color:#25364a!important;border:1px solid #dfe6ed!important}
body:has(.vs3-app) #tab-refill .state-box{background:#f8fafc!important}
body:has(.vs3-app) #tab-refill .refill-live-stock{background:#f8fafc!important}
/* Report: push detailed rows lower and give them a clear section title. */
body:has(.vs3-app) #tab-report-exchange .report-clean-table-wrap{margin-top:26px!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table-wrap::before{
  content:'Szczegóły wymian';
  display:block;
  padding:14px 16px 10px;
  background:#fff;
  color:#25364a;
  font-size:13px;
  font-weight:900;
  border-bottom:1px solid #edf1f5;
}
body:has(.vs3-app) #tab-report-exchange .report-clean-table thead th{background:#f8fafc!important;color:#718195!important}
/* Refiller home stays completely light and consistent with the Start page. */
body:has(.vs3-app[data-role="refiller"]) .refiller-home .vs3-kpi,
body:has(.vs3-app[data-role="refiller"]) .refiller-home .vs3-home-card{background:#fff!important;border-color:#e1e8ef!important;color:#25364a!important}



/* V3.0.13 – final visual cleanup for refills, reports and refiller history. */
body:has(.vs3-app) #tab-refill .refiller-garage-card,
body:has(.vs3-app) #tab-refill .refill-section,
body:has(.vs3-app) #tab-refill .state-box,
body:has(.vs3-app) #tab-refill #refill-live-stock,
body:has(.vs3-app) #tab-refill .refiller-garage-grid>div{
  background:#fff!important;color:#23364b!important;border-color:#e2e8ef!important;
}
body:has(.vs3-app) #tab-refill .refiller-garage-card.blue{border-top:3px solid #72aaf7!important}
body:has(.vs3-app) #tab-refill .refiller-garage-card.pink{border-top:3px solid #ef89b9!important}
body:has(.vs3-app) #tab-refill .refill-section.empty-to-full{border-top:3px solid #72aaf7!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-to-full{border-top:3px solid #ef89b9!important}
body:has(.vs3-app) #tab-refill .refill-section.damaged-away{border-top:3px solid #e8c16b!important}
body:has(.vs3-app) #tab-refill .refiller-garage-title,
body:has(.vs3-app) #tab-refill .refill-section-head,
body:has(.vs3-app) #tab-refill .refiller-garage-card *:not(input):not(textarea):not(select),
body:has(.vs3-app) #tab-refill .refill-section *:not(input):not(textarea):not(select){background:transparent!important}
body:has(.vs3-app) #tab-refill .ajax-form>button{background:#83b2ef!important;color:#fff!important;border:1px solid #83b2ef!important}
body:has(.vs3-app) #tab-refill .ajax-form>button:hover{background:#669fe6!important}
body:has(.vs3-app) .refill-history-table th{background:#f8fafc!important;color:#718195!important;border-bottom:1px solid #e2e8ef!important}
body:has(.vs3-app) .refill-history-table td{background:#fff!important;color:#3b4d60!important;border-bottom:1px solid #edf1f5!important}
body:has(.vs3-app) .refill-edit{padding:5px 9px!important;border-radius:999px!important;background:#eef5ff!important;color:#397cca!important;border:1px solid #cfe0f7!important;font-size:11px!important;font-weight:800!important}
body:has(.vs3-app) .refill-edit:hover{background:#e2efff!important}
body:has(.vs3-app) .report-details-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:28px 0 12px!important;padding:0 2px!important}
body:has(.vs3-app) .report-details-heading h3{margin:4px 0 4px!important;color:#18304a!important;font-size:20px!important}
body:has(.vs3-app) .report-details-heading .report-eyebrow{color:#7e8fa2!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important}
body:has(.vs3-app) .report-details-heading p{margin:0!important;font-size:12px!important;color:#8694a2!important}
body:has(.vs3-app) #tab-refill-history .refill-history-table-wrap{background:#fff!important;border:1px solid #e1e8ef!important;border-radius:14px!important}
body:has(.vs3-app) #tab-refill-history .refill-history-table-wrap table{width:100%!important}
body:has(.vs3-app) .mini-history-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
body:has(.vs3-app) .mini-history-row{display:grid;grid-template-columns:145px 1fr;grid-template-areas:"date user" "detail detail";gap:2px 10px;padding:9px 10px;border:1px solid #edf1f5;border-radius:10px;background:#fff}
body:has(.vs3-app) .mini-history-row span{grid-area:date;color:#8a98a7;font-size:10px}
body:has(.vs3-app) .mini-history-row b{grid-area:user;color:#263b50;font-size:11px}
body:has(.vs3-app) .mini-history-row small{grid-area:detail;color:#708196;font-size:10px}
body:has(.vs3-app) #modal-refill-edit .modal-inner{background:#fff!important;border:1px solid #e1e8ef!important;color:#23364b!important}
body:has(.vs3-app) #modal-refill-edit .modal-inner input,
body:has(.vs3-app) #modal-refill-edit .modal-inner textarea{background:#fff!important;color:#23364b!important;border:1px solid #dfe6ed!important}
body:has(.vs3-app) #modal-refill-edit .modal-inner button[type=submit],
body:has(.vs3-app) #modal-refill-edit form>button{background:#83b2ef!important;color:#fff!important;border:1px solid #83b2ef!important}


/* VikingSoda 3.0.14 - final visual pass for refill/history/report */
body:has(.vs3-app) #tab-refill-history .refill-history-table-wrap,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-card,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .ajax-form input,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .ajax-form select,
body:has(.vs3-app[data-role="refiller"]) #tab-refill .ajax-form textarea{
  background:#fff!important;color:#24364a!important;
}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refiller-garage-grid>div{background:#f7f9fb!important;color:#24364a!important;border:1px solid #edf1f5!important;}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.empty-to-full{border-top:3px solid #83b2ef!important;}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.damaged-to-full{border-top:3px solid #ef8fbc!important;}
body:has(.vs3-app[data-role="refiller"]) #tab-refill .refill-section.damaged-away{border-top:3px solid #e6c46f!important;}
body:has(.vs3-app) #tab-refill-history .refill-history-table th{background:#f8fafc!important;color:#6f7f91!important;font-weight:800!important;border-bottom:1px solid #e5eaf0!important;}
body:has(.vs3-app) #tab-refill-history .refill-history-table td{background:#fff!important;color:#344659!important;border-bottom:1px solid #eef2f5!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-summary{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin:0 0 22px!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-kpi{background:#fff!important;border:1px solid #e2e8ef!important;border-radius:15px!important;padding:16px!important;min-height:96px!important;box-shadow:0 4px 16px rgba(38,59,82,.04)!important;}
body:has(.vs3-app) #tab-report-exchange .report-details-heading{margin-top:8px!important;padding:4px 0 12px!important;border-top:1px solid #edf1f5!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-table-wrap{background:#fff!important;border:1px solid #e2e8ef!important;border-radius:15px!important;padding:4px!important;overflow:auto!important;box-shadow:0 4px 16px rgba(38,59,82,.04)!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-table th{position:sticky!important;top:0!important;background:#f8fafc!important;color:#6f7f91!important;border-bottom:1px solid #e4e9ef!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.03em!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td{background:#fff!important;border-bottom:1px solid #eef2f5!important;color:#304459!important;padding:12px 10px!important;}
body:has(.vs3-app) #tab-report-exchange .report-clean-table tbody tr:hover td{background:#fbfcfd!important;}
body:has(.vs3-app) .invoice-btn.todo{background:#fff3cd!important;color:#7b5c00!important;border:1px solid #efd789!important;padding:5px 9px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;}
body:has(.vs3-app) .invoice-btn.issued{background:#e6f7ee!important;color:#16734a!important;border:1px solid #bde7d0!important;padding:5px 9px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;}
@media(max-width:1000px){body:has(.vs3-app) #tab-report-exchange .report-clean-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:600px){body:has(.vs3-app) #tab-report-exchange .report-clean-summary{grid-template-columns:1fr!important;}}


/* 3.0.15 — signed vehicle movement after the latest exchange */
.vs3-app .vehicle-last-movement{margin-top:12px;padding:12px 14px;border:1px solid #e1e7ed;border-radius:11px;background:#fff;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.vs3-app .vehicle-last-movement>div:first-child{display:flex;flex-direction:column;gap:3px}.vs3-app .vehicle-delta-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.vs3-app .vehicle-delta-list b{padding:6px 9px;border-radius:999px;background:#f4f7fa;color:#2a435b;font-size:12px;white-space:nowrap}.vs3-app .vehicle-delta-list .ds-delta-bf,.vs3-app .vehicle-delta-list .ds-delta-pf{background:#eef6ff;color:#1b6fd1}.vs3-app .vehicle-delta-list .ds-delta-be,.vs3-app .vehicle-delta-list .ds-delta-pe{background:#eef9f2;color:#18784a}@media(max-width:700px){.vs3-app .vehicle-last-movement{flex-direction:column}.vs3-app .vehicle-delta-list{justify-content:flex-start}}

/* VikingSoda 3.0.17 – final polish for refiller report, exchange report and invoice controls. */
body:has(.vs3-app) .refill-report-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin:4px 0 12px;background:#fff;border:1px solid #e2e8ef;border-radius:14px}
body:has(.vs3-app) .refill-report-toolbar>div{display:flex;flex-direction:column;gap:3px}
body:has(.vs3-app) .refill-report-toolbar strong{font-size:15px;color:#24364a}
body:has(.vs3-app) .refill-report-toolbar span{font-size:11px;color:#8492a2}
body:has(.vs3-app) .refill-history-pagination{margin-top:12px}
body:has(.vs3-app) #refill-report-history-box{background:#fff!important;border:1px solid #e2e8ef!important;border-radius:14px!important;overflow:auto}
body:has(.vs3-app) #refill-report-history-box .refill-history-table th{background:#f8fafc!important;color:#748396!important;border-bottom:1px solid #e3e9ef!important}
body:has(.vs3-app) #refill-report-history-box .refill-history-table td{background:#fff!important;color:#304458!important}
body:has(.vs3-app) .report-exchange-list-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin:24px 0 10px!important;padding:0 2px 10px!important;border-bottom:1px solid #e9edf2!important}
body:has(.vs3-app) .report-exchange-list-head h3{margin:0!important;font-size:19px!important;color:#21364c!important}
body:has(.vs3-app) .report-exchange-list-head span{display:block!important;margin-top:3px!important;font-size:11px!important;color:#8a97a5!important}
body:has(.vs3-app) .report-exchange-list-head>strong{font-size:12px!important;color:#6b7b8c!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table-wrap{margin-top:0!important;padding:0!important;border-radius:14px!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table thead th{position:static!important;background:#f8fafc!important;color:#718195!important;text-transform:none!important;letter-spacing:0!important;font-size:11px!important}
body:has(.vs3-app) #tab-report-exchange .report-clean-table td{padding:13px 11px!important;font-size:12.5px!important}
body:has(.vs3-app) #tab-exchange .exchange-client-select-wrap{gap:8px!important}
body:has(.vs3-app) .exchange-client-search{display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dfe6ed;border-radius:11px;background:#fff}
body:has(.vs3-app) .exchange-client-search>span{font-size:15px}
body:has(.vs3-app) .exchange-client-search input{border:0!important;box-shadow:none!important;padding:9px 0!important;background:transparent!important}
body:has(.vs3-app) .exchange-client-select-wrap>select{margin-top:0!important}
body:has(.vs3-app[data-role="driver"]) .invoice-btn.todo{background:#fff4cf!important;color:#966900!important;border:1px solid #edd487!important}
body:has(.vs3-app[data-role="driver"]) .invoice-btn.issued{background:#e8f7ef!important;color:#197447!important;border:1px solid #bfe5cf!important}
body:has(.vs3-app[data-role="driver"]) .invoice-badge:not(.issued){background:#fff4cf!important;color:#966900!important;border:1px solid #edd487!important}
body:has(.vs3-app[data-role="driver"]) .invoice-badge.issued{background:#e8f7ef!important;color:#197447!important;border:1px solid #bfe5cf!important}


/* V3.0.18 — trasy: paginacja + szablony; raport wymian od nowa; czysta historia kierowcy */
.route-main-head{align-items:center;justify-content:space-between;gap:16px}
.route-template-field{display:block;margin:0 0 10px}
.route-template-inline-actions,.route-template-form-actions,.route-template-client-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.route-template-inline-actions{margin:-2px 0 16px}
.route-template-client-list{max-height:330px;overflow:auto;border:1px solid rgba(120,140,180,.18);border-radius:14px;padding:8px;margin:8px 0 16px}
.route-template-client{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer}
.route-template-client:hover{background:rgba(59,130,246,.06)}
.route-template-client span{font-weight:600}
.route-template-client small{margin-left:auto;color:#7b8798}
.route-template-search{flex:1;min-width:220px}
.route-template-list{margin-top:22px}
.route-template-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-top:1px solid rgba(120,140,180,.14)}
.route-template-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.my-route-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}
.my-route-pagination[style*="none"]{display:none!important}
.report-table-wrap{overflow:auto}
.report-total-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.report-total-summary>div{padding:14px 16px;border:1px solid #dce5ee;border-radius:14px;background:#f7fafd}.report-total-summary span{display:block;color:#607084;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.report-total-summary b{display:block;margin:4px 0;font-size:24px;color:#142238}.report-total-summary small{display:block;color:#7b8798;font-size:10px;font-weight:700}
.report-table-v2{width:100%;border-collapse:collapse;min-width:980px}
.report-table-v2 th,.report-table-v2 td{padding:13px 14px;border-bottom:1px solid rgba(120,140,180,.15);text-align:left;vertical-align:middle}
.report-table-v2 th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.report-table-v2 td.num{text-align:center}
.report-table-v2 td.client{font-weight:700}
.driver-history-clean th:last-child,.driver-history-clean td:last-child{min-width:120px}
.invoice-badge{display:inline-block;font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:rgba(120,130,150,.1);color:inherit;white-space:nowrap}
.invoice-badge.issued{background:rgba(59,130,246,.10);color:#2563eb}


/* V3.0.20 — final visual fixes */
.vs3-login{width:min(430px,calc(100% - 32px));max-width:430px;margin:70px auto!important;padding:30px!important;background:#fff!important;border:1px solid #e1e8ef!important;border-radius:18px!important;color:#182334!important;box-shadow:0 18px 45px rgba(23,45,70,.08)!important}
.vs3-login::before{content:'💧';display:flex;width:48px;height:48px;align-items:center;justify-content:center;margin:0 auto 14px;border-radius:14px;background:#e8f2ff;font-size:24px}
.vs3-login h2{text-align:center;margin:0 0 6px!important;color:#142238!important;font-size:26px!important;font-weight:850!important}
.vs3-login p{text-align:center;margin:0 0 22px!important;color:#718096!important;font-size:13px!important}
.vs3-login .ajax-form{gap:14px!important}
.vs3-login label{color:#52657a!important;font-weight:750!important}
.vs3-login input{background:#fff!important;color:#25364a!important;border:1px solid #d6e0e9!important;border-radius:11px!important;min-height:44px!important}
.vs3-login input:focus{outline:0!important;border-color:#2b82eb!important;box-shadow:0 0 0 3px rgba(43,130,235,.10)!important}
.vs3-login button{width:100%!important;min-height:44px!important;margin-top:4px!important;background:#197ff5!important;color:#fff!important;border:1px solid #197ff5!important;border-radius:11px!important}
.report-total-summary-v2{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))!important}
.report-total-summary-v2 .report-total-main{background:#edf5ff!important;border-color:#cfe1f8!important}
.report-total-summary-v2 .report-total-main b{font-size:30px!important;color:#1670de!important}
.exchange-edit.is-disabled{opacity:.5!important;cursor:not-allowed!important;background:#f3f6fa!important;color:#7b8798!important}
@media(max-width:900px){.report-total-summary-v2{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.report-total-summary-v2{grid-template-columns:1fr!important}}
/* Routes: hard cap at 10 visible rows before JS initializes. */
#tab-route .route-admin-row:nth-of-type(n+11),
#tab-route .my-route-page-row:nth-of-type(n+11){display:none!important}
.route-admin-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}
.route-admin-pagination[style*="none"]{display:none!important}
.report-summary-slot{width:100%;margin:0 0 16px}
.report-summary-slot .report-total-summary{margin:0!important;width:100%}


/* VikingSoda 3.0.22 — mobile-first driver view + tighter exchange history columns. */
body:has(.vs3-app[data-role="driver"]) .driver-history-clean{
  min-width:0!important;
  width:100%!important;
  table-layout:auto!important;
}
body:has(.vs3-app[data-role="driver"]) .driver-history-clean th:nth-child(1),
body:has(.vs3-app[data-role="driver"]) .driver-history-clean td:nth-child(1){min-width:92px!important;width:92px!important}
body:has(.vs3-app[data-role="driver"]) .driver-history-clean th:nth-child(2),
body:has(.vs3-app[data-role="driver"]) .driver-history-clean td:nth-child(2){min-width:88px!important;width:88px!important}
body:has(.vs3-app[data-role="driver"]) .driver-history-clean th:nth-child(3),
body:has(.vs3-app[data-role="driver"]) .driver-history-clean td:nth-child(3){min-width:125px!important;width:125px!important}
body:has(.vs3-app[data-role="driver"]) .driver-history-clean th:nth-child(4),
body:has(.vs3-app[data-role="driver"]) .driver-history-clean td:nth-child(4){min-width:118px!important;width:118px!important}
body:has(.vs3-app[data-role="driver"]) .driver-history-clean th,
body:has(.vs3-app[data-role="driver"]) .driver-history-clean td{padding-left:8px!important;padding-right:8px!important}

@media(max-width:900px){
  body:has(.vs3-app[data-role="driver"]){
    background:#f6f8fb!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-app{
    padding-bottom:74px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-side{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
    height:64px!important;
    z-index:9999!important;
    padding:6px 8px!important;
    border-top:1px solid #dfe7ee!important;
    border-bottom:0!important;
    box-shadow:0 -8px 24px rgba(29,52,77,.10)!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(12px)!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    gap:4px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-side::-webkit-scrollbar{display:none!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-nav{
    flex:0 0 76px!important;
    min-width:76px!important;
    height:52px!important;
    min-height:52px!important;
    padding:6px 5px!important;
    margin:0!important;
    border-radius:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-nav.active{background:#e4f5ee!important;color:#087a4c!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-logout{display:none!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-logo{display:none!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-main{
    padding:12px 12px 20px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-main header{
    gap:10px!important;
    margin-bottom:14px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-header-title .eyebrow{font-size:9px!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-header-title h1{
    font-size:24px!important;margin-bottom:2px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-header-title .muted{display:none!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-header-right{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    width:100%!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-global-search{
    min-height:42px!important;width:auto!important;border-radius:12px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-global-search kbd{display:none!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-user-chip{
    min-height:42px!important;padding:5px 9px!important;border-radius:12px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vs3-user-role{display:none!important}

  /* Driver start cards */
  body:has(.vs3-app[data-role="driver"]) #tab-home:not(.vs3-home-dashboard) .cards{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-home:not(.vs3-home-dashboard) .card{
    min-height:0!important;padding:13px!important;border-radius:14px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-home:not(.vs3-home-dashboard) .card strong{
    font-size:22px!important;
  }

  /* Driver route screen */
  body:has(.vs3-app[data-role="driver"]) #tab-route > .panel{
    padding:14px!important;border-radius:15px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-route .panel-head{
    gap:8px!important;margin-bottom:12px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-route .panel-head h2{font-size:19px!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-main-head > button{
    font-size:11px!important;min-height:36px!important;padding:6px 9px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vehicle-stock-panel{
    padding:12px!important;margin-bottom:12px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vehicle-stock-groups{
    grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vehicle-last-movement{
    margin-top:9px!important;padding:10px!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vehicle-delta-list{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important;
  }
  body:has(.vs3-app[data-role="driver"]) .vehicle-delta-list b{font-size:10px!important;padding:6px 7px!important;text-align:center!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-actions button{width:100%!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-take-form .grid4{
    grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-take-form label{padding:10px!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-live-list{display:flex!important;flex-direction:column!important;gap:7px!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-live-row{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
    padding:10px 11px!important;background:#f8fafc!important;border:1px solid #e5ebf0!important;border-radius:11px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-live-row span{font-weight:800!important;min-width:0!important;word-break:break-word!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-live-row button{flex:0 0 auto!important;min-width:72px!important;font-size:11px!important}
  body:has(.vs3-app[data-role="driver"]) .recent-route-table{min-width:0!important;width:100%!important;font-size:11px!important}
  body:has(.vs3-app[data-role="driver"]) .recent-route-table th,
  body:has(.vs3-app[data-role="driver"]) .recent-route-table td{padding:8px 6px!important}

  /* Driver exchange/inventory */
  body:has(.vs3-app[data-role="driver"]) #tab-exchange > .panel,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory > .panel,
  body:has(.vs3-app[data-role="driver"]) #tab-history > .panel{
    padding:14px!important;border-radius:15px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-exchange .grid4,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory .grid4{
    grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-exchange label,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory label{font-size:11px!important}
  body:has(.vs3-app[data-role="driver"]) #tab-exchange input,
  body:has(.vs3-app[data-role="driver"]) #tab-exchange select,
  body:has(.vs3-app[data-role="driver"]) #tab-exchange textarea,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory input,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory select,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory textarea{font-size:13px!important}

  /* Driver history: compact horizontal table without the huge gap. */
  body:has(.vs3-app[data-role="driver"]) #tab-history .history-filter-actions{
    padding:9px!important;gap:8px!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-history .table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:has(.vs3-app[data-role="driver"]) #tab-history .driver-history-clean{
    min-width:860px!important;
  }
}

@media(max-width:560px){
  body:has(.vs3-app[data-role="driver"]) #tab-home:not(.vs3-home-dashboard) .cards{grid-template-columns:1fr!important}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-actions,
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-take-form .grid4,
  body:has(.vs3-app[data-role="driver"]) #tab-exchange .grid4,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory .grid4{grid-template-columns:1fr!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-header-right{grid-template-columns:1fr!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-user-chip{justify-content:center!important}
  body:has(.vs3-app[data-role="driver"]) .vs3-global-search{display:none!important}
}


/* VikingSoda 3.0.23 — compact exchange history, refiller privacy, mobile logout and calendar. */
/* Keep driver history dense so Kierowca and Klient sit next to each other without the large empty gap. */
.driver-history-clean{
  table-layout:fixed!important;
  width:1180px!important;
  min-width:1180px!important;
}
.driver-history-clean th,.driver-history-clean td{padding:10px 7px!important;}
.driver-history-clean th:nth-child(1),.driver-history-clean td:nth-child(1){width:120px!important;}
.driver-history-clean th:nth-child(2),.driver-history-clean td:nth-child(2){width:92px!important;}
.driver-history-clean th:nth-child(3),.driver-history-clean td:nth-child(3){width:105px!important;}
.driver-history-clean th:nth-child(4),.driver-history-clean td:nth-child(4){width:128px!important;}
.driver-history-clean th:nth-child(5),.driver-history-clean td:nth-child(5),
.driver-history-clean th:nth-child(6),.driver-history-clean td:nth-child(6),
.driver-history-clean th:nth-child(7),.driver-history-clean td:nth-child(7),
.driver-history-clean th:nth-child(8),.driver-history-clean td:nth-child(8){width:70px!important;}
.driver-history-clean th:nth-child(9),.driver-history-clean td:nth-child(9){width:92px!important;}
.driver-history-clean th:nth-child(10),.driver-history-clean td:nth-child(10){width:115px!important;overflow:hidden;text-overflow:ellipsis;}
.driver-history-clean th:nth-child(11),.driver-history-clean td:nth-child(11){width:105px!important;}
.driver-history-clean th:nth-child(12),.driver-history-clean td:nth-child(12){width:86px!important;}

/* Refiller report/history is server-filtered to the logged-in refiller. */
body:has(.vs3-app[data-role="refiller"]) #tab-report-refill .refill-history-table-wrap{overflow-x:auto!important;}

@media(max-width:900px){
  /* Make logout available on the phone in the bottom navigation. */
  body:has(.vs3-app) .vs3-logout{
    display:flex!important;
    flex:0 0 76px!important;
    min-width:76px!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:6px 5px!important;
    border-radius:10px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    text-decoration:none!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:800!important;
    white-space:normal!important;
    color:#52657a!important;
    background:#f7fafc!important;
    border:1px solid #dfe7ee!important;
  }
  body:has(.vs3-app) .vs3-logout::before{content:'⎋';display:block;font-size:16px;margin-bottom:2px;}
  body:has(.vs3-app[data-role="driver"]) .vs3-logout{color:#52657a!important;background:#f7fafc!important;}

  /* Mobile calendar: true 7-column layout, no forced horizontal scroll. */
  body:has(.vs3-app) .visit-calendar-grid{
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
    padding:5px!important;
    border-radius:12px!important;
  }
  body:has(.vs3-app) .visit-day-name{
    padding:5px 1px!important;
    font-size:8px!important;
    overflow:hidden!important;
  }
  body:has(.vs3-app) .visit-day{
    min-height:82px!important;
    height:82px!important;
    padding:5px 3px!important;
    border-radius:8px!important;
    gap:3px!important;
  }
  body:has(.vs3-app) .visit-day-number{font-size:10px!important;}
  body:has(.vs3-app) .visit-day-top{gap:2px!important;}
  body:has(.vs3-app) .calendar-plan-route{
    font-size:7px!important;
    padding:2px 3px!important;
    border-radius:6px!important;
    min-height:22px!important;
  }
  body:has(.vs3-app) .visit-chip,
  body:has(.vs3-app) .calendar-route-chip{
    padding:3px 4px!important;
    border-radius:6px!important;
    gap:0!important;
    min-width:0!important;
  }
  body:has(.vs3-app) .visit-chip b,
  body:has(.vs3-app) .calendar-route-chip b{
    font-size:7px!important;
    line-height:1.1!important;
  }
  body:has(.vs3-app) .visit-chip small,
  body:has(.vs3-app) .calendar-route-chip small,
  body:has(.vs3-app) .calendar-route-chip em{
    font-size:6px!important;
    line-height:1.1!important;
  }
  body:has(.vs3-app) .visit-more{font-size:6px!important;}
}

@media(max-width:560px){
  body:has(.vs3-app) .visit-day{min-height:72px!important;height:72px!important;}
  body:has(.vs3-app) .visit-day-name{font-size:7px!important;}
  body:has(.vs3-app) .visit-day-number{font-size:9px!important;}
  body:has(.vs3-app) .calendar-plan-route{display:none!important;}
  body:has(.vs3-app) .visit-chip b,
  body:has(.vs3-app) .calendar-route-chip b{font-size:6px!important;}
  body:has(.vs3-app) .visit-chip small,
  body:has(.vs3-app) .calendar-route-chip small,
  body:has(.vs3-app) .calendar-route-chip em{font-size:5.5px!important;}
}

/* Do not re-introduce a mobile horizontal table width for driver history. */
@media(max-width:900px){
  body:has(.vs3-app[data-role="driver"]) #tab-history .driver-history-clean{
    width:1180px!important;
    min-width:1180px!important;
  }
}

/* VikingSoda 3.0.24 — calendar route details + stable history columns. */
.driver-history-clean th,.driver-history-clean td{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.driver-history-clean th:nth-child(1),.driver-history-clean td:nth-child(1){width:150px!important;min-width:150px!important;}
.driver-history-clean th:nth-child(2),.driver-history-clean td:nth-child(2){width:100px!important;min-width:100px!important;}
.driver-history-clean th:nth-child(3),.driver-history-clean td:nth-child(3){width:115px!important;min-width:115px!important;}
.driver-history-clean th:nth-child(4),.driver-history-clean td:nth-child(4){width:128px!important;min-width:128px!important;}
.calendar-route-chip{width:100%!important;text-align:left!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;}
.calendar-route-chip:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(36,124,240,.10)!important;}
.calendar-route-details-modal{max-width:720px!important;}
.calendar-route-detail-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;}
.calendar-route-detail-head h2{margin:2px 0 0!important;}
.calendar-route-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.calendar-route-detail-meta>div{padding:12px;border:1px solid #e3e9ef;border-radius:12px;background:#f8fafc;}
.calendar-route-detail-meta span{display:block;font-size:10px;font-weight:800;color:#718195;text-transform:uppercase;margin-bottom:4px;}
.calendar-route-detail-meta b{font-size:13px;color:#24384e;}
.calendar-route-detail-clients{display:flex;flex-direction:column;gap:7px;max-height:420px;overflow:auto;}
.calendar-route-stop{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e8ef;border-radius:11px;background:#fff;}
.calendar-route-stop-no{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#edf5ff;color:#247cf0;font-size:11px;font-weight:900;}
.calendar-route-stop>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.calendar-route-stop b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.calendar-route-stop small{font-size:10px;color:#718195;}
.calendar-route-stop em{font-style:normal;font-size:9px;font-weight:800;color:#167a4f;background:#eaf7f0;padding:4px 7px;border-radius:999px;white-space:nowrap;}
@media(max-width:700px){
  .calendar-route-details-modal{width:calc(100vw - 24px)!important;max-width:none!important;}
  .calendar-route-detail-meta{grid-template-columns:1fr!important;}
}


/* VikingSoda 3.0.25 — final history spacing + clickable calendar route details. */
.driver-history-clean{
  table-layout:fixed!important;
  width:1235px!important;
  min-width:1235px!important;
}
.driver-history-clean th,.driver-history-clean td{
  box-sizing:border-box!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding:10px 10px!important;
}
.driver-history-clean th:nth-child(1),.driver-history-clean td:nth-child(1){width:166px!important;min-width:166px!important;padding-right:18px!important;}
.driver-history-clean th:nth-child(2),.driver-history-clean td:nth-child(2){width:108px!important;min-width:108px!important;padding-left:14px!important;}
.driver-history-clean th:nth-child(3),.driver-history-clean td:nth-child(3){width:122px!important;min-width:122px!important;}
.driver-history-clean th:nth-child(4),.driver-history-clean td:nth-child(4){width:128px!important;min-width:128px!important;}
.driver-history-clean .history-date-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.driver-history-clean .history-driver-cell,
.driver-history-clean .history-client-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Calendar routes are genuine interactive controls. */
.calendar-route-chip{pointer-events:auto!important;position:relative!important;z-index:3!important;cursor:pointer!important;}
.calendar-route-chip:focus-visible{outline:2px solid #247cf0!important;outline-offset:2px!important;}
.calendar-route-details-modal{z-index:10020!important;}

@media(max-width:900px){
  body:has(.vs3-app[data-role="driver"]) #tab-history .driver-history-clean{
    width:1235px!important;
    min-width:1235px!important;
  }
}


/* VikingSoda 3.0.27 — definitive history spacing + calendar route opening */
.driver-history-scroll{width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
.driver-history-clean{width:1340px!important;min-width:1340px!important;max-width:none!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;}
.driver-history-clean th,.driver-history-clean td{box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important;padding:10px 12px!important;}
.driver-history-clean .col-date{width:165px!important;}
.driver-history-clean .col-driver{width:135px!important;}
.driver-history-clean .col-client{width:150px!important;}
.driver-history-clean .col-route{width:145px!important;}
.driver-history-clean .history-date-cell{padding-right:20px!important;border-right:1px solid #e7edf3!important;}
.driver-history-clean .history-driver-cell{padding-left:18px!important;border-right:1px solid #eef2f5!important;}
.driver-history-clean .history-client-cell{padding-left:16px!important;}
.history-date-main,.history-date-time{display:block;line-height:1.2!important;}
.history-date-main{font-weight:700!important;color:#344b63!important;}
.history-date-time{font-size:11px!important;color:#718297!important;margin-top:2px!important;}
.calendar-route-chip{display:flex!important;position:relative!important;z-index:50!important;width:100%!important;pointer-events:auto!important;cursor:pointer!important;user-select:none!important;}
.calendar-route-chip *{pointer-events:none!important;}
.calendar-route-chip:focus,.calendar-route-chip:focus-visible{outline:2px solid #247cf0!important;outline-offset:2px!important;}
.calendar-route-detail-actions{margin-top:16px;display:flex;justify-content:flex-end;}
.calendar-route-detail-actions button{background:#247cf0!important;color:#fff!important;border-color:#247cf0!important;}
@media(max-width:900px){
  body:has(.vs3-app[data-role="driver"]) #tab-history .driver-history-clean{width:1340px!important;min-width:1340px!important;}
}


/* VikingSoda 3.0.28 — unified mobile layout for every role. */
@media (max-width: 900px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  body:has(.vs3-app){overflow-x:hidden!important;background:#f6f8fb!important;}
  body:has(.vs3-app) .vs3-fullscreen{
    width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;
  }
  body:has(.vs3-app) .vs3-app,
  body:has(.vs3-app[data-role="driver"]) .vs3-app{
    display:block!important;width:100%!important;max-width:100%!important;min-height:100vh!important;
    height:auto!important;margin:0!important;border-radius:0!important;overflow:visible!important;
    box-shadow:none!important;
    padding-bottom:76px!important;
  }

  /* Same phone navigation for admin, driver and refiller. */
  body:has(.vs3-app) .vs3-side,
  body:has(.vs3-app[data-role="driver"]) .vs3-side{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100%!important;height:66px!important;min-height:66px!important;
    display:flex!important;align-items:center!important;gap:4px!important;
    padding:6px 7px!important;margin:0!important;z-index:10050!important;
    background:rgba(255,255,255,.98)!important;color:#31445a!important;
    border-top:1px solid #dfe7ee!important;border-right:0!important;border-bottom:0!important;
    box-shadow:0 -8px 24px rgba(29,52,77,.10)!important;
    backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
    overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;flex-wrap:nowrap!important;
  }
  body:has(.vs3-app) .vs3-side::-webkit-scrollbar{display:none!important;}
  body:has(.vs3-app) .vs3-logo,
  body:has(.vs3-app[data-role="driver"]) .vs3-logo{display:none!important;}
  body:has(.vs3-app) .vs3-nav,
  body:has(.vs3-app[data-role="driver"]) .vs3-nav{
    flex:0 0 76px!important;min-width:76px!important;width:76px!important;
    height:52px!important;min-height:52px!important;margin:0!important;padding:6px 5px!important;
    border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    text-align:center!important;white-space:normal!important;line-height:1.12!important;
    font-size:10px!important;font-weight:800!important;
  }
  body:has(.vs3-app) .vs3-nav.active,
  body:has(.vs3-app[data-role="driver"]) .vs3-nav.active{
    background:#e4f5ee!important;color:#087a4c!important;border-color:#d7eee4!important;
  }
  body:has(.vs3-app) .vs3-logout,
  body:has(.vs3-app[data-role="driver"]) .vs3-logout{
    display:flex!important;flex:0 0 76px!important;min-width:76px!important;width:76px!important;
    height:52px!important;min-height:52px!important;margin:0!important;padding:6px 5px!important;
    align-items:center!important;justify-content:center!important;text-align:center!important;
    text-decoration:none!important;white-space:normal!important;line-height:1.12!important;
    font-size:10px!important;font-weight:800!important;color:#52657a!important;
    background:#f7fafc!important;border:1px solid #dfe7ee!important;border-radius:10px!important;
  }
  body:has(.vs3-app) .vs3-logout::before{content:'⎋';display:block!important;font-size:16px!important;margin-bottom:2px!important;}

  /* One compact content rhythm on every mobile role. */
  body:has(.vs3-app) .vs3-main,
  body:has(.vs3-app[data-role="driver"]) .vs3-main{
    width:100%!important;min-width:0!important;max-width:100%!important;
    padding:14px 12px 24px!important;background:#f7f9fc!important;
  }
  body:has(.vs3-app) .vs3-main header,
  body:has(.vs3-app[data-role="driver"]) .vs3-main header{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    gap:10px!important;margin-bottom:14px!important;
  }
  body:has(.vs3-app) .vs3-header-title h1,
  body:has(.vs3-app[data-role="driver"]) .vs3-header-title h1{font-size:24px!important;line-height:1.15!important;margin:0!important;}
  body:has(.vs3-app) .vs3-header-title .muted{font-size:12px!important;margin:4px 0 0!important;}
  body:has(.vs3-app) .vs3-header-right,
  body:has(.vs3-app[data-role="driver"]) .vs3-header-right{
    width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important;
  }
  body:has(.vs3-app) .vs3-global-search,
  body:has(.vs3-app[data-role="driver"]) .vs3-global-search{
    width:100%!important;min-width:0!important;min-height:42px!important;border-radius:12px!important;
  }
  body:has(.vs3-app) .vs3-global-search input{min-width:0!important;font-size:13px!important;}
  body:has(.vs3-app) .vs3-user-chip,
  body:has(.vs3-app[data-role="driver"]) .vs3-user-chip{
    width:100%!important;min-width:0!important;min-height:42px!important;padding:7px 10px!important;border-radius:12px!important;
    display:flex!important;align-items:center!important;
  }
  body:has(.vs3-app) .vs3-user-role{display:block!important;font-size:10px!important;}

  /* Cards and forms: single-column, touch-friendly. */
  body:has(.vs3-app) .cards,
  body:has(.vs3-app) .grid2,
  body:has(.vs3-app) .grid3,
  body:has(.vs3-app) .grid4,
  body:has(.vs3-app) .visit-kpis,
  body:has(.vs3-app) .monthly-refill-summary,
  body:has(.vs3-app) .report-summary,
  body:has(.vs3-app) .report-total-summary-v2{
    grid-template-columns:1fr!important;gap:10px!important;
  }
  body:has(.vs3-app) .card,
  body:has(.vs3-app) .panel,
  body:has(.vs3-app) .vehicle,
  body:has(.vs3-app) .visit-agenda-col{
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:14px!important;border-radius:14px!important;
  }
  body:has(.vs3-app) input,
  body:has(.vs3-app) select,
  body:has(.vs3-app) textarea,
  body:has(.vs3-app) button{max-width:100%!important;}
  body:has(.vs3-app) button{min-height:42px;}
  body:has(.vs3-app) .panel-head,
  body:has(.vs3-app) .vs3-card-head{align-items:flex-start!important;gap:8px!important;}
  body:has(.vs3-app) .panel h2{font-size:18px!important;}

  /* Tables stay inside their own scroll container instead of pushing the whole phone sideways. */
  body:has(.vs3-app) .table-wrap,
  body:has(.vs3-app) .driver-history-scroll,
  body:has(.vs3-app) .refill-history-table-wrap{
    width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:has(.vs3-app) table{font-size:12px!important;}
  body:has(.vs3-app) th,body:has(.vs3-app) td{padding:9px 8px!important;}

  /* Driver gets exactly the same outer mobile frame as the other roles. */
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-actions,
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-take-form .grid4,
  body:has(.vs3-app[data-role="driver"]) #tab-exchange .grid4,
  body:has(.vs3-app[data-role="driver"]) #tab-inventory .grid4{grid-template-columns:1fr!important;}
  body:has(.vs3-app[data-role="driver"]) #tab-route .route-actions button{width:100%!important;}
  body:has(.vs3-app[data-role="driver"]) .vehicle-stock-groups,
  body:has(.vs3-app[data-role="driver"]) .dsp-grid{grid-template-columns:1fr 1fr!important;}

  /* Calendar: readable 7-column month, no page-level horizontal scroll. */
  body:has(.vs3-app) .visit-calendar-grid{
    width:100%!important;min-width:0!important;overflow:visible!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;padding:5px!important;
  }
  body:has(.vs3-app) .visit-day-name{font-size:8px!important;padding:4px 1px!important;}
  body:has(.vs3-app) .visit-day{min-height:82px!important;height:auto!important;padding:5px 3px!important;border-radius:8px!important;gap:3px!important;}
  body:has(.vs3-app) .visit-day-number{font-size:9px!important;}
  body:has(.vs3-app) .calendar-route-chip,
  body:has(.vs3-app) .visit-chip{min-width:0!important;padding:4px!important;border-radius:6px!important;}
  body:has(.vs3-app) .calendar-route-chip b,
  body:has(.vs3-app) .visit-chip b{font-size:7px!important;line-height:1.1!important;}
  body:has(.vs3-app) .calendar-route-chip small,
  body:has(.vs3-app) .calendar-route-chip em,
  body:has(.vs3-app) .visit-chip small{font-size:6px!important;line-height:1.1!important;}
}

@media (max-width: 560px){
  body:has(.vs3-app) .vs3-main{padding-left:10px!important;padding-right:10px!important;}
  body:has(.vs3-app) .visit-day{min-height:76px!important;}
  body:has(.vs3-app) .calendar-route-chip b,
  body:has(.vs3-app) .visit-chip b{font-size:6px!important;}
  body:has(.vs3-app) .calendar-route-chip small,
  body:has(.vs3-app) .calendar-route-chip em,
  body:has(.vs3-app) .visit-chip small{font-size:5.5px!important;}
}


/* VikingSoda 3.0.29 — mobile top navigation + distinct calendar routes. */
.calendar-route-chip{
  background:#eaf2ff!important;
  border:1px solid #9fc3ff!important;
  color:#184f91!important;
  box-shadow:0 2px 7px rgba(36,124,240,.12)!important;
}
.calendar-route-chip b{color:#164b88!important;}
.calendar-route-chip small{color:#4f6f92!important;}
.calendar-route-chip em{
  background:#247cf0!important;
  color:#fff!important;
}
.calendar-route-chip:hover{
  background:#dceaff!important;
  border-color:#78aaf5!important;
}

@media(max-width:900px){
  /* Mobile navigation is always at the TOP for every role. */
  body:has(.vs3-app) .vs3-side,
  body:has(.vs3-app[data-role="driver"]) .vs3-side{
    position:sticky!important;
    top:0!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:58px!important;
    padding:6px 7px!important;
    margin:0!important;
    z-index:10050!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    background:rgba(255,255,255,.98)!important;
    border-top:0!important;
    border-bottom:1px solid #dfe7ee!important;
    box-shadow:0 4px 16px rgba(29,52,77,.10)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
  }
  body:has(.vs3-app) .vs3-app,
  body:has(.vs3-app[data-role="driver"]) .vs3-app{
    padding-bottom:24px!important;
  }
  body:has(.vs3-app) .vs3-side .vs3-nav,
  body:has(.vs3-app[data-role="driver"]) .vs3-side .vs3-nav{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:78px!important;
    height:42px!important;
    min-height:42px!important;
    padding:7px 10px!important;
    border-radius:10px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  body:has(.vs3-app) .vs3-logout,
  body:has(.vs3-app[data-role="driver"]) .vs3-logout{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:78px!important;
    height:42px!important;
    min-height:42px!important;
    margin-left:2px!important;
    padding:7px 10px!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }
  body:has(.vs3-app) .vs3-logout::before{
    display:inline!important;
    margin:0 4px 0 0!important;
    font-size:13px!important;
  }
  body:has(.vs3-app) .vs3-main,
  body:has(.vs3-app[data-role="driver"]) .vs3-main{
    padding-top:14px!important;
  }

  /* Routes remain visually distinct from visits on the month grid. */
  body:has(.vs3-app) .calendar-route-chip{
    background:#eaf2ff!important;
    border-color:#9fc3ff!important;
  }
  body:has(.vs3-app) .calendar-route-chip b{font-size:7px!important;color:#164b88!important;}
  body:has(.vs3-app) .calendar-route-chip small{font-size:6px!important;color:#4f6f92!important;}
  body:has(.vs3-app) .calendar-route-chip em{font-size:6px!important;background:#247cf0!important;color:#fff!important;}
}


/* VikingSoda 3.0.30 — final calendar route readability fix.
   Keep route cards light and high-contrast; never use dark green fills. */
body:has(.vs3-app) .visit-calendar-grid .calendar-route-chip,
body:has(.vs3-app) button.calendar-route-chip {
  background:#eaf3ff !important;
  background-color:#eaf3ff !important;
  color:#173f68 !important;
  border:1px solid #a9c9ec !important;
  border-left:3px solid #247cf0 !important;
  box-shadow:0 2px 6px rgba(36,124,240,.08) !important;
  opacity:1 !important;
}
body:has(.vs3-app) .visit-calendar-grid .calendar-route-chip b,
body:has(.vs3-app) button.calendar-route-chip b {
  color:#163f67 !important;
  font-weight:800 !important;
}
body:has(.vs3-app) .visit-calendar-grid .calendar-route-chip small,
body:has(.vs3-app) button.calendar-route-chip small {
  color:#55718e !important;
}
body:has(.vs3-app) .visit-calendar-grid .calendar-route-chip em,
body:has(.vs3-app) button.calendar-route-chip em {
  background:#dcecff !important;
  color:#247cf0 !important;
  border-radius:999px !important;
  padding:2px 5px !important;
}
body:has(.vs3-app) .visit-calendar-grid .calendar-route-chip:hover,
body:has(.vs3-app) button.calendar-route-chip:hover {
  background:#deedff !important;
  border-color:#78ace6 !important;
}


/* VikingSoda 3.0.31 — hard override: calendar routes are always light blue. */
.vs3-app .visit-calendar-grid button.calendar-route-chip,
body:has(.vs3-app) .visit-calendar-grid button.calendar-route-chip{
  background:#eaf3ff !important;
  background-color:#eaf3ff !important;
  color:#173f68 !important;
  border:1px solid #a9c9ec !important;
  border-left:3px solid #247cf0 !important;
  box-shadow:none !important;
  opacity:1 !important;
}
.vs3-app .visit-calendar-grid button.calendar-route-chip b,
body:has(.vs3-app) .visit-calendar-grid button.calendar-route-chip b{
  color:#163f67 !important;
}
.vs3-app .visit-calendar-grid button.calendar-route-chip small,
body:has(.vs3-app) .visit-calendar-grid button.calendar-route-chip small{
  color:#55718e !important;
}
.vs3-app .visit-calendar-grid button.calendar-route-chip em,
body:has(.vs3-app) .visit-calendar-grid button.calendar-route-chip em{
  background:#dcecff !important;
  color:#247cf0 !important;
}


/* VikingSoda 3.0.32 — force-hide the WordPress/theme/Elementor footer on panel pages. */
body.vs3-panel-page footer,
body.vs3-panel-page .site-footer,
body.vs3-panel-page #colophon,
body.vs3-panel-page .footer,
body.vs3-panel-page #footer,
body.vs3-panel-page .elementor-location-footer,
body.vs3-panel-page .elementor-footer,
body.vs3-panel-page .site-info,
body.vs3-panel-page .footer-widgets,
body:has(.vs3-app).vs3-panel-page footer,
body:has(.vs3-app).vs3-panel-page .site-footer,
body:has(.vs3-app).vs3-panel-page #colophon,
body:has(.vs3-app).vs3-panel-page .elementor-location-footer {
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

body.vs3-panel-page,
body.vs3-panel-page #page,
body.vs3-panel-page .site,
body.vs3-panel-page .elementor {
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
