:root {
  --red:#ed1c24;
  --red-dark:#c91219;
  --charcoal:#2f3033;
  --charcoal-2:#202226;
  --grey:#d9d9d9;
  --light:#f5f6f8;
  --white:#ffffff;
  --green:#16a34a;
  --amber:#f59e0b;
  --text:#202226;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--light);color:var(--text)}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.brand-bar{background:var(--white);border-bottom:5px solid var(--red);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px}
.brand-bar img{width:min(340px,52vw);height:auto;display:block}
.red-block{width:190px;height:72px;background:var(--red);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.content{width:min(1180px,94vw);margin:28px auto 40px}
.card{background:var(--white);border:1px solid #dfe3e8;border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.08);overflow:hidden}
.card-head{background:var(--charcoal);color:var(--white);padding:14px 18px;font-weight:800;letter-spacing:.02em}
.kiosk-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:22px}
.panel{padding:24px}
h1,h2,h3{margin:0}.muted{color:#67717f}.eyebrow{font-size:.82rem;letter-spacing:.12em;font-weight:800;color:var(--red)}
.clock{font-size:clamp(2rem,5vw,4.5rem);font-weight:900;line-height:1}.date-line{font-size:1rem;color:#5d6672;margin-top:6px}
label{display:block;font-weight:800;margin:16px 0 7px}.field{width:100%;min-height:54px;border:1px solid #cfd5dc;border-radius:12px;background:#fff;padding:0 14px;font-size:17px;outline:none}.field:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,28,36,.12)}
.pin-row{display:grid;grid-template-columns:1fr;gap:10px}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.btn{border:0;border-radius:12px;min-height:58px;font-size:18px;font-weight:900;cursor:pointer;padding:0 18px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-in{background:var(--red);color:#fff}.btn-in:hover{background:var(--red-dark)}.btn-out{background:var(--charcoal);color:#fff}.btn-secondary{background:#eef1f4;color:var(--charcoal);border:1px solid #d6dbe1}.btn-small{min-height:44px;font-size:15px}
.camera-card{background:var(--charcoal-2);border-radius:16px;overflow:hidden;position:relative;min-height:390px;display:flex;align-items:center;justify-content:center}.camera-card video{width:100%;height:100%;min-height:390px;object-fit:cover}.camera-card .camera-placeholder{color:white;text-align:center;padding:30px}.camera-badge{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.72);color:#fff;padding:9px 12px;border-radius:10px;font-weight:700}.camera-frame{position:absolute;inset:13%;border:4px solid var(--red);border-radius:22px;pointer-events:none}
.status{margin-top:16px;padding:12px 14px;border-radius:12px;background:#f0f2f5;font-weight:700}.status.ok{background:#eaf8ef;color:#116b31}.status.err{background:#fdebed;color:#a10d13}.status.warn{background:#fff5df;color:#7a4c00}
.success{padding:36px;text-align:center}.success .tick{width:84px;height:84px;border-radius:50%;background:var(--green);color:#fff;margin:0 auto 18px;display:grid;place-items:center;font-size:48px;font-weight:900}.success h2{color:var(--green);font-size:2rem}.success .person{font-size:1.4rem;font-weight:900;margin:14px 0 5px}
.top-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.login-wrap{max-width:520px;margin:0 auto}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric{background:#fff;border:1px solid #dde2e7;border-radius:14px;padding:16px}.metric .n{font-size:2rem;font-weight:900;color:var(--red)}
.driver-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.trip-list{margin-top:20px}.trip{display:grid;grid-template-columns:100px 1fr 1fr 130px;gap:10px;padding:12px 0;border-top:1px solid #e3e6ea;align-items:center}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.pill{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #d8dde3;font-weight:800;text-decoration:none;color:var(--charcoal)}.pill.active{background:var(--red);border-color:var(--red);color:#fff}
.hidden{display:none!important}
@media(max-width:780px){.red-block{width:95px;height:58px}.kiosk-grid{grid-template-columns:1fr}.content{width:min(96vw,720px);margin-top:14px}.panel{padding:18px}.action-row{grid-template-columns:1fr}.driver-form{grid-template-columns:1fr}.full{grid-column:auto}.dashboard-grid{grid-template-columns:1fr}.trip{grid-template-columns:1fr 1fr}.brand-bar{padding:10px 12px}.camera-card,.camera-card video{min-height:300px}}

/* ---- Administration module v0.2 ---- */
.admin-content{width:min(1500px,97vw)}
.wide-btn{width:100%;margin-top:20px}
.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.admin-sidebar{position:sticky;top:12px}
.admin-nav{display:grid;padding:12px;gap:7px}
.admin-nav-btn{min-height:46px;border:0;border-radius:10px;background:#f0f2f5;color:var(--charcoal);font-weight:850;text-align:left;padding:0 14px;cursor:pointer}
.admin-nav-btn.active{background:var(--red);color:white}
.admin-side-links{display:flex;flex-direction:column;gap:8px;padding:0 12px 14px}
.danger-pill{cursor:pointer;color:#9b1118;text-align:left}
.admin-main{min-width:0}
.admin-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 14px}
.user-chip{display:flex;flex-direction:column;align-items:flex-end;background:#fff;border:1px solid #dce1e6;border-radius:12px;padding:9px 13px}
.user-chip span{font-size:.78rem;color:#707987;font-weight:800}
.admin-section{display:grid;gap:16px}
.toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.compact-panel{padding:14px 16px}
.compact-panel label{margin-top:0}
.compact-field{min-width:170px;min-height:44px}
.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}
.metric-card{background:#fff;border:1px solid #dde2e7;border-radius:14px;padding:15px}
.metric-card .metric-number{font-size:2rem;font-weight:950;line-height:1}
.metric-card .metric-label{font-size:.82rem;color:#68717e;font-weight:800;margin-top:7px}
.metric-card.positive .metric-number{color:var(--green)}
.metric-card.alert .metric-number{color:var(--red)}
.metric-card.neutral .metric-number{color:var(--charcoal)}
.admin-table-card{overflow:hidden}
.table-scroll{overflow-x:auto;width:100%}
.data-table{width:100%;border-collapse:collapse;min-width:800px;font-size:.92rem}
.data-table th{background:#f2f4f6;color:#3c434c;text-align:left;padding:11px 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}
.data-table td{padding:11px 12px;border-top:1px solid #e4e7eb;vertical-align:middle}
.data-table tr:hover td{background:#fafbfc}
.status-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:900;white-space:nowrap;background:#edf0f3;color:#3d4650}
.status-badge.good{background:#e6f7ec;color:#0c7232}
.status-badge.bad{background:#fde9eb;color:#a20b13}
.status-badge.warn{background:#fff2d9;color:#845000}
.status-badge.info{background:#eaf2ff;color:#154d96}
.table-btn{border:1px solid #d6dce2;background:#fff;border-radius:8px;min-height:34px;padding:0 9px;font-weight:800;cursor:pointer;margin:2px}
.table-btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.table-btn:disabled{opacity:.45;cursor:not-allowed}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.form-grid .full{grid-column:1/-1}
.form-grid label{margin-top:12px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.check-stack{display:flex;align-items:flex-end;gap:18px;padding-bottom:7px;flex-wrap:wrap}
.check-line{display:flex;gap:8px;align-items:center;margin:0!important;font-weight:800}
.check-line input{width:20px;height:20px}
.header-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.mini-search{min-height:34px;border:1px solid #69727d;border-radius:8px;background:#fff;padding:0 10px;min-width:220px}
.file-field{padding:10px 12px;height:auto}
.labour-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.history-toolbar{display:flex;gap:10px;align-items:flex-end}.history-toolbar .field{max-width:420px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:grid;place-items:center;padding:20px;z-index:2000}
.modal-card{position:relative;max-width:min(720px,95vw);max-height:90vh;background:white;padding:10px;border-radius:16px}
.modal-card img{display:block;max-width:100%;max-height:82vh;border-radius:10px}
.modal-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:27px;cursor:pointer}
@media(max-width:1050px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-nav{grid-template-columns:repeat(5,1fr)}.admin-nav-btn{text-align:center;padding:0 7px}.admin-side-links{flex-direction:row;flex-wrap:wrap}.metrics-grid{grid-template-columns:repeat(3,1fr)}.labour-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.admin-nav{grid-template-columns:1fr 1fr}.admin-topline{align-items:flex-start}.user-chip{align-items:flex-start}.form-grid,.labour-form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.metrics-grid{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch}.compact-field{width:100%}.toolbar>div{width:100%}.header-actions{align-items:flex-start;flex-direction:column}.mini-search{width:100%}.history-toolbar{flex-direction:column;align-items:stretch}.history-toolbar .field{max-width:none}}

/* ---- Driver workflow + credential visibility v0.3 ---- */
.password-wrap{position:relative;display:flex;align-items:center}.password-wrap .field{padding-right:84px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:64px;height:38px;border:1px solid #cfd5dc;border-radius:9px;background:#f2f4f6;color:var(--charcoal);font-weight:850;cursor:pointer}.password-toggle:hover{background:#e7eaee}.driver-header-line{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.small-copy{font-size:.9rem}.driver-day-summary,.current-trip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.driver-day-summary>div,.current-trip-grid>div{border:1px solid #e0e4e8;border-radius:12px;padding:14px;background:#fafbfc}.summary-label{display:block;color:#6a7380;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:850;margin-bottom:5px}.active-trip-head{background:var(--red)}.end-trip-box{margin-top:18px;padding-top:18px;border-top:1px solid #e0e4e8;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.end-trip-box label{margin-top:0}.end-trip-btn{min-width:180px}.trip-history{display:grid;gap:0}.trip-history-row{display:grid;grid-template-columns:44px minmax(220px,1fr) 120px 150px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5e8ec}.trip-history-row:last-child{border-bottom:0}.trip-index{width:34px;height:34px;border-radius:50%;background:#eef1f4;display:grid;place-items:center;font-weight:900}.finish-day-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.finish-controls{display:flex;gap:10px;align-items:center}.pin-modal-card{width:min(520px,95vw);padding:26px}.pin-modal-card h2{padding-right:52px}
@media(max-width:820px){.driver-header-line{align-items:flex-start}.driver-day-summary,.current-trip-grid{grid-template-columns:1fr 1fr}.end-trip-box{grid-template-columns:1fr}.end-trip-btn{width:100%}.trip-history-row{grid-template-columns:36px 1fr}.trip-history-row>div:nth-child(3),.trip-history-row>div:nth-child(4){grid-column:2}.finish-day-line{flex-direction:column;align-items:stretch}.finish-controls{flex-direction:column;align-items:stretch}.finish-controls .compact-field{max-width:none}.password-toggle{min-width:58px}}

/* v0.4 driver functional tabs */
.driver-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.driver-tabs .pill{appearance:none;border:1px solid #d5d9df;background:#fff;color:#202327;cursor:pointer;font:inherit;font-weight:800;padding:12px 18px;border-radius:999px;min-height:46px}
.driver-tabs .pill.active{background:#ed1c24;color:#fff;border-color:#ed1c24}
.driver-tab-panel.hidden{display:none!important}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.check-row{display:flex;align-items:center;gap:10px;border:1px solid #e0e3e7;border-radius:12px;padding:12px 14px;background:#fafafa;font-weight:700}
.check-row input{width:22px;height:22px}
.report-filter-row{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
.report-filter-row>div{min-width:220px;flex:1}
.report-summary{margin-top:18px}
.trip-history-row.compact{grid-template-columns:minmax(0,2fr) minmax(100px,.7fr) minmax(0,1.4fr)}
@media (max-width:700px){.check-grid{grid-template-columns:1fr}.driver-tabs .pill{flex:1 1 45%;text-align:center}.trip-history-row.compact{grid-template-columns:1fr}.report-filter-row{align-items:stretch}}
\n\n/* v0.5 Vehicle Management */\n.vehicle-metrics{grid-template-columns:repeat(4,minmax(150px,1fr))}.vehicle-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vehicle-history-grid.history-tables{padding:18px}.vehicle-history-grid h3{margin:0 0 10px}.vehicle-table{min-width:1250px}.vehicle-history-grid .data-table{min-width:560px}\n@media(max-width:1000px){.vehicle-metrics{grid-template-columns:repeat(2,1fr)}.vehicle-history-grid{grid-template-columns:1fr}}\n@media(max-width:600px){.vehicle-metrics{grid-template-columns:1fr}}\n
/* v0.6 clickable vehicle metric shortcuts */
.metric-shortcut{appearance:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;position:relative;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;background:var(--surface,#fff)}
.metric-shortcut:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.metric-shortcut:focus-visible{outline:3px solid rgba(244,31,37,.28);outline-offset:2px}
.metric-shortcut.selected{border-color:#f41f25;box-shadow:0 0 0 2px rgba(244,31,37,.12)}
.metric-hint{margin-top:8px;font-size:.76rem;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.metric-shortcut.selected .metric-hint{color:#f41f25}


/* ---- v0.8 reception tablet kiosk + installable PWA ---- */
.kiosk-body{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%;touch-action:manipulation}
.kiosk-content{width:min(1320px,calc(100vw - 24px));margin:16px auto 28px}
.kiosk-brand-bar{padding:8px 16px;min-height:82px}
.kiosk-brand-bar>img{width:min(300px,42vw);max-height:94px;object-fit:contain;object-position:left center}
.kiosk-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.install-app-btn{min-height:46px;padding:0 16px;border:0;border-radius:10px;background:var(--charcoal);color:#fff;font-weight:900;letter-spacing:.02em;cursor:pointer}
.install-app-btn:active{transform:translateY(1px)}
.kiosk-body .kiosk-grid{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}
.kiosk-body .card{border-radius:14px}
.kiosk-body .card-head{padding:11px 16px;font-size:.95rem}
.kiosk-body .panel{padding:18px}
.kiosk-body .muted{line-height:1.25}
.kiosk-body .clock{margin-top:12px;font-size:clamp(3rem,7vw,5.2rem)}
.kiosk-body .date-line{font-size:1rem;margin-bottom:8px}
.kiosk-body .field{min-height:58px;font-size:18px}
.kiosk-body .password-toggle{height:42px;min-width:68px}
.kiosk-body .action-row{gap:12px;margin-top:18px}
.kiosk-body .action-row .btn{min-height:64px;font-size:1.15rem}
.kiosk-body .status{margin-top:14px}
.kiosk-body .camera-card{min-height:430px;height:100%;max-height:560px}
.kiosk-body .camera-card video{min-height:430px;height:100%;object-fit:cover}
.kiosk-body .camera-frame{inset:13% 13% 11%;border-width:4px}
.kiosk-body .success{padding:32px 22px}
.kiosk-body .success .tick{font-size:4rem}

/* Common 10–11 inch Android tablet landscape. */
@media (min-width:720px) and (max-width:1366px) and (orientation:landscape){
  .kiosk-content{width:calc(100vw - 20px);margin:10px auto 18px}
  .kiosk-brand-bar{min-height:70px;padding:6px 12px}
  .kiosk-brand-bar>img{width:min(250px,31vw);max-height:76px}
  .kiosk-brand-bar .red-block{width:128px;height:52px}
  .kiosk-body .kiosk-grid{grid-template-columns:minmax(360px,1.02fr) minmax(330px,.98fr);gap:10px}
  .kiosk-body .panel{padding:14px 16px}
  .kiosk-body .card-head{padding:10px 14px}
  .kiosk-body h1{line-height:1.05}
  .kiosk-body .clock{font-size:clamp(3.2rem,6.5vw,5rem);margin-top:8px}
  .kiosk-body label{margin:11px 0 6px}
  .kiosk-body .field{min-height:54px}
  .kiosk-body .action-row .btn{min-height:58px}
  .kiosk-body .camera-card,.kiosk-body .camera-card video{min-height:400px;max-height:500px}
}

/* Tablet portrait and narrow windows stack naturally. */
@media (max-width:900px) and (orientation:portrait){
  .kiosk-content{width:calc(100vw - 18px);margin:9px auto 20px}
  .kiosk-brand-bar{min-height:64px;padding:6px 10px}
  .kiosk-brand-bar>img{width:min(240px,58vw);max-height:68px}
  .kiosk-header-actions{gap:7px}
  .kiosk-brand-bar .red-block{width:82px;height:42px}
  .install-app-btn{min-height:42px;padding:0 10px;font-size:.78rem}
  .kiosk-body .kiosk-grid{grid-template-columns:1fr;gap:12px}
  .kiosk-body .panel{padding:16px}
  .kiosk-body .camera-card,.kiosk-body .camera-card video{min-height:340px;max-height:440px}
  .kiosk-body .action-row{grid-template-columns:1fr 1fr}
}

@media (max-width:600px){
  .kiosk-brand-bar .red-block{display:none}
  .kiosk-brand-bar>img{width:min(230px,70vw)}
  .kiosk-content{width:calc(100vw - 12px)}
  .kiosk-body .action-row{grid-template-columns:1fr}
  .kiosk-body .camera-card,.kiosk-body .camera-card video{min-height:300px}
}

/* Standalone installed app gets a slightly tighter top edge. */
@media (display-mode:standalone){
  .kiosk-brand-bar{padding-top:max(6px,env(safe-area-inset-top))}
  .install-app-btn{display:none!important}
}

/* ---- v0.9 exact-fit Android tablet kiosk ---- */
:root{--kiosk-vh:100dvh;--kiosk-vw:100vw}
.kiosk-body,.kiosk-body .app-shell{max-width:100%;overflow-x:hidden}
.kiosk-body img,.kiosk-body video,.kiosk-body canvas{max-width:100%}

/* Force a true two-column kiosk in tablet landscape, even on older tablets
   that report a smaller CSS viewport than their physical pixel resolution. */
@media (orientation:landscape) and (min-width:560px){
  .kiosk-body{height:var(--kiosk-vh);min-height:0;overflow:hidden}
  .kiosk-body .app-shell{height:var(--kiosk-vh);min-height:0;overflow:hidden}
  .kiosk-brand-bar{flex:0 0 auto;min-height:0;height:clamp(50px,10.5vh,68px);padding:4px 10px}
  .kiosk-brand-bar>img{width:min(220px,27vw);max-height:calc(clamp(50px,10.5vh,68px) - 8px)}
  .kiosk-brand-bar .red-block{width:clamp(70px,11vw,120px);height:clamp(34px,7vh,48px)}
  .kiosk-content{flex:1 1 auto;min-height:0;width:calc(100vw - 12px);max-width:none;margin:6px auto 8px;overflow:hidden}
  .kiosk-body .kiosk-grid{width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;gap:8px;align-items:stretch}
  .kiosk-body .kiosk-grid>.card{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
  .kiosk-body .card-head{padding:7px 11px;font-size:clamp(.72rem,1.5vw,.9rem);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kiosk-body .kiosk-grid .panel{min-height:0;padding:9px 12px;overflow:hidden}
  .kiosk-body .eyebrow{font-size:clamp(.58rem,1.1vw,.72rem);line-height:1;margin-bottom:2px}
  .kiosk-body #clockView h1{font-size:clamp(1.25rem,2.6vw,1.9rem)!important;line-height:1!important;margin:2px 0 4px!important}
  .kiosk-body #clockView p.muted{font-size:clamp(.68rem,1.25vw,.84rem);line-height:1.15;margin:0 0 4px}
  .kiosk-body .clock{font-size:clamp(2.35rem,6.5vh,3.8rem);line-height:.92;margin-top:4px}
  .kiosk-body .date-line{font-size:clamp(.68rem,1.25vw,.88rem);line-height:1;margin:3px 0 5px}
  .kiosk-body label{font-size:clamp(.72rem,1.25vw,.88rem);line-height:1;margin:6px 0 4px}
  .kiosk-body .field{min-height:clamp(40px,7.4vh,50px);height:clamp(40px,7.4vh,50px);padding:0 10px;border-radius:9px;font-size:clamp(.78rem,1.45vw,1rem)}
  .kiosk-body .password-toggle{right:5px;height:clamp(31px,5.5vh,38px);min-width:52px;font-size:.78rem}
  .kiosk-body .action-row{margin-top:8px;gap:8px;grid-template-columns:1fr 1fr!important}
  .kiosk-body .action-row .btn{min-height:clamp(42px,7.5vh,52px);height:clamp(42px,7.5vh,52px);border-radius:9px;font-size:clamp(.8rem,1.5vw,1rem);padding:0 8px}
  .kiosk-body .status{margin-top:7px;padding:6px 9px;border-radius:8px;font-size:clamp(.62rem,1.1vw,.78rem);line-height:1.12;white-space:normal}
  .kiosk-body .kiosk-grid>.card:nth-child(2) .panel{display:flex;min-height:0}
  .kiosk-body .camera-card{flex:1;min-width:0;min-height:0!important;height:100%!important;max-height:none!important;border-radius:10px}
  .kiosk-body .camera-card video{width:100%;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover}
  .kiosk-body .camera-frame{inset:9% 12% 8%;border-width:3px;border-radius:16px}
  .kiosk-body .camera-badge{left:8px;bottom:8px;padding:5px 8px;border-radius:7px;font-size:clamp(.62rem,1.1vw,.76rem)}
}

/* Extra compact mode for 600–720px-high landscape tablet viewports. */
@media (orientation:landscape) and (min-width:560px) and (max-height:720px){
  .kiosk-brand-bar{height:48px;padding:3px 8px}
  .kiosk-brand-bar>img{width:min(185px,25vw);max-height:42px}
  .kiosk-brand-bar .red-block{width:72px;height:32px}
  .kiosk-content{margin:4px auto 5px;width:calc(100vw - 8px)}
  .kiosk-body .kiosk-grid{gap:6px}
  .kiosk-body .card-head{padding:5px 9px;font-size:.68rem}
  .kiosk-body .kiosk-grid .panel{padding:6px 9px}
  .kiosk-body .eyebrow{display:none}
  .kiosk-body #clockView h1{font-size:1.2rem!important;margin:0 0 2px!important}
  .kiosk-body #clockView p.muted{font-size:.64rem;margin-bottom:2px}
  .kiosk-body .clock{font-size:2.15rem;margin-top:2px}
  .kiosk-body .date-line{font-size:.64rem;margin:2px 0 3px}
  .kiosk-body label{font-size:.68rem;margin:4px 0 2px}
  .kiosk-body .field{min-height:36px;height:36px;font-size:.78rem}
  .kiosk-body .password-toggle{height:28px;min-width:48px;font-size:.68rem}
  .kiosk-body .action-row{margin-top:5px;gap:6px}
  .kiosk-body .action-row .btn{min-height:36px;height:36px;font-size:.76rem}
  .kiosk-body .status{margin-top:4px;padding:4px 7px;font-size:.59rem}
  .kiosk-body .camera-frame{inset:7% 10% 7%;border-width:2px}
}

/* Portrait always uses one column and is allowed to scroll vertically. */
@media (orientation:portrait){
  .kiosk-body{height:auto;min-height:100dvh;overflow-y:auto}
  .kiosk-body .app-shell{height:auto;min-height:100dvh;overflow:visible}
  .kiosk-content{overflow:visible}
}

/* ---- v1.0 Android tablet HEIGHT fit ----
   Uses the actual app viewport height supplied by kiosk.js instead of relying
   only on vh/dvh, and aggressively compacts short landscape tablet screens. */
:root{--kiosk-height:100dvh}
@media (orientation:landscape) and (min-width:560px){
  .kiosk-body{height:var(--kiosk-height)!important;max-height:var(--kiosk-height)!important;overflow:hidden!important}
  .kiosk-body .app-shell{height:var(--kiosk-height)!important;max-height:var(--kiosk-height)!important;min-height:0!important;overflow:hidden!important}
  .kiosk-body .kiosk-content{height:auto;max-height:none;overflow:hidden}
  .kiosk-body #clockView{min-height:0}
  .kiosk-body #successView{max-height:100%;overflow:hidden}
}

/* Typical Android PWA tablet landscape with a short usable viewport. */
@media (orientation:landscape) and (min-width:560px) and (max-height:650px){
  .kiosk-brand-bar{height:40px!important;min-height:40px!important;padding:2px 8px!important;border-bottom-width:3px}
  .kiosk-brand-bar>img{width:min(160px,22vw)!important;max-height:35px!important}
  .kiosk-brand-bar .red-block{width:58px!important;height:27px!important}
  .kiosk-content{margin:3px auto 4px!important;width:calc(100vw - 6px)!important}
  .kiosk-body .kiosk-grid{gap:5px!important}
  .kiosk-body .card{border-radius:9px!important;box-shadow:0 3px 10px rgba(0,0,0,.06)!important}
  .kiosk-body .card-head{padding:4px 8px!important;font-size:.62rem!important;line-height:1!important;min-height:22px}
  .kiosk-body .kiosk-grid .panel{padding:5px 8px!important}
  .kiosk-body .eyebrow{display:none!important}
  .kiosk-body #clockView h1{font-size:1.05rem!important;line-height:1!important;margin:0 0 1px!important}
  .kiosk-body #clockView p.muted{display:none!important}
  .kiosk-body .clock{font-size:1.85rem!important;line-height:.9!important;margin:1px 0 0!important}
  .kiosk-body .date-line{font-size:.58rem!important;line-height:1!important;margin:1px 0 2px!important}
  .kiosk-body label{font-size:.62rem!important;line-height:1!important;margin:3px 0 2px!important}
  .kiosk-body .field{min-height:31px!important;height:31px!important;border-radius:7px!important;padding:0 8px!important;font-size:.72rem!important}
  .kiosk-body .password-wrap .field{padding-right:51px!important}
  .kiosk-body .password-toggle{height:24px!important;min-width:43px!important;right:4px!important;border-radius:6px!important;font-size:.59rem!important;padding:0 4px!important}
  .kiosk-body .action-row{margin-top:4px!important;gap:5px!important}
  .kiosk-body .action-row .btn{min-height:31px!important;height:31px!important;border-radius:7px!important;font-size:.68rem!important;padding:0 5px!important}
  .kiosk-body .status{margin-top:3px!important;padding:3px 6px!important;border-radius:6px!important;font-size:.54rem!important;line-height:1.05!important;min-height:21px}
  .kiosk-body .camera-card{height:100%!important;min-height:0!important;max-height:none!important;border-radius:8px!important}
  .kiosk-body .camera-frame{inset:6% 9% 6%!important;border-width:2px!important;border-radius:12px!important}
  .kiosk-body .camera-badge{left:5px!important;bottom:5px!important;padding:3px 6px!important;font-size:.56rem!important;border-radius:5px!important}
  .kiosk-body .success{padding:12px!important}
  .kiosk-body .success .tick{width:48px!important;height:48px!important;font-size:29px!important;margin-bottom:7px!important}
  .kiosk-body .success h2{font-size:1.1rem!important}
  .kiosk-body .success .person{font-size:.95rem!important;margin:6px 0 2px!important}
  .kiosk-body #successTime{font-size:1.1rem!important;margin-top:7px!important}
  .kiosk-body #done{margin-top:10px!important;min-height:34px!important}
}

/* Very short landscape viewports (some 10-inch Android tablets report ~480–560 CSS px). */
@media (orientation:landscape) and (min-width:560px) and (max-height:560px){
  .kiosk-brand-bar{height:34px!important;min-height:34px!important;padding:1px 6px!important}
  .kiosk-brand-bar>img{width:min(138px,20vw)!important;max-height:30px!important}
  .kiosk-brand-bar .red-block{display:none!important}
  .kiosk-content{margin:2px auto 3px!important}
  .kiosk-body .card-head{padding:3px 7px!important;min-height:19px;font-size:.56rem!important}
  .kiosk-body .kiosk-grid .panel{padding:4px 7px!important}
  .kiosk-body #clockView h1{font-size:.92rem!important}
  .kiosk-body .clock{font-size:1.55rem!important}
  .kiosk-body .date-line{font-size:.52rem!important}
  .kiosk-body label{font-size:.56rem!important;margin:2px 0 1px!important}
  .kiosk-body .field{min-height:27px!important;height:27px!important;font-size:.66rem!important}
  .kiosk-body .password-toggle{height:21px!important;min-width:39px!important;font-size:.52rem!important}
  .kiosk-body .action-row{margin-top:3px!important}
  .kiosk-body .action-row .btn{min-height:27px!important;height:27px!important;font-size:.61rem!important}
  .kiosk-body .status{font-size:.49rem!important;min-height:18px!important;padding:2px 5px!important}
}


/* ---- v1.1 tablet left-panel full-height fill ----
   The previous version fit the screen but left unused white space under the
   form. The clocking side now intentionally fills the same vertical space as
   the camera and distributes the form groups over the full card height. */
@media (orientation:landscape) and (min-width:560px){
  .kiosk-body .clock-form-panel{
    height:100%;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    justify-content:space-between;
    gap:0!important;
  }
  .kiosk-body .kiosk-intro,
  .kiosk-body .kiosk-time-block,
  .kiosk-body .kiosk-field-group,
  .kiosk-body .clock-form-panel>.action-row,
  .kiosk-body .clock-form-panel>.status{flex:0 0 auto}
  .kiosk-body .kiosk-field-group label{margin-top:0!important}
  .kiosk-body .clock-form-panel>.action-row{margin-top:0!important}
  .kiosk-body .clock-form-panel>.status{margin-top:0!important}
}

/* On the short Honor Pad landscape viewport, use the newly available vertical
   spacing to make the controls easier to touch instead of leaving a blank half. */
@media (orientation:landscape) and (min-width:560px) and (max-height:650px){
  .kiosk-body .clock-form-panel{padding:6px 9px!important}
  .kiosk-body .kiosk-intro h1{font-size:1.18rem!important}
  .kiosk-body .kiosk-time-block{text-align:left}
  .kiosk-body .clock{font-size:2.25rem!important}
  .kiosk-body .date-line{font-size:.66rem!important}
  .kiosk-body .kiosk-field-group label{font-size:.68rem!important;margin:0 0 3px!important}
  .kiosk-body .kiosk-field-group .field{height:36px!important;min-height:36px!important;font-size:.78rem!important}
  .kiosk-body .password-toggle{height:28px!important;min-width:46px!important;font-size:.62rem!important}
  .kiosk-body .clock-form-panel>.action-row .btn{height:40px!important;min-height:40px!important;font-size:.78rem!important}
  .kiosk-body .clock-form-panel>.status{min-height:24px!important;padding:5px 7px!important;font-size:.58rem!important;display:flex;align-items:center}
}

@media (orientation:landscape) and (min-width:560px) and (max-height:560px){
  .kiosk-body .clock-form-panel{padding:5px 8px!important}
  .kiosk-body .kiosk-intro h1{font-size:1rem!important}
  .kiosk-body .clock{font-size:1.9rem!important}
  .kiosk-body .date-line{font-size:.58rem!important}
  .kiosk-body .kiosk-field-group label{font-size:.6rem!important;margin:0 0 2px!important}
  .kiosk-body .kiosk-field-group .field{height:31px!important;min-height:31px!important;font-size:.7rem!important}
  .kiosk-body .password-toggle{height:24px!important;min-width:42px!important;font-size:.55rem!important}
  .kiosk-body .clock-form-panel>.action-row .btn{height:34px!important;min-height:34px!important;font-size:.68rem!important}
  .kiosk-body .clock-form-panel>.status{min-height:20px!important;padding:3px 6px!important;font-size:.51rem!important}
}

/* =====================================================================
   v1.2 — Driver phone portrait optimisation
   Dedicated Android/iPhone portrait layout. Desktop/tablet styles remain
   unchanged. The tab bar becomes a thumb-friendly bottom navigation bar.
   ===================================================================== */
@media (max-width: 600px) and (orientation: portrait) {
  html, body.driver-page { max-width:100%; overflow-x:hidden; }
  body.driver-page { min-height:var(--driver-vh,100dvh); background:#f5f6f8; }
  body.driver-page .app-shell { min-height:var(--driver-vh,100dvh); }

  /* Compact brand area so the actual work controls dominate the phone. */
  body.driver-page .brand-bar {
    min-height:52px;
    padding:6px 10px;
    border-bottom-width:4px;
    gap:8px;
  }
  body.driver-page .brand-bar img { width:min(190px,58vw); max-height:48px; object-fit:contain; object-position:left center; }
  body.driver-page .brand-bar .red-block { width:58px; height:34px; }
  body.driver-page .content {
    width:calc(100vw - 16px);
    max-width:none;
    margin:8px auto 0;
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }

  /* Login is a real phone card, with no desktop-sized whitespace. */
  body.driver-page .login-wrap { width:100%; max-width:none; border-radius:14px; }
  body.driver-page .login-wrap .card-head { padding:11px 14px; font-size:.9rem; }
  body.driver-page .login-wrap .panel { padding:16px 14px; }
  body.driver-page .login-wrap h1 { font-size:1.7rem; line-height:1.05; }
  body.driver-page .login-wrap .muted { font-size:.9rem; line-height:1.3; margin:.45rem 0 .65rem; }

  /* Main header. */
  body.driver-page .driver-header-line {
    margin:0 2px 8px;
    align-items:center;
    gap:8px;
  }
  body.driver-page .driver-header-line h1 { font-size:1.65rem; line-height:1.05; }
  body.driver-page .driver-header-line .eyebrow { font-size:.68rem; }
  body.driver-page .user-chip { padding:6px 9px; border-radius:10px; max-width:112px; }
  body.driver-page .user-chip strong { max-width:94px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.86rem; }
  body.driver-page .user-chip span { font-size:.65rem; }

  /* Fixed, thumb-friendly bottom navigation. */
  body.driver-page .driver-tabs {
    position:fixed;
    z-index:1200;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    margin:0;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    background:rgba(255,255,255,.98);
    border-top:1px solid #d9dde2;
    box-shadow:0 -8px 24px rgba(0,0,0,.12);
  }
  body.driver-page .driver-tabs .pill {
    min-width:0;
    min-height:50px;
    padding:5px 3px;
    border-radius:11px;
    border-color:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.05;
    font-size:.73rem;
    white-space:normal;
    word-break:normal;
  }
  body.driver-page .driver-tabs .pill.active { box-shadow:0 3px 10px rgba(237,28,36,.24); }

  /* Cards and controls sized for a phone. */
  body.driver-page .card { border-radius:13px; box-shadow:0 5px 16px rgba(0,0,0,.07); }
  body.driver-page .driver-tab-panel > .card,
  body.driver-page .driver-tab-panel > .card[style] { margin-top:10px !important; }
  body.driver-page .card-head { padding:10px 13px; font-size:.88rem; letter-spacing:.015em; }
  body.driver-page .panel { padding:13px; }
  body.driver-page label { margin:10px 0 5px; font-size:.9rem; }
  body.driver-page .field {
    min-height:48px;
    height:48px;
    border-radius:10px;
    padding:0 11px;
    font-size:16px; /* prevents Android/iOS focus zoom */
  }
  body.driver-page .btn {
    min-height:52px;
    border-radius:11px;
    font-size:1rem;
    width:100%;
  }
  body.driver-page .btn-small { min-height:48px; }
  body.driver-page .status { margin:10px 0 0; padding:10px 12px; font-size:.86rem; }

  /* Every operational form becomes a single-column thumb flow. */
  body.driver-page .driver-form { grid-template-columns:1fr; gap:3px; }
  body.driver-page .driver-form .full { grid-column:auto; }
  body.driver-page .driver-form .full .btn { margin-top:7px; }

  /* Today vehicle / report metrics stay useful without horizontal scroll. */
  body.driver-page .driver-day-summary,
  body.driver-page .current-trip-grid {
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  body.driver-page .driver-day-summary > div,
  body.driver-page .current-trip-grid > div {
    padding:9px 10px;
    border-radius:10px;
    min-width:0;
  }
  body.driver-page .summary-label { font-size:.64rem; margin-bottom:3px; }
  body.driver-page .driver-day-summary strong,
  body.driver-page .current-trip-grid strong {
    display:block;
    min-width:0;
    overflow-wrap:anywhere;
    font-size:.88rem;
    line-height:1.15;
  }

  /* Active journey: End Trip stays the obvious primary action. */
  body.driver-page .end-trip-box {
    margin-top:11px;
    padding-top:10px;
    grid-template-columns:1fr;
    gap:2px;
  }
  body.driver-page .end-trip-btn { width:100%; min-width:0; margin-top:8px; min-height:58px; font-size:1.08rem; }
  body.driver-page .active-trip-head { position:sticky; top:0; z-index:4; }

  /* Completed trips render as compact phone cards. */
  body.driver-page .trip-history { gap:8px; }
  body.driver-page .trip-history-row,
  body.driver-page .trip-history-row.compact {
    grid-template-columns:34px minmax(0,1fr);
    gap:5px 9px;
    padding:10px;
    border:1px solid #e1e5e9;
    border-radius:11px;
    background:#fff;
  }
  body.driver-page .trip-history-row > div:nth-child(3),
  body.driver-page .trip-history-row > div:nth-child(4),
  body.driver-page .trip-history-row.compact > div:nth-child(2),
  body.driver-page .trip-history-row.compact > div:nth-child(3) {
    grid-column:2;
  }
  body.driver-page .trip-index { width:30px; height:30px; font-size:.83rem; }
  body.driver-page .trip-history-row strong { overflow-wrap:anywhere; }
  body.driver-page .trip-history-row .muted { font-size:.8rem; }

  /* Close-day becomes a vertical full-width action. */
  body.driver-page .finish-day-line { gap:10px; }
  body.driver-page .finish-controls { width:100%; gap:8px; }
  body.driver-page .finish-controls .compact-field { width:100%; max-width:none; }
  body.driver-page .finish-controls .btn { width:100%; }

  /* Vehicle check is a phone checklist. */
  body.driver-page .check-grid { grid-template-columns:1fr; gap:8px; margin-top:7px; }
  body.driver-page .check-row { min-height:48px; padding:10px 12px; border-radius:10px; font-size:.9rem; }
  body.driver-page .check-row input { width:22px; height:22px; flex:0 0 auto; }

  /* Fuel and report controls never run side-by-side on a narrow phone. */
  body.driver-page .report-filter-row { flex-direction:column; align-items:stretch; gap:8px; }
  body.driver-page .report-filter-row > div { width:100%; }
  body.driver-page .report-filter-row .btn { width:100%; }
  body.driver-page .report-summary { margin-top:12px; }

  /* Password visibility button remains easy to hit on a phone. */
  body.driver-page .password-toggle { min-width:58px; height:38px; right:6px; }
  body.driver-page .password-wrap .field { padding-right:72px; }
}

/* Extra-tight phones (older Androids and compact handsets). */
@media (max-width: 390px) and (orientation: portrait) {
  body.driver-page .content { width:calc(100vw - 12px); }
  body.driver-page .panel { padding:11px; }
  body.driver-page .driver-tabs .pill { font-size:.68rem; }
  body.driver-page .driver-day-summary,
  body.driver-page .current-trip-grid { grid-template-columns:1fr 1fr; gap:5px; }
  body.driver-page .driver-day-summary > div,
  body.driver-page .current-trip-grid > div { padding:8px; }
}

/* -------------------------------------------------------------------------
   v1.3 — Admin navigation consistency + Users & Access
   ------------------------------------------------------------------------- */
.admin-nav-btn,
.admin-side-links .admin-side-btn {
  box-sizing:border-box;
  width:100%;
  min-height:46px;
  border:0;
  border-radius:10px;
  background:#f0f2f5;
  color:var(--charcoal);
  font-family:inherit;
  font-size:.92rem;
  font-weight:850;
  line-height:1.15;
  text-align:left;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
  cursor:pointer;
}
.admin-nav-btn.active { background:var(--red); color:#fff; }
.admin-side-links { border-top:1px solid #e2e5e9; padding-top:10px; }
.admin-side-links .admin-side-btn:hover,
.admin-nav-btn:hover { filter:brightness(.975); }
.admin-side-links .danger-side-btn { background:#fff0f1; color:#a11218; }
.admin-side-links .danger-side-btn:hover { background:#ffe3e5; }
.owner-admin-note,.role-guide { background:#f7f8fa; border:1px solid #e0e4e8; border-radius:10px; padding:12px 14px; color:#3e444b; }
.user-actions { display:flex; gap:6px; flex-wrap:wrap; min-width:235px; }
.user-actions .table-btn { white-space:nowrap; }
#section-users .password-wrap .field { padding-right:72px; }

@media(max-width:1050px){
  .admin-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-nav-btn,.admin-side-links .admin-side-btn{justify-content:center;text-align:center;padding:0 8px;font-size:.9rem}
}
@media(max-width:680px){
  .admin-nav{grid-template-columns:1fr 1fr}
  .admin-side-links{display:grid;grid-template-columns:1fr 1fr}
  .admin-nav-btn,.admin-side-links .admin-side-btn{min-height:48px;font-size:.9rem}
}


/* =====================================================================
   v1.4 — Floating reception PIN keypad
   Suppresses the Android soft keyboard and provides a compact in-app keypad
   positioned in the unused space beside the clock on the reception tablet.
   ===================================================================== */
.kiosk-body .custom-pin-input{cursor:pointer;caret-color:transparent;user-select:none;-webkit-user-select:none}
.kiosk-body .clock-form-panel{position:relative}
.kiosk-body .pin-keypad{
  position:absolute;
  z-index:30;
  right:12px;
  top:clamp(64px,16vh,108px);
  width:clamp(150px,19vw,188px);
  padding:7px;
  border:1px solid #d5d9de;
  border-radius:11px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.kiosk-body .pin-keypad-title{font-size:.61rem;font-weight:900;letter-spacing:.07em;color:#5d6670;margin:0 2px 4px}
.kiosk-body .pin-keypad-display{
  height:27px;display:flex;align-items:center;justify-content:center;
  border:1px solid #d7dce2;border-radius:7px;background:#f7f8fa;
  font-size:.9rem;font-weight:900;letter-spacing:.16em;margin-bottom:5px;color:#222;
}
.kiosk-body .pin-keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.kiosk-body .pin-key{
  min-width:0;height:34px;border:1px solid #d8dde3;border-radius:7px;background:#fff;
  color:#202225;font-size:.82rem;font-weight:900;line-height:1;touch-action:manipulation;
  box-shadow:0 1px 2px rgba(0,0,0,.04)
}
.kiosk-body .pin-key:active{transform:translateY(1px);background:#edf0f3}
.kiosk-body .pin-key-back{background:#eef1f4}
.kiosk-body .pin-key-submit{background:var(--red);color:#fff;border-color:var(--red);font-size:.55rem;letter-spacing:.01em}

@media (orientation:landscape) and (min-width:560px) and (max-height:650px){
  .kiosk-body .pin-keypad{right:9px;top:52px;width:154px;padding:5px;border-radius:9px}
  .kiosk-body .pin-keypad-title{font-size:.52rem;margin-bottom:3px}
  .kiosk-body .pin-keypad-display{height:22px;font-size:.75rem;margin-bottom:4px}
  .kiosk-body .pin-keypad-grid{gap:3px}
  .kiosk-body .pin-key{height:29px;border-radius:6px;font-size:.72rem}
  .kiosk-body .pin-key-submit{font-size:.48rem}
}
@media (orientation:landscape) and (min-width:560px) and (max-height:560px){
  .kiosk-body .pin-keypad{top:42px;right:7px;width:142px;padding:4px}
  .kiosk-body .pin-keypad-display{height:20px;font-size:.68rem}
  .kiosk-body .pin-key{height:25px;font-size:.65rem}
  .kiosk-body .pin-key-submit{font-size:.44rem}
}
@media (orientation:portrait), (max-width:559px){
  .kiosk-body .pin-keypad{
    position:fixed;left:50%;right:auto;top:auto;bottom:max(14px,env(safe-area-inset-bottom));
    transform:translateX(-50%);width:min(300px,calc(100vw - 24px));padding:10px;
  }
  .kiosk-body .pin-key{height:48px;font-size:1rem}
  .kiosk-body .pin-key-submit{font-size:.7rem}
  .kiosk-body .pin-keypad-display{height:38px;font-size:1rem}
}


/* v1.5 — simplified Users & Access */
.simple-user-form .user-quick-help{background:#f4f6f8;border:1px solid #e0e5ea;border-radius:12px;padding:12px 14px;color:#4b5563;font-size:.95rem}
.user-advanced-options{border:1px solid #e1e5ea;border-radius:12px;padding:0;background:#fafbfc}
.user-advanced-options summary{cursor:pointer;font-weight:800;padding:13px 15px;user-select:none}
.user-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 15px 15px}
@media(max-width:720px){.user-options-grid{grid-template-columns:1fr}}

/* v1.7 — account menu and password recovery */
.text-action-btn{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--red);font:inherit;font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:8px 12px}
.text-action-btn:hover{color:#b40f17}
.driver-account-wrap{position:relative;display:inline-flex;align-items:flex-start}
.user-chip-button{font:inherit;color:inherit;cursor:pointer;text-align:right}
.user-chip-button:hover{background:#f6f7f8}
.account-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;min-width:190px;background:#fff;border:1px solid #dce1e6;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:7px}
.account-popover button{display:block;width:100%;border:0;background:transparent;border-radius:8px;padding:12px 13px;text-align:left;font:inherit;font-weight:850;cursor:pointer;color:var(--charcoal)}
.account-popover button:hover{background:#f1f3f5}
.account-popover .danger-text{color:#b20e16}
#passwordResetRequestsCard{margin-bottom:18px}
@media(max-width:680px){.account-popover{position:fixed;right:14px;top:88px;min-width:205px}.text-action-btn{min-height:44px}}

/* =====================================================================
   v1.9 — Recent Vehicle Checks: proper mobile cards
   Replaces the compressed desktop/grid presentation on driver phones.
   ===================================================================== */
#recentChecks{
  display:grid;
  gap:10px;
}
.vehicle-check-history-card{
  border:1px solid #e0e4e8;
  border-radius:13px;
  background:#fff;
  padding:14px;
  min-width:0;
  box-shadow:0 3px 10px rgba(0,0,0,.04);
}
.vehicle-check-history-card.damage{border-left:5px solid var(--red)}
.vehicle-check-history-card.attention{border-left:5px solid #d79000}
.vehicle-check-history-card.ok{border-left:5px solid #169b52}
.vehicle-check-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.vehicle-check-identity{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.vehicle-check-identity strong{
  font-size:1rem;
  line-height:1.15;
  overflow-wrap:normal;
  word-break:normal;
}
.vehicle-check-identity span{
  color:#5f6874;
  font-size:.9rem;
  line-height:1.2;
  overflow-wrap:break-word;
}
.vehicle-check-status{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 9px;
  font-size:.73rem;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.vehicle-check-status.ok{background:#e8f7ef;color:#08783a}
.vehicle-check-status.damage{background:#fde9ea;color:#b10f16}
.vehicle-check-status.attention{background:#fff2d6;color:#8b5a00}
.vehicle-check-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #edf0f2;
  color:#606975;
  font-size:.84rem;
}
.vehicle-check-meta strong{color:var(--charcoal);font-size:.94rem}
.vehicle-check-flags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.check-mini{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border-radius:8px;
  font-size:.74rem;
  font-weight:800;
  line-height:1;
}
.check-mini.ok{background:#edf8f2;color:#0d7540}
.check-mini.bad{background:#fff0f0;color:#ad161d}
.vehicle-check-notes{
  margin-top:10px;
  padding:9px 10px;
  background:#fff5f5;
  border-radius:9px;
  color:#8f171c;
  font-size:.82rem;
  line-height:1.3;
  overflow-wrap:break-word;
}
@media (max-width:600px) and (orientation:portrait){
  body.driver-page #recentChecks{gap:9px}
  body.driver-page .vehicle-check-history-card{padding:12px;border-radius:12px}
  body.driver-page .vehicle-check-history-head{gap:8px}
  body.driver-page .vehicle-check-identity strong{font-size:1.02rem}
  body.driver-page .vehicle-check-identity span{font-size:.86rem}
  body.driver-page .vehicle-check-status{font-size:.68rem;padding:6px 8px}
  body.driver-page .vehicle-check-meta{font-size:.78rem;align-items:flex-end}
  body.driver-page .vehicle-check-flags{gap:5px}
  body.driver-page .check-mini{font-size:.7rem;padding:5px 7px}
}
@media (max-width:370px) and (orientation:portrait){
  body.driver-page .vehicle-check-history-head{flex-direction:column}
  body.driver-page .vehicle-check-status{align-self:flex-start}
  body.driver-page .vehicle-check-meta{flex-direction:column;align-items:flex-start;gap:3px}
}


/* v1.12 Vehicle damage / accident incidents */
.incident-head{background:#8f1117}.incident-textarea{resize:vertical;min-height:110px}.inline-field-action{display:flex;gap:10px;align-items:stretch}.inline-field-action .field{flex:1}.incident-subhead{font-weight:900;font-size:18px;margin:8px 0 14px;color:#ed1c24}.accident-fields{border:1px solid #e3e5e8;border-radius:16px;padding:16px;background:#fafafa}.incident-photo-box{border:2px dashed #d5d9df;border-radius:16px;padding:16px}.photo-count{font-weight:800;margin-top:8px}.incident-submit{width:100%;min-height:58px}.incident-mobile-card,.incident-admin-card{border:1px solid #dce1e7;border-radius:16px;padding:16px;margin-bottom:12px;background:#fff}.incident-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.incident-type-badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;letter-spacing:.03em}.incident-type-badge.damage{background:#fff0c7;color:#704b00}.incident-type-badge.accident{background:#fde0e1;color:#a00009}.incident-description-preview{margin:10px 0;white-space:pre-wrap}.incident-admin-grid,.incident-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.incident-admin-grid>div,.incident-detail-grid>div{background:#f4f5f7;border-radius:10px;padding:10px}.incident-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.incident-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.incident-detail-modal{max-width:1000px;width:min(96vw,1000px);max-height:92vh;overflow:auto}.incident-admin-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.incident-admin-edit textarea{grid-column:1/-1}.incident-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.incident-photo{margin:0;border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#f5f5f5}.incident-photo img{display:block;width:100%;max-height:420px;object-fit:contain;background:#111}.incident-photo figcaption{padding:8px 10px;font-size:13px}.file-field{padding:12px}
@media(max-width:700px){.driver-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}.driver-tabs .driver-tab{font-size:11px!important;padding-left:4px!important;padding-right:4px!important}.inline-field-action{flex-direction:column}.incident-admin-grid,.incident-detail-grid,.incident-admin-edit,.incident-photo-grid{grid-template-columns:1fr}.incident-filter-grid{grid-template-columns:1fr}.incident-photo img{max-height:320px}}


/* v1.13 Incident photo source chooser */
.incident-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 12px}.incident-photo-action{min-height:54px}.incident-photo-names{margin-top:10px;display:grid;gap:6px}.incident-photo-name{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f4f5f7;border-radius:10px;padding:8px 10px;font-size:13px}.incident-photo-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-photo-remove{border:0;background:#2d2f31;color:white;width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto}@media(max-width:480px){.incident-photo-actions{grid-template-columns:1fr}.incident-photo-action{width:100%}}


/* v1.14 — automatic trip tracking */
.auto-track-box{border:1px solid #d9dde3;border-radius:12px;padding:12px;background:#f8f9fb}
.auto-track-toggle{font-size:15px;align-items:flex-start}
.gps-tracking-panel{border:1px solid #b8d9c4;background:#f3fbf6;border-radius:12px;padding:12px;margin:0 0 14px}
.gps-track-row{display:flex;align-items:center;gap:9px;color:#166534}
.gps-pulse{width:11px;height:11px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.12)}
.gps-track-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:#334155}
.gps-track-stats span{background:white;border:1px solid #dfe7e2;border-radius:9px;padding:7px 9px}
@media(max-width:600px){.gps-track-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gps-track-stats span:last-child{grid-column:1/-1}.auto-track-box{padding:10px}}


/* v1.15 Trip Protection -------------------------------------------------- */
.driver-version-line{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:11px;font-weight:850;color:#6b7280}
.connectivity-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:950;letter-spacing:.04em;background:#e9f7ee;color:#166534;border:1px solid #cce8d5}
.connectivity-chip.offline{background:#fdecec;color:#a20f16;border-color:#f3c9cc}.connectivity-chip.warn{background:#fff3d6;color:#835300;border-color:#efd69b}
.gps-sync-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;font-size:12px;color:#4b5563}
.gps-sync-row>span{background:#fff;border:1px solid #dfe7e2;border-radius:9px;padding:6px 8px}
.gps-sync-value{font-weight:950}.gps-sync-value.ok{color:#166534}.gps-sync-value.pending{color:#1d4ed8}.gps-sync-value.warn{color:#8a5500}.gps-sync-value.offline{color:#a20f16}
.gps-recovery-notice{margin-top:9px;padding:9px 10px;border-radius:9px;background:#fff4d6;border:1px solid #efd79e;color:#6f4b00;font-size:12px;line-height:1.35;font-weight:750}
@media(max-width:600px){.gps-sync-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gps-sync-row>span:last-child{grid-column:1/-1}.driver-version-line{font-size:10px}.connectivity-chip{font-size:9px}}


/* v1.16 Cartrack vehicle sync -------------------------------------------- */
.cartrack-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 8px}
.cartrack-link-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:360px}
.cartrack-link-controls .mini-select{min-width:190px;max-width:260px;padding:7px 9px}
.cartrack-table td{vertical-align:middle}
.cartrack-last-sync{font-size:clamp(.8rem,1.2vw,1.05rem)!important;line-height:1.2;word-break:break-word}
@media (max-width:900px){.cartrack-link-controls{min-width:260px}.cartrack-link-controls .mini-select{min-width:160px}}


/* =====================================================================
   v1.17 — Reception Kiosk Pro
   Live who's-in panel, one-action clocking, staff tiles, connection status,
   roll call, wake-lock friendly layout and safer retry UX.
   ===================================================================== */
.kiosk17-body{background:#eef1f4}
.kiosk17-brand{gap:10px}
.kiosk17-header-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.kiosk17-version{font-size:.75rem;font-weight:900;color:#6d7580;border:1px solid #dce1e6;border-radius:999px;padding:6px 9px;background:#fff}
.kiosk17-connection{font-size:.72rem;font-weight:950;letter-spacing:.03em;border-radius:999px;padding:7px 10px;white-space:nowrap}
.kiosk17-connection.checking{background:#eef1f4;color:#555}
.kiosk17-connection.online{background:#e4f7eb;color:#087235}
.kiosk17-connection.offline{background:#fde7e9;color:#a30c14}
.kiosk17-header-btn,.kiosk17-retry{border:1px solid #d6dce2;background:#fff;color:var(--charcoal);border-radius:9px;min-height:38px;padding:0 12px;font-weight:900;cursor:pointer}
.kiosk17-header-btn:hover,.kiosk17-retry:hover{border-color:var(--red);color:var(--red)}
.kiosk17-content{width:min(1440px,98vw);margin:10px auto 12px!important}
.kiosk17-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(330px,.78fr);gap:10px;min-height:0}
.kiosk17-right-column{display:grid;grid-template-rows:minmax(0,1.1fr) minmax(170px,.9fr);gap:10px;min-height:0}
.kiosk17-clock-card,.kiosk17-camera-card-wrap,.kiosk17-whos-in-card{min-height:0}
.kiosk17-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kiosk17-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:950;letter-spacing:.03em;white-space:nowrap}
.kiosk17-chip.good{background:#e4f7eb;color:#087235}
.kiosk17-chip.bad{background:#fde7e9;color:#a30c14}
.kiosk17-chip.neutral{background:#eef1f4;color:#4d5660}
.kiosk17-clock-panel{position:relative;display:flex!important;flex-direction:column;gap:10px!important;justify-content:flex-start!important;height:100%;min-height:0}
.kiosk17-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.kiosk17-topline h1{font-size:1.55rem;margin-top:2px}
.kiosk17-time-block{text-align:right;min-width:180px}
.kiosk17-time-block .clock{font-size:2.6rem}
.kiosk17-time-block .date-line{font-size:.72rem}
.kiosk17-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.kiosk17-metrics>div{border:1px solid #e0e4e8;border-radius:10px;background:#fafbfc;padding:8px 9px;display:flex;flex-direction:column;min-width:0}
.kiosk17-metrics strong{font-size:1.25rem;line-height:1;color:var(--charcoal)}
.kiosk17-metrics span{margin-top:4px;font-size:.62rem;font-weight:850;color:#67717d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk17-section-title{font-size:.64rem;font-weight:950;letter-spacing:.07em;color:#5a626d}
.kiosk17-staff-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:0;max-height:185px;overflow-y:auto;padding-right:2px}
.kiosk17-staff-tile{appearance:none;border:1px solid #dfe3e8;background:#fff;border-radius:10px;padding:7px 8px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left;cursor:pointer;min-height:48px}
.kiosk17-staff-tile:hover{border-color:#b9c0c8}
.kiosk17-staff-tile.selected{border-color:var(--red);box-shadow:0 0 0 2px rgba(237,28,36,.10);background:#fff7f7}
.kiosk17-tile-avatar,.kiosk17-avatar,.kiosk17-who-avatar{border-radius:50%;display:grid;place-items:center;background:var(--charcoal);color:#fff;font-weight:950}
.kiosk17-tile-avatar{width:34px;height:34px;font-size:.68rem}
.kiosk17-tile-copy{display:flex;flex-direction:column;min-width:0}
.kiosk17-tile-copy strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk17-tile-copy small{font-size:.56rem;color:#747d88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.kiosk17-tile-status{font-size:.55rem;font-weight:950;border-radius:999px;padding:4px 6px}
.kiosk17-tile-status.good{background:#e5f8ec;color:#0b7336}
.kiosk17-tile-status.neutral{background:#edf0f3;color:#5b6470}
.kiosk17-selected{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #dce1e6;border-radius:11px;background:#f7f8fa;padding:7px 9px}
.kiosk17-avatar{width:42px;height:42px;font-size:.78rem}
.kiosk17-selected-copy{display:flex;flex-direction:column;min-width:0}
.kiosk17-selected-copy strong{font-size:.8rem}
.kiosk17-selected-copy span{font-size:.61rem;color:#6d7580;margin-top:2px}
.kiosk17-clear-btn{border:1px solid #d5dbe1;background:#fff;border-radius:8px;height:32px;font-size:.58rem;font-weight:900;cursor:pointer;padding:0 9px}
.kiosk17-pin-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:9px;align-items:end}
.kiosk17-pin-field label{margin:0 0 4px!important}
.kiosk17-main-action{width:100%;min-height:42px!important;height:42px!important}
.kiosk17-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.kiosk17-status-row .status{margin:0!important}
.kiosk17-retry{height:36px;white-space:nowrap;background:#fff5df;color:#7a4c00;border-color:#e3c98b}
.kiosk17-camera-panel{height:100%;min-height:0;padding:8px!important}
.kiosk17-camera-card{height:100%;min-height:0!important;max-height:none!important}
.kiosk17-camera-card video{height:100%;min-height:0!important}
.kiosk17-who-panel{height:100%;min-height:0;padding:8px 10px!important}
.kiosk17-who-list{display:grid;gap:5px;max-height:100%;overflow-y:auto}
.kiosk17-who-row{display:grid;grid-template-columns:32px minmax(0,1fr) 10px;gap:7px;align-items:center;border-bottom:1px solid #edf0f2;padding:4px 2px 6px}
.kiosk17-who-row:last-child{border-bottom:0}
.kiosk17-who-avatar{width:32px;height:32px;font-size:.62rem}
.kiosk17-who-copy{display:flex;flex-direction:column;min-width:0}
.kiosk17-who-copy strong{font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk17-who-copy small{font-size:.55rem;color:#727b86;margin-top:2px}
.kiosk17-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.kiosk17-loading,.kiosk17-empty{font-size:.7rem;color:#737c87;padding:8px}
.kiosk17-success-view{max-width:720px;margin:0 auto}
.kiosk17-success{padding:24px!important}
.kiosk17-success-time{font-size:2rem;font-weight:950;margin-top:12px}
.kiosk17-auto-return{margin:10px 0;color:#6c7580;font-size:.8rem;font-weight:800}
.kiosk17-success #done{margin-top:8px;min-width:200px}
.kiosk17-modal{position:fixed;inset:0;background:rgba(20,22,25,.72);z-index:3000;display:grid;place-items:center;padding:18px}
.kiosk17-modal-card{width:min(760px,95vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.35)}
.kiosk17-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kiosk17-modal-head h2{margin-top:4px}
.kiosk17-modal-close{width:42px;height:42px;border:0;border-radius:50%;background:var(--charcoal);color:#fff;font-size:24px;cursor:pointer}
.kiosk17-roll-list{display:grid;gap:5px;margin-top:14px}
.kiosk17-roll-row{display:grid;grid-template-columns:34px minmax(0,1fr) 90px;gap:9px;align-items:center;border:1px solid #e0e4e8;border-radius:10px;padding:9px 10px}
.kiosk17-roll-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef1f4;font-weight:950}
.kiosk17-roll-row>span:nth-child(2){display:flex;flex-direction:column}
.kiosk17-roll-row small{color:#6e7782;margin-top:2px}
.kiosk17-roll-row>span:last-child{text-align:right;font-weight:900}
.kiosk17-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}

/* Keep the keypad close to the PIN field on the wider v1.17 left panel. */
.kiosk17-body .kiosk17-pin-keypad{right:10px;top:auto;bottom:60px;width:170px;z-index:20}

/* Reception tablet landscape: use the whole PWA viewport without page scroll. */
@media (orientation:landscape) and (min-width:560px){
  .kiosk17-body .kiosk17-content{height:calc(var(--kiosk-height) - 62px)!important;max-height:calc(var(--kiosk-height) - 62px)!important;overflow:hidden!important}
  .kiosk17-body .kiosk17-grid{height:100%!important}
  .kiosk17-body .kiosk17-clock-card,
  .kiosk17-body .kiosk17-right-column,
  .kiosk17-body .kiosk17-camera-card-wrap,
  .kiosk17-body .kiosk17-whos-in-card{height:100%;min-height:0}
}

/* Honor Pad / short Android landscape */
@media (orientation:landscape) and (min-width:560px) and (max-height:650px){
  .kiosk17-body .kiosk17-content{height:calc(var(--kiosk-height) - 44px)!important;max-height:calc(var(--kiosk-height) - 44px)!important;margin:3px auto!important}
  .kiosk17-body .kiosk17-grid{gap:6px!important;grid-template-columns:minmax(0,1.48fr) minmax(300px,.72fr)}
  .kiosk17-body .kiosk17-right-column{gap:6px!important;grid-template-rows:minmax(0,1.06fr) minmax(145px,.94fr)}
  .kiosk17-body .kiosk17-clock-panel{padding:6px 8px!important;gap:5px!important;justify-content:flex-start!important}
  .kiosk17-body .kiosk17-card-head{padding:4px 8px!important;min-height:24px!important;font-size:.62rem!important}
  .kiosk17-body .kiosk17-topline h1{font-size:1.05rem!important}
  .kiosk17-body .kiosk17-time-block .clock{font-size:1.8rem!important}
  .kiosk17-body .kiosk17-time-block .date-line{font-size:.53rem!important}
  .kiosk17-body .kiosk17-metrics{gap:4px}
  .kiosk17-body .kiosk17-metrics>div{padding:5px 6px;border-radius:7px}
  .kiosk17-body .kiosk17-metrics strong{font-size:.9rem}
  .kiosk17-body .kiosk17-metrics span{font-size:.48rem;margin-top:2px}
  .kiosk17-body .kiosk17-section-title{font-size:.52rem}
  .kiosk17-body .kiosk17-staff-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:128px}
  .kiosk17-body .kiosk17-staff-tile{grid-template-columns:27px minmax(0,1fr) auto;min-height:37px;padding:4px 5px;border-radius:7px;gap:5px}
  .kiosk17-body .kiosk17-tile-avatar{width:27px;height:27px;font-size:.55rem}
  .kiosk17-body .kiosk17-tile-copy strong{font-size:.59rem}
  .kiosk17-body .kiosk17-tile-copy small{font-size:.45rem}
  .kiosk17-body .kiosk17-tile-status{font-size:.44rem;padding:3px 5px}
  .kiosk17-body .kiosk17-selected{grid-template-columns:32px minmax(0,1fr) auto;padding:4px 6px;border-radius:7px}
  .kiosk17-body .kiosk17-avatar{width:32px;height:32px;font-size:.6rem}
  .kiosk17-body .kiosk17-selected-copy strong{font-size:.63rem}
  .kiosk17-body .kiosk17-selected-copy span{font-size:.48rem;margin-top:1px}
  .kiosk17-body .kiosk17-clear-btn{height:26px;font-size:.48rem}
  .kiosk17-body .kiosk17-pin-row{gap:5px}
  .kiosk17-body .kiosk17-pin-row .field{height:34px!important;min-height:34px!important}
  .kiosk17-body .kiosk17-main-action{height:34px!important;min-height:34px!important;font-size:.65rem!important}
  .kiosk17-body .kiosk17-status-row{gap:5px}
  .kiosk17-body .kiosk17-status-row .status{min-height:24px!important;font-size:.53rem!important;padding:4px 6px!important}
  .kiosk17-body .kiosk17-retry{height:28px;font-size:.5rem;padding:0 7px}
  .kiosk17-body .kiosk17-camera-panel,.kiosk17-body .kiosk17-who-panel{padding:5px!important}
  .kiosk17-body .kiosk17-who-row{grid-template-columns:26px minmax(0,1fr) 8px;gap:5px;padding:3px 1px 4px}
  .kiosk17-body .kiosk17-who-avatar{width:26px;height:26px;font-size:.5rem}
  .kiosk17-body .kiosk17-who-copy strong{font-size:.57rem}
  .kiosk17-body .kiosk17-who-copy small{font-size:.45rem}
  .kiosk17-body .kiosk17-header-right{gap:4px}
  .kiosk17-body .kiosk17-version{display:none}
  .kiosk17-body .kiosk17-connection{font-size:.52rem;padding:5px 7px}
  .kiosk17-body .kiosk17-header-btn{min-height:28px;height:28px;font-size:.52rem;padding:0 7px}
  .kiosk17-body .install-app-btn{min-height:28px!important;height:28px!important;font-size:.5rem!important;padding:0 7px!important}
  .kiosk17-body .kiosk17-pin-keypad{bottom:42px;width:150px;padding:5px!important}
}

/* Very short landscape viewports */
@media (orientation:landscape) and (min-width:560px) and (max-height:560px){
  .kiosk17-body .kiosk17-content{height:calc(var(--kiosk-height) - 38px)!important;max-height:calc(var(--kiosk-height) - 38px)!important}
  .kiosk17-body .kiosk17-staff-tiles{max-height:100px}
  .kiosk17-body .kiosk17-right-column{grid-template-rows:minmax(0,1fr) minmax(120px,.8fr)}
  .kiosk17-body .kiosk17-metrics span{display:none}
  .kiosk17-body .kiosk17-metrics>div{align-items:center}
  .kiosk17-body .kiosk17-selected-copy #selectedLast{display:none}
}

/* Portrait fallback */
@media (orientation:portrait), (max-width:720px){
  .kiosk17-body{overflow-y:auto!important;height:auto!important;max-height:none!important}
  .kiosk17-body .app-shell{height:auto!important;max-height:none!important;overflow:visible!important}
  .kiosk17-header-right .red-block{display:none}
  .kiosk17-header-right{flex-wrap:wrap}
  .kiosk17-content{height:auto!important;max-height:none!important;overflow:visible!important}
  .kiosk17-grid{grid-template-columns:1fr}
  .kiosk17-right-column{grid-template-rows:auto auto}
  .kiosk17-staff-tiles{grid-template-columns:repeat(2,minmax(0,1fr));max-height:340px}
  .kiosk17-pin-row{grid-template-columns:1fr}
  .kiosk17-status-row{grid-template-columns:1fr}
  .kiosk17-time-block{text-align:left}
  .kiosk17-body .kiosk17-pin-keypad{position:fixed!important;left:50%!important;right:auto!important;bottom:16px!important;top:auto!important;transform:translateX(-50%);width:min(320px,92vw)!important}
}

/* -------------------------------------------------------------------------
   v1.17.4 — Linked Vehicles Only + Custom Names
   Large touch controls, per-trip vehicle choice and automatic day switching.
   ------------------------------------------------------------------------- */
.travel17-summary-card{background:#f0f3f7;border:1px solid #dfe4ea;border-radius:16px;padding:14px 16px;margin-bottom:14px;box-shadow:0 4px 12px rgba(20,31,44,.05)}
.travel17-summary-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;color:#172238;margin-bottom:10px}.travel17-track-badge{font-size:.68rem;letter-spacing:.04em;background:#e9f8ef;color:#08783c;border:1px solid #bce8cb;border-radius:999px;padding:6px 9px;white-space:nowrap}
.travel17-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.travel17-summary-grid>div{text-align:center;background:#fff;border:1px solid #e2e7ed;border-radius:12px;padding:10px 5px}.travel17-summary-grid strong{display:block;font-size:1.55rem;line-height:1;color:#172238}.travel17-summary-grid span{display:block;margin-top:5px;font-size:.72rem;color:#66717f;font-weight:800;text-transform:uppercase}
.travel17-card{overflow:hidden}.travel17-start-panel{display:grid;gap:13px}.travel17-step{background:#f8fafc;border:1px solid #dfe5ec;border-radius:15px;padding:13px}.travel17-step-title{display:flex;align-items:center;gap:9px;font-size:1.06rem;font-weight:950;color:#172238;margin-bottom:9px}.travel17-step-no{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#172238;color:#fff;font-size:.82rem;flex:0 0 auto}.travel17-select{font-size:1.02rem!important;font-weight:800!important;min-height:58px!important;background:#fff}.travel17-hint{font-size:.76rem;color:#637080;margin-top:7px;line-height:1.3}
.travel17-reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.travel17-reason-btn{appearance:none;border:2px solid #dde3ea;background:#fff;border-radius:14px;min-height:92px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#172238;font:inherit;font-weight:900;cursor:pointer;line-height:1.13}.travel17-reason-btn.active{border-color:#ed1c24;background:#fff4f4;box-shadow:0 0 0 2px rgba(237,28,36,.08)}.travel17-reason-icon{font-size:1.25rem;color:#172238;letter-spacing:-.08em}
.travel17-primary-start,.travel17-primary-end{appearance:none;border:0;border-radius:16px;min-height:78px;width:100%;padding:12px 16px;color:#fff;display:flex;align-items:center;justify-content:center;gap:13px;font:inherit;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.13)}.travel17-primary-start{background:#159947}.travel17-primary-start:active{background:#0e7d39}.travel17-primary-end{background:#ed1c24;margin-top:14px}.travel17-primary-end:active{background:#c9151c}.travel17-primary-start strong,.travel17-primary-end strong{display:block;font-size:1.35rem;line-height:1.1}.travel17-primary-start small,.travel17-primary-end small{display:block;font-size:.75rem;font-weight:700;margin-top:3px;opacity:.9}.travel17-play{font-size:1.55rem}.travel17-help{text-align:center;color:#6b7582;font-size:.74rem;line-height:1.35}
.travel17-active-card{overflow:hidden}.travel17-active-banner{background:#159947;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}.travel17-active-banner .gps-pulse{background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.18)}.travel17-active-banner strong{display:block;font-size:1.05rem}.travel17-active-banner small{display:block;margin-top:2px;opacity:.9}.travel17-active-panel{display:grid;gap:13px}
.travel17-distance-ring{width:190px;height:190px;margin:2px auto 0;border-radius:50%;background:conic-gradient(#159947 0 72%,#e6ebf0 72% 100%);display:grid;place-items:center;position:relative}.travel17-distance-ring:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.travel17-distance-ring>div{z-index:1;text-align:center}.travel17-distance-ring strong{font-size:2.65rem;line-height:1;color:#172238}.travel17-distance-ring span{font-size:1.2rem;font-weight:900;color:#172238;margin-left:3px}.travel17-distance-ring small{display:block;color:#687482;font-weight:700;margin-top:4px}
.travel17-live-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.travel17-live-stats>div,.travel17-trip-details>div{background:#f5f7fa;border:1px solid #e2e6eb;border-radius:12px;padding:11px}.travel17-live-stats span,.travel17-trip-details span{display:block;font-size:.7rem;text-transform:uppercase;color:#697583;font-weight:850;margin-bottom:4px}.travel17-live-stats strong{font-size:1.05rem;color:#172238}.travel17-trip-details{display:grid;grid-template-columns:1fr 1fr;gap:9px}.travel17-trip-details strong{font-size:.88rem;line-height:1.25;color:#172238;overflow-wrap:anywhere}.travel17-gps-panel{margin:0!important}.travel17-note-label{margin-top:0!important}
.travel17-history-card{margin-top:14px!important}.travel17-complete-modal{max-width:430px;text-align:center;padding:24px}.travel17-complete-check{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#159947;color:#fff;font-size:2.7rem;font-weight:950}.travel17-complete-modal h2{font-size:1.7rem;margin:0 0 4px}.travel17-complete-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.travel17-complete-summary>div{background:#f5f7fa;border:1px solid #e1e6ec;border-radius:12px;padding:10px;text-align:left}.travel17-complete-summary span{display:block;font-size:.68rem;color:#6a7582;text-transform:uppercase;font-weight:850}.travel17-complete-summary strong{display:block;margin-top:4px;color:#172238;overflow-wrap:anywhere}.travel17-complete-modal .btn-secondary{margin-top:9px;min-height:54px}
@media(max-width:520px){.travel17-summary-card{padding:11px}.travel17-summary-grid strong{font-size:1.35rem}.travel17-step{padding:11px}.travel17-reason-btn{min-height:84px}.travel17-primary-start,.travel17-primary-end{min-height:72px}.travel17-primary-start strong,.travel17-primary-end strong{font-size:1.2rem}.travel17-distance-ring{width:168px;height:168px}.travel17-distance-ring strong{font-size:2.3rem}.travel17-trip-details{grid-template-columns:1fr}.travel17-complete-summary{grid-template-columns:1fr 1fr}}
.field-help{font-size:.82rem;color:#6b7280;margin-top:5px;line-height:1.25}


/* v1.17.5 — driver end-day controls */
.travel17-endday-card{margin-top:14px!important;overflow:hidden}.travel17-endday-hint{background:#f5f7fa;border:1px solid #e2e6eb;border-radius:12px;padding:11px 12px;color:#5f6b78;font-size:.82rem;font-weight:750;line-height:1.35;margin-bottom:12px}.travel17-endday-btn{width:100%;min-height:60px;background:#2d3035!important;color:#fff!important;font-size:1.08rem!important;font-weight:950!important;border-radius:14px!important}.travel17-endday-btn:disabled{opacity:.55;cursor:not-allowed}.travel17-day-ended{margin-top:14px!important;border:2px solid #bce8cb!important;background:#effaf3!important}.travel17-day-ended .panel{display:flex;align-items:center;gap:12px}.travel17-day-ended-icon{width:46px;height:46px;border-radius:50%;background:#159947;color:#fff;display:grid;place-items:center;font-size:1.6rem;font-weight:950;flex:0 0 auto}.travel17-day-ended strong{display:block;color:#0b6f37;font-size:1.03rem}.travel17-day-ended span{display:block;margin-top:3px;color:#53635b;font-size:.82rem;line-height:1.35}

/* =====================================================================
   v1.18 — Unified Modern UI
   Shared visual language across Admin, Reception Tablet and Driver PWA.
   Presentation-only: no workflow or database behaviour changes.
   ===================================================================== */
:root{
  --ui18-navy:#14213d;
  --ui18-ink:#172238;
  --ui18-blue:#1677ff;
  --ui18-green:#18a957;
  --ui18-red:#ed1c24;
  --ui18-bg:#f2f5f8;
  --ui18-soft:#f7f9fb;
  --ui18-line:#e0e6ed;
  --ui18-shadow:0 5px 18px rgba(20,33,61,.07);
}
body.ui18{background:var(--ui18-bg);color:var(--ui18-ink)}
body.ui18 .brand-bar{background:#fff;border-bottom:3px solid var(--ui18-red);box-shadow:0 2px 10px rgba(20,33,61,.05)}
body.ui18 .brand-bar img{filter:none}
body.ui18 .red-block{height:52px;border-radius:0 0 0 12px;clip-path:none;width:110px}
body.ui18 .card{border:1px solid var(--ui18-line);border-radius:15px;box-shadow:var(--ui18-shadow);background:#fff}
body.ui18 .card-head{background:#2b2f34;color:#fff;min-height:52px;display:flex;align-items:center;gap:10px;padding:13px 17px;font-size:.95rem;letter-spacing:.01em}
body.ui18 .card-head>.ui-icon-wrap{color:#fff}
body.ui18 .panel{background:#fff}
body.ui18 .field{border:1px solid #d7dee7;background:#fff;border-radius:12px;box-shadow:inset 0 1px 0 rgba(20,33,61,.02)}
body.ui18 .field:focus{border-color:var(--ui18-blue);box-shadow:0 0 0 3px rgba(22,119,255,.11)}
body.ui18 .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;box-shadow:none}
body.ui18 .btn-in{background:var(--ui18-red)}
body.ui18 .btn-secondary{background:#f4f7fa;border-color:#dbe2ea;color:var(--ui18-ink)}
body.ui18 .status{border:1px solid #e0e6ed;background:#f6f8fa}
body.ui18 .status.ok{border-color:#ccebd8;background:#eefaf2;color:#0b7138}
body.ui18 .status.err{border-color:#f3c8cc;background:#fff0f1;color:#a20c14}
body.ui18 .status.warn{border-color:#f0dfae;background:#fff9e8;color:#7b5600}

/* Shared line icons */
.ui-icon-wrap{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;color:currentColor}
.ui-icon{width:20px;height:20px;display:block}
button .ui-icon-wrap,.table-btn .ui-icon-wrap{width:18px;height:18px}.table-btn .ui-icon{width:16px;height:16px}
.ui18 .admin-nav-btn{display:flex;align-items:center;gap:11px}
.ui18 .driver-tab{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important}
.ui18 .driver-tab .ui-icon-wrap{width:21px;height:21px}.ui18 .driver-tab .ui-icon{width:20px;height:20px}
.ui18 .travel17-step-title .ui-icon-wrap{display:none}

/* Admin — cleaner icon-led left rail and cards */
body.ui18 .admin-content{width:min(1560px,98vw);margin-top:18px}
body.ui18 .admin-layout{grid-template-columns:280px minmax(0,1fr);gap:20px}
body.ui18 .admin-sidebar{border-radius:16px;overflow:hidden;box-shadow:var(--ui18-shadow)}
body.ui18 .admin-sidebar .card-head{background:#25292e;font-size:1rem}
body.ui18 .admin-nav{padding:11px;gap:6px;background:#fff}
body.ui18 .admin-nav-btn{min-height:48px;border:1px solid transparent;border-radius:11px;background:#f7f9fb;color:#2f3743;font-weight:850;padding:0 13px;text-decoration:none}
body.ui18 .admin-nav-btn:hover{background:#eef3f8;border-color:#e0e6ed}
body.ui18 .admin-nav-btn.active{background:var(--ui18-red);color:#fff;border-color:var(--ui18-red);box-shadow:0 4px 11px rgba(237,28,36,.18)}
body.ui18 .admin-side-links{background:#fff;border-top:1px solid var(--ui18-line);padding-top:11px}
body.ui18 .admin-topline h1{font-size:2rem;letter-spacing:-.02em}
body.ui18 .user-chip{box-shadow:0 3px 12px rgba(20,33,61,.05);border-radius:13px}
body.ui18 .metric-card{position:relative;min-height:108px;padding:16px 16px 14px;border:1px solid var(--ui18-line);box-shadow:0 3px 12px rgba(20,33,61,.04);overflow:hidden}
body.ui18 .metric-card>.ui-icon-wrap{position:absolute;right:13px;top:13px;width:34px;height:34px;border-radius:10px;background:#eef3f8;color:#607087}
body.ui18 .metric-card>.ui-icon-wrap .ui-icon{width:18px;height:18px}
body.ui18 .metric-card.positive>.ui-icon-wrap{background:#eaf8ef;color:#0d843f}
body.ui18 .metric-card.alert>.ui-icon-wrap{background:#fff0f1;color:#c11c25}
body.ui18 .data-table th{background:#f4f7fa;color:#5b6675;border-bottom:1px solid var(--ui18-line)}
body.ui18 .data-table td{border-top:1px solid #e8edf2}
body.ui18 .data-table tr:hover td{background:#f8fafc}
body.ui18 .table-btn{display:inline-flex;align-items:center;gap:6px;border-radius:9px;background:#fff}
body.ui18 .table-btn.primary{background:var(--ui18-red)}

/* Driver — visual language from the supplied reference */
body.ui18.driver-page{background:#f2f5f8}
body.ui18.driver-page .brand-bar{min-height:48px;padding:5px 10px}
body.ui18.driver-page .brand-bar img{max-height:42px;width:min(176px,55vw)}
body.ui18.driver-page .brand-bar .red-block{height:30px;width:52px;border-radius:0 0 0 9px}
body.ui18.driver-page .driver-header-line{background:transparent;margin-bottom:10px}
body.ui18.driver-page .driver-header-line h1{font-size:1.75rem;letter-spacing:-.025em}
body.ui18.driver-page .travel17-summary-card{background:#eef3f8;border:1px solid #dfe6ee;box-shadow:none}
body.ui18.driver-page .travel17-summary-title:before{content:"";width:22px;height:22px;display:inline-block;vertical-align:middle;margin-right:7px;background:var(--ui18-ink);mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 19V9M10 19V5M16 19v-7M22 19H2"/%3E%3C/svg%3E') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 19V9M10 19V5M16 19v-7M22 19H2"/%3E%3C/svg%3E') center/contain no-repeat}
body.ui18.driver-page .travel17-summary-title{justify-content:flex-start}
body.ui18.driver-page .travel17-summary-title .travel17-track-badge{margin-left:auto}
body.ui18.driver-page .travel17-step{background:#fff;border:1px solid #dfe6ee;box-shadow:0 2px 8px rgba(20,33,61,.035)}
body.ui18.driver-page .travel17-step-no{background:#eef3f8;color:var(--ui18-ink);border:1px solid #dfe6ee;font-size:.76rem}
body.ui18.driver-page .travel17-reason-btn{border:1px solid #dfe6ee;background:#f8fafc;box-shadow:none}
body.ui18.driver-page .travel17-reason-btn.active{border:2px solid var(--ui18-blue);background:#f0f6ff;box-shadow:0 0 0 2px rgba(22,119,255,.08)}
body.ui18.driver-page .travel17-reason-icon{font-size:1rem;letter-spacing:0;color:#21324a}
body.ui18.driver-page .travel17-primary-start{background:var(--ui18-green);border-radius:12px;min-height:68px;box-shadow:0 5px 13px rgba(24,169,87,.18)}
body.ui18.driver-page .travel17-primary-end{background:var(--ui18-red);border-radius:12px;min-height:68px;box-shadow:0 5px 13px rgba(237,28,36,.16)}
body.ui18.driver-page .travel17-active-banner{background:var(--ui18-green)}
body.ui18.driver-page .travel17-live-stats>div,body.ui18.driver-page .travel17-trip-details>div{background:#f5f8fb;border-color:#dfe6ee}
body.ui18.driver-page .travel17-distance-ring{background:conic-gradient(var(--ui18-green) 0 72%,#e5ebf1 72% 100%)}
body.ui18.driver-page .travel17-endday-btn{background:#334155!important}
body.ui18.driver-page .driver-tabs{padding:6px 5px calc(6px + env(safe-area-inset-bottom));gap:3px;box-shadow:0 -6px 20px rgba(20,33,61,.10);border-top:1px solid #dfe6ee}
body.ui18.driver-page .driver-tabs .pill{min-height:56px;border-radius:10px;background:#fff;color:#263447;font-size:.68rem;font-weight:850;padding:4px 2px}
body.ui18.driver-page .driver-tabs .pill.active{background:#eef5ff;color:#0b67d1;border:1px solid #cfe1fb;box-shadow:none}
body.ui18.driver-page .driver-tabs .pill.active .ui-icon-wrap{color:#0b67d1}
body.ui18.driver-page .driver-tabs .pill:not(.active) .ui-icon-wrap{color:#4c5b6e}
body.ui18.driver-page .card-head{background:#2b2f34}
body.ui18.driver-page .incident-head{background:#8d171c}

/* Reception tablet — same icon/card system, optimized for kiosk clarity */
body.ui18.kiosk17-body{background:#eef2f6}
body.ui18 .kiosk17-card-head{background:#2b2f34}
body.ui18 .kiosk17-metrics>div{position:relative;background:#f7f9fb;border-color:#e0e6ed;border-radius:12px}
body.ui18 .kiosk17-staff-tile{border-radius:12px;border-color:#dde4eb;background:#fff;box-shadow:0 2px 8px rgba(20,33,61,.035)}
body.ui18 .kiosk17-staff-tile.selected{border-color:var(--ui18-blue);box-shadow:0 0 0 2px rgba(22,119,255,.09);background:#f4f8ff}
body.ui18 .kiosk17-main-action{border-radius:12px}
body.ui18 .kiosk17-header-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border-color:#dbe2ea}
body.ui18 .kiosk17-whos-in-card .card-head .ui-icon-wrap{color:#fff}
body.ui18 .kiosk17-who-row{border-radius:10px}
body.ui18 .kiosk17-who-row:hover{background:#f7f9fb}

/* Consistent compact responsive treatment */
@media(max-width:1050px){body.ui18 .admin-layout{grid-template-columns:1fr}body.ui18 .admin-nav{grid-template-columns:repeat(3,1fr)}body.ui18 .admin-nav-btn{justify-content:center}}
@media(max-width:680px){body.ui18 .admin-nav{grid-template-columns:1fr 1fr}body.ui18 .admin-nav-btn{justify-content:flex-start}}
.ui-version-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #dce3ea;border-radius:999px;background:#fff;color:#657284;font-size:.72rem;font-weight:900;white-space:nowrap}

/* =====================================================================
   v1.18.1 — Responsive Unified UI refinement
   Closely follows the approved Dynamic Projects multi-device reference.
   Reception remains fully responsive in BOTH portrait and landscape.
   ===================================================================== */
:root{
  --dp-navy:#11213d;
  --dp-navy-2:#172b4a;
  --dp-red:#ef1b23;
  --dp-green:#16a34a;
  --dp-blue:#1677ff;
  --dp-canvas:#f4f7fa;
  --dp-card:#ffffff;
  --dp-soft:#f4f7fb;
  --dp-line:#dbe3ec;
  --dp-muted:#69778a;
  --dp-radius:16px;
}
body.ui18{background:var(--dp-canvas);color:var(--dp-navy)}
body.ui18 .brand-bar{background:#fff;border-bottom:2px solid #eef1f4;box-shadow:0 2px 10px rgba(17,33,61,.04)}
body.ui18 .brand-bar img{max-height:48px;object-fit:contain}
body.ui18 .card{border:1px solid var(--dp-line);border-radius:var(--dp-radius);box-shadow:0 4px 16px rgba(17,33,61,.055)}
body.ui18 .card-head{background:var(--dp-navy);font-weight:900;letter-spacing:.015em}
body.ui18 .field,body.ui18 select.field{border:1px solid #d6e0ea;background:#fff;border-radius:12px;min-height:48px}
body.ui18 .field:focus{border-color:var(--dp-blue);box-shadow:0 0 0 3px rgba(22,119,255,.10)}
body.ui18 .btn{font-weight:900;letter-spacing:.01em}
body.ui18 .btn-in{background:var(--dp-red)}
body.ui18 .eyebrow{color:var(--dp-red);letter-spacing:.12em;font-weight:950}

/* Driver: explicit SVG icon treatment and reference-style controls */
body.ui18.driver-page .driver-nav-svg,
body.ui18.driver-page .travel17-reason-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
body.ui18.driver-page .travel17-reason-svg{width:30px;height:30px;color:var(--dp-navy)}
body.ui18.driver-page .driver-tabs .pill{color:#48576b}
body.ui18.driver-page .driver-tabs .pill.active{color:#0874ff;background:#eef6ff;border-color:#d5e6ff}
body.ui18.driver-page .driver-tabs .pill.active .driver-nav-svg{color:#0874ff}
body.ui18.driver-page .travel17-reason-btn{background:#fff;border:1px solid #d7e0e9;min-height:104px}
body.ui18.driver-page .travel17-reason-btn.active{border:2px solid var(--dp-red);background:#fff6f6;box-shadow:0 0 0 3px rgba(239,27,35,.07)}
body.ui18.driver-page .travel17-primary-start{background:linear-gradient(135deg,#13a64a,#18bd5b);box-shadow:0 7px 18px rgba(22,163,74,.19)}
body.ui18.driver-page .travel17-primary-end{background:linear-gradient(135deg,#ef1b23,#ff2f35);box-shadow:0 7px 18px rgba(239,27,35,.18)}
body.ui18.driver-page .travel17-step-title{color:var(--dp-navy)}
body.ui18.driver-page .travel17-step-no{background:var(--dp-navy);color:#fff}
body.ui18.driver-page .travel17-summary-card{border-radius:14px;background:#eef3f8}

/* Reception shared design */
body.ui18.kiosk17-body .kiosk17-brand{min-height:64px;padding:8px 18px}
body.ui18.kiosk17-body .kiosk17-content{width:min(1500px,97vw)}
body.ui18.kiosk17-body .kiosk17-card-head{background:var(--dp-navy);min-height:48px;padding:10px 14px;font-size:.86rem}
body.ui18.kiosk17-body .kiosk17-clock-panel{background:#fff}
body.ui18.kiosk17-body .kiosk17-topline h1{font-size:clamp(1.45rem,2.1vw,2.15rem);letter-spacing:-.03em;color:var(--dp-navy)}
body.ui18.kiosk17-body .kiosk17-time-block .clock{color:var(--dp-navy);font-weight:950;letter-spacing:-.04em}
body.ui18.kiosk17-body .kiosk17-metrics>div{background:#f4f7fb;border:1px solid #e0e7ef}
body.ui18.kiosk17-body .kiosk17-staff-tile{border:1px solid #dde5ed;min-height:56px}
body.ui18.kiosk17-body .kiosk17-staff-tile.selected{border:2px solid var(--dp-blue);background:#f5f9ff}
body.ui18.kiosk17-body .kiosk17-main-action{background:linear-gradient(135deg,#13a64a,#18bd5b);color:#fff;min-height:52px!important;height:auto!important}
body.ui18.kiosk17-body .kiosk17-main-action[data-action="OUT"]{background:linear-gradient(135deg,#ef1b23,#ff3038)}
body.ui18.kiosk17-body .kiosk17-camera-card{border-radius:13px;overflow:hidden;background:#edf2f7}
body.ui18.kiosk17-body .kiosk17-who-panel{background:#fff}
body.ui18.kiosk17-body .kiosk17-header-btn{border-radius:10px;color:var(--dp-navy)}
body.ui18.kiosk17-body .kiosk17-connection.online{background:#e9f8ef;color:#08783c;border:1px solid #ccebd8}

/* LANDSCAPE tablet: two-column control + camera/Who's-In layout */
@media (orientation:landscape) and (min-width:700px){
  body.ui18.kiosk17-body{overflow:hidden!important}
  body.ui18.kiosk17-body .kiosk17-content{height:calc(100dvh - 70px)!important;max-height:calc(100dvh - 70px)!important;margin:6px auto!important;overflow:hidden!important}
  body.ui18.kiosk17-body .kiosk17-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.82fr);gap:12px;height:100%}
  body.ui18.kiosk17-body .kiosk17-right-column{grid-template-rows:minmax(260px,1.08fr) minmax(180px,.92fr);gap:12px}
  body.ui18.kiosk17-body .kiosk17-clock-card,
  body.ui18.kiosk17-body .kiosk17-camera-card-wrap,
  body.ui18.kiosk17-body .kiosk17-whos-in-card{height:100%;min-height:0}
  body.ui18.kiosk17-body .kiosk17-clock-panel{padding:12px 14px!important;gap:9px!important}
  body.ui18.kiosk17-body .kiosk17-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  body.ui18.kiosk17-body .kiosk17-staff-tiles{grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(27vh,210px)}
  body.ui18.kiosk17-body .kiosk17-pin-row{grid-template-columns:minmax(0,1fr) minmax(180px,.42fr)}
  body.ui18.kiosk17-body .kiosk17-camera-panel{height:100%;padding:9px!important}
  body.ui18.kiosk17-body .kiosk17-camera-card video{width:100%;height:100%;object-fit:cover}
  body.ui18.kiosk17-body .kiosk17-who-list{max-height:100%}
}

/* PORTRAIT tablet: purpose-built stacked tablet layout, not a squeezed landscape view */
@media (orientation:portrait) and (min-width:600px){
  body.ui18.kiosk17-body{overflow-y:auto!important;height:auto!important;max-height:none!important}
  body.ui18.kiosk17-body .app-shell{height:auto!important;max-height:none!important;overflow:visible!important}
  body.ui18.kiosk17-body .kiosk17-brand{min-height:62px;padding:7px 12px;position:sticky;top:0;z-index:50}
  body.ui18.kiosk17-body .kiosk17-header-right{gap:6px;flex-wrap:nowrap}
  body.ui18.kiosk17-body .kiosk17-header-right .red-block{display:none}
  body.ui18.kiosk17-body .kiosk17-content{height:auto!important;max-height:none!important;overflow:visible!important;margin:10px auto 18px!important;width:min(760px,96vw)}
  body.ui18.kiosk17-body .kiosk17-grid{grid-template-columns:1fr;gap:12px;height:auto!important}
  body.ui18.kiosk17-body .kiosk17-clock-card{order:1;height:auto!important}
  body.ui18.kiosk17-body .kiosk17-right-column{order:2;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:12px;height:auto!important}
  body.ui18.kiosk17-body .kiosk17-camera-card-wrap{order:1;height:auto!important}
  body.ui18.kiosk17-body .kiosk17-whos-in-card{order:2;height:auto!important}
  body.ui18.kiosk17-body .kiosk17-clock-panel{padding:14px!important;gap:12px!important}
  body.ui18.kiosk17-body .kiosk17-topline{align-items:center}
  body.ui18.kiosk17-body .kiosk17-time-block{text-align:right}
  body.ui18.kiosk17-body .kiosk17-time-block .clock{font-size:2.2rem}
  body.ui18.kiosk17-body .kiosk17-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  body.ui18.kiosk17-body .kiosk17-staff-tiles{grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px}
  body.ui18.kiosk17-body .kiosk17-pin-row{grid-template-columns:minmax(0,1fr) minmax(210px,.55fr);align-items:end}
  body.ui18.kiosk17-body .kiosk17-status-row{grid-template-columns:minmax(0,1fr) auto}
  body.ui18.kiosk17-body .kiosk17-camera-panel{height:auto;padding:10px!important}
  body.ui18.kiosk17-body .kiosk17-camera-card{height:min(45vh,420px)!important;min-height:300px!important}
  body.ui18.kiosk17-body .kiosk17-camera-card video{width:100%;height:100%;object-fit:cover}
  body.ui18.kiosk17-body .kiosk17-who-list{max-height:360px}
  body.ui18.kiosk17-body .kiosk17-pin-keypad{position:fixed!important;left:50%!important;right:auto!important;bottom:18px!important;top:auto!important;transform:translateX(-50%);width:min(360px,92vw)!important;z-index:4000!important}
}

/* Small portrait phones are not the target kiosk, but remain usable. */
@media (orientation:portrait) and (max-width:599px){
  body.ui18.kiosk17-body .kiosk17-header-right{gap:4px;flex-wrap:wrap}
  body.ui18.kiosk17-body .kiosk17-version{display:none}
  body.ui18.kiosk17-body .kiosk17-content{width:96vw}
  body.ui18.kiosk17-body .kiosk17-grid{grid-template-columns:1fr}
  body.ui18.kiosk17-body .kiosk17-staff-tiles{grid-template-columns:1fr 1fr}
  body.ui18.kiosk17-body .kiosk17-metrics{grid-template-columns:1fr 1fr}
  body.ui18.kiosk17-body .kiosk17-pin-row{grid-template-columns:1fr}
}

/* Admin: reference-style white workspace + navy rail, preserving existing controls */
body.ui18 .admin-sidebar{background:var(--dp-navy)}
body.ui18 .admin-sidebar .card-head{background:var(--dp-navy)}
body.ui18 .admin-nav{background:var(--dp-navy)}
body.ui18 .admin-nav-btn{background:transparent;color:#e9eef5;border-color:transparent}
body.ui18 .admin-nav-btn:hover{background:rgba(255,255,255,.08);color:#fff;border-color:transparent}
body.ui18 .admin-nav-btn.active{background:var(--dp-blue);color:#fff;border-color:var(--dp-blue);box-shadow:none}
body.ui18 .admin-side-links{background:var(--dp-navy);border-top:1px solid rgba(255,255,255,.12)}
body.ui18 .admin-topline h1{color:var(--dp-navy)}
body.ui18 .metric-card{background:#fff;border-radius:14px}
body.ui18 .data-table{background:#fff}
/* v1.18.1 kiosk action semantics: green Clock In, red Clock Out. */
body.ui18.kiosk17-body .kiosk17-main-action.btn-in{background:linear-gradient(135deg,#13a64a,#18bd5b)!important;color:#fff}
body.ui18.kiosk17-body .kiosk17-main-action.btn-out{background:linear-gradient(135deg,#ef1b23,#ff3038)!important;color:#fff}


/* ========================================================================== */
/* v1.19 — Driver UI Reference Match                                         */
/* ========================================================================== */
body.driver-v119{--v119-navy:#14213d;--v119-ink:#172238;--v119-blue:#087cff;--v119-red:#ed1c24;--v119-green:#18a957;--v119-soft:#f1f5f9;--v119-line:#dfe6ee;--v119-muted:#687482;background:#f4f6f9;color:var(--v119-ink);padding-bottom:92px}
body.driver-v119 .app-shell{max-width:470px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 0 1px rgba(20,33,61,.04)}
body.driver-v119 .brand-bar{height:66px;min-height:66px;background:#fff!important;border-bottom:0!important;padding:9px 18px!important;box-shadow:none!important;display:flex;align-items:center}
body.driver-v119 .brand-bar img{max-height:48px!important;width:min(230px,67vw)!important;object-fit:contain;object-position:left center}
body.driver-v119 .brand-bar .red-block{display:none!important}
body.driver-v119 .content{padding:0 14px 112px!important;max-width:none}
body.driver-v119 #driverApp{padding-top:0}
body.driver-v119 .v119-icon{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
body.driver-v119 .v119-header-line{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 12px;padding:6px 4px 0;background:transparent}
body.driver-v119 .v119-title-block h1{font-size:2rem;line-height:1.04;margin:0;color:var(--v119-navy);letter-spacing:-.035em;font-weight:950}
body.driver-v119 .driver-version-line{display:flex;align-items:center;gap:9px;margin-top:8px;color:#657183;font-weight:800;font-size:.85rem}
body.driver-v119 .connectivity-chip{display:inline-flex;align-items:center;gap:6px;border:0!important;background:transparent!important;padding:0!important;font-size:.83rem;font-weight:900}
body.driver-v119 .connectivity-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.driver-v119 .connectivity-chip.online{color:#159947}.driver-v119 .connectivity-chip.offline{color:#c51e27}.driver-v119 .connectivity-chip.warn{color:#d98500}
body.driver-v119 .v119-menu-btn{width:46px;height:46px;border:0;background:#fff;color:var(--v119-navy);border-radius:12px;display:grid;place-items:center;cursor:pointer}.driver-v119 .v119-menu-btn .v119-icon{width:29px;height:29px;stroke-width:2.4}
body.driver-v119 .v119-account-wrap{position:relative}.driver-v119 .account-popover{right:0;top:51px;min-width:210px;border-radius:14px;border:1px solid var(--v119-line);box-shadow:0 12px 32px rgba(20,33,61,.16);overflow:hidden;background:#fff;z-index:40}.driver-v119 .v119-account-meta{padding:13px 15px;background:#f5f8fb;border-bottom:1px solid var(--v119-line)}.driver-v119 .v119-account-meta strong,.driver-v119 .v119-account-meta span{display:block}.driver-v119 .v119-account-meta span{font-size:.72rem;color:#6b7788;text-transform:uppercase;font-weight:850;margin-top:2px}

body.driver-v119 .v119-today-card{border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#eff4f8,#f7f9fb)!important;padding:14px 16px!important;margin-bottom:14px!important;box-shadow:none!important}.driver-v119 .v119-summary-title{display:flex;align-items:center;gap:9px!important;font-size:1rem;font-weight:950;color:var(--v119-navy)}.driver-v119 .v119-summary-title:before{display:none!important}.driver-v119 .v119-summary-title .v119-icon{width:23px;height:23px}.driver-v119 .travel17-track-badge{margin-left:auto;background:#e8f7ee;color:#0c8240;border-radius:999px;padding:5px 8px;font-size:.58rem;letter-spacing:.02em}.driver-v119 .v119-summary-grid{grid-template-columns:repeat(3,1fr);margin-top:13px}.driver-v119 .v119-summary-grid>div{border-right:1px solid #dfe6ee;text-align:center}.driver-v119 .v119-summary-grid>div:last-child{border-right:0}.driver-v119 .v119-summary-grid strong{font-size:1.42rem;line-height:1;color:var(--v119-navy)}.driver-v119 .v119-summary-grid span{font-size:.72rem;color:#46566d;margin-top:5px}

body.driver-v119 .v119-start-card,body.driver-v119 .v119-active-card{border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important}.driver-v119 .v119-start-panel,.driver-v119 .v119-active-panel{padding:0!important;display:grid;gap:12px}.driver-v119 .v119-step{padding:14px!important;border:1px solid #e2e8ef!important;background:#f8fafc!important;border-radius:15px!important;box-shadow:none!important}.driver-v119 .v119-step-title{display:flex;align-items:center;gap:10px;color:var(--v119-navy);font-size:1rem;font-weight:950;margin-bottom:11px}.driver-v119 .v119-step-title .v119-icon{width:25px;height:25px;stroke-width:2.2}.driver-v119 .travel17-step-no{display:none!important}
body.driver-v119 .v119-select-shell{position:relative;background:#fff;border:1px solid #d9e1ea;border-radius:12px;min-height:58px;display:flex;align-items:center}.driver-v119 .v119-select-shell .travel17-select{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;min-height:58px;padding:8px 43px 8px 49px!important;margin:0!important;font-size:.98rem;font-weight:800;color:var(--v119-ink);width:100%}.driver-v119 .v119-select-leading{position:absolute;left:14px;width:25px;height:25px;color:var(--v119-navy);pointer-events:none}.driver-v119 .v119-select-chevron{position:absolute;right:14px;width:20px;height:20px;color:var(--v119-navy);pointer-events:none}.driver-v119 .v119-hint{font-size:.7rem;margin:7px 3px 0;color:#657184;font-weight:700;line-height:1.3}
body.driver-v119 .v119-reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.driver-v119 .v119-reason-btn{min-height:112px!important;border:1px solid #dce4ed!important;background:#fff!important;border-radius:13px!important;box-shadow:none!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--v119-navy)!important;font-size:.93rem!important;font-weight:900!important}.driver-v119 .v119-reason-btn .v119-icon{width:34px;height:34px;stroke-width:2.2}.driver-v119 .v119-reason-btn.active{border:2px solid var(--v119-red)!important;background:#fff5f5!important;box-shadow:0 0 0 2px rgba(237,28,36,.06)!important}
body.driver-v119 .v119-primary-start,body.driver-v119 .v119-primary-end{border-radius:14px!important;min-height:84px!important;box-shadow:none!important;gap:16px!important}.driver-v119 .v119-primary-start{background:linear-gradient(135deg,#17a757,#159947)!important}.driver-v119 .v119-primary-end{background:linear-gradient(135deg,#f32424,#ed1c24)!important;margin-top:0!important}.driver-v119 .v119-primary-start .v119-icon,.driver-v119 .v119-primary-end .v119-icon{width:34px;height:34px;stroke-width:2.2}.driver-v119 .v119-primary-start strong,.driver-v119 .v119-primary-end strong{font-size:1.4rem!important;letter-spacing:.01em}.driver-v119 .v119-primary-start small,.driver-v119 .v119-primary-end small{font-size:.78rem!important}.driver-v119 .v119-start-help{font-size:.72rem;padding:0 9px;color:#6a7686}

body.driver-v119 .v119-active-title h2{font-size:2rem;margin:0 0 12px 4px;letter-spacing:-.035em;color:var(--v119-navy)}.driver-v119 .v119-tracking-banner{border-radius:13px!important;background:linear-gradient(135deg,#18a957,#20b65f)!important;padding:13px 16px!important;display:grid!important;grid-template-columns:auto 1fr auto;gap:12px!important;margin-bottom:15px}.driver-v119 .v119-tracking-banner>.v119-icon{width:30px;height:30px}.driver-v119 .v119-tracking-banner .v119-banner-car{width:38px;height:38px}.driver-v119 .v119-tracking-banner strong{font-size:1.08rem!important}.driver-v119 .v119-tracking-banner small{font-size:.75rem!important}
body.driver-v119 .v119-gauge-wrap{text-align:center;padding-top:2px}.driver-v119 .v119-distance-ring{width:188px!important;height:188px!important;margin:0 auto!important;background:conic-gradient(var(--v119-green) 0 66%,#e5ebf2 66% 100%)!important;position:relative}.driver-v119 .v119-distance-ring:after{inset:17px!important}.driver-v119 .v119-ring-car{position:absolute;z-index:2;inset:17px;display:grid;place-items:center;color:var(--v119-navy)}.driver-v119 .v119-ring-car .v119-icon{width:68px;height:68px;stroke-width:1.75}.driver-v119 .v119-distance-readout{margin-top:-3px}.driver-v119 .v119-distance-readout strong{font-size:2.9rem;letter-spacing:-.04em;color:var(--v119-navy)}.driver-v119 .v119-distance-readout>span{font-size:1.6rem;font-weight:950;color:var(--v119-navy);margin-left:4px}.driver-v119 .v119-distance-readout small{display:block;color:#566578;font-size:.9rem;margin-top:0}
body.driver-v119 .v119-live-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.driver-v119 .v119-live-stats>div{min-height:105px;background:#f3f6fa!important;border:0!important;border-radius:13px!important;display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:10px;text-align:center;padding:12px!important}.driver-v119 .v119-live-stats .v119-icon{grid-row:1/3;width:31px;height:31px;color:var(--v119-navy);align-self:center}.driver-v119 .v119-live-stats span{font-size:.72rem!important;text-transform:none!important;margin:0!important}.driver-v119 .v119-live-stats strong{font-size:1.15rem!important;margin-top:3px;color:var(--v119-navy)}
body.driver-v119 .v119-route-card{background:#f3f6fa;border-radius:14px;padding:16px 15px;position:relative}.driver-v119 .v119-route-line{display:grid;grid-template-columns:22px 1fr;gap:12px;position:relative;z-index:2}.driver-v119 .v119-route-line small{display:block;font-size:.72rem;color:#5f6e81;font-weight:800}.driver-v119 .v119-route-line strong{display:block;color:var(--v119-navy);font-size:.95rem;margin:2px 0}.driver-v119 .v119-route-line span:not(.v119-route-dot){display:block;color:#394a62;font-size:.79rem}.driver-v119 .v119-route-dot{width:14px;height:14px;border-radius:50%;border:3px solid var(--v119-navy);background:#fff;margin:3px 0 0 4px}.driver-v119 .v119-route-dot.start{background:var(--v119-navy)}.driver-v119 .v119-route-stem{height:36px;width:2px;background:var(--v119-navy);margin:-1px 0 -1px 10px}.driver-v119 .v119-trip-details{grid-template-columns:1fr!important;gap:9px!important}.driver-v119 .v119-trip-details>div{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center;background:#f3f6fa!important;border:0!important;border-radius:13px!important;padding:13px!important}.driver-v119 .v119-trip-details .v119-icon{grid-row:1/3;width:25px;height:25px;color:#53637a}.driver-v119 .v119-trip-details span{font-size:.7rem!important;text-transform:none!important;margin:0!important}.driver-v119 .v119-trip-details strong{font-size:.94rem!important;margin-top:2px}.driver-v119 .v119-gps-panel{border-radius:12px;background:#f8fafc;border:1px dashed #cfd9e4;padding:10px 11px}.driver-v119 .v119-note-label{font-size:.8rem;font-weight:850;color:#445269}

body.driver-v119 .v119-history-card,body.driver-v119 .v119-endday-card{border:1px solid var(--v119-line)!important;border-radius:14px!important;box-shadow:none!important;margin-top:14px!important}.driver-v119 .v119-history-card .card-head,.driver-v119 .v119-endday-card .card-head{display:flex;gap:9px;align-items:center;background:#293039!important;border-radius:13px 13px 0 0}.driver-v119 .v119-history-card .card-head .v119-icon,.driver-v119 .v119-endday-card .card-head .v119-icon{width:21px;height:21px}.driver-v119 .travel17-endday-btn{min-height:58px!important;border-radius:12px!important}

body.driver-v119 .v119-complete-overlay{align-items:flex-start!important;overflow:auto;padding:0!important;background:#fff!important}.driver-v119 .v119-complete-modal{width:100%!important;max-width:470px!important;min-height:100vh;border-radius:0!important;box-shadow:none!important;padding:18px 14px 112px!important;text-align:left!important;background:#fff}.driver-v119 .v119-complete-success{background:linear-gradient(135deg,#e8faef,#f1fff5);border-radius:15px;padding:22px;text-align:center;color:var(--v119-navy)}.driver-v119 .v119-complete-success>.v119-icon{width:74px;height:74px;margin:0 auto 8px;color:var(--v119-green);stroke-width:2.5}.driver-v119 .v119-complete-success h2{margin:0;font-size:1.75rem;letter-spacing:-.03em}.driver-v119 .v119-complete-success p{margin:6px 0 0;color:#3d4d62}.driver-v119 .v119-complete-summary{display:grid!important;grid-template-columns:1fr!important;gap:0!important;background:#f3f6fa;border-radius:15px;padding:9px 15px;margin:16px 0!important}.driver-v119 .v119-complete-summary>div{display:grid!important;grid-template-columns:36px 1fr!important;column-gap:10px;background:transparent!important;border:0!important;border-bottom:1px solid #dfe6ee!important;border-radius:0!important;padding:11px 0!important;text-align:left!important}.driver-v119 .v119-complete-summary>div:last-child{border-bottom:0!important}.driver-v119 .v119-complete-summary .v119-icon{grid-row:1/3;width:25px;height:25px;color:#42546c;align-self:center}.driver-v119 .v119-complete-summary span{font-size:.7rem!important;text-transform:none!important;color:#687789!important}.driver-v119 .v119-complete-summary strong{font-size:.95rem!important;color:var(--v119-navy)!important;margin-top:2px!important}.driver-v119 .v119-next-btn{background:linear-gradient(135deg,#087cff,#056bdc)!important}.driver-v119 .v119-complete-action{width:100%;min-height:70px;margin-top:10px;border:0!important;border-radius:13px!important;background:#edf2f7!important;color:var(--v119-navy)!important;display:flex;align-items:center;gap:14px;justify-content:flex-start;padding:12px 16px!important}.driver-v119 .v119-complete-action .v119-icon{width:31px;height:31px}.driver-v119 .v119-complete-action span{text-align:left}.driver-v119 .v119-complete-action strong{display:block;font-size:1rem}.driver-v119 .v119-complete-action small{display:block;font-size:.72rem;color:#607087;margin-top:2px}

body.driver-v119 .v119-bottom-nav{position:fixed!important;left:50%;transform:translateX(-50%);bottom:0;z-index:80;width:min(470px,100%);height:82px;background:#fff;border-top:1px solid #dde5ee;box-shadow:0 -4px 16px rgba(20,33,61,.08);display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:0!important;padding:5px 5px max(5px,env(safe-area-inset-bottom))!important;margin:0!important;border-radius:0!important}.driver-v119 .v119-bottom-nav .driver-tab{border:0!important;background:transparent!important;border-radius:12px!important;padding:4px 2px!important;min-width:0!important;height:64px!important;color:#6e7988!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px!important;font-size:.65rem!important;font-weight:850!important;line-height:1.05}.driver-v119 .v119-bottom-nav .driver-tab .v119-icon{width:25px;height:25px}.driver-v119 .v119-bottom-nav .driver-tab.active{color:var(--v119-blue)!important;background:#eef6ff!important}.driver-v119 .v119-bottom-nav .driver-tab span{display:block;text-align:center}

body.driver-v119 #driverStatus{margin:12px 0 0;border-radius:12px;font-size:.82rem}
body.driver-v119 .driver-tab-panel:not(#tab-travel)>.card{border-radius:15px!important;border:1px solid var(--v119-line)!important;box-shadow:none!important}.driver-v119 .driver-tab-panel:not(#tab-travel) .card-head{background:#293039!important}.driver-v119 .driver-tab-panel:not(#tab-travel) .btn-in{background:var(--v119-green)!important}.driver-v119 .driver-tab-panel:not(#tab-travel) .field{border-radius:11px;border-color:#d8e0ea}

@media (max-width:380px){body.driver-v119 .content{padding-left:10px!important;padding-right:10px!important}.driver-v119 .v119-title-block h1{font-size:1.8rem}.driver-v119 .v119-reason-btn{min-height:103px!important;font-size:.86rem!important}.driver-v119 .v119-distance-ring{width:170px!important;height:170px!important}.driver-v119 .v119-ring-car .v119-icon{width:58px;height:58px}.driver-v119 .v119-distance-readout strong{font-size:2.5rem}.driver-v119 .v119-bottom-nav .driver-tab{font-size:.59rem!important}}
@media (min-width:700px){body.driver-v119 .app-shell{max-width:540px}.driver-v119 .v119-bottom-nav{width:min(540px,100%)}.driver-v119 .v119-reason-grid{grid-template-columns:repeat(4,1fr)}.driver-v119 .v119-reason-btn{min-height:105px!important}.driver-v119 .v119-complete-modal{max-width:540px!important}}

/* =====================================================================
   v1.20 — Premium Dark Unified UI
   Deep navy / electric blue / red / green visual system across Driver,
   Reception Kiosk and Admin. Presentation-only; existing workflows remain.
   ===================================================================== */
:root{
  --p20-bg:#061522;
  --p20-bg-2:#081c2d;
  --p20-panel:#0b2235;
  --p20-panel-2:#102b42;
  --p20-panel-3:#13354f;
  --p20-line:rgba(137,190,230,.18);
  --p20-line-strong:rgba(71,164,235,.36);
  --p20-text:#f4f8fb;
  --p20-muted:#9db3c5;
  --p20-blue:#168cff;
  --p20-cyan:#39b9ff;
  --p20-red:#f3212d;
  --p20-green:#16c66a;
  --p20-orange:#ff8a22;
  --p20-shadow:0 18px 55px rgba(0,0,0,.30);
  --p20-glow:0 0 0 1px rgba(55,169,255,.15),0 12px 34px rgba(0,73,135,.24);
}

body.premium-dark{
  background:
    radial-gradient(circle at 14% 12%,rgba(21,119,255,.16),transparent 31%),
    radial-gradient(circle at 86% 20%,rgba(243,33,45,.09),transparent 24%),
    radial-gradient(circle at 70% 88%,rgba(22,198,106,.06),transparent 26%),
    linear-gradient(150deg,#04111d 0%,#071827 42%,#092237 100%) fixed!important;
  color:var(--p20-text)!important;
}
body.premium-dark:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.5;
  background:
    linear-gradient(118deg,transparent 0 52%,rgba(83,171,235,.035) 52.2% 52.5%,transparent 52.7%),
    linear-gradient(66deg,transparent 0 68%,rgba(83,171,235,.025) 68.2% 68.5%,transparent 68.7%),
    repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.012) 120px);
}
body.premium-dark .muted{color:var(--p20-muted)!important}
body.premium-dark .eyebrow{color:#63bcff!important;letter-spacing:.14em}
body.premium-dark h1,body.premium-dark h2,body.premium-dark h3{color:var(--p20-text)}

/* Shared dark glass chrome */
body.premium-dark .brand-bar{
  background:linear-gradient(180deg,#081b2c 0%,#061522 100%)!important;
  border-bottom:1px solid rgba(54,164,245,.25)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28)!important;
  position:relative;overflow:hidden;
}
body.premium-dark .brand-bar:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--p20-red),rgba(243,33,45,.2) 26%,var(--p20-blue) 70%,transparent);
}
body.premium-dark .brand-bar img{
  background:#fff;border-radius:10px;padding:5px 8px;box-shadow:0 5px 18px rgba(0,0,0,.18);filter:none!important;
}
body.premium-dark .red-block{background:linear-gradient(135deg,var(--p20-red),#a60c18)!important;opacity:.95}
body.premium-dark .card{
  background:linear-gradient(180deg,rgba(15,43,65,.96),rgba(8,30,47,.98))!important;
  border:1px solid var(--p20-line)!important;border-radius:17px!important;box-shadow:var(--p20-glow)!important;color:var(--p20-text)!important;
}
body.premium-dark .card-head{
  background:linear-gradient(180deg,#112f48,#0a2236)!important;color:#f7fbff!important;
  border-bottom:1px solid var(--p20-line)!important;text-shadow:0 1px 0 #000;
}
body.premium-dark .panel{background:transparent!important;color:var(--p20-text)!important}
body.premium-dark label{color:#dceaf4}
body.premium-dark .field,body.premium-dark select.field,body.premium-dark textarea.field{
  background:#081b2b!important;color:#eef7fd!important;border:1px solid rgba(129,184,224,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.premium-dark .field::placeholder{color:#718fa5}
body.premium-dark .field:focus{border-color:var(--p20-blue)!important;box-shadow:0 0 0 3px rgba(22,140,255,.15)!important}
body.premium-dark select.field option{background:#0a2032;color:#eef7fd}
body.premium-dark .password-toggle{background:#15344b!important;color:#d9ecf8!important;border:1px solid rgba(106,176,225,.18)!important}
body.premium-dark .btn{border-radius:12px!important;transition:.15s ease;box-shadow:0 8px 18px rgba(0,0,0,.16)!important}
body.premium-dark .btn:hover{transform:translateY(-1px)}
body.premium-dark .btn-in{background:linear-gradient(135deg,var(--p20-red),#ca111e)!important;color:#fff!important}
body.premium-dark .btn-secondary{background:linear-gradient(180deg,#163a55,#102b42)!important;color:#eaf6fd!important;border:1px solid var(--p20-line-strong)!important}
body.premium-dark .status{background:#0a2032!important;color:#bed1df!important;border:1px solid var(--p20-line)!important}
body.premium-dark .status.ok{background:rgba(22,198,106,.11)!important;color:#65eca5!important;border-color:rgba(22,198,106,.35)!important}
body.premium-dark .status.err{background:rgba(243,33,45,.12)!important;color:#ff8a91!important;border-color:rgba(243,33,45,.35)!important}
body.premium-dark .status.warn{background:rgba(255,138,34,.11)!important;color:#ffc27b!important;border-color:rgba(255,138,34,.32)!important}
body.premium-dark .text-action-btn{color:#55b7ff!important}
body.premium-dark .modal{background:rgba(0,8,15,.78)!important;backdrop-filter:blur(8px)}
body.premium-dark .modal-card{background:linear-gradient(180deg,#102b42,#081b2b)!important;border:1px solid var(--p20-line-strong)!important;color:var(--p20-text)!important;box-shadow:var(--p20-shadow)!important}
body.premium-dark .modal-close{background:#15354d!important;border:1px solid var(--p20-line)!important}
body.premium-dark .ui-version-badge{background:#102c43!important;color:#74c5ff!important;border:1px solid rgba(64,174,255,.35)!important}

/* Premium login experiences — Driver and Admin */
body.premium-dark .login-wrap{
  max-width:540px!important;margin:clamp(26px,7vh,78px) auto!important;position:relative;overflow:hidden;
  border-color:rgba(61,169,245,.30)!important;box-shadow:0 30px 80px rgba(0,0,0,.36),0 0 55px rgba(20,128,208,.09)!important;
}
body.premium-dark .login-wrap:before{
  content:"";position:absolute;inset:0 0 auto;height:135px;pointer-events:none;
  background:radial-gradient(circle at 75% 0,rgba(33,148,238,.22),transparent 52%),linear-gradient(135deg,rgba(255,255,255,.025),transparent 60%);
}
body.premium-dark .login-wrap .card-head{
  min-height:58px;padding:16px 22px!important;background:linear-gradient(90deg,#0b2b46,#0c2236)!important;color:#fff!important;
}
body.premium-dark .login-wrap .panel{padding:30px 28px 28px!important;position:relative}
body.premium-dark .login-wrap h1{font-size:clamp(2rem,5vw,2.65rem);letter-spacing:-.045em;margin:5px 0 7px}
body.premium-dark .login-wrap .btn-in{min-height:58px;background:linear-gradient(135deg,var(--p20-red),#dd111f)!important;box-shadow:0 12px 28px rgba(243,33,45,.22)!important}
body.premium-dark .login-wrap .status{font-size:.82rem}

/* DRIVER — premium dark mobile app */
body.driver-v119.driver-v120{background:var(--p20-bg)!important;color:var(--p20-text)!important}
body.driver-v119.driver-v120 .app-shell{background:linear-gradient(180deg,#071827 0%,#061522 100%)!important;box-shadow:0 0 0 1px rgba(80,178,244,.12),0 0 55px rgba(0,0,0,.32)!important}
body.driver-v119.driver-v120 .brand-bar{height:70px!important;min-height:70px!important;padding:10px 16px!important}
body.driver-v119.driver-v120 .brand-bar img{max-height:50px!important;width:min(238px,68vw)!important}
body.driver-v119.driver-v120 .content{background:transparent!important}
body.driver-v119.driver-v120 .v119-title-block h1{color:#f6fbff!important;text-shadow:0 2px 18px rgba(23,140,255,.12)}
body.driver-v119.driver-v120 .driver-version-line{color:#8fb0c7!important}
body.driver-v119.driver-v120 .v119-menu-btn{background:#0d2940!important;color:#e6f5ff!important;border:1px solid var(--p20-line)!important;box-shadow:0 7px 18px rgba(0,0,0,.18)}
body.driver-v119.driver-v120 .account-popover{background:#0b2235!important;border-color:var(--p20-line)!important;color:#eaf6fd!important}
body.driver-v119.driver-v120 .account-popover button{color:#d9eaf5!important;border-color:var(--p20-line)!important;background:#0d2940!important}
body.driver-v119.driver-v120 .v119-today-card{
  background:linear-gradient(145deg,#102d45,#0a2134)!important;border:1px solid var(--p20-line)!important;box-shadow:0 10px 25px rgba(0,0,0,.22)!important;
}
body.driver-v119.driver-v120 .v119-summary-title{color:#eaf7ff!important}.driver-v120 .v119-summary-title>.v119-icon{color:#35a8ff!important}
body.driver-v119.driver-v120 .v119-summary-grid>div{border-color:rgba(125,187,229,.14)!important}
body.driver-v119.driver-v120 .v119-summary-grid strong{color:#fff!important}.driver-v120 .v119-summary-grid span{color:#91aabd!important}
body.driver-v119.driver-v120 .v119-start-card{background:transparent!important;border:0!important;box-shadow:none!important}
body.driver-v119.driver-v120 .v119-start-panel{padding:0!important}
body.driver-v119.driver-v120 .v119-step{background:linear-gradient(180deg,#0c263b,#091e30)!important;border:1px solid var(--p20-line)!important;box-shadow:0 9px 22px rgba(0,0,0,.17)!important}
body.driver-v119.driver-v120 .v119-step-title{color:#eef8ff!important}.driver-v120 .v119-step-title .v119-icon{color:#55b8ff!important}
body.driver-v119.driver-v120 .v119-select-shell{background:#071a2a!important;border-color:rgba(111,183,233,.24)!important}
body.driver-v119.driver-v120 .v119-select-shell select{color:#fff!important;background:transparent!important}
body.driver-v119.driver-v120 .v119-select-leading{color:#78c8ff!important}.driver-v120 .v119-select-chevron{color:#9cb8cc!important}
body.driver-v119.driver-v120 .v119-hint{color:#7fa0b7!important}
body.driver-v119.driver-v120 .v119-reason-btn{background:#0a2032!important;color:#e6f4fd!important;border:1px solid rgba(120,188,232,.18)!important;box-shadow:none!important}
body.driver-v119.driver-v120 .v119-reason-btn .v119-icon{color:#65bdff!important}
body.driver-v119.driver-v120 .v119-reason-btn.active{background:linear-gradient(145deg,#113c5c,#0d2f49)!important;border-color:#258dff!important;box-shadow:0 0 0 2px rgba(37,141,255,.12),0 0 22px rgba(37,141,255,.10)!important}
body.driver-v119.driver-v120 .v119-primary-start{background:linear-gradient(135deg,#16c66a,#0ca955)!important;box-shadow:0 12px 30px rgba(22,198,106,.23)!important}
body.driver-v119.driver-v120 .v119-start-help{color:#829fb4!important}
body.driver-v119.driver-v120 .v119-active-title h2{color:#f6fbff!important}
body.driver-v119.driver-v120 .v119-tracking-banner{background:linear-gradient(135deg,#14bf65,#0a9f51)!important;box-shadow:0 12px 26px rgba(22,198,106,.18)}
body.driver-v119.driver-v120 .v119-distance-ring{background:conic-gradient(var(--p20-green) 0 66%,#153147 66% 100%)!important;box-shadow:0 0 42px rgba(22,198,106,.08)}
body.driver-v119.driver-v120 .v119-distance-ring:after{background:#071b2b!important;border:1px solid rgba(72,177,238,.13)}
body.driver-v119.driver-v120 .v119-ring-car,body.driver-v119.driver-v120 .v119-distance-readout strong,body.driver-v119.driver-v120 .v119-distance-readout>span{color:#edf8ff!important}
body.driver-v119.driver-v120 .v119-distance-readout small{color:#8da8bc!important}
body.driver-v119.driver-v120 .v119-live-stats>div,body.driver-v119.driver-v120 .v119-route-card,body.driver-v119.driver-v120 .v119-trip-details>div{background:#0b2438!important;border:1px solid rgba(121,186,228,.13)!important;color:#eaf7ff!important}
body.driver-v119.driver-v120 .v119-live-stats .v119-icon,body.driver-v119.driver-v120 .v119-trip-details .v119-icon{color:#64bdff!important}
body.driver-v119.driver-v120 .v119-live-stats span,body.driver-v119.driver-v120 .v119-route-line small,body.driver-v119.driver-v120 .v119-trip-details span{color:#86a4b9!important}
body.driver-v119.driver-v120 .v119-live-stats strong,body.driver-v119.driver-v120 .v119-route-line strong,body.driver-v119.driver-v120 .v119-trip-details strong{color:#f0f9ff!important}
body.driver-v119.driver-v120 .v119-route-line span:not(.v119-route-dot){color:#a8c0d0!important}
body.driver-v119.driver-v120 .v119-route-dot{border-color:#58b6ff!important;background:#071827!important}.driver-v120 .v119-route-dot.start{background:#168cff!important}
body.driver-v119.driver-v120 .v119-route-stem{background:linear-gradient(#168cff,#6cc6ff)!important}
body.driver-v119.driver-v120 .v119-gps-panel{background:#081e30!important;border-color:rgba(73,166,230,.28)!important;color:#c8dce9!important}
body.driver-v119.driver-v120 .v119-history-card,body.driver-v119.driver-v120 .v119-endday-card{background:#0a2133!important;border-color:var(--p20-line)!important}
body.driver-v119.driver-v120 .v119-history-card .card-head,body.driver-v119.driver-v120 .v119-endday-card .card-head{background:#0d2a40!important}
body.driver-v119.driver-v120 .travel17-endday-hint{background:#0a2032!important;border-color:var(--p20-line)!important;color:#93adbf!important}
body.driver-v119.driver-v120 .travel17-endday-btn{background:linear-gradient(135deg,#17364e,#102a40)!important;border:1px solid var(--p20-line)!important}
body.driver-v119.driver-v120 .v119-complete-overlay{background:#061522!important}
body.driver-v119.driver-v120 .v119-complete-modal{background:linear-gradient(180deg,#071827,#061522)!important;color:#fff!important}
body.driver-v119.driver-v120 .v119-complete-success{background:linear-gradient(145deg,rgba(22,198,106,.18),rgba(22,198,106,.06))!important;border:1px solid rgba(22,198,106,.27);color:#fff!important}
body.driver-v119.driver-v120 .v119-complete-success h2{color:#f6fffa!important}.driver-v120 .v119-complete-success p{color:#9fc7b1!important}
body.driver-v119.driver-v120 .v119-complete-summary{background:#0a2235!important;border:1px solid var(--p20-line)}
body.driver-v119.driver-v120 .v119-complete-summary>div{border-color:rgba(120,184,226,.14)!important}.driver-v120 .v119-complete-summary span{color:#89a6ba!important}.driver-v120 .v119-complete-summary strong{color:#f2f9fd!important}.driver-v120 .v119-complete-summary .v119-icon{color:#61baff!important}
body.driver-v119.driver-v120 .v119-complete-action{background:#0d2940!important;color:#edf7fd!important;border:1px solid var(--p20-line)!important}.driver-v120 .v119-complete-action small{color:#85a5bb!important}
body.driver-v119.driver-v120 .v119-next-btn{background:linear-gradient(135deg,#168cff,#086fd0)!important;color:#fff!important}
body.driver-v119.driver-v120 .v119-bottom-nav{background:rgba(6,21,34,.97)!important;border-top:1px solid rgba(93,173,229,.23)!important;box-shadow:0 -10px 30px rgba(0,0,0,.26)!important;backdrop-filter:blur(12px)}
body.driver-v119.driver-v120 .v119-bottom-nav .driver-tab{color:#7591a6!important}.driver-v120 .v119-bottom-nav .driver-tab.active{color:#5dbbff!important;background:#0e2c44!important}
body.driver-v119.driver-v120 .driver-tab-panel:not(#tab-travel)>.card{background:linear-gradient(180deg,#0b2437,#081d2e)!important;border-color:var(--p20-line)!important}.driver-v120 .driver-tab-panel:not(#tab-travel) .card-head{background:#0d2940!important}.driver-v120 .driver-tab-panel:not(#tab-travel) .btn-in{background:linear-gradient(135deg,#16c66a,#0da753)!important}

/* ADMIN — premium operations console */
body.admin-v120 .admin-content{width:min(1650px,98vw)!important}
body.admin-v120 .admin-layout{grid-template-columns:270px minmax(0,1fr)!important;gap:18px!important}
body.admin-v120 .admin-sidebar{background:linear-gradient(180deg,#0a2337,#071a2a)!important;border-color:var(--p20-line)!important;box-shadow:var(--p20-shadow)!important}
body.admin-v120 .admin-sidebar .card-head{background:#0c2a41!important;color:#fff!important}
body.admin-v120 .admin-nav,body.admin-v120 .admin-side-links{background:transparent!important}
body.admin-v120 .admin-nav-btn{background:transparent!important;color:#abc2d2!important;border:1px solid transparent!important;border-radius:10px!important}
body.admin-v120 .admin-nav-btn:hover{background:#0d2c44!important;color:#f0f8fd!important;border-color:var(--p20-line)!important}
body.admin-v120 .admin-nav-btn.active{background:linear-gradient(90deg,#173f5f,#0f304a)!important;color:#fff!important;border-color:rgba(60,166,240,.38)!important;box-shadow:inset 3px 0 0 var(--p20-red),0 8px 18px rgba(0,0,0,.15)!important}
body.admin-v120 .danger-side-btn{color:#ff8b92!important}
body.admin-v120 .admin-topline{padding:3px 4px 2px}.admin-v120 .admin-topline h2{font-size:2rem;color:#f6fbff!important}
body.admin-v120 .user-chip{background:#0b263b!important;border-color:var(--p20-line)!important;color:#f3faff!important}.admin-v120 .user-chip span{color:#86a5ba!important}
body.admin-v120 .metric-card{background:linear-gradient(155deg,#0d2a40,#091f31)!important;border-color:var(--p20-line)!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important}
body.admin-v120 .metric-card .metric-number{color:#fff!important}.admin-v120 .metric-card .metric-label{color:#91aabd!important}
body.admin-v120 .metric-card>.ui-icon-wrap{background:#0c3555!important;color:#56b6ff!important}.admin-v120 .metric-card.positive>.ui-icon-wrap{background:rgba(22,198,106,.13)!important;color:#4be18d!important}.admin-v120 .metric-card.alert>.ui-icon-wrap{background:rgba(243,33,45,.13)!important;color:#ff7079!important}
body.admin-v120 .toolbar{background:linear-gradient(180deg,#0b2438,#081d2f)!important}
body.admin-v120 .data-table{color:#d9eaf5!important}
body.admin-v120 .data-table th{background:#0d2a40!important;color:#8fb0c7!important;border-bottom:1px solid var(--p20-line)!important}
body.admin-v120 .data-table td{border-top:1px solid rgba(114,180,223,.12)!important;background:rgba(7,28,44,.56)!important}
body.admin-v120 .data-table tr:hover td{background:#0e2b42!important}
body.admin-v120 .table-btn{background:#0d2a41!important;color:#dcebf5!important;border-color:var(--p20-line)!important}.admin-v120 .table-btn.primary{background:linear-gradient(135deg,var(--p20-red),#c8111d)!important;color:#fff!important}
body.admin-v120 .mini-search{background:#071b2b!important;color:#eaf7ff!important;border-color:var(--p20-line)!important}
body.admin-v120 .check-line{color:#cadde9!important}
body.admin-v120 .status-badge{background:#14334a!important;color:#a8c2d4!important}.admin-v120 .status-badge.good{background:rgba(22,198,106,.13)!important;color:#66eba6!important}.admin-v120 .status-badge.bad{background:rgba(243,33,45,.14)!important;color:#ff858c!important}.admin-v120 .status-badge.warn{background:rgba(255,138,34,.13)!important;color:#ffc17a!important}.admin-v120 .status-badge.info{background:rgba(22,140,255,.14)!important;color:#75c4ff!important}
body.admin-v120 .history-toolbar,body.admin-v120 .compact-panel{background:transparent!important}

/* RECEPTION KIOSK — premium dark, responsive portrait + landscape */
body.kiosk-v120 .kiosk17-brand{background:linear-gradient(180deg,#091c2c,#061522)!important}
body.kiosk-v120 .kiosk17-header-right{color:#ddecf6!important}
body.kiosk-v120 .kiosk17-version{background:#102d45!important;color:#74c7ff!important;border:1px solid rgba(66,173,246,.28)!important}
body.kiosk-v120 .kiosk17-connection{background:#0d293e!important;border-color:var(--p20-line)!important}.kiosk-v120 .kiosk17-connection.online,.kiosk-v120 .kiosk17-connection.good{color:#58e89b!important;background:rgba(22,198,106,.10)!important;border-color:rgba(22,198,106,.26)!important}
body.kiosk-v120 .kiosk17-header-btn{background:#0f3049!important;color:#e6f5fe!important;border:1px solid var(--p20-line)!important}
body.kiosk-v120 .kiosk17-clock-card,body.kiosk-v120 .kiosk17-camera-card-wrap,body.kiosk-v120 .kiosk17-whos-in-card{background:linear-gradient(180deg,#0c263b,#081d2e)!important}
body.kiosk-v120 .kiosk17-card-head{background:#0d2c44!important;color:#fff!important}
body.kiosk-v120 .kiosk17-topline h1{color:#f4faff!important}.kiosk-v120 .clock{color:#fff!important;text-shadow:0 0 28px rgba(39,151,235,.15)}.kiosk-v120 .date-line{color:#87a5b9!important}
body.kiosk-v120 .kiosk17-metrics>div{background:#0a2235!important;border:1px solid rgba(111,181,229,.14)!important}.kiosk-v120 .kiosk17-metrics strong{color:#fff!important}.kiosk-v120 .kiosk17-metrics span{color:#86a3b7!important}
body.kiosk-v120 .kiosk17-section-title{color:#61bcff!important}
body.kiosk-v120 .kiosk17-staff-tiles button,body.kiosk-v120 .kiosk17-staff-tile{background:#0a2133!important;border-color:rgba(117,184,229,.17)!important;color:#e6f3fb!important}
body.kiosk-v120 .kiosk17-staff-tiles button:hover,body.kiosk-v120 .kiosk17-staff-tile:hover{background:#0f2e46!important;border-color:#218cef!important}
body.kiosk-v120 .kiosk17-staff-tiles button.selected,body.kiosk-v120 .kiosk17-staff-tile.selected{background:linear-gradient(145deg,#123d5c,#0c2e47)!important;border-color:#2495f5!important;box-shadow:0 0 0 2px rgba(36,149,245,.12)!important}
body.kiosk-v120 .kiosk17-selected{background:#0b263a!important;border-color:var(--p20-line)!important}.kiosk-v120 .kiosk17-avatar{background:linear-gradient(135deg,#168cff,#0b6fcf)!important;color:#fff!important}.kiosk-v120 .kiosk17-selected-copy strong{color:#fff!important}.kiosk-v120 .kiosk17-selected-copy span{color:#8ca9bd!important}
body.kiosk-v120 .kiosk17-clear-btn{background:#102f47!important;color:#bfe2fa!important;border-color:var(--p20-line)!important}
body.kiosk-v120 .kiosk17-pin-keypad{background:#081e2f!important;border:1px solid var(--p20-line)!important;box-shadow:0 20px 50px rgba(0,0,0,.35)!important}.kiosk-v120 .pin-keypad-title{color:#85caff!important}.kiosk-v120 .pin-keypad-display{background:#061522!important;border-color:var(--p20-line)!important;color:#fff!important}.kiosk-v120 .pin-key{background:#0d2b42!important;color:#fff!important;border-color:rgba(111,181,229,.18)!important}.kiosk-v120 .pin-key:active{background:#17476a!important}.kiosk-v120 .pin-key-submit{background:linear-gradient(135deg,#16c66a,#0ba653)!important}.kiosk-v120 .pin-key-back{color:#ff8d94!important}
body.kiosk-v120 .kiosk17-camera-card{background:#04111c!important;border:1px solid rgba(82,181,246,.2)!important}.kiosk-v120 .camera-frame{border-color:#34b8ff!important;box-shadow:0 0 28px rgba(52,184,255,.12) inset}.kiosk-v120 .camera-badge{background:rgba(6,21,34,.86)!important;border:1px solid rgba(85,179,243,.22)!important}
body.kiosk-v120 .kiosk17-who-list>*{background:#0a2235!important;border-color:rgba(114,181,225,.14)!important;color:#e6f3fb!important}
body.kiosk-v120 .kiosk17-success-view{background:linear-gradient(145deg,#0d2b40,#071d2d)!important}.kiosk-v120 .kiosk17-success .tick{box-shadow:0 0 40px rgba(22,198,106,.18)}.kiosk-v120 .kiosk17-success h2{color:#63eca5!important}.kiosk-v120 .kiosk17-success-time{color:#fff!important}.kiosk-v120 .kiosk17-auto-return{color:#8ba9bd!important}
body.kiosk-v120 .kiosk17-modal-card{background:linear-gradient(180deg,#0d2a40,#071b2b)!important;border-color:var(--p20-line)!important}.kiosk-v120 .kiosk17-roll-list>*{border-color:rgba(116,181,224,.13)!important}

/* Tablet landscape gets the polished two-column command-centre view. */
@media (orientation:landscape) and (min-width:700px){
  body.kiosk-v120 .kiosk17-grid{gap:14px!important;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important}
  body.kiosk-v120 .kiosk17-right-column{gap:14px!important}
  body.kiosk-v120 .kiosk17-camera-card-wrap{min-height:0}
}
/* Portrait remains fully supported and readable. */
@media (orientation:portrait){
  body.kiosk-v120 .kiosk17-grid{grid-template-columns:1fr!important}
  body.kiosk-v120 .kiosk17-right-column{display:grid;grid-template-columns:1fr;gap:12px}
}

/* Small screen polish */
@media(max-width:680px){
  body.premium-dark .login-wrap{margin:18px auto!important;border-radius:15px!important}
  body.premium-dark .login-wrap .panel{padding:24px 18px!important}
  body.driver-v119.driver-v120 .brand-bar img{width:min(220px,66vw)!important}
}

/* =====================================================================
   v1.20.4 — Stability, table sorting and Driver light-field contrast
   ===================================================================== */
body.admin-v120 table.data-table thead th.sortable-th{
  cursor:pointer;user-select:none;position:relative;padding-right:28px!important;
  transition:background .15s ease,color .15s ease;
}
body.admin-v120 table.data-table thead th.sortable-th:hover,
body.admin-v120 table.data-table thead th.sortable-th:focus-visible{
  background:rgba(22,140,255,.12)!important;color:#dff3ff!important;outline:none;
}
body.admin-v120 table.data-table thead th.sortable-th::after{
  content:"↕";position:absolute;right:9px;top:50%;transform:translateY(-50%);
  color:#668aa4;font-size:.8rem;font-weight:900;
}
body.admin-v120 table.data-table thead th.sortable-th[aria-sort="ascending"]::after{content:"▲";color:#5dbbff}
body.admin-v120 table.data-table thead th.sortable-th[aria-sort="descending"]::after{content:"▼";color:#5dbbff}
body.admin-v120 table.data-table thead th.sort-active{color:#74c7ff!important}

/* Driver: every genuinely light/white form box uses dark readable text. */
body.driver-v119.driver-v120 .field,
body.driver-v119.driver-v120 select.field,
body.driver-v119.driver-v120 textarea.field{
  background:#ffffff!important;
  color:#0a1722!important;
  -webkit-text-fill-color:#0a1722!important;
  border-color:#cbd7e2!important;
  color-scheme:light;
}
body.driver-v119.driver-v120 .field::placeholder,
body.driver-v119.driver-v120 textarea.field::placeholder{
  color:#6c7782!important;-webkit-text-fill-color:#6c7782!important;
}
body.driver-v119.driver-v120 select.field option{background:#fff!important;color:#0a1722!important}
body.driver-v119.driver-v120 .v119-select-shell{
  background:#fff!important;border-color:#cbd7e2!important;
}
body.driver-v119.driver-v120 .v119-select-leading,
body.driver-v119.driver-v120 .v119-select-chevron{color:#163149!important}
body.driver-v119.driver-v120 .password-toggle{
  background:#e8eef3!important;color:#10283a!important;border-color:#c5d2dd!important;
}


/* =============================================================
   v1.20.4 — Admin form action spacing consistency
   Keep primary action buttons visually separated from the field above,
   matching the Staff editor SAVE STAFF spacing.
   ============================================================= */
body.admin-v120 .form-grid > .form-actions{margin-top:16px!important;}

/* =====================================================================
   v1.20.4 — Driver white/light block contrast
   Every light/white content block in the Driver PWA uses dark, bold text.
   ===================================================================== */
body.driver-v119.driver-v120 .field,
body.driver-v119.driver-v120 select.field,
body.driver-v119.driver-v120 textarea.field,
body.driver-v119.driver-v120 .v119-select-shell select{
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}
body.driver-v119.driver-v120 .field::placeholder,
body.driver-v119.driver-v120 textarea.field::placeholder{
  color:#4c5964!important;
  -webkit-text-fill-color:#4c5964!important;
  font-weight:750!important;
  opacity:1!important;
}
body.driver-v119.driver-v120 select.field option,
body.driver-v119.driver-v120 .v119-select-shell select option{
  background:#fff!important;
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}

/* Vehicle Check white checklist tiles. */
body.driver-v119.driver-v120 .check-row{
  background:#fff!important;
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:850!important;
  border-color:#cbd7e2!important;
}
body.driver-v119.driver-v120 .check-row *:not(input){
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:850!important;
}

/* Today's Trips, Daily Report trips and recent fuel rows. */
body.driver-v119.driver-v120 .trip-history-row,
body.driver-v119.driver-v120 .trip-history-row.compact{
  background:#fff!important;
  color:#07131d!important;
  border-color:#cbd7e2!important;
}
body.driver-v119.driver-v120 .trip-history-row *,
body.driver-v119.driver-v120 .trip-history-row.compact *{
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}
body.driver-v119.driver-v120 .trip-index{
  background:#edf2f6!important;
  color:#07131d!important;
  font-weight:900!important;
}

/* Daily Report white summary blocks. */
body.driver-v119.driver-v120 .driver-day-summary>div,
body.driver-v119.driver-v120 .report-summary>div,
body.driver-v119.driver-v120 .current-trip-grid>div{
  background:#fff!important;
  color:#07131d!important;
  border-color:#cbd7e2!important;
}
body.driver-v119.driver-v120 .driver-day-summary>div *,
body.driver-v119.driver-v120 .report-summary>div *,
body.driver-v119.driver-v120 .current-trip-grid>div *{
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}
body.driver-v119.driver-v120 .summary-label{
  color:#263541!important;
  -webkit-text-fill-color:#263541!important;
  font-weight:900!important;
}

/* Recent incident cards and any light accident-detail/check containers. */
body.driver-v119.driver-v120 .incident-mobile-card,
body.driver-v119.driver-v120 .accident-fields,
body.driver-v119.driver-v120 .incident-photo-name{
  background:#fff!important;
  color:#07131d!important;
  border-color:#cbd7e2!important;
}
body.driver-v119.driver-v120 .incident-mobile-card *,
body.driver-v119.driver-v120 .accident-fields *:not(input):not(select):not(textarea),
body.driver-v119.driver-v120 .incident-photo-name *{
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}

/* Light buttons, file controls and other explicitly white utility surfaces. */
body.driver-v119.driver-v120 .btn-light,
body.driver-v119.driver-v120 input[type="file"]{
  color:#07131d!important;
  -webkit-text-fill-color:#07131d!important;
  font-weight:800!important;
}

/* =====================================================================
   v1.20.6 — Premium dark sortable-header hover/focus contrast fix
   Keep clickable table headings inside the dark theme.  The previous
   translucent hover could reveal a pale table/background underneath.
   ===================================================================== */
body.admin-v120 table.data-table thead th.sortable-th:hover,
body.admin-v120 table.data-table thead th.sortable-th:focus-visible{
  background:#174766!important;
  color:#ffffff!important;
  border-bottom-color:#2b79a8!important;
  box-shadow:inset 0 0 0 1px rgba(93,187,255,.22)!important;
  outline:none!important;
}
body.admin-v120 table.data-table thead th.sortable-th:hover::after,
body.admin-v120 table.data-table thead th.sortable-th:focus-visible::after{
  color:#8fd3ff!important;
}
body.admin-v120 table.data-table thead th.sortable-th.sort-active{
  background:#123b58!important;
  color:#8fd3ff!important;
}
body.admin-v120 table.data-table thead th.sortable-th.sort-active:hover,
body.admin-v120 table.data-table thead th.sortable-th.sort-active:focus-visible{
  background:#1a5275!important;
  color:#ffffff!important;
}

/* Keep Admin table/action controls dark on hover as well. */
body.admin-v120 .table-btn:hover,
body.admin-v120 .btn-secondary:hover{
  background:#174766!important;
  color:#ffffff!important;
  border-color:#2b79a8!important;
}
body.admin-v120 .table-btn.primary:hover,
body.admin-v120 .btn-in:hover{
  filter:brightness(1.08)!important;
  color:#ffffff!important;
}


/* =====================================================================
   v1.20.6 — Admin action spacing consistency
   Standardise vertical breathing room between the final form/filter field
   and its action buttons throughout the Admin UI.
   ===================================================================== */
body.admin-v120 .form-grid > .form-actions,
body.admin-v120 .incident-filter-grid > .filter-action,
body.admin-v120 .admin-form-actions{
  margin-top:16px!important;
}

/* Incident filters are a proper responsive grid.  Keep the LOAD INCIDENTS
   action on its own row so it never sits directly against the Status field. */
body.admin-v120 .incident-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  column-gap:14px!important;
  row-gap:0!important;
  align-items:end!important;
}
body.admin-v120 .incident-filter-grid > .filter-action.full{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}

@media(max-width:1050px){
  body.admin-v120 .incident-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    row-gap:4px!important;
  }
}
@media(max-width:680px){
  body.admin-v120 .incident-filter-grid{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   v1.22 — Simplified Operations UI
   Fewer choices on screen, advanced tools remain available.
   ============================================================ */

/* Admin: simplify primary navigation and make secondary tools quieter */
.simplified-admin-nav{gap:8px}
.simplified-admin-nav .admin-nav-btn{min-height:48px;font-size:16px}
.admin-more-tools{margin:14px 12px 0;border:1px solid rgba(99,179,237,.18);border-radius:14px;background:rgba(7,29,46,.55);overflow:hidden}
.admin-more-tools summary{cursor:pointer;padding:13px 14px;color:#9fb7ca;font-weight:800;list-style:none}
.admin-more-tools summary::-webkit-details-marker{display:none}
.admin-more-tools summary:after{content:'+';float:right;color:#5fb3ff;font-size:20px;line-height:16px}
.admin-more-tools[open] summary:after{content:'–'}
.admin-more-tools-list{display:grid;gap:7px;padding:0 8px 9px}
.admin-more-tools .secondary-nav-btn{min-height:40px;font-size:13px;background:rgba(13,49,75,.55);border-color:rgba(99,179,237,.12)}
.simplified-side-links{margin-top:auto}
.simplified-side-links .admin-side-btn{display:block;width:100%;padding:11px 14px;color:#9fb7ca;background:transparent;border:0;text-align:left;text-decoration:none;font-weight:700;cursor:pointer}
.simplified-side-links .admin-side-btn:hover{color:white;background:#123e60;border-radius:10px}

.action-centre-card{margin-bottom:18px}
.admin-action-centre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}
.action-centre-item{border:1px solid rgba(87,176,255,.22);border-radius:16px;background:linear-gradient(145deg,#0d304a,#0a2235);color:white;padding:17px;text-align:left;cursor:pointer;min-height:112px;transition:.18s ease}
.action-centre-item:hover{transform:translateY(-2px);border-color:#3a9fff;background:#123d5c}
.action-centre-item strong{display:block;font-size:28px;color:#5fb3ff;line-height:1;margin-bottom:9px}
.action-centre-item span{display:block;font-size:15px;font-weight:900;margin-bottom:5px}
.action-centre-item small{display:block;color:#8ea9bd;line-height:1.3}
.section-quick-actions{display:flex;gap:10px;margin:0 0 14px}
.quick-action-chip{border:1px solid #245c83;background:#0f3552;color:#dceaf5;border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}
.quick-action-chip:hover{background:#174c70;color:white}

/* Driver: only three persistent destinations. Less-used tasks live under Quick Actions. */
.simplified-driver-nav{grid-template-columns:repeat(3,1fr)!important}
.simplified-driver-nav .driver-tab{min-width:0}
.simplified-actions-panel{padding-bottom:100px}
.simplified-action-grid{display:grid;grid-template-columns:1fr;gap:14px}
.driver-quick-action{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:15px;align-items:center;width:100%;padding:18px;border:1px solid #245c83;border-radius:18px;background:linear-gradient(145deg,#103755,#0b263b);color:white;text-align:left;cursor:pointer}
.driver-quick-action .v119-icon{grid-row:1/3;width:38px;height:38px;color:#61b7ff}
.driver-quick-action strong{font-size:19px}
.driver-quick-action span{color:#9eb7ca;font-size:14px;margin-top:4px}
.driver-quick-action:active{transform:scale(.99)}
.driver-quick-action.danger .v119-icon{color:#ff5c64}
.driver-back-actions{margin:0 0 14px;border:1px solid #245c83;background:#0e3451;color:#cfe8fb;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer}

/* Reception: emphasize the two actual actions */
.kiosk17-section-title{font-size:16px;letter-spacing:.04em}
.kiosk17-pin-field label{font-weight:900;color:#dceaf5}

@media (max-width:1100px){.admin-action-centre{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.admin-action-centre{grid-template-columns:1fr}.section-quick-actions{flex-wrap:wrap}}

/* ============================================================
   v1.22 — Stores & Equipment Control
   Premium dark theme shared with Reception, Driver and Admin.
   ============================================================ */
body.stores-v122{margin:0;background:radial-gradient(circle at 18% 8%,#0e3754 0,#071e30 30%,#04131f 72%,#020b12 100%);color:#eef8ff;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.stores-shell{min-height:100vh}.stores-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 22px;background:rgba(3,16,27,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(90,183,245,.2);box-shadow:0 12px 32px rgba(0,0,0,.22)}
.stores-header img{width:220px;max-width:30vw;height:56px;object-fit:contain;object-position:left center;border-radius:8px}.stores-header-copy h1{margin:1px 0 4px;font-size:24px}.stores-meta{display:flex;gap:8px;align-items:center;color:#8ea9bd;font-weight:800;font-size:12px}.stores-header-link{color:#cfeaff;text-decoration:none;border:1px solid #245f89;background:#0c2d46;border-radius:12px;padding:10px 14px;font-weight:850}
.stores-main{max-width:1480px;margin:0 auto;padding:22px}.stores-view{animation:storesFade .18s ease}.stores-view.hidden{display:none!important}@keyframes storesFade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.stores-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stores-metric{min-height:102px;border:1px solid rgba(94,183,244,.16);border-radius:18px;background:linear-gradient(145deg,#0e3049,#091f31);padding:18px;box-shadow:0 14px 32px rgba(0,0,0,.2)}.stores-metric strong{display:block;font-size:34px;line-height:1;font-weight:950}.stores-metric span{display:block;margin-top:10px;color:#94b0c4;font-size:12px;font-weight:900;letter-spacing:.08em}.stores-metric.good strong{color:#47e798}.stores-metric.blue strong{color:#5dbbff}.stores-metric.warn strong{color:#ffbf5d}.stores-metric.red strong{color:#ff646d}
.stores-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stores-action-card{min-height:190px;border:1px solid rgba(89,179,240,.18);border-radius:22px;padding:22px;background:linear-gradient(160deg,#0e344f,#091f31);color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,.22);transition:.18s ease}.stores-action-card:hover{transform:translateY(-3px);border-color:#3aa3ed;background:linear-gradient(160deg,#124362,#0b2940)}.stores-action-card strong{display:block;font-size:22px;margin-top:18px}.stores-action-card>span:last-child{display:block;color:#95b1c5;margin-top:5px}.stores-action-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#0b2436;border:1px solid rgba(114,195,250,.16)}.stores-action-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.stores-action-card.out .stores-action-icon{color:#54bcff}.stores-action-card.in .stores-action-icon{color:#44e58f}.stores-action-card.transfer .stores-action-icon{color:#a58bff}.stores-action-card.outstanding .stores-action-icon{color:#ffb45b}
.stores-card{border:1px solid rgba(87,176,235,.18);border-radius:20px;background:linear-gradient(180deg,rgba(10,37,57,.94),rgba(6,25,40,.94));box-shadow:0 16px 36px rgba(0,0,0,.22);overflow:hidden}.stores-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#0c2b43;border-bottom:1px solid rgba(91,178,237,.16);font-weight:950;letter-spacing:.05em}.stores-mini-btn,.stores-secondary-btn,.stores-primary-btn,.stores-back{border:1px solid #286790;border-radius:12px;background:#123d5c;color:#fff;font-weight:900;cursor:pointer}.stores-mini-btn{padding:7px 10px;font-size:11px}.stores-secondary-btn{padding:12px 16px;min-height:46px}.stores-primary-btn{width:100%;padding:15px 18px;min-height:52px;background:linear-gradient(135deg,#12bd63,#079749);border-color:#1bc66d;font-size:15px;letter-spacing:.03em}.stores-primary-btn:hover{filter:brightness(1.08)}.stores-secondary-btn:hover,.stores-mini-btn:hover,.stores-back:hover{background:#195474}.stores-back{width:48px;height:48px;font-size:24px}.stores-view-head{display:flex;align-items:center;gap:14px;margin:2px 0 18px}.stores-view-head h2{margin:1px 0 0;font-size:28px}
.stores-two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px}.stores-form-card,.stores-cart-card{padding:18px}.stores-form-card label,.stores-cart-card label,.stores-card label{display:block;color:#b9d3e5;font-weight:850;font-size:13px;margin:10px 0 6px}.stores-field,.stores-small-field{width:100%;box-sizing:border-box;border:1px solid #c9d5df;border-radius:12px;background:#fff;color:#07131d;-webkit-text-fill-color:#07131d;font-weight:800;padding:12px 13px;font-size:15px;outline:none}.stores-field:focus,.stores-small-field:focus{border-color:#54b8ff;box-shadow:0 0 0 3px rgba(84,184,255,.16)}.stores-field option,.stores-small-field option{color:#07131d;background:#fff;font-weight:800}
.stores-asset-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-height:52vh;overflow:auto;padding-right:4px}.stores-asset-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid rgba(100,180,233,.18);border-radius:15px;background:#0b273c;padding:14px}.stores-asset-card.selected{border-color:#32a8f4;background:#103956}.stores-asset-card strong,.stores-asset-card span,.stores-asset-card small{display:block}.stores-asset-card strong{font-size:15px}.stores-asset-card span{color:#7fc8fa;font-size:12px;font-weight:850;margin-top:3px}.stores-asset-card small{color:#8da9bd;margin-top:4px}.stores-qty{display:grid;grid-template-columns:36px 30px 36px;align-items:center;gap:4px}.stores-qty button{height:36px;border:1px solid #2a6d98;border-radius:9px;background:#123e5d;color:#fff;font-size:20px;font-weight:900;cursor:pointer}.stores-qty b{text-align:center;font-size:18px}.stores-cart{display:grid;gap:9px;margin:14px 0}.stores-cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(98,181,237,.16);border-radius:13px;background:#0a263a;padding:12px}.stores-cart-row strong,.stores-cart-row span{display:block}.stores-cart-row span{color:#8eabbe;font-size:12px;margin-top:3px}.stores-cart-row>b{color:#55bdff;font-size:18px}.stores-empty{padding:18px;border:1px dashed rgba(118,181,224,.22);border-radius:13px;color:#8ea9bd;text-align:center}
.stores-out-list{display:grid;gap:8px;padding:12px}.stores-out-list.large{padding:16px}.stores-out-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid rgba(99,181,237,.13);background:#092338;border-radius:14px;padding:12px 14px}.stores-out-main strong,.stores-out-main span,.stores-out-main small{display:block}.stores-out-main span{color:#dfeef8;font-weight:800;margin-top:2px}.stores-out-main small{color:#8ca9bd;margin-top:3px}.stores-out-qty{font-size:20px;color:#56bdff;font-weight:950}.stores-out-ref{color:#7f9fb5;font-size:12px;font-weight:800}.stores-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:18px}.stores-filter-row.triple{grid-template-columns:1fr 1fr auto}.stores-return-list{display:grid;gap:10px;padding:0 18px 18px}.stores-return-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid rgba(98,181,237,.16);background:#0a263a;border-radius:15px;padding:14px}.stores-return-check{display:flex!important;align-items:center;gap:12px!important;margin:0!important}.stores-return-check input,.stores-transfer-row input{width:22px;height:22px;accent-color:#23a9f5}.stores-return-check strong,.stores-return-check small{display:block}.stores-return-check small{color:#91aebf;margin-top:3px}.stores-return-controls{display:flex;gap:8px}.stores-return-controls label{margin:0!important;min-width:110px}.stores-small-field{padding:9px 10px;margin-top:4px}.stores-transfer-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;padding:18px}.stores-help{margin:0 18px 16px;color:#8faabd}.stores-transfer-row{display:flex;align-items:center;gap:12px;border:1px solid rgba(98,181,237,.16);background:#0a263a;border-radius:14px;padding:14px;cursor:pointer}.stores-transfer-row strong,.stores-transfer-row small{display:block}.stores-transfer-row small{color:#91aebf;margin-top:3px}
.stores-pin-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(0,8,14,.82);backdrop-filter:blur(8px)}.stores-pin-modal.hidden{display:none!important}.stores-pin-card{width:min(420px,94vw);border:1px solid #2c6e98;border-radius:22px;background:linear-gradient(180deg,#0d3049,#071d2e);padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.45)}.stores-pin-card h2{margin:4px 0}.stores-pin-card p{color:#90acbf}.stores-pin-display{height:62px;display:grid;place-items:center;border:1px solid #2a658b;border-radius:14px;background:#061522;font-size:28px;letter-spacing:.22em;margin:15px 0}.stores-pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stores-pin-grid button{height:58px;border:1px solid #2b668c;border-radius:13px;background:#103752;color:#fff;font-size:20px;font-weight:900;cursor:pointer}.stores-pin-grid button:active{background:#1b567c}.stores-pin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.stores-pin-actions .stores-primary-btn{min-height:46px;padding:10px}

/* Admin equipment area */
.equipment-admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.equipment-admin-metric{background:linear-gradient(145deg,#0e3049,#091f31);border:1px solid rgba(91,179,239,.16);border-radius:16px;padding:15px}.equipment-admin-metric strong{display:block;font-size:28px;color:#59bdff}.equipment-admin-metric span{display:block;color:#8ea9bd;font-weight:850;font-size:11px;margin-top:6px;letter-spacing:.05em}.equipment-status-good{color:#47e798;font-weight:900}.equipment-status-warn{color:#ffbd58;font-weight:900}.equipment-status-bad{color:#ff6770;font-weight:900}.equipment-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.equipment-admin-split{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.equipment-help{color:#8faabd;font-size:13px;line-height:1.45}

@media(max-width:1100px){.stores-action-grid{grid-template-columns:repeat(2,1fr)}.stores-metrics{grid-template-columns:repeat(2,1fr)}.stores-two-col{grid-template-columns:1fr}.stores-transfer-grid{grid-template-columns:1fr 1fr}.equipment-admin-metrics{grid-template-columns:repeat(3,1fr)}.equipment-admin-split{grid-template-columns:1fr}.equipment-filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(orientation:portrait) and (max-width:900px){.stores-header{grid-template-columns:1fr auto}.stores-header img{grid-column:1/3;max-width:55vw;width:230px}.stores-action-grid{grid-template-columns:1fr 1fr}.stores-asset-picker{grid-template-columns:1fr}.stores-main{padding:14px}.stores-return-row{grid-template-columns:1fr}.stores-return-controls{display:grid;grid-template-columns:1fr 1fr}.stores-filter-row,.stores-filter-row.triple{grid-template-columns:1fr}.stores-transfer-grid{grid-template-columns:1fr}.stores-out-row{grid-template-columns:1fr auto}.stores-out-ref{grid-column:1/3}.equipment-admin-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.stores-header{padding:10px 12px;gap:10px}.stores-header img{height:45px}.stores-header-copy h1{font-size:19px}.stores-header-link{padding:8px 10px;font-size:12px}.stores-action-grid,.stores-metrics{grid-template-columns:1fr}.stores-action-card{min-height:150px}.stores-main{padding:10px}.stores-view-head h2{font-size:23px}.stores-pin-card{padding:17px}}

/* ========================================================================
   v1.24.2 — Consolidated Stores / Equipment Controls
   ======================================================================== */
.stores-required{display:inline-block;margin-left:7px;color:#ff8d92;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.stores-metric{appearance:none;color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease}
.stores-metric:hover,.stores-metric:focus-visible{transform:translateY(-4px);filter:brightness(1.13);box-shadow:0 12px 28px rgba(0,0,0,.3),0 0 0 2px rgba(74,185,255,.25);outline:none}
.stores-header-link,.stores-action-card,.stores-primary-btn,.stores-secondary-btn,.stores-mini-btn,.stores-back,.stores-pin-grid button{transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.stores-header-link:hover,.stores-action-card:hover,.stores-primary-btn:hover,.stores-secondary-btn:hover,.stores-mini-btn:hover,.stores-back:hover,.stores-pin-grid button:hover{transform:translateY(-2px);filter:brightness(1.14);box-shadow:0 8px 20px rgba(0,0,0,.24)}
.stores-repair-list{display:grid;gap:12px;padding-top:12px}
.stores-repair-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:1px solid rgba(94,183,244,.16);border-radius:16px;background:#0a263b}
.stores-repair-main{min-width:0;display:grid;gap:4px}.stores-repair-main strong{font-size:18px}.stores-repair-main span{color:#72c9ff;font-weight:850}.stores-repair-main small{color:#95afc1}.stores-repair-main p{margin:4px 0 0;color:#aec3d2;line-height:1.4}
.stores-repair-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stores-repaired-btn,.stores-beyond-btn{min-height:46px;border-radius:12px;padding:10px 16px;font-weight:950;letter-spacing:.03em;cursor:pointer;border:1px solid transparent}
.stores-repaired-btn{background:#10b965;color:#fff;border-color:#1dd178}.stores-beyond-btn{background:#3a1e2c;color:#ff8e96;border-color:#9a3047}
.stores-repaired-btn:hover,.stores-beyond-btn:hover{filter:brightness(1.14);transform:translateY(-2px)}
.stores-issue-badge{font-weight:950;color:#ffbf5d;background:rgba(255,191,93,.1);border:1px solid rgba(255,191,93,.25);border-radius:999px;padding:8px 12px;white-space:nowrap}
.stores-resolution-card{max-width:720px;width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}.stores-resolution-card label{display:block;margin:12px 0 6px;font-weight:850;color:#dcebf5}.stores-resolution-card .stores-pin-actions{margin-top:16px}.stores-check-line{display:flex!important;align-items:center;gap:10px}.stores-check-line input{width:20px;height:20px}
@media(max-width:760px){.stores-repair-card{align-items:flex-start;flex-direction:column}.stores-repair-actions{width:100%;justify-content:stretch}.stores-repaired-btn,.stores-beyond-btn{flex:1}.stores-return-controls{grid-template-columns:1fr!important}}


/* v1.24.2 — Bulk inventory import */
.inventory-import-card .equipment-help{margin-bottom:14px}.inventory-import-controls{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(220px,.9fr) minmax(330px,1fr);gap:14px;align-items:end}.inventory-import-actions{display:flex;gap:10px;flex-wrap:wrap}.inventory-import-summary{margin-top:16px}.inventory-import-card input[type=file].field{padding:10px}.inventory-import-card .status-badge{margin-right:6px}@media(max-width:980px){.inventory-import-controls{grid-template-columns:1fr}.inventory-import-actions .btn{flex:1 1 180px}}


/* v1.24.2 Job Register / editable Job Details & Financial Summary */
.job-manager-card{margin-bottom:18px}.job-toolbar{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(280px,1fr) auto;gap:12px;align-items:end}.job-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.job-summary-card{overflow:hidden}.job-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-detail-list>div{border:1px solid #e0e4e8;border-radius:12px;background:#fafbfc;padding:13px;min-width:0}.job-detail-list strong{display:block;overflow-wrap:anywhere}.job-financial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-fin-number{border:1px solid #dfe4e9;border-radius:12px;background:#fafbfc;padding:13px}.job-fin-number span{display:block;color:#6b7480;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:850;margin-bottom:5px}.job-fin-number strong{font-size:1.08rem}.job-fin-number.primary{border-color:#c8d9e6;background:#f2f8fc}.job-fin-number.total{border-width:2px}.job-fin-number.profit strong{color:#12753a}.job-fin-number.loss strong{color:#b51e29}.job-history-card{margin-bottom:20px}.job-labour-divider{display:flex;align-items:center;gap:12px;margin:28px 0 16px;font-weight:950;letter-spacing:.08em;color:#555}.job-labour-divider:before,.job-labour-divider:after{content:"";height:1px;background:#d9dee4;flex:1}.job-manager-card .data-table tbody tr:hover{background:#f7f9fb}@media(max-width:980px){.job-toolbar{grid-template-columns:1fr}.job-detail-grid{grid-template-columns:1fr}.job-detail-list,.job-financial-grid{grid-template-columns:1fr}}


/* =====================================================================
   v1.25.0 — RESPONSIVE ADMIN TABLES / NO HORIZONTAL SCROLL
   All Admin data tables fit the available desktop width.  On compact
   screens rows become labelled cards instead of requiring sideways scroll.
   ===================================================================== */
body.admin-v120{
  max-width:100%;
  overflow-x:hidden!important;
}
body.admin-v120 .admin-content{
  width:min(1680px,calc(100vw - 24px))!important;
  max-width:100%!important;
}
body.admin-v120 .admin-layout,
body.admin-v120 .admin-main,
body.admin-v120 .admin-section,
body.admin-v120 .admin-table-card,
body.admin-v120 .table-scroll{
  min-width:0!important;
  max-width:100%!important;
}
body.admin-v120 .table-scroll{
  width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
body.admin-v120 table.data-table,
body.admin-v120 table.vehicle-table,
body.admin-v120 .vehicle-history-grid .data-table,
body.admin-v120 table.cartrack-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
body.admin-v120 table.data-table th,
body.admin-v120 table.data-table td{
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
  line-height:1.25;
}
body.admin-v120 table.data-table th{
  padding:9px 7px!important;
  font-size:.70rem!important;
  letter-spacing:.015em!important;
  vertical-align:bottom!important;
}
body.admin-v120 table.data-table td{
  padding:9px 7px!important;
  font-size:.84rem!important;
}
body.admin-v120 table.data-table .muted{
  font-size:.78rem!important;
  line-height:1.2!important;
}
body.admin-v120 table.data-table .status-badge{
  max-width:100%;
  white-space:normal!important;
  text-align:center;
  line-height:1.15;
  padding:5px 7px!important;
}
body.admin-v120 table.data-table .table-btn{
  max-width:100%;
  min-width:0!important;
  min-height:32px!important;
  height:auto!important;
  padding:6px 8px!important;
  margin:2px!important;
  white-space:normal!important;
  line-height:1.1!important;
  font-size:.77rem!important;
}

/* Vehicle table gets deliberate proportions so all ten columns remain visible. */
body.admin-v120 table.vehicle-table th:nth-child(1),
body.admin-v120 table.vehicle-table td:nth-child(1){width:9%}
body.admin-v120 table.vehicle-table th:nth-child(2),
body.admin-v120 table.vehicle-table td:nth-child(2){width:13%}
body.admin-v120 table.vehicle-table th:nth-child(3),
body.admin-v120 table.vehicle-table td:nth-child(3){width:9%}
body.admin-v120 table.vehicle-table th:nth-child(4),
body.admin-v120 table.vehicle-table td:nth-child(4){width:8%}
body.admin-v120 table.vehicle-table th:nth-child(5),
body.admin-v120 table.vehicle-table td:nth-child(5){width:9%}
body.admin-v120 table.vehicle-table th:nth-child(6),
body.admin-v120 table.vehicle-table td:nth-child(6){width:11%}
body.admin-v120 table.vehicle-table th:nth-child(7),
body.admin-v120 table.vehicle-table td:nth-child(7){width:10%}
body.admin-v120 table.vehicle-table th:nth-child(8),
body.admin-v120 table.vehicle-table td:nth-child(8){width:11%}
body.admin-v120 table.vehicle-table th:nth-child(9),
body.admin-v120 table.vehicle-table td:nth-child(9){width:10%}
body.admin-v120 table.vehicle-table th:nth-child(10),
body.admin-v120 table.vehicle-table td:nth-child(10){width:10%}
body.admin-v120 table.vehicle-table td:nth-child(10) .table-btn{
  display:block!important;
  width:100%!important;
  margin:3px 0!important;
}

/* Dense tables: preserve useful content but reduce wasted spacing on laptops. */
@media (max-width:1400px) and (min-width:901px){
  body.admin-v120 .admin-layout{grid-template-columns:220px minmax(0,1fr)!important;gap:12px!important}
  body.admin-v120 .admin-nav-btn{font-size:.88rem!important}
  body.admin-v120 table.data-table th{padding:8px 5px!important;font-size:.66rem!important}
  body.admin-v120 table.data-table td{padding:8px 5px!important;font-size:.79rem!important}
  body.admin-v120 table.data-table .table-btn{padding:5px 6px!important;font-size:.71rem!important}
}

/* Tablet / narrow browser: each row becomes a self-contained labelled card. */
@media (max-width:900px){
  body.admin-v120 .table-scroll{
    overflow:visible!important;
  }
  body.admin-v120 table.data-table,
  body.admin-v120 table.data-table tbody,
  body.admin-v120 table.data-table tr,
  body.admin-v120 table.data-table td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.admin-v120 table.data-table{
    border-collapse:separate!important;
    border-spacing:0!important;
  }
  body.admin-v120 table.data-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
  }
  body.admin-v120 table.data-table tbody tr{
    margin:0 0 12px!important;
    border:1px solid rgba(98,181,239,.20)!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#0a2438!important;
    box-shadow:0 7px 20px rgba(0,0,0,.16)!important;
  }
  body.admin-v120 table.data-table tbody tr:hover td{
    background:transparent!important;
  }
  body.admin-v120 table.data-table tbody td{
    display:grid!important;
    grid-template-columns:minmax(112px,35%) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    padding:10px 12px!important;
    border-top:1px solid rgba(98,181,239,.11)!important;
    background:transparent!important;
    text-align:left!important;
    font-size:.88rem!important;
  }
  body.admin-v120 table.data-table tbody td:first-child{
    border-top:0!important;
  }
  body.admin-v120 table.data-table tbody td::before{
    content:attr(data-label);
    color:#79bce7!important;
    font-size:.68rem!important;
    font-weight:900!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    line-height:1.25!important;
  }
  body.admin-v120 table.data-table tbody td[colspan]{
    display:block!important;
    padding:14px!important;
  }
  body.admin-v120 table.data-table tbody td[colspan]::before{
    display:none!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"],
  body.admin-v120 table.data-table tbody td[data-label="Action"]{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    align-items:center!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"]::before,
  body.admin-v120 table.data-table tbody td[data-label="Action"]::before{
    flex:0 0 112px!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"] .table-btn,
  body.admin-v120 table.data-table tbody td[data-label="Action"] .table-btn{
    width:auto!important;
    min-width:82px!important;
    margin:0!important;
  }
  body.admin-v120 .vehicle-history-grid.history-tables{
    padding:12px!important;
  }
}

@media (max-width:520px){
  body.admin-v120 .admin-content{width:calc(100vw - 12px)!important}
  body.admin-v120 table.data-table tbody td{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"],
  body.admin-v120 table.data-table tbody td[data-label="Action"]{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"]::before,
  body.admin-v120 table.data-table tbody td[data-label="Action"]::before{
    grid-column:1/-1!important;
  }
  body.admin-v120 table.data-table tbody td[data-label="Actions"] .table-btn,
  body.admin-v120 table.data-table tbody td[data-label="Action"] .table-btn{
    width:100%!important;
  }
}

/* v1.25.0 compact Admin shell: the premium desktop sidebar must not squeeze
   table cards into a narrow strip on tablets/phones. */
@media (max-width:900px){
  body.admin-v120 .admin-layout{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.admin-v120 .admin-sidebar{
    position:static!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
  }
  body.admin-v120 .admin-main{
    width:100%!important;
    min-width:0!important;
  }
  body.admin-v120 .admin-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.admin-v120 .admin-nav-btn{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
}
@media (max-width:520px){
  body.admin-v120 .admin-nav{
    grid-template-columns:1fr 1fr!important;
  }
}

/* ===== v1.25.0 JOB DOCUMENTS / SITE ACCESS ===== */
.job-documents-card{margin-top:18px}
.job-document-current{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.job-document-current-summary{margin-top:6px;line-height:1.5}
.job-document-current-summary strong{font-size:1.05rem}
.job-document-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.job-document-actions .table-btn{white-space:normal}
.job-document-mobile-current,.job-document-mobile-history{display:grid;gap:12px}
.job-document-mobile-history h3{margin:8px 0 0}
.job-document-mobile-card{display:grid;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035)}
.job-document-mobile-card.current{border-color:rgba(80,220,150,.38);background:rgba(80,220,150,.06)}
.job-document-mobile-card>span,.job-document-mobile-card>small{color:var(--muted,#9fb0bf)}
@media (max-width:900px){
  .job-document-current{align-items:stretch}
  .job-document-current .form-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .job-document-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .job-document-actions .table-btn{width:100%}
}


/* =========================================================
   GLOBAL DROPDOWN UPPERCASE
   Display only - stored values remain unchanged.
   ========================================================= */

select,
select option,
select optgroup,
input[list] {
  text-transform: uppercase !important;
}

