/* Driver workspace: scoped to the mobile portal; other workspaces are untouched. */
body.driver-portal{background:#edf2f3;color:#123542;font-family:Arial,Helvetica,sans-serif}
.driver-portal .mobile-shell{background:#edf2f3;padding:12px;height:100dvh;overflow:hidden}
.driver-portal .phone{position:relative;max-width:540px;height:calc(100dvh - 24px);border-radius:12px;border:1px solid #d8e2e5;background:#fff;box-shadow:0 14px 44px #082c3a14;overflow:hidden}
.driver-portal .mobile-head{background:#073543;border:0;border-image:none;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.driver-portal .mobile-head:before,.driver-portal .mobile-head:after{display:none;animation:none}
.driver-portal .mobile-head .brand-logo{width:115px}.driver-portal .mobile-head .brand-symbol{display:none}.driver-portal .mobile-head .product-name{font-size:12px;color:#fff}
.driver-header-person{margin:4px 0 0;font-size:12px!important;color:#d6e8ed!important}.driver-portal .mobile-head .btn{border:1px solid #7b9ba5;background:transparent;color:#fff;box-shadow:none;min-height:36px;padding:8px 11px;font-size:13px}
.driver-portal .mobile-body{padding:16px 18px 160px;overflow-y:auto;min-height:0;scrollbar-width:thin;flex:1;background:#fff}.driver-portal .mobile-body>*{animation:none}
.driver-portal .mobile-nav{width:min(calc(100% - 24px),540px);bottom:12px;border-radius:0 0 12px 12px;box-shadow:none;background:#fff;border-top:1px solid #dbe5e8;padding:5px 8px 7px;z-index:20}
.driver-portal .mobile-nav button{font-size:12px;padding:6px 3px;color:#526c77;min-height:49px}.driver-portal .mobile-nav button.active{color:#006e83;background:#edf6f8;border-radius:6px}.driver-portal .mobile-nav svg{width:20px;height:20px}.driver-portal .mobile-nav button b{margin-bottom:2px}
.driver-trip-selector{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:0 0 15px}.driver-trip-selector label{font-size:13px;font-weight:700}.driver-trip-selector select{width:100%;min-height:42px;padding:8px;border:1px solid #bacdd3;background:#fff;border-radius:5px;color:#173d49;font:inherit}
.driver-trip-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.07em;font-weight:700;color:#58717b}.driver-trip-heading time{letter-spacing:0;font-size:12px;font-weight:400}
.driver-journey-main{padding:17px 0 16px}.driver-stop-label{color:#007388;font-size:12px;font-weight:700}.driver-journey-main h2{font-size:25px;line-height:1.15;letter-spacing:-.025em;margin:7px 0;color:#093440;overflow-wrap:anywhere}.driver-destination{font-size:14px;line-height:1.45;margin:8px 0;color:#3d5b67}.driver-time{font-size:13px;color:#45616c}.driver-time b{font-size:15px;color:#123744}.driver-time span{display:block;margin-top:5px}.driver-map{display:inline-block;margin-top:13px;color:#006f83;font-size:14px;text-decoration:underline;font-weight:700}
.driver-trip-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:13px 0;border-top:1px solid #dce5e8;border-bottom:1px solid #dce5e8}.driver-trip-facts small{display:block;color:#58717c;font-size:12px}.driver-trip-facts b{display:block;margin-top:5px;font-size:15px;line-height:1.35;color:#123744;overflow-wrap:anywhere}
.driver-phases{display:flex;justify-content:space-between;gap:12px;padding:17px 0;margin:0;list-style:none}.driver-phases li{display:flex;align-items:center;gap:7px;font-size:13px;color:#637a83;flex:1}.driver-phases i{font-size:11px;font-style:normal;width:23px;height:23px;border:1px solid #acbec5;border-radius:50%;display:grid;place-items:center;background:#fff}.driver-phases .done,.driver-phases .current{color:#006d80;font-weight:700}.driver-phases .done i,.driver-phases .current i{background:#007c90;color:#fff;border-color:#007c90}
.driver-local-state{padding:10px 11px;border-left:3px solid #a77617;background:#fff7e7;color:#765718;font-size:13px;margin-bottom:12px}.driver-journey-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}.driver-journey-tools button,.driver-order-tools button{background:#fff;border:1px solid #b7cbd2;border-radius:5px;min-height:42px;padding:9px;color:#174450;font-size:13px;font-weight:700;box-shadow:none;cursor:pointer}
.driver-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:5px 0 12px}.driver-section-heading h3{font-size:16px;margin:0}.driver-section-heading>span{font-size:12px;color:#536f7b}
.driver-stop{border:1px solid #d0dfe4;border-radius:6px;margin-bottom:10px;overflow:hidden;background:#fff}.driver-stop.is-current{border-color:#88b6c1}.driver-stop>summary{display:flex;gap:10px;align-items:center;padding:13px 11px;cursor:pointer;list-style:none}.driver-stop>summary::-webkit-details-marker{display:none}.driver-stop-number{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#e9f3f6;color:#006a7c;font-weight:700;font-size:13px}.driver-stop summary>span:nth-child(2){min-width:0;flex:1}.driver-stop summary b{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.driver-stop summary small{display:block;margin-top:4px;font-size:12px;color:#56717b}.driver-stop-status{font-size:11px;color:#446773}.driver-order-details{padding:12px;border-top:1px solid #e0e8eb}.driver-order-identity{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:13px}.driver-order-identity>span{color:#526f79;font-size:12px}.driver-materials{margin:12px 0}.driver-materials>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #edf1f3;font-size:13px;line-height:1.4}.driver-materials b{white-space:nowrap}.driver-load-check{display:flex;gap:8px;align-items:center;font-size:14px;margin:12px 0}.driver-load-check input{width:20px;height:20px;accent-color:#007e92}.driver-checked{color:#286b52;font-size:13px}.driver-muted{font-size:13px;color:#58737d;line-height:1.45}.driver-document-list{display:grid;gap:7px;margin:12px 0}.driver-document-list button{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:11px;background:#f3f8f9;border:1px solid #d2e1e6;border-radius:5px;min-height:48px;color:#164451;font-size:14px;cursor:pointer}.driver-document-list small{display:block;color:#53757f;font-size:11px;margin-top:4px}.driver-order-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.driver-order-tools button{font-size:12px;flex:1;min-width:90px}
.driver-action-bar{position:absolute;bottom:66px;left:0;right:0;z-index:15;padding:10px 18px 12px;background:#fff;border-top:1px solid #d2e1e5;box-shadow:0 -7px 18px #143d4708}.driver-action-bar[hidden]{display:none}.driver-action-context{font-size:12px;color:#4c6974;margin-bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:51px;border:0;border-radius:6px;background:#007b90;color:#fff;padding:12px 17px;font-size:17px;font-weight:700;cursor:pointer;box-shadow:none}.driver-primary:disabled{opacity:.55;cursor:default}.driver-primary>span{font-size:23px;font-weight:400}
.driver-portal .offline{border:0;border-bottom:1px solid #e4d3ad;padding:9px 15px;font-size:12px;line-height:1.35;background:#fff6e6;color:#6c541c}.driver-portal .offline.syncing{background:#edf6f8;color:#246372;border-color:#c6dfe5}.driver-portal .demo-ribbon{padding:5px 12px;font-size:10px;line-height:1.2}
.driver-portal .modal{border-radius:10px;padding:22px;max-height:calc(100dvh - 30px);overflow:auto;background:#fff;color:#123744}.driver-portal .modal h2{font-size:23px;line-height:1.2;margin:14px 0 10px}.driver-portal .modal p{font-size:14px;line-height:1.45;color:#456570}.driver-portal .modal .eyebrow,.driver-portal .movement-simple-list{display:none}.driver-portal .modal .btn.primary{background:#007b90;color:#fff;box-shadow:none;min-height:48px}.driver-portal .modal .btn.ghost{background:#fff;color:#245160;border-color:#bcced5;box-shadow:none;min-height:44px}.driver-portal .modal .field input,.driver-portal .modal .field select,.driver-portal .modal textarea{font-size:16px;min-height:44px}.driver-portal .modal label,.driver-portal .modal .field label{font-size:14px;color:#254b58}.driver-portal .modal .photo-take-button{background:#f0f7f8;border:1px solid #a9cbd4;color:#006d80;box-shadow:none;border-radius:6px;min-height:70px}.driver-portal .modal .photo-status{font-size:13px}.driver-portal .modal .photo-help{font-size:12px;line-height:1.4}.driver-form-context{padding:10px 12px;background:#edf6f8;border-left:3px solid #007f94;margin:12px 0;font-size:13px;color:#124654;line-height:1.45}.driver-form-error{font-size:14px;color:#923d29;line-height:1.4;margin:10px 0}.driver-report-panel{padding:16px;border:1px solid #d0dfe4;border-radius:7px;margin-bottom:13px}.driver-report-panel h3{margin:0 0 7px;font-size:17px}.driver-report-panel .btn{width:100%;margin-top:10px;background:#007b90;color:white;border:0;box-shadow:none;min-height:46px}.driver-portal .person-card{box-shadow:none;border:1px solid #d0dfe4;border-radius:7px;padding:17px}.driver-portal .person-card h3{font-size:20px}.driver-portal .person-card .meta b{font-size:14px}.driver-portal .dispatch-card{box-shadow:none;border:1px solid #d0dfe4;border-radius:7px}.driver-portal .dispatch-card:before,.driver-portal .dispatch-card:after{display:none}.driver-portal .mobile-section-title h2{font-size:20px}.driver-portal .hint{font-size:13px;color:#496874}.driver-portal button:focus-visible,.driver-portal a:focus-visible{outline:3px solid #008aa5;outline-offset:3px}
@media(max-width:560px){.driver-portal .mobile-shell{padding:0}.driver-portal .phone{height:100dvh;max-width:none;border:0;border-radius:0;box-shadow:none}.driver-portal .mobile-nav{width:100%;bottom:0;border-radius:0;padding-bottom:max(7px,env(safe-area-inset-bottom))}.driver-action-bar{bottom:calc(61px + env(safe-area-inset-bottom));padding:9px 16px 11px}.driver-portal .mobile-body{padding:15px 16px 165px}.driver-portal .mobile-head{padding:12px 16px}.driver-journey-main h2{font-size:24px}.driver-portal .modal{width:100%;max-height:calc(100dvh - 16px);padding:20px}.driver-portal .modal-backdrop{padding:8px}}
@media(prefers-reduced-motion:reduce){.driver-portal *{animation:none!important;scroll-behavior:auto!important}}
.driver-portal .modal .modal-back{display:none}.driver-portal .driver-document-list button:hover{border-color:#6faab8}.driver-portal .driver-report-panel p{font-size:14px;line-height:1.45}
.driver-portal .btn.primary,.driver-portal .btn.secondary{background:#007b90;color:#fff;box-shadow:none}.driver-portal .field select{max-width:100%}
.driver-portal .driver-file-chooser{position:relative;display:flex;justify-content:center;align-items:center;min-height:50px;border:1px solid #95bfca;background:#f1f8fa;border-radius:5px;color:#006e82!important;font-size:15px!important;font-weight:700;cursor:pointer}.driver-file-status{display:block;overflow-wrap:anywhere;font-size:12px;color:#4c6b76;margin:7px 0}.driver-portal .modal-actions{position:sticky;bottom:-20px;background:#fff;padding:12px 0 0;border-top:1px solid #d6e3e7;z-index:2}.driver-portal .modal .photo-help{display:block;margin-top:7px}
.driver-portal .modal .photo-take-button span{color:#006d80!important;font-size:16px;font-weight:700}.driver-portal .modal .movement-photo{background:#fff;border:1px solid #cbdce2;border-radius:6px}.driver-portal .driver-destination{overflow-wrap:anywhere}
.driver-portal .mobile-head>div:first-child{margin-right:auto}.driver-portal .mobile-head>button[aria-label="Actualizar viaje"]{padding:8px;display:grid;place-items:center}.driver-portal .mobile-head>button svg{width:18px;height:18px}
