/* Driver app: touch-first screens based on the approved eight-screen reference. */
.driver-v2{background:#f1f2f3;min-height:100dvh;color:#202429;--driver-red:#be1728;--driver-line:#e2e3e5}
.driver-v2 *{box-sizing:border-box;min-width:0}
.driver-v2 [hidden]{display:none!important}
.driver-v2 .driver-app{max-width:480px;margin:0 auto;padding:0 16px calc(88px + env(safe-area-inset-bottom));background:#fff;min-height:100dvh;font-family:Arial,sans-serif}
.driver-v2 .driver-header{margin:0 -16px 20px;padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:0;border-top:8px solid var(--driver-red);background:#fff;color:#202429}
.driver-v2 .driver-header h1{font-size:24px;margin:0;line-height:1.2;flex:1;text-align:center}
.driver-v2 .driver-header:has(.driver-back){display:block}
.driver-v2 .driver-back{display:flex;gap:10px;align-items:center;color:var(--driver-red);font-size:32px;text-decoration:none;margin-bottom:12px;min-height:40px}
.driver-v2 .driver-back span{font-size:14px;font-weight:700}
.driver-v2 .driver-portal>.driver-header{background:var(--driver-red);color:white;justify-content:space-between}
.driver-v2 .driver-portal>.driver-header h1{font-size:16px;text-align:left;margin-top:4px;font-weight:400}
.driver-v2 .driver-header small{font-size:20px;font-weight:700;color:inherit}
.driver-v2 .driver-header-actions button{background:transparent;color:white;border:1px solid #ffffff66;min-height:44px;padding:8px 12px}
.driver-v2 h2{font-size:22px;line-height:1.25;margin:0 0 8px}
.driver-v2 p{line-height:1.5;margin:8px 0 14px}
.driver-v2 form{display:grid;gap:12px;margin:0 0 16px}
.driver-v2 label{display:grid;gap:8px;font-weight:700;font-size:17px}
.driver-v2 input:not([type=hidden]),.driver-v2 select{width:100%;min-height:54px;border:1px solid #9fa4aa;border-radius:8px;padding:12px;font-size:20px;background:white;color:#202429}
.driver-v2 button,.driver-v2 a{touch-action:manipulation}
.driver-v2 button:focus-visible,.driver-v2 a:focus-visible,.driver-v2 summary:focus-visible{outline:3px solid #1264ba;outline-offset:3px}
.driver-v2 .driver-icon{height:28px;width:28px;flex-shrink:0}
.driver-v2 .driver-primary,.driver-v2 .driver-secondary{border:0;border-radius:9px;min-height:56px;padding:14px 12px;width:100%;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;line-height:1.3;white-space:normal}
.driver-v2 .driver-primary{background:var(--driver-red);color:#fff}
.driver-v2 .driver-secondary{background:#f9e9eb;color:#a81c2a;border:1px solid #eed1d5}
.driver-v2 a.driver-primary,.driver-v2 a.driver-secondary{margin:12px 0}
.driver-v2 button:disabled{opacity:.6;cursor:wait}
.driver-v2 .driver-text-link{display:block;text-align:center;padding:14px 6px;color:#9f1b2a;font-size:16px;font-weight:700}
.driver-v2 .driver-dashboard{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--driver-line)}
.driver-v2 .driver-dashboard>h2{font-size:28px}
.driver-v2 .driver-dashboard>p{color:#555}
.driver-v2 .driver-vehicle{display:flex;gap:16px;align-items:center;padding:16px;background:#f7f7f7;border:1px solid var(--driver-line);border-radius:10px;margin:16px 0}
.driver-v2 .driver-vehicle>.driver-icon{width:48px;height:48px;color:#545b62}
.driver-v2 .driver-vehicle div{display:grid;gap:4px}
.driver-v2 .driver-vehicle strong{font-size:26px;line-height:1.2}
.driver-v2 .driver-vehicle span,.driver-v2 .driver-vehicle small{font-size:14px;color:#555}
.driver-v2 .driver-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0}
.driver-v2 .driver-counters>div{text-align:center;border:1px solid var(--driver-line);border-radius:8px;padding:14px 3px;background:#fafafa;display:grid;gap:5px}
.driver-v2 .driver-counters strong{font-size:34px;color:var(--driver-red)}
.driver-v2 .driver-counters span{font-size:13px;color:#555}
.driver-v2 .driver-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.driver-v2 .driver-tile{background:var(--driver-red);color:white;min-height:140px;border-radius:10px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 8px;text-align:center}
.driver-v2 .driver-tile .driver-icon{width:42px;height:42px;margin-bottom:8px}
.driver-v2 .driver-tile strong{font-size:21px}
.driver-v2 .driver-tile span{font-size:16px}
.driver-v2 .driver-tile.secondary,.driver-v2 .driver-tile.is-disabled{background:#eeeff0;color:#44494f}
.driver-v2 .driver-tile.is-disabled{opacity:.65}
.driver-v2 .driver-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--driver-line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:20;box-shadow:0 -3px 12px #00000008}
.driver-v2 .driver-bottom-nav a{color:#555;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-width:70px;min-height:48px;font-size:12px;text-decoration:none}
.driver-v2 .driver-bottom-nav a[aria-current=page]{color:var(--driver-red)}
.driver-v2 .driver-big-counter{background:#fbf1f2;border-radius:10px;text-align:center;padding:18px;margin:16px 0;display:grid;gap:4px}
.driver-v2 .driver-big-counter span{font-size:16px;font-weight:700;color:#555}
.driver-v2 .driver-big-counter strong{color:var(--driver-red);font-size:88px;line-height:1.1}
.driver-v2 .driver-scan{display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;width:100%;min-height:190px;background:var(--driver-red);border:0;border-radius:10px;color:white;padding:25px 30px;font-size:28px;font-weight:800;line-height:1.15;text-align:center}
.driver-v2 .driver-scan .driver-icon{width:56px;height:56px}
.driver-v2 .driver-manual summary{color:#65676a;font-size:15px;text-align:center;padding:12px;cursor:pointer}
.driver-v2 .driver-manual label{margin-top:12px}
.driver-v2 .driver-scan-confirm{display:grid;gap:12px}
.driver-v2 .barcode-status:empty{display:none}
.driver-v2 .barcode-preview{border:1px solid #cddce8;background:#f2f7fb;padding:16px;border-radius:10px;overflow-wrap:anywhere}
.driver-v2 .barcode-preview-heading{display:grid;gap:8px}
.driver-v2 .barcode-preview-heading strong{font-size:19px}
.driver-v2 .barcode-preview-heading small{display:block;margin-top:7px;font-size:17px}
.driver-v2 .barcode-preview dl{font-size:14px}
.driver-v2 .barcode-preview[data-state=error]{background:#fff1f1;border-color:#be1728}
.driver-v2 .driver-card,.driver-v2 .driver-disclosure{border:1px solid var(--driver-line);border-radius:10px;background:#fafafa;padding:16px;margin:16px 0;box-shadow:none}
.driver-v2 .driver-disclosure summary{font-weight:700;color:#a91a29;cursor:pointer;min-height:32px;line-height:1.4}
.driver-v2 .driver-disclosure summary .driver-icon{vertical-align:middle;margin-right:6px}
.driver-v2 .driver-half-card{padding:16px 0;border-bottom:1px solid var(--driver-line);overflow-wrap:anywhere}
.driver-v2 .driver-card.driver-half-card{padding:16px}
.driver-v2 .driver-half-card p{margin:8px 0}
.driver-v2 .driver-code{display:block;color:#666;margin:12px 0}
.driver-v2 .driver-plan-row{display:grid;gap:6px;margin-top:16px;font-size:15px}
.driver-v2 .driver-question{font-size:28px;margin:28px 0 24px}
.driver-v2 .driver-client-choice{display:grid;gap:8px;width:100%;padding:24px 18px;min-height:178px;border:1px solid #ddd;border-radius:12px;background:#f7f7f7;color:#202429;text-align:center}
.driver-v2 .driver-client-choice>span{text-align:left;font-size:20px;font-weight:700;display:flex;justify-content:space-between;gap:10px}
.driver-v2 .driver-client-choice b{color:var(--driver-red)}
.driver-v2 .driver-client-choice>strong{font-size:48px;color:var(--driver-red)}
.driver-v2 .driver-client-choice small{font-size:15px;color:#555}
.driver-v2 .driver-delivery-progress{padding:16px;background:#f7f7f7;border-radius:10px;margin:16px 0 22px}
.driver-v2 .driver-delivery-progress h2{font-size:25px;text-transform:uppercase}
.driver-v2 progress{width:100%;height:12px;accent-color:var(--driver-red)}
.driver-v2 .driver-delivery-progress small{display:block;text-align:right;margin-top:6px;color:#666}
.driver-v2 .driver-confirmed{background:#168345;color:white;padding:24px 18px;border-radius:12px;text-align:center;margin:16px 0}
.driver-v2 .driver-confirmed>.driver-icon{background:white;color:#168345;border-radius:50%;width:80px;height:80px;padding:16px;margin-bottom:16px}
.driver-v2 .driver-confirmed h2{font-size:30px}
.driver-v2 .driver-confirmed dl{display:grid;grid-template-columns:auto 1fr;gap:10px;text-align:left;background:#f2faf5;color:#202429;padding:16px;border-radius:10px;margin:20px 0 0}
.driver-v2 .driver-confirmed dt{font-size:14px;color:#555}
.driver-v2 .driver-confirmed dd{font-size:16px;font-weight:700;margin:0}
.driver-v2 .driver-receipt-summary{text-align:center}
.driver-v2 .driver-history summary small{display:block;color:#666;font-weight:400;margin-top:6px}
.driver-v2 .driver-document-actions{display:grid;gap:8px;margin:20px 0}
.driver-v2 .driver-document-actions a{margin:0}
.driver-v2 .driver-help,.driver-v2 .driver-empty{font-size:16px;line-height:1.5;color:#62666c}
.driver-v2 .driver-error,.driver-v2 .form-error-summary{background:#fff0f1;color:#a11020;padding:16px;border-radius:8px;margin:16px 0;overflow-wrap:anywhere}
.driver-v2 .driver-success{background:#eaf7ee;color:#146b39;padding:16px;border-radius:8px}
body:has(.driver-v2) .barcode-overlay{padding:0;background:#101418}
body:has(.driver-v2) .barcode-dialog{max-width:480px;width:100%;height:100dvh;border-radius:0;display:flex;flex-direction:column;background:#111;color:white}
body:has(.driver-v2) .barcode-dialog-heading{background:#fff;color:#202429;border-top:8px solid #be1728;padding:14px;gap:8px}
body:has(.driver-v2) .barcode-dialog-heading button{min-height:44px;padding:8px 12px}
body:has(.driver-v2) .barcode-video-frame{flex:1;min-height:0}
body:has(.driver-v2) .barcode-video-frame video{height:100%;object-fit:cover}
body:has(.driver-v2) .barcode-dialog>p{padding:18px;text-align:center}
@media(max-width:350px){.driver-v2 .driver-app{padding-left:12px;padding-right:12px}.driver-v2 .driver-header{margin-left:-12px;margin-right:-12px}.driver-v2 .driver-tile strong{font-size:18px}.driver-v2 .driver-tile span{font-size:14px}.driver-v2 .driver-scan{font-size:25px}.driver-v2 .driver-counters span{font-size:12px}}
.driver-v2 .driver-scan span{font-size:inherit;line-height:1.15;max-width:230px}
/* Revisión con Andrés: controles grandes en todo el recorrido, incluido después de leer. */
.driver-v2 .driver-page-header{position:sticky;top:0;z-index:25;display:block;box-shadow:0 3px 10px #00000008;padding:12px 16px 18px}
.driver-v2 .driver-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;color:#a61929;font-size:15px;font-weight:700}
.driver-v2 .driver-back-button{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:104px;padding:10px 16px;border:2px solid #be1728;border-radius:6px;color:#a61929;background:#fff;text-decoration:none;font-size:19px;font-weight:700}
.driver-v2 .driver-primary{min-height:144px;flex-direction:column;gap:14px;font-size:24px;border-radius:8px;padding:24px 18px}
.driver-v2 .driver-primary>.driver-icon{width:42px;height:42px}
.driver-v2 .driver-secondary{min-height:104px;flex-direction:column;gap:10px;font-size:20px;border-radius:8px;padding:20px 16px}
.driver-v2 .driver-secondary>.driver-icon{width:34px;height:34px}
.driver-v2 .driver-change-client{display:flex;min-height:54px;align-items:center;justify-content:center;background:white;border:2px solid #be1728;border-radius:6px;color:#a61929;font-size:18px;font-weight:700;text-decoration:none;margin:16px 0}
.driver-v2 .driver-center{text-align:center}
.driver-v2 .driver-transfer-target{display:grid;text-align:center;gap:8px;background:#f9e9eb;border:2px solid #be1728;padding:20px;border-radius:8px;margin:16px 0}
.driver-v2 .driver-transfer-target strong{font-size:30px}
.driver-v2 .driver-transfer-target a{padding:12px;color:#a61929;font-weight:700}
.driver-v2 .driver-truck-choice{text-decoration:none;margin:16px 0;justify-items:center;border:2px solid #be1728;color:#a61929}
.driver-v2 .driver-truck-choice .driver-icon{width:44px;height:44px}
.driver-v2 .driver-truck-choice>span{font-size:28px}
.driver-v2 .driver-unavailable{border-left:5px solid #9a9a9a}
.driver-v2 .driver-unavailable p:last-child{font-weight:700;color:#605050}
.driver-v2 .driver-scan-confirm{scroll-margin-top:150px}
.driver-v2 .driver-scan-form:has([data-driver-scan-confirm]:not([hidden])){border-top:1px solid #eee;padding-top:12px}
.driver-v2 .driver-home-truck{padding:16px;border:1px solid var(--driver-line);border-radius:10px;background:#f7f7f7;margin:16px 0}
.driver-v2 .driver-home-truck-title{display:grid;gap:4px}
.driver-v2 .driver-home-truck-title strong{font-size:26px}
.driver-v2 .driver-home-truck-title span,.driver-v2 .driver-home-truck-title small{color:#555;font-size:14px}
.driver-v2 .driver-home-truck>p{text-align:center;margin:12px 0 0;font-size:15px;font-weight:700;color:#555}
.driver-v2 .driver-home-truck .truck-carcasses{grid-template-columns:repeat(9,minmax(0,1fr))}
/* Inicio compacto según el boceto de Andrés: vehículo y cifras en paralelo. */
.driver-v2 .driver-home-summary{display:grid;grid-template-columns:1fr 1.05fr;gap:12px;border:1px solid var(--driver-line);border-radius:10px;padding:10px;margin:12px 0}
.driver-v2 .driver-home-summary .driver-home-truck{margin:0;padding:0 10px 0 0;border:0;border-right:1px solid var(--driver-line);border-radius:0;background:white;display:flex;flex-direction:column;justify-content:space-between}
.driver-v2 .driver-home-summary .driver-home-truck-title strong{font-size:24px}
.driver-v2 .driver-home-summary .driver-home-truck-title small{font-size:12px}
.driver-v2 .driver-home-summary .driver-home-truck>p{font-size:12px;margin:8px 0 0}
.driver-v2 .driver-home-summary .driver-counters{grid-template-columns:1fr;margin:0;gap:6px}
.driver-v2 .driver-home-summary .driver-counters>div{display:flex;align-items:center;gap:8px;padding:8px;text-align:left;min-height:52px}
.driver-v2 .driver-home-summary .driver-counters strong{font-size:30px;line-height:1;min-width:35px}
.driver-v2 .driver-home-summary .driver-counters>div:first-child strong{color:#202429}
.driver-v2 .driver-home-summary .driver-counters span{font-size:12px;line-height:1.25}
.driver-v2 .driver-home-summary .truck-load-figure{grid-template-columns:minmax(0,1fr) 27px;height:70px;padding:0 0 9px;margin-top:8px}
.driver-v2 .driver-home-summary .truck-cargo-box{height:55px;border-width:2px;padding:8px 3px 3px}
.driver-v2 .driver-home-summary .truck-cargo-rail{height:2px;top:5px;left:3px;right:3px}
.driver-v2 .driver-home-summary .truck-carcasses{grid-template-rows:repeat(2,19px);gap:1px}
.driver-v2 .driver-home-summary .truck-carcass{height:19px}
.driver-v2 .driver-home-summary .truck-cab{height:40px;border-width:2px;border-radius:3px 10px 3px 2px;margin-left:-2px}
.driver-v2 .driver-home-summary .truck-cab span{width:15px;height:14px;top:5px;right:3px;border-width:2px}
.driver-v2 .driver-home-summary .truck-wheel{height:17px;width:17px;border-width:3px}
.driver-v2 .driver-home-summary .truck-wheel-front{right:6px}
.driver-v2 .driver-portal .driver-tile{min-height:116px;padding:12px 6px;gap:3px}
.driver-v2 .driver-portal .driver-tile .driver-icon{width:34px;height:34px;margin-bottom:3px}
.driver-v2 .driver-portal .driver-dashboard{padding-bottom:0;margin-bottom:16px;border-bottom:0}
.driver-v2 .driver-clients-summary{padding:12px;margin:12px 0}
.driver-v2 .driver-clients-summary summary{display:flex;align-items:center;gap:10px;list-style:none;color:#202429;min-height:44px}
.driver-v2 .driver-clients-summary summary::-webkit-details-marker{display:none}
.driver-v2 .driver-clients-summary summary>.driver-icon{color:var(--driver-red);margin:0}
.driver-v2 .driver-clients-summary summary>span{flex:1;font-size:16px}
.driver-v2 .driver-clients-summary summary small{display:block;font-size:12px;font-weight:400;color:#555;margin-top:3px}
.driver-v2 .driver-clients-summary summary b{font-size:28px}
.driver-v2 .driver-clients-summary[open] summary b{transform:rotate(90deg)}
.driver-v2 .driver-header-actions form{margin:0}
@media(max-width:350px){.driver-v2 .driver-home-summary{gap:7px;padding:8px}.driver-v2 .driver-home-summary .driver-home-truck{padding-right:6px}.driver-v2 .driver-home-summary .driver-home-truck-title strong{font-size:20px}.driver-v2 .driver-home-summary .driver-counters>div{padding:6px;gap:4px}.driver-v2 .driver-home-summary .driver-counters strong{font-size:26px;min-width:30px}.driver-v2 .driver-home-summary .driver-counters span{font-size:11px}}
/* Revisión UX #17: densidad operativa sin achicar áreas táctiles. */
.driver-v2 .driver-page-header{padding:6px 16px 10px;margin-bottom:10px;border-top-width:4px}
.driver-v2 .driver-header-row{margin-bottom:4px;font-size:15px}
.driver-v2 .driver-back-button{min-height:40px;min-width:76px;font-size:15px;padding:6px 10px;border:1px solid #ddd;color:#555}
.driver-v2 .driver-page-header h1{font-size:21px;text-align:left}
.driver-v2 .driver-operating-line{display:grid;gap:4px;font-size:16px;margin:8px 0}
.driver-v2 .driver-operating-line span{font-size:14px;color:#555}
.driver-v2 .driver-compact .driver-big-counter{padding:10px;margin:12px 0}
.driver-v2 .driver-compact .driver-big-counter strong{font-size:64px}
.driver-v2 .driver-compact .driver-scan{min-height:128px;font-size:24px;padding:16px;gap:8px}
.driver-v2 .driver-compact .driver-scan .driver-icon{width:40px;height:40px}
.driver-v2 .driver-compact .driver-secondary{min-height:52px;font-size:16px;padding:12px;flex-direction:row;gap:8px}
.driver-v2 .driver-compact .driver-primary{min-height:64px;font-size:19px;padding:14px;gap:8px}
.driver-v2 .driver-compact .driver-vehicle{padding:10px;margin:10px 0}
.driver-v2 .driver-compact-half{padding:12px;margin:8px 0;font-size:14px}
.driver-v2 .driver-compact-half h2{font-size:20px;margin:0 0 4px}
.driver-v2 .driver-compact-half p{margin:4px 0}
.driver-v2 .driver-compact-half .driver-code{font-size:12px;margin:5px 0;overflow-wrap:anywhere}
.driver-v2 .driver-compact-half form{margin:8px 0 0;gap:8px}
.driver-v2 .driver-compact-half .driver-primary,.driver-v2 .driver-compact-half .driver-secondary{min-height:44px;padding:10px;font-size:16px;flex-direction:row}
.driver-v2 .driver-compact-half .driver-icon{height:22px;width:22px}
.driver-v2 .driver-filters{display:grid;grid-template-columns:1.3fr 1fr;gap:8px;margin:10px 0}
.driver-v2 .driver-filters label{font-size:14px;gap:4px}
.driver-v2 .driver-filters input,.driver-v2 .driver-filters select{font-size:15px;min-height:44px;padding:8px}
.driver-v2 .driver-delivery-progress{padding:12px;margin:8px 0 12px}
.driver-v2 .driver-delivery-progress h2{font-size:27px;margin-bottom:4px}
.driver-v2 .driver-delivery-progress p{margin:6px 0;font-size:15px}
.driver-v2 .driver-change-client{display:inline-flex;min-height:40px;font-size:14px;margin:0 0 4px;padding:6px 10px;border:1px solid #ddd;color:#555}
.driver-v2 progress{height:22px}
.driver-v2 .driver-transfer-target{padding:12px;margin:8px 0;border-width:2px;gap:4px}
.driver-v2 .driver-transfer-target a{padding:7px}
.driver-v2 .driver-history{margin:8px 0;padding:10px 12px}
.driver-v2 .driver-history summary{color:#202429;font-size:17px}
.driver-v2 .driver-history summary small{font-size:13px;margin-top:3px}
.driver-v2 .driver-error{font-size:20px;font-weight:700}
.driver-v2 .driver-sticky-action{position:sticky;bottom:78px;z-index:15;box-shadow:0 3px 12px #0002}
.driver-v2 .driver-app{padding-bottom:110px}
body:has(.driver-v2) .barcode-dialog-heading{padding:8px 12px;border-top-width:4px}
body:has(.driver-v2) .barcode-dialog>p{font-size:14px;margin:0;padding:12px}
.driver-v2 .driver-compact .driver-confirmed{padding:12px;margin:10px 0}
.driver-v2 .driver-compact .driver-confirmed>.driver-icon{width:40px;height:40px;padding:8px;margin-bottom:6px}
.driver-v2 .driver-compact .driver-confirmed h2{font-size:23px}
.driver-v2 .driver-compact .driver-confirmed dl{padding:10px;margin-top:10px;gap:5px;font-size:14px}
.driver-v2 .driver-compact .driver-client-choice{padding:16px;min-height:130px}
.driver-v2 .driver-compact .driver-question{font-size:24px;margin:14px 0}
.driver-v2 .driver-compact .driver-disclosure{padding:12px;margin:10px 0}
.driver-v2 .driver-compact .driver-card{margin-top:10px;margin-bottom:10px}

/* Actualizar permanece al centro, incluso en pantallas sin reparto seleccionado. */
.driver-v2 .driver-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding-left:4px;padding-right:4px}
.driver-v2 .driver-bottom-nav a,.driver-v2 .driver-bottom-nav button{min-width:0;min-height:48px;font-size:11px}
.driver-v2 .driver-nav-refresh{grid-column:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:4px 0;margin:0;background:transparent;border:0;border-radius:6px;color:#a61929;font-family:inherit;font-weight:700;line-height:normal;box-shadow:none}
.driver-v2 .driver-nav-more{grid-column:5}
