:root{font-family:Inter,ui-sans-serif,system-ui,Arial;color:#151515;background:#f5f6f8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:13px;padding:13px 18px;font-weight:750;transition:.2s}button:hover{transform:translateY(-2px)}.primary{background:#ffc21f;color:#151515}.dark{background:#151515;color:white}.ghost{background:#f3f3f3}.shell{max-width:1200px;margin:auto;padding:20px}.top{display:flex;justify-content:space-between;align-items:center;gap:15px;background:white;padding:12px 22px;border-radius:20px;box-shadow:0 8px 30px #00000008}.logo{width:145px;max-height:55px;object-fit:contain}.pill{border-radius:30px;background:#fff4c9;padding:7px 12px;font-size:12px;font-weight:800}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav button{padding:10px 14px}.active{background:#ffc21f}.hero{padding:34px 4px 18px}.hero h1{font-size:clamp(30px,5vw,50px);letter-spacing:-2px;margin:0}.muted{color:#777}.layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.card{background:white;border:1px solid #eee;border-radius:22px;padding:23px;box-shadow:0 12px 30px #00000006;margin-bottom:16px}.card h2{margin:0 0 16px;font-size:21px;letter-spacing:-.6px}.field{display:block;margin:12px 0;font-size:13px;font-weight:700}.field input,.field select{width:100%;padding:14px;border:1px solid #ddd;border-radius:12px;margin-top:7px;background:#fafafa;outline-color:#ffc21f}.map{min-height:390px;border-radius:20px;position:relative;overflow:hidden;background:repeating-linear-gradient(28deg,transparent 0 43px,#e1e5e9 44px 50px,transparent 51px 100px),repeating-linear-gradient(117deg,#eef0eb 0 57px,#dce6e0 58px 65px,#eef0eb 66px 115px)}.map:before{content:'CÓRDOBA  ·  FORTÍN';position:absolute;top:16px;left:17px;background:white;padding:10px 13px;border-radius:10px;font-weight:800;font-size:11px;letter-spacing:1px}.pin{position:absolute;background:#ffc21f;padding:11px;border-radius:50%;box-shadow:0 5px 14px #0002}.pin.a{top:30%;left:30%}.pin.b{top:58%;left:65%;background:#171717;color:white}.route{position:absolute;top:46%;left:35%;width:32%;height:5px;background:#ffc21f;transform:rotate(26deg);border-radius:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:grid;gap:10px}.offer{padding:16px;border:1px solid #e9e9e9;border-radius:16px}.offer.featured{border:2px solid #ffc21f;background:#fffdf4}.price{font-size:28px;font-weight:850;letter-spacing:-1px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:white;border-radius:16px;padding:20px}.stat strong{display:block;font-size:27px}.notice{background:#fff7da;border-radius:14px;padding:13px;font-size:13px}.small{font-size:12px}.empty{padding:28px;text-align:center;color:#777;border:1px dashed #ddd;border-radius:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%}.tag{background:#e8f8ef;color:#147c49;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:800}.danger{color:#b23c36}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.tabs button{background:#eee}.tabs .selected{background:#ffc21f}.footer{padding:30px 0;text-align:center;color:#999;font-size:12px}@media(max-width:760px){.shell{padding:10px}.top{border-radius:15px;padding:12px}.logo{width:95px}.layout,.grid2{grid-template-columns:1fr}.map{min-height:250px}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:11px}.stat strong{font-size:20px}.hero{padding:22px 5px}.card{padding:17px}.nav button{padding:9px}}


/* RAYT mobile-first v0.3 — visual-only responsive layer */
:root{--rayt:#ffc21f;--ink:#101113}
html{scroll-behavior:smooth}body{overflow-x:hidden}
.eyebrow{display:block;color:#8b710d;font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:8px}
.mobile-tabs{display:none}
@media(max-width:700px){
 body{background:#f6f7f8;color:var(--ink);font-size:14px}
 .shell{width:100%;max-width:100%;padding:0 0 94px;margin:0;min-height:100dvh}
 .top{position:sticky;top:0;z-index:20;background:#fff;padding:12px 18px;min-height:66px;border-bottom:1px solid #eee;box-shadow:0 2px 15px #00000006}
 .top .logo{max-width:106px;max-height:43px;object-fit:contain}
 .top .nav,.top>.pill{display:none}
 .hero{padding:21px 20px 13px;margin:0;background:#fff}
 .hero h1{font-size:24px;letter-spacing:-.055em;line-height:1.1;margin:0 0 6px;font-weight:850}
 .hero p{font-size:12px;line-height:1.5;margin:0}
 .layout{display:flex;flex-direction:column;gap:12px;padding:12px}
 .card{border:1px solid #eceef0;border-radius:19px;padding:18px;background:#fff;box-shadow:0 4px 18px #00000006;margin:0;min-width:0}
 .card h2{font-size:19px;letter-spacing:-.04em;margin:0 0 13px}
 .card h3{font-size:15px}
 .row{gap:8px;flex-wrap:wrap}
 .field{font-size:12px;font-weight:650;margin:13px 0}
 .field input,.field select{width:100%;font-size:16px;min-height:48px;border:1px solid #e4e6e9;background:#f8f9fa;border-radius:12px;padding:12px;outline:none}
 .field input:focus,.field select:focus{border-color:#d9a500;box-shadow:0 0 0 3px #ffc21f24}
 button{min-height:42px;border-radius:12px;transition:transform .15s ease,filter .15s ease}
 button:active{transform:scale(.975)}
 button.primary{background:var(--rayt);color:#111;font-weight:800;border:0}
 button.full{min-height:49px}
 .notice{background:#fff8dd;border:1px solid #f6e8a8;border-radius:13px;padding:13px;line-height:1.6}
 .map{height:175px;border-radius:15px;overflow:hidden}
 .zone-card{order:-1;padding:12px}.zone-card h2{display:none}.zone-card .map{height:190px}.zone-card>p{margin:8px 4px 0}
 .mobile-welcome{padding:22px}.mobile-welcome h2{font-size:26px;line-height:1.05;max-width:260px}.mobile-welcome>p{line-height:1.6;margin-bottom:20px}
 .offer{border:1px solid #e9eaed;border-radius:15px;padding:13px;margin:10px 0;background:#fff}
 .offer.featured{border:2px solid var(--rayt);background:#fffdf5;box-shadow:0 3px 15px #ffc21f19}
 .pill,.tag{font-size:10px;border-radius:99px;padding:5px 9px}
 .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 12px 0}
 .stat{min-width:0;border-radius:14px;padding:12px 9px}.stat strong{font-size:23px}
 .grid2{grid-template-columns:1fr 1fr;gap:9px}
 .footer{font-size:10px;text-align:center;padding:14px 16px}
 .mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;align-items:center;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e9e9e9;box-shadow:0 -5px 22px #00000009}
 .mobile-tabs button{background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;color:#868686;font-size:20px;min-height:44px}
 .mobile-tabs button small{font-size:10px;font-weight:700}
 .mobile-tabs button.selected{color:#111}.mobile-tabs button.selected span{background:#ffc21f;border-radius:12px;padding:2px 16px}
}
@media(min-width:701px){.mobile-tabs{display:none}}

/* v0.7 · Negotiation cards */
.offer-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 14px;font-size:12px;font-weight:750;color:#737780}.live-dot{color:#168653;font-size:11px}.ride-offer{border:1px solid #e9ebef;background:#fff;border-radius:19px;padding:15px;margin:11px 0;box-shadow:0 5px 18px #16161608;animation:offerIn .3s ease both}.ride-offer.is-referral{border:2px solid #ffc21f;background:linear-gradient(145deg,#fffdf3,#fff 62%)}.ride-offer-top{display:flex;align-items:center;gap:10px}.avatar-car{width:43px;height:43px;flex:0 0 43px;border-radius:14px;background:#f1f2f4;display:grid;place-items:center;font-size:20px}.is-referral .avatar-car{background:#ffc21f}.driver-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.driver-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-info small{color:#848890;font-size:11px}.referral-label,.normal-label{white-space:nowrap;border-radius:30px;padding:6px 8px;font-size:10px;font-weight:800}.referral-label{background:#ffc21f;color:#171717}.normal-label{background:#edf8f0;color:#20844e}.ride-offer-price{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid #eff0f2}.ride-offer-price>div{display:flex;flex-direction:column;gap:3px}.ride-offer-price small{color:#777;font-size:10px}.ride-offer-price strong{font-size:24px;letter-spacing:-.8px}.choose-btn{font-size:12px;padding:12px}.counter-form{margin-top:14px}.counter-form label{font-size:11px;color:#626873;font-weight:700}.counter-input{display:flex;align-items:center;gap:7px;margin-top:7px}.counter-input span{font-weight:800}.counter-input input{width:0;min-width:0;flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:11px;font-size:16px}.counter-input button{font-size:11px;padding:12px}.counter-status{padding:10px 12px;border-radius:11px;background:#fff4cd;margin-top:12px;font-size:11px;line-height:1.5}@keyframes offerIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.ride-offer{padding:13px}.referral-label{font-size:9px}.ride-offer-price strong{font-size:22px}}

/* v0.8 · Trip progress */
.trip-progress{display:flex;justify-content:space-between;position:relative;margin:20px 0 5px;gap:4px}.trip-progress:before{content:"";position:absolute;top:15px;left:12%;right:12%;height:2px;background:#e7e8eb}.trip-step{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:7px;flex:1;min-width:0;color:#8a8e95}.trip-step small{text-align:center;font-size:10px;font-weight:650}.step-dot{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f1f2f4;border:2px solid #e5e7eb;color:#7c818a;font-size:11px;font-weight:800}.trip-step.done .step-dot{background:#ffc21f;border-color:#ffc21f;color:#171717}.trip-step.current .step-dot{box-shadow:0 0 0 4px #ffc21f35}.trip-step.done{color:#242424}.trip-updated{font-size:10px;color:#8a8e95;text-align:right;margin:9px 0 13px}

/* RAYT v0.9 — Premium mobile visual system */
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16191e;background:#f5f6f8;font-synthesis:none}
body{background:#f5f6f8;color:#16191e;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit}button{min-height:43px;border-radius:13px;letter-spacing:-.01em;transition:background .18s,box-shadow .18s,transform .18s}button:active{transform:scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffc53399;outline-offset:2px}
.primary{background:#ffc629;color:#151515;box-shadow:0 4px 12px #ffc62928}.primary:hover{background:#f6b900;box-shadow:0 7px 16px #ffc62935}
.ghost{background:#f3f4f6;color:#252932}.dark{background:#1b1d21}
.shell{max-width:1080px;padding:18px 22px 32px}.top{border:1px solid #f0f0f1;border-radius:21px;box-shadow:0 4px 18px #17171706;padding:12px 18px}.logo{max-width:118px;max-height:46px}.pill{background:#fff2c2;color:#654b00;font-size:10px;letter-spacing:.045em}
.hero{padding:27px 5px 20px}.hero h1{font-size:clamp(26px,4vw,37px);letter-spacing:-1.4px;line-height:1.12;font-weight:850}.hero p{font-size:13px;line-height:1.55;margin:10px 0 0;max-width:430px}
.layout{gap:15px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.layout>*,.layout>div{min-width:0}
.card{border:1px solid #eceef1;border-radius:22px;padding:20px;box-shadow:0 7px 26px #10182007;margin-bottom:14px}.card h2{font-size:17px;letter-spacing:-.45px;line-height:1.3;margin-bottom:16px}.card h2 .pill{vertical-align:middle}
.field{font-size:11px;letter-spacing:.005em;color:#545b65;font-weight:750;margin:13px 0}.field input,.field select{font-size:14px;color:#1d2026;background:#f8f9fb;border:1px solid #e8ebef;border-radius:13px;padding:13px 14px;margin-top:8px;min-height:47px;transition:border-color .15s,background .15s,box-shadow .15s}.field input:focus,.field select:focus{background:white;border-color:#e6b523;box-shadow:0 0 0 3px #ffce442b;outline:0}.field input::placeholder{color:#a0a5ae}
.notice{background:#fff8e5;color:#514322;border:1px solid #ffedbb;border-radius:15px;padding:14px;line-height:1.6}.muted{color:#7c838e}.small{line-height:1.55}.map{min-height:235px;border-radius:17px;background:repeating-linear-gradient(28deg,transparent 0 43px,#e1e5e9 44px 50px,transparent 51px 100px),repeating-linear-gradient(117deg,#eef0eb 0 57px,#dce6e0 58px 65px,#eef0eb 66px 115px)}
.map:before{font-size:9px;letter-spacing:.12em;box-shadow:0 2px 12px #00000009}.offer{padding:15px;margin-bottom:10px;background:#fff;border:1px solid #eceef0;border-radius:16px}.offer p{line-height:1.5}.offer .price{font-size:24px;display:block;margin:5px 0}.offer .field{margin:12px 0}.offer .tag{display:inline-block;margin-top:10px}
.stats{gap:10px}.stat{border:1px solid #eceef1;box-shadow:0 4px 15px #11111105;border-radius:17px}.stat strong{letter-spacing:-.8px}.tag{background:#e7f7ee;color:#18784b}.empty{border:1px dashed #e3e6e9;background:#fafbfc;color:#9297a0;border-radius:15px;font-size:12px;line-height:1.5}
.ride-offer{box-shadow:0 7px 24px #1b263009;border-color:#eaedf0}.ride-offer.is-referral{background:linear-gradient(135deg,#fff9e7 0%,#fff 58%);border-color:#ffc629}.avatar-car{border-radius:13px}.driver-info strong{font-size:13px}.ride-offer-price strong{font-size:25px}.counter-form{padding-top:11px;border-top:1px solid #f1f2f4}.counter-input input{background:#fafbfc}.counter-status{border:1px solid #f8e6a5}.offer-heading{margin-top:15px}
.trip-progress{margin-top:24px}.step-dot{width:30px;height:30px}.trip-step small{font-size:9px}.footer{padding:18px 0 6px;color:#b2b6be;font-size:10px}
@media(max-width:760px){
 body{background:#f4f5f7}.shell{padding:10px 12px 22px}.top{padding:10px 13px;border-radius:16px;min-height:58px}.logo{width:95px}.hero{padding:20px 5px 17px}.hero h1{font-size:29px;letter-spacing:-1.15px}.hero p{font-size:12px;margin-top:7px}.layout,.grid2{grid-template-columns:minmax(0,1fr);gap:0}.card{padding:17px;border-radius:19px;margin-bottom:11px}.card h2{font-size:16px;margin-bottom:13px}.map{min-height:190px}.stats{gap:7px}.stat{padding:11px 9px}.stat strong{font-size:23px}.stat .small{font-size:9px}.row{gap:7px}.row h2{margin-bottom:0}.row button{padding:10px 12px;font-size:11px}.offer{padding:13px}.ride-offer{border-radius:17px}.ride-offer-price{align-items:center}.ride-offer-price strong{font-size:23px}.choose-btn{padding:11px 12px}.counter-input button{padding:10px}.nav{gap:3px}.nav button{font-size:10px;padding:7px 9px;min-height:34px}.top .pill{padding:6px 8px;font-size:9px}.footer{font-size:9px}
}
@media(max-width:370px){.top{gap:5px}.logo{width:78px}.hero h1{font-size:26px}.ride-offer-price strong{font-size:21px}.counter-input button{font-size:10px;padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.driver-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#f3f4f6;padding:5px;border-radius:14px;margin-bottom:17px}.driver-tabs button{min-height:40px;font-size:12px}.driver-tabs .ghost{background:transparent}.empty{padding:18px 13px}

/* v1.1 · Client booking bottom sheet */
.rayt-client{position:relative;min-height:calc(100dvh - 125px);overflow:hidden;border-radius:24px;background:#eef2ef}.client-map{height:43vh;min-height:260px;max-height:430px;position:relative;overflow:hidden}.client-map .map{height:100%;min-height:100%;border-radius:0;opacity:.9}.map-brand{position:absolute;top:16px;left:50%;transform:translateX(-50%);font-size:24px;font-weight:950;font-style:italic;letter-spacing:-1.3px;background:#fff;padding:5px 14px;border-radius:11px;box-shadow:0 4px 14px #0001}.map-brand span{color:#ffc629}.map-pin{position:absolute;background:white;border-radius:12px;padding:8px 11px;box-shadow:0 4px 15px #0002;font-size:12px;font-weight:800}.map-pin span{color:#333}.map-pin.pickup{top:28%;left:13%;color:#ffbf00}.map-pin.dropoff{top:62%;right:10%;color:#171717}.booking-sheet{position:relative;margin-top:-38px;z-index:2;background:#fff;border-radius:27px 27px 0 0;min-height:470px;padding:13px 19px 25px;box-shadow:0 -8px 28px #1018200d}.sheet-handle{width:44px;height:5px;border-radius:9px;background:#d4d8dc;margin:0 auto 19px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.sheet-head h1{font-size:24px;line-height:1.15;letter-spacing:-.8px;margin:5px 0 0}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#9297a0}.client-profile{width:40px;height:40px;min-height:40px;border-radius:50%;background:#f5f6f8;border:1px solid #eaedf0;font-size:22px}.route-fields{border:1px solid #e9ecf0;border-radius:16px;padding:2px 13px;margin-bottom:13px}.route-fields label{display:flex;align-items:center;gap:12px;padding:10px 0}.route-fields label+label{border-top:1px solid #eceef1}.route-dot{width:11px;height:11px;border-radius:50%;flex:0 0 11px}.route-dot.yellow{background:#ffc629}.route-dot.black{background:#171717}.route-fields label span{font-size:10px;color:#858b94;font-weight:700;flex:1}.route-fields input{display:block;width:100%;border:0;background:transparent;padding:5px 0 0;outline:0;font-size:13px;font-weight:750;color:#181b20}.booking-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.booking-two .field{margin:0 0 11px}.booking-two input{margin-top:7px}.suggested-row{display:flex;align-items:center;justify-content:space-between;background:#fff9e8;border:1px solid #fff0bd;border-radius:14px;padding:12px 13px;margin-bottom:11px}.suggested-row span{font-size:12px;font-weight:750}.suggested-row small{display:block;color:#969087;font-size:9px;font-weight:500;margin-top:4px}.suggested-row strong{font-size:20px}.pay-choice{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e9ecf0;border-radius:13px;font-size:12px;font-weight:750;margin-bottom:12px}.pay-choice span{flex:1}.pay-choice select{border:0;background:transparent;font-size:12px;font-weight:750;max-width:115px}.booking-action{min-height:53px;display:flex;justify-content:center;align-items:center;gap:18px;font-size:14px}.booking-action span{font-size:20px}.route-summary{display:grid;gap:10px;background:#f7f8f9;border-radius:14px;padding:14px;font-size:12px;font-weight:750}.route-summary span:first-child{color:#b18b00}.searching-badge{display:grid;place-items:center;width:75px;height:75px;border-radius:50%;background:#fff4c8;border:1px solid #ffdf67;margin:21px auto 11px;font-size:36px;box-shadow:0 0 0 11px #fff9e9}.searching-copy{text-align:center;font-size:12px;line-height:1.5;color:#757c86;max-width:270px;margin:12px auto}.search-timer{text-align:center;font-size:11px;color:#757c86;margin:14px 0}.search-timer strong{color:#141414}.assigned-summary{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.booking-alert{background:#fff5d6;border-radius:12px;padding:11px;font-size:11px;margin-bottom:12px}@media(max-width:760px){.shell{padding:0}.rayt-client{border-radius:0;min-height:100dvh}.client-map{height:39vh;min-height:250px}.booking-sheet{padding:13px 18px 90px;min-height:65vh}.top:has(+ .hero){}body:has(.rayt-client) .hero{display:none}body:has(.rayt-client) .top{display:none}body:has(.rayt-client) .footer{display:none}}@media(min-width:761px){.rayt-client{max-width:430px;margin:auto;box-shadow:0 20px 60px #0002}.booking-sheet{min-height:490px}}

/* v1.2: keep proposal state concise */
.offers-intro{font-size:12px;color:#727985;margin:14px 0 7px;line-height:1.45}.booking-sheet:has(.ride-offer) .offer-heading{margin:8px 0 12px}.booking-sheet:has(.ride-offer) .route-summary{padding:10px 13px;gap:5px;font-size:11px}

/* v1.3 · Driver mobile experience */
.driver-workspace{max-width:440px;margin:auto;min-height:100dvh;background:#edf2ef;overflow:hidden;border-radius:22px;box-shadow:0 12px 40px #00000012}.driver-map{height:37vh;min-height:245px;max-height:380px;position:relative}.driver-map .map{height:100%;min-height:100%;border-radius:0}.driver-map-logo{position:absolute;top:14px;left:18px;background:white;border-radius:12px;padding:7px 12px;font-size:22px;font-weight:950;font-style:italic;letter-spacing:-1px}.driver-map-logo span{color:#ffc629}.driver-status{position:absolute;top:15px;right:14px;background:white;border-radius:30px;padding:7px 9px 7px 12px;box-shadow:0 4px 16px #0001;font-size:11px;font-weight:800;display:flex;align-items:center;gap:7px}.driver-status button{border:0;background:#f4f5f7;border-radius:50%;min-height:26px;width:26px;padding:0}.online-dot{width:9px;height:9px;border-radius:50%;background:#21a16b}.online-dot.offline{background:#b0b4bb}.driver-sheet{position:relative;margin-top:-33px;background:#fff;border-radius:26px 26px 0 0;padding:12px 17px 28px;min-height:62vh;box-shadow:0 -6px 28px #0000000c}.driver-identity{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px;gap:10px}.driver-identity h1{font-size:22px;letter-spacing:-.6px;margin:4px 0}.driver-identity small{color:#8c929a;font-size:11px}.driver-identity button{font-size:11px}.driver-tabs{grid-template-columns:1fr 1fr 1fr;margin-bottom:20px}.driver-tabs button{padding:8px 4px;font-size:10px}.driver-list-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.driver-list-head h2,.driver-section-title{font-size:17px;letter-spacing:-.4px;margin:12px 0}.driver-request{border:1px solid #e7e9ed;border-radius:18px;padding:15px;margin-bottom:12px;background:#fff;box-shadow:0 5px 19px #00000007}.driver-request:first-of-type{border-color:#ffc629;background:linear-gradient(135deg,#fffbeb,#fff 62%)}.driver-request-head{display:flex;align-items:center;gap:9px}.driver-client-avatar{height:38px;width:38px;display:grid;place-items:center;background:#f2f3f5;border-radius:50%;font-size:20px}.driver-client-name{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.driver-client-name strong{font-size:13px}.driver-client-name small{font-size:10px;color:#8a9098}.request-clock{border-radius:20px;background:#fff0b6;padding:7px 9px;font-size:11px;font-weight:850;white-space:nowrap}.driver-route{margin:15px 0 12px;border:1px solid #eef0f2;border-radius:12px;padding:10px 12px;display:grid;gap:13px}.driver-route>div{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:700;min-width:0}.driver-route span{overflow-wrap:anywhere}.driver-route i{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.driver-route i.yellow{background:#ffc629}.driver-route i.black{background:#17191c}.driver-request-meta{display:flex;gap:14px;color:#777e88;font-size:11px;margin-bottom:12px}.driver-fare{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid #edf0f2}.driver-fare>div{display:flex;flex-direction:column;gap:4px}.driver-fare small{color:#828891;font-size:10px}.driver-fare strong{font-size:24px;letter-spacing:-.6px}.driver-proposal-label{display:block;font-size:11px;font-weight:750;color:#646b75;margin-bottom:11px}.driver-proposal-label input{display:block;width:100%;margin-top:6px;border:1px solid #e7eaee;border-radius:11px;background:#fafbfc;padding:12px;font-size:15px}.driver-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.driver-actions button{font-size:12px}.driver-sent{display:grid;grid-template-columns:1fr auto;gap:4px;border:1px solid #edf0f2;border-radius:13px;padding:12px;margin-bottom:8px;font-size:12px}.driver-sent small{grid-column:1/-1;color:#858b94}.driver-sent span{font-weight:850}.driver-workspace .empty{font-size:12px}@media(max-width:760px){body:has(.driver-workspace) .top,body:has(.driver-workspace) .hero,body:has(.driver-workspace) .footer{display:none}.driver-workspace{border-radius:0;max-width:none}.driver-sheet{padding-bottom:90px}}

/* v1.5 referred client on driver's own phone */
.driver-request.driver-referred{border:2px solid #ffc629;background:linear-gradient(135deg,#fff4c9 0%,#fffaf0 38%,#fff 80%);box-shadow:0 7px 24px #d7a10020}.driver-ref-banner{display:inline-flex;align-items:center;background:#ffc629;color:#171717;border-radius:9px;padding:7px 10px;margin-bottom:12px;font-size:11px;font-weight:850;letter-spacing:.01em}.driver-referred .driver-client-avatar{background:#ffdc65}.driver-referred .driver-client-name small{color:#a27500;font-weight:750}

/* v1.6 Compact request cards and detail bottom sheet */
.compact-request{display:block;text-align:left;width:100%;height:auto;min-height:0;padding:12px 13px;margin:0 0 9px;border:1px solid #e8ebef;background:#fff;border-radius:16px;box-shadow:0 4px 13px #11111107;color:#17191d}.compact-request.compact-referred{border:1.5px solid #ffc629;background:linear-gradient(115deg,#fff9e9,#fff 70%)}.compact-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.compact-ref,.compact-label{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:850}.compact-ref{background:#ffdc69;color:#282000}.compact-label{background:#f2f3f5;color:#777d86}.compact-top .request-clock{font-size:10px;padding:5px 8px}.compact-content{display:flex;gap:9px;align-items:center}.compact-route{flex:1;min-width:0;display:grid;gap:10px}.compact-route>div{display:flex;align-items:center;gap:8px;min-width:0}.compact-route i{width:9px;height:9px;border-radius:50%;flex:none}.compact-route i.yellow{background:#ffc629}.compact-route i.black{background:#18191b}.compact-route span{font-size:11px;font-weight:750;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.compact-numbers{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.compact-numbers strong{font-size:19px;letter-spacing:-.5px}.compact-numbers small{font-size:10px;color:#7f858e}.compact-chevron{font-size:24px;color:#9da2a9;line-height:1}.request-overlay{position:fixed;inset:0;background:#15191d80;z-index:100;display:flex;align-items:flex-end;justify-content:center}.request-detail{width:min(440px,100%);max-height:92dvh;overflow-y:auto;background:white;border-radius:25px 25px 0 0;padding:13px 19px 25px;box-shadow:0 -15px 50px #0003}.detail-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 0 16px}.request-detail h2{font-size:20px;letter-spacing:-.5px}.request-detail .driver-route{padding:15px;margin:14px 0}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #eceef0;border-bottom:1px solid #eceef0;padding:16px 0;margin:14px 0}.detail-facts>div{display:grid;gap:5px}.detail-facts small{font-size:10px;color:#888f99}.detail-facts strong{font-size:14px}.detail-ref-note{padding:12px;background:#fff4ce;border-radius:12px;margin:10px 0 17px;font-size:11px;font-weight:800}.detail-close{width:100%;background:transparent;color:#828891;font-size:11px;margin-top:8px;min-height:32px}@media(max-width:760px){.request-detail{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* v1.7 · Conductor: native-style bottom navigation */
.driver-workspace{padding-bottom:90px}.driver-sheet{padding-bottom:25px}.driver-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:9px max(13px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left));background:#fff;border-top:1px solid #edf0f2;box-shadow:0 -7px 23px #141a240d;max-width:440px;margin:auto}.driver-bottom-nav button{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:52px;padding:5px 2px;background:transparent;border:0;border-radius:12px;color:#838994;font-size:10px;font-weight:750;box-shadow:none}.driver-bottom-nav button.active{background:#fff4ce;color:#17191c}.driver-bottom-nav .nav-symbol{font-size:19px;line-height:1.1}.driver-bottom-nav em{position:absolute;top:2px;left:calc(50% + 12px);font-style:normal;background:#ffc629;color:#17191c;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border-radius:20px;font-size:9px}.driver-bottom-nav .active-indicator{position:absolute;top:5px;left:calc(50% + 12px);width:7px;height:7px;border-radius:50%;background:#1ea46e}@media(min-width:761px){.driver-bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(440px,100%)}}@media(max-width:760px){.driver-workspace{padding-bottom:90px}.driver-sheet{padding-bottom:25px}.driver-bottom-nav{max-width:none}}

/* v1.9 · editable suggested fare in one compact row */
.suggested-row.editable-fare{gap:10px;min-height:75px}.editable-fare>label{flex:1;min-width:0}.editable-fare>label span{display:block;font-size:12px;font-weight:800}.editable-fare>label small{line-height:1.4}.fare-edit{display:flex;align-items:center;gap:3px;background:#fff;border:1px solid #f1d67d;border-radius:12px;padding:7px 9px;min-width:115px;max-width:155px}.fare-edit>span:first-child{font-weight:850;font-size:17px}.fare-edit input{width:100%;min-width:0;border:0;background:transparent;outline:0;font-size:20px;font-weight:850;color:#18191c;text-align:right;padding:0;appearance:textfield;-moz-appearance:textfield}.fare-edit input::-webkit-inner-spin-button,.fare-edit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fare-edit:focus-within{outline:2px solid #ffc629;outline-offset:2px}.fare-currency{font-size:9px;font-weight:800;color:#8a8170;align-self:flex-end;margin-bottom:3px}

/* v2.2: animated ten-second request countdown */
.wait-progress.searching-badge{--wait-angle:360deg;position:relative;display:grid;place-items:center;width:92px;height:92px;margin:16px auto 9px;border-radius:50%;background:conic-gradient(#ffc629 0deg var(--wait-angle),#eef0f3 var(--wait-angle) 360deg);box-shadow:0 0 0 5px #ffcf4330;transition:background .1s linear;animation:wait-halo 1.8s ease-in-out infinite}.wait-progress-inner{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;width:78px;height:78px;border-radius:50%;background:#fff9e6;gap:1px}.wait-taxi{display:block;font-size:26px;line-height:1.25;animation:taxi-bob .7s ease-in-out infinite alternate}.wait-seconds{font-size:12px;font-weight:900;color:#222;line-height:1.2;font-variant-numeric:tabular-nums}.wait-progress.wait-urgent{background:conic-gradient(#ee7040 0deg var(--wait-angle),#eef0f3 var(--wait-angle) 360deg);box-shadow:0 0 0 5px #ee704026}.wait-urgent .wait-seconds{color:#d45128}@keyframes taxi-bob{to{transform:translateY(-3px)}}@keyframes wait-halo{50%{box-shadow:0 0 0 10px #ffcf4312}}@media(prefers-reduced-motion:reduce){.wait-progress.searching-badge,.wait-taxi{animation:none}}

/* v2.4 · incoming request with direct actions */
.quick-request{padding:12px;margin:0 0 11px;background:#fff;border:1px solid #e7eaf0;border-radius:17px;box-shadow:0 5px 17px #11111108}.quick-request.quick-referred{border-color:#f4c94e;background:linear-gradient(125deg,#fff9e9,#fff 70%)}.quick-head,.quick-body,.quick-actions,.quick-counter-line{display:flex;align-items:center;justify-content:space-between;gap:9px}.quick-head{margin-bottom:13px}.quick-head .request-clock{font-size:11px;background:#fff1c4;padding:5px 9px;border-radius:30px}.quick-body{margin-bottom:13px}.quick-body .compact-route{gap:12px}.quick-body .compact-route span{font-size:12px}.quick-body .compact-numbers strong{font-size:20px}.quick-actions>button{flex:1;min-width:0;min-height:40px;border:0;border-radius:12px;font-size:11px;font-weight:850;padding:9px 5px;cursor:pointer}.quick-counter{background:#f0f2f6;color:#20242b}.quick-accept{background:#ffcb26;color:#171717}.quick-counter-panel{padding:12px 0 0;margin-top:10px;border-top:1px solid #edf0f2}.quick-counter-panel[hidden]{display:none!important}.quick-counter-panel label{font-size:11px;font-weight:800;display:block;margin-bottom:7px}.quick-counter-line input{min-width:0;width:80px;flex:1;border:1px solid #e1e3e8;border-radius:10px;padding:10px;font-size:16px;font-weight:800}.quick-counter-line button{border:0;background:#ffcb26;border-radius:10px;padding:12px 10px;font-size:11px;font-weight:850;flex:1.5}.quick-request button:focus-visible{outline:2px solid #d9a500;outline-offset:2px}

/* v2.5 · client proposal cards: accept only */
.client-offer-card{padding:13px!important;border-radius:17px!important;margin-bottom:11px!important;box-shadow:0 5px 18px #17191c0a!important}.client-offer-card.is-referral{background:linear-gradient(125deg,#fff9e8,#fff 75%)}.client-offer-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.client-offer-tag{font-size:10px;font-weight:850;background:#fff0bc;color:#6b5000;border-radius:30px;padding:5px 9px}.client-offer-responded{font-size:10px;font-weight:800;color:#12825a;background:#e7f8ed;padding:5px 8px;border-radius:30px}.client-offer-driver{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid #edf0f3}.client-offer-driver .avatar-car{width:41px;height:41px;flex:none;border-radius:13px;background:#f3f4f6;display:grid;place-items:center;font-size:21px}.client-offer-driver .driver-info{display:grid;gap:3px}.client-offer-driver .driver-info strong{font-size:13px}.client-offer-driver .driver-info small{font-size:10px;color:#7d8490}.client-offer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.client-offer-price,.client-offer-distance{display:grid;gap:4px}.client-offer-price small,.client-offer-distance small{font-size:10px;color:#858c97}.client-offer-price strong{font-size:24px;letter-spacing:-.8px;line-height:1.1}.client-offer-distance{border-left:1px solid #e8ebef;padding-left:14px;min-width:92px}.client-offer-distance strong{font-size:13px}.client-offer-accept{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border-radius:12px;min-height:42px;font-size:12px;font-weight:850;background:#ffc629;color:#161616}.client-offer-accept span{font-size:18px}.offers-intro{margin:7px 0 12px!important;font-size:11px!important;color:#747c87!important}

/* v2.7: spacious reference-inspired client offer cards, sized for simulator */
.client-offer-card{padding:14px!important;border:1px solid #e5e8ee!important;border-radius:20px!important;background:#fff!important;box-shadow:0 5px 20px #17191c0b!important}
.client-offer-card:first-child,.client-offer-card.is-referral{border-color:#f6c342!important;background:linear-gradient(120deg,#fffaf0,#fff 78%)!important}
.client-offer-status{margin-bottom:10px}.client-offer-tag{background:#ffcf3e;color:#3b2c00;font-size:10px;padding:6px 10px}.client-offer-responded{font-size:10px;padding:6px 9px}
.client-offer-driver{gap:11px;padding:2px 0 13px}.client-offer-driver .avatar-car{width:48px;height:48px;border-radius:50%;font-size:24px;background:#f1f2f4}.client-offer-driver .driver-info strong{font-size:13px}.client-offer-driver .driver-info small{font-size:11px}
.client-offer-bottom{padding:14px 0 13px;align-items:center}.client-offer-price{flex:1}.client-offer-price small{font-size:10px}.client-offer-price strong{font-size:27px;line-height:1.15;letter-spacing:-.7px}.client-offer-distance{display:flex;gap:7px;align-items:center;flex:1;min-width:0;padding-left:12px}.client-offer-distance>div{display:grid;gap:5px}.client-offer-distance strong{font-size:13px}.offer-distance-icon{font-size:20px;font-weight:800;color:#272a30}
.client-offer-accept{min-height:43px;border-radius:24px;font-size:12px;background:#ffca27!important}

/* v2.8: static map and independently scrolling offer list */
html:has(.client-has-offers),body:has(.client-has-offers){height:100%;overflow:hidden!important;overscroll-behavior:none}
body:has(.client-has-offers) .rayt-client{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:none}
.client-has-offers .client-map{height:38dvh;min-height:180px;max-height:290px;flex:none;overflow:hidden}
.client-has-offers .booking-sheet{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:-28px;padding-bottom:max(15px,env(safe-area-inset-bottom));overflow:hidden}
.client-has-offers .sheet-handle,.client-has-offers .sheet-head{flex:none}
.client-has-offers .sheet-head{margin-bottom:9px}
.client-has-offers .client-offers-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:3px 3px 8px;margin:0 -3px 8px;scrollbar-width:thin}
.client-has-offers .booking-sheet>.ghost.full{flex:none;margin-top:auto}
@media(max-height:600px){.client-has-offers .client-map{height:31dvh;min-height:130px}.client-has-offers .sheet-handle{margin-bottom:10px}.client-has-offers .sheet-head{margin-bottom:5px}}

/* v2.9: compact proposal cards; preserve fixed map and inner scroll */
.client-has-offers .client-offer-card{padding:10px 11px!important;border-radius:15px!important;margin-bottom:8px!important;box-shadow:0 3px 12px #17191c08!important}
.client-has-offers .client-offer-status{margin-bottom:5px!important}
.client-has-offers .client-offer-tag,.client-has-offers .client-offer-responded{padding:4px 7px!important;font-size:9px!important}
.client-has-offers .client-offer-driver{gap:8px!important;padding:0 0 7px!important}
.client-has-offers .client-offer-driver .avatar-car{width:35px!important;height:35px!important;font-size:18px!important}
.client-has-offers .client-offer-driver .driver-info strong{font-size:12px!important}
.client-has-offers .client-offer-driver .driver-info small{font-size:10px!important}
.client-has-offers .client-offer-bottom{padding:8px 0!important;gap:7px!important}
.client-has-offers .client-offer-price,.client-has-offers .client-offer-distance>div{gap:2px!important}
.client-has-offers .client-offer-price strong{font-size:22px!important}
.client-has-offers .client-offer-price small,.client-has-offers .client-offer-distance small{font-size:9px!important}
.client-has-offers .client-offer-distance{gap:5px!important;padding-left:9px!important}
.client-has-offers .offer-distance-icon{font-size:15px!important}
.client-has-offers .client-offer-distance strong{font-size:12px!important}
.client-has-offers .client-offer-accept{min-height:35px!important;border-radius:11px!important;font-size:11px!important}
.client-has-offers .client-offer-accept span{font-size:15px!important}

/* v3.0: ultra-compact offers: name, taxi, model, rating, fare */
.client-has-offers .client-offer-card{padding:9px 10px!important;margin-bottom:7px!important}
.client-has-offers .client-offer-status{margin-bottom:5px!important}
.client-has-offers .client-offer-driver{display:flex!important;align-items:center!important;gap:8px!important;padding:0 0 8px!important;border-bottom:0!important}
.client-has-offers .client-offer-driver .avatar-car{width:34px!important;height:34px!important;flex:0 0 34px!important}
.client-has-offers .driver-info{flex:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}
.client-has-offers .driver-info strong{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-has-offers .driver-info small{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-has-offers .offer-rating{font-size:9px;font-weight:750;color:#c38b00}
.client-has-offers .offer-quick-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.client-has-offers .offer-quick-price small{font-size:9px;color:#858b94}
.client-has-offers .offer-quick-price strong{font-size:19px;letter-spacing:-.5px;color:#17191c}
.client-has-offers .client-offer-accept{min-height:32px!important;border-radius:10px!important}

/* v3.2 name + subdued fleet number */
.client-has-offers .offer-taxi-number{display:inline-block;margin-left:5px;padding-left:7px;border-left:1px solid #d6d9df;color:#9299a4;font-weight:650;font-size:10px;vertical-align:1px;letter-spacing:.2px}

/* v3.3: subtle referral gem, no proposal status row */
.client-has-offers .client-offer-card{position:relative!important}
.client-has-offers .client-offer-card.is-referral{border:1.5px solid #e5b93e!important;box-shadow:0 0 0 2px #ffdb6b24,0 5px 18px #17191c0a!important;background:linear-gradient(115deg,#fffdf5,#fff 60%)!important}
.client-has-offers .offer-ref-gem{position:absolute;right:-5px;top:-7px;display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#f9cc47;border:2px solid white;box-shadow:0 2px 7px #0002;color:#765300;font-size:15px;font-weight:900;transform:rotate(12deg);z-index:2}
.client-has-offers .offer-ref-gem::first-letter{transform:rotate(-12deg)}

/* v3.5 — client trip tracking, fixed map and independently scrollable sheet */
.rayt-client:has(.active-trip){height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.rayt-client:has(.active-trip) .client-map{flex:0 0 34%!important;min-height:135px!important;overflow:hidden!important}
.rayt-client:has(.active-trip) .booking-sheet{position:relative!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-bottom:22px!important}
.rayt-client:has(.active-trip) .sheet-head{display:none!important}
.active-trip{padding:2px 1px 15px;color:#171a21}.active-heading h1{font-size:20px;line-height:1.2;letter-spacing:-.5px;margin:8px 0 5px}.active-heading p{font-size:11px;color:#828995;margin:0 0 16px}
.active-driver{display:flex;align-items:center;gap:9px;border:1px solid #f5d782;background:linear-gradient(110deg,#fff9e9,#fff);border-radius:15px;padding:11px 9px;margin-bottom:12px}
.active-car-icon{height:38px;width:38px;flex:none;display:grid;place-items:center;border-radius:50%;background:#ffe6a0;font-size:19px}
.active-driver-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.active-driver-info strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-driver-info small{font-size:9px;color:#808791}.active-driver-number{font-weight:550;color:#8a919b}.active-driver-info .active-rating{color:#b98500}
.active-agreed{flex:none;text-align:right;display:grid;gap:3px}.active-agreed small{font-size:9px;color:#8a919b}.active-agreed strong{font-size:16px}
.active-route{background:#f7f8fa;border-radius:13px;padding:12px 11px;display:grid;gap:12px;margin-bottom:12px}.active-route>div{display:flex;gap:9px;align-items:center}.active-route i{height:9px;width:9px;border-radius:50%;flex:none}.active-route i.yellow{background:#ffc629}.active-route i.black{background:#17191d}.active-route span{min-width:0;display:grid;gap:3px}.active-route small{font-size:9px;color:#9197a0}.active-route strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-status{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;margin:14px 0 17px}.active-pulse{height:9px;width:9px;border-radius:50%;background:#ffc629;box-shadow:0 0 0 0 #ffc62988;animation:raytStatusPulse 1.8s infinite}@keyframes raytStatusPulse{70%{box-shadow:0 0 0 9px #ffc62900}100%{box-shadow:0 0 0 0 #ffc62900}}
.active-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;margin:0 0 15px}.active-progress:before{content:"";position:absolute;top:13px;left:12%;right:12%;height:2px;background:#e6e8ec}.active-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.active-step-dot{height:27px;width:27px;border-radius:50%;display:grid;place-items:center;background:#f2f3f6;border:1px solid #e0e3e9;color:#8d94a0;font-size:10px;font-weight:850}.active-step.done .active-step-dot{background:#ffe8a1;border-color:#ffca27;color:#17191d}.active-step.current .active-step-dot{background:#ffc629;box-shadow:0 0 0 4px #fff4d0}.active-step small{font-size:9px;color:#9197a0}.active-step.current small{font-weight:800;color:#17191d}.active-footnote{font-size:9px;color:#9ba1aa;text-align:center}
@media(prefers-reduced-motion:reduce){.active-pulse{animation:none}}

/* v3.6 — Reference-matched active ride composition (responsive to 300px simulator) */
html:has(.client-active-ride),body:has(.client-active-ride){height:100%;overflow:hidden!important}
body:has(.client-active-ride) .shell{height:100dvh;min-height:0;padding-bottom:0!important;overflow:hidden}
.client-active-ride{height:100dvh!important;max-height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.client-active-ride .client-map{position:relative;flex:0 0 38%!important;min-height:160px!important;max-height:none!important;overflow:hidden!important}
.client-active-ride .client-map .map{height:100%!important;min-height:100%!important;border-radius:0!important}
.client-active-ride .map-pin.pickup{top:31%;left:18%}.client-active-ride .map-pin.dropoff{top:65%;left:69%}
.client-active-ride .active-map-car{position:absolute;left:49%;top:49%;height:36px;width:36px;border-radius:50%;display:grid;place-items:center;background:#ffdf76;box-shadow:0 0 0 8px #ffcf452f,0 3px 12px #0002;font-size:19px;transform:rotate(-14deg);animation:activeCarFloat 2.3s ease-in-out infinite;pointer-events:none}
.client-active-ride .active-map-note{position:absolute;bottom:31px;right:12px;padding:4px 7px;border-radius:7px;background:#ffffffd9;color:#7d8590;font-size:8px}
@keyframes activeCarFloat{50%{transform:translate(4px,-3px) rotate(-10deg)}}
.client-active-ride .booking-sheet{position:relative!important;z-index:2;flex:1 1 auto!important;min-height:0!important;margin-top:-24px!important;padding:13px 15px 20px!important;border-radius:26px 26px 0 0!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin}
.client-active-ride .sheet-handle{margin:0 auto 20px!important;width:38px!important;height:4px!important;background:#d0d5dc!important}
.client-active-ride .sheet-head{display:none!important}
.client-active-ride .active-trip{padding:0!important}
.client-active-ride .active-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}
.client-active-ride .active-heading h1{font-size:20px!important;letter-spacing:-.65px;line-height:1.15;margin:0 0 5px}
.client-active-ride .active-heading p{font-size:10px!important;line-height:1.45;color:#7e8590;margin:0}
.client-active-ride .active-share-symbol{width:32px;height:32px;flex:none;border:1px solid #e7e9ee;border-radius:12px;display:grid;place-items:center;background:#f8f9fb;font-size:17px;color:#363c44}
.client-active-ride .active-driver{display:flex;align-items:center;gap:9px;padding:12px 10px!important;margin:0 0 12px!important;border:1px solid #f0c85b!important;border-radius:15px!important;background:linear-gradient(110deg,#fff9ec,#fff)!important;min-height:73px}
.client-active-ride .active-car-icon{height:43px;width:43px;flex:0 0 43px;font-size:24px;border-radius:50%;background:#f3f4f6;box-shadow:0 0 0 2px #ffc629}
.client-active-ride .active-driver-info{gap:4px}.client-active-ride .active-driver-info strong{font-size:12px}.client-active-ride .active-driver-info small{font-size:9px}.client-active-ride .active-agreed strong{font-size:15px}.client-active-ride .active-agreed small{font-size:8px}
.client-active-ride .active-trip-metric{display:flex;align-items:center;gap:10px;border-radius:15px;background:#fff7e4;padding:12px 10px;margin:0 0 18px;min-height:65px}
.client-active-ride .active-metric-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:#ffe3a0;font-size:18px}
.client-active-ride .active-trip-metric>div:not(.active-metric-divider){display:grid;gap:4px;flex:1;min-width:0}
.client-active-ride .active-trip-metric small{font-size:9px;color:#747a85}.client-active-ride .active-trip-metric strong{font-size:14px;white-space:nowrap}
.client-active-ride .active-metric-divider{height:30px;width:1px;background:#e4d9c3;flex:none}
.client-active-ride .active-progress{margin:0 0 17px!important}
.client-active-ride .active-progress:before{top:15px!important;height:3px!important;background:#e6e8ec}
.client-active-ride .active-step-dot{height:31px!important;width:31px!important;font-size:14px!important;background:#f7f8fa;border:1px solid #e0e4eb}
.client-active-ride .active-step.done .active-step-dot{background:#ffc629;border-color:#ffc629;color:#151515}
.client-active-ride .active-step.current .active-step-dot{box-shadow:0 0 0 4px #fff3ce}
.client-active-ride .active-step small{font-size:9px!important}
.client-active-ride .active-trip-route{display:grid;gap:9px;background:#f8f9fb;border-radius:13px;padding:11px;margin-bottom:12px}
.client-active-ride .active-trip-route>div{display:flex;align-items:center;gap:9px;min-width:0}
.client-active-ride .active-trip-route i{height:9px;width:9px;flex:none;border-radius:50%}.client-active-ride .active-trip-route i.yellow{background:#ffc629}.client-active-ride .active-trip-route i.black{background:#17191d}
.client-active-ride .active-trip-route span{display:grid;gap:2px;min-width:0}.client-active-ride .active-trip-route small{font-size:8px;color:#949ba5}.client-active-ride .active-trip-route strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-active-ride .active-status{font-size:10px;margin:10px 0 8px}.client-active-ride .active-footnote{font-size:9px}
@media(max-height:650px){.client-active-ride .client-map{flex-basis:33%!important}.client-active-ride .sheet-handle{margin-bottom:14px!important}.client-active-ride .active-heading{margin-bottom:10px}.client-active-ride .active-trip-metric{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){.client-active-ride .active-map-car{animation:none}}


/* v3.9: search experience, no invented driver count or ETA */
.client-searching{height:100dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.client-searching .client-map{height:auto!important;flex:0 0 40%!important;min-height:165px!important;overflow:hidden!important}
.client-searching .booking-sheet{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:12px 16px 18px!important;margin-top:-24px!important}
.client-searching .sheet-handle{margin-bottom:15px!important}
.client-searching .sheet-head{margin-bottom:6px!important}.client-searching .sheet-head h1{font-size:20px!important;letter-spacing:-.5px!important}
.client-searching .searching-subtitle{font-size:11px;line-height:1.45;color:#858b96;margin:0 0 13px}
.client-searching .search-status-strip{display:flex;align-items:center;gap:8px;padding:10px 9px;border-radius:13px;background:#fff8e6;font-size:10px;font-weight:750;color:#4c4636}
.client-searching .search-status-icon{display:grid;place-items:center;background:#ffe6a4;border-radius:50%;height:27px;width:27px;flex:none;font-size:15px}
.client-searching .search-status-live{margin-left:auto;color:#aa800c;white-space:nowrap;font-size:9px}.client-searching .search-status-live i{display:inline-block;width:6px;height:6px;background:#e8ae17;border-radius:50%;animation:searchDot 1.4s infinite}
.client-searching .wait-progress.searching-badge{width:108px!important;height:108px!important;margin:19px auto 10px!important;box-shadow:0 0 0 7px #ffcf4325!important}
.client-searching .wait-progress-inner{width:91px!important;height:91px!important}.client-searching .wait-taxi{font-size:27px!important}.client-searching .wait-seconds{font-size:11px!important;font-weight:850}
.client-searching .search-orbit{position:absolute;display:block;height:8px;width:8px;background:#ffc629;border-radius:50%;box-shadow:0 0 0 3px #fff6dd}.client-searching .search-orbit.one{top:12px;left:-8px;animation:searchDot 1.6s infinite}.client-searching .search-orbit.two{right:-8px;bottom:18px;animation:searchDot 1.6s .6s infinite}
.client-searching .search-loading-dots{display:flex;justify-content:center;gap:6px;margin:14px 0 6px}.client-searching .search-loading-dots i{width:6px;height:6px;border-radius:50%;background:#f7ce5d;animation:searchDot 1.2s infinite}.client-searching .search-loading-dots i:nth-child(2){animation-delay:.2s}.client-searching .search-loading-dots i:nth-child(3){animation-delay:.4s}
.client-searching .searching-copy{font-size:11px!important;margin:8px auto 16px!important}
.client-searching button.ghost.full{background:#fff1f2!important;color:#c62b38!important;border:0!important;border-radius:13px!important;font-weight:800!important;min-height:42px}
.search-map-radar{position:absolute;left:49%;top:47%;width:24px;height:24px;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.search-map-radar span{position:absolute;width:105px;height:105px;border:1px solid #f6c64b;border-radius:50%;animation:searchRadar 2.8s infinite}.search-map-radar span:nth-child(2){animation-delay:1.4s}.search-map-radar b{position:relative;z-index:1;background:#ffcb32;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:13px;box-shadow:0 0 0 7px #ffce4633}
.search-map-taxi{position:absolute;z-index:1;font-size:17px;filter:drop-shadow(0 3px 4px #0002);animation:searchCar 3s ease-in-out infinite;pointer-events:none}.search-map-taxi.taxi-one{top:27%;left:25%}.search-map-taxi.taxi-two{top:32%;right:16%;animation-delay:.7s}.search-map-taxi.taxi-three{bottom:14%;left:26%;animation-delay:1.4s}
@keyframes searchRadar{0%{opacity:.7;transform:scale(.35)}100%{opacity:0;transform:scale(1.65)}}@keyframes searchCar{50%{transform:translate(5px,-5px)}}@keyframes searchDot{50%{opacity:.3;transform:scale(.8)}}
@media(max-height:660px){.client-searching .client-map{flex-basis:34%!important}.client-searching .wait-progress.searching-badge{width:90px!important;height:90px!important;margin:12px auto 5px!important}.client-searching .wait-progress-inner{width:76px!important;height:76px!important}.client-searching .search-loading-dots{margin:8px 0 3px}}
@media(prefers-reduced-motion:reduce){.search-map-radar span,.search-map-taxi,.search-loading-dots i,.search-orbit,.search-status-live i{animation:none!important}}

/* v4.0 — balanced searching status pill */
.client-searching .search-status-strip{display:grid!important;grid-template-columns:29px minmax(0,1fr) auto!important;align-items:center!important;column-gap:9px!important;min-height:45px!important;padding:7px 11px!important;border:1px solid #f8e9c5!important;border-radius:13px!important;background:linear-gradient(110deg,#fffaf0,#fff6de)!important;line-height:1.2!important;box-sizing:border-box!important}
.client-searching .search-status-icon{width:29px!important;height:29px!important;display:grid!important;place-items:center!important;margin:0!important;font-size:15px!important;line-height:1!important}
.client-searching .search-status-strip>span:nth-child(2){min-width:0!important;display:flex!important;align-items:center!important;font-size:10px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-.1px!important}
.client-searching .search-status-live{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;margin:0!important;padding:5px 7px!important;border-radius:20px!important;background:#fff!important;color:#98700b!important;font-size:9px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important}
.client-searching .search-status-live i{display:block!important;width:6px!important;height:6px!important;flex:0 0 6px!important;margin:0!important}

/* v4.1 Reference-style single-screen trip */
html:has(.client-active-ride),body:has(.client-active-ride){height:100%;overflow:hidden!important}
body:has(.client-active-ride) .shell{height:100dvh!important;min-height:0!important;overflow:hidden!important}
.rayt-client.client-active-ride{height:100dvh!important;max-height:100dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:white}
.client-active-ride .client-map{flex:1 1 51%!important;height:auto!important;min-height:0!important;max-height:none!important;position:relative;overflow:hidden!important}
.client-active-ride .client-map .map{height:100%!important;min-height:100%!important;border-radius:0!important}
.client-active-ride .active-map-car{width:47px!important;height:47px!important;top:49%!important;left:49%!important;font-size:27px!important;border-radius:50%;background:#ffdb61!important;box-shadow:0 0 0 12px #ffd45231,0 4px 15px #0002!important;animation:activeCarFloat 2.3s ease-in-out infinite}
.client-active-ride .booking-sheet{flex:0 0 auto!important;height:49%!important;min-height:0!important;overflow:hidden!important;margin-top:-23px!important;border-radius:27px 27px 0 0!important;padding:11px 15px 12px!important;display:flex!important;flex-direction:column!important}
.client-active-ride .booking-sheet>.sheet-handle{flex:none!important;margin:0 auto 13px!important;width:38px!important;height:4px!important}
.client-active-ride .booking-sheet>.sheet-head{display:none!important}
.client-active-ride .ride-reference{display:flex;flex-direction:column;min-height:0;height:100%;gap:10px}
.client-active-ride .ride-ref-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;flex:none}
.client-active-ride .ride-ref-heading h1{font-size:clamp(15px,4.7vw,21px);letter-spacing:-.55px;line-height:1.15;margin:0 0 4px;font-weight:850}
.client-active-ride .ride-ref-heading p{font-size:clamp(9px,2.6vw,11px);color:#858c97;margin:0;line-height:1.3}
.client-active-ride .ride-ref-symbol{height:31px;width:31px;display:grid;place-items:center;border:1px solid #e5e9ef;background:#f7f8fb;border-radius:11px;flex:none;font-size:17px}
.client-active-ride .ride-ref-driver{display:flex;align-items:center;gap:9px;border:1px solid #f5ca53;border-radius:15px;background:linear-gradient(100deg,#fff9e9,#fff);padding:9px 8px;min-height:61px;flex:none}
.client-active-ride .ride-ref-avatar{width:40px;height:40px;flex:none;border:2px solid #ffc629;background:#f7f8fa;border-radius:50%;display:grid;place-items:center;font-size:22px;position:relative}
.client-active-ride .ride-ref-avatar i{position:absolute;top:-6px;right:-5px;border-radius:50%;background:#ffc629;color:white;font-size:10px;width:16px;height:16px;display:grid;place-items:center;font-style:normal}
.client-active-ride .ride-ref-identity{flex:1;min-width:0;display:grid;gap:3px}
.client-active-ride .ride-ref-identity strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-active-ride .ride-ref-identity em{font-style:normal;font-weight:550;color:#9298a2}
.client-active-ride .ride-ref-identity small{font-size:9px;color:#7d8490;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-active-ride .ride-ref-identity .ride-ref-rating{color:#bd8909}
.client-active-ride .ride-ref-price{display:grid;gap:3px;text-align:right;flex:none}.client-active-ride .ride-ref-price small{font-size:8px;color:#9298a2}.client-active-ride .ride-ref-price strong{font-size:14px}
.client-active-ride .ride-ref-facts{display:grid;grid-template-columns:1fr 1fr;background:#fff8e8;border-radius:14px;padding:9px 10px;gap:7px;flex:none}
.client-active-ride .ride-ref-facts>div{display:flex;align-items:center;gap:7px;min-width:0}.client-active-ride .ride-ref-facts>div+div{border-left:1px solid #e9d9b6;padding-left:9px}
.client-active-ride .ride-fact-icon{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;background:#ffe7a9;font-size:16px;flex:none;font-weight:850}
.client-active-ride .ride-ref-facts>div>span:last-child{display:grid;gap:3px;min-width:0}.client-active-ride .ride-ref-facts small{font-size:9px;color:#7f8793}.client-active-ride .ride-ref-facts strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-active-ride .active-progress{flex:none;margin:5px 0 0!important}.client-active-ride .active-progress:before{top:14px!important}.client-active-ride .active-step-dot{height:29px!important;width:29px!important;font-size:13px!important}.client-active-ride .active-step small{font-size:9px!important}.client-active-ride .active-step.current .active-step-dot{animation:rideStepGlow 2s ease-in-out infinite}
@keyframes rideStepGlow{50%{box-shadow:0 0 0 7px #ffcc2930}}@media(max-height:690px){.client-active-ride .client-map{flex-basis:43%!important}.client-active-ride .booking-sheet{height:57%!important;gap:0!important}.client-active-ride .ride-reference{gap:7px}.client-active-ride .booking-sheet>.sheet-handle{margin-bottom:9px!important}}
@media(prefers-reduced-motion:reduce){.client-active-ride .active-map-car,.client-active-ride .active-step.current .active-step-dot{animation:none!important}}

/* v4.2 — visible trip actions within the fixed mobile sheet */
.client-active-ride .ride-reference{gap:7px!important;justify-content:space-between!important}
.client-active-ride .ride-ref-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none;margin-top:3px}
.client-active-ride .ride-ref-actions button{min-height:37px;border:0;border-radius:11px;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 5px}
.client-active-ride .ride-ref-message{background:#f3f5f8;color:#20242a}
.client-active-ride .ride-ref-cancel{background:#fff0f2;color:#c72d42}
.client-active-ride .ride-ref-actions button span{font-size:16px;line-height:1}
.driver-ride-messages{background:#fff7e2;border-radius:11px;padding:10px;margin:9px 0;font-size:11px}
.driver-ride-messages p{margin:5px 0 0;overflow-wrap:anywhere}
@media(max-height:690px){.client-active-ride .ride-ref-actions button{min-height:32px!important}.client-active-ride .ride-ref-driver{padding:6px 8px!important;min-height:53px!important}.client-active-ride .ride-ref-facts{padding:6px 9px!important}.client-active-ride .active-progress{margin:1px 0!important}}

/* v4.3: centered, natural-width trip actions */
.client-active-ride .ride-ref-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:9px!important;width:100%!important;margin:3px auto 0!important;grid-template-columns:none!important}
.client-active-ride .ride-ref-actions button{flex:0 1 auto!important;width:auto!important;min-width:94px!important;max-width:132px!important;padding:8px 12px!important;white-space:nowrap!important;border-radius:11px!important}
.client-active-ride .ride-ref-actions .ride-ref-cancel{min-width:116px!important}
@media(max-width:340px){.client-active-ride .ride-ref-actions{gap:7px!important}.client-active-ride .ride-ref-actions button{padding:7px 9px!important;min-width:85px!important}.client-active-ride .ride-ref-actions .ride-ref-cancel{min-width:107px!important}}

/* v4.4 — animated one-minute arrival countdown */
.client-active-ride .arrival-timer{--arrival-angle:360deg;display:flex;align-items:center;gap:9px;flex:none;border:1px solid #ffd76b;background:linear-gradient(105deg,#fff8df,#fffdf6);border-radius:13px;padding:7px 9px;min-height:48px;animation:arrivalEnter .35s ease-out}
.client-active-ride .arrival-timer-ring{height:35px;width:35px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f8b91e var(--arrival-angle),#f4e6c0 0);position:relative}
.client-active-ride .arrival-timer-ring:before{content:"";position:absolute;inset:4px;background:#fffaf0;border-radius:50%}
.client-active-ride .arrival-timer-clock{z-index:1;font-size:16px}
.client-active-ride .arrival-timer-copy{flex:1;min-width:0;display:grid;gap:3px}
.client-active-ride .arrival-timer-copy strong{font-size:11px;color:#362a11}.client-active-ride .arrival-timer-copy small{font-size:9px;color:#9c7b35}
.client-active-ride .arrival-timer-value{font-size:20px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:#30240b}
.client-active-ride .arrival-timer.arrival-urgent{border-color:#f4a0a0;background:#fff3f0}.client-active-ride .arrival-urgent .arrival-timer-ring{background:conic-gradient(#e35b48 var(--arrival-angle),#f5d6d2 0)}.client-active-ride .arrival-urgent .arrival-timer-value{color:#c52b2b;animation:arrivalBeat 1s infinite}
.client-active-ride .arrival-timer.arrival-expired .arrival-timer-value{animation:none}
@keyframes arrivalEnter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes arrivalBeat{50%{opacity:.5}}
.client-active-ride:has(.arrival-timer) .ride-reference{gap:5px!important}
.client-active-ride:has(.arrival-timer) .ride-ref-driver{min-height:50px!important;padding:5px 8px!important}
.client-active-ride:has(.arrival-timer) .ride-ref-facts{padding:5px 8px!important}
.client-active-ride:has(.arrival-timer) .active-progress{margin:0!important}
@media(prefers-reduced-motion:reduce){.client-active-ride .arrival-timer,.client-active-ride .arrival-urgent .arrival-timer-value{animation:none!important}}

/* v4.5: animated floating arrival countdown on the map, not above driver card */
.client-active-ride .client-map:has(.arrival-timer){isolation:isolate}
.client-active-ride .client-map .arrival-timer{--arrival-angle:360deg;position:absolute!important;z-index:12;left:50%;top:12px;transform:translateX(-50%);width:min(246px,calc(100% - 34px));display:grid!important;grid-template-columns:41px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;padding:9px 11px;border:1px solid #f5c34e;border-radius:17px;background:linear-gradient(115deg,#fffefaed,#fff4d7ed);box-shadow:0 9px 25px #5d481d27,0 0 0 3px #ffdb6230;backdrop-filter:blur(10px);animation:arrivalFloatIn .55s cubic-bezier(.2,1.4,.35,1) both,arrivalHover 3.4s ease-in-out .55s infinite;pointer-events:none}
.client-active-ride .client-map .arrival-timer:after{content:"";position:absolute;bottom:0;left:13px;right:13px;height:3px;border-radius:4px;background:linear-gradient(90deg,#ffbd1c,#f9df8b);transform-origin:left;transform:scaleX(calc(var(--arrival-angle) / 360deg));opacity:.9}
.client-active-ride .client-map .arrival-timer-ring{height:39px!important;width:39px!important;display:grid;place-items:center;background:conic-gradient(#f6ba20 var(--arrival-angle),#f0e3bf 0);animation:arrivalRingGlow 2.2s ease-in-out infinite}
.client-active-ride .client-map .arrival-timer-ring:before{inset:5px}.client-active-ride .client-map .arrival-timer-clock{font-size:18px;animation:arrivalClockTilt 2.5s ease-in-out infinite;transform-origin:center}
.client-active-ride .client-map .arrival-timer-copy{gap:4px}.client-active-ride .client-map .arrival-timer-copy strong{font-size:11px!important;white-space:nowrap}.client-active-ride .client-map .arrival-timer-copy small{font-size:9px!important;line-height:1.3}.client-active-ride .client-map .arrival-timer-value{font-size:20px!important;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.client-active-ride .client-map .arrival-timer.arrival-urgent{border-color:#f09a8a;background:linear-gradient(115deg,#fff9f5f2,#ffe7e1ed);box-shadow:0 9px 25px #ae37232b,0 0 0 4px #e35b4820;animation:arrivalHover 2s ease-in-out infinite,arrivalUrgentGlow 1.2s ease-in-out infinite}
.client-active-ride .client-map .arrival-timer.arrival-expired{background:#fff9f4ed;animation:none;box-shadow:0 8px 20px #0002}.client-active-ride .client-map .arrival-timer.arrival-expired:after{transform:scaleX(0)}
@keyframes arrivalFloatIn{from{opacity:0;transform:translate(-50%,-18px) scale(.86)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes arrivalHover{50%{transform:translate(-50%,-3px)}}
@keyframes arrivalRingGlow{50%{filter:drop-shadow(0 0 5px #ffc629aa)}}
@keyframes arrivalClockTilt{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes arrivalUrgentGlow{50%{box-shadow:0 9px 25px #ae37232b,0 0 0 7px #e35b4812}}
@media(max-height:650px){.client-active-ride .client-map .arrival-timer{top:7px;min-height:54px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.client-active-ride .client-map .arrival-timer,.client-active-ride .client-map .arrival-timer-ring,.client-active-ride .client-map .arrival-timer-clock{animation:none!important;transform:translateX(-50%)}}

/* v4.7 — PIN handshake */
.client-active-ride .client-pin-box{display:flex;align-items:center;gap:8px;background:#171a20;color:white;border:1px solid #32353b;border-radius:13px;padding:8px 10px;flex:none;box-shadow:0 5px 14px #00000012;animation:pinReveal .35s cubic-bezier(.2,1.5,.4,1)}
.client-active-ride .client-pin-lock{display:grid;place-items:center;background:#fbd04e;color:#252525;width:28px;height:28px;flex:none;border-radius:9px;font-size:18px}
.client-active-ride .client-pin-label{display:grid;gap:3px;flex:1;min-width:0}.client-active-ride .client-pin-label strong{font-size:10px}.client-active-ride .client-pin-label small{font-size:8px;color:#b4b8c1}
.client-active-ride .client-pin-code{font-size:19px;letter-spacing:3px;color:#ffcf42;font-variant-numeric:tabular-nums;white-space:nowrap}
.client-active-ride:has(.client-pin-box) .ride-reference{gap:5px!important}.client-active-ride:has(.client-pin-box) .ride-ref-driver{min-height:49px!important;padding:5px 8px!important}.client-active-ride:has(.client-pin-box) .ride-ref-facts{padding:5px 8px!important}.client-active-ride:has(.client-pin-box) .active-progress{margin:0!important}
.driver-pin-box{background:linear-gradient(120deg,#181b21,#282c33);border:1px solid #404248;border-radius:15px;padding:12px;color:#fff;display:grid;grid-template-columns:35px 1fr;gap:8px;animation:pinReveal .35s ease-out}
.driver-pin-icon{grid-row:span 1;width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#ffd044;color:#171a20;font-size:22px}
.driver-pin-title{display:grid;gap:3px}.driver-pin-title strong{font-size:14px}.driver-pin-title small{font-size:10px;color:#b9bec7}
.driver-pin-entry{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:3px}
.driver-pin-entry input{min-width:0;width:100%;background:#fff!important;border:2px solid transparent!important;border-radius:10px!important;color:#171a20!important;text-align:center;font-size:23px!important;font-weight:800!important;letter-spacing:9px!important;font-variant-numeric:tabular-nums;height:43px!important;padding:5px!important}
.driver-pin-entry input:focus{border-color:#ffcb36!important;outline:0!important}.driver-pin-entry input.pin-error{border-color:#ff6060!important;animation:pinShake .25s}
.driver-pin-entry button{background:#ffce3f;color:#16191f;border:0;border-radius:10px;padding:0 12px;font-size:11px;font-weight:850;white-space:nowrap}
@keyframes pinReveal{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes pinShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.client-pin-box,.driver-pin-box,.driver-pin-entry input.pin-error{animation:none!important}}

/* v5.1: contextual actions — message within driver card, cancel as quiet footer */
.client-active-ride .ride-ref-driver{flex-wrap:wrap!important;gap:7px!important}
.client-active-ride .ride-ref-identity{flex:1 1 65px!important}
.client-active-ride .ride-ref-price{margin-left:auto!important}
.client-active-ride .ride-driver-message{display:flex!important;align-items:center;justify-content:center;gap:4px;border:1px solid #e8d29c!important;border-radius:9px!important;background:#fff!important;color:#252525!important;padding:6px 9px!important;font-size:10px!important;font-weight:750!important;white-space:nowrap;flex:0 0 auto;min-height:28px!important;box-shadow:none!important}
.client-active-ride .ride-driver-message span{font-size:15px;line-height:1}
.client-active-ride .ride-cancel-row{display:flex;justify-content:center;align-items:center;flex:none;margin-top:1px!important}
.client-active-ride .ride-cancel-link{background:transparent!important;border:0!important;box-shadow:none!important;color:#9b6670!important;font-size:10px!important;font-weight:650!important;padding:5px 12px!important;min-height:24px!important}
.client-active-ride .ride-cancel-link:hover{color:#c62f48!important;text-decoration:underline}
.client-active-ride .ride-reference{gap:6px!important}
.client-active-ride .ride-ref-actions{display:none!important}
@media(max-width:350px){.client-active-ride .ride-ref-driver{gap:5px!important;padding:7px!important}.client-active-ride .ride-ref-avatar{width:34px!important;height:34px!important;font-size:18px!important}.client-active-ride .ride-driver-message{padding:5px 6px!important;font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.client-active-ride .ride-driver-message,.client-active-ride .ride-cancel-link{transition:none!important}}

/* v5.2 — map-level message action */
.client-active-ride .client-map .ride-map-message{position:absolute;z-index:12;top:13px;right:13px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #e8ebef;border-radius:14px;background:#fff;color:#171b22;box-shadow:0 5px 17px #1515151a;padding:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.client-active-ride .client-map .ride-map-message:hover{transform:translateY(-2px);box-shadow:0 7px 19px #1515152b}
.client-active-ride .client-map:has(.arrival-timer) .ride-map-message{top:80px}
.client-active-ride .ride-ref-driver{flex-wrap:nowrap!important}
@media(max-width:350px){.client-active-ride .client-map .ride-map-message{width:35px;height:35px;right:10px;top:10px}.client-active-ride .client-map:has(.arrival-timer) .ride-map-message{top:75px}}
@media(prefers-reduced-motion:reduce){.client-active-ride .client-map .ride-map-message{transition:none!important}}

/* v5.3 — full ride conversation, premium compact mobile UI */
.ride-map-message{cursor:pointer}
.driver-chat-open{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e7e9ef;background:#fff;border-radius:12px;min-height:39px;font-weight:750;color:#20242b;margin:10px 0}
.driver-chat-open span{font-size:19px}.driver-chat-open small{background:#ffd13e;border-radius:50%;min-width:18px;height:18px;display:grid;place-items:center;font-size:10px}
#rayt-chat-modal{position:fixed;inset:0;z-index:99999;display:flex;justify-content:center;align-items:flex-end;font-family:inherit}
.rayt-chat-backdrop{position:absolute;inset:0;background:#11182777;animation:chatFade .2s ease-out}
.rayt-chat-panel{position:relative;display:flex;flex-direction:column;width:min(100%,430px);height:min(85dvh,680px);min-height:300px;border-radius:24px 24px 0 0;background:#f8f9fb;box-shadow:0 -12px 45px #10182022;overflow:hidden;animation:chatUp .3s cubic-bezier(.2,.8,.2,1)}
.rayt-chat-header{background:#fff;display:flex;align-items:center;gap:10px;padding:14px 13px;border-bottom:1px solid #eceef1;flex:none}
.rayt-chat-back{background:transparent;border:0;color:#252930;font-size:30px;line-height:1;width:29px;cursor:pointer}.rayt-chat-avatar{height:36px;width:36px;border-radius:12px;background:#ffdb63;display:grid;place-items:center;font-size:20px}
.rayt-chat-person{display:grid;gap:3px;flex:1;min-width:0}.rayt-chat-person strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rayt-chat-person small{font-size:10px;color:#818894}.rayt-chat-brand{font-size:12px;font-weight:950;letter-spacing:-.5px}.rayt-chat-brand span{color:#e9b700;margin-left:3px}
.rayt-chat-messages{flex:1;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:17px 13px;min-height:0}
.rayt-chat-line{display:flex}.rayt-chat-line.mine{justify-content:flex-end}.rayt-chat-line.theirs{justify-content:flex-start}
.rayt-chat-bubble{background:white;border:1px solid #eceef1;border-radius:15px 15px 15px 4px;padding:10px 12px 6px;max-width:83%;font-size:12px;line-height:1.45;overflow-wrap:anywhere;box-shadow:0 2px 8px #12121205;animation:chatBubble .2s ease-out}
.mine .rayt-chat-bubble{background:#ffdc68;border-color:#ffdc68;border-radius:15px 15px 4px 15px}
.rayt-chat-bubble time{display:block;text-align:right;font-size:9px;color:#7e838c;margin-top:5px}
.rayt-chat-empty{margin:auto;display:grid;justify-items:center;gap:9px;color:#9aa0aa;font-size:11px}.rayt-chat-empty span{display:grid;place-items:center;background:#fff0bd;color:#a47b00;border-radius:50%;width:44px;height:44px;font-size:22px}.rayt-chat-empty strong{font-weight:550}
.rayt-chat-compose{display:flex;align-items:center;gap:9px;padding:11px 12px max(11px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef1;flex:none}
.rayt-chat-compose input{min-width:0;flex:1;border:1px solid #e8eaf0!important;background:#f5f6f8!important;border-radius:22px!important;height:41px!important;padding:0 15px!important;font-size:12px!important;outline:0!important}
.rayt-chat-compose input:focus{border-color:#f4c53a!important}.rayt-chat-compose button{border:0;border-radius:50%;width:41px;height:41px;flex:none;background:#ffcc36;color:#191c22;font-size:19px;cursor:pointer}
@keyframes chatFade{from{opacity:0}to{opacity:1}}@keyframes chatUp{from{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}@keyframes chatBubble{from{transform:translateY(5px);opacity:.5}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.rayt-chat-backdrop,.rayt-chat-panel,.rayt-chat-bubble{animation:none!important}}

/* v5.4 — unobtrusive unread chat indicator */
.ride-map-message{position:absolute!important}.ride-chat-badge{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:#ef4249;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:850;line-height:1;border:2px solid #fff;box-shadow:0 2px 6px #0002;animation:chatBadgePop .25s ease-out}
.ride-chat-badge[hidden],.driver-chat-open small[hidden]{display:none!important}
@keyframes chatBadgePop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.ride-chat-badge{animation:none!important}}

/* v5.6 — client bottom navigation */
.shell.has-client-nav{padding-bottom:0!important;display:flex;flex-direction:column;min-height:100dvh;height:100dvh;overflow:hidden}
.shell.has-client-nav>.top{flex:none}
.shell.has-client-nav>.hero,.shell.has-client-nav>.footer{display:none!important}
.shell.has-client-nav>.rayt-client{height:auto!important;max-height:none!important;min-height:0!important;flex:1 1 auto!important}
.shell.has-client-nav>.client-secondary{flex:1;min-height:0;overflow:auto}
.shell.has-client-nav .client-bottom-nav{order:5;position:relative;z-index:30;flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:62px;padding:5px 9px max(7px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf0f3;box-shadow:0 -4px 18px #10182008}
.client-bottom-nav button{appearance:none;border:0;background:none;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#9298a2;font-size:10px;font-weight:650;cursor:pointer;padding:0 4px}
.client-bottom-nav .client-nav-icon{height:31px;min-width:43px;border-radius:11px;display:grid;place-items:center;position:relative;transition:background .2s ease,transform .2s ease}
.client-bottom-nav svg{width:19px;height:19px;display:block}
.client-bottom-nav button.active{color:#171a1f;font-weight:800}
.client-bottom-nav button.active .client-nav-icon{background:#ffce38;transform:translateY(-1px)}
.client-nav-dot{position:absolute;right:4px;top:2px;width:6px;height:6px;background:#171a1f;border:1px solid white;border-radius:50%}
.client-secondary{background:#f7f8fa;padding:22px 16px 16px;animation:clientSectionIn .2s ease-out}
.client-secondary-title{margin-bottom:19px}.client-section-kicker{font-size:10px;font-weight:850;letter-spacing:2px;color:#c19a22}.client-secondary-title h1{font-size:25px;letter-spacing:-1px;margin:6px 0}.client-secondary-title p{color:#858b95;font-size:12px;margin:0}
.client-history-list{display:grid;gap:10px}.client-history-item{border:1px solid #edf0f3;border-radius:15px;background:#fff;padding:13px;display:grid;gap:11px}.client-history-top,.client-history-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.client-history-top span,.client-history-meta{font-size:10px;color:#8b929c}.client-history-top b{font-size:15px;color:#1c2026}.client-history-item>strong{font-size:12px;line-height:1.4}.client-history-item>strong span{color:#d3a41e}.client-history-status{background:#fff4d5;color:#896b1b;border-radius:20px;padding:4px 8px}
.client-empty-state{padding:45px 10px;text-align:center;color:#9aa1aa;font-size:12px}
.client-profile-card{background:#fff;border:1px solid #edf0f3;border-radius:17px;padding:15px;display:flex;gap:12px;align-items:center}.client-profile-avatar{width:43px;height:43px;border-radius:14px;background:#ffce38;display:grid;place-items:center;font-size:19px;font-weight:900}.client-profile-card>div{display:grid;gap:4px}.client-profile-card strong{font-size:15px}.client-profile-card small{font-size:10px;color:#8c929b}.client-profile-info{margin-top:12px;background:#fff;border:1px solid #edf0f3;border-radius:14px;padding:15px;display:flex;justify-content:space-between;gap:8px;font-size:11px}.client-profile-info span{color:#8b929c}.client-signout{margin-top:17px;border:0;background:none;color:#bd4040;font-size:12px;font-weight:750;padding:10px 0}
@keyframes clientSectionIn{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.client-secondary{animation:none}.client-bottom-nav .client-nav-icon{transition:none}}

/* v5.7 — premium active-trip visual treatment, scoped to client only */
.shell.has-client-nav:has(.client-active-ride){background:#fdfbf6!important}
.shell.has-client-nav .rayt-client.client-active-ride{background:#fdfbf6!important}
.shell.has-client-nav .client-active-ride .client-map{flex:1 1 49%!important;min-height:0!important;filter:saturate(.83)}
.shell.has-client-nav .client-active-ride .booking-sheet{flex:0 0 auto!important;height:51%!important;min-height:0!important;padding:12px 12px 8px!important;margin-top:-24px!important;border-radius:27px 27px 0 0!important;background:linear-gradient(155deg,#fffdf9 0%,#fdf9f0 100%)!important;box-shadow:0 -9px 35px #34302b13!important;z-index:3!important}
.shell.has-client-nav .client-active-ride .booking-sheet>.sheet-handle{width:36px!important;height:4px!important;background:#c8c8c6!important;margin-bottom:12px!important}
.shell.has-client-nav .client-active-ride .ride-reference{gap:9px!important;justify-content:space-between!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading{padding:0 4px 2px!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading h1{font-size:clamp(17px,5vw,22px)!important;font-weight:900!important;letter-spacing:-.8px!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading p{font-size:10px!important;color:#888b95!important}
.shell.has-client-nav .client-active-ride .ride-ref-symbol{background:#fff!important;border:1px solid #eee9e0!important;box-shadow:0 3px 9px #2b25200b!important;border-radius:12px!important}
.shell.has-client-nav .client-active-ride .ride-ref-driver{min-height:79px!important;padding:10px!important;gap:10px!important;border:1px solid #f0e6d2!important;border-radius:19px!important;background:#fff!important;box-shadow:0 7px 19px #8a734113!important}
.shell.has-client-nav .client-active-ride .ride-ref-avatar{width:48px!important;height:48px!important;border:2px solid #ffcf4b!important;background:linear-gradient(145deg,#fff,#f6f4ee)!important;box-shadow:0 0 0 3px #fff5d9!important}
.shell.has-client-nav .client-active-ride .ride-ref-avatar svg{width:34px;height:34px}
.shell.has-client-nav .client-active-ride .ride-ref-identity{gap:3px!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity strong{font-size:12px!important;font-weight:850!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity small{font-size:9px!important}
.shell.has-client-nav .client-active-ride .ride-ref-taxi-number{font-weight:700;color:#707783!important}
.shell.has-client-nav .client-active-ride .ride-ref-rating{color:#b38a1d!important}
.shell.has-client-nav .client-active-ride .ride-ref-price strong{font-size:15px!important;letter-spacing:-.6px!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts{background:#fff!important;border:1px solid #f1e9d9!important;border-radius:17px!important;box-shadow:0 6px 16px #7e6b4810!important;padding:10px!important}
.shell.has-client-nav .client-active-ride .ride-fact-icon{height:31px!important;width:31px!important;background:#fff0c7!important;font-size:18px!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts strong{font-size:12px!important}
.shell.has-client-nav .client-active-ride .active-progress{margin:3px 0 0!important;padding:2px 0 0!important}
.shell.has-client-nav .client-active-ride .active-step-dot{width:30px!important;height:30px!important;font-size:14px!important;box-shadow:0 2px 6px #292b2c0a!important}
.shell.has-client-nav .client-active-ride .active-step.current .active-step-dot{box-shadow:0 0 0 5px #ffe9ac!important;animation:rideStepGlow 2s ease-in-out infinite!important}
.shell.has-client-nav .client-active-ride .active-step small{font-size:9px!important;margin-top:5px!important}
.shell.has-client-nav .client-bottom-nav{background:#fff!important;border-top:1px solid #f1ede5!important;box-shadow:0 -5px 22px #5b4b2b0d!important;min-height:61px!important;border-radius:17px 17px 0 0!important;padding-top:7px!important}
.shell.has-client-nav .client-bottom-nav button.active .client-nav-icon{background:linear-gradient(110deg,#ffe28a,#ffcb37)!important;box-shadow:0 3px 10px #ffca393b!important}
.shell.has-client-nav .client-bottom-nav .client-nav-icon{min-width:49px!important;height:32px!important}
.shell.has-client-nav .client-bottom-nav svg{width:19px!important;height:19px!important}
.shell.has-client-nav .client-active-ride .map-brand{box-shadow:0 6px 15px #2c252018!important}
.shell.has-client-nav .client-active-ride .map-pin{box-shadow:0 5px 16px #292b2b18!important}
.shell.has-client-nav .client-active-ride .active-map-car{animation:activeCarFloat 2.3s ease-in-out infinite!important;box-shadow:0 0 0 10px #ffda6d38,0 5px 19px #e3ac3966!important}
@media(max-height:650px){.shell.has-client-nav .client-active-ride .booking-sheet{height:57%!important;padding-top:7px!important}.shell.has-client-nav .client-active-ride .client-map{flex-basis:43%!important}.shell.has-client-nav .client-active-ride .ride-reference{gap:5px!important}.shell.has-client-nav .client-active-ride .ride-ref-driver{min-height:62px!important;padding:6px 8px!important}.shell.has-client-nav .client-active-ride .ride-ref-facts{padding:6px 8px!important}.shell.has-client-nav .client-active-ride .booking-sheet>.sheet-handle{margin-bottom:7px!important}}
@media(prefers-reduced-motion:reduce){.shell.has-client-nav .client-active-ride .active-step.current .active-step-dot,.shell.has-client-nav .client-active-ride .active-map-car{animation:none!important}}

/* v5.8 — reference composition, real driver/fare/model data */
.shell.has-client-nav .client-active-ride .booking-sheet{background:linear-gradient(150deg,#fffefa,#fbf7ee)!important;padding:10px 13px 8px!important;border-radius:28px 28px 0 0!important}
.shell.has-client-nav .client-active-ride .ride-reference{gap:8px!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading{padding:0 5px 4px!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading h1{font-size:clamp(17px,5.4vw,23px)!important;line-height:1.1!important;letter-spacing:-.8px!important}
.shell.has-client-nav .client-active-ride .ride-ref-heading p{font-size:10px!important;line-height:1.35!important;margin-top:4px!important}
.shell.has-client-nav .client-active-ride .ride-ref-driver{position:relative;isolation:isolate;min-height:104px!important;padding:12px 10px!important;border:1px solid #fff!important;border-radius:22px!important;background:linear-gradient(120deg,#fff,#fffdf9)!important;box-shadow:0 9px 23px #88764e14,0 1px 3px #7777770a!important;align-items:center!important;gap:10px!important}
.shell.has-client-nav .client-active-ride .ride-ref-avatar{height:56px!important;width:56px!important;align-self:center!important;flex:none!important;border:2px solid #f8c84d!important;box-shadow:0 0 0 4px #fff7e1!important}
.shell.has-client-nav .client-active-ride .ride-ref-avatar svg{width:37px!important;height:37px!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity{align-self:center!important;gap:5px!important;padding-right:0!important;max-width:calc(100% - 122px)!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity strong{font-size:clamp(10px,3.2vw,14px)!important;letter-spacing:-.3px!important;line-height:1.2!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity small{font-size:9px!important;line-height:1.2!important}
.shell.has-client-nav .client-active-ride .ride-ref-taxi-number{font-size:11px!important}
.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art{position:absolute;right:7px;top:9px;width:79px;height:43px;pointer-events:none}
.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art svg{display:block;width:100%;height:100%}
.shell.has-client-nav .client-active-ride .ride-ref-price{position:absolute;right:11px;bottom:11px;gap:2px!important}
.shell.has-client-nav .client-active-ride .ride-ref-price small{font-size:9px!important;color:#888c94!important}
.shell.has-client-nav .client-active-ride .ride-ref-price strong{font-size:18px!important;line-height:1!important;font-weight:900!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts{border:1px solid white!important;background:#fff!important;box-shadow:0 8px 20px #87744b13!important;border-radius:20px!important;min-height:60px!important;padding:10px 12px!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts>div{gap:9px!important}
.shell.has-client-nav .client-active-ride .ride-fact-icon{height:36px!important;width:36px!important;background:#fff0c6!important;font-size:19px!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts small{font-size:10px!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts strong{font-size:13px!important;font-weight:850!important}
.shell.has-client-nav .client-active-ride .active-progress{margin:8px 0 4px!important}
.shell.has-client-nav .client-active-ride .active-step-dot{height:33px!important;width:33px!important;font-size:15px!important}
.shell.has-client-nav .client-active-ride .active-step small{font-size:10px!important;margin-top:7px!important}
.shell.has-client-nav .client-bottom-nav{border-radius:24px 24px 0 0!important;box-shadow:0 -7px 25px #76684b15!important;min-height:67px!important}
.shell.has-client-nav .client-bottom-nav .client-nav-icon{height:34px!important;min-width:53px!important;border-radius:17px!important}
.shell.has-client-nav .client-bottom-nav button.active .client-nav-icon{background:linear-gradient(100deg,#ffe593,#ffd044)!important}
@media(max-height:700px){.shell.has-client-nav .client-active-ride .booking-sheet{height:60%!important;padding-top:6px!important}.shell.has-client-nav .client-active-ride .client-map{flex-basis:40%!important}.shell.has-client-nav .client-active-ride .ride-reference{gap:5px!important}.shell.has-client-nav .client-active-ride .ride-ref-driver{min-height:75px!important;padding:6px 9px!important}.shell.has-client-nav .client-active-ride .ride-ref-avatar{height:44px!important;width:44px!important}.shell.has-client-nav .client-active-ride .ride-ref-identity{max-width:calc(100% - 106px)!important;gap:2px!important}.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art{width:62px!important;height:31px!important;top:4px!important}.shell.has-client-nav .client-active-ride .ride-ref-price{bottom:6px!important}.shell.has-client-nav .client-active-ride .ride-ref-price strong{font-size:14px!important}.shell.has-client-nav .client-active-ride .ride-ref-facts{min-height:45px!important;padding:5px 9px!important}.shell.has-client-nav .client-active-ride .ride-fact-icon{width:28px!important;height:28px!important}.shell.has-client-nav .client-active-ride .active-progress{margin:1px 0!important}.shell.has-client-nav .client-active-ride .active-step-dot{width:27px!important;height:27px!important}.shell.has-client-nav .client-active-ride .active-step small{font-size:8px!important;margin-top:3px!important}.shell.has-client-nav .client-bottom-nav{min-height:52px!important;padding-top:3px!important}.shell.has-client-nav .client-bottom-nav .client-nav-icon{height:27px!important}}

/* v5.9 — optimized Córdoba taxi illustration */
.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}

/* v6.0 — completed ride, compact full-screen celebration */
.shell.finish-shell{height:100dvh;min-height:0!important;overflow:hidden;padding:0!important;display:block;background:#fffaf0}
.finish-screen{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 17%,#fff1c3 0%,#fffaf0 47%,#fff 100%);color:#161a21}
.finish-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 15px 8px;display:flex;flex-direction:column;gap:9px;z-index:1;scrollbar-width:none}
.finish-scroll::-webkit-scrollbar{display:none}
.finish-celebrate{text-align:center;display:grid;justify-items:center;gap:4px}
.finish-check{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#ffcb36;color:#17191e;border:6px solid #ffefbc;box-shadow:0 0 0 7px #fff4d7,0 9px 20px #e8b82730;animation:finishPop .65s cubic-bezier(.2,1.6,.4,1)}
.finish-check svg{width:30px;height:30px;stroke-dasharray:65;stroke-dashoffset:65;animation:finishDraw .6s .3s ease forwards}
.finish-celebrate h1{font-size:clamp(19px,5.6vw,27px);line-height:1.1;letter-spacing:-.8px;margin:10px 0 0;font-weight:900}
.finish-celebrate p{font-size:11px;color:#838a95;margin:0}
.finish-taxi{width:min(88%,270px);height:clamp(82px,19dvh,145px);object-fit:contain;align-self:center;filter:drop-shadow(0 11px 8px #3a33211c);animation:finishTaxi .8s .15s both}
.finish-summary,.finish-driver,.finish-rating{background:#fff;border:1px solid #fff;border-radius:19px;box-shadow:0 7px 20px #75644414}
.finish-summary{padding:13px 14px;display:grid;gap:11px}
.finish-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid #edf0f2;padding-bottom:11px}
.finish-total>span+span{border-left:1px solid #e8ebef;padding-left:12px}
.finish-summary small{display:block;font-size:9px;color:#858d99;margin-bottom:5px}
.finish-total strong{font-size:21px;letter-spacing:-.6px}.finish-total>span+span strong{font-size:12px;letter-spacing:0}
.finish-details{display:flex;justify-content:space-between;gap:9px}.finish-details span{flex:1;min-width:0}.finish-details span+span{border-left:1px solid #edf0f2;padding-left:10px}.finish-details b{font-size:10px;line-height:1.35;display:block}
.finish-driver{display:flex;align-items:center;gap:11px;padding:10px 12px}.finish-driver-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;background:#fff0bf;border-radius:50%;font-size:22px}.finish-driver>span:last-child{display:grid;gap:4px;min-width:0}.finish-driver strong{font-size:12px}.finish-driver small{font-size:9px;color:#9298a2;overflow-wrap:anywhere}
.finish-rating{padding:11px 13px;display:flex;justify-content:space-between;align-items:center;gap:7px}.finish-rating>strong{font-size:11px}.finish-stars{display:flex;gap:3px}.finish-stars button{border:0;background:transparent;color:#d5d9df;font-size:23px;padding:1px;line-height:1;cursor:pointer;transition:transform .18s,color .18s}.finish-stars button.selected{color:#ffc72f;transform:scale(1.08)}
.finish-footer{z-index:2;flex:none;background:linear-gradient(0deg,#fffaf0,#fffaf0e8);padding:9px 15px max(12px,env(safe-area-inset-bottom))}
.finish-footer button{width:100%;height:46px;border:0;border-radius:25px;background:linear-gradient(100deg,#ffdf77,#ffc934);font-weight:900;font-size:15px;color:#16191d;box-shadow:0 6px 15px #dba72b33;position:relative}.finish-footer button span{position:absolute;right:20px;font-size:20px;top:9px}
.finish-confetti{position:absolute;inset:0 0 auto;height:45%;overflow:hidden;pointer-events:none}.finish-confetti i{position:absolute;top:-14px;left:calc(7% + var(--i)*7%);height:9px;width:5px;background:#ffcd3c;opacity:0;transform:rotate(25deg);animation:finishFall 2.6s calc(var(--i)*.11s) ease-in forwards}.finish-confetti i:nth-child(3n){background:#2b3746}.finish-confetti i:nth-child(4n){background:white}
@keyframes finishPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes finishDraw{to{stroke-dashoffset:0}}@keyframes finishTaxi{from{opacity:0;transform:translateX(-50px) scale(.94)}to{opacity:1;transform:none}}@keyframes finishFall{10%{opacity:1}90%{opacity:1}to{opacity:0;top:95%;transform:translateX(18px) rotate(360deg)}}
@media(max-height:570px){.finish-scroll{gap:6px;padding-top:8px}.finish-check{width:44px;height:44px}.finish-celebrate h1{margin-top:4px}.finish-taxi{height:68px}.finish-summary{padding:8px 11px;gap:6px}.finish-total{padding-bottom:6px}.finish-driver{padding:7px 10px}.finish-rating{padding:7px 10px}.finish-footer button{height:39px}}
@media(prefers-reduced-motion:reduce){.finish-check,.finish-check svg,.finish-taxi,.finish-confetti i{animation:none!important}.finish-check svg{stroke-dashoffset:0}}

/* v6.2 focused completion screen — viewport responsive */
.finish-minimal{background:radial-gradient(ellipse at 50% 43%,#ffedb8 0%,#fff7e5 43%,#fffdf8 80%)!important}
.finish-minimal .finish-scroll{padding:clamp(10px,3dvh,24px) 15px 8px!important;gap:clamp(10px,2.5dvh,22px)!important;justify-content:space-between!important;overflow:auto!important}
.finish-minimal .finish-celebrate{flex:none;gap:5px!important}
.finish-minimal .finish-check{height:clamp(54px,11dvh,88px)!important;width:clamp(54px,11dvh,88px)!important;box-shadow:0 0 0 9px #ffefbf,0 0 0 18px #fff6db,0 12px 24px #e8b82727!important}
.finish-minimal .finish-check svg{height:48%!important;width:48%!important}
.finish-minimal .finish-celebrate h1{font-size:clamp(20px,5.6vw,29px)!important;margin-top:12px!important}
.finish-minimal .finish-celebrate p{font-size:clamp(10px,3vw,13px)!important}
.finish-minimal .finish-taxi-stage{position:relative;flex:1 1 auto;min-height:95px;max-height:33dvh;display:grid;place-items:center;isolation:isolate}
.finish-minimal .finish-taxi-halo{position:absolute;z-index:-1;width:83%;height:48%;bottom:7%;border:2px solid #ffd34d;border-radius:50%;box-shadow:0 0 19px #ffc93d55;transform:perspective(160px) rotateX(58deg);animation:finishHalo 3s ease-in-out infinite}
.finish-minimal .finish-taxi{width:min(100%,350px)!important;height:100%!important;max-height:31dvh!important;object-fit:contain!important;filter:drop-shadow(0 12px 9px #53431c29)!important;animation:finishTaxi .8s .15s both,finishHover 4s 1s ease-in-out infinite!important}
.finish-minimal .finish-driver{flex:none;min-height:clamp(65px,12dvh,105px);padding:clamp(9px,2dvh,17px)!important;border-radius:22px!important;box-shadow:0 10px 28px #a68c5718!important;gap:13px!important}
.finish-minimal .finish-driver-icon{width:clamp(46px,10dvh,68px)!important;height:clamp(46px,10dvh,68px)!important;border:3px solid #ffdc72;border-radius:50%!important;background:#fff3cd!important;font-size:17px!important;font-weight:900;overflow:hidden;flex:none}
.finish-minimal .finish-driver-icon img{height:100%;width:100%;object-fit:cover}
.finish-minimal .finish-driver strong{font-size:clamp(12px,3.6vw,16px)!important}
.finish-minimal .finish-driver small{font-size:clamp(9px,2.8vw,12px)!important}
.finish-minimal .finish-rating{flex:none;min-height:clamp(85px,16dvh,135px);display:flex!important;flex-direction:column!important;justify-content:center!important;gap:clamp(8px,2dvh,15px)!important;border-radius:22px!important;padding:12px!important;box-shadow:0 10px 28px #a68c5718!important}
.finish-minimal .finish-rating>strong{font-size:clamp(13px,4vw,19px)!important;text-align:center!important}
.finish-minimal .finish-stars{justify-content:center!important;gap:clamp(7px,3vw,18px)!important}
.finish-minimal .finish-stars button{font-size:clamp(27px,7.5vw,40px)!important}
.finish-minimal .finish-footer{padding:9px 15px max(13px,env(safe-area-inset-bottom))!important;background:transparent!important}
.finish-minimal .finish-footer button{height:clamp(42px,7dvh,58px)!important;font-size:clamp(14px,4vw,19px)!important}
@keyframes finishHover{50%{transform:translateY(-5px)}}@keyframes finishHalo{50%{opacity:.45;transform:perspective(160px) rotateX(58deg) scale(1.1)}}
@media(max-height:540px){.finish-minimal .finish-scroll{gap:6px!important;padding-top:7px!important}.finish-minimal .finish-taxi-stage{min-height:70px}.finish-minimal .finish-check{width:42px!important;height:42px!important;box-shadow:0 0 0 5px #ffefbf!important}.finish-minimal .finish-celebrate h1{margin-top:4px!important}.finish-minimal .finish-rating{min-height:64px}.finish-minimal .finish-driver{min-height:53px}}
@media(prefers-reduced-motion:reduce){.finish-minimal .finish-taxi,.finish-minimal .finish-taxi-halo{animation:none!important}}

/* v6.3 — request form must remain scrollable above fixed client tabs */
.shell.has-client-nav .rayt-client:not(.client-active-ride):not(.client-searching):not(.client-has-offers){display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;height:auto!important}
.shell.has-client-nav .rayt-client:not(.client-active-ride):not(.client-searching):not(.client-has-offers) .client-map{flex:0 0 clamp(100px,25dvh,190px)!important;height:clamp(100px,25dvh,190px)!important;min-height:0!important;max-height:none!important}
.shell.has-client-nav .rayt-client:not(.client-active-ride):not(.client-searching):not(.client-has-offers) .booking-sheet{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:20px!important;scrollbar-width:thin}
.shell.has-client-nav .rayt-client:not(.client-active-ride):not(.client-searching):not(.client-has-offers) .booking-action{position:relative!important;display:flex!important;visibility:visible!important;min-height:43px!important;align-items:center;justify-content:center;gap:8px;margin:12px 0 0!important}

/* v6.4 — arrival/PIN layout: give the entire bottom panel room above navigation */
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box){display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex:0 0 29%!important;height:29%!important;min-height:0!important;max-height:none!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .booking-sheet{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:8px 12px 13px!important;scrollbar-width:thin}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .booking-sheet>.sheet-handle{margin-bottom:7px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-reference{height:auto!important;min-height:min-content!important;justify-content:flex-start!important;gap:7px!important;padding-bottom:5px}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-ref-driver{min-height:68px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-ref-facts{min-height:47px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .active-progress{flex:none!important;margin:3px 0 4px!important;padding-bottom:5px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-pin-box{flex:none!important}
@media(max-height:630px){.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex-basis:25%!important;height:25%!important}.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-reference{gap:5px!important}.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-ref-driver{min-height:59px!important}.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-ref-facts{min-height:40px!important}}

/* v6.5 — balanced arrival screen: more map, no empty lower sheet */
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex:0 0 43%!important;height:43%!important;min-height:0!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .booking-sheet{flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow-y:auto!important;padding-bottom:10px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-reference{justify-content:flex-start!important;gap:6px!important}
@media(max-height:630px){.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex-basis:39%!important;height:39%!important}}
@media(max-height:530px){.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex-basis:34%!important;height:34%!important}}

/* v6.6 — content-sized arrival sheet; map receives every unused pixel */
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{flex:1 1 auto!important;height:auto!important;min-height:90px!important;max-height:none!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .booking-sheet{flex:0 1 auto!important;height:max-content!important;max-height:calc(100% - 90px)!important;min-height:0!important;overflow-y:auto!important;padding-bottom:10px!important}
.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .ride-reference{height:auto!important;min-height:0!important;justify-content:flex-start!important;gap:6px!important}
@media(max-height:530px){.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .client-map{min-height:65px!important}.shell.has-client-nav .rayt-client.client-active-ride:has(.client-pin-box) .booking-sheet{max-height:calc(100% - 65px)!important}}

/* v6.7 — end of courtesy period */
.client-active-ride .arrival-timer.arrival-expired{background:linear-gradient(110deg,#fff0d7,#fff9ec)!important;border-color:#edb45c!important;animation:waitNotice 2.5s ease-in-out infinite!important}
.client-active-ride .arrival-timer.arrival-expired .arrival-timer-value{color:#a45f12!important}
.driver-wait{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff7e7;border-radius:10px;margin-top:8px;padding:8px 10px;font-size:11px;font-weight:800;color:#9a6514}
.driver-no-show{border:1px solid #dca953;background:#fff;color:#83520c;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer}
.driver-no-show[hidden]{display:none!important}.driver-wait.wait-expired{background:#fff0d6}
.no-show-screen{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px 20px;gap:14px;background:radial-gradient(circle at 50% 30%,#fff0c5,#fffaf1 65%,white)}
.no-show-icon{width:82px;height:82px;border-radius:50%;background:#ffdf8b;display:grid;place-items:center;font-size:37px;box-shadow:0 0 0 10px #fff1cb;animation:finishPop .5s ease-out}
.no-show-screen h1{font-size:24px;line-height:1.15;letter-spacing:-.6px;margin:12px 0 0}.no-show-screen p{font-size:13px;color:#7d8794;margin:0}.no-show-info{font-size:11px;background:white;padding:15px;border-radius:14px;color:#727c89;box-shadow:0 7px 22px #76654b12}.no-show-screen button{margin-top:20px;width:100%;border:0;background:#ffcf42;border-radius:25px;min-height:47px;font-weight:850;color:#171a1f}
@keyframes waitNotice{50%{box-shadow:0 0 0 5px #f4c66c25}}
@media(prefers-reduced-motion:reduce){.client-active-ride .arrival-timer.arrival-expired,.no-show-icon{animation:none!important}}

/* v6.8 — fare in detail strip, full-height taxi artwork */
.shell.has-client-nav .client-active-ride .ride-ref-price{display:none!important}
.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art{right:7px!important;top:50%!important;transform:translateY(-50%)!important;width:clamp(83px,31%,120px)!important;height:clamp(56px,82%,88px)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art img{width:100%!important;height:100%!important;object-fit:contain!important}
.shell.has-client-nav .client-active-ride .ride-ref-identity{max-width:calc(100% - 112px)!important}
.shell.has-client-nav .client-active-ride .ride-ref-facts>div:first-child strong{font-size:14px!important;font-variant-numeric:tabular-nums}
@media(max-height:700px){.shell.has-client-nav .client-active-ride .ride-ref-vehicle-art{width:clamp(76px,30%,105px)!important;height:clamp(48px,80%,70px)!important}.shell.has-client-nav .client-active-ride .ride-ref-identity{max-width:calc(100% - 96px)!important}}

/* v6.9 — expired arrival badge: two-column layout, no crowded 0:00 */
.client-active-ride .client-map .arrival-timer.arrival-expired{width:min(265px,calc(100% - 28px))!important;grid-template-columns:34px minmax(0,1fr)!important;column-gap:9px!important;min-height:57px!important;padding:8px 11px!important;box-sizing:border-box!important;align-items:center!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-ring{width:32px!important;height:32px!important;transform:none!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-copy{min-width:0!important;gap:3px!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-copy strong{font-size:10px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:normal!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-copy small{font-size:9px!important;line-height:1.25!important;white-space:normal!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-value{display:none!important}
@media(max-width:330px){.client-active-ride .client-map .arrival-timer.arrival-expired{width:calc(100% - 18px)!important;padding:7px 9px!important;gap:7px!important}}

/* v7.0 — driver-focused dark premium operational layout */
.shell:has(.driver-workspace){background:#111419!important;color:#f6f7f9!important;min-height:100dvh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:0!important}
.shell:has(.driver-workspace)>.top,.shell:has(.driver-workspace)>.hero,.shell:has(.driver-workspace)>.footer{display:none!important}
.driver-workspace{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1!important;height:100%!important;background:#121519!important;overflow:hidden!important;position:relative!important}
.driver-map{position:relative!important;flex:0 0 28%!important;min-height:110px!important;max-height:220px!important;overflow:hidden!important;background:#20252c!important;filter:none!important}
.driver-map .map{height:100%!important;min-height:0!important;opacity:.36!important;filter:grayscale(1) invert(.88) contrast(.7)!important}
.driver-map-logo{position:absolute!important;top:14px!important;left:18px!important;font-size:23px!important;font-weight:950!important;letter-spacing:-1px!important;color:white!important;text-shadow:none!important}.driver-map-logo span{color:#ffd23e!important}
.driver-status{position:absolute!important;right:12px!important;bottom:13px!important;left:auto!important;top:auto!important;display:flex!important;align-items:center!important;gap:8px!important;border:1px solid #3a414a!important;border-radius:16px!important;padding:9px 12px!important;background:#191d23!important;color:#fff!important;font-size:12px!important;font-weight:800!important;box-shadow:0 8px 20px #0005!important}
.driver-status button{border:0!important;background:#ffcf3e!important;border-radius:15px!important;color:#14171a!important;font-size:15px!important;width:30px!important;height:28px!important;font-weight:900!important}.driver-status .online-dot{width:8px!important;height:8px!important;background:#52d99a!important}.driver-status .online-dot.offline{background:#7b838e!important}
.driver-sheet{position:relative!important;flex:1!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:linear-gradient(155deg,#20242b,#13171b)!important;border-radius:25px 25px 0 0!important;margin-top:-17px!important;z-index:2!important;padding:11px 14px 85px!important;color:#fff!important;scrollbar-width:none!important;box-shadow:0 -9px 30px #0002!important}.driver-sheet::-webkit-scrollbar{display:none}
.driver-sheet .sheet-handle{background:#5e636a!important;width:33px!important;height:4px!important;margin:0 auto 12px!important}
.driver-identity{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 14px!important;padding:0 3px!important}.driver-identity .eyebrow{font-size:9px!important;color:#ffd13d!important;letter-spacing:2px!important}.driver-identity h1{font-size:21px!important;color:#fff!important;margin:3px 0!important;letter-spacing:-.6px!important}.driver-identity small{color:#9da5b0!important;font-size:10px!important}.driver-identity .ghost{border:1px solid #3a424b!important;background:#252a31!important;color:#d8dce3!important;border-radius:11px!important;padding:7px 12px!important;font-size:10px!important}
.driver-bottom-nav{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:40!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;background:#14171b!important;border-top:1px solid #343942!important;padding:6px 9px max(7px,env(safe-area-inset-bottom))!important;box-shadow:0 -7px 22px #0005!important;min-height:59px!important}
.driver-bottom-nav button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;position:relative!important;background:none!important;border:0!important;color:#9da5af!important;font-size:10px!important;font-weight:650!important;padding:1px!important}.driver-bottom-nav button.active{color:#ffd33e!important}.driver-bottom-nav .nav-symbol{font-size:22px!important;line-height:26px!important}.driver-bottom-nav button.active .nav-symbol{background:#ffce3e!important;color:#181b1e!important;border-radius:11px!important;min-width:42px!important}.driver-bottom-nav em{position:absolute!important;right:20%!important;top:0!important;border-radius:20px!important;background:#ffd13e!important;color:#151515!important;font-size:9px!important;min-width:15px!important;font-style:normal!important}
.driver-list-head,.driver-section-title{color:white!important;font-size:17px!important;letter-spacing:-.5px!important;margin:10px 0 13px!important}.driver-list-head .pill{background:#ffce3d!important;color:#14171b!important}
.driver-sheet .empty{background:#242930!important;color:#aab2bc!important;border:1px solid #333a43!important;border-radius:17px!important;padding:23px 12px!important;text-align:center!important;font-size:12px!important}
.driver-sheet .notice{background:#292b2d!important;color:#e4c27b!important;border:1px solid #55503b!important;border-radius:13px!important;font-size:11px!important}
.driver-sheet .quick-request,.driver-sheet .driver-request,.driver-sheet .driver-sent{background:linear-gradient(145deg,#292e36,#22262d)!important;border:1px solid #39414a!important;color:#f6f7fa!important;border-radius:18px!important;padding:14px!important;box-shadow:0 8px 20px #0002!important;margin-bottom:10px!important}
.driver-sheet .quick-referred{border-color:#e9b936!important}.driver-sheet .quick-head,.driver-sheet .quick-body,.driver-sheet .driver-fare{color:#fff!important}.driver-sheet .quick-body{gap:12px!important}.driver-sheet .compact-route span,.driver-sheet .driver-route span{color:#e8ebf0!important;font-size:12px!important}.driver-sheet .compact-numbers strong,.driver-sheet .driver-fare strong{color:#ffd33e!important;font-size:19px!important}.driver-sheet .compact-numbers small{color:#aab2bd!important}.driver-sheet .quick-counter{background:#323842!important;color:#fff!important;border:1px solid #545c68!important;border-radius:12px!important;min-height:43px!important;font-weight:800!important}.driver-sheet .quick-accept,.driver-sheet .primary.full,.driver-sheet .driver-pin-entry button{background:linear-gradient(100deg,#ffe077,#ffcb32)!important;color:#151719!important;border:0!important;border-radius:12px!important;min-height:46px!important;font-weight:900!important;box-shadow:0 5px 13px #0002!important}.driver-sheet .quick-counter-panel{background:#22262d!important;border-color:#414954!important;color:white!important}.driver-sheet .quick-counter-panel label{color:#b9c0c8!important}
.driver-sheet .driver-request>strong{display:block!important;font-size:20px!important;margin:4px 0 12px!important;letter-spacing:-.6px!important}.driver-sheet .driver-route{border-radius:13px!important;background:#1b2026!important;padding:12px!important;margin-bottom:10px!important}.driver-sheet .driver-fare{display:flex!important;justify-content:space-between!important;align-items:center!important}.driver-sheet .driver-fare .pill{background:#343b44!important;color:#ffda6b!important;border-radius:10px!important;padding:6px 9px!important;font-size:10px!important}.driver-sheet .active-progress{padding:15px 0 8px!important}.driver-sheet .active-step small{color:#a8b0bb!important}.driver-sheet .driver-chat-open{background:#30363e!important;color:#fff!important;border:1px solid #424a55!important;border-radius:13px!important;min-height:44px!important;font-size:12px!important}.driver-sheet .driver-pin-box{border-color:#4b5058!important}.driver-sheet .driver-wait{background:#302b21!important;color:#ffd77c!important}.driver-sheet .driver-payment-pill{display:inline-flex;background:#343a43;border-radius:9px;padding:6px 10px;color:#b9c2cb;font-size:10px;margin:5px 0}
@media(max-height:620px){.driver-map{flex-basis:23%!important;min-height:88px!important}.driver-sheet{padding-top:7px!important}.driver-identity{margin-bottom:8px!important}.driver-bottom-nav{min-height:49px!important}.driver-sheet .driver-request{padding:10px!important}}
@media(min-width:600px){.driver-bottom-nav{left:50%!important;transform:translateX(-50%)!important;max-width:430px!important}.driver-workspace{max-width:430px!important;margin:0 auto!important;width:100%!important}}

/* v7.1 — driver light mode, true edge-to-edge phone viewport */
.shell:has(.driver-workspace){width:100%!important;max-width:none!important;min-width:0!important;background:#f7f8fa!important;color:#191d24!important;overflow:hidden!important}
.shell:has(.driver-workspace) .driver-workspace{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;height:100%!important;background:#f7f8fa!important;position:relative!important}
.shell:has(.driver-workspace) .driver-map{box-sizing:border-box!important;width:100%!important;flex:0 0 clamp(130px,31%,220px)!important;min-height:0!important;max-height:none!important;background:#f0f3f5!important}
.shell:has(.driver-workspace) .driver-map .map{opacity:.85!important;filter:none!important}
.shell:has(.driver-workspace) .driver-map-logo{color:#161b23!important;background:#fff!important;border-radius:12px!important;padding:6px 12px!important;box-shadow:0 3px 12px #22222213!important}
.shell:has(.driver-workspace) .driver-status{background:#fff!important;color:#20252c!important;border:1px solid #e9edf1!important;box-shadow:0 5px 17px #22222215!important}
.shell:has(.driver-workspace) .driver-sheet{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:0!important;flex:1 1 auto!important;background:linear-gradient(160deg,#fff,#fbfcfd)!important;color:#191d24!important;border-radius:24px 24px 0 0!important;margin-top:-16px!important;padding:10px 14px 12px!important;box-shadow:0 -7px 22px #17202c10!important;overflow-y:auto!important}
.shell:has(.driver-workspace) .driver-sheet .sheet-handle{background:#c9ced5!important}
.shell:has(.driver-workspace) .driver-identity h1,.shell:has(.driver-workspace) .driver-list-head,.shell:has(.driver-workspace) .driver-section-title{color:#171b21!important}
.shell:has(.driver-workspace) .driver-identity .eyebrow{color:#ac8300!important}
.shell:has(.driver-workspace) .driver-identity small{color:#848c96!important}
.shell:has(.driver-workspace) .driver-identity .ghost{background:#f4f5f7!important;border-color:#e2e6eb!important;color:#343a44!important}
.shell:has(.driver-workspace) .driver-sheet .empty{background:#f8f9fb!important;color:#7e8793!important;border-color:#e7eaf0!important}
.shell:has(.driver-workspace) .driver-sheet .notice{background:#fff8e8!important;color:#8b681e!important;border-color:#f5dfab!important}
.shell:has(.driver-workspace) .driver-sheet .quick-request,.shell:has(.driver-workspace) .driver-sheet .driver-request,.shell:has(.driver-workspace) .driver-sheet .driver-sent{background:#fff!important;border-color:#e7ebef!important;color:#1c222b!important;box-shadow:0 5px 16px #1a283009!important}
.shell:has(.driver-workspace) .driver-sheet .quick-referred{border-color:#e9b936!important}
.shell:has(.driver-workspace) .driver-sheet .quick-head,.shell:has(.driver-workspace) .driver-sheet .quick-body,.shell:has(.driver-workspace) .driver-sheet .driver-fare{color:#1c222b!important}
.shell:has(.driver-workspace) .driver-sheet .compact-route span,.shell:has(.driver-workspace) .driver-sheet .driver-route span{color:#313943!important}
.shell:has(.driver-workspace) .driver-sheet .compact-numbers strong,.shell:has(.driver-workspace) .driver-sheet .driver-fare strong{color:#161b21!important}
.shell:has(.driver-workspace) .driver-sheet .compact-numbers small{color:#8b929d!important}
.shell:has(.driver-workspace) .driver-sheet .quick-counter{background:#fff!important;color:#2a313b!important;border-color:#dce2e9!important}
.shell:has(.driver-workspace) .driver-sheet .quick-counter-panel{background:#fff9e9!important;border-color:#f1dba6!important;color:#222!important}
.shell:has(.driver-workspace) .driver-sheet .quick-counter-panel label{color:#626a75!important}
.shell:has(.driver-workspace) .driver-sheet .driver-route{background:#f7f8fa!important}
.shell:has(.driver-workspace) .driver-sheet .driver-fare .pill{background:#fff4d4!important;color:#84600d!important}
.shell:has(.driver-workspace) .driver-sheet .active-step small{color:#737d89!important}
.shell:has(.driver-workspace) .driver-sheet .driver-chat-open{background:#fff!important;color:#222932!important;border-color:#e3e8ee!important}
.shell:has(.driver-workspace) .driver-sheet .driver-payment-pill{background:#f2f4f7!important;color:#626c78!important}
.shell:has(.driver-workspace) .driver-bottom-nav{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;box-sizing:border-box!important;flex:0 0 auto!important;width:100%!important;max-width:none!important;margin:0!important;min-height:58px!important;background:#fff!important;border-top:1px solid #edf0f3!important;box-shadow:0 -4px 15px #141a2409!important;padding:5px 8px max(7px,env(safe-area-inset-bottom))!important}
.shell:has(.driver-workspace) .driver-bottom-nav button{color:#929aa5!important}
.shell:has(.driver-workspace) .driver-bottom-nav button.active{color:#171a1e!important}
.shell:has(.driver-workspace) .driver-bottom-nav button.active .nav-symbol{background:#ffd34b!important;color:#171a1e!important}
@media(max-height:620px){.shell:has(.driver-workspace) .driver-map{flex-basis:22%!important}.shell:has(.driver-workspace) .driver-sheet{padding-top:7px!important}.shell:has(.driver-workspace) .driver-bottom-nav{min-height:49px!important}}

/* v7.2 — navigation is a sibling of the scrollable sheet, never inside it */
.shell:has(.driver-workspace){height:100dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:0!important}
.shell:has(.driver-workspace)>.top,.shell:has(.driver-workspace)>.footer{display:none!important}
.shell:has(.driver-workspace)>.driver-workspace{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;height:100%!important;overflow:hidden!important}
.shell:has(.driver-workspace) .driver-map{flex-shrink:0!important}
.shell:has(.driver-workspace) .driver-sheet{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.shell:has(.driver-workspace) .driver-bottom-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important;flex:0 0 auto!important;order:3!important;z-index:50!important;width:100%!important;visibility:visible!important;opacity:1!important;background:#fff!important;border-top:1px solid #e9edf2!important;padding:6px 8px max(8px,env(safe-area-inset-bottom))!important}

/* v7.4 — premium request card without a redundant mini-map */
.shell:has(.driver-workspace) .driver-sheet .quick-request{position:relative;overflow:hidden;border:1px solid #f2d996!important;border-radius:20px!important;padding:12px!important;background:#fff!important;box-shadow:0 8px 23px #bd96331c!important;animation:requestEnter .36s cubic-bezier(.2,.8,.2,1)}
.shell:has(.driver-workspace) .quick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px!important}
.shell:has(.driver-workspace) .compact-ref{background:#ffe7a1!important;color:#24201a!important;border-radius:30px!important;padding:6px 10px!important;font-size:10px!important;font-weight:850!important;white-space:nowrap}
.shell:has(.driver-workspace) .compact-label{font-size:11px!important;font-weight:800!important;color:#7d8691!important}
.shell:has(.driver-workspace) .request-clock{background:#fff3d1!important;border-radius:30px!important;padding:6px 9px!important;color:#292723!important;font-size:11px!important;font-weight:850!important;white-space:nowrap;animation:requestPulse 1.5s ease-in-out infinite}
.shell:has(.driver-workspace) .quick-body{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;margin:0 0 14px!important}
.shell:has(.driver-workspace) .compact-route{display:grid!important;gap:13px!important;position:relative;min-width:0;padding-left:2px}
.shell:has(.driver-workspace) .compact-route:before{content:'';position:absolute;top:13px;bottom:13px;left:6px;width:1px;background:#dce1e7}
.shell:has(.driver-workspace) .compact-route>div{display:flex!important;align-items:center!important;gap:10px!important;min-width:0}
.shell:has(.driver-workspace) .compact-route i{width:9px!important;height:9px!important;min-width:9px!important;z-index:1;border-radius:50%!important}
.shell:has(.driver-workspace) .compact-route span{display:grid!important;gap:3px!important;min-width:0!important;font-size:11px!important}
.shell:has(.driver-workspace) .compact-route span small{font-size:9px!important;color:#9098a2!important;font-weight:500!important}
.shell:has(.driver-workspace) .compact-route span strong{font-size:12px!important;font-weight:850!important;overflow-wrap:anywhere;line-height:1.2!important}
.shell:has(.driver-workspace) .compact-numbers{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:9px!important;min-width:75px!important}
.shell:has(.driver-workspace) .request-distance{font-size:10px!important;color:#7e8792!important;background:#f6f7f9;border-radius:20px;padding:6px 8px;white-space:nowrap}
.shell:has(.driver-workspace) .request-fare{display:grid!important;justify-items:end!important;gap:4px!important}
.shell:has(.driver-workspace) .request-fare strong{font-size:19px!important;font-weight:900!important;letter-spacing:-.6px!important;white-space:nowrap}
.shell:has(.driver-workspace) .request-fare small{font-size:10px!important;color:#9199a4!important}
.shell:has(.driver-workspace) .quick-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important;gap:8px!important}
.shell:has(.driver-workspace) .quick-actions button{min-width:0!important;min-height:43px!important;border-radius:12px!important;font-size:10px!important;font-weight:850!important;padding:8px 5px!important;white-space:normal!important}
.shell:has(.driver-workspace) .quick-accept{background:linear-gradient(100deg,#ffe27c,#ffca38)!important;color:#171a1e!important;box-shadow:0 5px 12px #efbf4240!important}
@keyframes requestEnter{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes requestPulse{50%{box-shadow:0 0 0 3px #f7cb5830}}
@media(prefers-reduced-motion:reduce){.shell:has(.driver-workspace) .quick-request,.shell:has(.driver-workspace) .request-clock{animation:none!important}}

/* v7.5 — verified ratings computed from completed trips */
.driver-real-rating{display:inline-flex;align-items:center;gap:3px;color:#ae7d00;font-size:11px;font-weight:800;margin-top:5px}.rating-count{color:#89919b;font-size:9px;font-weight:550}.driver-trip-rating{float:right;color:#b78300;font-size:11px;font-weight:800}.ride-ref-rating{color:#ae7d00!important}

/* Cuenta regresiva de cada propuesta integrada en el botón Elegir taxi. */
.client-offer-accept.offer-countdown-button{position:relative;overflow:hidden;isolation:isolate;background:#e8e8e8;color:#171717;transition:background .2s,color .2s}
.client-offer-accept.offer-countdown-button::before{content:"";position:absolute;inset:0;z-index:-1;background:#ffca35;transform:scaleX(var(--offer-progress,1));transform-origin:left center;transition:transform .1s linear}
.client-offer-accept.offer-countdown-button.offer-urgent::before{background:#f5a623}
.client-offer-accept.offer-countdown-button.offer-urgent{animation:rayt-offer-urgent .85s ease-in-out infinite alternate}
@keyframes rayt-offer-urgent{from{box-shadow:0 0 0 0 rgba(245,166,35,0)}to{box-shadow:0 0 0 3px rgba(245,166,35,.3)}}
@media(prefers-reduced-motion:reduce){.client-offer-accept.offer-countdown-button.offer-urgent{animation:none}}

/* v7.9: progreso visible desde el primer instante, sin capa oculta tras el botón. */
.client-offer-accept.offer-countdown-button{
 background:linear-gradient(to right,#ffca35 0%,#ffca35 var(--offer-progress,100%),#e8e8e8 var(--offer-progress,100%),#e8e8e8 100%) !important;
 color:#171717 !important;
}
.client-offer-accept.offer-countdown-button::before{display:none !important}
.client-offer-accept.offer-countdown-button.offer-urgent{
 background:linear-gradient(to right,#f5a623 0%,#f5a623 var(--offer-progress,100%),#e8e8e8 var(--offer-progress,100%),#e8e8e8 100%) !important;
}

/* v8.0 — Barra amarilla continua y barrido suave tipo sombra. */
.client-offer-accept.offer-countdown-button,
.client-offer-accept.offer-countdown-button.offer-urgent{
  background:linear-gradient(to right,
    #ffcf4c 0%,
    #ffcf4c var(--offer-progress,100%),
    #ffe39a var(--offer-progress,100%),
    #ffe39a 100%) !important;
  color:#28200b !important;
  box-shadow:inset 0 -2px 0 rgba(127,87,0,.08);
  animation:none;
}
.client-offer-accept.offer-countdown-button::after{
  content:"";position:absolute;top:0;bottom:0;
  left:var(--offer-progress,100%);width:12px;
  transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(to right,transparent,rgba(125,84,0,.17),transparent);
  transition:left .1s linear;
}
.client-offer-accept.offer-countdown-button.offer-urgent{
  box-shadow:inset 0 -2px 0 rgba(127,87,0,.12),0 0 0 2px rgba(245,166,35,.13);
}

/* v8.1: destello discreto exclusivamente en la propuesta del conductor referido. */
.client-has-offers .client-offer-card.is-referral{animation:raytReferralGlimmer 3.8s ease-in-out infinite!important;will-change:box-shadow}
@keyframes raytReferralGlimmer{0%,72%,100%{border-color:#e5b93e;box-shadow:0 0 0 2px #ffdb6b24,0 5px 18px #17191c0a}82%{border-color:#f6cb53;box-shadow:0 0 0 3px #f8cf6540,0 0 17px #f3c95335,0 5px 18px #17191c0a}91%{border-color:#e5b93e;box-shadow:0 0 0 2px #ffdb6b24,0 5px 18px #17191c0a}}
@media(prefers-reduced-motion:reduce){.client-has-offers .client-offer-card.is-referral{animation:none!important;will-change:auto}}

/* v8.2 · Perfil del conductor */
.driver-bottom-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.driver-profile{padding:0 0 22px;color:#202126}.driver-profile-cover{height:104px;border-radius:17px 17px 0 0;background:linear-gradient(115deg,#17191e,#393b3f 64%,#b48618);position:relative;overflow:hidden;padding:17px 19px;color:#fff;font-size:19px;font-weight:900;letter-spacing:.1em}.driver-profile-cover b{color:#ffca35}.driver-profile-cover-pattern{position:absolute;right:-20px;top:-65px;width:175px;height:175px;border:28px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 26px #ffffff08}.driver-profile-overlap{display:flex;align-items:flex-end;justify-content:space-between;margin:-37px 16px 0;position:relative;z-index:1}.driver-profile-photo{height:76px;width:76px;border:4px solid white;border-radius:50%;background:#ffca35;display:grid;place-items:center;font-size:25px;font-weight:800;overflow:hidden;box-shadow:0 4px 15px #0002}.driver-profile-photo img{width:100%;height:100%;object-fit:cover}.driver-profile-online{display:flex;align-items:center;gap:6px;background:#f4f5f5;border:1px solid #e9eaec;border-radius:20px;font-size:10px;padding:7px 10px;margin-bottom:4px}.driver-profile-person{padding:9px 17px 17px;border-bottom:1px solid #f0f0f0}.driver-profile-person h1{font-size:22px;line-height:1.15;letter-spacing:-.7px;margin:0 0 7px}.driver-profile-rating{font-size:12px;color:#8a6513;font-weight:700}.driver-profile-vehicle{display:flex;gap:11px;align-items:center;margin:14px 15px;padding:13px;border:1px solid #ebebed;border-radius:14px;background:#fafafa}.driver-profile-vehicle-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#fff2c8;font-size:19px}.driver-profile-vehicle>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.driver-profile-vehicle small,.driver-profile-stats small{font-size:9px;color:#81838b;letter-spacing:.04em}.driver-profile-vehicle strong{font-size:13px}.driver-profile-vehicle span{font-size:11px;color:#81838b}.driver-profile-heading{display:flex;align-items:baseline;justify-content:space-between;padding:4px 16px 10px;font-size:15px;font-weight:800}.driver-profile-heading small{font-size:10px;color:#888;font-weight:500}.driver-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 15px}.driver-profile-stats>div{min-width:0;border:1px solid #eeeef0;border-radius:13px;padding:12px 10px;display:flex;flex-direction:column;gap:5px;background:#fff}.driver-profile-stats>div:last-child{grid-column:1/-1;background:#fffaf0;border-color:#f4e8c9}.driver-profile-stats strong{font-size:19px;letter-spacing:-.5px;line-height:1.2}.driver-profile-stats span{font-size:10px;color:#83848a}.driver-profile-signout{display:flex;justify-content:space-between;width:calc(100% - 30px);margin:18px 15px 0;padding:12px 13px;background:#f5f5f5;border:0;border-radius:12px;font-weight:650;font-size:12px;color:#4c4c4c}

/* v8.3 — Perfil a pantalla completa: sin mapa ni cabecera de solicitudes. */
.driver-workspace.driver-profile-mode{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-bottom:0!important;background:#fff;overflow:hidden}
.driver-profile-mode .driver-sheet{margin:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;flex:1;overflow-y:auto;padding:0 0 calc(67px + env(safe-area-inset-bottom))!important;scrollbar-width:none}
.driver-profile-mode .driver-sheet::-webkit-scrollbar{display:none}
.driver-profile-mode .driver-profile{padding:0 0 5px;min-height:100%;display:flex;flex-direction:column}
.driver-profile-mode .driver-profile-cover{border-radius:0;height:clamp(66px,12dvh,104px);flex-shrink:0}
.driver-profile-mode .driver-profile-overlap{margin-top:-29px;flex-shrink:0}
.driver-profile-mode .driver-profile-photo{height:65px;width:65px}
.driver-profile-mode .driver-profile-person{padding:5px 15px 11px}
.driver-profile-mode .driver-profile-person h1{font-size:clamp(17px,3.2dvh,22px);margin-bottom:4px}
.driver-profile-mode .driver-profile-vehicle{margin:9px 13px;padding:9px 11px}
.driver-profile-mode .driver-profile-heading{padding:2px 14px 7px}
.driver-profile-mode .driver-profile-stats{gap:7px;padding:0 13px}
.driver-profile-mode .driver-profile-stats>div{padding:9px 10px;gap:3px}
.driver-profile-mode .driver-profile-stats strong{font-size:17px}
.driver-profile-mode .driver-profile-signout{margin:10px 13px 0;width:calc(100% - 26px);padding:10px 12px}
@media(max-height:650px){.driver-profile-mode .driver-profile-cover{height:62px;padding:12px 16px}.driver-profile-mode .driver-profile-overlap{margin-top:-23px}.driver-profile-mode .driver-profile-photo{width:51px;height:51px;font-size:18px}.driver-profile-mode .driver-profile-person{padding:3px 13px 7px}.driver-profile-mode .driver-profile-vehicle{margin:6px 12px;padding:6px 9px}.driver-profile-mode .driver-profile-vehicle-icon{height:30px;width:30px}.driver-profile-mode .driver-profile-heading{padding:0 13px 5px}.driver-profile-mode .driver-profile-stats>div{padding:7px 9px}.driver-profile-mode .driver-profile-signout{margin-top:6px;padding:8px 10px}}

/* v8.4 — Perfil edge-to-edge: portada y contenido ocupan el ancho real del teléfono. */
.shell:has(.driver-workspace) .driver-workspace.driver-profile-mode{width:100%!important;max-width:none!important;margin:0!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;box-sizing:border-box!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-cover{width:100%!important;box-sizing:border-box!important;border-radius:0!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-overlap{margin-left:12px!important;margin-right:12px!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-person{padding-left:12px!important;padding-right:12px!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-vehicle{margin-left:10px!important;margin-right:10px!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-heading{padding-left:11px!important;padding-right:11px!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-stats{padding-left:10px!important;padding-right:10px!important}
.shell:has(.driver-workspace) .driver-profile-mode .driver-profile-signout{margin-left:10px!important;margin-right:10px!important;width:calc(100% - 20px)!important}


/* v8.5 — Inicio del conductor sin mapa, visual y de ancho completo */
.shell:has(.driver-home-mode){padding:0!important;max-width:none!important;width:100%!important}
.shell:has(.driver-home-mode)>header,.shell:has(.driver-home-mode)>.hero,.shell:has(.driver-home-mode)>.footer{display:none!important}
.driver-workspace.driver-home-mode{height:100dvh;min-height:0;width:100%!important;max-width:none!important;margin:0!important;background:#fff;display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.driver-home-mode .driver-sheet{flex:1;min-height:0;overflow-y:auto;width:100%!important;max-width:none!important;margin:0!important;padding:0 12px calc(74px + env(safe-area-inset-bottom))!important;border-radius:0!important;box-shadow:none!important;background:#fff;scrollbar-width:none}
.driver-home-mode .driver-sheet::-webkit-scrollbar{display:none}
.driver-home-top{margin:0 -12px 12px;padding:15px 12px 12px;background:radial-gradient(circle at 95% 0%,#c59b2b 0%,transparent 48%),linear-gradient(125deg,#17191d,#282621);color:#fff;border-radius:0 0 22px 22px}
.driver-home-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.driver-home-brand strong{font-size:23px;font-weight:950;font-style:italic;letter-spacing:.06em}.driver-home-brand b{color:#ffce42}.driver-home-avatar{width:35px;height:35px;border:2px solid #ffcc40;border-radius:50%;background:#ffcf46;color:#161616;font-weight:900;overflow:hidden}.driver-home-avatar img,.driver-home-photo img{width:100%;height:100%;object-fit:cover}
.driver-home-person{display:flex;align-items:center;gap:8px;border:1px solid #ffffff25;border-radius:15px;background:#ffffff13;padding:10px 8px}.driver-home-photo{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#ffcc3e;color:#161616;display:grid;place-items:center;font-weight:900;overflow:hidden}.driver-home-name{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.driver-home-name strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-home-name small{font-size:9px;color:#e2e2e2}.driver-home-name .rating-count{color:#bbb}.driver-home-status{border:1px solid #428358;background:#254d35;color:#fff;border-radius:20px;padding:7px;font-size:9px;display:flex;gap:4px;align-items:center;flex-shrink:0}.driver-home-status i{width:7px;height:7px;border-radius:50%;background:#53e38e}.driver-home-status.is-offline{background:#454545;border-color:#666}.driver-home-status.is-offline i{background:#aaa}
.driver-home-radar{text-align:center;padding:6px 0 9px}.driver-radar-art{height:clamp(130px,27dvh,205px);position:relative;display:grid;place-items:center;isolation:isolate}.driver-radar-art img{position:relative;z-index:2;width:min(88%,285px);max-height:94%;object-fit:contain;filter:drop-shadow(0 12px 10px #0002);animation:rayt-car-float 3s ease-in-out infinite}.driver-radar-ring{position:absolute;left:50%;top:50%;border:1px solid #f5d78a;border-radius:50%;transform:translate(-50%,-50%);background:#ffcf4310}.ring-one{width:110px;height:110px}.ring-two{width:175px;height:175px;animation:rayt-radar 3s ease-out infinite}.ring-three{width:245px;height:245px;animation:rayt-radar 3s ease-out 1s infinite}.driver-radar-spark{position:absolute;color:#eeb631;z-index:3;animation:rayt-twinkle 2s infinite}.spark-one{top:14%;left:17%}.spark-two{right:12%;bottom:23%;animation-delay:.7s}.driver-home-radar h2{font-size:18px;letter-spacing:-.5px;margin:2px 0 5px}.driver-home-radar p{font-size:11px;color:#85858a;margin:0}.driver-radar-dots{display:flex;justify-content:center;gap:6px;margin:11px}.driver-radar-dots i{width:5px;height:5px;background:#eebf47;border-radius:50%;animation:rayt-twinkle 1.3s infinite}.driver-radar-dots i:nth-child(2){animation-delay:.25s}.driver-radar-dots i:nth-child(3){animation-delay:.5s}.driver-home-radar.is-offline .driver-radar-art img,.driver-home-radar.is-offline .driver-radar-ring{animation:none;opacity:.5}
.driver-home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:9px 0 16px}.driver-home-metrics>div{border:1px solid #ededed;border-radius:13px;padding:10px 7px;min-width:0;background:#fffdf8;display:flex;flex-direction:column;gap:7px}.driver-home-metrics span{font-size:9px;color:#85858a}.driver-home-metrics strong{font-size:clamp(12px,4vw,17px);letter-spacing:-.4px;white-space:nowrap}.driver-home-mode .driver-list-head{margin:4px 0 10px}.driver-home-mode .driver-list-head h2{font-size:15px}.driver-waiting-note{text-align:center;padding:14px;border:1px dashed #e8dfca;border-radius:13px;background:#fffcf4;color:#a18d5c;font-size:11px}
@keyframes rayt-radar{0%{opacity:.9;scale:.88}100%{opacity:.12;scale:1.12}}@keyframes rayt-car-float{50%{transform:translateY(-5px)}}@keyframes rayt-twinkle{50%{opacity:.25;transform:scale(.75)}}
@media(max-width:340px){.driver-home-person{gap:5px;padding:8px 6px}.driver-home-photo{width:33px;height:33px}.driver-home-status{font-size:8px;padding:6px 4px}.driver-home-name strong{font-size:11px}.driver-home-metrics>div{padding:9px 5px}}
@media(max-height:620px){.driver-home-top{padding-top:8px;padding-bottom:8px}.driver-home-brand{margin-bottom:7px}.driver-radar-art{height:115px}.driver-home-radar h2{font-size:16px}.driver-home-metrics{margin:5px 0 9px}.driver-home-metrics>div{padding:7px 5px;gap:3px}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-radar-art *,.driver-home-mode .driver-radar-dots *{animation:none!important}}

/* v8.6: solicitudes como bandeja flotante, sin desplazarse hasta el final. */
.driver-home-mode .driver-sheet{position:relative;overflow:hidden!important}
.driver-home-mode .driver-incoming.has-incoming{position:absolute;z-index:12;left:7px;right:7px;bottom:calc(65px + env(safe-area-inset-bottom));max-height:min(61dvh,420px);overflow-y:auto;overscroll-behavior:contain;padding:13px 9px 9px;background:linear-gradient(145deg,#fffdf5,#fff 36%);border:1px solid #eedaa6;border-radius:20px;box-shadow:0 -12px 42px #4b370b28,0 8px 22px #00000010;animation:rayt-incoming-rise .38s cubic-bezier(.2,.8,.2,1) both;scrollbar-width:thin}
.driver-home-mode .driver-incoming.has-incoming:before{content:'';display:block;width:32px;height:4px;background:#d8d8dc;border-radius:8px;margin:-4px auto 10px}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head{margin:0 2px 8px}.driver-home-mode .driver-incoming.has-incoming .driver-list-head h2{font-size:15px}
.driver-home-mode .driver-incoming.has-incoming .quick-request{margin:7px 0 10px;box-shadow:0 3px 12px #00000008}
.driver-home-mode .driver-incoming.has-incoming .quick-request:last-child{margin-bottom:0}
.driver-home-mode .driver-incoming.has-incoming .incoming-pagination{font-size:10px;color:#93815a;margin:0 3px 7px}
.driver-home-mode .driver-incoming.has-incoming .quick-referred{animation:rayt-referred-glint 3.8s ease-in-out infinite}
@keyframes rayt-incoming-rise{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-height:620px){.driver-home-mode .driver-incoming.has-incoming{max-height:66dvh;bottom:calc(59px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming.has-incoming{animation:none}}

/* v8.7: inicio sin sección de solicitudes vacía; la tarjeta solo aparece al llegar una solicitud. */
.driver-home-mode .driver-sheet{display:flex;flex-direction:column;}
.driver-home-mode .driver-home-top{flex-shrink:0;}
.driver-home-mode .driver-home-radar{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:10px 0;}
.driver-home-mode .driver-radar-art{height:clamp(175px,34dvh,270px);}
.driver-home-mode .driver-radar-art img{width:min(95%,310px);}
.driver-home-mode .driver-home-metrics{flex-shrink:0;margin:12px 0 18px;}
.driver-home-mode .driver-incoming.has-incoming{flex:0 0 auto;}
@media(max-height:620px){.driver-home-mode .driver-radar-art{height:clamp(145px,29dvh,190px)}.driver-home-mode .driver-home-metrics{margin:7px 0 12px}}

/* v8.8: bandeja flotante con tarjetas independientes apiladas. */
.driver-home-mode .driver-incoming.has-incoming{left:7px!important;right:7px!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;max-height:min(68dvh,480px)!important;display:flex;flex-direction:column;overflow:hidden!important;padding:11px 8px 8px!important;background:linear-gradient(160deg,#fffdf6,#fff 42%)!important;border:1px solid #e9d8a8!important;border-radius:19px!important;box-shadow:0 -10px 35px #3a2a0826,0 5px 17px #0000000d!important}
.driver-home-mode .driver-incoming.has-incoming:before{flex-shrink:0;margin:-2px auto 9px!important}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head{flex-shrink:0;margin:0 3px 9px!important;padding:0 2px 8px;border-bottom:1px solid #f1e8d3}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head h2{font-size:13px!important;margin:0!important;letter-spacing:-.3px}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head .pill{background:#ffcb40!important;color:#201a0b!important;font-weight:900!important;min-width:24px;text-align:center}
/* Each card stays in normal vertical flow; scroll the entire stack inside the tray. */
.driver-home-mode .driver-incoming.has-incoming{overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e8c765 transparent}
.driver-home-mode .driver-incoming.has-incoming .quick-request{flex-shrink:0;position:relative;margin:0 0 9px!important;border:1px solid #e6e8ee!important;border-radius:15px!important;background:#fff!important;padding:11px 10px!important;box-shadow:0 3px 11px #00000009!important;animation:rayt-incoming-rise .3s ease both}
.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred{border:1px solid #eac14b!important;background:linear-gradient(135deg,#fffaf0,#fff 65%)!important;box-shadow:0 2px 12px #e9b93622!important,0 0 0 1px #f7e8b7 inset!important;animation:rayt-referred-glint 3.8s ease-in-out infinite}
.driver-home-mode .driver-incoming.has-incoming .quick-head{margin-bottom:10px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-body{margin-bottom:10px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-actions button{min-height:38px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-request:last-child{margin-bottom:1px!important}
@media(max-width:340px){.driver-home-mode .driver-incoming.has-incoming{left:5px!important;right:5px!important;padding-left:6px!important;padding-right:6px!important}.driver-home-mode .driver-incoming.has-incoming .quick-request{padding:9px 8px!important}}
@media(max-height:620px){.driver-home-mode .driver-incoming.has-incoming{max-height:70dvh!important;bottom:calc(57px + env(safe-area-inset-bottom))!important}}

/* v9.1: central de solicitudes en vivo. Sin minimapas ni ubicaciones ficticias. */
.driver-home-mode .driver-incoming.has-incoming{top:145px!important;bottom:calc(61px + env(safe-area-inset-bottom))!important;max-height:none!important;left:0!important;right:0!important;padding:12px 10px 13px!important;border-radius:23px 23px 0 0!important;border:0!important;border-top:1px solid #e8d4a0!important;background:linear-gradient(165deg,#fffefa,#f9fafc 45%)!important;box-shadow:0 -10px 30px #15151512!important;animation:rayt-incoming-rise .32s ease-out both}
.driver-home-mode .driver-incoming.has-incoming:before{position:sticky;top:0;z-index:2;background:#d0d3d9;width:35px;height:4px;margin:0 auto 11px!important}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head{position:sticky;top:0;z-index:3;background:#fffefa;padding:7px 4px 12px!important;margin:0 0 11px!important;border-bottom:1px solid #f0e9d8}
.driver-home-mode .driver-incoming.has-incoming .driver-list-head h2{font-size:14px!important;font-weight:900;letter-spacing:-.45px}
.driver-home-mode .driver-incoming.has-incoming .quick-request{overflow:hidden;isolation:isolate;margin-bottom:11px!important;padding:12px 10px 11px!important;border:1px solid #e4e7ed!important;border-left:3px solid #ffca36!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 15px #1720330b!important;animation:rayt-request-enter .32s ease-out both}
.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred{border:1px solid #edc65b!important;border-left:3px solid #f5bb20!important;background:linear-gradient(130deg,#fffdf5,#fff 52%)!important;animation:rayt-referred-glint 3.8s ease-in-out infinite}
.driver-home-mode .driver-incoming.has-incoming .quick-head{margin-bottom:13px!important;align-items:center}
.driver-home-mode .driver-incoming.has-incoming .compact-ref{background:#ffe8a6;color:#28200b;font-weight:850;border-radius:99px;padding:6px 9px;box-shadow:0 1px 6px #ffc84430}
.driver-home-mode .driver-incoming.has-incoming .compact-label{font-weight:800;color:#34363b}
.driver-home-mode .driver-incoming.has-incoming .live-request-clock{position:relative;overflow:hidden;isolation:isolate;min-width:55px;text-align:center;border:1px solid #f3e5b9;background:#fff8e6!important;color:#2c281d;font-weight:900;padding:7px 7px!important}
.driver-home-mode .driver-incoming.has-incoming .live-request-clock:before{content:'';position:absolute;inset:auto 0 0;height:3px;background:#e7e6e2;z-index:-1}
.driver-home-mode .driver-incoming.has-incoming .live-request-clock:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:#f6b91b;transform-origin:left;animation:rayt-request-progress 60s linear both;animation-delay:calc(-1 * var(--elapsed,0s))}
.driver-home-mode .driver-incoming.has-incoming .quick-body{gap:8px!important;margin-bottom:13px!important;align-items:center}
.driver-home-mode .driver-incoming.has-incoming .compact-route{flex:1;min-width:0;gap:13px!important}.driver-home-mode .driver-incoming.has-incoming .compact-route strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.driver-home-mode .driver-incoming.has-incoming .compact-route small{font-size:9px;color:#8a909a}
.driver-home-mode .driver-incoming.has-incoming .compact-numbers{flex-shrink:0;text-align:right}.driver-home-mode .driver-incoming.has-incoming .request-fare strong{font-size:21px;letter-spacing:-.65px;color:#17191c}.driver-home-mode .driver-incoming.has-incoming .request-distance{background:#f4f5f8;border-radius:99px;padding:5px 7px;font-size:9px}
.driver-home-mode .driver-incoming.has-incoming .quick-actions{gap:7px!important}.driver-home-mode .driver-incoming.has-incoming .quick-actions button{min-height:42px!important;border-radius:11px!important}.driver-home-mode .driver-incoming.has-incoming .quick-counter{background:#fff!important;border:1px solid #dbe0e9!important}.driver-home-mode .driver-incoming.has-incoming .quick-accept{background:linear-gradient(100deg,#ffdd71,#ffca34)!important;box-shadow:0 3px 8px #eab92b35}
@keyframes rayt-request-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes rayt-request-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:340px){.driver-home-mode .driver-incoming.has-incoming{top:140px!important;padding-left:7px!important;padding-right:7px!important}.driver-home-mode .driver-incoming.has-incoming .quick-request{padding:10px 8px!important}.driver-home-mode .driver-incoming.has-incoming .request-fare strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming.has-incoming .quick-request{animation:none!important}.driver-home-mode .driver-incoming.has-incoming .live-request-clock:after{animation:none!important}}

/* v9.2: subtle yellow countdown sweep directly on the driver's Accept button. */
.driver-home-mode .driver-incoming.has-incoming .quick-accept.driver-accept-countdown{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(to right,#ffca34 0%,#ffca34 var(--driver-remaining,100%),#ffe7a2 var(--driver-remaining,100%),#ffe7a2 100%)!important;color:#181818!important;transition:box-shadow .2s ease!important}
.driver-home-mode .driver-incoming.has-incoming .quick-accept.driver-accept-countdown.driver-accept-urgent{box-shadow:0 0 0 2px #f5b82b55,0 3px 9px #eab92b35!important;animation:rayt-driver-accept-pulse 1s ease-in-out infinite alternate}
.driver-home-mode .driver-incoming.has-incoming .quick-accept.driver-accept-countdown:disabled{opacity:.65;cursor:not-allowed}
@keyframes rayt-driver-accept-pulse{to{box-shadow:0 0 0 4px #f5b82b22,0 3px 9px #eab92b35}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming.has-incoming .quick-accept.driver-accept-countdown{animation:none!important}}

/* v9.3: remove redundant referral label and countdown badge; retain referred border and accept-button timer. */
.driver-home-mode .driver-incoming.has-incoming .quick-request{padding-top:13px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-body{margin-top:0!important}

/* v9.4 · Cabecera del conductor simplificada */
.driver-home-mode .driver-home-top{margin:0 -12px 12px;padding:13px 13px 15px;background:linear-gradient(112deg,#191a1d 0%,#232321 72%,#514018 100%);border-radius:0 0 19px 19px;box-shadow:0 6px 20px #16161612}
.driver-home-mode .driver-home-brand{margin:0 0 13px;min-height:20px}.driver-home-mode .driver-home-brand strong{font-size:20px;line-height:1;letter-spacing:.045em}.driver-home-mode .driver-home-brand b{font-weight:400;color:#ffcc3e;margin-left:4px}
.driver-home-mode .driver-home-person{border:0;background:transparent;border-radius:0;padding:0;gap:10px;min-height:42px}
.driver-home-mode .driver-home-photo{border:1.5px solid #f6d46e;width:40px;height:40px;font-size:12px;cursor:pointer;flex-shrink:0}
.driver-home-mode .driver-home-name{gap:4px;flex:1;min-width:0}.driver-home-mode .driver-home-name strong{font-size:13px;font-weight:750;letter-spacing:-.1px}.driver-home-mode .driver-home-name small{font-size:10px;color:#e9d79b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-home-mode .driver-home-status{min-height:30px;border:1px solid #4c785d;background:#224d35;border-radius:100px;padding:6px 9px;color:#fff;font-size:9px;font-weight:700;white-space:nowrap;gap:5px;box-shadow:none;cursor:pointer}
.driver-home-mode .driver-home-status i{height:6px;width:6px;background:#58e69a;box-shadow:0 0 0 3px #58e69a1a}
.driver-home-mode .driver-home-status.is-offline{background:#393939;border-color:#626262;color:#eee}.driver-home-mode .driver-home-status.is-offline i{background:#b7b7b7;box-shadow:none}
@media(max-width:340px){.driver-home-mode .driver-home-top{padding:11px 10px 13px}.driver-home-mode .driver-home-person{gap:7px}.driver-home-mode .driver-home-photo{width:35px;height:35px}.driver-home-mode .driver-home-name strong{font-size:11px}.driver-home-mode .driver-home-status{font-size:8px;padding:6px 7px}}

/* v9.5: light, minimal driver header without brand duplication */
.driver-home-mode .driver-home-top{margin:0 -12px 13px!important;padding:13px 12px 12px!important;background:#fff!important;color:#1c2028!important;border-radius:0 0 17px 17px!important;border-bottom:1px solid #eceef1!important;box-shadow:0 3px 12px #15151508!important}
.driver-home-mode .driver-home-brand{display:none!important}
.driver-home-mode .driver-home-person{background:transparent!important;border:0!important;padding:0!important;min-height:42px!important;gap:10px!important;color:#1c2028!important}
.driver-home-mode .driver-home-photo{width:43px!important;height:43px!important;border:2px solid #fff!important;outline:1px solid #f1c750!important;background:#ffe08a!important;color:#28231b!important;box-shadow:0 2px 7px #25252510!important}
.driver-home-mode .driver-home-name strong{font-size:13px!important;font-weight:800!important;color:#1c2028!important}
.driver-home-mode .driver-home-name small{font-size:10px!important;color:#9b781f!important}
.driver-home-mode .driver-home-status{min-height:31px!important;background:#eaf7ef!important;border:1px solid #d3ebda!important;color:#226640!important;border-radius:100px!important;padding:6px 9px!important;box-shadow:none!important}
.driver-home-mode .driver-home-status i{background:#30bc73!important;box-shadow:0 0 0 3px #30bc731c!important}
.driver-home-mode .driver-home-status.is-offline{background:#f3f4f6!important;border-color:#e4e5e9!important;color:#5e626a!important}
.driver-home-mode .driver-home-status.is-offline i{background:#969aa2!important;box-shadow:none!important}
@media(max-width:340px){.driver-home-mode .driver-home-top{padding:10px 9px!important}.driver-home-mode .driver-home-photo{width:36px!important;height:36px!important}.driver-home-mode .driver-home-person{gap:7px!important}.driver-home-mode .driver-home-status{padding:6px 7px!important;font-size:8px!important}}

/* v9.6: fotografía editable mediante control + integrado en el avatar. */
.driver-home-photo-wrap,.driver-profile-photo-wrap{position:relative;flex-shrink:0;width:max-content;height:max-content}
.driver-home-photo-wrap .driver-home-photo{margin:0;overflow:hidden}
.driver-photo-plus{position:absolute;right:-4px;bottom:-4px;z-index:4;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;border:2px solid #fff;background:#ffcc42;color:#171717;font:800 14px/1 Arial,sans-serif;padding:0;box-shadow:0 2px 5px #0002;cursor:pointer}
.driver-photo-plus:hover{background:#ffdb74;transform:scale(1.06)}
.driver-profile-photo-wrap .driver-photo-plus{width:24px;height:24px;font-size:17px;right:0;bottom:0}
.driver-profile-photo-wrap .driver-profile-photo{margin:0}

/* v9.7: pequeño botón circular de edición de foto. */
.driver-photo-plus{width:14px!important;height:14px!important;right:-2px!important;bottom:-2px!important;border:1.5px solid #fff!important;font-size:10px!important;font-weight:700!important;line-height:1!important;box-shadow:0 1px 3px #0002!important}
.driver-profile-photo-wrap .driver-photo-plus{width:17px!important;height:17px!important;right:0!important;bottom:0!important;font-size:12px!important}

/* v9.8: microbotón realmente circular; neutraliza tamaños mínimos globales. */
.driver-home-photo-wrap,.driver-profile-photo-wrap{position:relative!important;display:inline-block!important;flex:0 0 auto!important;overflow:visible!important;line-height:0!important}
.driver-home-photo-wrap>.driver-photo-plus,.driver-profile-photo-wrap>.driver-photo-plus{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;aspect-ratio:1!important;padding:0!important;margin:0!important;right:-3px!important;bottom:-3px!important;top:auto!important;left:auto!important;border:2px solid #fff!important;border-radius:50%!important;background:#242424!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;line-height:1!important;letter-spacing:0!important;text-indent:0!important;white-space:nowrap!important;box-shadow:0 1px 3px #0002!important;transform:none!important;z-index:5!important;cursor:pointer!important}
.driver-profile-photo-wrap>.driver-photo-plus{right:1px!important;bottom:1px!important}
.driver-home-photo-wrap>.driver-photo-plus:hover,.driver-profile-photo-wrap>.driver-photo-plus:hover{background:#3b3b3b!important;transform:none!important}

/* Fotografía real del conductor en las propuestas del cliente */
.client-offer-driver .offer-driver-photo{width:36px!important;height:36px!important;min-width:36px!important;flex:0 0 36px!important;border-radius:50%!important;overflow:hidden!important;padding:0!important;background:#ffcf49!important;color:#242424!important;display:grid!important;place-items:center!important;font-size:11px!important;font-weight:800!important;border:2px solid #fff!important;box-shadow:0 1px 5px #00000017!important}
.client-offer-driver .offer-driver-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}

/* v10.1 — Inicio: portada de perfil sin control de edición */
.driver-home-mode .driver-home-top{margin:0 -12px 17px!important;padding:0!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;position:relative}
.driver-home-mode .driver-home-cover{height:77px;background:linear-gradient(112deg,#1b1c20 0%,#303134 57%,#a57d15 100%);position:relative;overflow:hidden;padding:15px 17px;color:white;box-sizing:border-box}
.driver-home-mode .driver-home-cover-logo{position:relative;z-index:1;font-size:16px;font-style:italic;font-weight:950;letter-spacing:.09em}
.driver-home-mode .driver-home-cover-logo b{color:#ffd24c;font-style:normal;margin-left:6px}
.driver-home-mode .driver-home-cover-pattern{position:absolute;right:-20px;top:-70px;width:145px;height:145px;border:21px solid #ffffff10;border-radius:50%;box-shadow:0 0 0 21px #ffffff08}
.driver-home-mode .driver-home-person{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:4px;align-items:start!important;margin:-27px 13px 0!important;padding:0!important;min-height:0!important;gap:0 8px!important;background:transparent!important;color:#202126!important}
.driver-home-mode .driver-home-photo-wrap{grid-column:1;grid-row:1;position:relative;width:max-content;z-index:1}
.driver-home-mode .driver-home-photo{width:54px!important;height:54px!important;border:3px solid #fff!important;box-shadow:0 3px 12px #0002!important;font-size:17px!important}
.driver-home-mode .driver-home-name{grid-column:1;grid-row:2;gap:3px!important;padding-left:2px;min-width:0}
.driver-home-mode .driver-home-name strong{font-size:16px!important;color:#202126!important}
.driver-home-mode .driver-home-name small{font-size:10px!important;color:#8b711f!important}
.driver-home-mode .driver-home-status{grid-column:2;grid-row:1;align-self:end;margin-bottom:5px;border:1px solid #e7e8e9!important;background:#f7f8f8!important;color:#454a4c!important;border-radius:30px!important;min-height:26px;padding:5px 9px!important;font-size:9px!important;box-shadow:none!important}
.driver-home-mode .driver-home-status i{background:#24ad6c!important;width:6px!important;height:6px!important}
.driver-home-mode .driver-home-status.is-offline i{background:#9ca3af!important}
.driver-home-mode .driver-home-status.is-offline{color:#6c7177!important}
.driver-home-mode .driver-home-photo-wrap .driver-photo-plus{display:none!important}
@media(max-width:340px){.driver-home-mode .driver-home-cover{height:70px;padding:12px 14px}.driver-home-mode .driver-home-photo{width:48px!important;height:48px!important}.driver-home-mode .driver-home-person{margin-top:-24px!important}.driver-home-mode .driver-home-name strong{font-size:14px!important}}

/* v10.2 — Portada de Inicio a sangre, sin franjas laterales */
.driver-workspace.driver-home-mode,.driver-home-mode .driver-sheet{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.driver-home-mode .driver-home-top{box-sizing:border-box!important;width:calc(100% + 24px)!important;max-width:none!important;margin-left:-12px!important;margin-right:-12px!important}
.driver-home-mode .driver-home-cover{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important}
@media(max-width:340px){.driver-home-mode .driver-home-top{width:calc(100% + 24px)!important;margin-left:-12px!important;margin-right:-12px!important}}

/* v10.3 — Inicio y Perfil comparten dimensiones y puntos de anclaje. */
.driver-home-mode .driver-home-cover,.driver-profile-mode .driver-profile-cover{height:clamp(66px,12dvh,104px)!important;box-sizing:border-box!important;padding:17px 19px!important}
.driver-home-mode .driver-home-person,.driver-profile-mode .driver-profile-overlap{margin-top:-37px!important}
.driver-home-mode .driver-home-photo,.driver-profile-mode .driver-profile-photo{width:65px!important;height:65px!important;min-width:65px!important;min-height:65px!important;box-sizing:border-box!important;border:4px solid #fff!important;border-radius:50%!important}
.driver-home-mode .driver-home-person{margin-left:16px!important;margin-right:16px!important}
.driver-home-mode .driver-home-name strong,.driver-profile-mode .driver-profile-person h2{font-size:16px!important;line-height:1.2!important}
.driver-home-mode .driver-home-name small,.driver-profile-mode .driver-profile-person small{font-size:10px!important}
@media(max-height:650px){
.driver-home-mode .driver-home-cover,.driver-profile-mode .driver-profile-cover{height:62px!important;padding:12px 16px!important}
.driver-home-mode .driver-home-person,.driver-profile-mode .driver-profile-overlap{margin-top:-23px!important}
.driver-home-mode .driver-home-photo,.driver-profile-mode .driver-profile-photo{width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important}
.driver-home-mode .driver-home-name strong,.driver-profile-mode .driver-profile-person h2{font-size:15px!important}
}
/* Override the former width-based shrink only on the home header. */
@media(max-width:340px){.driver-home-mode .driver-home-photo{width:65px!important;height:65px!important}}
@media(max-width:340px) and (max-height:650px){.driver-home-mode .driver-home-photo{width:51px!important;height:51px!important}}

/* v10.4: el mismo componente visual en Inicio y Perfil; sólo Perfil tiene +. */
.driver-home-mode .driver-home-top.driver-profile{display:block!important;margin:0 -12px 12px!important;width:calc(100% + 24px)!important;max-width:none!important;padding:0!important;background:#fff!important;color:#202126!important;border-radius:0!important;box-shadow:none!important}
.driver-home-mode .driver-home-top .driver-profile-cover{height:clamp(66px,12dvh,104px)!important;padding:17px 19px!important;border-radius:0!important}
.driver-home-mode .driver-home-top .driver-profile-overlap{margin:-37px 16px 0!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;position:relative!important;z-index:1!important}
.driver-home-mode .driver-home-top .driver-profile-photo{width:65px!important;height:65px!important;min-width:65px!important;min-height:65px!important;box-sizing:border-box!important;border:4px solid #fff!important;border-radius:50%!important}
.driver-home-mode .driver-home-top .driver-profile-person{padding:9px 17px 17px!important;border-bottom:1px solid #f0f0f0!important}
.driver-home-mode .driver-home-top .driver-profile-person h1{font-size:22px!important;line-height:1.15!important;letter-spacing:-.7px!important;margin:0 0 7px!important;color:#202126!important}
.driver-home-mode .driver-home-top .driver-profile-rating{font-size:12px!important;color:#8a6513!important;font-weight:700!important}
.driver-home-mode .driver-home-availability{font-family:inherit;cursor:pointer;min-height:0;line-height:normal;color:inherit}
.driver-home-mode .driver-home-availability:focus-visible{outline:2px solid #d5a51b;outline-offset:2px}
@media(max-height:650px){.driver-home-mode .driver-home-top .driver-profile-cover{height:62px!important;padding:12px 16px!important}.driver-home-mode .driver-home-top .driver-profile-overlap{margin-top:-23px!important}.driver-home-mode .driver-home-top .driver-profile-photo{width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important}}

/* v10.5: Inicio usa el mismo lienzo de ancho completo que Perfil.
   El espacio interno se aplica sólo a los elementos de contenido. */
.shell:has(.driver-home-mode) .driver-workspace.driver-home-mode .driver-sheet{padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
.driver-home-mode .driver-home-top.driver-profile{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.driver-home-mode .driver-home-top .driver-profile-cover{width:100%!important;max-width:100%!important;margin:0!important}
.driver-home-mode .driver-home-radar,.driver-home-mode .driver-home-metrics{margin-left:12px!important;margin-right:12px!important}

/* v10.6: portada publicitaria simulada, exclusivamente en Inicio. Mantiene la geometría del perfil. */
.driver-home-top .driver-ad-cover{position:relative;overflow:hidden;isolation:isolate;background:#202124!important}
.driver-home-top .driver-ad-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;padding:5px 15px 5px 40%;opacity:0;animation:rayt-ad-rotation 18s infinite;pointer-events:none;color:white;text-align:right}
.driver-home-top .driver-ad-slide:nth-child(1){animation-delay:0s;background:radial-gradient(circle at 95% 0%,#9b782b,transparent 55%),linear-gradient(110deg,#1d1e20,#35302a);align-items:flex-start;padding:8px 15px}
.driver-home-top .driver-ad-slide:nth-child(2){animation-delay:6s;background:linear-gradient(115deg,#1d1d1f,#64501f 75%,#b78a2c)}
.driver-home-top .driver-ad-slide:nth-child(3){animation-delay:12s;background:linear-gradient(115deg,#181a1b,#343a38 60%,#ad892f)}
.driver-home-top .driver-ad-mark{font-weight:950;font-style:italic;font-size:15px;letter-spacing:1px}
.driver-home-top .driver-ad-mark b{color:#ffcd42}
.driver-home-top .driver-ad-title{font-weight:800;font-size:12px;line-height:1.15}
.driver-home-top .driver-ad-slide small{font-size:6px;letter-spacing:1px;opacity:.75;font-weight:700}
.driver-home-top .driver-ad-slide:first-child small{align-self:flex-end}
.driver-home-top .driver-ad-dots{position:absolute;z-index:4;right:10px;bottom:5px;display:flex;gap:3px}
.driver-home-top .driver-ad-dots i{width:3px;height:3px;border-radius:50%;background:#ffffff65}
.driver-home-top .driver-ad-dots i:nth-child(1){animation:rayt-ad-dot 18s infinite}
.driver-home-top .driver-ad-dots i:nth-child(2){animation:rayt-ad-dot 18s 6s infinite}
.driver-home-top .driver-ad-dots i:nth-child(3){animation:rayt-ad-dot 18s 12s infinite}
@keyframes rayt-ad-rotation{0%,30%{opacity:1}33.333%,96%{opacity:0}100%{opacity:1}}
@keyframes rayt-ad-dot{0%,30%{background:#ffcd42;width:8px}33.333%,96%{background:#ffffff65;width:3px}100%{background:#ffcd42;width:8px}}
@media(prefers-reduced-motion:reduce){.driver-home-top .driver-ad-slide,.driver-home-top .driver-ad-dots i{animation:none!important}.driver-home-top .driver-ad-slide:first-child{opacity:1}}

/* Anuncios locales simulados; sin marcas ni promociones reales. */
.driver-home-top .driver-ad-slide:nth-child(1){align-items:flex-end;padding:5px 15px 5px 40%;background:radial-gradient(circle at 85% 0%,#e4b84b55,transparent 50%),linear-gradient(110deg,#202124,#55401f)!important}
.driver-home-top .driver-ad-slide:nth-child(2){background:radial-gradient(circle at 95% 5%,#c0e4b244,transparent 55%),linear-gradient(110deg,#1d2925,#45664d)!important}
.driver-home-top .driver-ad-slide:nth-child(3){background:radial-gradient(circle at 90% 0%,#a8c8ec55,transparent 55%),linear-gradient(110deg,#20232a,#3b4a5e)!important}
.driver-home-top .driver-ad-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:25px;opacity:.75;filter:drop-shadow(0 2px 4px #0003)}
.driver-home-top .driver-ad-slide .driver-ad-title{font-size:12px;max-width:100%;white-space:nowrap}
.driver-home-top .driver-ad-slide small{font-size:6px;letter-spacing:.45px;white-space:nowrap;opacity:.88}

/* v10.8: banners de promociones visuales de demostración */
.driver-home-top .driver-ad-slide{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;padding:6px 9px 7px 36%!important;overflow:hidden!important}
.driver-home-top .driver-ad-slide:nth-child(1){background:radial-gradient(circle at 95% 0%,#ffe09c 0,transparent 52%),linear-gradient(115deg,#493019,#b76b21)!important}
.driver-home-top .driver-ad-slide:nth-child(2){background:radial-gradient(circle at 95% 0%,#b7f1bc 0,transparent 52%),linear-gradient(115deg,#123c34,#22856c)!important}
.driver-home-top .driver-ad-slide:nth-child(3){background:radial-gradient(circle at 95% 0%,#d0ddff 0,transparent 52%),linear-gradient(115deg,#26344c,#5475a5)!important}
.driver-home-top .promo-visual{position:absolute;left:12px;top:50%;transform:translateY(-50%) rotate(-12deg);font-size:31px;filter:drop-shadow(0 3px 5px #0005);opacity:.96}
.driver-home-top .promo-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:1px;text-shadow:0 1px 2px #0004}
.driver-home-top .promo-kicker{font-size:5px;font-weight:800;letter-spacing:.35px;white-space:nowrap;opacity:.88}
.driver-home-top .promo-copy strong{font-size:clamp(9px,3.5vw,13px);font-weight:950;line-height:1.08;white-space:nowrap;letter-spacing:-.25px;color:#fff}
.driver-home-top .promo-copy small{font-size:6px;line-height:1.2;white-space:nowrap;opacity:.96}
.driver-home-top .promo-seal{margin-left:auto;flex-shrink:0;border-radius:50%;background:#ffce45;color:#252019;font-size:8px;font-weight:950;width:25px;height:25px;display:grid;place-items:center;transform:rotate(10deg);box-shadow:0 2px 6px #0002}
.driver-home-top .driver-ad-dots{right:8px;bottom:2px}
@media(max-width:340px){.driver-home-top .driver-ad-slide{padding-left:34%!important;gap:3px!important}.driver-home-top .promo-visual{font-size:23px;left:8px}.driver-home-top .promo-seal{width:20px;height:20px;font-size:7px}.driver-home-top .promo-copy strong{font-size:9px}.driver-home-top .promo-kicker{font-size:4.5px}}

/* v10.9 — Banners legibles en portada de 62px y dentro del marco con notch. */
.driver-home-mode .driver-home-top .driver-ad-cover{height:62px!important;min-height:62px!important;padding:0!important;overflow:hidden!important}
.driver-home-mode .driver-ad-cover .driver-ad-slide{inset:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;padding:23px 8px 4px 99px!important;gap:5px!important}
.driver-home-mode .driver-ad-cover .promo-visual{position:static!important;transform:none!important;flex:0 0 18px!important;font-size:17px!important;line-height:1!important;filter:none!important}
.driver-home-mode .driver-ad-cover .promo-copy{min-width:0!important;flex:1!important;gap:1px!important;align-items:flex-start!important;justify-content:center!important;text-shadow:0 1px 2px #0004!important}
.driver-home-mode .driver-ad-cover .promo-kicker{display:none!important}
.driver-home-mode .driver-ad-cover .promo-copy strong{display:block!important;font-size:10px!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:normal!important;letter-spacing:0!important}
.driver-home-mode .driver-ad-cover .promo-copy small{display:block!important;font-size:7px!important;line-height:1.1!important;white-space:normal!important}
.driver-home-mode .driver-ad-cover .promo-seal{display:none!important}
.driver-home-mode .driver-ad-cover .driver-ad-dots{right:7px!important;bottom:3px!important;z-index:5!important}
@media(max-width:340px){.driver-home-mode .driver-ad-cover .driver-ad-slide{padding-left:93px!important;padding-right:7px!important;gap:3px!important}.driver-home-mode .driver-ad-cover .promo-visual{flex-basis:15px!important;font-size:15px!important}.driver-home-mode .driver-ad-cover .promo-copy strong{font-size:9px!important}.driver-home-mode .driver-ad-cover .promo-copy small{font-size:6.5px!important}}

/* v11.1: Perfil es la referencia visual. Ajustar EXCLUSIVAMENTE Inicio. */
.driver-home-mode .driver-home-top .driver-ad-cover{height:clamp(66px,12dvh,104px)!important;min-height:0!important;max-height:none!important;flex:0 0 auto!important;width:100%!important;box-sizing:border-box!important;border-radius:0!important;padding:0!important;overflow:hidden!important}
.driver-home-mode .driver-home-top .driver-profile-overlap{margin-top:-37px!important;margin-left:12px!important;margin-right:12px!important}
.driver-home-mode .driver-home-top .driver-profile-photo{width:65px!important;height:65px!important;min-width:65px!important;min-height:65px!important}
.driver-home-mode .driver-home-top .driver-profile-person{padding:9px 12px 11px!important}
.driver-home-mode .driver-home-top .driver-profile-person h1{font-size:clamp(17px,3.2dvh,22px)!important;line-height:1.15!important;margin-bottom:4px!important}
/* Los anuncios quedan dentro de la portada, sin controlar su altura. */
.driver-home-mode .driver-ad-cover .driver-ad-slide{height:100%!important;max-height:100%!important;overflow:hidden!important}
@media(max-height:650px){
 .driver-home-mode .driver-home-top .driver-ad-cover{height:62px!important;min-height:62px!important}
 .driver-home-mode .driver-home-top .driver-profile-overlap{margin-top:-23px!important}
 .driver-home-mode .driver-home-top .driver-profile-photo{width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important}
 .driver-home-mode .driver-home-top .driver-profile-person{padding:3px 12px 7px!important}
}

/* v11.2: viaje activo a pantalla completa, sin mapa decorativo */
.driver-workspace.driver-active-mode{height:100dvh;min-height:0;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden;background:#f9fafc}
.driver-active-mode .driver-sheet{width:100%!important;max-width:none!important;min-height:0;flex:1;overflow-y:auto;scrollbar-width:none;margin:0!important;padding:0 0 78px!important;border-radius:0!important;box-shadow:none!important;background:#f9fafc}
.driver-active-mode .driver-sheet::-webkit-scrollbar{display:none}
.driver-active-mode .active-trip-header{height:74px;flex-shrink:0;padding:28px 15px 12px;background:linear-gradient(110deg,#1e2024,#343029);display:flex;align-items:center;justify-content:space-between;color:white}
.active-trip-logo{font-size:19px;font-weight:950;font-style:italic;letter-spacing:.06em}.active-trip-logo b{color:#ffcc3d}.active-trip-live{font-size:10px;padding:7px 9px;border:1px solid #ffffff32;border-radius:20px;background:#ffffff12}.active-trip-live i{display:inline-block;width:7px;height:7px;background:#4bd08b;border-radius:50%;margin-right:4px;box-shadow:0 0 0 3px #4bd08b22;animation:active-trip-pulse 2s infinite}
.active-trip-content{padding:15px 12px 16px}.active-trip-eyebrow{font-size:9px;letter-spacing:.13em;font-weight:800;color:#a37b15}.active-trip-content>h1{font-size:23px;margin:3px 0 13px;letter-spacing:-.7px}.active-trip-card{padding:0!important;border:1px solid #e9e9ec!important;border-radius:19px!important;overflow:hidden;background:#fff!important;box-shadow:0 9px 26px #1515150a!important}.active-trip-client{display:flex;align-items:center;gap:10px;padding:13px 12px;background:linear-gradient(110deg,#fffbef,#fff);border-bottom:1px solid #f2ede2}.active-trip-client-avatar{width:37px;height:37px;flex:0 0 37px;border-radius:50%;background:#ffdfa0;display:grid;place-items:center;font-weight:800;color:#27221a}.active-trip-client>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.active-trip-client small,.active-trip-route small,.active-trip-fare small{font-size:10px;color:#89909c}.active-trip-client strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-trip-chat{border:1px solid #e5e7ed!important;border-radius:50%!important;width:33px!important;height:33px!important;min-width:33px!important;padding:0!important;background:white!important;position:relative;font-size:19px}.active-trip-chat small:not([hidden]){position:absolute;right:-4px;top:-5px;background:#ffca38;border-radius:50%;font-size:9px;padding:2px 4px}.active-trip-route{margin:14px 13px!important;padding:12px!important;background:#fafbfe;border:1px solid #eceef4;border-radius:13px}.active-trip-route>div{align-items:flex-start!important;gap:9px!important}.active-trip-route>div span{display:flex;flex-direction:column;gap:4px;min-width:0}.active-trip-route strong{font-size:12px;overflow-wrap:anywhere}.active-trip-fare{margin:0 13px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.active-trip-fare>div{display:flex;flex-direction:column;gap:3px}.active-trip-fare strong{font-size:23px;letter-spacing:-.7px}.active-trip-fare>span{border-radius:20px;background:#fff4d6;padding:7px 10px;font-size:10px;font-weight:700;color:#7e5d10}.active-trip-card .trip-progress{margin:12px 13px!important}.active-trip-primary{margin:15px 13px 13px!important;width:calc(100% - 26px)!important;border-radius:12px!important;min-height:45px!important;background:#ffcb3e!important;color:#171717!important;font-weight:800!important;box-shadow:0 5px 12px #ffcb3e33!important}.active-trip-card .driver-pin-box,.active-trip-card .driver-wait{margin:12px 13px!important}.driver-active-mode .driver-bottom-nav{flex-shrink:0}
@keyframes active-trip-pulse{50%{box-shadow:0 0 0 6px #4bd08b10}}@media(max-height:630px){.driver-active-mode .active-trip-header{height:61px;padding-top:17px}.active-trip-content{padding-top:9px}.active-trip-content>h1{margin-bottom:8px}.active-trip-route{margin-top:9px!important;margin-bottom:9px!important;padding:8px!important}}
@media(prefers-reduced-motion:reduce){.active-trip-live i{animation:none}}

/* v11.3 — Active ride: final visual treatment, no simulated map or fictional data */
.driver-active-mode{background:#fff!important;overflow:hidden!important;height:100dvh!important}
.driver-active-mode .driver-sheet{padding:0 0 calc(72px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;background:#fff!important}
.active-trip-header{height:80px!important;min-height:80px!important;padding:28px 17px 14px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;background:radial-gradient(circle at 95% -20%,#78601d 0%,transparent 48%),linear-gradient(115deg,#17191b,#292825)!important;border-radius:0 0 20px 20px!important}
.active-trip-logo{font-size:22px!important;font-style:italic!important;letter-spacing:.06em!important;font-weight:950!important;color:white!important}.active-trip-logo b{color:#ffd04b!important;font-size:25px!important}
.active-trip-live{background:#ffffff16!important;color:#fff!important;border:1px solid #ffffff36!important;border-radius:30px!important;padding:7px 10px!important;font-size:9px!important;font-weight:800!important;letter-spacing:.05em!important}.active-trip-live i{background:#33d18a!important;box-shadow:0 0 0 3px #33d18a22!important;animation:rayt-live-dot 2s infinite!important}
.active-trip-content{padding:17px 13px 12px!important}.active-trip-eyebrow{color:#ac8725!important;font-size:9px!important;font-weight:900!important;letter-spacing:.17em!important;margin-bottom:7px!important}.active-trip-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px}.active-trip-heading h1{font-size:24px!important;margin:0!important;letter-spacing:-.8px!important}.active-trip-state{font-size:10px;background:#fff7e3;border:1px solid #f6e6bd;color:#70541c;border-radius:25px;padding:7px 9px;white-space:nowrap}.active-trip-state i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f0ba37;margin-right:4px;animation:rayt-live-dot 2s infinite}
.active-trip-card{border:1px solid #e4e8ef!important;border-radius:19px!important;box-shadow:0 9px 26px #202e4010!important;background:#fff!important;padding:13px!important;display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important}
.active-trip-client{display:flex!important;align-items:center!important;gap:10px!important;background:linear-gradient(90deg,#fffaf0,#fff)!important;padding:4px 2px 13px!important;border-bottom:1px solid #edf0f3!important}.active-trip-client-avatar{width:40px!important;height:40px!important;flex:0 0 40px!important;background:#ffedc2!important;color:#232323!important;font-size:15px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-weight:850!important}.active-trip-client-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.active-trip-client-name small{font-size:10px!important;color:#858e9a!important}.active-trip-client-name strong{font-size:16px!important;color:#191e26!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-trip-chat{width:35px!important;height:35px!important;min-width:35px!important;border-radius:50%!important;border:1px solid #e0e5ee!important;background:white!important;padding:8px!important;display:grid!important;place-items:center!important;position:relative!important}.active-trip-chat svg{width:19px;height:19px;color:#222831}.active-trip-chat small{position:absolute;right:-3px;top:-5px;background:#ffce45;color:#222;border-radius:10px;padding:1px 4px;font-size:9px}
.active-trip-route{background:#fff!important;border:none!important;padding:15px 7px 12px!important;margin:0!important;gap:15px!important}.active-trip-route>div{min-height:37px!important;align-items:flex-start!important}.active-trip-route>div span{display:flex;flex-direction:column;gap:4px}.active-trip-route small{color:#788390!important;font-size:11px!important}.active-trip-route strong{color:#1d2430!important;font-size:14px!important;line-height:1.3!important}.active-trip-route i{width:10px!important;height:10px!important;flex:0 0 10px!important;margin-top:6px!important}.active-trip-route i.yellow{background:#ffcb3d!important}.active-trip-route i.black{background:#171d25!important}
.active-trip-fare{display:flex!important;align-items:center!important;justify-content:space-between!important;border-top:1px solid #e9edf2!important;margin:0!important;padding:14px 3px 10px!important}.active-trip-fare>div{display:flex;flex-direction:column;gap:3px}.active-trip-fare strong{font-size:24px!important;letter-spacing:-.6px!important;color:#191e26!important}.active-trip-fare small{font-size:10px!important;color:#8a929d!important}.active-trip-fare>span{background:#fff5dc!important;color:#6e5113!important;border-radius:25px!important;font-size:11px!important;font-weight:750!important;padding:9px 12px!important}
.active-trip-card .trip-progress{margin:13px 0 17px!important}.active-trip-primary{min-height:49px!important;border-radius:13px!important;background:#22262b!important;color:#fff!important;box-shadow:0 6px 13px #00000019!important;font-size:13px!important;font-weight:850!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important}.active-trip-action-icon{color:#ffcf48!important;font-size:18px!important}.active-trip-action-arrow{font-size:17px;color:#ffcf48}.driver-pin-box{margin-top:12px!important}.driver-wait{margin-top:10px!important}
@keyframes rayt-live-dot{50%{opacity:.4}}
@media(max-width:340px){.active-trip-header{height:75px!important;min-height:75px!important}.active-trip-content{padding:12px 11px!important}.active-trip-card{padding:11px!important}.active-trip-route{gap:10px!important;padding-top:11px!important}.active-trip-heading h1{font-size:21px!important}.active-trip-fare strong{font-size:21px!important}}
@media(max-height:650px){.active-trip-header{height:70px!important;min-height:70px!important;padding-top:22px!important}.active-trip-content{padding-top:10px!important}.active-trip-route{gap:8px!important;padding:9px 6px!important}.active-trip-card .trip-progress{margin:7px 0 10px!important}.active-trip-client{padding-bottom:9px!important}}
@media(prefers-reduced-motion:reduce){.active-trip-live i,.active-trip-state i{animation:none!important}}

/* v11.4: viaje activo ocupa el ancho interior completo del telefono */
.shell:has(> .driver-workspace.driver-active-mode){width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}
.shell:has(> .driver-workspace.driver-active-mode)>header,.shell:has(> .driver-workspace.driver-active-mode)>.hero,.shell:has(> .driver-workspace.driver-active-mode)>.footer{display:none!important}
.shell:has(.driver-active-mode) .driver-workspace.driver-active-mode,.shell:has(.driver-active-mode) .driver-active-mode .driver-sheet{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.driver-active-mode .active-trip-header{width:100%!important;box-sizing:border-box!important;margin:0!important}
.driver-active-mode .active-trip-content{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}
.driver-active-mode .active-trip-card{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important}

/* v11.5: sin portada superior; mensajería junto a la acción principal */
.driver-active-mode .active-trip-header{display:none!important}
.driver-active-mode .active-trip-content{padding-top:20px!important}
.driver-active-mode .active-trip-action-row{display:flex;align-items:stretch;gap:8px;margin-top:14px;min-width:0}
.driver-active-mode .active-trip-action-row .active-trip-primary{margin:0!important;flex:1 1 auto;width:auto!important;min-width:0;padding:10px 6px!important}
.driver-active-mode .active-trip-action-row .active-trip-chat{position:relative!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:auto!important;min-height:42px!important;margin:0!important;padding:0!important;border-radius:13px!important;background:#fff!important;border:1px solid #dce2eb!important;box-shadow:0 3px 9px #0000000a!important;color:#1c222b!important}
.driver-active-mode .active-trip-action-row .active-trip-chat svg{width:19px!important;height:19px!important}
.driver-active-mode .driver-pin-box>.active-trip-chat{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;margin:10px 0 0 auto!important;border-radius:13px!important;border:1px solid #dce2eb!important;background:#fff!important;color:#1c222b!important}
@media(max-width:340px){.driver-active-mode .active-trip-content{padding-top:13px!important}.driver-active-mode .active-trip-action-row{gap:6px}.driver-active-mode .active-trip-action-row .active-trip-chat{flex-basis:38px!important;width:38px!important}}


/* Ubicaciones y navegación: demo gratuita */
.route-fields label{display:flex;align-items:center}.route-fields label span{flex:1;min-width:0}.location-picker{flex:0 0 27px;width:27px;height:29px;border:1px solid #e8e8e8;border-radius:9px;background:#fff9e9;color:#262626;padding:0;font-size:16px;margin-left:4px;display:grid;place-items:center}.location-help{font-size:10px;color:#858585;margin:5px 0 11px}.active-trip-navigation{margin:10px 0 6px}.active-trip-navigation button{width:100%;border:1px solid #f2d98c;border-radius:11px;background:#fff9e8;color:#232323;padding:11px 7px;font-size:11px;font-weight:800}.rayt-location-overlay{position:fixed;inset:0;z-index:99999;background:#0009;display:flex;align-items:center;justify-content:center;padding:12px}.rayt-location-dialog{width:min(100%,430px);max-height:94dvh;overflow:auto;background:#fff;border-radius:18px;padding:12px;box-shadow:0 12px 55px #0003}.rayt-location-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rayt-location-dialog header button{background:#f3f3f3;border:0;border-radius:50%;width:30px;height:30px;font-size:21px}.rayt-location-search{display:flex;gap:6px;margin-bottom:9px}.rayt-location-search input{min-width:0;flex:1;border:1px solid #ddd;border-radius:9px;padding:9px;font-size:12px}.rayt-location-search button{border:0;border-radius:9px;background:#ffce46;padding:0 12px;font-weight:800}#rayt-map-area{height:min(46dvh,350px);min-height:180px;border-radius:12px;overflow:hidden;background:#f3f4f3}#rayt-map-caption{font-size:11px;color:#666;min-height:24px;margin:9px 0}.rayt-location-dialog>.primary{margin-top:6px}

.route-distance-auto{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:11px 12px;border:1px solid #eee5d3;border-radius:12px;background:#fffcf4;margin:9px 0;font-size:11px}.route-distance-auto span{color:#777}.route-distance-auto strong{font-size:11px;text-align:right;color:#242424;max-width:58%}

/* Route within the existing client trip map, not a separate viewer. */
.client-map:has(.rayt-inline-trip-map){position:relative;overflow:hidden}
.rayt-inline-trip-map{position:absolute;inset:0;width:100%;height:100%;min-height:200px;z-index:0;background:#eceae4}
.client-map:has(.rayt-inline-trip-map) .map-brand{z-index:410;pointer-events:none}
.client-map:has(.rayt-inline-trip-map) .ride-map-message{z-index:420}
.rayt-map-route-note{position:absolute;z-index:500;left:10px;right:10px;bottom:10px;background:#fff;padding:8px;border-radius:8px;font-size:11px;box-shadow:0 2px 10px #0002}

/* Keep the route preview visible before requesting a driver. */
.rayt-client .client-map:has(.rayt-inline-trip-map) .rayt-inline-trip-map{z-index:1}

/* Select pickup and destination on the map already shown in the booking screen. */
.rayt-inline-pick-toolbar[hidden]{display:none!important}
.rayt-inline-pick-toolbar{position:absolute;left:10px;right:10px;bottom:10px;z-index:550;background:#fff;border:1px solid #dedede;border-radius:12px;padding:9px 10px;box-shadow:0 5px 20px #0003;display:flex;flex-direction:column;gap:4px;font-size:11px}
.rayt-inline-pick-toolbar strong{font-size:12px}.rayt-inline-pick-toolbar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#555}.rayt-inline-pick-toolbar>div{display:flex;gap:8px;margin-top:4px}.rayt-inline-pick-toolbar button{flex:1;border:1px solid #ddd;border-radius:8px;padding:7px;background:#fff;font-weight:650}.rayt-inline-pick-toolbar .rayt-inline-pick-confirm{background:#ffce38;border-color:#ffce38;color:#171717}.rayt-map-picking{cursor:crosshair!important}.rayt-map-picking .leaflet-container{cursor:crosshair!important}

/* v12.4: large, genuinely interactive booking map */
.rayt-client:not(.client-active-ride) .client-map:has([data-preview="true"]){
 height:58dvh;min-height:365px;max-height:590px;overflow:hidden;touch-action:pan-x pan-y;
}
.rayt-client:not(.client-active-ride) .client-map:has([data-preview="true"]) + .booking-sheet{
 margin-top:-16px;
}
.rayt-client .client-map .rayt-inline-trip-map{z-index:3;touch-action:none}
.rayt-client .client-map:has([data-preview="true"]) .map-brand{pointer-events:none;z-index:405;top:12px}
.rayt-client .client-map:has([data-preview="true"]) .leaflet-container{cursor:grab}
.rayt-client .client-map:has([data-preview="true"]) .leaflet-container:active{cursor:grabbing}
.rayt-client .client-map:has([data-preview="true"]) .leaflet-control-zoom{margin-top:55px}
.rayt-client .client-map:has([data-preview="true"]) .rayt-inline-pick-toolbar{z-index:550}
@media(max-height:700px){
 .rayt-client:not(.client-active-ride) .client-map:has([data-preview="true"]){height:54dvh;min-height:320px}
}

/* Map-first client booking and full-height selection */
.rayt-client.client-booking{position:relative;background:#fafafa}
.rayt-client.client-booking>.client-map{height:65dvh!important;min-height:390px!important;max-height:670px!important;position:relative;overflow:hidden}
.rayt-client.client-booking .rayt-inline-trip-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3!important;touch-action:none}
.rayt-client.client-booking .booking-sheet{position:relative;z-index:6;margin-top:-23px;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -5px 24px #00000012}
.rayt-client.client-booking .booking-map-tip{position:absolute;top:75px;left:12px;right:12px;z-index:405;background:#fffdf5eb;border:1px solid #e8dfc6;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:650;pointer-events:none}
.rayt-client.client-booking .leaflet-control-zoom{margin-top:110px!important}
.rayt-client.client-booking.map-selection-mode{height:calc(100dvh - 66px);min-height:520px;overflow:hidden}
.rayt-client.client-booking.map-selection-mode>.client-map{position:absolute!important;inset:0;height:100%!important;min-height:0!important;max-height:none!important;z-index:20;border-radius:0}
.rayt-client.client-booking.map-selection-mode .booking-sheet,.rayt-client.client-booking.map-selection-mode .booking-map-tip{display:none!important}
.rayt-inline-pick-crosshair[hidden],.rayt-inline-pick-toolbar[hidden]{display:none!important}
.rayt-inline-pick-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);z-index:500;pointer-events:none;filter:drop-shadow(0 3px 3px #0005)}
.rayt-inline-pick-crosshair:before{content:'';display:block;width:28px;height:36px;background:#ffcd35;border:3px solid #151515;border-radius:60% 60% 60% 0;transform:rotate(-45deg);box-sizing:border-box}
.rayt-inline-pick-crosshair:after{content:'';position:absolute;left:11px;top:9px;width:8px;height:8px;border-radius:50%;background:#151515}
.rayt-client.client-booking.map-selection-mode .rayt-inline-pick-toolbar{position:absolute;left:10px;right:10px;bottom:16px;top:auto;z-index:550;display:flex;gap:7px;padding:14px;border-radius:17px;box-shadow:0 6px 30px #0003;background:white}
.rayt-client.client-booking.map-selection-mode .rayt-inline-pick-toolbar strong{font-size:14px}
.rayt-client.client-booking.map-selection-mode .rayt-inline-pick-toolbar small{font-size:11px;white-space:normal;line-height:1.4}
.rayt-client.client-booking.map-selection-mode .rayt-inline-pick-toolbar button{padding:11px 6px;font-size:12px}
.rayt-client.client-booking.map-selection-mode .leaflet-control-zoom{margin-top:85px!important}

/* v12.6: destination/origin floating above the same 55%-height map */
.rayt-client.client-booking>.client-map{height:55dvh!important;min-height:335px!important;max-height:530px!important;position:relative}
.rayt-client.client-booking .map-brand{display:none!important}
.rayt-client.client-booking .booking-map-tip{top:147px!important;left:12px;right:12px;text-align:center;font-size:10px}
.rayt-client.client-booking .map-floating-fields{position:absolute;z-index:460;left:12px;right:12px;top:12px;margin:0!important;background:#fff;border-radius:16px;padding:4px 12px;box-shadow:0 5px 24px #0002;border:1px solid #e9e9e9}
.rayt-client.client-booking .map-floating-fields label{min-height:49px;padding:6px 0;margin:0!important}
.rayt-client.client-booking .map-floating-fields label+label{border-top:1px solid #f0f0f0}
.rayt-client.client-booking .map-floating-fields input{font-size:12px!important;min-width:0}
.rayt-client.client-booking .map-floating-fields .location-picker{width:30px;height:32px;min-width:30px;border-radius:9px}
.rayt-client.client-booking .leaflet-control-zoom{margin-top:182px!important}
.rayt-client.client-booking .booking-sheet{margin-top:-20px!important;padding-top:8px}
.rayt-client.client-booking.map-selection-mode>.client-map{height:100%!important;max-height:none!important;min-height:0!important}
.rayt-client.client-booking.map-selection-mode .map-floating-fields{display:none!important}
.rayt-client.client-booking.map-selection-mode .leaflet-control-zoom{margin-top:20px!important}
.rayt-client.client-booking.map-selection-mode .booking-map-tip{display:none!important}

/* v12.7 — booking visual redesign, map-first 55%, floating locations and compact bottom sheet */
.rayt-client.client-booking{background:#f8f9fa!important;min-height:calc(100dvh - 68px)}
.rayt-client.client-booking>.client-map{height:55dvh!important;min-height:350px!important;max-height:560px!important;border-radius:0!important;overflow:hidden!important}
.rayt-client.client-booking .rayt-inline-trip-map{inset:0!important;height:100%!important;width:100%!important;touch-action:none!important}
.rayt-client.client-booking .map-floating-fields{left:12px!important;right:12px!important;top:12px!important;border:1px solid #f1f1f1!important;border-radius:15px!important;padding:2px 10px!important;box-shadow:0 4px 18px #0000001b!important;z-index:460!important}
.rayt-client.client-booking .map-floating-fields label{min-height:47px!important;padding:5px 0!important;gap:6px}
.rayt-client.client-booking .map-floating-fields label+label{border-top:1px solid #efefef!important}
.rayt-client.client-booking .map-floating-fields label span{font-size:10px!important;color:#7b808b!important;font-weight:650}
.rayt-client.client-booking .map-floating-fields input{font-size:12px!important;color:#20252d!important;font-weight:750!important;line-height:1.2!important}
.rayt-client.client-booking .map-floating-fields .location-picker{width:28px!important;height:30px!important;min-width:28px!important;background:#fffaf0!important;border:1px solid #e8e5dd!important}
.rayt-client.client-booking .booking-map-tip{top:auto!important;bottom:45px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:max-content;max-width:calc(100% - 75px);font-size:9px!important;white-space:nowrap;box-shadow:0 2px 8px #0000000d;z-index:410}
.rayt-client.client-booking .booking-map-recenter{position:absolute;right:12px;bottom:88px;z-index:460;border:0;border-radius:50%;width:38px;height:38px;background:#fff;box-shadow:0 3px 13px #0002;color:#222;font-size:25px;line-height:1;display:grid;place-items:center;cursor:pointer}
.rayt-client.client-booking .leaflet-control-zoom{margin-top:139px!important;margin-left:12px!important}
.rayt-client.client-booking .booking-sheet{margin-top:-18px!important;position:relative;z-index:6;border-radius:22px 22px 0 0!important;background:#fff!important;box-shadow:0 -4px 20px #00000010!important;padding-top:4px!important;padding-bottom:14px!important}
.rayt-client.client-booking .sheet-handle{width:34px!important;height:4px!important;border-radius:4px!important;background:#d5d8de!important;margin:5px auto 12px!important}
.rayt-client.client-booking .sheet-head{margin-bottom:9px!important}
.rayt-client.client-booking .sheet-head h1{font-size:19px!important;letter-spacing:-.45px!important}
.rayt-client.client-booking .route-distance-auto{margin:7px 0!important;min-height:42px!important;padding:8px 11px!important;border:1px solid #e8e9ed!important;background:#fff!important;border-radius:11px!important}
.rayt-client.client-booking .route-distance-auto strong{font-size:10px!important}
.rayt-client.client-booking .editable-fare{margin:8px 0!important;min-height:65px!important;padding:9px 11px!important;border-radius:13px!important;background:#fffaf0!important}
.rayt-client.client-booking .pay-choice{min-height:43px!important;margin:8px 0!important;border-radius:11px!important}
.rayt-client.client-booking .booking-action{margin-top:10px!important;min-height:46px!important;border-radius:12px!important;font-size:13px!important}
/* During map selection, preserve a truly full map with a fixed center marker and bottom confirmation. */
.rayt-client.client-booking.map-selection-mode>.client-map{height:100%!important;min-height:0!important;max-height:none!important}
.rayt-client.client-booking.map-selection-mode .booking-map-recenter{bottom:130px!important}
.rayt-client.client-booking.map-selection-mode .booking-map-tip{display:none!important}
.rayt-client.client-booking.map-selection-mode .leaflet-control-zoom{margin-top:20px!important}
@media(max-height:680px){.rayt-client.client-booking>.client-map{min-height:305px!important}.rayt-client.client-booking .map-floating-fields label{min-height:43px!important}}

/* v12.8 — repair inherited flex sizing: 55% visible map, lower panel fills the rest */
.rayt-client.client-booking:not(.map-selection-mode){
 display:flex!important;flex-direction:column!important;
 height:calc(100dvh - 70px)!important;min-height:0!important;max-height:none!important;
 overflow:hidden!important;background:#fff!important;
}
.rayt-client.client-booking:not(.map-selection-mode)>.client-map{
 flex:0 0 55%!important;height:55%!important;min-height:0!important;max-height:none!important;
 position:relative!important;overflow:hidden!important;
}
.rayt-client.client-booking:not(.map-selection-mode)>.booking-sheet{
 flex:1 1 45%!important;height:auto!important;min-height:0!important;max-height:none!important;
 margin-top:0!important;border-radius:22px 22px 0 0!important;
 padding:15px 14px 20px!important;overflow-y:auto!important;
 display:flex!important;flex-direction:column!important;justify-content:space-evenly!important;
 gap:7px!important;box-sizing:border-box!important;
}
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-handle{flex:none!important;margin:0 auto 5px!important}
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head{flex:none!important;margin:0 0 4px!important}
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .route-distance-auto,
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .editable-fare,
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .pay-choice{flex:none!important;margin:0!important}
.rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .booking-action{flex:none!important;margin:4px 0 0!important}
.rayt-client.client-booking:not(.map-selection-mode) .booking-map-tip{bottom:16px!important}
.rayt-client.client-booking:not(.map-selection-mode) .booking-map-recenter{bottom:54px!important}
.rayt-client.client-booking.map-selection-mode{height:calc(100dvh - 70px)!important;min-height:0!important}
.rayt-client.client-booking.map-selection-mode>.client-map{flex:1 1 auto!important;height:100%!important;min-height:0!important;max-height:none!important}
@media(max-height:690px){
 .rayt-client.client-booking:not(.map-selection-mode)>.booking-sheet{justify-content:flex-start!important;gap:7px!important;padding-top:10px!important}
 .rayt-client.client-booking:not(.map-selection-mode)>.client-map{flex-basis:52%!important;height:52%!important}
}

/* v12.9 — map-first booking: override older high-specificity sheet sizing */
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode){
 position:relative!important;display:block!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 overflow:hidden!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map{
 position:absolute!important;inset:0 0 auto 0!important;
 width:100%!important;height:61%!important;min-height:0!important;max-height:none!important;
 display:block!important;overflow:hidden!important;z-index:1!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.booking-sheet{
 position:absolute!important;inset:auto 0 0 0!important;
 width:100%!important;height:39%!important;min-height:0!important;max-height:39%!important;
 margin:0!important;padding:8px 14px 12px!important;
 box-sizing:border-box!important;z-index:6!important;
 display:flex!important;flex-direction:column!important;
 justify-content:flex-start!important;gap:5px!important;
 overflow-y:auto!important;overscroll-behavior:contain!important;
 border-radius:20px 20px 0 0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-handle{
 width:30px!important;height:3px!important;margin:0 auto 3px!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head{
 margin:0!important;min-height:27px!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head h1{
 font-size:16px!important;line-height:1.2!important;margin:0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .route-distance-auto{
 min-height:32px!important;padding:5px 9px!important;margin:0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .editable-fare{
 min-height:49px!important;padding:6px 9px!important;margin:0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .pay-choice{
 min-height:34px!important;padding:6px 10px!important;margin:0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .booking-action{
 min-height:40px!important;margin:2px 0 0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .map-floating-fields{
 top:10px!important;left:11px!important;right:11px!important;padding:2px 9px!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .map-floating-fields label{
 min-height:42px!important;padding:3px 0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-map-tip{
 top:122px!important;bottom:auto!important;
}
.shell.has-client-nav .rayt-client.client-booking.map-selection-mode{
 height:100%!important;min-height:0!important;position:relative!important;
}
.shell.has-client-nav .rayt-client.client-booking.map-selection-mode>.client-map{
 position:absolute!important;inset:0!important;height:100%!important;max-height:none!important;
}

/* v13.0 — Fix the old 190px preview map rule and keep Leaflet's canvas filling the whole map. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.client-map,
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map:has(#rayt-inline-trip-map[data-preview="true"]){
 position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
 flex:none!important;flex-basis:auto!important;height:61%!important;min-height:0!important;max-height:none!important;
 width:100%!important;overflow:hidden!important;background:#e9ede7!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map #rayt-inline-trip-map[data-preview="true"],
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map .leaflet-container{
 position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
 min-height:0!important;max-height:none!important;z-index:3!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.booking-sheet{
 top:61%!important;bottom:0!important;height:auto!important;max-height:none!important;
}

/* v13.1: remove visible distance summary, retain background route calculation. */
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map,
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.client-map:has(#rayt-inline-trip-map[data-preview="true"]){height:65%!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)>.booking-sheet{
 top:65%!important;bottom:0!important;height:auto!important;max-height:none!important;
 padding:7px 13px 9px!important;gap:5px!important;justify-content:space-between!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head{min-height:24px!important;margin:0!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head h1{font-size:15px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .editable-fare{min-height:46px!important;padding:5px 9px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .pay-choice{min-height:33px!important;padding:5px 9px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .booking-action{min-height:39px!important}

/* v13.2: recent origins dropdown inside the floating pickup card */
.rayt-client.client-booking .map-floating-fields{overflow:visible!important}
.rayt-recent-origins[hidden]{display:none!important}
.rayt-recent-origins{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1000;background:#fff;border:1px solid #e9e9e9;border-radius:14px;box-shadow:0 9px 26px #0002;padding:7px;max-height:250px;overflow-y:auto}
.rayt-recent-heading{padding:6px 9px 7px;font-size:10px;font-weight:750;color:#777}
.rayt-recent-option{width:100%;display:flex;align-items:center;gap:9px;padding:10px 8px;border:0;background:#fff;color:#202020;text-align:left;font-size:11px;font-weight:650;border-radius:9px;cursor:pointer}
.rayt-recent-option:hover,.rayt-recent-option:focus{background:#fff7e2}
.rayt-recent-symbol{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;background:#f6f6f6;border-radius:8px;font-size:16px}
.rayt-recent-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.rayt-recent-empty{padding:8px 10px;color:#858585;font-size:10px}
.rayt-recent-pin{border-top:1px solid #efefef;border-radius:0 0 9px 9px;margin-top:3px;color:#151515}
.rayt-recent-pin .rayt-recent-symbol{background:#ffcf43}
.rayt-recent-pin>span:last-child{margin-left:auto}

/* v13.3: Pin selection happens in the EXISTING booking map, without fullscreen takeover. */
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode{position:relative!important;display:block!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode>.client-map{position:absolute!important;inset:0 0 auto 0!important;width:100%!important;height:65%!important;min-height:0!important;max-height:none!important;z-index:1!important;overflow:hidden!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode>.client-map #rayt-inline-trip-map[data-preview="true"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;z-index:3!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode>.booking-sheet{position:absolute!important;top:65%!important;bottom:0!important;left:0!important;right:0!important;height:auto!important;max-height:none!important;z-index:6!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .map-floating-fields{display:none!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .booking-map-tip{display:none!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .booking-map-recenter{display:none!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar{position:absolute!important;left:9px!important;right:9px!important;bottom:10px!important;top:auto!important;z-index:550!important;padding:9px 11px!important;gap:4px!important;border-radius:13px!important;display:flex!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar[hidden]{display:none!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar strong{font-size:12px!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar small{font-size:10px!important;white-space:normal!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar button{padding:8px 5px!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-crosshair{z-index:500!important}
.shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .leaflet-control-zoom{margin-top:15px!important}

/* Destination dropdown uses the same card as origin, positioned over the map. */
.rayt-client.client-booking .map-floating-fields #rayt-recent-destinations{position:absolute;top:100%;left:0;right:0;z-index:600;max-height:225px;overflow-y:auto;background:#fff;border-radius:0 0 13px 13px;box-shadow:0 10px 20px #0002}
.rayt-client.client-booking .map-floating-fields #rayt-recent-destinations[hidden]{display:none!important}

/* v13.5 — Compact animated trip summary; visible only for a computed route. */
.rayt-trip-metrics[hidden]{display:none!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .rayt-trip-metrics{
 flex:0 0 auto!important;display:flex;align-items:center;gap:9px;min-height:47px;
 box-sizing:border-box;padding:6px 10px;margin:0!important;border-radius:13px;
 border:1px solid #f0e5c5;background:linear-gradient(115deg,#fffdf7,#fff8e6);
 box-shadow:0 2px 10px #27210e09;overflow:hidden;
}
.rayt-metric-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:9px;background:#ffce36;color:#1a1a1a;font-size:19px;font-weight:800}
.rayt-metric{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.rayt-metric strong{font-size:14px;line-height:1.15;font-weight:800;color:#222;white-space:nowrap;font-variant-numeric:tabular-nums}
.rayt-metric small{font-size:9px;color:#777;white-space:nowrap}
.rayt-metric-divider{height:27px;width:1px;background:#e9ddc3;flex:0 0 1px}
.rayt-metric-check{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e2f4e5;color:#278046;font-weight:800;font-size:11px;flex:0 0 19px}
.rayt-trip-metrics.is-ready{animation:rayt-metric-appear .38s cubic-bezier(.2,.8,.2,1) both}
.rayt-trip-metrics.is-ready .rayt-metric-check{animation:rayt-metric-check .5s .18s cubic-bezier(.2,.8,.2,1) both}
@keyframes rayt-metric-appear{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rayt-metric-check{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.rayt-trip-metrics.is-ready,.rayt-trip-metrics.is-ready .rayt-metric-check{animation:none!important}}

/* v13.6: minimal booking heading, no redundant profile shortcut */
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:25px!important;padding:0!important;margin:0 0 2px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode) .booking-sheet .sheet-head h1{font-size:16px!important;font-weight:750!important;letter-spacing:-.45px!important;line-height:1.3!important;margin:0!important;padding:0!important;background:none!important}

/* v13.8: accessible, focused active ride view for drivers */
.driver-active-mode .active-trip-content{padding:12px 14px 20px!important;overflow-y:auto!important}
.driver-active-mode .active-trip-card{padding:12px!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
.driver-active-mode .active-trip-heading{margin-bottom:12px!important}
.driver-active-mode .active-trip-heading h1{font-size:24px!important;font-weight:850!important}
.driver-focus-destination{background:#fff9e8;border:1px solid #f5d77c;border-radius:15px;padding:13px;display:flex;flex-direction:column;gap:8px}
.driver-focus-label{font-size:10px;letter-spacing:.09em;color:#8a6618;font-weight:850}
.driver-focus-destination>strong{font-size:18px;line-height:1.3;color:#191b20;overflow-wrap:anywhere}
.driver-focus-nav{border:0;border-radius:12px;background:#ffca36;color:#17191d;font-weight:850;font-size:15px;min-height:50px;width:100%;cursor:pointer}
.driver-focus-client{margin:0!important;padding:10px 0!important;display:flex!important;align-items:center!important;gap:10px!important;border-bottom:1px solid #e8edf3}
.driver-focus-client .active-trip-client-name{flex:1;min-width:0}.driver-focus-client .active-trip-client-name strong{font-size:17px!important}
.driver-focus-chat{border:1px solid #dfe5ee;background:#fff;border-radius:12px;min-height:44px;padding:0 12px;font-weight:750;white-space:nowrap;color:#242a35}
.driver-focus-chat small{display:inline-block;background:#ffcb39;border-radius:10px;padding:1px 5px;margin-left:4px}
.driver-focus-route{margin:0!important;padding:10px!important;background:#f7f9fc!important;border-radius:13px!important}
.driver-focus-route strong{font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere}
.driver-focus-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.driver-focus-summary>div{background:#f7f9fc;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:5px}
.driver-focus-summary small{font-size:10px;color:#677181}.driver-focus-summary strong{font-size:20px;font-weight:850;color:#17191d}
.driver-focus-payment{grid-column:1/-1;justify-self:start;padding:6px 11px;border-radius:20px;background:#fff6df;font-size:12px;font-weight:750}
.driver-focus-progress{padding:2px 0}.driver-focus-progress .trip-progress{margin:0!important}
.driver-active-mode .active-trip-actions{display:block!important;margin:0!important;padding:0!important}
.driver-active-mode .active-trip-primary{width:100%!important;min-height:58px!important;border-radius:13px!important;font-size:17px!important;font-weight:850!important}
.driver-active-mode .driver-pin-entry button{min-height:49px;font-size:14px;font-weight:800}
@media(max-width:360px){.driver-focus-destination>strong{font-size:16px}.driver-focus-summary strong{font-size:18px}}

/* v13.9: conductor active ride — one fixed viewport, no vertical scrolling. */
.shell:has(> .driver-workspace.driver-active-mode){height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
.driver-workspace.driver-active-mode{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.driver-active-mode .driver-sheet{flex:1 1 0!important;height:0!important;min-height:0!important;overflow:hidden!important;padding:0!important;display:flex!important;flex-direction:column!important}
.driver-active-mode .active-trip-content{height:100%!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;padding:clamp(5px,1.2dvh,11px) 11px 5px!important;display:flex!important;flex-direction:column!important;gap:clamp(3px,.7dvh,7px)!important}
.driver-active-mode .active-trip-eyebrow{font-size:8px!important;margin:0!important;line-height:1.1!important;flex:none}
.driver-active-mode .active-trip-heading{margin:0!important;min-height:27px!important;flex:none}
.driver-active-mode .active-trip-heading h1{font-size:20px!important;margin:0!important}
.driver-active-mode .active-trip-card{min-height:0!important;flex:1 1 0!important;overflow:hidden!important;gap:clamp(3px,.7dvh,7px)!important;padding:clamp(7px,1dvh,10px)!important;border-radius:15px!important;justify-content:space-between!important}
.driver-active-mode .driver-focus-destination{flex:none!important;padding:clamp(6px,.9dvh,10px)!important;gap:3px!important;border-radius:11px!important}
.driver-active-mode .driver-focus-label{font-size:8px!important}
.driver-active-mode .driver-focus-destination>strong{font-size:clamp(12px,1.9dvh,16px)!important;line-height:1.17!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.driver-active-mode .driver-focus-nav{min-height:36px!important;font-size:12px!important;border-radius:9px!important}
.driver-active-mode .driver-focus-client{flex:none!important;padding:3px 0!important;min-height:35px!important;gap:7px!important}
.driver-active-mode .active-trip-client-avatar{width:31px!important;height:31px!important;flex-basis:31px!important}
.driver-active-mode .driver-focus-client .active-trip-client-name strong{font-size:13px!important}
.driver-active-mode .driver-focus-chat{min-height:33px!important;font-size:11px!important;padding:0 8px!important}
.driver-active-mode .driver-focus-route{flex:none!important;padding:5px 7px!important;gap:4px!important;border-radius:10px!important}
.driver-active-mode .driver-focus-route>div{min-height:0!important;gap:7px!important}
.driver-active-mode .driver-focus-route strong{font-size:11px!important;line-height:1.2!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.driver-active-mode .driver-focus-route small{font-size:8px!important}
.driver-active-mode .driver-focus-summary{flex:none!important;gap:5px!important}
.driver-active-mode .driver-focus-summary>div{padding:6px 8px!important;gap:2px!important;border-radius:9px!important}
.driver-active-mode .driver-focus-summary small{font-size:8px!important}
.driver-active-mode .driver-focus-summary strong{font-size:15px!important}
.driver-active-mode .driver-focus-payment{padding:2px 8px!important;font-size:10px!important}
.driver-active-mode .driver-focus-progress{flex:none!important;padding:0!important}
.driver-active-mode .trip-progress{margin:0!important;gap:2px!important}
.driver-active-mode .trip-progress small{font-size:8px!important}
.driver-active-mode .active-trip-actions{flex:none!important}
.driver-active-mode .active-trip-primary{min-height:43px!important;font-size:14px!important;border-radius:10px!important}
.driver-active-mode .driver-pin-box{flex:none!important;padding:5px!important;margin:0!important}
.driver-active-mode .driver-pin-title{margin-bottom:3px!important}
.driver-active-mode .driver-pin-entry input,.driver-active-mode .driver-pin-entry button{min-height:37px!important}
.driver-active-mode .driver-wait{flex:none!important;margin:0!important;padding:0!important}
.driver-active-mode .driver-bottom-nav{flex:0 0 59px!important;min-height:59px!important;padding:3px 0!important}
@media(max-height:660px){
 .driver-active-mode .active-trip-content{padding:4px 9px!important;gap:2px!important}
 .driver-active-mode .active-trip-heading{min-height:23px!important}
 .driver-active-mode .active-trip-heading h1{font-size:18px!important}
 .driver-active-mode .active-trip-card{padding:6px!important;gap:2px!important}
 .driver-active-mode .driver-focus-destination{padding:5px!important}
 .driver-active-mode .driver-focus-nav{min-height:31px!important}
 .driver-active-mode .driver-focus-route{padding:3px 5px!important;gap:2px!important}
 .driver-active-mode .driver-focus-summary>div{padding:4px 6px!important}
 .driver-active-mode .active-trip-primary{min-height:37px!important}
 .driver-active-mode .driver-bottom-nav{flex-basis:51px!important;min-height:51px!important}
}

/* v14.0 — active driver trip fills all usable phone width and height. */
html,body{max-width:100%;} 
.shell:has(> .driver-workspace.driver-active-mode){
 width:100%!important;max-width:100%!important;height:100dvh!important;
 padding:0!important;margin:0!important;border:0!important;
 box-sizing:border-box!important;overflow:hidden!important;
}
.shell:has(> .driver-workspace.driver-active-mode)>.driver-workspace.driver-active-mode{
 position:relative!important;width:100%!important;max-width:100%!important;
 height:100%!important;min-height:0!important;margin:0!important;padding:0!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
.driver-active-mode>.driver-sheet{
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;flex:1 1 0!important;
 height:auto!important;min-height:0!important;box-sizing:border-box!important;overflow:hidden!important;
}
.driver-active-mode .active-trip-content{
 width:100%!important;max-width:100%!important;height:100%!important;
 min-height:0!important;margin:0!important;padding:5px 0 4px!important;
 display:flex!important;flex-direction:column!important;gap:5px!important;
 box-sizing:border-box!important;overflow:hidden!important;
}
.driver-active-mode .active-trip-eyebrow,
.driver-active-mode .active-trip-heading{margin-left:12px!important;margin-right:12px!important}
.driver-active-mode .active-trip-card{
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0!important;padding:clamp(8px,1.4dvh,13px) 12px!important;
 border-left:0!important;border-right:0!important;border-radius:0!important;
 flex:1 1 0!important;min-height:0!important;box-sizing:border-box!important;
 display:flex!important;flex-direction:column!important;
 justify-content:space-between!important;gap:clamp(4px,1dvh,10px)!important;overflow:hidden!important;
}
.driver-active-mode .driver-focus-destination,
.driver-active-mode .driver-focus-client,
.driver-active-mode .driver-focus-route,
.driver-active-mode .driver-focus-summary,
.driver-active-mode .active-trip-actions{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.driver-active-mode .driver-focus-destination{padding:clamp(8px,1.4dvh,13px)!important}
.driver-active-mode .driver-focus-route{padding:clamp(7px,1.2dvh,11px)!important}
.driver-active-mode .driver-focus-summary>div{padding:clamp(6px,1dvh,10px)!important}
.driver-active-mode .driver-focus-nav{min-height:clamp(38px,5.4dvh,48px)!important}
.driver-active-mode .active-trip-primary{width:100%!important;min-height:clamp(43px,6dvh,53px)!important}
.driver-active-mode>.driver-bottom-nav{
 flex:0 0 clamp(54px,8dvh,65px)!important;width:100%!important;
 min-height:0!important;margin:0!important;box-sizing:border-box!important;
}
@media(max-height:670px){
 .driver-active-mode .active-trip-content{gap:3px!important;padding-top:3px!important}
 .driver-active-mode .active-trip-card{gap:3px!important;padding:6px 10px!important}
 .driver-active-mode .driver-focus-destination{padding:6px!important}
 .driver-active-mode .driver-focus-route{padding:5px!important}
 .driver-active-mode .driver-focus-summary>div{padding:4px 6px!important}
 .driver-active-mode .driver-focus-nav{min-height:34px!important}
 .driver-active-mode .active-trip-primary{min-height:38px!important}
}

/* v14.1 — clear, single-purpose offer awaiting confirmation */
.driver-pending-offer{box-sizing:border-box;width:100%;min-height:calc(100dvh - 105px);padding:19px 16px 24px;background:#fff;display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center}
.driver-pending-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.07em;color:#777}.driver-pending-badge{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:20px;background:#fff6d6;color:#795500;letter-spacing:0}.driver-pending-badge i{width:7px;height:7px;border-radius:50%;background:#efad00;animation:rayt-pending-pulse 1.5s infinite}.driver-pending-symbol{width:72px;height:72px;margin:12px auto 0;border-radius:22px;background:#ffcf3d;display:grid;place-items:center;box-shadow:0 8px 22px #efc12c44;animation:rayt-pending-enter .4s ease-out}.driver-pending-symbol span{font-size:35px;font-weight:900;color:#171717}.driver-pending-offer h1{font-size:24px;line-height:1.1;margin:0;color:#171717}.driver-pending-offer>p{font-size:13px;line-height:1.4;color:#777;margin:0 10px 4px}.driver-pending-details{padding:12px 14px;background:#faf9f6;border:1px solid #eeeae0;border-radius:17px;display:grid;gap:12px;text-align:left}.driver-pending-details>div:not(.driver-pending-track){display:flex;justify-content:space-between;align-items:center;gap:12px}.driver-pending-details small{font-size:11px;color:#777}.driver-pending-details strong{font-size:15px;color:#171717}.driver-pending-details .driver-pending-price{font-size:23px}.driver-pending-details .driver-pending-seconds{font-size:23px;font-variant-numeric:tabular-nums}.driver-pending-track{height:7px;border-radius:20px;background:#eae5d9;overflow:hidden}.driver-pending-track span{height:100%;display:block;background:#ffcb31;border-radius:20px;transition:width .2s linear}.driver-pending-status{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:#666}.driver-pending-spinner{width:14px;height:14px;border:2px solid #eee;border-top-color:#e5b600;border-radius:50%;animation:rayt-pending-spin .9s linear infinite}.driver-pending-cancel{width:100%;min-height:46px;border:1px solid #ddd;border-radius:12px;background:#fff;font-weight:800;font-size:13px;color:#333}.driver-pending-note{color:#888;font-size:10px;line-height:1.4}.driver-home-mode:has(.driver-pending-offer) .driver-sheet{padding:0!important}.driver-home-mode:has(.driver-pending-offer) .driver-pending-offer{min-height:0;flex:1}.driver-home-mode:has(.driver-pending-offer){display:flex;flex-direction:column;height:100dvh;overflow:hidden}.driver-home-mode:has(.driver-pending-offer) .driver-sheet{flex:1;min-height:0;overflow-y:auto}.driver-home-mode:has(.driver-pending-offer) .driver-bottom-nav{flex:none}@keyframes rayt-pending-pulse{50%{opacity:.3}}@keyframes rayt-pending-enter{from{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:none}}@keyframes rayt-pending-spin{to{transform:rotate(360deg)}}@media(max-height:650px){.driver-pending-offer{gap:8px;padding:10px 14px}.driver-pending-symbol{width:53px;height:53px;margin:0 auto;border-radius:16px}.driver-pending-symbol span{font-size:26px}.driver-pending-offer h1{font-size:20px}.driver-pending-details{gap:8px;padding:9px}.driver-pending-details .driver-pending-price,.driver-pending-details .driver-pending-seconds{font-size:19px}}

/* v14.4: cohesive active-trip composition inspired by map-first ride apps. */
.driver-active-mode .active-trip-content{padding:0!important;gap:0!important;background:#fff!important}
.driver-active-mode .active-trip-eyebrow{padding:7px 14px 0!important;margin:0!important;font-size:9px!important;letter-spacing:1.4px!important}
.driver-active-mode .active-trip-heading{padding:0 14px 7px!important;margin:0!important}
.driver-active-mode .active-trip-card{padding:0 12px 10px!important;gap:clamp(4px,.85dvh,9px)!important;border:0!important;border-radius:0!important;background:white!important;box-shadow:none!important}
.driver-active-mode .rayt-ride-map{position:relative;flex:1 1 110px;min-height:92px;max-height:26dvh;overflow:hidden;border-radius:15px;background:#edf0f3;border:1px solid #e8eaee;isolation:isolate}
.rayt-map-streets{position:absolute;inset:-35%;transform:rotate(-23deg);background:repeating-linear-gradient(0deg,transparent 0 22px,#fff 22px 27px,transparent 27px 48px),repeating-linear-gradient(90deg,transparent 0 28px,#fff 28px 33px,transparent 33px 61px);opacity:.95}
.rayt-ride-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.rayt-map-pickup,.rayt-map-dest{position:absolute;z-index:2;background:white;border-radius:10px;padding:5px 8px;box-shadow:0 3px 12px #17202d15;max-width:43%;line-height:1.13}
.rayt-map-pickup{top:7px;left:18%}.rayt-map-dest{right:6px;bottom:24px}
.rayt-map-pickup small,.rayt-map-dest small{display:block;color:#6d7787;font-size:8px;font-weight:800;letter-spacing:.6px}
.rayt-map-pickup strong,.rayt-map-dest strong{font-size:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rayt-map-nav{position:absolute;z-index:3;right:8px;top:8px;width:34px;height:34px;border-radius:50%;border:0;background:white;color:#17202d;font-size:21px;box-shadow:0 2px 8px #17202d20}
.rayt-map-disclaimer{position:absolute;z-index:2;bottom:3px;left:8px;font-size:7px;color:#697484;background:#ffffffcf;border-radius:4px;padding:2px 4px}
.driver-active-mode .driver-focus-client{background:#fff9eb!important;border:1px solid #fff0ca!important;border-radius:12px!important;padding:7px!important;min-height:44px!important}
.driver-active-mode .driver-focus-client .active-trip-client-name strong{font-size:15px!important}
.driver-active-mode .rayt-contact-actions{margin-left:auto}
.driver-active-mode .driver-focus-chat{background:white!important;border:1px solid #e5e8ef!important;border-radius:9px!important;min-height:35px!important}
.driver-active-mode .driver-focus-route{background:#f5f7fa!important;border:0!important;border-radius:12px!important;padding:8px 10px!important;gap:7px!important}
.driver-active-mode .driver-focus-route strong{font-size:12px!important}
.driver-active-mode .driver-focus-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
.driver-active-mode .driver-focus-summary>div{background:#f5f7fa!important;border-radius:11px!important;padding:8px!important}
.driver-active-mode .driver-focus-summary strong{font-size:17px!important}
.driver-active-mode .driver-focus-payment{grid-column:1/-1!important;justify-self:start!important;min-height:0!important;padding:3px 9px!important}
.driver-active-mode .driver-focus-progress{padding:4px 0!important}
.driver-active-mode .active-trip-primary{background:#ffcc30!important;color:#111923!important;box-shadow:0 4px 10px #e3ac2422!important;border-radius:12px!important}
@media(max-height:650px){.driver-active-mode .rayt-ride-map{max-height:17dvh;min-height:75px}.driver-active-mode .driver-focus-route{padding:5px 8px!important;gap:3px!important}.driver-active-mode .driver-focus-summary>div{padding:5px!important}.driver-active-mode .driver-focus-client{padding:4px!important}}

/* v14.5: illustration-led pickup, no pretend GPS map; compact full viewport. */
.driver-active-mode .rayt-pickup-hero{display:flex;flex-direction:column;flex:1 1 135px;min-height:120px;max-height:29dvh;overflow:hidden;border:1px solid #f3e7c7;background:linear-gradient(180deg,#fffdf8,#fff7e7);border-radius:15px;padding:5px 10px 9px;gap:2px;box-sizing:border-box}
.driver-active-mode .rayt-pickup-illustration{flex:1 1 0;min-height:38px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.driver-active-mode .rayt-pickup-illustration svg{width:100%;height:100%;max-height:110px;object-fit:contain}
.driver-active-mode .rayt-pickup-info{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:none;min-width:0}
.driver-active-mode .rayt-pickup-kicker{font-size:9px;letter-spacing:.75px;font-weight:850;color:#896016}
.driver-active-mode .rayt-pickup-info strong{font-size:clamp(12px,1.9dvh,16px);line-height:1.2;color:#151d29;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.driver-active-mode .rayt-pickup-maps{min-height:35px;width:100%;border:0;border-radius:9px;background:#ffca30;color:#171b24;font-weight:850;font-size:12px;cursor:pointer}
.driver-active-mode .driver-focus-route{flex:none!important}
@media(max-height:660px){.driver-active-mode .rayt-pickup-hero{min-height:95px;max-height:23dvh;padding:3px 8px 6px}.driver-active-mode .rayt-pickup-info{gap:2px}.driver-active-mode .rayt-pickup-maps{min-height:30px}.driver-active-mode .rayt-pickup-illustration svg{max-height:70px}}

/* v14.6: do not cover arrival countdown with the map brand. */
.rayt-client.client-active-ride .client-map:has(.arrival-timer) .map-brand{display:none!important}


/* v14.7 — visible, persistent but gentle alert once courtesy time expires. */
.client-active-ride .client-map .arrival-timer.arrival-expired{
 background:linear-gradient(115deg,#fff1e9,#fff8ef)!important;
 border:1.5px solid #df5d3e!important;
 box-shadow:0 0 0 0 rgba(223,93,62,.25),0 7px 22px rgba(130,48,28,.16)!important;
 animation:raytExpiredAlert 2s ease-in-out infinite!important;
}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-ring{
 background:#df5d3e!important;
 animation:raytExpiredIcon 1.6s ease-in-out infinite!important;
}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-ring:before{background:#df5d3e!important}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-clock{
 font-size:0!important;animation:none!important;color:#fff!important;
}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-clock:after{
 content:"!";font-size:21px;font-weight:900;line-height:1;color:#fff;
}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-copy strong{
 color:#a72e21!important;font-weight:900!important;
}
.client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-copy small{
 color:#8c4a3b!important;
}
.client-active-ride .client-map .arrival-timer.arrival-expired:after{
 background:#df5d3e!important;transform:scaleX(1)!important;
}
@keyframes raytExpiredAlert{
 0%,100%{border-color:#df5d3e;box-shadow:0 0 0 0 rgba(223,93,62,.20),0 7px 22px rgba(130,48,28,.12)}
 50%{border-color:#f18a53;box-shadow:0 0 0 5px rgba(223,93,62,.10),0 7px 22px rgba(130,48,28,.18)}
}
@keyframes raytExpiredIcon{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@media(prefers-reduced-motion:reduce){
 .client-active-ride .client-map .arrival-timer.arrival-expired,
 .client-active-ride .client-map .arrival-timer.arrival-expired .arrival-timer-ring{
 animation:none!important;
 }
}

/* v14.8: clearly visible expanding pulse on the EXTERIOR outline, without moving the centered timer. */
.client-active-ride .client-map .arrival-timer.arrival-expired{position:absolute!important;isolation:isolate;animation:raytExpiredBorder 1.45s ease-in-out infinite!important;outline:2px solid #dc4e37!important;outline-offset:0!important;transform:translateX(-50%)!important;}
.client-active-ride .client-map .arrival-timer.arrival-expired:before{content:""!important;position:absolute!important;z-index:-1!important;pointer-events:none!important;inset:-2px!important;border:2px solid #e45138!important;border-radius:inherit!important;animation:raytExpiredRipple 1.45s ease-out infinite!important;}
@keyframes raytExpiredBorder{0%,100%{outline-color:#dc4e37;box-shadow:0 0 0 0 #e4513840,0 5px 15px #a02f2422}50%{outline-color:#ff8c5b;box-shadow:0 0 0 5px #e451382b,0 6px 18px #a02f2438}}
@keyframes raytExpiredRipple{0%{opacity:.9;transform:scale(1)}75%,100%{opacity:0;transform:scale(1.11)}}
@media(prefers-reduced-motion:reduce){.client-active-ride .client-map .arrival-timer.arrival-expired,.client-active-ride .client-map .arrival-timer.arrival-expired:before{animation:none!important}}

/* v14.9: same real route map used by client, inside pending driver acceptance. */
.driver-pending-offer{box-sizing:border-box;gap:8px!important;max-height:100%;overflow-y:auto;scrollbar-width:thin}
.driver-pending-route{width:100%;display:flex;flex-direction:column;gap:7px;text-align:left}
.driver-pending-route-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#5d6675;font-size:9px;font-weight:850;letter-spacing:.6px}
.driver-pending-route-head span:last-child{font-size:9px;letter-spacing:0;font-weight:600}
.driver-pending-map{position:relative!important;width:100%!important;height:clamp(115px,23dvh,200px)!important;min-height:115px!important;border-radius:13px!important;overflow:hidden!important;background:#eef1f3!important;border:1px solid #e6e9ee}
.driver-pending-map .leaflet-control-attribution{font-size:7px}
.driver-pending-addresses{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;border-radius:11px;background:#f5f7fa}
.driver-pending-addresses>div{display:flex;align-items:flex-start;gap:7px;min-width:0}
.driver-pending-addresses .route-dot{flex:none;margin-top:4px}
.driver-pending-addresses span{min-width:0}
.driver-pending-addresses small{display:block;font-size:8px;color:#687284;font-weight:800;letter-spacing:.5px}
.driver-pending-addresses strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.25;color:#17202d}
.driver-pending-map-unavailable{padding:24px 12px;background:#f5f7fa;border-radius:12px;text-align:center;font-size:11px;color:#687284}
@media(max-height:670px){.driver-pending-map{height:clamp(95px,18dvh,135px)!important;min-height:95px!important}.driver-pending-addresses{padding:6px}.driver-pending-offer{gap:5px!important}}

/* v15.0 — premium active driver layout, compact and viewport-filling */
.driver-active-mode .active-trip-content{width:100%!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
.driver-active-mode .active-trip-eyebrow{margin:0!important;padding:7px 14px 0!important;font-size:9px!important;letter-spacing:1.4px!important;flex:none!important}
.driver-active-mode .active-trip-heading{margin:0!important;padding:0 14px 8px!important;flex:none!important}
.driver-active-mode .active-trip-card{width:100%!important;max-width:none!important;min-height:0!important;flex:1 1 0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:clamp(5px,1dvh,10px)!important;padding:0 12px 10px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:#fff!important}
.driver-active-mode .rayt-premium-map{position:relative;isolation:isolate;flex:1 1 100px;min-height:90px;max-height:29dvh;overflow:hidden;border-radius:16px;background:#eef1f3;border:1px solid #e8ebee}
.rayt-premium-streets{position:absolute;inset:-50%;transform:rotate(-24deg);background:repeating-linear-gradient(0deg,transparent 0 19px,#fff 19px 23px,transparent 23px 42px),repeating-linear-gradient(90deg,transparent 0 24px,#fff 24px 29px,transparent 29px 52px);opacity:.95}
.rayt-premium-line{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.rayt-premium-map-start,.rayt-premium-map-end{position:absolute;z-index:2;max-width:44%;padding:6px 8px;border-radius:10px;background:white;box-shadow:0 3px 12px #14212d20;line-height:1.15}
.rayt-premium-map-start{top:9px;left:14%}.rayt-premium-map-end{bottom:20px;right:8px}
.rayt-premium-map-start small,.rayt-premium-map-end small{display:block;color:#75808b;font-size:8px;font-weight:800;letter-spacing:.6px}
.rayt-premium-map-start strong,.rayt-premium-map-end strong{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rayt-premium-map-link{position:absolute;z-index:3;right:7px;top:7px;border:1px solid #f3dfb3;border-radius:25px;background:#fffaf0;color:#17202d;font-size:10px;font-weight:850;padding:8px 10px;box-shadow:0 2px 7px #17202d10;cursor:pointer}
.rayt-premium-map-caption{position:absolute;z-index:2;bottom:3px;left:6px;background:#ffffffd9;border-radius:3px;padding:2px 4px;font-size:7px;color:#677482}
.driver-active-mode .driver-focus-client{width:100%!important;min-height:46px!important;flex:none!important;display:flex!important;align-items:center!important;padding:7px 9px!important;border-radius:13px!important;background:#fffaf0!important;border:1px solid #f9ebcd!important;box-sizing:border-box!important}
.driver-active-mode .active-trip-client-avatar{width:35px!important;height:35px!important;flex:0 0 35px!important;background:#ffefc9!important}
.driver-active-mode .active-trip-client-name strong{font-size:15px!important}.driver-active-mode .driver-focus-chat{min-height:35px!important;background:#fff!important;border:1px solid #e6e9ed!important;border-radius:10px!important;font-size:11px!important}
.driver-active-mode .driver-focus-route{flex:none!important;width:100%!important;padding:8px 10px!important;border:0!important;border-radius:12px!important;background:#f5f7fa!important;box-sizing:border-box!important}
.driver-active-mode .driver-focus-route strong{font-size:12px!important}
.driver-active-mode .driver-focus-summary{flex:none!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important}
.driver-active-mode .driver-focus-summary>div{min-width:0!important;padding:9px!important;background:#f5f7fa!important;border-radius:12px!important}.driver-active-mode .driver-focus-summary small{font-size:10px!important}.driver-active-mode .driver-focus-summary strong{font-size:19px!important}.driver-active-mode .driver-focus-payment{grid-column:1/-1!important;justify-self:start!important;margin-top:-3px!important;padding:3px 9px!important}
.driver-active-mode .driver-focus-progress{flex:none!important;padding:4px 0!important}.driver-active-mode .active-trip-actions{flex:none!important;width:100%!important}.driver-active-mode .active-trip-primary{min-height:47px!important;width:100%!important;border-radius:12px!important;background:#ffcb31!important;color:#17202d!important;font-size:15px!important;font-weight:850!important}
@media(max-height:670px){.driver-active-mode .rayt-premium-map{max-height:19dvh;min-height:78px}.driver-active-mode .active-trip-card{gap:4px!important;padding:0 10px 7px!important}.driver-active-mode .driver-focus-client{padding:4px 7px!important;min-height:38px!important}.driver-active-mode .driver-focus-route{padding:5px 8px!important}.driver-active-mode .driver-focus-summary>div{padding:5px 7px!important}.driver-active-mode .driver-focus-summary strong{font-size:16px!important}.driver-active-mode .active-trip-primary{min-height:40px!important}}
@media(prefers-reduced-motion:reduce){.driver-active-mode .rayt-premium-map *{animation:none!important}}

/* v15.2: hide stage tracker only inside driver active-trip view. */
.driver-workspace .active-trip-content .driver-focus-progress,
.driver-workspace .active-trip-content .trip-progress,
.driver-workspace .active-trip-content .trip-progress-wrap,
.driver-workspace .active-trip-content .ride-progress{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;}

/* v15.3: explicit removal of the conductor-only four-step tracker, including older DOM templates. */
.driver-active-mode .driver-focus-progress,
.driver-active-mode .active-trip-card > .driver-focus-progress,
.driver-active-mode .active-trip-card > .trip-progress,
.driver-active-mode .active-trip-card > .trip-progress-wrap,
.driver-active-mode .active-trip-card > .ride-progress {display:none!important;visibility:hidden!important;position:absolute!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}

/* v15.6 · contextual driver trip hierarchy and compact anchored action */
.driver-active-mode .active-trip-card{justify-content:flex-start!important;gap:clamp(7px,1.15dvh,12px)!important;padding-bottom:11px!important}
.driver-active-mode .rayt-premium-map{flex:1 1 115px!important;max-height:27dvh!important;min-height:100px!important}
.driver-next-stop{display:flex;align-items:center;gap:9px;flex:none;padding:9px 10px;border:1px solid #f2e2b9;border-radius:13px;background:linear-gradient(110deg,#fff9e8,#fffdf8);animation:driverStopEnter .3s ease-out}
.driver-next-stop-icon{width:29px;height:29px;flex:none;display:grid;place-items:center;border-radius:10px;background:#ffda69;color:#222;font-size:21px;font-weight:900}
.driver-next-stop-copy{display:grid;gap:3px;min-width:0;flex:1}.driver-next-stop-copy small{font-size:8px;letter-spacing:.55px;font-weight:850;color:#99721c}.driver-next-stop-copy strong{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-next-stop-tag{flex:none;border-radius:20px;background:#ffebaf;color:#5e480e;font-size:9px;font-weight:850;padding:5px 7px}
.driver-active-mode .driver-focus-summary{position:relative;grid-template-columns:1fr 1fr!important;gap:7px!important}
.driver-active-mode .driver-focus-summary>div{padding:9px 10px!important}
.driver-active-mode .driver-focus-payment{grid-column:2!important;justify-self:start!important;margin:-28px 0 0 10px!important;position:relative;align-self:end;font-size:9px!important}
.driver-active-mode .driver-focus-summary>div:nth-child(2){padding-bottom:23px!important}
.driver-active-mode .active-trip-actions{margin-top:auto!important;padding-top:4px!important;flex:none!important}
.driver-active-mode .active-trip-primary{min-height:49px!important;box-shadow:0 5px 13px #e7b42430!important;transition:transform .18s ease,box-shadow .18s ease!important}
.driver-active-mode .active-trip-primary:active{transform:scale(.985)!important}
.driver-active-mode .active-trip-state i{animation:driverStatusPulse 2.2s ease-in-out infinite}
.driver-active-mode .driver-focus-chat small:not([hidden]){animation:driverBadgePop .3s ease-out}
@keyframes driverStatusPulse{50%{box-shadow:0 0 0 5px #f5c84422}}
@keyframes driverStopEnter{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes driverBadgePop{from{transform:scale(.6)}to{transform:scale(1)}}
@media(max-height:690px){.driver-active-mode .active-trip-card{gap:5px!important;padding-bottom:7px!important}.driver-active-mode .rayt-premium-map{min-height:75px!important;max-height:20dvh!important}.driver-next-stop{padding:5px 8px;gap:6px}.driver-next-stop-icon{width:24px;height:24px;font-size:17px}.driver-next-stop-copy strong{font-size:11px}.driver-active-mode .driver-focus-summary>div{padding:6px 8px!important}.driver-active-mode .driver-focus-summary>div:nth-child(2){padding-bottom:19px!important}.driver-active-mode .driver-focus-payment{margin:-24px 0 0 8px!important}.driver-active-mode .active-trip-primary{min-height:42px!important}}
@media(prefers-reduced-motion:reduce){.driver-next-stop,.driver-active-mode .active-trip-state i,.driver-active-mode .driver-focus-chat small{animation:none!important}}

/* v15.7 · Cortesía visual del conductor: mismo reloj que el pasajero */
.driver-active-mode .driver-courtesy{--courtesy-angle:360deg;display:grid!important;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px!important;margin:5px 0 0!important;border:1px solid #f4d77f!important;border-radius:15px!important;background:linear-gradient(110deg,#fffaf0,#fff3d3)!important;box-shadow:0 4px 15px #b88d1b0b;min-height:64px;animation:driverCourtesyEnter .3s ease-out}
.driver-active-mode .driver-courtesy-ring{width:40px;height:40px;border-radius:50%;background:conic-gradient(#ffc629 0deg var(--courtesy-angle),#e8e8e9 var(--courtesy-angle) 360deg);display:grid;place-items:center;position:relative;flex:none}
.driver-active-mode .driver-courtesy-ring:before{content:'';position:absolute;inset:5px;background:#fff;border-radius:50%}
.driver-active-mode .driver-courtesy-clock-icon{position:relative;z-index:1;font-size:23px;color:#8a6705;line-height:1}
.driver-active-mode .driver-courtesy-copy{display:grid;gap:4px;min-width:0}.driver-active-mode .driver-courtesy-title{font-size:11px;font-weight:850;color:#352a13}.driver-active-mode .driver-courtesy-caption{font-size:9px;color:#947a41}.driver-active-mode .driver-courtesy .driver-wait-clock{font-size:24px!important;font-weight:900!important;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#31270f;white-space:nowrap}
.driver-active-mode .driver-courtesy.wait-urgent{border-color:#f0a69a!important;background:linear-gradient(110deg,#fff8f4,#ffe9e4)!important}.driver-active-mode .driver-courtesy.wait-urgent .driver-courtesy-ring{background:conic-gradient(#e75d4d 0deg var(--courtesy-angle),#f3d4cf var(--courtesy-angle) 360deg)}.driver-active-mode .driver-courtesy.wait-urgent .driver-wait-clock{color:#c83d2e;animation:driverCourtesyPulse 1s ease-in-out infinite}
.driver-active-mode .driver-courtesy.wait-expired{grid-template-columns:43px minmax(0,1fr) auto;border-color:#f0b7a9!important;background:#fff4f0!important}.driver-active-mode .driver-courtesy.wait-expired .driver-courtesy-ring{background:#f6d8d1}.driver-active-mode .driver-courtesy.wait-expired .driver-courtesy-clock-icon{color:#bc4634}.driver-active-mode .driver-courtesy.wait-expired .driver-wait-clock{display:none!important}.driver-active-mode .driver-courtesy .driver-no-show{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px!important;border-radius:10px;background:#f9d5ce!important;color:#9d2c1e!important;font-size:11px!important;font-weight:850}.driver-active-mode .driver-courtesy .driver-no-show[hidden]{display:none!important}
@keyframes driverCourtesyEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes driverCourtesyPulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.driver-active-mode .driver-courtesy,.driver-active-mode .driver-courtesy.wait-urgent .driver-wait-clock{animation:none!important}}

/* v15.8 · Cortesía visible antes de llegar, sin iniciar el reloj */
.driver-active-mode .driver-courtesy-preview{display:grid!important;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px!important;margin:7px 0 9px!important;border:1px solid #f0e5c9!important;border-radius:13px!important;background:#fffaf0!important;animation:driverCourtesyEnter .3s ease-out}.driver-active-mode .driver-courtesy-preview .driver-courtesy-ring{background:#fff0c8!important}.driver-active-mode .driver-courtesy-preview .driver-wait-clock{font-size:19px!important;color:#8c742e!important}.driver-active-mode .driver-courtesy-preview .driver-courtesy-caption{font-size:9px!important}

/* v15.9: keep live courtesy timer visible above PIN entry on arrival. */
.driver-active-mode .active-trip-card:has(.driver-pin-box){overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;justify-content:flex-start!important}
.driver-active-mode .active-trip-card:has(.driver-pin-box) .rayt-premium-map{flex:0 0 auto!important;height:clamp(78px,15dvh,120px)!important;min-height:78px!important;max-height:120px!important}
.driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-courtesy{flex:none!important;margin:3px 0!important;min-height:57px;padding:7px 10px!important}
.driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-pin-box{flex:none!important;margin:2px 0 0!important}
.driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-focus-summary{flex:none!important}

/* v16.0 · Floating courtesy notification over driver map, matching passenger experience. */
.driver-active-mode .rayt-premium-map:has(.driver-courtesy-float){overflow:visible!important;z-index:3;isolation:isolate;min-height:118px!important;height:clamp(118px,22dvh,165px)!important;max-height:165px!important;flex:0 0 auto!important}
.driver-active-mode .driver-courtesy-float{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:min(265px,calc(100% - 22px));z-index:20;pointer-events:none;animation:driverFloatEnter .35s ease-out both}
.driver-active-mode .driver-courtesy-float .driver-courtesy{display:grid!important;grid-template-columns:35px minmax(0,1fr) auto!important;gap:7px!important;min-height:51px!important;padding:6px 9px!important;margin:0!important;border-radius:15px!important;background:#fff9e9f5!important;box-shadow:0 7px 22px #30260b30,0 0 0 2px #ffcf4733!important;backdrop-filter:blur(8px);pointer-events:auto}
.driver-active-mode .driver-courtesy-float .driver-courtesy-ring{width:33px;height:33px}
.driver-active-mode .driver-courtesy-float .driver-courtesy-clock-icon{font-size:17px}
.driver-active-mode .driver-courtesy-float .driver-courtesy-title{font-size:10px}
.driver-active-mode .driver-courtesy-float .driver-courtesy-caption{font-size:8px}
.driver-active-mode .driver-courtesy-float .driver-wait-clock{font-size:19px!important}
.driver-active-mode .driver-courtesy-float .driver-courtesy.wait-urgent{background:#fff0ebf5!important;box-shadow:0 7px 22px #a3422930,0 0 0 2px #ed8e7938!important}
.driver-active-mode .driver-courtesy-float .driver-courtesy.wait-expired{grid-template-columns:35px minmax(0,1fr) auto!important;background:#fff1ebf5!important}
.driver-active-mode .driver-courtesy-float .driver-no-show:not([hidden]){grid-column:1/-1!important;justify-self:stretch!important;min-height:28px!important;padding:5px 8px!important;font-size:10px!important;pointer-events:auto}
.driver-active-mode .active-trip-card:has(.driver-courtesy-float){overflow-y:auto!important;overflow-x:hidden!important}
.driver-active-mode .active-trip-card:has(.driver-courtesy-float) .rayt-premium-map{flex:0 0 auto!important;height:clamp(118px,22dvh,165px)!important;min-height:118px!important;max-height:165px!important}
@keyframes driverFloatEnter{from{opacity:0;transform:translate(-50%,-10px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.driver-active-mode .driver-courtesy-float{animation:none!important}}


/* v16.2 — balanced full-height active ride; map is the flexible spacer. */
.driver-active-mode .active-trip-content{height:100%;min-height:0;display:flex!important;flex-direction:column!important;gap:4px!important;padding:4px 0 0!important;overflow:hidden!important}
.driver-active-mode .active-trip-eyebrow,.driver-active-mode .active-trip-heading{flex:0 0 auto!important;margin:0!important;padding-left:10px!important;padding-right:10px!important}
.driver-active-mode .active-trip-card{display:flex!important;flex-direction:column!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;width:100%!important;margin:0!important;padding:4px 8px 7px!important;gap:5px!important;overflow:hidden!important;justify-content:flex-start!important;box-sizing:border-box!important}
.driver-active-mode .active-trip-card .rayt-premium-map,
.driver-active-mode .active-trip-card:has(.driver-courtesy-float) .rayt-premium-map{position:relative!important;flex:1 1 0!important;height:auto!important;min-height:175px!important;max-height:none!important;width:100%!important;overflow:hidden!important;border-radius:13px!important}
.driver-active-mode .rayt-premium-map-start{top:auto!important;bottom:12px!important;left:8px!important;max-width:42%!important;z-index:3!important}
.driver-active-mode .rayt-premium-map-end{top:auto!important;bottom:12px!important;right:8px!important;max-width:42%!important;z-index:3!important}
.driver-active-mode .rayt-premium-map-link{top:7px!important;right:7px!important;z-index:4!important}
.driver-active-mode .rayt-premium-map-caption{display:none!important}
.driver-active-mode .driver-courtesy-float{top:8px!important;left:8px!important;transform:none!important;width:min(265px,calc(100% - 16px))!important;z-index:8!important}
.driver-active-mode .driver-next-stop,.driver-active-mode .driver-focus-client,.driver-active-mode .driver-focus-route,.driver-active-mode .driver-focus-summary,.driver-active-mode .driver-pin-box,.driver-active-mode .driver-courtesy-preview,.driver-active-mode .active-trip-actions{flex:0 0 auto!important;margin-top:0!important;margin-bottom:0!important;box-sizing:border-box!important}
.driver-active-mode .driver-next-stop{min-height:41px!important;padding:5px 8px!important}
.driver-active-mode .driver-focus-client{min-height:43px!important;padding:4px 8px!important}
.driver-active-mode .driver-focus-route{min-height:37px!important;padding:4px 8px!important}
.driver-active-mode .driver-focus-summary{min-height:53px!important}
.driver-active-mode .driver-focus-summary>div{padding:6px 8px!important}
.driver-active-mode .driver-pin-box{padding:8px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
.driver-active-mode .driver-pin-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0!important}
.driver-active-mode .driver-pin-title strong,.driver-active-mode .driver-pin-title small{width:auto!important;max-width:none!important}
.driver-active-mode .driver-pin-entry{display:flex!important;align-items:stretch!important;gap:7px!important}
.driver-active-mode .driver-pin-entry input,.driver-active-mode .driver-pin-entry button{min-height:41px!important;height:41px!important}
.driver-active-mode .driver-pin-box>.active-trip-chat{display:none!important}
.driver-active-mode .active-trip-primary{min-height:44px!important}
@media(max-height:690px){
 .driver-active-mode .active-trip-card{gap:3px!important;padding-top:2px!important;padding-bottom:3px!important}
 .driver-active-mode .active-trip-card .rayt-premium-map,.driver-active-mode .active-trip-card:has(.driver-courtesy-float) .rayt-premium-map{min-height:145px!important}
 .driver-active-mode .driver-next-stop{min-height:35px!important;padding:3px 7px!important}
 .driver-active-mode .driver-focus-client{min-height:36px!important;padding:3px 7px!important}
 .driver-active-mode .driver-focus-route{min-height:32px!important;padding:3px 7px!important}
 .driver-active-mode .driver-focus-summary{min-height:46px!important}
 .driver-active-mode .driver-focus-summary>div{padding:4px 7px!important}
 .driver-active-mode .driver-pin-box{padding:5px 7px!important;gap:3px!important}
 .driver-active-mode .driver-pin-entry input,.driver-active-mode .driver-pin-entry button{height:36px!important;min-height:36px!important}
}

/* v16.3: Active driver trip opens directly on the map; header removed. */
.driver-active-mode .active-trip-content{padding-top:0!important;gap:0!important}
.driver-active-mode .active-trip-card{padding-top:7px!important}
/* v16.6 — active driver trip uses full available viewport width. */
html:has(.driver-workspace.driver-active-mode),body:has(.driver-workspace.driver-active-mode){width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow-x:hidden!important}
.shell:has(> .driver-workspace.driver-active-mode),.shell:has(> .driver-workspace.driver-active-mode)>.driver-workspace.driver-active-mode,.driver-active-mode>.driver-sheet,.driver-active-mode .active-trip-content,.driver-active-mode .active-trip-card{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.driver-active-mode .active-trip-content{padding-left:0!important;padding-right:0!important}
.driver-active-mode .active-trip-card{padding-left:0!important;padding-right:0!important;border-left:0!important;border-right:0!important;border-radius:0!important;align-items:stretch!important}
.driver-active-mode .active-trip-card>.rayt-premium-map,.driver-active-mode .active-trip-card>.driver-next-stop,.driver-active-mode .active-trip-card>.driver-focus-client,.driver-active-mode .active-trip-card>.driver-focus-route,.driver-active-mode .active-trip-card>.driver-focus-summary,.driver-active-mode .active-trip-card>.driver-pin-box,.driver-active-mode .active-trip-card>.driver-courtesy-preview,.driver-active-mode .active-trip-card>.active-trip-actions{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.driver-active-mode .active-trip-card>.rayt-premium-map{border-radius:0!important}
.driver-active-mode .active-trip-card>.driver-next-stop,.driver-active-mode .active-trip-card>.driver-focus-client,.driver-active-mode .active-trip-card>.driver-focus-route,.driver-active-mode .active-trip-card>.driver-focus-summary,.driver-active-mode .active-trip-card>.driver-pin-box{border-radius:10px!important}
.driver-active-mode .driver-courtesy-float{left:8px!important;max-width:calc(100% - 16px)!important}

/* v16.7: courtesy expires into an alternative action beneath the PIN. */
.driver-active-mode .driver-courtesy-float[hidden],.driver-active-mode .driver-no-show-pin[hidden]{display:none!important}
.driver-active-mode .driver-pin-box>.driver-no-show-pin:not([hidden]){display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:40px!important;margin:2px 0 0!important;padding:9px 12px!important;border:1px solid #e8a99d!important;border-radius:11px!important;background:#fff0eb!important;color:#963d30!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;flex:0 0 auto!important}
.driver-active-mode .driver-pin-box>.driver-no-show-pin:not([hidden]):active{transform:scale(.99)}

/* v16.8 — premium, no-scroll client request screen only. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode){
 height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;display:block!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.client-map,
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.client-map:has(#rayt-inline-trip-map[data-preview="true"]){
 position:absolute!important;inset:0 0 auto!important;width:100%!important;height:54%!important;min-height:0!important;max-height:none!important;border-radius:0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet{
 position:absolute!important;top:53%!important;bottom:0!important;left:0!important;right:0!important;
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 display:flex!important;flex-direction:column!important;justify-content:space-between!important;
 overflow:hidden!important;overscroll-behavior:none!important;scrollbar-width:none!important;
 padding:10px 13px max(9px,env(safe-area-inset-bottom))!important;gap:5px!important;
 border-radius:23px 23px 0 0!important;background:#fff!important;box-shadow:0 -9px 28px #17212b12!important;box-sizing:border-box!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet>.sheet-handle{display:none!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .sheet-head{flex:0 0 auto!important;min-height:24px!important;margin:0!important;padding:0 1px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .sheet-head h1{font-size:17px!important;font-weight:850!important;letter-spacing:-.55px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .rayt-trip-metrics{flex:0 0 auto!important;min-height:44px!important;padding:5px 9px!important;border-radius:13px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .editable-fare{flex:0 0 auto!important;min-height:48px!important;padding:5px 10px!important;border-radius:13px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .pay-choice{flex:0 0 auto!important;min-height:37px!important;padding:5px 10px!important;border-radius:11px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet .booking-action{flex:0 0 auto!important;min-height:43px!important;height:43px!important;margin:0!important;border-radius:12px!important;background:linear-gradient(110deg,#ffd34b,#ffbc25)!important;box-shadow:0 4px 12px #f5b92028!important;font-weight:850!important}
@media(max-height:680px){
 .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.client-map{height:49%!important}
 .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet{top:48%!important;padding-top:7px!important;gap:3px!important}
}

.rayt-auth{margin:12px auto;padding:24px 18px;max-width:420px;width:calc(100% - 24px);border:1px solid #e9eaf0;border-radius:23px;background:#fff;box-shadow:0 14px 32px #1118270a;display:flex;flex-direction:column;gap:13px}
.rayt-auth h1{font-size:25px;letter-spacing:-.8px;margin:0}.rayt-auth p{margin:0;color:#667085;font-size:13px}.rayt-auth form{display:grid;gap:12px}.rayt-auth label{font-size:12px;font-weight:800;display:grid;gap:5px}.rayt-auth input{width:100%;border:1px solid #e1e4eb;border-radius:12px;padding:12px;box-sizing:border-box;background:#fafbfc;font-size:14px}.rayt-auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f5f6f8;border-radius:12px;padding:4px;gap:4px}.rayt-auth-tabs button{border:0;background:white;border-radius:9px;padding:9px;font-weight:800}.rayt-auth .primary{border-radius:12px;min-height:45px}.rayt-google{background:white;border:1px solid #e0e4eb;border-radius:12px;padding:12px;font-weight:750}.rayt-auth>small{color:#89909c;font-size:10px;line-height:1.5}
.rayt-ref-profile{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #f0e2bb;border-radius:15px;background:#fffaf0;padding:13px;margin:12px 0;color:#1c2630}.rayt-ref-profile>span:first-child{font-size:28px;color:#e6a800}.rayt-ref-profile>span:nth-child(2){flex:1;display:grid;gap:3px}.rayt-ref-profile strong{font-size:13px}.rayt-ref-profile small{font-size:10px;color:#818996}.rayt-ref-profile b{font-size:19px}
.rayt-ref-overlay{position:fixed;inset:0;background:#121820a6;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.rayt-ref-modal{position:relative;width:min(100%,345px);background:white;border-radius:25px;padding:22px;display:grid;justify-items:center;gap:11px;text-align:center;box-shadow:0 24px 70px #0003}.rayt-ref-modal>span{font-size:10px;letter-spacing:2px;font-weight:900;color:#bd8700}.rayt-ref-modal h2{margin:0;font-size:23px}.rayt-ref-modal p{margin:0;color:#667085;font-size:12px}.rayt-ref-modal img{width:190px;height:190px;border:1px solid #e8e9ec;border-radius:13px;padding:8px}.rayt-ref-modal strong{font-size:20px;letter-spacing:1px}.rayt-ref-modal button:not(.rayt-ref-x){width:100%;padding:12px;border:0;border-radius:12px;background:#ffcb36;font-weight:850}.rayt-ref-modal button:nth-last-of-type(1){background:#1d2430;color:white}.rayt-ref-modal small{color:#9299a3;font-size:10px}.rayt-ref-x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:27px}

/* v17.1: explicit account access in simulator profiles and direct ?auth=1 entry. */
.rayt-account-entry{display:flex;align-items:center;justify-content:center;width:100%;margin:9px 0;padding:13px 10px;border:1px solid #f0d37e;border-radius:13px;background:#fff8e5;color:#24252a;font-size:12px;font-weight:850;cursor:pointer}
.rayt-access-shell{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:14px!important;box-sizing:border-box}
.rayt-auth-back{align-self:start;border:0;background:transparent;padding:4px 0 10px;font-size:12px;font-weight:750;color:#657080;text-align:left}
.rayt-auth-tabs button{cursor:pointer}
.rayt-auth-tabs button:focus-visible,.rayt-account-entry:focus-visible{outline:2px solid #e6a500;outline-offset:2px}

/* v17.3 — referral identity in incoming driver request. */
.driver-home-mode .driver-incoming .quick-request.quick-referred{position:relative!important;isolation:isolate!important;border:1.5px solid #e4b53c!important;border-left:4px solid #eebc29!important;background:linear-gradient(112deg,#fff8e4 0%,#fff 55%,#fffdf8 100%)!important;box-shadow:0 4px 17px #e7b73524!important;overflow:hidden!important;animation:rayt-ref-arrival .45s cubic-bezier(.2,.8,.2,1) both!important}
.driver-home-mode .driver-incoming .quick-request.quick-referred::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 22%,#fff9d666 45%,transparent 65%);transform:translateX(-120%);animation:rayt-ref-shine 3.8s ease-in-out .5s 2}
.rayt-ref-signal{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin:0 0 9px;padding:5px 9px 5px 6px;border-radius:99px;background:#fff0bd;color:#70500b;font-size:10px;font-weight:900;letter-spacing:.15px;line-height:1;border:1px solid #f0d67f}
.rayt-ref-signal-spark{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#efba25;color:#fff;font-size:13px;animation:rayt-ref-spark 2.5s ease-in-out infinite}
@keyframes rayt-ref-arrival{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes rayt-ref-spark{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #edba2b35}50%{transform:scale(1.08);box-shadow:0 0 0 5px #edba2b00}}
@keyframes rayt-ref-shine{0%,35%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}
.request-detail .compact-ref{background:#fff0bd!important;border:1px solid #edcf72!important;color:#74520c!important;box-shadow:0 0 0 3px #ffe9a044!important}
.request-detail:has(.compact-ref){border-top:4px solid #f2c335}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming .quick-request.quick-referred,.driver-home-mode .driver-incoming .quick-request.quick-referred::after,.rayt-ref-signal-spark{animation:none!important}}

/* v17.4 — compact editorial request cards, no mini-map. */
.driver-home-mode .driver-incoming.has-incoming .quick-request{padding:12px!important;border:1px solid #e4e7ed!important;border-radius:19px!important;background:#fff!important;box-shadow:0 4px 17px #1b25300c!important}
.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred{border:1.5px solid #e7b83b!important;background:linear-gradient(120deg,#fffaf0,#fff 70%)!important;box-shadow:0 3px 17px #d5a72a22!important}
.driver-home-mode .driver-incoming.has-incoming .rayt-ref-signal{margin:0 0 11px!important;padding:5px 10px 5px 5px!important;font-size:10px!important;border-radius:99px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-body{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(100px,37%)!important;gap:10px!important;align-items:stretch!important;margin:0 0 12px!important}
.driver-home-mode .driver-incoming.has-incoming .compact-route{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:12px!important;min-width:0!important}
.driver-home-mode .driver-incoming.has-incoming .compact-route>div{min-width:0!important;display:flex!important;align-items:flex-start!important;gap:9px!important}
.driver-home-mode .driver-incoming.has-incoming .compact-route strong{font-size:12px!important;line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.driver-home-mode .driver-incoming.has-incoming .compact-route small{font-size:10px!important;color:#8b929e!important;line-height:1.2!important}
.driver-home-mode .driver-incoming.has-incoming .compact-numbers{display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;border-left:1px solid #e8e9ec!important;padding-left:11px!important;gap:10px!important;min-width:0!important}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;padding-bottom:8px!important;border-bottom:1px solid #e9ebef!important;color:#69717c!important;font-size:10px!important;white-space:nowrap!important}
.driver-home-mode .driver-incoming.has-incoming .request-distance{position:static!important;border:0!important;background:none!important;padding:0!important;font-size:11px!important;font-weight:800!important;color:#5a626f!important}
.driver-home-mode .driver-incoming.has-incoming .rayt-request-duration{font-size:10px!important;color:#747d88!important}
.driver-home-mode .driver-incoming.has-incoming .request-fare{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
.driver-home-mode .driver-incoming.has-incoming .request-fare strong{font-size:24px!important;letter-spacing:-.9px!important;line-height:1!important;color:#171d26!important}
.driver-home-mode .driver-incoming.has-incoming .request-fare small{font-size:10px!important;color:#7e8692!important}
.driver-home-mode .driver-incoming.has-incoming .quick-actions{display:grid!important;grid-template-columns:1fr 1.15fr!important;gap:8px!important;margin:0!important}
.driver-home-mode .driver-incoming.has-incoming .quick-actions button{min-width:0!important;min-height:43px!important;border-radius:12px!important;font-size:11px!important;font-weight:850!important;padding:8px 5px!important}
.driver-home-mode .driver-incoming.has-incoming .quick-counter{background:#fff!important;border:1px solid #dce1e9!important;color:#202833!important}
.driver-home-mode .driver-incoming.has-incoming .quick-accept{background-color:#ffca38!important;color:#191d24!important;border:0!important}
@media(max-width:350px){.driver-home-mode .driver-incoming.has-incoming .quick-body{grid-template-columns:minmax(0,1fr) 105px!important;gap:7px!important}.driver-home-mode .driver-incoming.has-incoming .compact-numbers{padding-left:8px!important}.driver-home-mode .driver-incoming.has-incoming .request-fare strong{font-size:21px!important}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred::after{animation:none!important}}

/* v17.5 — Driver request metrics, reference layout (no map). */
.driver-home-mode .driver-incoming.has-incoming .quick-body{
 display:flex!important;flex-direction:column!important;gap:13px!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-route{
 width:100%!important;gap:9px!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-numbers{
 width:100%!important;box-sizing:border-box!important;display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;gap:0!important;
 padding:0!important;border-left:0!important;align-items:stretch!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats{
 display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;
 gap:0!important;padding:0 0 11px!important;margin:0 0 11px!important;
 border-bottom:1px solid #e4e7ec!important;white-space:nowrap!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats>span{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-width:0!important;padding:3px 5px!important;
 box-sizing:border-box!important;color:#58616d!important;font-size:12px!important;
 font-weight:750!important;line-height:1.4!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats>span+span{
 border-left:1px solid #e2e5ea!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-distance{
 position:static!important;background:none!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare{
 display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;
 gap:0!important;width:100%!important;text-align:center!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare strong{
 display:block!important;text-align:center!important;font-size:24px!important;
 font-weight:900!important;line-height:1.2!important;letter-spacing:-.7px!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare small{
 display:flex!important;justify-content:center!important;align-items:center!important;
 min-height:31px!important;padding:3px 5px!important;box-sizing:border-box!important;
 border-left:1px solid #e2e5ea!important;font-size:12px!important;
 font-weight:700!important;color:#626b76!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-request-duration{font-size:12px!important}

/* RAYT v17.6 — compact premium driver requests; two-column information hierarchy */
.driver-home-mode .driver-incoming.has-incoming .quick-request{
 padding:11px 12px 10px!important;border-radius:17px!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-ref-signal{
 margin:0 0 8px!important;padding:4px 8px 4px 4px!important;
 font-size:10px!important;
}
.driver-home-mode .driver-incoming.has-incoming .quick-body{
 display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)!important;
 align-items:center!important;gap:8px!important;margin:0 0 10px!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-route{
 min-width:0!important;width:auto!important;gap:10px!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-route>div{
 gap:7px!important;min-width:0!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-route strong{
 font-size:11px!important;line-height:1.25!important;-webkit-line-clamp:2!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-route small{
 font-size:9px!important;margin-bottom:2px!important;
}
.driver-home-mode .driver-incoming.has-incoming .compact-numbers{
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 min-width:0!important;width:auto!important;border-left:1px solid #e5e7eb!important;
 padding:0 0 0 9px!important;gap:8px!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats{
 display:grid!important;grid-template-columns:1fr 1fr!important;
 gap:0!important;padding:0 0 8px!important;margin:0!important;
 border-bottom:1px solid #e7e9ed!important;white-space:normal!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats>span{
 display:flex!important;justify-content:center!important;align-items:center!important;
 text-align:center!important;padding:2px!important;font-size:10px!important;
 line-height:1.25!important;min-width:0!important;
}
.driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats>span+span{
 border-left:1px solid #e7e9ed!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-distance,
.driver-home-mode .driver-incoming.has-incoming .rayt-request-duration{
 font-size:10px!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare{
 display:grid!important;grid-template-columns:1fr!important;gap:2px!important;
 justify-items:center!important;text-align:center!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare strong{
 font-size:22px!important;letter-spacing:-.7px!important;line-height:1.1!important;
}
.driver-home-mode .driver-incoming.has-incoming .request-fare small{
 border-left:0!important;min-height:0!important;padding:0!important;
 font-size:10px!important;line-height:1.2!important;
}
.driver-home-mode .driver-incoming.has-incoming .quick-actions{
 display:grid!important;grid-template-columns:1fr 1.12fr!important;gap:7px!important;
}
.driver-home-mode .driver-incoming.has-incoming .quick-actions button{
 min-height:39px!important;border-radius:11px!important;font-size:10px!important;
 padding:7px 4px!important;
}
@media(max-width:350px){
 .driver-home-mode .driver-incoming.has-incoming .quick-body{
 grid-template-columns:minmax(0,1fr) minmax(0,.93fr)!important;gap:5px!important;
 }
 .driver-home-mode .driver-incoming.has-incoming .compact-numbers{padding-left:6px!important}
 .driver-home-mode .driver-incoming.has-incoming .request-fare strong{font-size:19px!important}
 .driver-home-mode .driver-incoming.has-incoming .rayt-trip-stats>span{font-size:9px!important}
}

/* v17.7: compact icon-only referral signal */
.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred{position:relative!important;overflow:visible!important;border:1.5px solid #e8bb45!important;box-shadow:0 2px 13px #c9952326!important;animation:rayt-ref-card-enter .48s ease-out both!important}
.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred::after{content:"";position:absolute;inset:-1.5px;border:1.5px solid transparent;border-radius:inherit;pointer-events:none;animation:rayt-ref-border-glow 2.3s ease-out 1 both!important}
.driver-home-mode .driver-incoming.has-incoming .rayt-ref-signal{appearance:none!important;display:grid!important;place-items:center!important;position:absolute!important;top:-11px!important;right:13px!important;width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;padding:0!important;margin:0!important;border:2px solid #fff!important;border-radius:50%!important;background:#d99c12!important;box-shadow:0 2px 9px #b7843255!important;z-index:3!important;cursor:pointer!important}
.driver-home-mode .driver-incoming.has-incoming .rayt-ref-signal-spark{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;border-radius:50%!important;background:transparent!important;color:#fff!important;font-size:16px!important;animation:rayt-ref-icon-pulse 2.8s ease-in-out infinite!important}
@keyframes rayt-ref-card-enter{from{opacity:.75;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes rayt-ref-border-glow{0%{box-shadow:0 0 0 0 #e8b53a77;border-color:#e8b53a}55%{box-shadow:0 0 0 5px #e8b53a22;border-color:#e8b53a}100%{box-shadow:0 0 0 0 #e8b53a00;border-color:transparent}}
@keyframes rayt-ref-icon-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
@media(prefers-reduced-motion:reduce){.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred,.driver-home-mode .driver-incoming.has-incoming .quick-request.quick-referred::after,.driver-home-mode .driver-incoming.has-incoming .rayt-ref-signal-spark{animation:none!important}}

/* v17.8 single-taxi client booking card; no additional vehicle selector */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:48%!important;bottom:var(--client-nav-height,66px)!important;padding:12px 14px 12px!important;display:flex!important;flex-direction:column!important;gap:9px!important;overflow:hidden!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:49%!important}
.rayt-single-taxi{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:7px;min-height:94px;padding:7px 10px;border:1px solid #f3dc9d;border-radius:16px;background:linear-gradient(115deg,#fff9ec,#fff);box-sizing:border-box}
.rayt-single-taxi-art{min-width:0;display:flex;align-items:center;justify-content:center}.rayt-single-taxi-art img{width:100%;max-width:175px;height:91px;object-fit:contain}
.rayt-single-taxi-copy{display:grid;gap:5px;align-content:center;min-width:0}.rayt-single-taxi-copy strong{font-size:13px;letter-spacing:-.25px;color:#20252d}.rayt-single-taxi-copy small{font-size:10px;color:#79818d}.rayt-single-taxi-mark{font-size:10px;font-weight:800;color:#856009}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .sheet-head{margin:0!important;min-height:28px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-trip-metrics{margin:0!important;min-height:35px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .suggested-row{margin:0!important;min-height:49px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice{margin:0!important;min-height:40px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action{margin-top:auto!important;min-height:43px!important}
@media(max-height:690px){.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:43%!important;gap:5px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:44%!important}.rayt-single-taxi{min-height:70px;padding:3px 9px}.rayt-single-taxi-art img{height:65px}}

/* v17.9: one cohesive vehicle/route/offer overview; original controls retained. */
.rayt-single-taxi{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr)!important;gap:0!important;align-items:stretch!important;padding:7px!important;min-height:122px!important;border-radius:16px!important;background:linear-gradient(110deg,#fff9ed,#fff)!important;overflow:hidden!important}
.rayt-single-taxi-art{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;background:linear-gradient(135deg,#fff8e9,#fffdf8)!important}
.rayt-single-taxi-art:before{content:"";position:absolute;inset:8px;background:linear-gradient(90deg,transparent 15%,#e9e2d435 15% 30%,transparent 30% 42%,#e9e2d435 42% 55%,transparent 55% 68%,#e9e2d435 68% 82%,transparent 82%);clip-path:polygon(0 100%,15% 30%,35% 72%,49% 14%,66% 74%,85% 20%,100% 100%);opacity:.45}
.rayt-single-taxi-art img{position:relative!important;width:100%!important;max-width:205px!important;height:116px!important;object-fit:contain!important}
.rayt-single-taxi-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:7px!important;padding:6px 4px 6px 10px!important;border-left:1px solid #e8e3d8!important;min-width:0!important}
.rayt-single-taxi .rayt-trip-metrics{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;min-height:0!important;margin:0!important;padding:0 0 8px!important;border:0!important;border-bottom:1px solid #e6e0d4!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;animation:none!important}
.rayt-single-taxi .rayt-trip-metrics[hidden]{display:none!important}
.rayt-single-taxi .rayt-metric-icon,.rayt-single-taxi .rayt-metric-divider,.rayt-single-taxi .rayt-metric-check{display:none!important}
.rayt-single-taxi .rayt-metric{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important}
.rayt-single-taxi .rayt-metric:before{content:"↗";font-size:13px;color:#555f6a}
.rayt-single-taxi .rayt-metric:nth-of-type(2):before{content:"◷"}
.rayt-single-taxi .rayt-metric strong{font-size:11px!important;white-space:nowrap!important;order:1!important}
.rayt-single-taxi .rayt-metric small{display:none!important}
.rayt-taxi-price{display:flex;align-items:baseline;gap:4px;white-space:nowrap;color:#20242b}.rayt-taxi-price>span{font-size:15px;color:#89929e}.rayt-taxi-price strong{font-size:21px;font-weight:900;letter-spacing:-.7px}.rayt-taxi-price small{font-size:9px;font-weight:800;color:#7c8591}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-single-taxi{min-height:122px!important}
@media(max-height:690px){.rayt-single-taxi-art img{height:91px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-single-taxi{min-height:99px!important}.rayt-single-taxi-copy{gap:3px!important}.rayt-taxi-price strong{font-size:18px!important}}

/* v18.0: photo of the Córdoba taxi, preserving the vehicle's proportions. */
.rayt-single-taxi-art img{object-fit:contain!important;object-position:center center!important;}

/* v18.1 — premium client booking, responsive to real simulator viewport. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:44%!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
 top:43%!important;bottom:var(--client-nav-height,66px)!important;gap:8px!important;
 padding:11px 14px 10px!important;border-radius:25px 25px 0 0!important;
 background:#fff!important;overflow:hidden!important;box-shadow:0 -7px 30px #15202b0d!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .sheet-head h1{font-size:18px!important;letter-spacing:-.55px!important}
.rayt-single-taxi{grid-template-columns:minmax(0,1.17fr) minmax(0,1fr)!important;min-height:130px!important;padding:7px!important;border-radius:17px!important;background:linear-gradient(115deg,#fffaf0,#fff)!important}
.rayt-single-taxi-art{background:transparent!important}
.rayt-single-taxi-art:before{display:none!important}
.rayt-single-taxi-art img{width:100%!important;max-width:215px!important;height:121px!important;object-fit:contain!important;filter:drop-shadow(0 5px 5px #22222215)}
.rayt-single-taxi-copy{gap:9px!important;padding:6px 2px 6px 10px!important}
.rayt-single-taxi .rayt-trip-metrics{gap:8px!important;padding-bottom:10px!important}
.rayt-single-taxi .rayt-metric{gap:6px!important}
.rayt-single-taxi .rayt-metric strong{font-size:12px!important;font-weight:850!important}
.rayt-single-taxi .rayt-metric:nth-of-type(2):before{content:"◷"}
.rayt-taxi-price strong{font-size:23px!important}
.rayt-taxi-price>span{font-size:15px!important}
.rayt-taxi-price small{font-size:10px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .suggested-row.editable-fare{
 display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;
 gap:8px!important;min-height:60px!important;padding:7px 9px!important;margin:0!important;
 border:1px solid #f3dfaa!important;border-radius:15px!important;background:#fffbf3!important;
}
.suggested-row.editable-fare>label{min-width:72px!important}
.suggested-row.editable-fare .fare-edit{min-width:0!important;max-width:none!important;width:100%!important;box-sizing:border-box!important}
.rayt-fare-steppers{display:flex;gap:5px;flex-shrink:0}
.rayt-fare-steppers button{width:29px;height:32px;border:1px solid #e4e7ed;border-radius:50%;background:white;color:#18212c;font-size:19px;font-weight:700;display:grid;place-items:center;box-shadow:0 2px 5px #0000000b}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice{min-height:42px!important;border-radius:13px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action{min-height:45px!important;border-radius:13px!important;margin-top:auto!important}
@media(max-width:365px){.rayt-fare-steppers button{width:26px;height:30px}.suggested-row.editable-fare>label{min-width:65px!important}.rayt-single-taxi-art img{height:105px!important}.rayt-single-taxi{min-height:112px!important}}
@media(max-height:690px){.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:38%!important;gap:5px!important;padding-top:8px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:39%!important}.rayt-single-taxi{min-height:103px!important}.rayt-single-taxi-art img{height:96px!important}.rayt-single-taxi-copy{gap:3px!important}.rayt-single-taxi .rayt-trip-metrics{gap:3px!important;padding-bottom:5px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .suggested-row.editable-fare{min-height:50px!important}}
@media(prefers-reduced-motion:reduce){.rayt-fare-steppers button{transition:none!important}}

/* v18.2: route metrics over map, compact booking controls */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:59%!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:58%!important;bottom:var(--client-nav-height,66px)!important;gap:9px!important;padding:11px 14px 12px!important;overflow:hidden!important}
.rayt-map-route-summary{position:absolute;left:50%;top:calc(50% + 14px);transform:translate(-50%,-50%);z-index:460;pointer-events:none;max-width:calc(100% - 36px)}
.rayt-map-route-summary .rayt-trip-metrics{display:flex!important;align-items:center!important;gap:8px!important;width:max-content!important;max-width:100%!important;margin:0!important;padding:9px 13px!important;border-radius:999px!important;background:#1d2530!important;color:#fff!important;border:1px solid #ffffff30!important;box-shadow:0 5px 19px #11182736!important;min-height:0!important}
.rayt-map-route-summary .rayt-trip-metrics[hidden]{display:none!important}
.rayt-map-route-summary .rayt-metric{display:flex!important;align-items:center!important;gap:4px!important}
.rayt-map-route-summary .rayt-metric strong{color:#fff!important;font-size:13px!important;white-space:nowrap!important}
.rayt-map-route-summary .rayt-metric small,.rayt-map-route-summary .rayt-metric-check{display:none!important}
.rayt-map-route-summary .rayt-metric-icon{color:#ffcb35!important;font-size:16px!important}
.rayt-map-route-summary .rayt-metric-divider{height:14px!important;background:#ffffff50!important}
.rayt-single-taxi{display:flex!important;align-items:center!important;justify-content:center!important;min-height:68px!important;height:68px!important;padding:3px 10px!important;border-radius:15px!important;background:linear-gradient(105deg,#fffaf0,#fff)!important}
.rayt-single-taxi-art{width:100%!important;max-width:170px!important}
.rayt-single-taxi-art img{height:64px!important;max-width:150px!important;object-fit:contain!important}
.rayt-single-taxi-copy{display:none!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .suggested-row.editable-fare{min-height:58px!important}
@media(max-height:690px){.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:51%!important;gap:6px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:52%!important}.rayt-single-taxi{height:52px!important;min-height:52px!important}.rayt-single-taxi-art img{height:49px!important}}

/* RAYT 18.5 — booking panel, one hero instead of stacked cards */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
 top:49%!important;bottom:var(--client-nav-height,66px)!important;display:flex!important;flex-direction:column!important;
 gap:12px!important;padding:13px 15px 14px!important;background:#fff!important;
 border-radius:25px 25px 0 0!important;overflow:hidden!important;box-shadow:0 -8px 32px #17202a16!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:50%!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .sheet-head{margin:0!important;min-height:26px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .sheet-head h1{font-size:20px!important;letter-spacing:-.7px!important}
.rayt-booking-offer{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch;gap:0;min-height:120px;max-height:138px;border:1px solid #f2d996;border-radius:19px;background:linear-gradient(115deg,#fff5dc 0%,#fffbf3 46%,#fff 100%);overflow:hidden;box-shadow:0 6px 16px #bd9b4d0c}
.rayt-booking-vehicle{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:8px 3px 7px 8px;gap:2px}
.rayt-booking-vehicle-label{align-self:flex-start;padding:4px 7px;border-radius:6px;background:#ffe39a;font-size:8px;font-weight:950;letter-spacing:1px;color:#624500}
.rayt-booking-vehicle img{width:100%;height:87px;object-fit:contain;filter:drop-shadow(0 5px 3px #11111120)}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-booking-offer .suggested-row.editable-fare{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:7px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:10px 11px!important;background:transparent!important;border:0!important;border-left:1px solid #f1e1bd!important;border-radius:0!important;box-shadow:none!important}
.rayt-booking-offer .suggested-row.editable-fare>label{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:4px!important;font-size:12px!important;font-weight:900!important;min-width:0!important}
.rayt-booking-offer .suggested-row.editable-fare>label small{display:none!important}
.rayt-booking-offer .suggested-row.editable-fare .fare-edit{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:34px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.rayt-booking-offer .fare-edit>span:first-child{font-size:24px!important;font-weight:900!important}
.rayt-booking-offer .fare-edit input{font-size:24px!important;font-weight:900!important;min-width:0!important;width:100%!important;max-width:none!important;padding:0 2px!important}
.rayt-booking-offer .fare-currency{font-size:10px!important;color:#7c838d!important}
.rayt-booking-offer .rayt-fare-steppers{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important}
.rayt-booking-offer .rayt-fare-steppers button{width:100%!important;height:31px!important;border-radius:10px!important;background:white!important;border:1px solid #ead8ac!important;box-shadow:0 2px 4px #3020100a!important;font-size:20px!important;font-weight:750!important}
.rayt-booking-offer .rayt-fare-steppers button:last-child{background:#ffcc39!important;border-color:#ffcc39!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice{min-height:46px!important;margin:0!important;padding:0 13px!important;border-radius:13px!important;border:1px solid #e5e8ef!important;background:#f9fafc!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action{margin-top:auto!important;min-height:49px!important;border-radius:13px!important;background:linear-gradient(105deg,#ffdc66,#ffbd20)!important;color:#181b20!important;font-weight:900!important;box-shadow:0 6px 15px #ffbd2030!important}
@media(max-height:690px){.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{top:45%!important;gap:7px!important;padding-top:9px!important}.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .client-map{height:46%!important}.rayt-booking-offer{min-height:99px;max-height:110px}.rayt-booking-vehicle img{height:65px}.rayt-booking-offer .suggested-row.editable-fare{gap:3px!important;padding:6px 9px!important}}
@media(max-width:345px){.rayt-booking-offer{grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr)}.rayt-booking-vehicle img{height:70px}}

/* RAYT 18.6 · Refined booking surface. Scoped to initial client booking only. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
 gap:11px!important;padding:15px 16px 13px!important;background:#fff!important;
 box-shadow:0 -12px 38px rgba(21,29,40,.09)!important;border-radius:26px 26px 0 0!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .sheet-head h1{
 font-size:20px!important;font-weight:850!important;letter-spacing:-.75px!important;color:#18202a!important;
}
.rayt-booking-offer{
 grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr)!important;
 min-height:126px!important;max-height:140px!important;
 background:#fbfaf7!important;border:1px solid #eae5da!important;border-radius:18px!important;
 box-shadow:0 3px 12px rgba(29,33,39,.035)!important;
}
.rayt-booking-vehicle{padding:10px 6px 7px 10px!important;gap:0!important}
.rayt-booking-vehicle-label{background:transparent!important;color:#7a7160!important;
 padding:0!important;font-size:9px!important;letter-spacing:1.1px!important;font-weight:850!important}
.rayt-booking-vehicle img{height:89px!important;max-width:100%!important;filter:drop-shadow(0 6px 5px rgba(29,33,39,.12))!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-booking-offer .suggested-row.editable-fare{
 border-left:1px solid #eae5da!important;padding:12px 12px!important;gap:8px!important;
}
.rayt-booking-offer .suggested-row.editable-fare>label{font-size:11px!important;color:#69717d!important;font-weight:750!important}
.rayt-booking-offer .fare-edit>span:first-child,.rayt-booking-offer .fare-edit input{
 color:#19212b!important;font-size:25px!important;font-weight:850!important;letter-spacing:-.9px!important;
}
.rayt-booking-offer .fare-currency{font-size:10px!important;color:#8b929d!important;letter-spacing:.2px!important}
.rayt-booking-offer .rayt-fare-steppers{gap:8px!important}
.rayt-booking-offer .rayt-fare-steppers button{
 height:34px!important;border-radius:9px!important;background:#fff!important;
 border:1px solid #e0e3e9!important;box-shadow:0 1px 3px rgba(21,29,40,.04)!important;
 color:#202833!important;font-size:21px!important;transition:transform .12s ease,background .12s ease!important;
}
.rayt-booking-offer .rayt-fare-steppers button:last-child{
 background:#ffcc42!important;border-color:#ffcc42!important;box-shadow:none!important;
}
.rayt-booking-offer .rayt-fare-steppers button:active{transform:scale(.96)!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice{
 background:#fff!important;border:1px solid #e6e8ec!important;min-height:46px!important;
 border-radius:13px!important;padding:0 13px!important;box-shadow:0 2px 7px rgba(22,30,40,.025)!important;
 color:#3b4653!important;font-weight:700!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice select{
 font-weight:800!important;color:#1d2630!important;background-color:transparent!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action{
 background:#ffca38!important;color:#19212b!important;border:0!important;border-radius:13px!important;
 min-height:49px!important;font-size:13px!important;font-weight:900!important;letter-spacing:-.1px!important;
 box-shadow:0 5px 13px rgba(235,173,30,.17)!important;transition:transform .12s ease,filter .12s ease!important;
}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action:active{transform:scale(.99)!important;filter:brightness(.97)!important}
@media(max-height:690px){
 .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{gap:7px!important;padding:10px 13px!important}
 .rayt-booking-offer{min-height:101px!important;max-height:109px!important}
 .rayt-booking-vehicle img{height:67px!important}
 .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .rayt-booking-offer .suggested-row.editable-fare{gap:4px!important;padding:7px 10px!important}
}
@media(prefers-reduced-motion:reduce){.rayt-booking-offer .rayt-fare-steppers button,.booking-sheet .booking-action{transition:none!important}}

/* RAYT 18.7 | Premium motion system — initial client booking only */
@keyframes rayt87-sheet-in{from{opacity:.65;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes rayt87-hero-in{from{opacity:0;transform:translateY(9px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rayt87-taxi-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes rayt87-light{0%,62%{transform:translateX(-165%) skewX(-17deg)}90%,100%{transform:translateX(230%) skewX(-17deg)}}
@keyframes rayt87-cta-breathe{0%,100%{box-shadow:0 5px 13px rgba(235,173,30,.16)}50%{box-shadow:0 7px 19px rgba(235,173,30,.29)}}
@keyframes rayt87-tap{0%{transform:scale(1)}50%{transform:scale(.94)}100%{transform:scale(1)}}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
 background:linear-gradient(180deg,#fff 0%,#fff 78%,#fffefa 100%)!important;
 box-shadow:0 -12px 38px rgba(16,24,34,.12)!important;
 animation:rayt87-sheet-in .42s cubic-bezier(.2,.8,.2,1) both;
}
.booking-sheet .sheet-handle{background:#c7cbd1!important;width:35px!important;height:4px!important;border-radius:8px!important}
.booking-sheet .sheet-head h1{font-weight:900!important;letter-spacing:-.8px!important}
.rayt-booking-offer{
 position:relative!important;isolation:isolate!important;
 border:1px solid #e9dfca!important;
 background:linear-gradient(125deg,#fff5de 0%,#fffaf0 45%,#fff 100%)!important;
 box-shadow:0 8px 22px rgba(85,64,26,.065),inset 0 1px rgba(255,255,255,.9)!important;
 animation:rayt87-hero-in .45s .08s cubic-bezier(.2,.8,.2,1) both;
}
.rayt-booking-offer:before{content:"";position:absolute;z-index:-1;left:-26px;top:16px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#ffdb7c5c,transparent 70%);pointer-events:none}
.rayt-booking-offer:after{content:"";position:absolute;inset:0;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.43),transparent);animation:rayt87-light 7s ease-in-out 1.5s infinite}
.rayt-booking-vehicle img{animation:rayt87-taxi-float 4s ease-in-out infinite;filter:drop-shadow(0 8px 6px rgba(26,31,38,.16))!important}
.rayt-booking-vehicle-label{font-size:9px!important;letter-spacing:1.25px!important;color:#8d6a24!important}
.rayt-booking-offer .suggested-row.editable-fare>label{color:#7c6a4b!important;letter-spacing:.15px!important}
.rayt-booking-offer .fare-edit{border-bottom:1px solid #e8ddc9!important;border-radius:0!important;padding-bottom:3px!important}
.rayt-booking-offer .fare-edit input:focus{outline:0!important;background:#fff9e9!important;border-radius:5px!important}
.rayt-booking-offer .rayt-fare-steppers button{cursor:pointer!important;touch-action:manipulation!important}
.rayt-booking-offer .rayt-fare-steppers button:first-child{background:#fff!important;border-color:#dededc!important}
.rayt-booking-offer .rayt-fare-steppers button:last-child{background:#ffd049!important;border-color:#ffd049!important;box-shadow:0 3px 9px #dba82328!important}
.rayt-booking-offer .rayt-fare-steppers button:active{animation:rayt87-tap .2s ease!important}
.rayt-booking-offer .rayt-fare-steppers button:focus-visible,.booking-sheet .booking-action:focus-visible,.booking-sheet .pay-choice select:focus-visible{outline:2px solid #e9aa0c!important;outline-offset:3px!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .pay-choice{
 border-color:#e9e9e9!important;box-shadow:0 4px 12px rgba(22,29,38,.035)!important;transition:border-color .2s,box-shadow .2s!important}
.booking-sheet .pay-choice:focus-within{border-color:#e4bb56!important;box-shadow:0 0 0 3px #ffdb7836!important}
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-action{
 position:relative!important;overflow:hidden!important;
 background:linear-gradient(105deg,#ffd963 0%,#ffc633 75%,#ffbd24 100%)!important;
 animation:rayt87-cta-breathe 3.5s ease-in-out infinite;
 transition:transform .16s,filter .16s!important}
.booking-sheet .booking-action:after{content:"";position:absolute;inset:0;width:35%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff65,transparent);animation:rayt87-light 6s ease-in-out 2s infinite}
.booking-sheet .booking-action:active{transform:scale(.985)!important;filter:brightness(.98)!important}
@media(hover:hover){.rayt-booking-offer .rayt-fare-steppers button:hover{filter:brightness(.975)!important;transform:translateY(-1px)!important}.booking-sheet .booking-action:hover{filter:brightness(1.025)!important;transform:translateY(-1px)!important}}
@media(prefers-reduced-motion:reduce){
 .booking-sheet,.rayt-booking-offer,.rayt-booking-vehicle img,.rayt-booking-offer:after,.booking-sheet .booking-action,.booking-sheet .booking-action:after{animation:none!important}
 .rayt-booking-offer .rayt-fare-steppers button,.booking-sheet .booking-action{transition:none!important}
}

/* v18.8: two-phase booking based on actual calculated route */
@keyframes rayt88-ring{0%{transform:translate(-50%,-50%) scale(.75);opacity:.6}75%,100%{transform:translate(-50%,-50%) scale(1.35);opacity:0}}
@keyframes rayt88-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.booking-sheet .rayt-booking-vehicle{position:relative!important;isolation:isolate!important}
.booking-sheet .rayt-awaiting-halo{display:none;position:absolute;z-index:-1;inset:0;pointer-events:none}
.booking-sheet .rayt-awaiting-halo i{position:absolute;left:50%;top:54%;width:95px;height:65px;border:1.5px solid #e7b94d;border-radius:50%;animation:rayt88-ring 3.6s ease-out infinite}
.booking-sheet .rayt-awaiting-halo i:nth-child(2){animation-delay:1.2s}
.booking-sheet .rayt-awaiting-halo i:nth-child(3){animation-delay:2.4s}
.booking-sheet.rayt-route-awaiting .rayt-booking-offer{display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 150px!important;max-height:210px!important;min-height:130px!important;background:radial-gradient(ellipse at 50% 60%,#fff1c7 0%,#fff9eb 47%,#fff 100%)!important;border:1px solid #f0e5ca!important}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle{width:100%!important;height:100%!important;justify-content:center!important;padding:8px!important}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle img{height:100%!important;max-height:150px!important;max-width:260px!important;position:relative;z-index:1}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle-label{align-self:center!important;position:absolute;top:10px;font-size:9px!important}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-halo{display:block}
.booking-sheet.rayt-route-awaiting .suggested-row.editable-fare{display:none!important}
.booking-sheet.rayt-route-ready .suggested-row.editable-fare{animation:rayt88-reveal .3s ease-out both}
.booking-sheet.rayt-route-ready .rayt-awaiting-halo{display:none}
.booking-sheet.rayt-route-awaiting .booking-action{opacity:.83!important}
@media(max-height:690px){.booking-sheet.rayt-route-awaiting .rayt-booking-offer{min-height:105px!important;max-height:165px!important}.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle img{max-height:112px!important}}
@media(prefers-reduced-motion:reduce){.booking-sheet .rayt-awaiting-halo i,.booking-sheet.rayt-route-ready .suggested-row.editable-fare{animation:none!important}}

/* RAYT 18.9 — FINAL booking sheet states. Deliberately overrides v18.8. */
@keyframes rayt89-ring{
  0%{transform:translate(-50%,-50%) scale(.72);opacity:.42}
  72%,100%{transform:translate(-50%,-50%) scale(1.38);opacity:0}
}
@keyframes rayt89-car{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes rayt89-copy{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes rayt89-ready{
  from{opacity:0;transform:translateX(7px)}
  to{opacity:1;transform:translateX(0)}
}

/* Common clean sheet */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
  gap:10px!important;
  padding:13px 15px 13px!important;
  background:#fff!important;
  border-radius:27px 27px 0 0!important;
  box-shadow:0 -10px 34px rgba(19,27,37,.10)!important;
}
.booking-sheet .sheet-head{margin:0!important;min-height:27px!important}
.booking-sheet .sheet-head h1{
  margin:0!important;font-size:20px!important;line-height:1.15!important;
  font-weight:900!important;letter-spacing:-.75px!important;color:#17202a!important;
}

/* WAITING: this is NOT a fare card. It is a visual hero. */
.booking-sheet.rayt-route-awaiting .rayt-booking-offer{
  position:relative!important;
  display:flex!important;
  flex:1 1 auto!important;
  min-height:190px!important;
  max-height:none!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:21px!important;
  background:
    radial-gradient(circle at 50% 39%,rgba(255,205,64,.20) 0 22%,rgba(255,230,157,.10) 39%,transparent 64%),
    linear-gradient(180deg,#fffdfa 0%,#fff 100%)!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-awaiting .rayt-booking-offer:before,
.booking-sheet.rayt-route-awaiting .rayt-booking-offer:after{display:none!important}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle{
  position:relative!important;z-index:1!important;
  display:flex!important;flex-direction:column!important;
  width:100%!important;height:100%!important;
  align-items:center!important;justify-content:flex-start!important;
  padding:12px 8px 9px!important;box-sizing:border-box!important;
}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle-label{display:none!important}
.booking-sheet.rayt-route-awaiting .rayt-booking-vehicle img{
  position:relative!important;z-index:2!important;
  width:72%!important;max-width:225px!important;
  height:108px!important;max-height:none!important;
  object-fit:contain!important;
  margin:8px auto 2px!important;
  filter:drop-shadow(0 10px 7px rgba(24,31,40,.16))!important;
  animation:rayt89-car 4s ease-in-out infinite!important;
}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-halo{
  display:block!important;position:absolute!important;z-index:0!important;
  left:50%!important;top:65px!important;width:1px!important;height:1px!important;
  inset:auto!important;pointer-events:none!important;
}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-halo i{
  position:absolute!important;left:0!important;top:0!important;
  width:112px!important;height:72px!important;
  border:1px solid rgba(225,168,33,.42)!important;
  border-radius:50%!important;
  animation:rayt89-ring 3.8s ease-out infinite!important;
}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-halo i:nth-child(2){animation-delay:1.9s!important}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-copy{
  display:grid!important;gap:3px!important;text-align:center!important;
  margin-top:1px!important;animation:rayt89-copy .42s .12s both!important;
}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-copy strong{
  font-size:13px!important;line-height:1.2!important;font-weight:900!important;
  letter-spacing:-.25px!important;color:#1d2630!important;
}
.booking-sheet.rayt-route-awaiting .rayt-awaiting-copy small{
  font-size:10px!important;line-height:1.3!important;color:#8a919b!important;font-weight:600!important;
}
.booking-sheet.rayt-route-awaiting .suggested-row.editable-fare{display:none!important}

/* Payment remains available, but is visually quiet. */
.booking-sheet.rayt-route-awaiting .pay-choice,
.booking-sheet.rayt-route-ready .pay-choice{
  min-height:46px!important;margin:0!important;padding:0 13px!important;
  border:1px solid #e7e9ed!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 3px 11px rgba(24,31,40,.035)!important;
}

/* Waiting CTA: intentionally inactive and unmistakable. */
.booking-sheet.rayt-route-awaiting .booking-action,
.booking-sheet .booking-action:disabled{
  min-height:48px!important;margin-top:0!important;
  background:#eef0f3!important;color:#9299a3!important;
  border:0!important;border-radius:14px!important;
  box-shadow:none!important;opacity:1!important;
  animation:none!important;cursor:default!important;
}
.booking-sheet.rayt-route-awaiting .booking-action:after,
.booking-sheet .booking-action:disabled:after{display:none!important}

/* READY: taxi + recommended offer become one compact, intentional unit. */
.booking-sheet.rayt-route-ready .rayt-booking-offer{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  min-height:124px!important;max-height:140px!important;
  border:1px solid #e9dfca!important;border-radius:19px!important;
  background:linear-gradient(125deg,#fff6df 0%,#fffaf1 47%,#fff 100%)!important;
  box-shadow:0 7px 20px rgba(72,55,25,.055)!important;
  overflow:hidden!important;
}
.booking-sheet.rayt-route-ready .rayt-booking-vehicle{
  justify-content:center!important;padding:8px!important;
}
.booking-sheet.rayt-route-ready .rayt-booking-vehicle img{
  height:87px!important;max-width:100%!important;
  animation:rayt89-car 4.2s ease-in-out infinite!important;
}
.booking-sheet.rayt-route-ready .rayt-booking-vehicle-label{
  display:block!important;align-self:flex-start!important;
  color:#8c6a26!important;background:transparent!important;padding:0!important;
  font-size:8px!important;letter-spacing:1.1px!important;
}
.booking-sheet.rayt-route-ready .rayt-awaiting-copy{display:none!important}
.booking-sheet.rayt-route-ready .suggested-row.editable-fare{
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  gap:7px!important;margin:0!important;padding:10px 11px!important;
  border:0!important;border-left:1px solid #eadfca!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  animation:rayt89-ready .3s ease-out both!important;
}
.booking-sheet.rayt-route-ready .booking-action{
  min-height:49px!important;margin-top:auto!important;
  background:linear-gradient(105deg,#ffd963 0%,#ffc633 75%,#ffbd24 100%)!important;
  color:#19212b!important;border:0!important;border-radius:14px!important;
  font-weight:900!important;box-shadow:0 6px 15px rgba(235,173,30,.20)!important;
}

/* The old generic hero decoration must never leak into the final waiting state. */
.booking-sheet.rayt-route-awaiting .rayt-fare-steppers,
.booking-sheet.rayt-route-awaiting .fare-edit{display:none!important}

@media(max-height:690px){
  .booking-sheet.rayt-route-awaiting .rayt-booking-offer{min-height:145px!important}
  .booking-sheet.rayt-route-awaiting .rayt-booking-vehicle img{height:82px!important;margin-top:2px!important}
  .booking-sheet.rayt-route-awaiting .rayt-awaiting-halo{top:49px!important}
  .booking-sheet.rayt-route-awaiting .rayt-awaiting-copy strong{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
  .booking-sheet.rayt-route-awaiting .rayt-booking-vehicle img,
  .booking-sheet.rayt-route-awaiting .rayt-awaiting-halo i,
  .booking-sheet.rayt-route-awaiting .rayt-awaiting-copy,
  .booking-sheet.rayt-route-ready .rayt-booking-vehicle img,
  .booking-sheet.rayt-route-ready .suggested-row.editable-fare{animation:none!important}
}

/* RAYT 19.0 — hard reset of the initial booking visual.
   IDs intentionally beat all legacy booking overrides. */

/* ---------- NO ROUTE ---------- */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  display:block!important;
  position:relative!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:142px!important;
  max-height:168px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 43%,rgba(255,202,56,.20) 0 18%,rgba(255,226,142,.10) 34%,rgba(255,255,255,0) 63%),
    #fff!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer::before,
.booking-sheet.rayt-route-awaiting #rayt-booking-offer::after{display:none!important}

.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  display:grid!important;
  grid-template-rows:92px auto!important;
  place-items:center!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:142px!important;
  margin:0!important;
  padding:5px 8px 7px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle-label{display:none!important}

.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  display:block!important;
  position:relative!important;
  z-index:3!important;
  grid-row:1!important;
  align-self:end!important;
  width:170px!important;
  height:88px!important;
  max-width:70%!important;
  max-height:88px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:drop-shadow(0 8px 6px rgba(18,26,36,.17))!important;
  animation:rayt89-car 4s ease-in-out infinite!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:55px!important;
  right:auto!important;bottom:auto!important;
  width:1px!important;height:1px!important;
  pointer-events:none!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo i{
  display:block!important;
  position:absolute!important;
  left:0!important;top:0!important;
  width:116px!important;height:60px!important;
  margin:0!important;
  border:1px solid rgba(218,158,20,.36)!important;
  border-radius:50%!important;
  background:transparent!important;
  animation:rayt89-ring 3.8s ease-out infinite!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo i:nth-child(2){animation-delay:1.9s!important}

.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  display:grid!important;
  grid-row:2!important;
  gap:2px!important;
  position:relative!important;
  z-index:4!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy strong{
  display:block!important;
  color:#18212b!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.25px!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy small{
  display:block!important;
  color:#8b929c!important;
  font-size:10px!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* This is the key fix: the fare controls do not exist visually until a route is ready. */
.booking-sheet.rayt-route-awaiting #rayt-fare-editor{
  display:none!important;
  position:absolute!important;
  width:0!important;height:0!important;
  overflow:hidden!important;
}

/* Keep both persistent actions in the viewport. */
.booking-sheet.rayt-route-awaiting .pay-choice{
  flex:0 0 46px!important;
  min-height:46px!important;
}
.booking-sheet.rayt-route-awaiting #rayt-request-taxi{
  display:flex!important;
  flex:0 0 48px!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  background:#eef0f3!important;
  color:#8f97a2!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  opacity:1!important;
}

/* ---------- ROUTE READY ---------- */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  align-items:stretch!important;
  width:100%!important;
  min-height:124px!important;
  max-height:138px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #e9dfca!important;
  border-radius:19px!important;
  overflow:hidden!important;
  background:linear-gradient(125deg,#fff6df 0%,#fffaf1 47%,#fff 100%)!important;
  box-shadow:0 7px 20px rgba(72,55,25,.055)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor{
  display:flex!important;
  position:static!important;
  width:auto!important;height:auto!important;
  overflow:visible!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  padding:10px 11px!important;
  border:0!important;
  border-left:1px solid #eadfca!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 49px!important;min-height:49px!important;margin:0!important;
  background:linear-gradient(105deg,#ffd963 0%,#ffc633 75%,#ffbd24 100%)!important;
  color:#19212b!important;border:0!important;border-radius:14px!important;
  box-shadow:0 6px 15px rgba(235,173,30,.20)!important;opacity:1!important;
}

/* Small simulator heights: still keep CTA visible. */
@media(max-height:690px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer{
    min-height:118px!important;max-height:132px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
    min-height:118px!important;grid-template-rows:73px auto!important;padding-top:2px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:145px!important;height:69px!important;max-height:69px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{top:42px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy strong{font-size:12px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy small{font-size:9px!important}
}

/* RAYT 19.1 — optical centering of the no-route hero */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  display:grid!important;
  place-items:center!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  grid-template-rows:94px auto!important;
  justify-items:center!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:300px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  justify-self:center!important;
  align-self:end!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform-origin:center center!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  justify-self:center!important;
  align-self:start!important;
  width:100%!important;
  max-width:260px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{
  left:50%!important;
  transform:translateX(0)!important;
}
@media(max-height:690px){
 .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
   grid-template-rows:75px auto!important;
 }
}

/* RAYT 19.2 — true viewport-centered no-route hero.
   Override inherited grid columns from .rayt-booking-offer. */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:4px 0 8px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  display:block!important;
  flex:0 0 auto!important;
  width:170px!important;
  height:88px!important;
  max-width:70%!important;
  margin:0 auto 3px!important;
  align-self:center!important;
  justify-self:auto!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
  align-self:center!important;
  justify-self:auto!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy strong,
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy small{
  width:100%!important;
  text-align:center!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{
  left:50%!important;
  top:54px!important;
  margin:0!important;
  transform:none!important;
}
@media(max-height:690px){
 .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
   width:145px!important;height:70px!important;margin-bottom:2px!important;
 }
 .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{top:43px!important}
}

/* RAYT 19.3 — taxi clearly above the no-route message */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  justify-content:flex-start!important;
  padding-top:8px!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  order:1!important;
  width:175px!important;
  height:90px!important;
  margin:0 auto 10px!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  order:2!important;
  margin:0 auto!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{
  top:53px!important;
}
@media(max-height:690px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
    padding-top:3px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:150px!important;height:72px!important;margin-bottom:6px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{top:42px!important}
}

/* RAYT 19.4 — larger taxi, copy position preserved */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  position:relative!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  width:220px!important;
  height:112px!important;
  max-width:82%!important;
  max-height:112px!important;
  margin:0 auto -12px!important; /* grows downward into the existing gap; copy stays put */
  transform:translateY(-10px)!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  position:relative!important;
  z-index:5!important;
  margin:0 auto!important;
  transform:none!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{
  top:48px!important;
}
@media(max-height:690px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:185px!important;
    height:91px!important;
    max-height:91px!important;
    margin-bottom:-9px!important;
    transform:translateY(-7px)!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo{top:39px!important}
}

/* RAYT 19.5 — responsive no-route sheet.
   Goal: CTA always complete, no dead gap below it, hero scales with viewport. */

/* Use the entire area between map and bottom nav. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  bottom:var(--client-nav-height,66px)!important;
  padding:12px 15px 10px!important;
  gap:8px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}

/* Hero takes only the flexible leftover space. */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:hidden!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  min-height:0!important;
  height:100%!important;
  padding:2px 0 3px!important;
  justify-content:center!important;
}

/* Fluid vehicle size: large on tall phones, restrained on short ones. */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  width:clamp(145px,58vw,220px)!important;
  height:clamp(70px,13.5vh,112px)!important;
  max-width:82%!important;
  max-height:112px!important;
  margin:0 auto clamp(-10px,-1.2vh,-5px)!important;
  transform:translateY(clamp(-9px,-1vh,-4px))!important;
  object-fit:contain!important;
}

/* Persistent controls never shrink or get clipped. */
.booking-sheet.rayt-route-awaiting .pay-choice{
  flex:0 0 44px!important;
  min-height:44px!important;
  height:44px!important;
  box-sizing:border-box!important;
}
.booking-sheet.rayt-route-awaiting #rayt-request-taxi{
  flex:0 0 47px!important;
  min-height:47px!important;
  height:47px!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Bottom of CTA sits naturally against the sheet padding, eliminating dead space. */
.booking-sheet.rayt-route-awaiting #rayt-request-taxi:last-child{
  margin-bottom:0!important;
}

/* Medium-height phones */
@media (max-height:760px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
    padding-top:10px!important;gap:6px!important;
  }
  .booking-sheet.rayt-route-awaiting .sheet-head{min-height:24px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:clamp(140px,53vw,190px)!important;
    height:clamp(67px,11.5vh,90px)!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy strong{font-size:12px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy small{font-size:9px!important}
}

/* Short phones: prioritize controls; hero compresses instead of pushing CTA below viewport. */
@media (max-height:650px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
    padding:7px 13px 7px!important;gap:4px!important;
  }
  .booking-sheet.rayt-route-awaiting .sheet-head{min-height:21px!important}
  .booking-sheet.rayt-route-awaiting .sheet-head h1{font-size:17px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:145px!important;height:64px!important;max-height:64px!important;
    margin-bottom:-5px!important;transform:translateY(-3px)!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy strong{font-size:11px!important}
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy small{font-size:8px!important}
  .booking-sheet.rayt-route-awaiting .pay-choice{flex-basis:40px!important;min-height:40px!important;height:40px!important}
  .booking-sheet.rayt-route-awaiting #rayt-request-taxi{flex-basis:43px!important;min-height:43px!important;height:43px!important}
}

/* Narrow devices */
@media (max-width:350px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:min(165px,68vw)!important;
  }
}

/* RAYT 19.6 — route-ready transformation:
   waiting hero -> fare on left + taxi on right */
@keyframes rayt196-taxi-right{
  0%{opacity:1;transform:translateX(-38px) scale(1.12)}
  55%{opacity:1;transform:translateX(7px) scale(.96)}
  100%{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes rayt196-fare-left{
  0%{opacity:0;transform:translateX(-18px)}
  100%{opacity:1;transform:translateX(0)}
}
@keyframes rayt196-ready-card{
  from{box-shadow:0 2px 8px rgba(72,55,25,.02)}
  to{box-shadow:0 7px 20px rgba(72,55,25,.055)}
}

/* Once route is calculated, remove waiting-only content completely. */
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-awaiting-copy,
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-awaiting-halo{
  display:none!important;
}

/* Reverse the visual hierarchy: fare LEFT, taxi RIGHT. */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
  grid-template-areas:"fare taxi"!important;
  align-items:stretch!important;
  min-height:124px!important;
  max-height:140px!important;
  background:linear-gradient(110deg,#fff 0%,#fffaf0 55%,#fff4d8 100%)!important;
  border:1px solid #e9dfca!important;
  border-radius:19px!important;
  overflow:hidden!important;
  animation:rayt196-ready-card .35s ease-out both!important;
}

/* Fare enters from the left. */
.booking-sheet.rayt-route-ready #rayt-fare-editor{
  grid-area:fare!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 12px!important;
  border:0!important;
  border-right:1px solid #eadfca!important;
  border-left:0!important;
  background:transparent!important;
  animation:rayt196-fare-left .38s .08s cubic-bezier(.2,.8,.2,1) both!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor>label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#7b6b4d!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.15px!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor>label small{display:none!important}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  height:34px!important;
  min-width:0!important;
  padding:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid #e7ddc8!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child,
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  font-size:24px!important;
  font-weight:900!important;
  color:#19212b!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  width:100%!important;min-width:0!important;padding:0 3px!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-currency{
  font-size:9px!important;font-weight:800!important;color:#8d949e!important;
}

/* Premium +/- controls, still compact. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  width:100%!important;height:31px!important;
  display:grid!important;place-items:center!important;
  border-radius:9px!important;
  border:1px solid #e1e3e7!important;
  background:#fff!important;color:#1b232d!important;
  font-size:20px!important;font-weight:750!important;
  box-shadow:0 2px 5px rgba(22,28,36,.04)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:last-child{
  background:#ffcd42!important;border-color:#ffcd42!important;
  box-shadow:0 3px 8px rgba(219,168,35,.18)!important;
}

/* Taxi travels to the right when the ready class is applied. */
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
  grid-area:taxi!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;height:100%!important;
  margin:0!important;padding:8px 6px!important;
  box-sizing:border-box!important;
}
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle-label{
  display:none!important;
}
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
  display:block!important;
  width:100%!important;
  max-width:145px!important;
  height:92px!important;
  max-height:92px!important;
  margin:0!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 6px rgba(20,28,38,.16))!important;
  animation:rayt196-taxi-right .48s cubic-bezier(.2,.85,.2,1) both!important;
}

/* Keep payment + CTA fixed below transformation. */
.booking-sheet.rayt-route-ready .pay-choice{
  flex:0 0 44px!important;min-height:44px!important;height:44px!important;
}
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  flex:0 0 48px!important;min-height:48px!important;height:48px!important;margin:0!important;
}

/* Responsive ready-state: controls never get pushed out. */
@media(max-height:690px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    min-height:105px!important;max-height:116px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor{gap:4px!important;padding:7px 10px!important}
  .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child,
  .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{font-size:21px!important}
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{height:27px!important}
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    max-width:120px!important;height:75px!important;max-height:75px!important;
  }
}
@media(max-width:350px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;
  }
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{max-width:105px!important}
}
@media(prefers-reduced-motion:reduce){
  .booking-sheet.rayt-route-ready #rayt-booking-offer,
  .booking-sheet.rayt-route-ready #rayt-fare-editor,
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    animation:none!important;
  }
}

/* RAYT 19.7 — cardless premium route-ready composition */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  grid-template-areas:"fare taxi"!important;
  align-items:center!important;
  width:100%!important;
  min-height:122px!important;
  max-height:142px!important;
  margin:0!important;
  padding:2px 2px 7px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Remove every decorative layer inherited from the old inner card. */
.booking-sheet.rayt-route-ready #rayt-booking-offer::before,
.booking-sheet.rayt-route-ready #rayt-booking-offer::after{
  display:none!important;
}

/* Fare floats directly on the white sheet. */
.booking-sheet.rayt-route-ready #rayt-fare-editor{
  grid-area:fare!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:5px!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:5px 9px 5px 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor>label{
  display:block!important;
  margin:0!important;
  color:#7f8791!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.7px!important;
  text-transform:uppercase!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor>label>span{
  display:block!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor>label small{
  display:block!important;
  margin-top:4px!important;
  color:#a1a7af!important;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Price: no input-looking box. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  display:flex!important;
  align-items:baseline!important;
  width:100%!important;
  height:auto!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child{
  font-size:25px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#17202a!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  width:62px!important;
  min-width:0!important;
  max-width:70px!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  background:transparent!important;
  color:#17202a!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-1.2px!important;
  box-shadow:none!important;
  outline:0!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-currency{
  margin-left:2px!important;
  color:#9198a2!important;
  font-size:9px!important;
  font-weight:800!important;
}

/* Minimal controls — independent, not another card. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  display:flex!important;
  gap:8px!important;
  width:auto!important;
  margin-top:2px!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  width:39px!important;
  height:31px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:10px!important;
  border:1px solid #e2e5e9!important;
  background:#fff!important;
  color:#202832!important;
  font-size:19px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:last-child{
  background:#ffcc3d!important;
  border-color:#ffcc3d!important;
  color:#181e25!important;
}

/* Taxi on the right, free of a container. */
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
  grid-area:taxi!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
  width:150px!important;
  max-width:100%!important;
  height:104px!important;
  max-height:104px!important;
  margin:0!important;
  object-fit:contain!important;
  filter:drop-shadow(0 9px 7px rgba(20,27,36,.14))!important;
}

/* Quiet divider before payment — hierarchy without another box. */
.booking-sheet.rayt-route-ready .pay-choice{
  position:relative!important;
  margin-top:3px!important;
}
.booking-sheet.rayt-route-ready .pay-choice::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-9px!important;
  height:1px!important;
  background:#f0f1f3!important;
}

/* CTA remains the only strong solid surface. */
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  border-radius:14px!important;
  background:#ffca38!important;
  box-shadow:0 5px 13px rgba(226,165,24,.15)!important;
}

/* Responsive cardless ready state */
@media(max-height:690px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    min-height:98px!important;
    max-height:112px!important;
    padding-bottom:3px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor{
    gap:2px!important;padding-top:2px!important;padding-bottom:2px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{font-size:25px!important}
  .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child{font-size:21px!important}
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{height:27px!important;width:36px!important}
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    width:125px!important;height:82px!important;max-height:82px!important;
  }
}
@media(max-width:350px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)!important;
  }
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    width:110px!important;
  }
}

/* RAYT 19.8 — premium fare stepper controls */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  margin-top:4px!important;
  padding:3px!important;
  border:1px solid rgba(31,39,48,.07)!important;
  border-radius:14px!important;
  background:#f5f6f7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}

.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  position:relative!important;
  width:39px!important;
  height:33px!important;
  min-width:39px!important;
  min-height:33px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:11px!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:0!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}

/* Draw thinner, perfectly centered minus/plus marks instead of text glyphs. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::before,
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:13px!important;
  height:2px!important;
  border-radius:99px!important;
  transform:translate(-50%,-50%)!important;
  background:currentColor!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:first-child{
  color:#4d5661!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(27,34,43,.08),0 0 0 1px rgba(27,34,43,.035)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:first-child::after{
  display:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:last-child{
  color:#171c22!important;
  background:linear-gradient(180deg,#ffd65b 0%,#ffc936 100%)!important;
  box-shadow:0 3px 8px rgba(216,157,16,.20),inset 0 1px 0 rgba(255,255,255,.38)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:last-child::after{
  transform:translate(-50%,-50%) rotate(90deg)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:active{
  transform:scale(.92)!important;
  box-shadow:none!important;
}

/* Compact adaptation keeps the same premium appearance. */
@media(max-height:690px){
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
    margin-top:2px!important;
    padding:2px!important;
    border-radius:12px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
    width:35px!important;height:29px!important;min-width:35px!important;min-height:29px!important;
    border-radius:9px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::before,
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::after{
    width:11px!important;
  }
}

/* RAYT 19.9 — expand fare content toward taxi; taxi untouched */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  grid-template-columns:minmax(0,1.38fr) minmax(0,.62fr)!important;
  column-gap:0!important;
}

/* Fare block now uses all available horizontal room up to the taxi area. */
.booking-sheet.rayt-route-ready #rayt-fare-editor{
  width:100%!important;
  max-width:none!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Let the amount row breathe horizontally instead of stopping early. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  width:100%!important;
  max-width:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  width:auto!important;
  min-width:56px!important;
  max-width:92px!important;
}

/* Stretch the stepper toward the visual boundary with the taxi. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  width:calc(100% - 8px)!important;
  max-width:150px!important;
  justify-content:space-between!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  flex:1 1 0!important;
  width:auto!important;
  min-width:39px!important;
  max-width:68px!important;
}

/* Narrow screens: preserve the same relationship without changing taxi rules. */
@media(max-width:350px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr)!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
    max-width:132px!important;
  }
}

/* RAYT 20.0 — compact fare/taxi composition, removing the dead center */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  grid-template-columns:minmax(0,1fr) 142px!important;
  column-gap:0!important;
}

/* Fare content occupies its column right up to the taxi. */
.booking-sheet.rayt-route-ready #rayt-fare-editor{
  padding-left:4px!important;
  padding-right:2px!important;
}

/* Move only the taxi composition inward; preserve image dimensions. */
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
  justify-content:flex-start!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:translateX(-12px)!important;
}
.booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
  width:150px!important;
  height:104px!important;
  max-width:150px!important;
  max-height:104px!important;
}

/* Let the premium stepper fill the visual width of the fare area. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  width:154px!important;
  max-width:calc(100% - 2px)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  max-width:none!important;
}

/* Keep the compact relationship on narrow phones. */
@media(max-width:350px){
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    grid-template-columns:minmax(0,1fr) 118px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
    transform:translateX(-8px)!important;
  }
  .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
    width:138px!important;
  }
}

/* RAYT 20.1 — cleaner fare label + visually centered amount */
.booking-sheet.rayt-route-ready #rayt-fare-editor>label small{
  display:none!important;
}

/* Center the complete $ + amount + MXN group, not just the input. */
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  position:relative!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:154px!important;
  max-width:calc(100% - 2px)!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  flex:0 0 auto!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
  padding:0!important;
  margin:0 2px!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child{
  flex:0 0 18px!important;
  width:18px!important;
  text-align:center!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .fare-currency{
  flex:0 0 30px!important;
  width:30px!important;
  margin-left:0!important;
  text-align:left!important;
}

/* RAYT 20.2 — subtler fare adjustment controls */
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
  gap:6px!important;
  padding:2px!important;
  background:#f7f7f8!important;
  border-color:rgba(31,39,48,.045)!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  height:29px!important;
  min-height:29px!important;
  border-radius:9px!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:first-child{
  color:#68707a!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(27,34,43,.045)!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button:last-child{
  color:#66572d!important;
  background:#fff7dc!important;
  border:1px solid rgba(220,177,54,.18)!important;
  box-shadow:none!important;
}
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::before,
.booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button::after{
  width:11px!important;
  height:1.5px!important;
}

/* RAYT 20.3 — responsive vertical fit:
   CTA always complete and the sheet reaches the bottom navigation without a dead gap. */

/* The booking sheet owns exactly the space above the persistent client nav. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet{
  bottom:var(--client-nav-height,66px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
}

/* Ready state: distribute the vertical space naturally instead of leaving a blank tail. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding:11px 15px 10px!important;
  gap:7px!important;
  overflow:hidden!important;
}

.booking-sheet.rayt-route-ready .sheet-handle,
.booking-sheet.rayt-route-ready .sheet-head,
.booking-sheet.rayt-route-ready #rayt-booking-offer,
.booking-sheet.rayt-route-ready .pay-choice,
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  flex-shrink:0!important;
}

/* CTA is never clipped. */
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  flex-basis:48px!important;
  margin:0!important;
  padding:0 16px!important;
  line-height:1!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

/* Use any remaining sheet height as breathing room ABOVE the payment/CTA,
   never below the CTA. */
.booking-sheet.rayt-route-ready .pay-choice{
  margin-top:auto!important;
  margin-bottom:0!important;
}

/* Short screens: compress upper content before touching the CTA. */
@media(max-height:760px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
    padding:8px 15px 8px!important;
    gap:5px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    min-height:96px!important;
    max-height:106px!important;
  }
  .booking-sheet.rayt-route-ready .pay-choice{
    height:42px!important;
    min-height:42px!important;
    flex-basis:42px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-request-taxi{
    height:46px!important;
    min-height:46px!important;
    flex-basis:46px!important;
  }
}

/* Very short phones */
@media(max-height:650px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
    padding:6px 13px 6px!important;
    gap:3px!important;
  }
  .booking-sheet.rayt-route-ready .sheet-handle{margin-bottom:0!important}
  .booking-sheet.rayt-route-ready .sheet-head{min-height:22px!important}
  .booking-sheet.rayt-route-ready .sheet-head h1{font-size:17px!important}
  .booking-sheet.rayt-route-ready #rayt-booking-offer{
    min-height:86px!important;
    max-height:94px!important;
  }
  .booking-sheet.rayt-route-ready .pay-choice{
    height:39px!important;
    min-height:39px!important;
    flex-basis:39px!important;
  }
  .booking-sheet.rayt-route-ready #rayt-request-taxi{
    height:43px!important;
    min-height:43px!important;
    flex-basis:43px!important;
  }
}

/* RAYT 20.4 — remove the dead zone between CTA and bottom navigation.
   Keep CTA fully visible; move only the unused flexible space above the payment row. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
  justify-content:flex-end!important;
}

/* Header/offer stay at the top of their content, while the controls form one bottom group. */
.booking-sheet.rayt-route-ready #rayt-booking-offer{
  flex:0 0 auto!important;
}
.booking-sheet.rayt-route-ready .pay-choice{
  margin-top:0!important;
}

/* The CTA sits directly above the persistent nav, with only deliberate app spacing. */
.booking-sheet.rayt-route-ready #rayt-request-taxi{
  margin-bottom:0!important;
}

/* Override legacy bottom spacing/min-height that was creating the white band. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
  min-height:max-content!important;
  height:max-content!important;
  bottom:var(--client-nav-height,66px)!important;
}

/* On phones with a taller safe-area/navigation bar, retain a tiny intentional separation only. */
@supports (padding-bottom: env(safe-area-inset-bottom)){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-ready{
    padding-bottom:8px!important;
  }
}

/* RAYT 20.5 — awaiting state: card ends right after "Selecciona tu ruta".
   Remove the flexible white tail visible before the bottom navigation. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
  position:absolute!important;
  top:auto!important;
  bottom:var(--client-nav-height,66px)!important;
  height:max-content!important;
  min-height:0!important;
  max-height:calc(100% - var(--client-nav-height,66px))!important;
  padding-bottom:10px!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}

/* Do not let the hero consume flexible leftover height. */
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  flex:0 0 auto!important;
  height:auto!important;
  min-height:132px!important;
  max-height:150px!important;
}

/* Persistent rows define the natural bottom of the card. */
.booking-sheet.rayt-route-awaiting .pay-choice{
  flex:0 0 44px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.booking-sheet.rayt-route-awaiting #rayt-request-taxi{
  flex:0 0 47px!important;
  margin:0!important;
}

/* Shorter phones compact only the hero, never add bottom filler. */
@media(max-height:760px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer{
    min-height:112px!important;
    max-height:126px!important;
  }
}
@media(max-height:650px){
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer{
    min-height:88px!important;
    max-height:98px!important;
  }
}

/* RAYT 20.6 — compact awaiting sheet; remove white space below CTA */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
  position:absolute!important;
  top:auto!important;
  bottom:calc(var(--client-nav-height,66px) + 6px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:8px 15px 8px!important;
  gap:5px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  flex:none!important;
  height:124px!important;
  min-height:124px!important;
  max-height:124px!important;
  overflow:visible!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
  height:124px!important;
  min-height:0!important;
  padding:0!important;
}
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  width:clamp(155px,55vw,205px)!important;
  height:80px!important;
  max-height:80px!important;
  margin:0 auto -7px!important;
  transform:translateY(-5px)!important;
}
.booking-sheet.rayt-route-awaiting .pay-choice{
  flex:none!important;height:44px!important;min-height:44px!important;margin:0!important;
}
.booking-sheet.rayt-route-awaiting #rayt-request-taxi{
  flex:none!important;height:47px!important;min-height:47px!important;margin:0!important;
}
@media(max-height:700px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode) .booking-sheet.rayt-route-awaiting{
    bottom:calc(var(--client-nav-height,66px) + 4px)!important;
    padding:6px 13px!important;gap:4px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer,
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle{
    height:102px!important;min-height:102px!important;max-height:102px!important;
  }
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
    width:160px!important;height:66px!important;max-height:66px!important;
  }
}

/* RAYT 21.0 — map continues underneath the white booking sheet.
   This removes the gray seam and makes the sheet visually float over the map. */

/* Extend the map canvas below the sheet transition. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.client-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  z-index:1!important;
  background:#e9ecef!important;
}

/* Keep the approved content-sized white sheet over the map. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet.rayt-route-awaiting,
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet.rayt-route-ready{
  position:absolute!important;
  inset:auto 0 0 0!important;
  top:auto!important;
  bottom:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:58%!important;
  flex:none!important;
  margin:0!important;
  z-index:20!important;
  background:#fff!important;
  border-radius:28px 28px 0 0!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}

/* Make the curved top edge read as a floating sheet, not a separate gray block. */
.shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet::before{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:-12px!important;
  height:24px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.16)!important;
  filter:blur(12px)!important;
  pointer-events:none!important;
}

/* Leaflet must fill the extended map layer. */
.shell.has-client-nav .rayt-client.client-booking .client-map .leaflet-container,
.shell.has-client-nav .rayt-client.client-booking .client-map .map,
.shell.has-client-nav .rayt-client.client-booking .client-map>[id*="map"]{
  min-height:100%!important;
}

/* Preserve all controls above both map and sheet. */
.shell.has-client-nav .rayt-client.client-booking .route-card,
.shell.has-client-nav .rayt-client.client-booking .map-hint,
.shell.has-client-nav .rayt-client.client-booking .map-controls,
.shell.has-client-nav .rayt-client.client-booking .trip-metrics{
  z-index:30!important;
}
@media(max-height:700px){
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet.rayt-route-awaiting,
  .shell.has-client-nav .rayt-client.client-booking:not(.client-active-ride):not(.client-searching):not(.client-has-offers):not(.map-selection-mode)>.booking-sheet.rayt-route-ready{
    max-height:64%!important;
  }
}

/* RAYT 25.2 — refine initial client booking hero.
   Payment row and CTA keep their existing geometry.
   The white sheet grows upward only to make room for a larger taxi and
   stronger typography/animation, remaining visibly above the map. */

/* Expand the sheet upward while its bottom edge stays fixed above nav. */
html body .shell.has-client-nav
> .rayt-client.client-booking:not(.map-selection-mode)
> .booking-sheet.rayt-route-awaiting{
  bottom:66px!important;
  height:352px!important;
  min-height:352px!important;
  max-height:352px!important;
  overflow:visible!important;
  background:#fff!important;
  z-index:90!important;
  border-top-left-radius:28px!important;
  border-top-right-radius:28px!important;
}

/* DO NOT alter .pay-choice or #rayt-request-taxi dimensions here. */

/* Larger taxi image, centered, with a little more breathing room. */
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle{
  height:150px!important;
  min-height:150px!important;
  padding:0!important;
  justify-content:center!important;
  align-items:center!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle img{
  width:clamp(175px,62vw,225px)!important;
  height:108px!important;
  max-width:90%!important;
  max-height:108px!important;
  object-fit:contain!important;
  transform:translateY(2px)!important;
}

/* Make the soft taxi glow/animation slightly more noticeable without changing
   the overall visual language. */
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer{
  min-height:150px!important;
  max-height:150px!important;
  height:150px!important;
  overflow:visible!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer::before{
  transform:scale(1.12)!important;
  opacity:.95!important;
}

/* Enlarge the waiting copy only; payment/CTA untouched. */
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy{
  gap:6px!important;
  transform:translateY(2px)!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy strong{
  font-size:14px!important;
  line-height:1.18!important;
  letter-spacing:-.25px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy small{
  font-size:10px!important;
  line-height:1.2!important;
}

/* Keep the existing payment row and CTA exactly where their current
   RAYT(10) rules place them. */
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> .pay-choice,
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-request-taxi{
  position:relative!important;
  z-index:95!important;
}

/* RAYT 25.3 — same refinement, one more step.
   Payment + CTA geometry intentionally untouched. */

html body .shell.has-client-nav
> .rayt-client.client-booking:not(.map-selection-mode)
> .booking-sheet.rayt-route-awaiting{
  height:382px!important;
  min-height:382px!important;
  max-height:382px!important;
  bottom:66px!important;
}

/* Taxi / hero: another proportional increase. */
html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle{
  height:170px!important;
  min-height:170px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle img{
  width:clamp(190px,66vw,245px)!important;
  height:120px!important;
  max-height:120px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy strong{
  font-size:15px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy small{
  font-size:10.5px!important;
}

/* RAYT 25.4 — one small additional increase.
   Keep payment and CTA dimensions/position unchanged. */

html body .shell.has-client-nav
> .rayt-client.client-booking:not(.map-selection-mode)
> .booking-sheet.rayt-route-awaiting{
  height:397px!important;
  min-height:397px!important;
  max-height:397px!important;
  bottom:66px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer{
  height:180px!important;
  min-height:180px!important;
  max-height:180px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle{
  height:180px!important;
  min-height:180px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-booking-vehicle img{
  width:clamp(198px,68vw,252px)!important;
  height:126px!important;
  max-height:126px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy strong{
  font-size:15.5px!important;
}

html body .shell.has-client-nav
> .rayt-client.client-booking
> .booking-sheet.rayt-route-awaiting
> #rayt-booking-offer
> .rayt-awaiting-copy small{
  font-size:10.75px!important;
}

/* RAYT 25.5 — slightly taller white booking sheet.
   Keep all existing hero, payment and CTA sizing intact. */
html body .shell.has-client-nav
> .rayt-client.client-booking:not(.map-selection-mode)
> .booking-sheet.rayt-route-awaiting{
  height:412px!important;
  min-height:412px!important;
  max-height:412px!important;
  bottom:66px!important;
}

/* RAYT 25.6 — remove the three action buttons from the origin/destination
   header shown in the client screen. Keep the location fields themselves. */
html body .shell.has-client-nav
.rayt-client.client-booking
button[aria-label*="ubicación" i],
html body .shell.has-client-nav
.rayt-client.client-booking
button[aria-label*="location" i],
html body .shell.has-client-nav
.rayt-client.client-booking
button[title*="ubicación" i],
html body .shell.has-client-nav
.rayt-client.client-booking
button[title*="location" i]{
  display:none!important;
}

/* Common action-button containers, scoped only to the route header. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-location-actions,
html body .shell.has-client-nav
.rayt-client.client-booking
.location-actions,
html body .shell.has-client-nav
.rayt-client.client-booking
.route-location-actions{
  display:none!important;
}

/* RAYT 25.7 — keep "Usar mi ubicación" on the MAP.
   Only the three route-header action buttons are removed. */
html body .shell.has-client-nav
.rayt-client.client-booking
.leaflet-control-locate,
html body .shell.has-client-nav
.rayt-client.client-booking
.leaflet-control-zoom,
html body .shell.has-client-nav
.rayt-client.client-booking
button[aria-label="Usar mi ubicación"],
html body .shell.has-client-nav
.rayt-client.client-booking
button[title="Usar mi ubicación"]{
  display:block!important;
}

/* Undo the broad location-button hiding from v25.6 for the actual map. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map button[aria-label*="ubicación" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map button[title*="ubicación" i]{
  display:block!important;
}

/* Hide only action buttons belonging to the top origin/destination header. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-route-header button[aria-label*="ubicación" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.client-route-header button[aria-label*="location" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.route-header button[aria-label*="ubicación" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.route-header button[aria-label*="location" i]{
  display:none!important;
}

/* RAYT 25.8 — origin/destination header:
   remove "Mi ubicación" and the direct "Seleccionar ubicación en el mapa"
   buttons from the header itself.
   Keep "Colocar pin en el mapa" inside the dropdown.
   Keep the Leaflet "Mi ubicación" control on the map. */

/* Header action cluster: hide only its buttons, never the dropdown. */
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
> .rayt-field-actions,
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
> .field-actions,
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
> .location-actions{
  display:none!important;
}

/* If the current markup uses direct buttons in the floating header,
   hide those direct controls while preserving the two text fields. */
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
> button{
  display:none!important;
}

/* Do NOT hide the recent-location dropdown or its "Colocar pin en el mapa"
   option. */
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
#rayt-recent-origins,
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
#rayt-recent-destinations{
  display:block;
}

/* The map's own "Mi ubicación" control remains visible. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-locate,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
button[aria-label="Usar mi ubicación"],
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
button[title="Usar mi ubicación"]{
  display:block!important;
}

/* RAYT 25.9 — remove direct "Elegir origen/destino en el mapa" buttons
   from the origin/destination header. The dropdown "Colocar pin en el mapa"
   remains available, and the map "Mi ubicación" control remains visible. */
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
.location-picker{
  display:none!important;
}

/* RAYT 26.0 — remove "Mi ubicación actual" from the ORIGEN header only.
   Keep the map's own location control. */

html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
button[aria-label*="ubicación actual" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
button[title*="ubicación actual" i],
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
.location-current,
html body .shell.has-client-nav
.rayt-client.client-booking
.map-floating-fields
.use-current-location{
  display:none!important;
}

/* Make the Leaflet "Mi ubicación" control smaller, cleaner and quieter. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-locate,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-geolocate{
  width:36px!important;
  height:36px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 3px 12px rgba(20,30,40,.14)!important;
  overflow:hidden!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-locate a,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-geolocate a{
  width:36px!important;
  height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#26313d!important;
  font-size:15px!important;
  box-shadow:none!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-locate a:hover,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-geolocate a:hover{
  background:#f8f9fa!important;
}

/* If the current map control uses a button instead of an anchor. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-locate button,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map
.leaflet-control-geolocate button{
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#26313d!important;
  box-shadow:none!important;
}

/* RAYT — "Usar mi ubicación" map control: premium, subtle and translucent.
   Visual-only refinement; position and behavior remain unchanged. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-locate,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-geolocate{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box!important;
  padding:0!important;
  border:1px solid rgba(35,45,55,.055)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.62)!important;
  color:#4d5660!important;
  box-shadow:0 2px 8px rgba(20,30,40,.07)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.9!important;
  transition:background .18s ease, opacity .18s ease, box-shadow .18s ease, transform .18s ease!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter:hover,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-locate:hover,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-geolocate:hover{
  background:rgba(255,255,255,.76)!important;
  opacity:.98!important;
  box-shadow:0 3px 10px rgba(20,30,40,.09)!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter:active,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-locate:active,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-geolocate:active{
  transform:scale(.94)!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter svg,
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .leaflet-control-locate svg{
  width:12px!important;
  height:12px!important;
  opacity:.68!important;
}

/* RAYT — center the location icon precisely inside its circular button. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  font-size:14px!important;
  padding:0!important;
  margin:0!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter::first-letter{
  line-height:1!important;
}

/* Neutralize inline/glyph baseline offsets from the current ⌖ icon. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter{
  text-indent:0!important;
  vertical-align:middle!important;
}

/* RAYT — actual position adjustment for the map location button.
   The control is absolutely positioned, so margin does not move it reliably.
   Lower it by changing its vertical anchor. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter{
  top:94%!important;
  bottom:auto!important;
  margin-top:0!important;
  transform:translateY(-50%)!important;
}

/* RAYT — slight upward adjustment from v27. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter{
  top:91%!important;
  bottom:auto!important;
  margin-top:0!important;
  transform:translateY(-50%)!important;
}

/* RAYT — final small upward adjustment. */
html body .shell.has-client-nav
.rayt-client.client-booking
.client-map .booking-map-recenter{
  top:89%!important;
  bottom:auto!important;
  margin-top:0!important;
  transform:translateY(-50%)!important;
}

/* RAYT — slightly larger/higher taxi artwork in "Solicitar taxi".
   Keep the card size and all other controls unchanged. */
html body .shell.has-client-nav
.rayt-client.client-booking
.rayt-booking-vehicle img{
  width:clamp(185px,62vw,225px)!important;
  height:104px!important;
  max-height:104px!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translateY(-8px)!important;
}

/* RAYT — keep the booking card's outer size when the route is calculated.
   The calculated-route content/design remains unchanged; only the sheet
   height is normalized to the same size as "Solicitar taxi". */
html body .shell.has-client-nav
.rayt-client.client-booking
> .booking-sheet{
  box-sizing:border-box!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking
> .booking-sheet.rayt-route-calculated,
html body .shell.has-client-nav
.rayt-client.client-booking
> .booking-sheet.route-calculated,
html body .shell.has-client-nav
.rayt-client.client-booking
> .booking-sheet.has-fare,
html body .shell.has-client-nav
.rayt-client.client-booking
> .booking-sheet[data-state="calculated"]{
  height:412px!important;
  min-height:412px!important;
  max-height:412px!important;
  bottom:66px!important;
}

/* RAYT — searching conductors: declutter the map. */
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .leaflet-control-zoom,
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .rayt-map-brand,
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .rayt-map-tag,
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .rayt-brand,
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map [class*="rayt"][class*="tag"],
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map [class*="rayt"][class*="brand"]{
  display:none!important;
}

/* If the RAYT label is rendered as Leaflet attribution, hide it only while
   searching; normal map view keeps attribution intact. */
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .leaflet-control-attribution{
  display:none!important;
}

/* RAYT — definitive searching-state cleanup.
   The rendered client uses .client-searching and the actual map branding
   class is .map-brand. */
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .leaflet-control-zoom,
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .map-brand{
  display:none!important;
}

/* Cover possible nested Leaflet zoom wrappers too. */
html body .shell.has-client-nav
.rayt-client.client-booking.client-searching
.client-map .leaflet-top.leaflet-left .leaflet-control-zoom{
  display:none!important;
}

/* RAYT — HARD HIDE while "Buscando conductores".
   Do not rely on display alone: another Leaflet rule can restore it.
   The client renderer adds .client-searching to .rayt-client. */
.rayt-client.client-searching .leaflet-control-zoom,
.rayt-client.client-searching .map-brand,
.rayt-client.client-searching .client-map .leaflet-control-zoom,
.rayt-client.client-searching .client-map .map-brand{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* The zoom buttons are Leaflet's own +/- controls. Hide their wrapper too
   when it contains the zoom control, without affecting other map controls. */
.rayt-client.client-searching .leaflet-top.leaflet-left .leaflet-control-zoom{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* RAYT — searching state: the visible gap is inside the white sheet.
   Lower the sheet start and push the cancel action toward the navigation,
   instead of making the sheet taller. */
html body .shell.has-client-nav
.rayt-client.client-searching
> .booking-sheet{
  margin-top:0!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  padding-bottom:8px!important;
}

html body .shell.has-client-nav
.rayt-client.client-searching
> .booking-sheet
> button.ghost.full{
  margin-top:auto!important;
  margin-bottom:0!important;
  flex:none!important;
}

/* RAYT official map branding — transparent logo, no white pill. */
.rayt-client .client-map .map-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  top:12px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:104px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  line-height:0!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.rayt-client .client-map .map-brand img{
  display:block!important;
  width:104px!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
}

/* RAYT map logo v2 — transparent image, no legacy white pill. */
.rayt-client .client-map .map-brand{
  background:transparent!important;
  background-color:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  line-height:0!important;
  overflow:visible!important;
}
.rayt-client .client-map .map-brand img{
  background:transparent!important;
  display:block!important;
}

/* RAYT — premium floating map branding */
.rayt-client .client-map .map-brand{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  width:88px!important;
  height:auto!important;
  line-height:0!important;
  overflow:visible!important;
  opacity:.9!important;
  pointer-events:none!important;
  z-index:450!important;
}

.rayt-client .client-map .map-brand img{
  display:block!important;
  width:88px!important;
  height:auto!important;
  max-width:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08)!important;
  opacity:.9!important;
}

/* RAYT — active trip motion layer: subtle, functional, not distracting. */

/* 2) Animated progress line between the trip stages.
   The line stays fixed while a soft highlight travels across it. */
.shell.has-client-nav .client-active-ride .active-progress{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.shell.has-client-nav .client-active-ride .active-progress::before{
  content:""!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  top:14px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ece9df 0%,#ece9df 42%,#ffd05a 50%,#ece9df 58%,#ece9df 100%)!important;
  background-size:220% 100%!important;
  animation:rayt-trip-progress 2.8s linear infinite!important;
  z-index:0!important;
  pointer-events:none!important;
}
.shell.has-client-nav .client-active-ride .active-step{
  position:relative!important;
  z-index:1!important;
}
@keyframes rayt-trip-progress{
  0%{background-position:120% 0}
  100%{background-position:-120% 0}
}

/* 3) Small live status indicator in the current step and heading.
   It breathes rather than flashing. */
.shell.has-client-nav .client-active-ride .ride-ref-heading::after{
  content:""!important;
  position:absolute!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#22a875!important;
  box-shadow:0 0 0 0 rgba(34,168,117,.28)!important;
  animation:rayt-live-pulse 1.8s ease-out infinite!important;
  right:48px!important;
  top:9px!important;
}
.shell.has-client-nav .client-active-ride .ride-ref-heading{
  position:relative!important;
}
.shell.has-client-nav .client-active-ride .active-step.current .active-step-dot{
  animation:rayt-current-pulse 1.8s ease-in-out infinite!important;
}
@keyframes rayt-live-pulse{
  0%{box-shadow:0 0 0 0 rgba(34,168,117,.28);opacity:.85}
  65%{box-shadow:0 0 0 7px rgba(34,168,117,0);opacity:1}
  100%{box-shadow:0 0 0 0 rgba(34,168,117,0);opacity:.85}
}
@keyframes rayt-current-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}

/* 4) Very subtle breathing on the active-trip surface.
   Only the shadow changes; the card itself never jumps or moves. */
.shell.has-client-nav .client-active-ride .ride-ref-driver{
  animation:rayt-trip-card-breathe 3.8s ease-in-out infinite!important;
}
@keyframes rayt-trip-card-breathe{
  0%,100%{box-shadow:0 9px 23px rgba(136,118,78,.08),0 1px 3px rgba(119,119,119,.04)}
  50%{box-shadow:0 11px 27px rgba(136,118,78,.13),0 1px 4px rgba(119,119,119,.05)}
}

/* Respect reduced-motion accessibility preferences. */
@media (prefers-reduced-motion:reduce){
  .shell.has-client-nav .client-active-ride .active-progress::before,
  .shell.has-client-nav .client-active-ride .ride-ref-heading::after,
  .shell.has-client-nav .client-active-ride .active-step.current .active-step-dot,
  .shell.has-client-nav .client-active-ride .ride-ref-driver{
    animation:none!important;
  }
}

/* RAYT — proposal card: simulated taxi distance + ETA for demo */
.client-offer-card .offer-driver-eta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:7px 0 9px!important;
  padding:6px 9px!important;
  border-radius:10px!important;
  background:rgba(250,249,246,.9)!important;
  color:#67645e!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.client-offer-card .offer-driver-eta span{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  white-space:nowrap!important;
}
.client-offer-card .offer-driver-eta strong{
  color:#24262a!important;
  font-size:11px!important;
  font-weight:800!important;
}
.client-offer-card .offer-driver-eta .offer-eta-dot{
  opacity:.4!important;
}

/* ETA stays compact and sits directly under the fare inside the price column. */
.client-offer-card .offer-quick-price{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.client-offer-card .offer-quick-price .offer-driver-eta{
  margin:3px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  justify-content:flex-end!important;
  gap:5px!important;
  font-size:9px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.client-offer-card .offer-quick-price .offer-driver-eta strong{
  font-size:9px!important;
  font-weight:700!important;
}
.client-offer-card .offer-quick-price .offer-driver-eta .offer-eta-dot{
  opacity:.45!important;
}

/* ============================================================
   RAYT DRIVER — active trip premium layout
   ============================================================ */
.driver-app .active-trip-content{
  padding:0 10px 18px!important;
}
.driver-app .active-trip-card{
  overflow:hidden!important;
  padding:0!important;
  border:0!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(28,31,36,.09)!important;
}

/* Map becomes the visual hero. */
.driver-app .active-trip-card .rayt-premium-map{
  margin:0!important;
  height:205px!important;
  min-height:205px!important;
  border-radius:28px 28px 0 0!important;
  overflow:hidden!important;
}
.driver-app .rayt-premium-map-link{
  top:14px!important;
  right:12px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(249,189,36,.32)!important;
  box-shadow:0 5px 16px rgba(30,30,30,.08)!important;
  font-size:10px!important;
  font-weight:800!important;
}
.driver-app .rayt-premium-map-caption{
  display:none!important;
}

/* Quick navigation / ETA row. */
.driver-app .driver-active-topstats{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  gap:8px!important;
  padding:10px 10px 4px!important;
  background:#fff!important;
}
.driver-app .driver-active-stat{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 9px!important;
  border:1px solid #eee9dd!important;
  border-radius:15px!important;
  background:#fffdf8!important;
}
.driver-app .driver-active-stat-icon{
  width:29px!important;
  height:29px!important;
  flex:0 0 29px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff0c5!important;
  color:#17191d!important;
  font-size:15px!important;
  font-weight:900!important;
}
.driver-app .driver-active-stat span:last-child{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-app .driver-active-stat small{
  color:#8b877f!important;
  font-size:9px!important;
  line-height:1.1!important;
}
.driver-app .driver-active-stat strong{
  margin-top:3px!important;
  color:#17191d!important;
  font-size:14px!important;
  line-height:1!important;
}
.driver-app .driver-active-navigate{
  min-width:76px!important;
  border:0!important;
  border-radius:15px!important;
  background:#ffd24f!important;
  color:#17191d!important;
  font-size:11px!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  box-shadow:0 6px 14px rgba(249,189,36,.18)!important;
}
.driver-app .driver-active-navigate span{
  font-size:14px!important;
}

/* Pickup / destination strip. */
.driver-app .driver-next-stop{
  margin:6px 10px 0!important;
  padding:10px 11px!important;
  min-height:54px!important;
  border:1px solid #eee9dd!important;
  border-radius:15px!important;
  background:#fffaf0!important;
}
.driver-app .driver-next-stop-copy small{
  color:#b18312!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.driver-app .driver-next-stop-copy strong{
  font-size:12px!important;
}
.driver-app .driver-next-stop-tag{
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#ffe9a7!important;
  color:#805f00!important;
  font-size:9px!important;
  font-weight:900!important;
}

/* Passenger card. */
.driver-app .driver-focus-client{
  margin:8px 10px 0!important;
  padding:10px!important;
  border:1px solid #eee9dd!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.driver-app .active-trip-client-avatar{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  background:#fff0c5!important;
  color:#17191d!important;
  font-size:17px!important;
  font-weight:900!important;
}
.driver-app .active-trip-client-name small{
  color:#9a958b!important;
  font-size:9px!important;
}
.driver-app .active-trip-client-name strong{
  font-size:14px!important;
}
.driver-app .rayt-contact-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.driver-app .driver-focus-chat,
.driver-app .driver-focus-call{
  height:34px!important;
  border:1px solid #e9e5dc!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#25282c!important;
  font-size:10px!important;
  font-weight:800!important;
}
.driver-app .driver-focus-call{
  width:34px!important;
  padding:0!important;
  font-size:15px!important;
}

/* Route information. */
.driver-app .driver-focus-route{
  margin:8px 10px 0!important;
  padding:10px 11px!important;
  border:1px solid #f0ede7!important;
  border-radius:15px!important;
  background:#fafafa!important;
}
.driver-app .driver-focus-route div{
  min-height:35px!important;
}
.driver-app .driver-focus-route small{
  font-size:9px!important;
  color:#8b877f!important;
}
.driver-app .driver-focus-route strong{
  font-size:12px!important;
}

/* Fare / distance summary. */
.driver-app .driver-focus-summary{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:8px 10px 0!important;
  padding:0!important;
}
.driver-app .driver-focus-summary>div{
  padding:11px!important;
  border-radius:15px!important;
  background:#f6f7f8!important;
}
.driver-app .driver-focus-summary small{
  display:block!important;
  color:#8b877f!important;
  font-size:9px!important;
}
.driver-app .driver-focus-summary strong{
  display:block!important;
  margin-top:4px!important;
  color:#17191d!important;
  font-size:18px!important;
}
.driver-app .driver-focus-payment{
  position:absolute!important;
  left:9px!important;
  bottom:5px!important;
  transform:translateY(100%)!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#fff0c5!important;
  color:#7a5c00!important;
  font-size:8px!important;
  font-weight:900!important;
}

/* Main action — visually closer to the client experience. */
.driver-app .active-trip-actions{
  margin:27px 10px 10px!important;
}
.driver-app .active-trip-primary{
  min-height:48px!important;
  border-radius:15px!important;
  background:#ffd24f!important;
  color:#17191d!important;
  box-shadow:0 7px 16px rgba(249,189,36,.18)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.driver-app .active-trip-primary .active-trip-action-icon{
  opacity:.55!important;
}
.driver-app .active-trip-primary .active-trip-action-arrow{
  opacity:.55!important;
}

/* PIN state keeps the same visual language. */
.driver-app .driver-pin-box{
  margin:8px 10px 10px!important;
  border-radius:17px!important;
  border:1px solid #eee9dd!important;
  background:#fffaf0!important;
}

/* Make the whole active card compact enough for the phone viewport. */
@media (max-width:390px){
  .driver-app .active-trip-card .rayt-premium-map{
    height:190px!important;
    min-height:190px!important;
  }
  .driver-app .driver-active-stat{
    padding:8px 7px!important;
  }
  .driver-app .driver-active-stat strong{
    font-size:13px!important;
  }
  .driver-app .driver-active-navigate{
    min-width:70px!important;
  }
}

/* RAYT DRIVER — real route mini-map */
.driver-app .rayt-driver-real-map{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  background:#eef0ef!important;
}
.driver-app .rayt-premium-map .rayt-premium-streets,
.driver-app .rayt-premium-map .rayt-premium-line{
  display:none!important;
}
.driver-app .rayt-premium-map .rayt-premium-map-start,
.driver-app .rayt-premium-map .rayt-premium-map-end{
  z-index:5!important;
}
.driver-app .rayt-premium-map .rayt-premium-map-link{
  z-index:8!important;
}
.driver-app .rayt-premium-map .leaflet-control-attribution{
  display:none!important;
}
.driver-app .rayt-premium-map .leaflet-tooltip{
  border:0!important;
  border-radius:999px!important;
  box-shadow:0 3px 10px rgba(0,0,0,.12)!important;
  font-size:9px!important;
  font-weight:800!important;
  padding:4px 7px!important;
}

/* RAYT FIX — active driver uses .driver-workspace, not .driver-app.
   Ensure the real Leaflet map replaces the illustrative mock completely. */
.driver-workspace.driver-active-mode .rayt-premium-map{
  position:relative!important;
  overflow:hidden!important;
}
.driver-workspace.driver-active-mode .rayt-driver-real-map{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  background:#eef0ef!important;
}
.driver-workspace.driver-active-mode .rayt-premium-streets,
.driver-workspace.driver-active-mode .rayt-premium-line{
  display:none!important;
  visibility:hidden!important;
}
.driver-workspace.driver-active-mode .rayt-premium-map-start,
.driver-workspace.driver-active-mode .rayt-premium-map-end{
  z-index:6!important;
}
.driver-workspace.driver-active-mode .rayt-premium-map-link{
  z-index:8!important;
}
.driver-workspace.driver-active-mode .rayt-premium-map-caption{
  display:none!important;
}
.driver-workspace.driver-active-mode .leaflet-container{
  width:100%!important;
  height:100%!important;
  font:inherit!important;
  background:#eef0ef!important;
}
.driver-workspace.driver-active-mode .leaflet-tile{
  filter:saturate(.9) contrast(.98)!important;
}
.driver-workspace.driver-active-mode .leaflet-control-attribution{
  display:none!important;
}

/* RAYT DRIVER — grouped navigation actions */
.driver-workspace.driver-active-mode .active-trip-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin:20px 10px 10px!important;
}
.driver-workspace.driver-active-mode .driver-action-navigate{
  width:100%!important;
  min-height:43px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  position:relative!important;
  border:1px solid rgba(249,189,36,.38)!important;
  border-radius:14px!important;
  background:#fffdf8!important;
  color:#25272b!important;
  box-shadow:0 3px 10px rgba(28,31,36,.05)!important;
  font-size:12px!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .driver-action-navigate>span:first-child{
  width:25px!important;
  height:25px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff0c5!important;
  color:#806000!important;
  font-size:13px!important;
}
.driver-workspace.driver-active-mode .driver-action-navigate small{
  position:absolute!important;
  right:11px!important;
  color:#9b8a5c!important;
  font-size:8px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.driver-workspace.driver-active-mode .active-trip-actions .active-trip-primary{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
}
.driver-workspace.driver-active-mode .rayt-premium-map-link{
  display:none!important;
}

/* RAYT DRIVER — time + distance on one centered line */
.driver-workspace.driver-active-mode .driver-active-topstats{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  padding:10px 10px 4px!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat{
  flex:0 0 auto!important;
  min-width:128px!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:4px 18px!important;
  gap:7px!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat + .driver-active-stat{
  border-left:1px solid #e9e5dc!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat-icon{
  display:none!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat span:last-child{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:5px!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat small{
  margin:0!important;
  font-size:9px!important;
  color:#8b877f!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat strong{
  margin:0!important;
  font-size:14px!important;
  color:#17191d!important;
}

/* RAYT DRIVER — clean real map: no overlay address tags, black route */
.driver-workspace.driver-active-mode .rayt-premium-map-start,
.driver-workspace.driver-active-mode .rayt-premium-map-end{
  display:none!important;
}
.driver-workspace.driver-active-mode .rayt-premium-line{
  display:none!important;
}
.driver-workspace.driver-active-mode .rayt-driver-real-map .leaflet-overlay-pane path{
  stroke:#17191d!important;
  color:#17191d!important;
}

/* RAYT DRIVER — give the real map more vertical space */
.driver-workspace.driver-active-mode .rayt-premium-map{
  flex:1 1 220px!important;
  min-height:180px!important;
  max-height:38dvh!important;
}
.driver-workspace.driver-active-mode .rayt-driver-real-map{
  min-height:100%!important;
}
@media (max-width:390px){
  .driver-workspace.driver-active-mode .rayt-premium-map{
    min-height:175px!important;
    max-height:36dvh!important;
  }
}

/* RAYT DRIVER — prevent horizontal overflow in Active Trip.
   The larger map exposed a width overflow from nested 100% elements. */
.driver-workspace.driver-active-mode,
.driver-workspace.driver-active-mode .active-trip-content,
.driver-workspace.driver-active-mode .active-trip-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.driver-workspace.driver-active-mode .active-trip-card{
  align-self:stretch!important;
}
.driver-workspace.driver-active-mode .rayt-premium-map,
.driver-workspace.driver-active-mode .rayt-driver-real-map,
.driver-workspace.driver-active-mode .driver-active-topstats,
.driver-workspace.driver-active-mode .driver-next-stop,
.driver-workspace.driver-active-mode .driver-focus-client,
.driver-workspace.driver-active-mode .driver-focus-route,
.driver-workspace.driver-active-mode .driver-focus-summary,
.driver-workspace.driver-active-mode .active-trip-actions{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .driver-action-navigate,
.driver-workspace.driver-active-mode .active-trip-primary{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats{
  overflow:hidden!important;
}
.driver-workspace.driver-active-mode .driver-active-topstats .driver-active-stat{
  min-width:0!important;
  flex:1 1 0!important;
  max-width:50%!important;
  box-sizing:border-box!important;
}

/* RAYT DRIVER — final fix: action group was 100% wide PLUS 10px side margins.
   That made the right edge clip inside the card. */
.driver-workspace.driver-active-mode .active-trip-actions{
  width:calc(100% - 20px)!important;
  max-width:calc(100% - 20px)!important;
  margin-left:10px!important;
  margin-right:10px!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-actions .driver-action-navigate,
.driver-workspace.driver-active-mode .active-trip-actions .active-trip-primary{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
}

/* RAYT DRIVER — compact ETA floating tag on the real map */
.driver-workspace.driver-active-mode .driver-map-eta{
  position:absolute!important;
  z-index:20!important;
  right:10px!important;
  bottom:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:28px!important;
  padding:6px 10px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.91)!important;
  color:#25272b!important;
  box-shadow:0 4px 13px rgba(22,25,29,.12)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-map-eta-icon{
  width:18px!important;
  height:18px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff0c5!important;
  color:#806000!important;
  font-size:11px!important;
  font-weight:900!important;
}
.driver-workspace.driver-active-mode .driver-map-eta strong{
  font-size:10px!important;
  line-height:1!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .driver-map-eta-dot{
  opacity:.4!important;
  font-size:10px!important;
}

/* RAYT DRIVER — ETA tag without white background */
.driver-workspace.driver-active-mode .driver-map-eta{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:4px 5px!important;
}
.driver-workspace.driver-active-mode .driver-map-eta-icon{
  background:rgba(255,240,197,.92)!important;
}
.driver-workspace.driver-active-mode .driver-map-eta strong{
  text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 2px rgba(255,255,255,.9)!important;
}

/* RAYT DRIVER — ETA tag: white, ~85% opacity */
.driver-workspace.driver-active-mode .driver-map-eta{
  background:rgba(255,255,255,.85)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 3px 10px rgba(22,25,29,.08)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  padding:5px 9px!important;
}

/* RAYT DRIVER — ETA tag: more transparent, rectangular, lightly rounded */
.driver-workspace.driver-active-mode .driver-map-eta{
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:9px!important;
  box-shadow:0 2px 8px rgba(22,25,29,.06)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  padding:5px 9px!important;
}

.driver-workspace.driver-active-mode .driver-focus-summary > div:nth-child(2){
  display:none!important;
}
.driver-workspace.driver-active-mode .driver-focus-summary{
  grid-template-columns:1fr!important;
}

/* RAYT DRIVER — premium passenger card */
.driver-workspace.driver-active-mode .driver-focus-client{
  display:block!important;
  margin:9px 10px 0!important;
  padding:12px!important;
  border:1px solid #ece8df!important;
  border-radius:19px!important;
  background:linear-gradient(145deg,#fff 0%,#fcfbf8 100%)!important;
  box-shadow:0 5px 16px rgba(25,27,30,.055)!important;
}
.driver-workspace.driver-active-mode .driver-passenger-head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.driver-workspace.driver-active-mode .active-trip-client-avatar{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:#fff0c5!important;
  color:#5e4a00!important;
  font-size:17px!important;
  font-weight:900!important;
  box-shadow:inset 0 0 0 1px rgba(249,189,36,.18)!important;
}
.driver-workspace.driver-active-mode .active-trip-client-name{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.driver-workspace.driver-active-mode .active-trip-client-name small{
  color:#99948b!important;
  font-size:9px!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  font-weight:800!important;
}
.driver-workspace.driver-active-mode .active-trip-client-name strong{
  margin-top:2px!important;
  color:#17191d!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .driver-passenger-pickup{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:10px 0 9px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:#f8f7f4!important;
  border:1px solid #eeeae3!important;
}
.driver-workspace.driver-active-mode .driver-passenger-pickup-icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  background:#fff0c5!important;
  color:#796000!important;
  font-size:15px!important;
  font-weight:900!important;
}
.driver-workspace.driver-active-mode .driver-passenger-pickup div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-workspace.driver-active-mode .driver-passenger-pickup small{
  color:#a08e61!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
}
.driver-workspace.driver-active-mode .driver-passenger-pickup strong{
  margin-top:2px!important;
  color:#37393d!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message{
  width:100%!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:0!important;
  padding:0 11px!important;
  border:1px solid #e5e1d9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#25272b!important;
  font-size:10px!important;
  font-weight:850!important;
  box-shadow:0 2px 7px rgba(25,27,30,.035)!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message>b{
  margin-left:auto!important;
  color:#a49d91!important;
  font-size:14px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message small{
  min-width:15px!important;
  height:15px!important;
  display:grid!important;
  place-items:center!important;
  margin-left:2px!important;
  border-radius:999px!important;
  background:#ffd24f!important;
  color:#17191d!important;
  font-size:8px!important;
}
.driver-workspace.driver-active-mode .driver-focus-call{
  display:none!important;
}

/* RAYT DRIVER — client-style premium passenger/fare card */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  margin:9px 10px 0!important;
  padding:12px!important;
  border:1px solid #eeeae2!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(25,27,30,.055)!important;
}
.driver-workspace.driver-active-mode .driver-passenger-main{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-avatar{
  width:50px!important;
  height:50px!important;
  flex:0 0 50px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#fff3cf!important;
  color:#5f4a00!important;
  border:2px solid #f9bd24!important;
  box-shadow:0 0 0 4px rgba(249,189,36,.10)!important;
  font-size:18px!important;
  font-weight:900!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-name{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-name small{
  color:#969087!important;
  font-size:9px!important;
  font-weight:800!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-name strong{
  margin-top:3px!important;
  color:#17191d!important;
  font-size:14px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.driver-workspace.driver-active-mode .driver-passenger-fare{
  flex:0 0 auto!important;
  text-align:right!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
}
.driver-workspace.driver-active-mode .driver-passenger-fare small{
  color:#969087!important;
  font-size:8px!important;
  font-weight:800!important;
}
.driver-workspace.driver-active-mode .driver-passenger-fare strong{
  margin-top:3px!important;
  color:#17191d!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:900!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row{
  display:grid!important;
  grid-template-columns:1.55fr .9fr!important;
  gap:8px!important;
  margin-top:11px!important;
  padding-top:10px!important;
  border-top:1px solid #f0ede7!important;
}
.driver-workspace.driver-active-mode .driver-passenger-origin,
.driver-workspace.driver-active-mode .driver-passenger-payment{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:13px!important;
  background:#faf9f6!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  background:#fff0c5!important;
  color:#765900!important;
  font-size:14px!important;
  font-weight:900!important;
}
.driver-workspace.driver-active-mode .driver-passenger-origin>div,
.driver-workspace.driver-active-mode .driver-passenger-payment>div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-workspace.driver-active-mode .driver-passenger-origin small,
.driver-workspace.driver-active-mode .driver-passenger-payment small{
  color:#9a948a!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
}
.driver-workspace.driver-active-mode .driver-passenger-origin strong,
.driver-workspace.driver-active-mode .driver-passenger-payment strong{
  margin-top:2px!important;
  color:#25272b!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message{
  width:100%!important;
  min-height:36px!important;
  margin:9px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid #e7e3db!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#27292d!important;
  font-size:10px!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message small{
  min-width:15px!important;
  height:15px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#ffd24f!important;
  color:#17191d!important;
  font-size:8px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message b{
  margin-left:auto!important;
  margin-right:4px!important;
  color:#a29b90!important;
}

/* RAYT DRIVER — FINAL: expand the REAL route map visibly on the active-trip screen.
   This override is intentionally last so earlier compact-phone rules cannot shrink it. */
.driver-app.driver-active-mode .active-trip-card .rayt-premium-map,
.driver-workspace.driver-active-mode .active-trip-card .rayt-premium-map{
  flex:0 0 275px!important;
  height:275px!important;
  min-height:275px!important;
  max-height:275px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:15px!important;
  box-sizing:border-box!important;
}

.driver-app.driver-active-mode .active-trip-card .rayt-driver-real-map,
.driver-workspace.driver-active-mode .active-trip-card .rayt-driver-real-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

/* Keep the real map clean: no simulated route/street layer or caption over it. */
.driver-app.driver-active-mode .rayt-premium-streets,
.driver-app.driver-active-mode .rayt-premium-line,
.driver-app.driver-active-mode .rayt-premium-map-caption,
.driver-workspace.driver-active-mode .rayt-premium-streets,
.driver-workspace.driver-active-mode .rayt-premium-line,
.driver-workspace.driver-active-mode .rayt-premium-map-caption{
  display:none!important;
}

@media (max-width:390px){
  .driver-app.driver-active-mode .active-trip-card .rayt-premium-map,
  .driver-workspace.driver-active-mode .active-trip-card .rayt-premium-map{
    flex:0 0 275px!important;
    height:275px!important;
    min-height:275px!important;
    max-height:275px!important;
  }
}

/* RAYT DRIVER — remove duplicated lower trip summary */
.driver-workspace.driver-active-mode .driver-focus-summary{
  display:none!important;
}

/* RAYT DRIVER — passenger card: message replaces origin; route shown outside */
.driver-workspace.driver-active-mode .driver-passenger-info-row{
  display:grid!important;
  grid-template-columns:1.55fr .9fr!important;
  align-items:stretch!important;
  gap:8px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row .driver-passenger-message{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row .driver-passenger-payment{
  min-width:0!important;
}
.driver-workspace.driver-active-mode .driver-focus-route{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin:9px 10px 0!important;
  padding:0!important;
}
.driver-workspace.driver-active-mode .driver-focus-route>div{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:#faf9f6!important;
  border:1px solid #eeeae3!important;
}
.driver-workspace.driver-active-mode .driver-focus-route>div i{
  width:10px!important;
  height:10px!important;
  flex:0 0 10px!important;
  border-radius:50%!important;
}
.driver-workspace.driver-active-mode .driver-focus-route>div i.yellow{
  background:#f9bd24!important;
}
.driver-workspace.driver-active-mode .driver-focus-route>div i.black{
  background:#17191d!important;
}
.driver-workspace.driver-active-mode .driver-focus-route span{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-workspace.driver-active-mode .driver-focus-route small{
  color:#99948b!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.driver-workspace.driver-active-mode .driver-focus-route strong{
  margin-top:2px!important;
  color:#25272b!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* RAYT DRIVER — compact message action so payment remains fully visible */
.driver-workspace.driver-active-mode .driver-passenger-info-row{
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:7px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row .driver-passenger-message{
  min-width:0!important;
  width:100%!important;
  min-height:34px!important;
  padding:0 8px!important;
  gap:5px!important;
  justify-content:flex-start!important;
  font-size:9px!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message b{
  margin-left:auto!important;
  margin-right:0!important;
  font-size:12px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message small{
  flex:0 0 auto!important;
  min-width:14px!important;
  width:14px!important;
  height:14px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row .driver-passenger-payment{
  width:92px!important;
  min-width:92px!important;
  padding:7px 8px!important;
  gap:6px!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .driver-passenger-payment .driver-passenger-info-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  font-size:12px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-payment strong{
  font-size:9px!important;
  white-space:nowrap!important;
}
.driver-workspace.driver-active-mode .driver-passenger-payment small{
  font-size:6px!important;
}

/* RAYT DRIVER — client-style active-trip composition.
   Keep all driver information, but use the same map-first card silhouette
   as the client screen: large map + floating white content sheet. */
.driver-workspace.driver-active-mode .active-trip-content{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0 10px 14px!important;
  background:#f6f7f8!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0 0 14px!important;
  gap:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(28,31,36,.10)!important;
  box-sizing:border-box!important;
}

/* Larger map hero, matching the client's map-first composition. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  position:relative!important;
  flex:0 0 285px!important;
  width:100%!important;
  height:285px!important;
  min-height:285px!important;
  max-height:285px!important;
  margin:0!important;
  border-radius:28px 28px 20px 20px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map .rayt-driver-real-map{
  border-radius:inherit!important;
}

/* Passenger card floats slightly over the bottom of the map,
   just like the client's driver-information card. */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  position:relative!important;
  z-index:10!important;
  margin:-18px 10px 0!important;
  padding:12px!important;
  border-radius:20px!important;
  border:1px solid #eeeae2!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(25,27,30,.08)!important;
}

/* Route information remains outside the passenger card. */
.driver-workspace.driver-active-mode .driver-focus-route{
  position:relative!important;
  z-index:5!important;
  margin:10px 10px 0!important;
  gap:7px!important;
}

/* Keep navigation actions visually attached to the lower card area. */
.driver-workspace.driver-active-mode .active-trip-actions{
  position:relative!important;
  z-index:5!important;
  margin:12px 10px 0!important;
}

/* The real map should always fill the hero. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map>.rayt-driver-real-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

/* Remove the old edge-to-edge active-card treatment. */
.driver-workspace.driver-active-mode .active-trip-card{
  align-items:stretch!important;
}

/* RAYT DRIVER — full-width, single-screen active trip */
.driver-workspace.driver-active-mode .active-trip-content{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 8px!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

/* Map spans the complete usable width of the phone. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  width:100%!important;
  max-width:none!important;
  flex:0 0 clamp(215px,34dvh,275px)!important;
  height:clamp(215px,34dvh,275px)!important;
  min-height:215px!important;
  max-height:275px!important;
  margin:0!important;
  border-radius:0 0 22px 22px!important;
}

/* Keep the information compact enough to fit without scrolling. */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  flex:0 0 auto!important;
  margin:-13px 12px 0!important;
  padding:10px!important;
  border-radius:18px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-main{
  min-height:43px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-identity .active-trip-client-avatar{
  width:43px!important;
  height:43px!important;
  flex-basis:43px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-fare strong{
  font-size:18px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-info-row{
  margin-top:7px!important;
}
.driver-workspace.driver-active-mode .driver-passenger-message,
.driver-workspace.driver-active-mode .driver-passenger-payment{
  min-height:32px!important;
  height:32px!important;
}

/* Route is outside the passenger card, but compact and always visible. */
.driver-workspace.driver-active-mode .driver-focus-route{
  flex:0 0 auto!important;
  margin:7px 12px 0!important;
  gap:5px!important;
}
.driver-workspace.driver-active-mode .driver-focus-route>div{
  min-height:34px!important;
  padding:6px 8px!important;
}
.driver-workspace.driver-active-mode .driver-focus-route small{
  font-size:6px!important;
}
.driver-workspace.driver-active-mode .driver-focus-route strong{
  font-size:9px!important;
}

/* Actions stay visible at the bottom without creating a scroll area. */
.driver-workspace.driver-active-mode .active-trip-actions{
  flex:0 0 auto!important;
  margin:7px 12px 0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
.driver-workspace.driver-active-mode .active-trip-actions .driver-action-navigate,
.driver-workspace.driver-active-mode .active-trip-actions .active-trip-primary{
  min-height:34px!important;
  height:34px!important;
}

/* Do not allow any active-trip child to create a vertical scroll. */
.driver-workspace.driver-active-mode .active-trip-content *{
  scrollbar-width:none!important;
}
.driver-workspace.driver-active-mode .active-trip-content *::-webkit-scrollbar{
  display:none!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
    flex-basis:215px!important;
    height:215px!important;
  }
  .driver-workspace.driver-active-mode .driver-passenger-premium{
    margin-top:-10px!important;
    padding:8px!important;
  }
  .driver-workspace.driver-active-mode .driver-focus-route{
    margin-top:5px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-actions{
    margin-top:5px!important;
  }
}

/* RAYT DRIVER — true edge-to-edge active-trip surface.
   Override the global .shell padding/max-width so the map and trip surface
   reach the actual phone viewport, even when the demo is rendered in a
   desktop-sized viewport. */
html:has(.driver-workspace.driver-active-mode),
body:has(.driver-workspace.driver-active-mode),
#app:has(.driver-workspace.driver-active-mode){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

body:has(.driver-workspace.driver-active-mode) .shell,
.shell:has(.driver-workspace.driver-active-mode){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.shell:has(.driver-workspace.driver-active-mode) > .driver-workspace.driver-active-mode{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* The map and the outer trip card touch both screen edges. */
.driver-workspace.driver-active-mode .active-trip-content,
.driver-workspace.driver-active-mode .active-trip-card,
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  border-radius:0 0 22px 22px!important;
}

/* Preserve only internal breathing room for the passenger/routing content. */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  margin-left:12px!important;
  margin-right:12px!important;
}
.driver-workspace.driver-active-mode .driver-focus-route,
.driver-workspace.driver-active-mode .active-trip-actions{
  margin-left:12px!important;
  margin-right:12px!important;
}

/* RAYT DRIVER — final full-screen distribution
   Use the whole vertical canvas instead of leaving a large white void
   below the action buttons. */
.driver-workspace.driver-active-mode .active-trip-content{
  background:#fff!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

.driver-workspace.driver-active-mode .active-trip-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0 0 8px!important;
  background:#fff!important;
  overflow:hidden!important;
}

/* Give the map enough presence without consuming the whole layout. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  flex:0 0 31dvh!important;
  height:31dvh!important;
  min-height:205px!important;
  max-height:270px!important;
  width:100%!important;
  border-radius:0 0 22px 22px!important;
}

/* Passenger information remains compact but spans almost the entire width. */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  flex:0 0 auto!important;
  width:calc(100% - 24px)!important;
  margin:-12px 12px 0!important;
  padding:11px 12px!important;
  box-sizing:border-box!important;
}

/* The route block absorbs the remaining vertical space so there is
   no unexplained empty area between route information and actions. */
.driver-workspace.driver-active-mode .driver-focus-route{
  flex:1 1 auto!important;
  width:calc(100% - 24px)!important;
  min-height:100px!important;
  margin:8px 12px 0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .driver-focus-route>div{
  flex:1 1 0!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  padding:9px 12px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}

.driver-workspace.driver-active-mode .driver-focus-route small{
  font-size:7px!important;
  letter-spacing:.04em!important;
}

.driver-workspace.driver-active-mode .driver-focus-route strong{
  font-size:10px!important;
  line-height:1.2!important;
}

/* Keep the two actions together and close to the bottom navigation,
   with no detached white area underneath. */
.driver-workspace.driver-active-mode .active-trip-actions{
  flex:0 0 auto!important;
  width:calc(100% - 24px)!important;
  margin:8px 12px 0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-actions .driver-action-navigate,
.driver-workspace.driver-active-mode .active-trip-actions .active-trip-primary{
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  box-sizing:border-box!important;
}

/* On shorter phones, prioritize the map and compact the route rows. */
@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
    flex-basis:28dvh!important;
    height:28dvh!important;
    min-height:190px!important;
  }
  .driver-workspace.driver-active-mode .driver-passenger-premium{
    padding:8px 10px!important;
  }
  .driver-workspace.driver-active-mode .driver-focus-route{
    min-height:78px!important;
    gap:5px!important;
    margin-top:5px!important;
  }
  .driver-workspace.driver-active-mode .driver-focus-route>div{
    min-height:38px!important;
    padding:7px 10px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-actions{
    margin-top:5px!important;
    gap:4px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-actions .driver-action-navigate,
  .driver-workspace.driver-active-mode .active-trip-actions .active-trip-primary{
    min-height:34px!important;
    height:34px!important;
  }
}

/* RAYT DRIVER — single expanded passenger/trip card */
.driver-workspace.driver-active-mode .driver-passenger-premium{
  width:calc(100% - 24px)!important;
  margin:-13px 12px 0!important;
  padding:13px!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid #ece8df!important;
  box-shadow:0 8px 22px rgba(25,27,30,.08)!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .driver-card-route{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid #eeeae3!important;
}

.driver-workspace.driver-active-mode .driver-card-route-item{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:38px!important;
  padding:7px 9px!important;
  border-radius:11px!important;
  background:#faf9f6!important;
  border:1px solid #eeeae3!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .driver-card-route-item>i{
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  border-radius:50%!important;
}
.driver-workspace.driver-active-mode .driver-card-route-item>i.yellow{background:#f9bd24!important}
.driver-workspace.driver-active-mode .driver-card-route-item>i.black{background:#17191d!important}

.driver-workspace.driver-active-mode .driver-card-route-item span{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.driver-workspace.driver-active-mode .driver-card-route-item small{
  color:#9b9489!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
}
.driver-workspace.driver-active-mode .driver-card-route-item strong{
  margin-top:3px!important;
  color:#25272b!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.driver-workspace.driver-active-mode .driver-card-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin-top:9px!important;
}
.driver-workspace.driver-active-mode .driver-card-actions .driver-action-navigate,
.driver-workspace.driver-active-mode .driver-card-actions .active-trip-primary{
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .driver-card-actions .driver-action-navigate{
  border-radius:12px!important;
}
.driver-workspace.driver-active-mode .driver-card-actions .active-trip-primary{
  border-radius:12px!important;
}

/* Since route/actions are now inside the passenger card, remove the old
   external containers if any remain from a previous render. */
.driver-workspace.driver-active-mode .driver-focus-route,
.driver-workspace.driver-active-mode .active-trip-actions{
  display:none!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .driver-passenger-premium{
    margin-top:-10px!important;
    padding:9px 10px!important;
  }
  .driver-workspace.driver-active-mode .driver-card-route{
    margin-top:7px!important;
    padding-top:7px!important;
    gap:4px!important;
  }
  .driver-workspace.driver-active-mode .driver-card-route-item{
    min-height:32px!important;
    padding:5px 8px!important;
  }
  .driver-workspace.driver-active-mode .driver-card-actions{
    margin-top:6px!important;
    gap:4px!important;
  }
  .driver-workspace.driver-active-mode .driver-card-actions .driver-action-navigate,
  .driver-workspace.driver-active-mode .driver-card-actions .active-trip-primary{
    min-height:33px!important;
    height:33px!important;
  }
}

/* RAYT DRIVER — trip card truly edge-to-edge */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  width:100%!important;
  max-width:none!important;
  margin:-13px 0 0!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:22px 22px 0 0!important;
  box-sizing:border-box!important;
  padding-left:0!important;
  padding-right:0!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium .driver-passenger-main,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium .driver-passenger-info-row,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium .driver-card-route,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium .driver-card-actions{
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

/* RAYT DRIVER — remove the remaining 12px side gutter from BOTH driver phones.
   The parent sheet in some simulator states keeps internal horizontal padding.
   Break the active trip surface out to the sheet edges while preserving the
   internal spacing of the information. */
.driver-workspace.driver-active-mode .active-trip-content{
  width:calc(100% + 24px)!important;
  max-width:none!important;
  margin-left:-12px!important;
  margin-right:-12px!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-card{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* The full-width passenger card stays edge-to-edge too. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Internal content remains centered with breathing room. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-passenger-main,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-passenger-info-row,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-card-route,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-card-actions{
  width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* RAYT DRIVER — absolute edge-to-edge: remove any remaining parent gutter */
html:has(.driver-workspace.driver-active-mode),
body:has(.driver-workspace.driver-active-mode),
#app:has(.driver-workspace.driver-active-mode),
.shell:has(> .driver-workspace.driver-active-mode),
.shell:has(> .driver-workspace.driver-active-mode) > .driver-workspace.driver-active-mode,
.driver-workspace.driver-active-mode,
.driver-workspace.driver-active-mode > .driver-sheet,
.driver-workspace.driver-active-mode .active-trip-content,
.driver-workspace.driver-active-mode .active-trip-card{
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Prevent the viewport itself from introducing horizontal overflow. */
html:has(.driver-workspace.driver-active-mode),
body:has(.driver-workspace.driver-active-mode){
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

/* Full-width map/card surfaces. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Keep only the intended inner content spacing. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-passenger-main,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-passenger-info-row,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-card-route,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium > .driver-card-actions{
  width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* RAYT DRIVER — unified premium trip card
   IMPORTANT: this block changes only the internal visual hierarchy.
   The already-approved full-width map/card geometry is untouched. */

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
  border-top:1px solid #f0eee9!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Passenger + fare = clear header of the journey card */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:52px!important;
  align-items:center!important;
  padding-bottom:9px!important;
  border-bottom:1px solid #eeeae3!important;
}

/* Message/payment become one compact utility row */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row{
  min-height:38px!important;
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;
  gap:7px!important;
  align-items:stretch!important;
}

/* Route is one visual component, not two floating cards */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
  flex:1 1 auto!important;
  min-height:96px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 0!important;
  border-top:1px solid #eeeae3!important;
  border-bottom:1px solid #eeeae3!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  position:relative!important;
  min-height:40px!important;
  padding:7px 10px 7px 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:0!important;
  border-radius:10px!important;
  background:#f8f8f6!important;
  box-sizing:border-box!important;
}

/* Subtle route connector */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item:first-child:after{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  top:25px!important;
  width:1px!important;
  height:19px!important;
  background:#d8d5ce!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item>i{
  position:relative!important;
  z-index:2!important;
  width:8px!important;
  height:8px!important;
  flex:0 0 8px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item span{
  flex:1!important;
}

/* Actions: secondary navigation + dominant primary action */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin-top:0!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
  min-height:40px!important;
  height:40px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid #f2bd2a!important;
  color:#27282b!important;
  box-shadow:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  min-height:46px!important;
  height:46px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 5px 13px rgba(249,189,36,.22)!important;
}

/* Make the main content breathe without recreating the old empty block. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row,
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route,
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Short screens: preserve the same hierarchy without scrolling. */
@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
    gap:6px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
    min-height:46px!important;
    padding-bottom:6px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
    min-height:78px!important;
    padding:5px 0!important;
    gap:4px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
    min-height:34px!important;
    padding:5px 9px 5px 13px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
    min-height:34px!important;
    height:34px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
    min-height:40px!important;
    height:40px!important;
  }
}

/* RAYT DRIVER — slightly taller navigation and primary action buttons.
   Do not alter width, margins, or the approved edge-to-edge layout. */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
  min-height:46px!important;
  height:46px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  min-height:48px!important;
  height:48px!important;
}

/* RAYT DRIVER — slightly larger passenger profile + route information.
   Preserve the approved width/margins and existing button hierarchy. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  flex:0 0 50px!important;
  font-size:19px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  min-height:44px!important;
  padding:8px 11px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item small{
  font-size:7.5px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item strong{
  font-size:11px!important;
  line-height:1.2!important;
  margin-top:3px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item>i{
  width:10px!important;
  height:10px!important;
  flex-basis:10px!important;
}

/* RAYT DRIVER — card flush with the bottom navigation.
   Preserve the approved edge-to-edge width; remove only the lower gap. */
.driver-workspace.driver-active-mode .active-trip-content{
  padding-bottom:0!important;
  margin-bottom:0!important;
  background:#fff!important;
  min-height:0!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-card{
  margin-bottom:0!important;
  padding-bottom:0!important;
  min-height:0!important;
  height:100%!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Make the white trip surface reach the navigation bar with no gray strip. */
.driver-workspace.driver-active-mode .active-trip-card::after{
  display:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  margin-bottom:0!important;
}

/* Keep the bottom of the trip card visually white all the way to the nav. */
.driver-workspace.driver-active-mode .active-trip-content,
.driver-workspace.driver-active-mode .active-trip-card{
  border-bottom:0!important;
}

/* RAYT DRIVER — premium internal trip-card redesign
   IMPORTANT: outer width/margins/layout remain untouched. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  padding:12px 0 10px!important;
  background:#fff!important;
  border-radius:20px 20px 0 0!important;
  box-shadow:none!important;
}

/* Passenger + fare header */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:58px!important;
  padding:0 12px 10px!important;
  border-bottom:1px solid #eeeae3!important;
  align-items:center!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  flex:0 0 50px!important;
  font-size:19px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-name{
  font-size:14px!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-role,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main small{
  font-size:7px!important;
  letter-spacing:.06em!important;
  font-weight:850!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare strong{
  font-size:20px!important;
  line-height:1!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare small{
  font-size:7px!important;
}

/* Contact + payment become one clean utility row */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row{
  width:calc(100% - 24px)!important;
  margin:9px auto 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(92px,1fr)!important;
  gap:8px!important;
  border:0!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  min-height:38px!important;
  height:38px!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message{
  width:100%!important;
  padding:0 10px!important;
  font-size:9px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  width:100%!important;
  padding:0 9px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment strong{
  font-size:9px!important;
}

/* Origin → destination as one connected route section */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
  width:calc(100% - 24px)!important;
  margin:11px auto 0!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  position:relative!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route:before{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  top:18px!important;
  bottom:18px!important;
  width:1px!important;
  background:#ddd9d0!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  position:relative!important;
  min-height:47px!important;
  padding:8px 10px 8px 34px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#f8f8f6!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item:first-child{
  border-radius:12px 12px 6px 6px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item:last-child{
  margin-top:3px!important;
  border-radius:6px 6px 12px 12px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item>i{
  position:absolute!important;
  left:11px!important;
  top:17px!important;
  width:10px!important;
  height:10px!important;
  flex:0 0 10px!important;
  border:2px solid #fff!important;
  box-sizing:border-box!important;
  z-index:2!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item span{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item small{
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
  color:#989185!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item strong{
  margin-top:4px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  font-weight:850!important;
}

/* Action hierarchy */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  width:calc(100% - 24px)!important;
  margin:10px auto 0!important;
  padding:0!important;
  gap:7px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
  min-height:46px!important;
  height:46px!important;
  border-radius:12px!important;
  background:#fffdf8!important;
  border:1px solid #f0bd2b!important;
  box-shadow:none!important;
  font-size:10px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate span:first-child{
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff0bf!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate small{
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  min-height:48px!important;
  height:48px!important;
  border-radius:13px!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(231,174,35,.18)!important;
}

/* Shorter screens: compact only the internal spacing, never outer geometry. */
@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
    padding-top:8px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
    min-height:52px!important;
    padding-bottom:7px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row{
    margin-top:7px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
    margin-top:8px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
    margin-top:7px!important;
  }
}

/* RAYT DRIVER — taller passenger/fare header */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:78px!important;
  height:78px!important;
  padding-top:10px!important;
  padding-bottom:12px!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  flex-basis:56px!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare strong{
  font-size:21px!important;
}

/* RAYT DRIVER — taller contact/payment row */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  min-height:46px!important;
  height:46px!important;
  box-sizing:border-box!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message{
  padding-top:0!important;
  padding-bottom:0!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  padding-top:0!important;
  padding-bottom:0!important;
}

/* RAYT DRIVER — compact the white trip card and give the freed height to the map.
   Outer width/margins remain untouched. */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  flex-basis:calc(31dvh + 42px)!important;
  height:calc(31dvh + 42px)!important;
  max-height:none!important;
  min-height:220px!important;
}

/* Compact only the internal vertical rhythm of the white card. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  padding-top:8px!important;
  padding-bottom:7px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:70px!important;
  height:70px!important;
  padding-top:7px!important;
  padding-bottom:8px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row{
  margin-top:7px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  min-height:42px!important;
  height:42px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
  margin-top:8px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  min-height:42px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item:last-child{
  margin-top:2px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  margin-top:7px!important;
  gap:5px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
  min-height:44px!important;
  height:44px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  min-height:46px!important;
  height:46px!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
    flex-basis:calc(28dvh + 35px)!important;
    height:calc(28dvh + 35px)!important;
  }
}

/* RAYT DRIVER — one more compact pass, preserving approved outer geometry */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  flex-basis:calc(31dvh + 58px)!important;
  height:calc(31dvh + 58px)!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  padding-top:6px!important;
  padding-bottom:5px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:64px!important;
  height:64px!important;
  padding-top:5px!important;
  padding-bottom:6px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row{
  margin-top:5px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  min-height:39px!important;
  height:39px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
  margin-top:6px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  min-height:38px!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  margin-top:6px!important;
  gap:4px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate{
  min-height:42px!important;
  height:42px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  min-height:44px!important;
  height:44px!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
    flex-basis:calc(28dvh + 48px)!important;
    height:calc(28dvh + 48px)!important;
  }
}

/* RAYT DRIVER — warm yellow diffused trip card, matching the client-side visual language.
   Keep the approved edge-to-edge geometry and all internal sizing unchanged. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  background:
    radial-gradient(circle at 12% 8%, rgba(255,226,118,.34) 0%, rgba(255,226,118,0) 38%),
    radial-gradient(circle at 88% 92%, rgba(255,203,47,.20) 0%, rgba(255,203,47,0) 42%),
    linear-gradient(145deg, #fffdf5 0%, #fff8dc 48%, #fff3bf 100%)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Softer route surfaces so they blend into the warm card instead of looking
   like separate white cards. */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  background:rgba(255,255,255,.46)!important;
  border:1px solid rgba(255,255,255,.55)!important;
}

/* Contact/payment surfaces stay slightly lighter for hierarchy. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  background:rgba(255,255,255,.62)!important;
  border-color:rgba(226,184,59,.18)!important;
}

/* Keep the passenger header integrated with the yellow surface. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  border-bottom-color:rgba(186,148,35,.18)!important;
}

/* RAYT DRIVER — use the same soft warm cream background as the client trip card.
   This replaces the stronger yellow wash while preserving all approved geometry. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  background:linear-gradient(125deg,#fff6df 0%,#fffaf1 47%,#fffdf8 100%)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Keep the route blocks subtly differentiated, matching the client's soft
   cream/white layered treatment rather than yellow panels. */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  background:rgba(255,255,255,.48)!important;
  border:1px solid rgba(229,222,207,.55)!important;
}

/* Contact/payment remain light, as in the client card. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  background:rgba(255,255,255,.68)!important;
  border-color:rgba(224,215,196,.55)!important;
}

/* RAYT DRIVER — lighter client-card background */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-premium{
  background:linear-gradient(125deg,#fffaf0 0%,#fffdf8 48%,#ffffff 100%)!important;
}

/* Keep internal surfaces very light and close to the client view. */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(232,226,215,.48)!important;
}
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-message,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-info-row .driver-passenger-payment{
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(229,222,207,.42)!important;
}

/* RAYT DRIVER — taller passenger header + stronger fare hierarchy.
   Preserve the approved outer geometry, map, margins and card background. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:88px!important;
  height:88px!important;
  padding:10px 12px 12px!important;
  box-sizing:border-box!important;
  align-items:center!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  flex:0 0 62px!important;
  font-size:21px!important;
  border-width:2px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-name{
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:900!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-role,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main small{
  font-size:7.5px!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
}

/* Fare becomes the visual focal point without turning into a separate card. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare{
  min-width:82px!important;
  padding-left:12px!important;
  margin-left:auto!important;
  border-left:1px solid rgba(218,197,145,.38)!important;
  text-align:right!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare small{
  display:block!important;
  margin-bottom:4px!important;
  color:#8f887b!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare strong{
  display:block!important;
  color:#17191d!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
    min-height:82px!important;
    height:82px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    flex-basis:58px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-fare strong{
    font-size:22px!important;
  }
}

/* RAYT DRIVER — compact header: passenger photo + first name + subtle message + fare.
   Payment is intentionally removed from this header to reduce visual clutter. */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px auto!important;
  align-items:center!important;
  column-gap:8px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-identity{
  min-width:0!important;
}

.driver-workspace.driver-active-mode .active-trip-card .active-trip-client-name strong{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:block!important;
  max-width:120px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border-radius:11px!important;
  border:1px solid rgba(221,209,185,.65)!important;
  background:rgba(255,255,255,.60)!important;
  color:#6f675b!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  font-size:13px!important;
  box-shadow:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message:hover{
  background:rgba(255,255,255,.82)!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message small{
  position:absolute!important;
  right:-3px!important;
  top:-3px!important;
  min-width:13px!important;
  height:13px!important;
  padding:0 3px!important;
  border-radius:99px!important;
  background:#ffc52f!important;
  color:#5f4a00!important;
  font-size:7px!important;
  line-height:13px!important;
  font-weight:900!important;
  text-align:center!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare{
  min-width:82px!important;
  padding-left:10px!important;
  margin-left:0!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare strong{
  font-size:24px!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
  }
}

/* RAYT DRIVER — contact buttons in passenger header */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  grid-template-columns:minmax(0,1fr) 80px auto!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-contact{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-call,
.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border-radius:11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-call{
  border:1px solid rgba(221,209,185,.65)!important;
  background:rgba(255,255,255,.60)!important;
  color:#6f675b!important;
  font-size:14px!important;
  box-shadow:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border:1px solid rgba(221,209,185,.65)!important;
  background:rgba(255,255,255,.72)!important;
  color:#5f584d!important;
  font-size:14px!important;
  box-shadow:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-call:active,
.driver-workspace.driver-active-mode .active-trip-card .driver-header-message:active{
  transform:scale(.96)!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-header-call{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  }
}

/* RAYT DRIVER — minimalist, aligned message action */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  grid-template-columns:minmax(0,1fr) 42px auto!important;
  column-gap:10px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  border-radius:12px!important;
  border:1px solid rgba(218,207,184,.58)!important;
  background:rgba(255,255,255,.56)!important;
  color:#5f594f!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  box-shadow:none!important;
  font-size:15px!important;
  line-height:1!important;
  align-self:center!important;
  justify-self:center!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message small{
  position:absolute!important;
  right:-4px!important;
  top:-4px!important;
  min-width:13px!important;
  height:13px!important;
  padding:0 3px!important;
  border-radius:99px!important;
  background:#ffc52f!important;
  color:#5f4a00!important;
  font-size:7px!important;
  line-height:13px!important;
  font-weight:900!important;
  text-align:center!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message:active{
  transform:scale(.96)!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
}

/* RAYT DRIVER — bring message button closer to passenger name */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  grid-template-columns:minmax(0,auto) 42px auto!important;
  justify-content:start!important;
  column-gap:8px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-identity{
  min-width:0!important;
  max-width:150px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  justify-self:start!important;
  margin-left:0!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare{
  margin-left:auto!important;
}

/* RAYT DRIVER — balanced header: passenger, message and fare aligned as one group */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px minmax(82px,auto)!important;
  align-items:center!important;
  justify-content:stretch!important;
  column-gap:10px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-identity{
  min-width:0!important;
  max-width:none!important;
  justify-self:start!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  justify-self:center!important;
  margin:0!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare{
  min-width:82px!important;
  margin:0!important;
  padding-left:10px!important;
  justify-self:end!important;
  text-align:right!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare small,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare strong{
  text-align:right!important;
}

/* RAYT DRIVER — expand internal information without changing outer card geometry */
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
  min-height:94px!important;
  height:94px!important;
  padding-top:12px!important;
  padding-bottom:14px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  flex-basis:64px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .active-trip-client-name strong{
  font-size:16px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-header-message{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-passenger-fare strong{
  font-size:25px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route{
  margin-top:10px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item{
  min-height:48px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-route-item strong{
  font-size:12px!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions{
  width:calc(100% - 24px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .driver-action-navigate,
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  padding-left:12px!important;
  padding-right:12px!important;
}

@media(max-height:700px){
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main{
    min-height:88px!important;
    height:88px!important;
  }
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .driver-passenger-avatar,
  .driver-workspace.driver-active-mode .active-trip-card .driver-passenger-main .active-trip-client-avatar{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    min-height:60px!important;
    flex-basis:60px!important;
  }
}

/* RAYT DRIVER — premium attention animation for the "Llegué..." primary action.
   Subtle enough for a professional mobility app, without moving the layout. */
.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  animation:raytArrivePulse 2.8s ease-in-out infinite!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(
    105deg,
    transparent 0%,
    transparent 38%,
    rgba(255,255,255,.48) 50%,
    transparent 62%,
    transparent 100%
  )!important;
  transform:translateX(-115%)!important;
  animation:raytButtonShine 3.6s ease-in-out infinite!important;
  pointer-events:none!important;
  z-index:-1!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary::after{
  content:""!important;
  position:absolute!important;
  inset:2px!important;
  border-radius:11px!important;
  box-shadow:0 0 0 0 rgba(255,197,47,.38)!important;
  animation:raytButtonGlow 2.8s ease-in-out infinite!important;
  pointer-events:none!important;
}

.driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary > *{
  position:relative!important;
  z-index:2!important;
}

@keyframes raytArrivePulse{
  0%,100%{transform:translateY(0);filter:saturate(1);}
  50%{transform:translateY(-1px);filter:saturate(1.06);}
}

@keyframes raytButtonShine{
  0%,42%{transform:translateX(-115%);}
  68%,100%{transform:translateX(115%);}
}

@keyframes raytButtonGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(255,197,47,.28);}
  50%{box-shadow:0 0 0 5px rgba(255,197,47,0);}
}

@media (prefers-reduced-motion:reduce){
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary,
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary::before,
  .driver-workspace.driver-active-mode .active-trip-card .driver-card-actions .active-trip-primary::after{
    animation:none!important;
  }
}

/* RAYT DRIVER — robust visible animation for the primary "Llegué..." button.
   Intentionally targets the button itself so it works in every active-trip state. */
.active-trip-primary{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  animation:raytLlegueBreath 2.4s ease-in-out infinite!important;
}

.active-trip-primary::before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  bottom:0!important;
  left:-65%!important;
  width:38%!important;
  transform:skewX(-18deg)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;
  animation:raytLlegueSweep 2.8s ease-in-out infinite!important;
  pointer-events:none!important;
}

.active-trip-primary::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  border-radius:inherit!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 0 0 rgba(255,194,36,.42)!important;
  animation:raytLlegueGlow 2.4s ease-in-out infinite!important;
  pointer-events:none!important;
}

.active-trip-primary > *{
  position:relative!important;
  z-index:2!important;
}

@keyframes raytLlegueBreath{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-1px) scale(1.008);}
}

@keyframes raytLlegueSweep{
  0%,35%{left:-65%;}
  70%,100%{left:135%;}
}

@keyframes raytLlegueGlow{
  0%,100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 0 0 rgba(255,194,36,.42);}
  50%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.30),0 0 0 5px rgba(255,194,36,0);}
}

@media(prefers-reduced-motion:reduce){
  .active-trip-primary,
  .active-trip-primary::before,
  .active-trip-primary::after{
    animation:none!important;
  }
}

/* RAYT DRIVER — restore/force real Leaflet map rendering */
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map{
  position:relative!important;
  overflow:hidden!important;
  background:#eef0ef!important;
}
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map .rayt-driver-real-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
  z-index:1!important;
}
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map .leaflet-container{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  z-index:1!important;
  background:#eef0ef!important;
}
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map .leaflet-tile-container,
.driver-workspace.driver-active-mode .active-trip-card>.rayt-premium-map .leaflet-map-pane{
  z-index:1!important;
}

/* RAYT · Conductor / Mi actividad: historial sin mapa, a pantalla completa. */
.shell:has(> .driver-history-mode){padding:0!important;max-width:none!important;width:100%!important;overflow:hidden!important}
.shell:has(> .driver-history-mode)>.top,.shell:has(> .driver-history-mode)>.hero,.shell:has(> .driver-history-mode)>.footer{display:none!important}
.shell:has(> .driver-history-mode)>.driver-history-mode{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;min-width:0!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important;border-radius:0!important;box-shadow:none!important}
.driver-history-mode>.driver-map{display:none!important}
.shell:has(> .driver-history-mode) .driver-history-mode>.driver-sheet{position:relative!important;display:block!important;flex:1 1 0!important;height:0!important;min-height:0!important;max-width:100%!important;width:100%!important;margin:0!important;padding:0 14px calc(83px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#1b222c!important}
.driver-history-mode>.driver-sheet::-webkit-scrollbar{display:none}
.driver-history-mode .driver-history-header{padding:calc(14px + env(safe-area-inset-top)) 2px 15px!important;background:#fff!important;color:#1b222c!important}
.driver-history-mode .driver-history-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}
.driver-history-mode .driver-history-brand strong{font-size:25px;font-weight:950;font-style:italic;letter-spacing:-1.3px}
.driver-history-mode .driver-history-brand strong span{color:#ffc629;margin-left:3px}
.driver-history-mode .driver-history-brand button{background:#f6f7f9;color:#252c35;border:1px solid #e6e9ee;border-radius:12px;padding:9px 13px;font-weight:700;font-size:12px;box-shadow:none}
.driver-history-mode .driver-history-header h1{font-size:25px;font-weight:900;letter-spacing:-.8px;margin:0 0 3px;color:#1b222c}
.driver-history-mode .driver-history-header p{font-size:12px;color:#858c96;margin:0}
.driver-history-mode .driver-section-title{color:#1b222c!important;font-size:15px!important;margin:5px 2px 13px!important}
.shell:has(> .driver-history-mode) .driver-history-mode .driver-request{background:#fff!important;color:#1b222c!important;border:1px solid #e5e9ef!important;border-radius:18px!important;padding:15px!important;margin-bottom:11px!important;box-shadow:0 4px 16px #1d243008!important;min-width:0;box-sizing:border-box}
.driver-history-mode .driver-request>strong{font-size:17px;letter-spacing:-.35px;color:#1b222c!important;display:inline-block;max-width:66%;overflow-wrap:anywhere}
.driver-history-mode .driver-trip-rating{font-size:11px;color:#ae7d00!important}
.driver-history-mode .driver-route{background:#f6f7f9!important;border:1px solid #eef0f3!important;border-radius:13px!important;padding:11px 12px!important;margin:13px 0 10px!important;gap:11px!important}
.driver-history-mode .driver-route span{color:#333b46!important;font-size:12px!important}
.driver-history-mode .driver-fare{margin-top:0!important;padding:10px 0 0!important;border-top:1px solid #edf0f3!important}
.driver-history-mode .driver-fare strong{color:#1b222c!important;font-size:19px!important}
.driver-history-mode .driver-fare .pill{color:#886000!important;background:#fff2cc!important;border:0!important;border-radius:30px!important;font-size:10px!important;padding:7px 10px!important}
.driver-history-mode .empty{background:#f8f9fb!important;color:#7b838f!important;border:1px solid #eceef1!important}


/* v10.0 — Perfil del conductor premium, más jerárquico y minimalista. */
.driver-profile-mode .driver-sheet{background:#fff!important}
.driver-profile-mode .driver-profile.driver-profile-redesigned{padding:0 0 calc(18px + env(safe-area-inset-bottom))!important;background:#fff!important;gap:0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-cover{height:118px!important;padding:20px 18px 14px!important;border-radius:0!important;background:radial-gradient(circle at 86% 16%,rgba(241,193,44,.95) 0,rgba(241,193,44,.58) 16%,rgba(241,193,44,0) 42%),linear-gradient(135deg,#0f141d 0%,#161c27 42%,#232a35 72%,#2e343b 100%)!important;position:relative!important;overflow:hidden!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-logo{position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;font-size:23px;font-weight:900;letter-spacing:.11em;color:#fff}
.driver-profile-mode .driver-profile-redesigned .driver-profile-logo span{color:#ffcb35}
.driver-profile-mode .driver-profile-redesigned .driver-profile-cover-pattern{position:absolute;right:-18px;top:-66px;width:205px;height:205px;border:24px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:-54px 38px 0 0 rgba(255,255,255,.04),-106px 74px 0 0 rgba(255,255,255,.03)}
.driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{margin:-44px 15px 0!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;position:relative!important;z-index:3!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo{width:94px!important;height:94px!important;min-width:94px!important;min-height:94px!important;border:5px solid #fff!important;border-radius:50%!important;background:#f3ca4a!important;box-shadow:0 14px 34px rgba(15,20,29,.18)!important;font-size:27px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo-wrap>.driver-photo-plus{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;right:3px!important;bottom:3px!important;border:3px solid #fff!important;background:#151b24!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,20,29,.22)!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo-wrap>.driver-photo-plus svg{width:15px;height:15px;display:block}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn{margin:0 0 10px!important;padding:13px 18px!important;border-radius:999px!important;border:1px solid #dce8dd!important;background:#f9fcf8!important;color:#19212b!important;font-size:13px!important;font-weight:700!important;gap:10px!important;box-shadow:0 8px 16px rgba(25,33,43,.06)!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn .online-dot{width:12px!important;height:12px!important;background:#22c55e!important;box-shadow:0 0 0 5px rgba(34,197,94,.12)!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn.is-offline{border-color:#e0e2e7!important;background:#f4f5f7!important;color:#606875!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn.is-offline .online-dot{background:#9aa1ad!important;box-shadow:none!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-person{padding:18px 15px 8px!important;border:0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-person h1{margin:0 0 8px!important;font-size:30px!important;line-height:1.02!important;letter-spacing:-1.2px!important;color:#0f1621!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14px;color:#6f7784}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-star{font-size:19px;line-height:1;color:#e2a90b}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-line strong{font-size:16px;color:#121925}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-count{color:#7f8793;font-size:13px}
.driver-profile-mode .driver-profile-redesigned .driver-profile-card{width:calc(100% - 30px)!important;margin:0 15px 14px!important;border:1px solid #eceef2!important;border-radius:20px!important;background:#fff!important;box-shadow:0 5px 18px rgba(15,20,29,.04)!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{display:flex!important;align-items:center!important;gap:14px!important;padding:18px!important;text-align:left!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-icon{width:72px!important;height:72px!important;border-radius:18px!important;background:#fff4cc!important;display:grid!important;place-items:center!important;font-size:35px!important;flex-shrink:0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy small,.driver-profile-mode .driver-profile-redesigned .driver-stat-copy small{font-size:12px!important;letter-spacing:.06em!important;color:#8f97a2!important;font-weight:700!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy strong{font-size:18px!important;line-height:1.15!important;color:#111823!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy span{font-size:14px!important;color:#8b93a0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading{padding:4px 15px 14px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading h2{margin:0!important;font-size:19px!important;line-height:1.1!important;letter-spacing:-.4px!important;color:#121925!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0 15px!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card{min-width:0!important;border:1px solid #ebeef3!important;border-radius:20px!important;background:#fff!important;padding:16px 15px!important;display:flex!important;align-items:flex-start!important;gap:14px!important;box-shadow:0 5px 16px rgba(15,20,29,.03)!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{grid-column:1/-1!important;background:linear-gradient(180deg,#fffdfa,#fffaf0)!important;border-color:#f0d98a!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon{width:50px;height:50px;border-radius:16px;background:#f5f6f8;display:grid;place-items:center;flex-shrink:0;font-size:24px;color:#7d8593;font-weight:900}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon.success{background:#e9f6eb;color:#1f9d4c;font-size:28px}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon.warm{background:#fff0c6;color:#d89d00;font-size:25px}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{font-size:29px!important;line-height:1!important;letter-spacing:-1.1px!important;color:#0f1621!important;white-space:nowrap!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy span{font-size:13px!important;color:#7b8390!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref{display:flex!important;align-items:center!important;gap:14px!important;padding:18px!important;text-align:left!important;background:linear-gradient(180deg,#fffdf6,#fffaf0)!important;border-color:#f0d16a!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref-icon{width:56px;height:56px;border-radius:17px;background:#ffcf3d;display:grid;place-items:center;font-size:27px;color:#161b24;flex-shrink:0;box-shadow:inset 0 -2px 0 rgba(0,0,0,.06)}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref>span:nth-child(2){display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;flex:1!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref strong{font-size:18px!important;line-height:1.12!important;color:#101722!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref small{font-size:13px!important;color:#8a92a0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-card-arrow{font-size:34px!important;line-height:1!important;color:#7c8490!important;font-weight:300!important;flex-shrink:0!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 18px!important;height:84px!important;background:#f5f6f8!important;color:#3f4754!important;border-color:#f0f1f3!important;margin-top:4px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left{display:flex!important;align-items:center!important;gap:14px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left i{font-style:normal!important;font-size:30px!important;line-height:1!important;color:#7a8391!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left strong{font-size:17px!important;color:#505865!important}
.driver-profile-mode .driver-profile-redesigned .rayt-account-entry{display:none!important}
@media (max-width:390px){.driver-profile-mode .driver-profile-redesigned .driver-profile-person h1{font-size:26px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-photo{width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn{padding:11px 15px!important;font-size:12px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-icon{width:64px!important;height:64px!important;font-size:31px!important}.driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{font-size:25px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-ref strong{font-size:17px!important}}
@media (max-height:720px){.driver-profile-mode .driver-profile-redesigned .driver-profile-cover{height:104px!important;padding-top:16px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{margin-top:-36px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-photo{width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-person{padding-top:14px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-person h1{font-size:24px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-card{margin-bottom:11px!important}.driver-profile-mode .driver-profile-redesigned .driver-stat-card{padding:14px 13px!important}.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{height:72px!important}}

/* v10.1 · Perfil móvil completo: una sola vista, sin scroll y sin cifras recortadas. */
.shell:has(.driver-profile-mode) .driver-profile-mode{
 height:100dvh!important;min-height:0!important;max-height:100dvh!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
.shell:has(.driver-profile-mode) .driver-profile-mode>.driver-sheet{
 flex:1 1 0!important;min-height:0!important;height:auto!important;
 overflow:hidden!important;padding:0!important;overscroll-behavior:none!important;
}
.driver-profile-mode .driver-profile.driver-profile-redesigned{
 height:100%!important;min-height:0!important;max-height:100%!important;
 box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
 justify-content:space-between!important;overflow:hidden!important;
 padding:0 0 7px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-cover{
 height:clamp(76px,11.6dvh,94px)!important;min-height:0!important;flex:0 0 auto!important;
 padding:14px 15px 12px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-logo{font-size:18px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{
 margin:-33px 12px 0!important;flex:0 0 auto!important;min-height:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo{
 width:clamp(60px,9.4dvh,74px)!important;height:clamp(60px,9.4dvh,74px)!important;
 min-width:clamp(60px,9.4dvh,74px)!important;min-height:clamp(60px,9.4dvh,74px)!important;
 border-width:4px!important;font-size:20px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo-wrap>.driver-photo-plus{
 width:21px!important;min-width:21px!important;max-width:21px!important;
 height:21px!important;min-height:21px!important;max-height:21px!important;
 border-width:2px!important;right:0!important;bottom:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo-wrap>.driver-photo-plus svg{width:11px;height:11px}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn{
 margin:0 0 5px!important;padding:7px 11px!important;font-size:10px!important;gap:7px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-status-btn .online-dot{
 width:7px!important;height:7px!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-person{
 flex:0 0 auto!important;padding:5px 12px 3px!important;min-height:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-person h1{
 font-size:clamp(18px,3.15dvh,23px)!important;letter-spacing:-.65px!important;
 line-height:1.1!important;margin:0 0 3px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-line{font-size:10px!important;gap:4px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-line strong{font-size:11px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-star{font-size:12px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-rating-count{font-size:9px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-card{
 width:calc(100% - 24px)!important;margin:0 12px!important;border-radius:13px!important;min-width:0!important;
 box-sizing:border-box!important;flex:0 0 auto!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{
 padding:7px 10px!important;gap:10px!important;min-height:52px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-icon{
 width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important;font-size:21px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy small{font-size:8px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy strong{font-size:12px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-copy span{font-size:9px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-card-arrow{font-size:22px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-summary{flex:0 0 auto!important;min-height:0!important;width:100%!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading{padding:0 12px 6px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading h2{font-size:15px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-stats{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:7px!important;padding:0 12px!important;box-sizing:border-box!important;width:100%!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card{
 padding:9px!important;gap:7px!important;min-width:0!important;width:auto!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 border-radius:13px!important;box-sizing:border-box!important;overflow:visible!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon{
 width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;
 border-radius:9px!important;font-size:15px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon.success{font-size:17px!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon.warm{font-size:18px!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy{
 flex:1 1 0!important;min-width:0!important;max-width:100%!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 gap:3px!important;text-align:left!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy small{
 font-size:clamp(8px,2.35vw,10px)!important;line-height:1.15!important;
 letter-spacing:0!important;white-space:normal!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{
 display:block!important;max-width:100%!important;width:auto!important;
 box-sizing:border-box!important;font-size:clamp(13px,3.8vw,19px)!important;
 line-height:1.12!important;letter-spacing:-.65px!important;
 white-space:normal!important;overflow-wrap:anywhere!important;
 font-variant-numeric:tabular-nums!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy span{font-size:9px!important;line-height:1.1!important}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{
 grid-column:1/-1!important;min-height:51px!important;justify-content:flex-start!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref{
 padding:8px 10px!important;gap:10px!important;min-height:56px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref-icon{
 width:37px!important;height:37px!important;min-width:37px!important;border-radius:10px!important;font-size:20px!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref strong{font-size:12px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref small{font-size:9px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{
 height:42px!important;min-height:42px!important;padding:0 12px!important;margin-top:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left{gap:9px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left i{font-size:19px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left strong{font-size:11px!important}
@media(max-width:355px){
 .driver-profile-mode .driver-profile-redesigned .driver-stat-card{padding:8px 6px!important;gap:5px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-stat-icon{width:25px!important;height:25px!important;min-width:25px!important;flex-basis:25px!important;font-size:13px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{font-size:clamp(12px,3.65vw,15px)!important}
}
@media(max-height:680px){
 .driver-profile-mode .driver-profile.driver-profile-redesigned{padding-bottom:3px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-cover{height:68px!important;padding:10px 14px 9px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{margin-top:-25px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-photo{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-person{padding:3px 12px 2px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-person h1{font-size:18px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{padding:5px 9px!important;min-height:45px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-icon{width:31px!important;height:31px!important;min-width:31px!important;font-size:18px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-heading{padding-bottom:4px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-stat-card{padding:7px 8px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{min-height:42px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-ref{min-height:47px!important;padding:6px 9px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-ref-icon{width:31px!important;height:31px!important;min-width:31px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-signout{height:36px!important;min-height:36px!important}
}

/* v10.3 · Perfil: cabecera idéntica a Inicio, foto entre portada y contenido. */
.driver-profile-mode .driver-profile.driver-profile-redesigned.driver-home-top{
 justify-content:flex-start!important;gap:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-cover.driver-ad-cover{
 height:clamp(76px,11.6dvh,94px)!important;min-height:0!important;max-height:none!important;
 flex:0 0 auto!important;padding:0!important;overflow:hidden!important;
 width:100%!important;background:#143c33!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .driver-ad-slide{
 inset:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;
 align-items:center!important;justify-content:flex-start!important;text-align:left!important;
 padding:23px 8px 4px 105px!important;gap:5px!important;height:100%!important;overflow:hidden!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-visual{
 position:static!important;transform:none!important;flex:0 0 18px!important;
 font-size:17px!important;line-height:1!important;filter:none!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-copy{
 min-width:0!important;flex:1!important;gap:1px!important;align-items:flex-start!important;
 justify-content:center!important;text-shadow:0 1px 2px #0004!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-kicker{display:none!important}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-copy strong{
 display:block!important;font-size:10px!important;line-height:1.05!important;
 white-space:normal!important;overflow-wrap:normal!important;letter-spacing:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-copy small{
 display:block!important;font-size:7px!important;line-height:1.1!important;white-space:normal!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-seal{display:none!important}
.driver-profile-mode .driver-profile-redesigned .driver-ad-cover .driver-ad-dots{
 right:7px!important;bottom:3px!important;z-index:5!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{
 margin:-33px 12px 0!important;position:relative!important;z-index:8!important;
 align-items:flex-end!important;min-height:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-photo{
 width:clamp(60px,9.4dvh,74px)!important;height:clamp(60px,9.4dvh,74px)!important;
 min-width:clamp(60px,9.4dvh,74px)!important;min-height:clamp(60px,9.4dvh,74px)!important;
 border:4px solid #fff!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-person{
 margin:0!important;padding:5px 12px 8px!important;border-bottom:1px solid #f0f0f0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-card{margin-top:6px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-summary{margin-top:7px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading{padding:0 12px 5px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref{margin-top:8px!important}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{margin-top:auto!important;margin-bottom:5px!important}
@media(max-width:355px){
 .driver-profile-mode .driver-profile-redesigned .driver-ad-cover .driver-ad-slide{padding-left:95px!important;gap:3px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-visual{flex-basis:15px!important;font-size:15px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-ad-cover .promo-copy strong{font-size:9px!important}
}
@media(max-height:680px){
 .driver-profile-mode .driver-profile-redesigned .driver-profile-cover.driver-ad-cover{height:68px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-overlap{margin-top:-25px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-photo{
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;
 }
 .driver-profile-mode .driver-profile-redesigned .driver-profile-person{padding:3px 12px 5px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-card{margin-top:4px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-summary{margin-top:4px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-ref{margin-top:5px!important}
}


/* Actividad: filtro Hoy / mes, sin alterar las otras pestañas del conductor. */
.driver-history-mode .driver-history-header{padding-bottom:12px!important}
.driver-history-mode .driver-history-filter{display:flex;gap:5px;background:#f3f5f7;border:1px solid #eaedf1;border-radius:14px;padding:4px;margin:0 2px 13px}
.driver-history-mode .driver-history-filter button{flex:1;min-height:39px;border:0!important;border-radius:10px;background:transparent!important;color:#737b87!important;font-size:13px;font-weight:750;box-shadow:none!important}
.driver-history-mode .driver-history-filter button.selected{background:#fff!important;color:#1c2530!important;box-shadow:0 2px 9px #1b243014!important}
.driver-history-mode .driver-history-month-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;font-size:12px;color:#717985;margin:0 2px 14px}
.driver-history-mode .driver-history-month-label select{max-width:65%;min-width:0;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #e4e8ee;color:#202934;font:inherit;text-transform:capitalize}
.driver-history-mode .driver-history-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 2px 19px}
.driver-history-mode .driver-history-summary>div{background:#f7f8fa;border:1px solid #edf0f3;border-radius:15px;padding:13px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.driver-history-mode .driver-history-summary small{font-size:11px;font-weight:600;color:#7a8390}
.driver-history-mode .driver-history-summary strong{font-size:21px;letter-spacing:-.6px;color:#202833;font-weight:850;overflow-wrap:anywhere}
.driver-history-mode .driver-section-title{display:flex;justify-content:space-between;align-items:center;text-transform:capitalize}
.driver-history-mode .driver-history-count{background:#f3f4f6;border-radius:99px;color:#717985;font-size:11px;padding:4px 9px}
.driver-history-mode .driver-history-trip-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.driver-history-mode .driver-history-trip-top>strong{font-size:16px;color:#1b222c;overflow-wrap:anywhere;min-width:0}
.driver-history-mode .driver-history-trip-top time{flex-shrink:0;color:#929aa5;font-size:11px}


/* v10.5 — Perfil móvil: repartir toda la altura útil sin alterar Inicio ni Actividad. */
.driver-profile-mode .driver-profile.driver-profile-redesigned.driver-home-top{
  justify-content:space-between!important;
  gap:0!important;
}
/* Evita que todo el espacio libre se acumule entre Referidos y Cerrar sesión. */
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{
  margin-top:clamp(5px,1.15dvh,11px)!important;
  margin-bottom:5px!important;
  flex:0 0 auto!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{
  min-height:clamp(53px,8.5dvh,74px)!important;
  padding:clamp(7px,1.35dvh,12px) 12px!important;
  align-items:center!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-summary{
  flex:0 0 auto!important;
  min-width:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-stats{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card{
  min-height:clamp(62px,10.1dvh,86px)!important;
  padding:clamp(9px,1.5dvh,13px) 9px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{
  min-height:clamp(51px,8.5dvh,72px)!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy{
  min-width:0!important;
  max-width:100%!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{
  max-width:100%!important;
  font-size:clamp(13px,3.65vw,19px)!important;
  letter-spacing:-.55px!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-icon{
  flex-shrink:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref{
  min-height:clamp(56px,8.8dvh,73px)!important;
  padding:clamp(8px,1.4dvh,13px) 12px!important;
  box-sizing:border-box!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{
  min-height:clamp(39px,6.2dvh,49px)!important;
  height:clamp(39px,6.2dvh,49px)!important;
}
/* Teléfonos de poca altura: se preserva el contenido completo y la barra inferior. */
@media(max-height:680px){
  .driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{
    min-height:47px!important;padding:6px 9px!important;
  }
  .driver-profile-mode .driver-profile-redesigned .driver-stat-card{
    min-height:56px!important;padding:7px 8px!important;
  }
  .driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{
    min-height:45px!important;
  }
  .driver-profile-mode .driver-profile-redesigned .driver-profile-ref{
    min-height:48px!important;padding:6px 9px!important;
  }
  .driver-profile-mode .driver-profile-redesigned .driver-profile-signout{
    min-height:36px!important;height:36px!important;
  }
}
@media(max-width:355px){
  .driver-profile-mode .driver-profile-redesigned .driver-stat-card{
    gap:5px!important;padding-left:6px!important;padding-right:6px!important;
  }
  .driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{
    font-size:clamp(12px,3.45vw,16px)!important;
  }
}


/* v10.6 — Solo contenido BAJO la identidad: ocupa el espacio libre.
   Portada, foto, disponibilidad, nombre y calificación no se modifican. */
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{
  flex:1 1 0!important;
  min-height:clamp(53px,8dvh,70px)!important;
  margin-top:clamp(5px,.9dvh,9px)!important;
  padding:clamp(9px,1.8dvh,17px) 12px!important;
  align-items:center!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle-icon{
  width:clamp(38px,6dvh,49px)!important;
  height:clamp(38px,6dvh,49px)!important;
  min-width:clamp(38px,6dvh,49px)!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-summary{
  flex:2.2 1 0!important;
  min-height:clamp(167px,24dvh,204px)!important;
  margin-top:clamp(6px,1.2dvh,12px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:stretch!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-heading{
  flex:0 0 auto!important;
  padding:0 12px clamp(5px,.9dvh,9px)!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-stats{
  flex:1 1 auto!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr)!important;
  align-items:stretch!important;
  min-height:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  justify-content:center!important;
  align-items:center!important;
  padding:clamp(9px,1.5dvh,15px) 9px!important;
  box-sizing:border-box!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-card.wide{
  grid-column:1/-1!important;
  min-height:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy{
  min-width:0!important;
  flex:1 1 0!important;
  justify-content:center!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-stat-copy strong{
  font-size:clamp(13px,3.6vw,19px)!important;
  letter-spacing:-.5px!important;
  white-space:nowrap!important;
  max-width:100%!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref{
  flex:1 1 0!important;
  min-height:clamp(56px,8dvh,75px)!important;
  margin-top:clamp(7px,1.1dvh,12px)!important;
  padding:clamp(9px,1.6dvh,16px) 12px!important;
  align-items:center!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-ref-icon{
  width:clamp(37px,5.8dvh,48px)!important;
  height:clamp(37px,5.8dvh,48px)!important;
  min-width:clamp(37px,5.8dvh,48px)!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout{
  flex:0 0 auto!important;
  margin-top:clamp(7px,1dvh,12px)!important;
  margin-bottom:5px!important;
  height:clamp(39px,6.2dvh,49px)!important;
}
/* En alturas reducidas, las cards ceden espacio; la zona de identidad es intocable. */
@media(max-height:680px){
 .driver-profile-mode .driver-profile-redesigned .driver-profile-vehicle{min-height:46px!important;padding:6px 9px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-summary{min-height:145px!important;margin-top:4px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-stat-card{padding:6px 8px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-ref{min-height:45px!important;margin-top:5px!important;padding:6px 9px!important}
 .driver-profile-mode .driver-profile-redesigned .driver-profile-signout{height:36px!important;margin-top:5px!important}
}

/* v10.7 — Cerrar sesión como enlace de texto secundario; únicamente Perfil. */
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout.driver-profile-card{
  align-self:center!important;
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:120px!important;
  height:30px!important;
  min-height:30px!important;
  padding:5px 12px!important;
  margin:clamp(5px,.8dvh,9px) auto 5px!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#88909a!important;
  cursor:pointer!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left i,
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout>.driver-profile-card-arrow{
  display:none!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout-left strong{
  color:#858c96!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}
.driver-profile-mode .driver-profile-redesigned .driver-profile-signout:focus-visible{
  outline:2px solid #e6b83b!important;outline-offset:2px!important;border-radius:5px!important;
}

/* v18.3: indicador de recorrido sujeto a la geometría de la ruta (Leaflet). */
.rayt-inline-trip-map .rayt-route-geo-icon{border:0!important;background:transparent!important;pointer-events:none!important;overflow:visible!important}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-map-route-summary{position:absolute!important;left:0!important;top:0!important;transform:translate(-50%,-132%)!important;z-index:auto!important;width:max-content!important;max-width:none!important;pointer-events:none!important}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-trip-metrics{white-space:nowrap!important;max-width:none!important}

/* v18.4 — Etiqueta geográfica más ligera, sin tapar el trazo de la ruta. */
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-map-route-summary{
  transform:translate(-50%,-166%)!important;
}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-map-route-summary .rayt-trip-metrics{
  display:flex!important;align-items:center!important;gap:5px!important;
  padding:5px 9px!important;min-height:0!important;
  border-radius:999px!important;
  background:rgba(25,33,43,.87)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 2px 8px rgba(12,18,27,.17)!important;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-metric{gap:2px!important}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-metric strong{
  font-size:11px!important;line-height:1.15!important;font-weight:700!important;letter-spacing:0!important;
}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-metric-icon,
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-metric-check{display:none!important}
.rayt-inline-trip-map .rayt-route-geo-icon .rayt-metric-divider{
  height:10px!important;width:1px!important;margin:0 1px!important;background:rgba(255,255,255,.32)!important;
}


/* v11.0 — Cierre de viaje del conductor: resumen + calificación del pasajero. */
.driver-finish-shell{background:radial-gradient(ellipse at 50% 20%,#fff2c7 0%,#fff8e7 45%,#fffdf9 78%)!important}
.driver-finish-screen{color:#151a22!important}
.driver-finish-confetti i{opacity:.82!important}
.driver-finish-hero .finish-check{color:#171b22!important}
.driver-finish-hero .finish-check.driver-finish-flag{font-size:32px!important;font-weight:900!important;display:grid;place-items:center}
.driver-finish-stage{min-height:84px!important;max-height:24dvh!important}
.driver-finish-fare{background:linear-gradient(180deg,#fffef9 0%,#fff8e8 100%);border:1px solid #ffe2a1;border-radius:24px;box-shadow:0 12px 30px #d5b16021;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.driver-finish-fare small{font-size:11px;font-weight:800;letter-spacing:.08em;color:#9b8127;text-transform:uppercase}
.driver-finish-fare strong{font-size:clamp(28px,8.4vw,44px);line-height:1;letter-spacing:-1.4px;color:#10151d}
.driver-finish-fare span{font-size:12px;color:#7f8792}
.driver-finish-fare-compact strong{font-size:clamp(25px,7.5vw,38px)}
.driver-finish-client-pill{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #f0ecd7;border-radius:20px;padding:12px 14px;box-shadow:0 8px 22px #8f733514}
.driver-finish-client-pill span{font-size:11px;letter-spacing:.06em;font-weight:800;text-transform:uppercase;color:#9197a1}
.driver-finish-client-pill strong{font-size:15px;color:#111722;letter-spacing:-.35px}
.driver-finish-footer button{background:linear-gradient(100deg,#1a202a,#2a3340 56%,#ffc934 160%)!important;color:#fff!important;box-shadow:0 10px 24px #151b2535!important}
.driver-finish-passenger{min-height:clamp(74px,12dvh,114px)!important}
.driver-finish-passenger .finish-driver-icon{background:#fff4cf!important;border:3px solid #ffd96d!important;color:#141921!important;font-size:18px!important;font-weight:900!important}
.driver-finish-passenger .finish-driver-icon img{height:100%;width:100%;object-fit:cover}
.driver-finish-rating-card{align-items:center!important;text-align:center!important}
.driver-finish-rating-card .finish-stars button{filter:drop-shadow(0 4px 8px rgba(255,201,52,.15))}
.driver-finish-auto-close{font-size:11px;color:#8b93a0;text-align:center}
@media(max-height:590px){.driver-finish-fare{padding:12px 12px;gap:4px}.driver-finish-fare strong{font-size:clamp(24px,7.3vw,34px)}.driver-finish-client-pill{padding:9px 12px}.driver-finish-stage{min-height:70px!important;max-height:18dvh!important}.driver-finish-passenger{min-height:60px!important}}

/* La calificación del pasajero se confirma explícitamente con Listo. */
.driver-rating-footer{flex:0 0 auto!important;padding-top:8px!important}
.driver-rating-footer button:disabled{background:#e5e6e9!important;color:#9298a3!important;box-shadow:none!important;cursor:not-allowed;opacity:1!important}
.driver-rating-footer button:not(:disabled){background:linear-gradient(100deg,#ffdd6d,#ffc62e)!important;color:#181c23!important;box-shadow:0 7px 19px #dba72b35!important}


/* v11.2 — Rediseño premium de la card de tarifa / método de pago del cierre del conductor. */
.driver-finish-fare{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 16%,rgba(255,220,120,.42) 0,rgba(255,220,120,0) 24%),
    linear-gradient(180deg,#fffdf8 0%,#fff7e4 58%,#fff3d5 100%)!important;
  border:1px solid #f4d487!important;
  border-radius:26px!important;
  box-shadow:0 14px 34px rgba(193,146,29,.14), inset 0 1px 0 rgba(255,255,255,.9)!important;
  padding:18px 16px!important;
  gap:8px!important;
}
.driver-finish-fare::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0) 38%);
  pointer-events:none;
}
.driver-finish-fare::after{
  content:'$';
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#ffd96d,#ffc934);
  color:#1a1f27;
  font-size:16px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(189,137,14,.22);
}
.driver-finish-fare small{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(241,202,92,.65)!important;
  box-shadow:0 4px 10px rgba(210,171,58,.08)!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  color:#93731b!important;
}
.driver-finish-fare strong{
  position:relative!important;
  z-index:1!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
  font-size:clamp(30px,9vw,48px)!important;
  letter-spacing:-1.8px!important;
  color:#0f141c!important;
}
.driver-finish-fare span{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(24,30,40,.82)!important;
  color:#f8fbff!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  box-shadow:0 10px 22px rgba(20,26,35,.14)!important;
}
.driver-finish-fare-compact{
  padding-top:16px!important;
  padding-bottom:14px!important;
}
.driver-finish-fare-compact strong{font-size:clamp(27px,7.9vw,40px)!important}
@media(max-height:590px){
  .driver-finish-fare{padding:14px 12px!important;gap:6px!important}
  .driver-finish-fare::after{width:28px;height:28px;font-size:14px;right:11px;top:10px}
  .driver-finish-fare strong{font-size:clamp(25px,7.8vw,36px)!important}
  .driver-finish-fare span{min-height:29px!important;padding:6px 10px!important;font-size:10px!important}
}


/* v11.3 · Resumen minimalista de tarifa para conductor. */
.driver-finish-screen .driver-finish-fare{
  isolation:isolate!important;
  background:linear-gradient(145deg,#151b24 0%,#242c37 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(15,20,28,.15)!important;
  padding:clamp(17px,3.2dvh,23px) 16px!important;
  gap:9px!important;
}
.driver-finish-screen .driver-finish-fare::before,
.driver-finish-screen .driver-finish-fare::after{display:none!important;content:none!important}
.driver-finish-screen .driver-finish-fare small{
  padding:0!important;background:transparent!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;
  color:#b3b9c4!important;letter-spacing:.15em!important;
  font-size:10px!important;font-weight:750!important;
}
.driver-finish-screen .driver-finish-fare strong{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  color:#ffcf45!important;text-shadow:none!important;
  font-size:clamp(38px,11vw,57px)!important;
  font-weight:850!important;line-height:1.04!important;
  letter-spacing:-2.1px!important;font-variant-numeric:tabular-nums!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
.driver-finish-screen .driver-finish-fare span{
  min-height:0!important;margin-top:2px!important;padding:6px 11px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;color:#d1d6df!important;
  font-size:10px!important;font-weight:600!important;
}
@media(max-height:590px){
  .driver-finish-screen .driver-finish-fare{padding:13px 12px!important;gap:6px!important}
  .driver-finish-screen .driver-finish-fare strong{font-size:clamp(32px,9.3vw,44px)!important}
}

/* v11.4 — Omitir calificación discretamente en ambas pantallas. */
.finish-screen .rayt-rating-dismiss{position:absolute!important;top:max(12px, env(safe-area-inset-top))!important;right:14px!important;z-index:30!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(26,32,42,.09)!important;border-radius:50%!important;background:rgba(255,255,255,.68)!important;color:#75808e!important;font-size:24px!important;font-weight:300!important;line-height:1!important;box-shadow:0 2px 12px rgba(15,20,28,.035)!important;cursor:pointer!important;transition:background .18s,color .18s,transform .18s!important}
.finish-screen .rayt-rating-dismiss:hover,.finish-screen .rayt-rating-dismiss:focus-visible{background:#fff!important;color:#171d26!important;transform:scale(1.045)!important}
.finish-screen .rayt-rating-dismiss:focus-visible{outline:2px solid #f4bf37!important;outline-offset:2px!important}
@media(max-width:365px){.finish-screen .rayt-rating-dismiss{right:10px!important;top:max(9px, env(safe-area-inset-top))!important;width:31px!important;height:31px!important}}

/* v11.5 — Tache de salida sin círculo ni fondo (cliente y conductor). */
.finish-screen .rayt-rating-dismiss,
.finish-screen .rayt-rating-dismiss:hover,
.finish-screen .rayt-rating-dismiss:focus-visible{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:#79818e!important;
}
.finish-screen .rayt-rating-dismiss:hover{color:#202631!important}


/* v12.0 CORREGIDO — El panel con ruta calculada conserva la geometría REAL
   de la card vacía: altura compacta y borde inferior unido a la navegación.
   No combinar top porcentual con bottom: eso reducía el área y ocultaba el título. */
html body .shell.has-client-nav
> .rayt-client.client-booking:not(.map-selection-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride)
> .booking-sheet.rayt-route-ready{
  position:absolute!important;
  inset:auto 0 0 0!important;
  top:auto!important;
  bottom:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
  margin:0!important;
  flex:none!important;
  z-index:90!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:5px!important;
  padding:10px 16px 7px!important;
  overflow:visible!important;
  background:#fff!important;
  border-radius:28px 28px 0 0!important;
  box-shadow:0 -8px 28px rgba(16,24,32,.075)!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > .sheet-handle{
  flex:none!important;margin:0 auto 2px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > .sheet-head{
  flex:none!important;min-height:26px!important;
  margin:0 0 3px!important;
  display:flex!important;align-items:center!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > .sheet-head h1{
  margin:0!important;line-height:1.2!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > #rayt-booking-offer{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:118px!important;
  max-height:148px!important;
  margin-top:0!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > .pay-choice{
  flex:none!important;margin-top:auto!important;min-height:42px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > #rayt-request-taxi{
  flex:none!important;min-height:46px!important;margin-top:0!important;margin-bottom:0!important;
}
@media(max-height:690px){
  html body .shell.has-client-nav
  > .rayt-client.client-booking:not(.map-selection-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride)
  > .booking-sheet.rayt-route-ready{
    inset:auto 0 0 0!important;
    top:auto!important;
    bottom:0!important;
    height:304px!important;
    min-height:304px!important;
    max-height:304px!important;
    gap:4px!important;
    padding:8px 15px 6px!important;
  }
}

/* v12.1 — More visual weight for taxi and editable fare, calculated route ONLY.
   The initial (empty) card and the sheet's vertical position are unchanged. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > #rayt-booking-offer{
  flex:1 1 auto!important;
  min-height:118px!important;
  max-height:172px!important;
  height:auto!important;
  grid-template-columns:minmax(0,1fr) minmax(145px,46%)!important;
  align-items:center!important;
  padding:1px 1px 4px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor{
  justify-content:center!important;
  gap:8px!important;
  padding:4px 0 4px 3px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor>label{
  font-size:11px!important;
  letter-spacing:.6px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  min-height:45px!important;
  align-items:baseline!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child{
  font-size:31px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  width:clamp(66px,18vw,94px)!important;
  max-width:94px!important;
  font-size:clamp(34px,9vw,40px)!important;
  line-height:1.05!important;
  letter-spacing:-1.5px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-currency{
  font-size:10px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
  justify-content:center!important;
  transform:translateX(-4px)!important;
  padding:0!important;
  min-height:115px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
  width:clamp(155px,46vw,194px)!important;
  max-width:none!important;
  height:clamp(110px,16.5dvh,142px)!important;
  max-height:142px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 11px 8px rgba(20,27,36,.17))!important;
}
@media(max-height:690px){
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready > #rayt-booking-offer{
    min-height:105px!important;max-height:145px!important;
  }
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-fare-editor{gap:5px!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
    font-size:clamp(29px,8.2vw,36px)!important;
  }
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    height:clamp(94px,16dvh,123px)!important;max-height:123px!important;
  }
}
@media(max-width:355px){
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready > #rayt-booking-offer{
    grid-template-columns:minmax(0,1fr) minmax(116px,43%)!important;
  }
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
    width:150px!important;max-height:116px!important;
  }
}

/* v12.2 — Dar más altura visual al taxi y a la tarifa, solo con ruta calculada.
   Conserva intacta la altura y el anclaje de la card. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > #rayt-booking-offer{
  min-height:136px!important;
  max-height:184px!important;
  align-items:stretch!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor{
  min-height:136px!important;
  align-self:stretch!important;
  justify-content:center!important;
  gap:10px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  min-height:54px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{
  font-size:clamp(39px,10vw,46px)!important;
  line-height:1.08!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit>span:first-child{
  font-size:34px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{
  min-height:139px!important;
  align-self:stretch!important;
  align-items:center!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{
  height:clamp(132px,19dvh,159px)!important;
  max-height:159px!important;
  width:clamp(167px,49vw,204px)!important;
  transform:translateY(-4px)!important;
  object-fit:contain!important;
}
@media(max-height:690px){
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready > #rayt-booking-offer{min-height:112px!important;max-height:148px!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-fare-editor{min-height:110px!important;gap:5px!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{min-height:43px!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input{font-size:clamp(31px,8.8vw,39px)!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle{min-height:112px!important}
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{height:clamp(112px,17dvh,136px)!important;max-height:136px!important}
}
@media(max-width:355px){
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img{width:158px!important}
}

/* v12.5 — Solo eleva el grupo visual tarifa (+/−) y taxi, sin desplazar
   la card de 320px, su encabezado, el método de pago o el botón Solicitar taxi. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready > #rayt-booking-offer{
  position:relative!important;
  top:-20px!important;
}
@media(max-height:690px){
  html body .shell.has-client-nav .rayt-client.client-booking
  > .booking-sheet.rayt-route-ready > #rayt-booking-offer{
    top:-16px!important;
  }
}


/* v12.6 — Únicamente el texto «Tu oferta» baja 10 px, sin afectar el layout. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label > span{
  position:relative!important;
  top:10px!important;
}


/* v12.7 — Centrar exclusivamente «Tu oferta» encima del grupo de precio. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label{
  display:block!important;
  align-self:flex-start!important;
  width:154px!important;
  max-width:calc(100% - 2px)!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label > span{
  display:block!important;
  width:100%!important;
  position:relative!important;
  top:0!important;
  left:auto!important;
  transform:none!important;
  text-align:center!important;
}


/* v12.8 — Solo el texto «Tu oferta» baja 30px; conserva su centrado. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label > span{
  position:relative!important;
  top:0!important;
}

/* v12.9 — Solo el texto «Tu oferta» baja otros 15px (45px acumulados). */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label > span{
  top:0!important;
}


/* v13.0 — Flotante premium para contraofertar en el panel del conductor. */
body.rayt-counter-open{overflow:hidden!important}
.rayt-counter-overlay{position:fixed;inset:0;z-index:20000;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;font-family:inherit}
.rayt-counter-backdrop{position:absolute;inset:0;background:rgba(10,16,25,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:raytCounterFade .2s ease-out both}
.rayt-counter-sheet{position:relative;z-index:1;width:min(100%,440px);box-sizing:border-box;padding:11px 20px max(18px,env(safe-area-inset-bottom));border-radius:27px 27px 0 0;background:#fff;box-shadow:0 -18px 55px rgba(10,15,25,.22);display:flex;flex-direction:column;gap:14px;max-height:min(94dvh,680px);overflow-y:auto;overscroll-behavior:contain;animation:raytCounterRise .28s cubic-bezier(.2,.83,.22,1) both}
.rayt-counter-handle{width:38px;height:4px;margin:0 auto 1px;background:#e2e5e9;border-radius:20px;flex:none}
.rayt-counter-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:2px}
.rayt-counter-kicker{font-size:9px;letter-spacing:1.4px;font-weight:900;color:#b68d17}
.rayt-counter-header h2{margin:5px 0 3px;font-size:23px;letter-spacing:-.9px;line-height:1.15;color:#161d27;font-weight:900}
.rayt-counter-header p{margin:0;font-size:11px;color:#8b929d;font-weight:600}
.rayt-counter-close{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;background:transparent;color:#8d96a2;font-size:25px;font-weight:300;box-shadow:none;cursor:pointer}
.rayt-counter-request{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border-radius:15px;background:#f6f7f8;border:1px solid #edf0f2}
.rayt-counter-request span{font-size:11px;font-weight:700;color:#858c96}
.rayt-counter-request strong{font-size:17px;color:#222a35;font-weight:900;letter-spacing:-.6px}
.rayt-counter-price{padding:14px 12px 13px;display:flex;align-items:center;flex-direction:column;gap:9px;border-radius:21px;background:linear-gradient(145deg,#fff9e8,#fffdf7 78%);border:1px solid #f4e5bb}
.rayt-counter-price>label{font-size:10px;color:#a48735;letter-spacing:1px;font-weight:900}
.rayt-counter-input-row{display:flex;justify-content:center;align-items:baseline;max-width:100%;gap:4px;color:#171e27}
.rayt-counter-input-row>span{font-size:29px;font-weight:900;letter-spacing:-1px}
.rayt-counter-input-row input{background:transparent!important;border:0!important;outline:none!important;box-shadow:none!important;appearance:textfield;-moz-appearance:textfield;text-align:center;width:clamp(95px,32vw,155px)!important;min-width:0!important;margin:0!important;padding:0!important;color:#161d27!important;line-height:1.1!important;font-size:clamp(38px,12vw,53px)!important;font-weight:950!important;letter-spacing:-2px!important}
.rayt-counter-input-row input::-webkit-outer-spin-button,.rayt-counter-input-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rayt-counter-input-row small{font-size:10px;font-weight:900;color:#9c9d9e}
.rayt-counter-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(100%,272px);margin-top:1px}
.rayt-counter-stepper button{border:1px solid #e7ddc2;background:#fff;color:#2c323b;box-shadow:none;border-radius:11px;min-height:39px;font-size:14px;font-weight:850;padding:5px 1px;cursor:pointer}
.rayt-counter-stepper button:active,.rayt-counter-shortcuts button:active{transform:scale(.96)}
.rayt-counter-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rayt-counter-shortcuts>span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#a1a7b0;white-space:nowrap}
.rayt-counter-shortcuts>div{display:flex;align-items:center;gap:6px}
.rayt-counter-shortcuts button{background:#f5f6f7;border:1px solid #ebeef0;border-radius:99px;padding:9px 10px;min-width:44px;font-size:11px;font-weight:850;color:#303946;box-shadow:none;cursor:pointer}
.rayt-counter-submit{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;border:0;border-radius:15px;background:#ffca37;color:#171c22;font-size:13px;font-weight:900;box-shadow:0 7px 17px rgba(204,153,28,.2);cursor:pointer;margin-top:1px}
.rayt-counter-submit>span{font-size:13px;font-weight:950}.rayt-counter-submit>b{margin-left:2px;font-size:19px}.rayt-counter-submit:disabled{opacity:.45;cursor:not-allowed}
.rayt-counter-cancel{width:100%;padding:2px 6px;min-height:25px;background:transparent;border:0;box-shadow:none;color:#999fa8;font-size:11px;font-weight:750;cursor:pointer}
@keyframes raytCounterRise{from{transform:translateY(28px);opacity:.7}to{transform:translateY(0);opacity:1}}
@keyframes raytCounterFade{from{opacity:0}to{opacity:1}}
@media(max-height:650px){.rayt-counter-sheet{gap:9px;padding:7px 15px max(10px,env(safe-area-inset-bottom))}.rayt-counter-price{padding:10px;gap:5px}.rayt-counter-stepper button{min-height:33px}.rayt-counter-header h2{font-size:20px}.rayt-counter-request{padding:10px 12px}.rayt-counter-submit{min-height:45px}}
@media(prefers-reduced-motion:reduce){.rayt-counter-sheet,.rayt-counter-backdrop{animation:none!important}}

/* v12.6 · Center the floating courtesy timer only on the driver's PIN entry state.
   Overrides the legacy left:8px rules without changing the timer or other views. */
html body .driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-courtesy-float{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin-left:0!important;
  margin-right:0!important;
  width:min(265px,calc(100% - 22px))!important;
  max-width:calc(100% - 22px)!important;
}


/* v12.7 — Alert for driver when passenger's courtesy minute expires.
   Reuses the animated red alert/ripple of the client's expired notification. */
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired{
  display:block!important;
  visibility:visible!important;
  pointer-events:none!important;
  animation:none!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy.wait-expired{
  position:relative!important;
  isolation:isolate!important;
  grid-template-columns:35px minmax(0,1fr)!important;
  align-items:center!important;
  background:linear-gradient(115deg,#fff1e9,#fff8ef)!important;
  border:1.5px solid #df5d3e!important;
  outline:2px solid #dc4e37!important;
  outline-offset:0!important;
  padding:9px 11px!important;
  min-height:57px!important;
  box-shadow:0 7px 22px rgba(130,48,28,.16)!important;
  animation:raytExpiredBorder 1.45s ease-in-out infinite!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy.wait-expired::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  pointer-events:none!important;
  inset:-2px!important;
  border:2px solid #e45138!important;
  border-radius:inherit!important;
  animation:raytExpiredRipple 1.45s ease-out infinite!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-ring{
  width:33px!important;
  height:33px!important;
  background:#df5d3e!important;
  animation:raytExpiredIcon 1.6s ease-in-out infinite!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-ring::before{background:#df5d3e!important;}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-clock-icon{font-size:0!important;color:#fff!important;}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-clock-icon::after{
  content:"!"!important;font-size:21px!important;font-weight:900!important;line-height:1!important;color:#fff!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-title{
  color:#a72e21!important;font-size:10px!important;line-height:1.25!important;font-weight:900!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-courtesy-caption{
  color:#8c4a3b!important;font-size:9px!important;line-height:1.25!important;
}
html body .driver-active-mode .active-trip-card:has(.driver-pin-box)
.driver-courtesy-float.courtesy-expired .driver-wait-clock{display:none!important;}
@media(prefers-reduced-motion:reduce){
  html body .driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-courtesy-float.courtesy-expired .driver-courtesy.wait-expired,
  html body .driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-courtesy-float.courtesy-expired .driver-courtesy.wait-expired::before,
  html body .driver-active-mode .active-trip-card:has(.driver-pin-box) .driver-courtesy-float.courtesy-expired .driver-courtesy-ring{animation:none!important;}
}

/* RAYT v13 — Acceso y registro visual, cliente / conductor. */
body:has(.rayt-auth-premium){background:#f4f5f6!important}
.shell.rayt-access-shell{display:flex!important;align-items:center!important;justify-content:center!important;min-height:100dvh!important;height:auto!important;max-width:none!important;padding:clamp(12px,3dvh,26px) 12px!important;overflow:auto!important;background:radial-gradient(ellipse at 50% -10%,rgba(255,210,69,.22),transparent 53%),#f5f6f8!important}
.rayt-auth.rayt-auth-premium{width:min(100%,440px)!important;max-width:440px!important;margin:0 auto!important;box-sizing:border-box!important;padding:clamp(18px,4vw,28px)!important;gap:0!important;border:1px solid #eaedf1!important;border-radius:28px!important;background:#fff!important;box-shadow:0 18px 48px rgba(25,32,43,.08)!important;overflow:visible!important;color:#1b222e!important}
.rayt-auth-premium .rayt-auth-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(15px,3dvh,27px)}
.rayt-auth-premium .rayt-auth-back{display:inline-flex;align-items:center;gap:8px;color:#6b7480;font-size:12px;font-weight:750;background:transparent;border:0;padding:6px 0;margin:0;min-height:32px}
.rayt-auth-premium .rayt-auth-brand{font-size:24px;font-style:italic;font-weight:950;letter-spacing:-1.5px;line-height:1}.rayt-auth-premium .rayt-auth-brand>span{font-size:18px;color:#f3b90e;vertical-align:top;padding-left:2px}
.rayt-auth-premium .rayt-auth-intro{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:22px}
.rayt-auth-premium .rayt-auth-kicker{font-size:10px;letter-spacing:1.65px;font-weight:900;color:#b48a16;margin-bottom:12px}
.rayt-auth-premium .rayt-auth-identity{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px}
.rayt-auth-premium .rayt-auth-symbol{width:34px;height:34px;display:grid;place-items:center;border:1px solid #f7e1a6;border-radius:11px;background:#fff5d9;color:#312914;font-size:20px;font-weight:800}
.rayt-auth-premium .rayt-auth-identity-copy{font-size:11px;font-weight:800;color:#707983}
.rayt-auth-premium .rayt-auth-intro h1{font-size:clamp(25px,7vw,32px)!important;letter-spacing:-1.2px!important;line-height:1.12!important;font-weight:920!important;margin:0 0 9px!important;color:#18202b!important}
.rayt-auth-premium .rayt-auth-intro p{font-size:12px!important;line-height:1.55!important;color:#78818e!important;max-width:310px!important}
.rayt-auth-premium .rayt-auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important;padding:4px!important;background:#f4f5f7!important;border:1px solid #eef0f3!important;border-radius:14px!important;margin:0 0 21px!important}
.rayt-auth-premium .rayt-auth-tabs button{min-height:39px!important;border:0!important;border-radius:11px!important;background:transparent!important;box-shadow:none!important;color:#8b929c!important;font-size:12px!important;font-weight:800!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease!important}
.rayt-auth-premium .rayt-auth-tabs button.active{background:#fff!important;color:#20262e!important;box-shadow:0 3px 11px #20263213!important}
.rayt-auth-premium .rayt-auth-form{display:grid!important;gap:13px!important;margin:0!important}
.rayt-auth-premium .rayt-auth-field{font-size:11px!important;font-weight:850!important;color:#3b434d!important;gap:7px!important}
.rayt-auth-premium .rayt-auth-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rayt-auth-premium .rayt-auth-field em{font-size:10px;font-style:normal;font-weight:650;color:#a6abb2}
.rayt-auth-premium .rayt-auth-input{display:flex;align-items:center;min-height:49px;padding:0 12px;gap:10px;border:1px solid #e4e7eb;border-radius:13px;background:#f9fafb;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-sizing:border-box}
.rayt-auth-premium .rayt-auth-input:focus-within{background:#fff;border-color:#f0c346;box-shadow:0 0 0 3px rgba(255,202,56,.16)}
.rayt-auth-premium .rayt-auth-field-icon{flex:0 0 18px;width:18px;text-align:center;color:#adb2bb;font-size:16px;font-weight:800}
.rayt-auth-premium .rayt-auth-input input{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:0!important;width:100%!important;min-height:47px!important;height:47px!important;padding:0!important;color:#242b34!important;font-size:13px!important;font-weight:680!important;outline:0!important}
.rayt-auth-premium .rayt-auth-input input::placeholder{color:#b1b6bf;font-weight:500}
.rayt-auth-premium .rayt-auth-reveal{background:transparent!important;box-shadow:none!important;border:0!important;color:#858d98!important;font-weight:800!important;font-size:11px!important;min-width:46px;min-height:34px;padding:4px!important}
.rayt-auth-premium .rayt-auth-field>small{color:#9ea5af;font-size:10px;font-weight:500;line-height:1.3;margin:-3px 0 0}
.rayt-auth-premium .rayt-auth-submit{display:flex!important;align-items:center!important;justify-content:center!important;position:relative;min-height:51px!important;border:0!important;border-radius:14px!important;margin-top:7px!important;background:linear-gradient(110deg,#ffd85b,#ffc62d)!important;box-shadow:0 8px 18px rgba(230,172,20,.18)!important;font-size:13px!important;font-weight:900!important;color:#161d27!important;cursor:pointer;transition:transform .15s ease,filter .15s ease}
.rayt-auth-premium .rayt-auth-submit>span{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:20px}
.rayt-auth-premium .rayt-auth-submit:active{transform:scale(.985)}
.rayt-auth-premium .rayt-auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 15px;color:#adb3bb;font-size:10px;font-weight:750;white-space:nowrap}
.rayt-auth-premium .rayt-auth-divider:before,.rayt-auth-premium .rayt-auth-divider:after{content:'';flex:1;height:1px;background:#e9ecf0}
.rayt-auth-premium .rayt-auth-google{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;min-height:49px!important;position:relative;border:1px solid #e3e6ec!important;border-radius:14px!important;background:#fff!important;box-shadow:0 2px 8px rgba(24,30,40,.025)!important;color:#2b3340!important;font-size:12px!important;font-weight:850!important;padding:10px 12px!important;cursor:pointer}
.rayt-auth-premium .rayt-auth-google svg{flex:none}
.rayt-auth-premium .rayt-auth-google small{position:absolute;right:9px;top:-8px;padding:3px 6px;background:#f4f5f7;border:1px solid #e9eaec;border-radius:5px;color:#8d949e;font-size:8px;font-weight:800;line-height:1.2}
.rayt-auth-premium .rayt-auth-demo{margin:15px auto 0;padding:7px 6px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#6e7782!important;font-size:11px!important;font-weight:800!important;text-align:center!important}
.rayt-auth-premium .rayt-auth-disclaimer{font-size:9px!important;line-height:1.55!important;text-align:center!important;color:#a0a6b0!important;margin:17px 0 0!important}
@media(max-height:720px){.rayt-auth.rayt-auth-premium{padding:16px 19px!important;border-radius:22px!important}.rayt-auth-premium .rayt-auth-top{margin-bottom:10px}.rayt-auth-premium .rayt-auth-intro{margin-bottom:15px}.rayt-auth-premium .rayt-auth-kicker{margin-bottom:7px}.rayt-auth-premium .rayt-auth-identity{margin-bottom:8px}.rayt-auth-premium .rayt-auth-tabs{margin-bottom:13px!important}.rayt-auth-premium .rayt-auth-form{gap:9px!important}.rayt-auth-premium .rayt-auth-divider{margin:11px 0}}
@media(max-width:360px){.rayt-auth.rayt-auth-premium{padding:16px 17px!important}.rayt-auth-premium .rayt-auth-intro h1{font-size:25px!important}.rayt-auth-premium .rayt-auth-google small{font-size:7px}}


/* v14 — RAYT · first-time driver onboarding; completely isolated from other screens */
body:has(.rayt-driver-setup){background:#fff!important}
.rayt-setup-shell{width:100%;max-width:440px;height:100dvh;min-height:0;margin:0 auto;padding:0!important;overflow:hidden;background:#fff}
.rayt-driver-setup{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;padding:20px clamp(22px,5vw,32px) max(20px,env(safe-area-inset-bottom));box-sizing:border-box;color:#181e27;background:radial-gradient(ellipse at 54% 49%,#fff5d9 0,transparent 52%),linear-gradient(180deg,#fff 0%,#fffdf6 100%);overflow:hidden}
.rayt-setup-top{display:flex;align-items:center;justify-content:space-between;flex:none}
.rayt-setup-brand{font-style:italic;font-weight:950;font-size:26px;letter-spacing:-1.5px}
.rayt-setup-brand span{font-style:normal;color:#e9b320;font-size:16px;margin-left:3px}
.rayt-setup-counter{color:#a0a4aa;font-size:10px;letter-spacing:1.6px;font-weight:900}
.rayt-setup-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;flex:none;margin:19px 0 0}
.rayt-setup-progress i{height:4px;background:#e9ebed;border-radius:10px;transition:background .25s ease}
.rayt-setup-progress i.is-on{background:#ffcb38}
.rayt-setup-content{flex:1;display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:clamp(30px,6dvh,55px);animation:rayt-setup-enter .4s cubic-bezier(.18,.78,.2,1) both}
.rayt-setup-eyebrow{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#bd9126;margin-bottom:13px}
.rayt-setup-content h1{margin:0 0 14px!important;color:#141b25;font-size:clamp(30px,8vw,41px)!important;font-weight:950!important;line-height:1.08!important;letter-spacing:-1.6px}
.rayt-setup-content p{margin:0;color:#7f8792;font-size:13px;line-height:1.55;max-width:330px}
.rayt-setup-photo-step{align-items:center;text-align:center;padding-top:clamp(25px,5dvh,50px)}
.rayt-setup-photo-step h1{margin-bottom:13px!important}
.rayt-setup-photo-step p{max-width:270px}
.rayt-setup-portrait{display:grid;place-items:center;position:relative;flex:none;width:clamp(155px,26dvh,225px);height:clamp(155px,26dvh,225px);margin:clamp(23px,5dvh,46px) auto 15px;padding:0;border-radius:50%;border:6px solid #fff;outline:1px solid #f6dd95;background:linear-gradient(135deg,#ffebae,#ffe4a0 45%,#fbd06b);box-shadow:0 15px 42px #d6a72d35,0 0 0 10px #ffedbf65;cursor:pointer}
.rayt-setup-portrait img{height:100%;width:100%;border-radius:50%;object-fit:cover}
.rayt-setup-placeholder{font-size:57px;font-weight:950;color:#80621d}
.rayt-setup-camera{position:absolute;right:0;bottom:5px;background:#181f29;color:#fff;border:4px solid white;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:25px;line-height:1}
.rayt-setup-photo-hint{text-align:center;font-size:10px;color:#999fa8}
.rayt-setup-bottom{display:flex;align-items:center;gap:12px;flex:none;padding:14px 0 0}
.rayt-setup-next{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;border:0;border-radius:16px;background:#ffcc3f;color:#1a212b;font-size:14px;font-weight:900;box-shadow:0 9px 20px #dfac342a;cursor:pointer}
.rayt-setup-next span{font-size:22px}
.rayt-setup-next:disabled{opacity:.45;box-shadow:none;cursor:default}
.rayt-setup-back{flex:0 0 auto;border:0;background:transparent;box-shadow:none;color:#777f89;font-size:12px;font-weight:800;padding:12px 4px;cursor:pointer}
.rayt-setup-car-art,.rayt-setup-model-art{position:relative;display:grid;place-items:center;flex:1;min-height:115px;max-height:240px}
.rayt-setup-car-art::before,.rayt-setup-model-art::before{content:"";position:absolute;width:min(80%,235px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffe4a1 0,#fff0c966 48%,transparent 73%)}
.rayt-setup-car-art img,.rayt-setup-model-art img{position:relative;max-width:100%;width:min(100%,300px);max-height:185px;object-fit:contain;filter:drop-shadow(0 15px 10px #7e64192a);animation:rayt-setup-float 4s ease-in-out infinite}
.rayt-setup-number-form,.rayt-setup-model-form{display:flex;flex-direction:column;gap:10px;margin-bottom:clamp(15px,3dvh,35px)}
.rayt-setup-number-form label,.rayt-setup-model-form label{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#8f969e}
.rayt-setup-number-field{display:flex;align-items:center;gap:5px;border:1px solid #e5e8eb;background:#fff;border-radius:18px;padding:10px 16px;min-height:67px;box-shadow:0 8px 20px #191f2710}
.rayt-setup-number-field:focus-within,.rayt-setup-model-form input:focus{border-color:#e9b727;outline:3px solid #ffce432f}
.rayt-setup-number-field span{font-size:clamp(27px,8vw,36px);font-weight:950;color:#d5a321;letter-spacing:-1.5px;white-space:nowrap}
.rayt-setup-number-field input{width:100%;min-width:0;padding:0;border:0;outline:0!important;background:transparent;box-shadow:none!important;color:#141b25;font-size:clamp(27px,8vw,36px);font-weight:950;letter-spacing:-1.5px}
.rayt-setup-number-field input::placeholder,.rayt-setup-model-form input::placeholder{color:#c7cbd1}
.rayt-setup-model-art{max-height:180px}
.rayt-setup-model-art img{max-height:150px}
.rayt-setup-model-form input{border:1px solid #e5e8eb!important;border-radius:16px!important;background:#fff!important;padding:15px 16px!important;min-height:55px;font-size:17px!important;font-weight:850!important;box-shadow:0 8px 20px #191f2710!important}
.rayt-setup-model-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.rayt-setup-model-chips button{border:1px solid #e9e3d5;background:#fffaf0;color:#696f78;border-radius:999px;font-size:11px;font-weight:700;padding:8px 11px;box-shadow:none;cursor:pointer}
.rayt-setup-model-chips button:active{background:#ffe9a9}
@keyframes rayt-setup-enter{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@keyframes rayt-setup-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-height:680px){.rayt-driver-setup{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.rayt-setup-progress{margin-top:11px}.rayt-setup-content{padding-top:20px}.rayt-setup-photo-step{padding-top:17px}.rayt-setup-photo-step .rayt-setup-portrait{width:clamp(132px,24dvh,165px);height:clamp(132px,24dvh,165px);margin:17px auto 12px}.rayt-setup-car-art,.rayt-setup-model-art{max-height:130px}.rayt-setup-car-art img,.rayt-setup-model-art img{max-height:120px}.rayt-setup-content h1{font-size:30px!important}.rayt-setup-next{min-height:46px}.rayt-setup-number-field{min-height:57px}.rayt-setup-model-form{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.rayt-setup-content,.rayt-setup-car-art img,.rayt-setup-model-art img{animation:none!important}}

/* Onboarding: identidad visual oficial RAYT en los tres pasos. */
.rayt-setup-top .rayt-setup-brand-logo{display:block;width:112px;height:auto;max-height:34px;object-fit:contain;object-position:left center;flex:none;}


/* RAYT 14.2 — cinematic, light, one-screen driver authentication. Client auth unaffected. */
body:has(.rayt-driver-auth-v2){background:#fff!important}
.shell.rayt-access-shell:has(.rayt-driver-auth-v2){position:relative!important;display:block!important;width:100%!important;max-width:440px!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0 auto!important;padding:0!important;overflow:hidden!important;background:#fff!important}
.rayt-auth.rayt-driver-auth-v2{--auth-panel:clamp(380px,52dvh,480px);position:relative!important;display:flex!important;flex-direction:column!important;width:100%!important;min-height:0!important;height:100%!important;max-height:none!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;isolation:isolate}
.rayt-driver-auth-v2 .rayt-auth-visual{position:relative;flex:1 1 auto;min-height:0!important;width:100%;background-image:url('assets/rayt-driver-login-hero.webp');background-size:cover;background-position:center 51%;overflow:hidden;isolation:isolate}
.rayt-driver-auth-v2.rayt-driver-auth-register .rayt-auth-visual{background-image:url('assets/rayt-driver-register-hero.webp');background-position:center 50%}
.rayt-driver-auth-v2 .rayt-auth-visual:after{content:'';position:absolute;inset:auto 0 0;height:33%;background:linear-gradient(0deg,#ffffffee,transparent);z-index:-1;pointer-events:none}
.rayt-driver-auth-v2 .rayt-auth-visual-top{position:absolute;z-index:3;top:clamp(19px,4dvh,33px);left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.rayt-driver-auth-v2 .rayt-auth-real-logo{display:block!important;width:clamp(119px,34vw,154px)!important;max-width:45%;height:auto!important;object-fit:contain;filter:drop-shadow(0 2px 1px #fff7)}
.rayt-driver-auth-v2 .rayt-auth-photo-back{position:absolute;left:0;top:45px;background:#ffffffb5;border:1px solid #ffffffdb;border-radius:50%;width:25px;height:25px;padding:0;color:#161b25;font-size:21px;line-height:1;box-shadow:none}
.rayt-driver-auth-v2 .rayt-auth-driver-label{font-size:10px!important;font-weight:900;color:#252c36;letter-spacing:2.5px;white-space:nowrap;padding-bottom:7px;border-bottom:2px solid #ffc629}
.rayt-driver-auth-v2 .rayt-auth-visual h1{position:absolute!important;left:23px;right:17px;bottom:clamp(9px,1.4dvh,19px);font-size:clamp(29px,8.3vw,39px)!important;font-weight:950!important;letter-spacing:-1.5px!important;line-height:1.03!important;color:#101722!important;text-align:left!important;margin:0!important;text-shadow:0 2px 16px #ffffffe8;z-index:2}
.rayt-driver-auth-v2 .rayt-auth-visual h1 em{font-style:normal;color:#f0b916}
.rayt-driver-auth-v2 .rayt-auth-panel{position:relative!important;z-index:4!important;flex:0 0 var(--auth-panel)!important;width:100%!important;min-height:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:clamp(12px,2dvh,18px) 20px max(13px,env(safe-area-inset-bottom))!important;margin:0!important;border-radius:25px 25px 0 0!important;background:linear-gradient(180deg,#fff 0%,#fff 86%,#fffefa 100%)!important;box-shadow:0 -9px 24px #1b243011!important;overflow:hidden!important}
.rayt-driver-auth-v2 .rayt-auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important;flex:none!important;width:100%!important;height:clamp(40px,5.3dvh,48px)!important;min-height:0!important;margin:0 0 clamp(10px,1.8dvh,15px)!important;padding:4px!important;border:0!important;border-radius:15px!important;background:#f3f3f2!important}
.rayt-driver-auth-v2 .rayt-auth-tabs button{position:relative!important;min-height:0!important;height:100%!important;margin:0!important;padding:0 4px!important;background:transparent!important;border:0!important;border-radius:11px!important;font-size:12px!important;font-weight:800!important;color:#858b93!important;box-shadow:none!important}
.rayt-driver-auth-v2 .rayt-auth-tabs button.active{color:#171d27!important;background:#fff!important;box-shadow:0 4px 10px #161d2510!important}
.rayt-driver-auth-v2 .rayt-auth-tabs button.active:after{content:'';position:absolute;bottom:0;left:32%;right:32%;height:2px;border-radius:3px;background:#ffc629}
.rayt-driver-auth-v2 .rayt-auth-form{display:flex!important;flex-direction:column!important;gap:clamp(7px,1.1dvh,10px)!important;flex:none!important;margin:0!important;padding:0!important}
.rayt-driver-auth-v2 .rayt-auth-field{display:block!important;margin:0!important;padding:0!important;flex:none!important}
.rayt-driver-auth-v2 .rayt-auth-input{display:flex!important;align-items:center!important;gap:11px!important;height:clamp(43px,5.7dvh,52px)!important;min-height:0!important;padding:0 13px!important;box-sizing:border-box!important;border:1px solid #e6e8ed!important;border-radius:13px!important;background:linear-gradient(105deg,#fff,#fcfcfd)!important;box-shadow:0 2px 8px #1a223006!important}
.rayt-driver-auth-v2 .rayt-auth-input:focus-within{border-color:#eac13f!important;outline:2px solid #ffde7533}
.rayt-driver-auth-v2 .rayt-auth-input svg{width:18px!important;height:18px!important;flex:none;color:#818b97}
.rayt-driver-auth-v2 .rayt-auth-input input{flex:1!important;width:100%!important;height:100%!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#171e27!important;font-size:12px!important;font-weight:650!important}
.rayt-driver-auth-v2 .rayt-auth-input input::placeholder{color:#989eaa!important;font-weight:500!important}
.rayt-driver-auth-v2 .rayt-auth-reveal{flex:none!important;border:0!important;box-shadow:none!important;background:transparent!important;width:34px!important;min-height:32px!important;padding:0!important;color:#7e8998!important;font-size:11px!important;font-weight:800!important}
.rayt-driver-auth-v2 .rayt-auth-submit{width:100%!important;flex:none!important;min-height:clamp(43px,6dvh,50px)!important;height:clamp(43px,6dvh,50px)!important;margin:clamp(4px,.8dvh,7px) 0 0!important;background:#ffcb35!important;color:#151b22!important;border:0!important;border-radius:13px!important;box-shadow:0 5px 12px #dcae3130!important;font-size:13px!important;font-weight:950!important}
.rayt-driver-auth-v2 .rayt-auth-submit>span{position:absolute;right:21px;font-size:20px}
.rayt-driver-auth-v2 .rayt-auth-divider{flex:none!important;display:flex!important;align-items:center!important;gap:12px!important;margin:clamp(9px,1.5dvh,13px) 0!important;color:#a1a5ad!important;font-size:10px!important;white-space:nowrap}
.rayt-driver-auth-v2 .rayt-auth-divider:before,.rayt-driver-auth-v2 .rayt-auth-divider:after{content:'';flex:1;height:1px;background:#e6e9ed}
.rayt-driver-auth-v2 .rayt-auth-google{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:clamp(43px,5.8dvh,49px)!important;height:clamp(43px,5.8dvh,49px)!important;flex:none!important;width:100%!important;margin:0!important;padding:6px 10px!important;background:#fff!important;border:1px solid #eceef1!important;border-radius:13px!important;box-shadow:0 5px 16px #18223108!important;color:#252b35!important;font-size:12px!important;font-weight:850!important}
.rayt-driver-auth-v2 .rayt-auth-google svg{width:21px!important;height:21px!important;flex:none}
.rayt-driver-auth-v2 .rayt-auth-demo{display:block!important;flex:none!important;align-self:center!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#9ea4ad!important;font-size:10px!important;font-weight:700!important;margin:clamp(8px,1.1dvh,12px) 0 0!important;padding:1px!important}
.rayt-driver-auth-v2.rayt-driver-auth-register{--auth-panel:clamp(400px,57dvh,497px)}
@media(max-height:700px){.rayt-driver-auth-v2{--auth-panel:375px!important}.rayt-driver-auth-v2.rayt-driver-auth-register{--auth-panel:412px!important}.rayt-driver-auth-v2 .rayt-auth-panel{padding-top:10px!important;padding-bottom:9px!important}.rayt-driver-auth-v2 .rayt-auth-tabs{margin-bottom:8px!important;height:39px!important}.rayt-driver-auth-v2 .rayt-auth-input{height:41px!important}.rayt-driver-auth-v2 .rayt-auth-form{gap:6px!important}.rayt-driver-auth-v2 .rayt-auth-submit{height:41px!important;min-height:41px!important}.rayt-driver-auth-v2 .rayt-auth-google{height:39px!important;min-height:39px!important}.rayt-driver-auth-v2 .rayt-auth-divider{margin:7px 0!important}.rayt-driver-auth-v2 .rayt-auth-visual h1{font-size:28px!important;bottom:6px!important}}
@media(max-height:570px){.rayt-driver-auth-v2{--auth-panel:342px!important}.rayt-driver-auth-v2.rayt-driver-auth-register{--auth-panel:378px!important}.rayt-driver-auth-v2 .rayt-auth-visual-top{top:8px}.rayt-driver-auth-v2 .rayt-auth-photo-back{display:none}}
@media(prefers-reduced-motion:reduce){.rayt-driver-auth-v2 *{transition:none!important;animation:none!important}}


/* v14.2 — Acceso de pasajeros RAYT; fotografía de cliente y mismo diseño premium del conductor. */
body:has(.rayt-client-auth-v2){background:#fff!important}
.shell.rayt-access-shell:has(.rayt-client-auth-v2){position:relative!important;display:block!important;width:100%!important;max-width:440px!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0 auto!important;padding:0!important;overflow:hidden!important;background:#fff!important}
.rayt-auth.rayt-client-auth-v2{--auth-panel:clamp(380px,52dvh,480px);position:relative!important;display:flex!important;flex-direction:column!important;width:100%!important;min-height:0!important;height:100%!important;max-height:none!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;isolation:isolate}
.rayt-client-auth-v2 .rayt-auth-visual{position:relative;flex:1 1 auto;min-height:0!important;width:100%;background-image:url('assets/rayt-client-login-hero.webp');background-size:cover;background-position:center 51%;overflow:hidden;isolation:isolate}
.rayt-client-auth-v2.rayt-client-auth-register .rayt-auth-visual{background-image:url('assets/rayt-client-register-hero.webp');background-position:center 50%}
.rayt-client-auth-v2 .rayt-auth-visual:after{content:'';position:absolute;inset:auto 0 0;height:33%;background:linear-gradient(0deg,#ffffffee,transparent);z-index:-1;pointer-events:none}
.rayt-client-auth-v2 .rayt-auth-visual-top{position:absolute;z-index:3;top:clamp(19px,4dvh,33px);left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.rayt-client-auth-v2 .rayt-auth-real-logo{display:block!important;width:clamp(119px,34vw,154px)!important;max-width:45%;height:auto!important;object-fit:contain;filter:drop-shadow(0 2px 1px #fff7)}
.rayt-client-auth-v2 .rayt-auth-photo-back{position:absolute;left:0;top:45px;background:#ffffffb5;border:1px solid #ffffffdb;border-radius:50%;width:25px;height:25px;padding:0;color:#161b25;font-size:21px;line-height:1;box-shadow:none}
.rayt-client-auth-v2 .rayt-auth-driver-label{font-size:10px!important;font-weight:900;color:#252c36;letter-spacing:2.5px;white-space:nowrap;padding-bottom:7px;border-bottom:2px solid #ffc629}
.rayt-client-auth-v2 .rayt-auth-visual h1{position:absolute!important;left:23px;right:17px;bottom:clamp(9px,1.4dvh,19px);font-size:clamp(29px,8.3vw,39px)!important;font-weight:950!important;letter-spacing:-1.5px!important;line-height:1.03!important;color:#101722!important;text-align:left!important;margin:0!important;text-shadow:0 2px 16px #ffffffe8;z-index:2}
.rayt-client-auth-v2 .rayt-auth-visual h1 em{font-style:normal;color:#f0b916}
.rayt-client-auth-v2 .rayt-auth-panel{position:relative!important;z-index:4!important;flex:0 0 var(--auth-panel)!important;width:100%!important;min-height:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:clamp(12px,2dvh,18px) 20px max(13px,env(safe-area-inset-bottom))!important;margin:0!important;border-radius:25px 25px 0 0!important;background:linear-gradient(180deg,#fff 0%,#fff 86%,#fffefa 100%)!important;box-shadow:0 -9px 24px #1b243011!important;overflow:hidden!important}
.rayt-client-auth-v2 .rayt-auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important;flex:none!important;width:100%!important;height:clamp(40px,5.3dvh,48px)!important;min-height:0!important;margin:0 0 clamp(10px,1.8dvh,15px)!important;padding:4px!important;border:0!important;border-radius:15px!important;background:#f3f3f2!important}
.rayt-client-auth-v2 .rayt-auth-tabs button{position:relative!important;min-height:0!important;height:100%!important;margin:0!important;padding:0 4px!important;background:transparent!important;border:0!important;border-radius:11px!important;font-size:12px!important;font-weight:800!important;color:#858b93!important;box-shadow:none!important}
.rayt-client-auth-v2 .rayt-auth-tabs button.active{color:#171d27!important;background:#fff!important;box-shadow:0 4px 10px #161d2510!important}
.rayt-client-auth-v2 .rayt-auth-tabs button.active:after{content:'';position:absolute;bottom:0;left:32%;right:32%;height:2px;border-radius:3px;background:#ffc629}
.rayt-client-auth-v2 .rayt-auth-form{display:flex!important;flex-direction:column!important;gap:clamp(7px,1.1dvh,10px)!important;flex:none!important;margin:0!important;padding:0!important}
.rayt-client-auth-v2 .rayt-auth-field{display:block!important;margin:0!important;padding:0!important;flex:none!important}
.rayt-client-auth-v2 .rayt-auth-input{display:flex!important;align-items:center!important;gap:11px!important;height:clamp(43px,5.7dvh,52px)!important;min-height:0!important;padding:0 13px!important;box-sizing:border-box!important;border:1px solid #e6e8ed!important;border-radius:13px!important;background:linear-gradient(105deg,#fff,#fcfcfd)!important;box-shadow:0 2px 8px #1a223006!important}
.rayt-client-auth-v2 .rayt-auth-input:focus-within{border-color:#eac13f!important;outline:2px solid #ffde7533}
.rayt-client-auth-v2 .rayt-auth-input svg{width:18px!important;height:18px!important;flex:none;color:#818b97}
.rayt-client-auth-v2 .rayt-auth-input input{flex:1!important;width:100%!important;height:100%!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#171e27!important;font-size:12px!important;font-weight:650!important}
.rayt-client-auth-v2 .rayt-auth-input input::placeholder{color:#989eaa!important;font-weight:500!important}
.rayt-client-auth-v2 .rayt-auth-reveal{flex:none!important;border:0!important;box-shadow:none!important;background:transparent!important;width:34px!important;min-height:32px!important;padding:0!important;color:#7e8998!important;font-size:11px!important;font-weight:800!important}
.rayt-client-auth-v2 .rayt-auth-submit{width:100%!important;flex:none!important;min-height:clamp(43px,6dvh,50px)!important;height:clamp(43px,6dvh,50px)!important;margin:clamp(4px,.8dvh,7px) 0 0!important;background:#ffcb35!important;color:#151b22!important;border:0!important;border-radius:13px!important;box-shadow:0 5px 12px #dcae3130!important;font-size:13px!important;font-weight:950!important}
.rayt-client-auth-v2 .rayt-auth-submit>span{position:absolute;right:21px;font-size:20px}
.rayt-client-auth-v2 .rayt-auth-divider{flex:none!important;display:flex!important;align-items:center!important;gap:12px!important;margin:clamp(9px,1.5dvh,13px) 0!important;color:#a1a5ad!important;font-size:10px!important;white-space:nowrap}
.rayt-client-auth-v2 .rayt-auth-divider:before,.rayt-client-auth-v2 .rayt-auth-divider:after{content:'';flex:1;height:1px;background:#e6e9ed}
.rayt-client-auth-v2 .rayt-auth-google{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:clamp(43px,5.8dvh,49px)!important;height:clamp(43px,5.8dvh,49px)!important;flex:none!important;width:100%!important;margin:0!important;padding:6px 10px!important;background:#fff!important;border:1px solid #eceef1!important;border-radius:13px!important;box-shadow:0 5px 16px #18223108!important;color:#252b35!important;font-size:12px!important;font-weight:850!important}
.rayt-client-auth-v2 .rayt-auth-google svg{width:21px!important;height:21px!important;flex:none}
.rayt-client-auth-v2 .rayt-auth-demo{display:block!important;flex:none!important;align-self:center!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#9ea4ad!important;font-size:10px!important;font-weight:700!important;margin:clamp(8px,1.1dvh,12px) 0 0!important;padding:1px!important}
.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:clamp(400px,57dvh,497px)}
@media(max-height:700px){.rayt-client-auth-v2{--auth-panel:375px!important}.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:412px!important}.rayt-client-auth-v2 .rayt-auth-panel{padding-top:10px!important;padding-bottom:9px!important}.rayt-client-auth-v2 .rayt-auth-tabs{margin-bottom:8px!important;height:39px!important}.rayt-client-auth-v2 .rayt-auth-input{height:41px!important}.rayt-client-auth-v2 .rayt-auth-form{gap:6px!important}.rayt-client-auth-v2 .rayt-auth-submit{height:41px!important;min-height:41px!important}.rayt-client-auth-v2 .rayt-auth-google{height:39px!important;min-height:39px!important}.rayt-client-auth-v2 .rayt-auth-divider{margin:7px 0!important}.rayt-client-auth-v2 .rayt-auth-visual h1{font-size:28px!important;bottom:6px!important}}
@media(max-height:570px){.rayt-client-auth-v2{--auth-panel:342px!important}.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:378px!important}.rayt-client-auth-v2 .rayt-auth-visual-top{top:8px}.rayt-client-auth-v2 .rayt-auth-photo-back{display:none}}
@media(prefers-reduced-motion:reduce){.rayt-client-auth-v2 *{transition:none!important;animation:none!important}}

/* Ajustes exclusivos para la entrada de pasajeros. */
.rayt-client-auth-v2{--auth-panel:clamp(350px,48dvh,448px)!important}
.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:clamp(395px,55dvh,490px)!important}
.rayt-client-auth-v2 .rayt-auth-visual{background-position:center 43%!important}
.rayt-client-auth-v2.rayt-client-auth-register .rayt-auth-visual{background-position:center 45%!important}
.rayt-client-auth-v2 .rayt-auth-visual-top{justify-content:center!important}
.rayt-client-auth-v2 .rayt-auth-real-logo{max-width:55%!important;width:clamp(125px,37vw,167px)!important}
.rayt-client-auth-v2 .rayt-auth-driver-label{display:none!important}
.rayt-client-auth-v2 .rayt-auth-visual h1{text-align:center!important;left:7px!important;right:7px!important;bottom:clamp(8px,1.4dvh,18px)!important;font-size:clamp(28px,7.7vw,36px)!important}
.rayt-client-auth-v2 .rayt-auth-visual h1 small{display:block;font-size:9px!important;line-height:1.4!important;letter-spacing:2px!important;color:#7e8490!important;margin-top:6px;font-weight:750!important;text-shadow:0 1px 2px #fff}
.rayt-client-auth-v2 .rayt-auth-tabs button.active{background:#ffca33!important;box-shadow:none!important}
.rayt-client-auth-v2 .rayt-auth-tabs button.active:after{display:none!important}
.rayt-client-auth-v2 .rayt-auth-google{box-shadow:0 5px 18px #27323d08!important}
.rayt-client-auth-v2 .rayt-auth-demo{color:#656e79!important;text-decoration:underline;text-underline-offset:3px}
.rayt-client-auth-v2 .rayt-client-ref{font-size:10px;color:#656e79;flex:none;margin-top:0;padding:0 1px;min-height:20px}
.rayt-client-auth-v2 .rayt-client-ref summary{cursor:pointer;font-size:10px;font-weight:750;list-style:none}
.rayt-client-auth-v2 .rayt-client-ref summary::-webkit-details-marker{display:none}
.rayt-client-auth-v2 .rayt-client-ref summary:before{content:'+';display:inline-block;margin-right:6px;color:#c29624;font-size:13px}
.rayt-client-auth-v2 .rayt-client-ref[open] summary:before{content:'−'}
.rayt-client-auth-v2 .rayt-client-ref summary span{font-size:9px;color:#b1b5bc;font-weight:600}
.rayt-client-auth-v2 .rayt-client-ref input{display:block;margin:5px 0 0;width:100%;height:35px;padding:0 10px;border-radius:9px;border:1px solid #e6e8ed;background:#fff;font-size:11px}
@media(max-height:700px){.rayt-client-auth-v2{--auth-panel:350px!important}.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:418px!important}.rayt-client-auth-v2 .rayt-auth-visual h1 small{font-size:8px!important;margin-top:3px!important}}
@media(max-height:570px){.rayt-client-auth-v2{--auth-panel:332px!important}.rayt-client-auth-v2.rayt-client-auth-register{--auth-panel:390px!important}.rayt-client-auth-v2 .rayt-client-ref:not([open]){min-height:13px}}


/* RAYT 15.2 · Activación por conductor referido. Acceso cliente únicamente. */
body:has(.rayt-ref-gate-shell){background:#f7f7f5!important}
.rayt-ref-gate-shell{display:flex;align-items:stretch;justify-content:center;width:100%;height:100dvh;min-height:0;margin:0 auto;padding:0!important;max-width:440px;overflow:hidden;background:#fff}
.rayt-ref-gate{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:100%;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;padding:clamp(19px,3.5dvh,30px) 23px max(22px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffffd9 0%,#fff 41%,#fff 100%),url('assets/rayt-client-login-hero.webp') top center/100% auto no-repeat;color:#161d26}
.rayt-ref-gate-glow{position:absolute;z-index:-1;left:50%;top:16%;transform:translateX(-50%);width:330px;height:300px;background:radial-gradient(ellipse,#ffe49e80 0%,#fff1c13d 40%,transparent 70%);pointer-events:none}
.rayt-ref-gate-top{display:flex;justify-content:space-between;align-items:center;flex:none;gap:12px}
.rayt-ref-gate-top img{width:97px;height:40px;object-fit:contain;object-position:left center}
.rayt-ref-gate-top span{font-size:9px;font-weight:900;letter-spacing:1.1px;color:#a68a41;text-align:right}
.rayt-ref-gate-body{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1;min-height:0;margin:auto;animation:rayt-gate-arrive .42s cubic-bezier(.2,.8,.2,1) both}
.rayt-ref-gate-emblem{display:grid;place-items:center;flex:none;width:clamp(70px,13dvh,94px);height:clamp(70px,13dvh,94px);border-radius:28px;background:linear-gradient(135deg,#ffebad,#ffcb3d);color:#151c27;box-shadow:0 16px 32px #d7a82a34,0 0 0 9px #fff0c98c;margin:6px 0 clamp(22px,4dvh,36px);transform:rotate(-5deg)}
.rayt-ref-gate-emblem svg{width:54%;height:54%;transform:rotate(5deg)}
.rayt-ref-gate-eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#bf9124;margin-bottom:10px;text-align:center}
.rayt-ref-gate-body h1{margin:0!important;font-size:clamp(31px,8.1vw,40px)!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-1.7px!important;text-align:center;color:#131923}
.rayt-ref-gate-body h1 em{font-style:normal;color:#e8af12}
.rayt-ref-gate-body>p{max-width:260px;margin:15px auto clamp(23px,4dvh,39px);font-size:12px;line-height:1.55;color:#7d8590;text-align:center}
#rayt-ref-gate-form{width:100%;display:flex;flex-direction:column;gap:9px}
#rayt-ref-gate-form>label{font-size:10px;letter-spacing:1.1px;color:#858b95;font-weight:900;padding-left:2px}
.rayt-ref-gate-code-wrap{width:100%;display:flex;align-items:center;gap:11px;min-height:60px;box-sizing:border-box;padding:0 16px;border-radius:16px;background:#fff;border:1.5px solid #e5e7ea;box-shadow:0 7px 20px #2029380a;transition:border-color .2s,box-shadow .2s}
.rayt-ref-gate-code-wrap:focus-within{border-color:#e5b32b;box-shadow:0 0 0 4px #ffd65c24}
.rayt-ref-gate-code-wrap.has-error{border-color:#d84c4c;box-shadow:0 0 0 4px #d84c4c16}
.rayt-ref-gate-code-wrap>span{color:#e4b221;font-size:21px;font-weight:900;line-height:1}
.rayt-ref-gate-code-wrap input{display:block;flex:1;min-width:0;margin:0;padding:0!important;height:46px;background:transparent!important;border:0!important;outline:none!important;box-shadow:none!important;color:#161d27;font-size:18px!important;font-weight:900!important;letter-spacing:.75px;text-transform:uppercase}
.rayt-ref-gate-code-wrap input::placeholder{color:#bcc1c7;font-weight:700;letter-spacing:0}
.rayt-ref-gate-error{display:block;min-height:14px;font-size:10px;color:#cc4141;font-weight:700;line-height:1.4;padding-left:2px}
.rayt-ref-gate-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:55px;margin-top:4px;border:0;border-radius:16px;background:#ffcc3d;color:#17202a;font-size:14px;font-weight:900;box-shadow:0 10px 22px #e5b12838;cursor:pointer}
.rayt-ref-gate-cta span{font-size:23px}
.rayt-ref-gate-cta:active{transform:scale(.99)}
.rayt-ref-gate-note{display:block;margin-top:16px;color:#9a9fa8;font-size:10px;text-align:center;font-weight:600}
.rayt-ref-gate-exit{flex:none;width:auto;margin:8px auto 0;border:0;padding:10px 18px;background:transparent;color:#8a919b;font-size:11px;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none}
@keyframes rayt-gate-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:690px){.rayt-ref-gate{padding-top:13px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.rayt-ref-gate-top img{height:30px}.rayt-ref-gate-emblem{width:67px;height:67px;border-radius:21px;margin-bottom:17px}.rayt-ref-gate-body>p{margin-top:9px;margin-bottom:15px}.rayt-ref-gate-body h1{font-size:30px!important}.rayt-ref-gate-code-wrap{min-height:51px}.rayt-ref-gate-cta{min-height:47px}.rayt-ref-gate-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.rayt-ref-gate-body{animation:none!important}.rayt-ref-gate-code-wrap{transition:none!important}}


/* RAYT v15 · Legal consent in both registration panels */
.rayt-auth.rayt-client-auth-register,.rayt-auth.rayt-driver-auth-register{--auth-panel:clamp(440px,64dvh,540px)!important}
.rayt-legal-consent{flex:none;min-width:0;margin:0 0 1px;color:#6f7885;font-size:10px;line-height:1.35}
.rayt-legal-check{position:relative;display:flex;align-items:flex-start;gap:8px;cursor:pointer;text-align:left}
.rayt-legal-check>input{position:absolute;left:0;top:1px;width:17px;height:17px;opacity:0;cursor:pointer}
.rayt-legal-checkbox{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border:1.5px solid #cbd0d7;border-radius:5px;color:transparent;background:#fff;font-size:12px;font-weight:900;line-height:1;transition:background .16s,border-color .16s,color .16s}
.rayt-legal-check>input:checked+.rayt-legal-checkbox{background:#ffca35;color:#202630;border-color:#ffc629}
.rayt-legal-check>input:focus-visible+.rayt-legal-checkbox{outline:2px solid #d99e04;outline-offset:3px}
.rayt-legal-check>span:last-child{flex:1;min-width:0}
.rayt-legal-check button{display:inline!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;width:auto!important;min-height:0!important;height:auto!important;vertical-align:baseline;color:#1c2734!important;text-decoration:underline;text-underline-offset:2px;font-size:inherit!important;font-weight:850!important;cursor:pointer}
#rayt-legal-error:empty{display:none}#rayt-legal-error{display:block;color:#bb4545;font-size:10px;padding-top:2px}
.rayt-auth.rayt-driver-auth-register .rayt-auth-submit:disabled,.rayt-auth.rayt-client-auth-register .rayt-auth-submit:disabled{opacity:.47!important;cursor:not-allowed!important;box-shadow:none!important}
@media(max-height:700px){.rayt-auth.rayt-client-auth-register,.rayt-auth.rayt-driver-auth-register{--auth-panel:435px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-panel,.rayt-auth.rayt-driver-auth-register .rayt-auth-panel{padding-top:8px!important;padding-bottom:7px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-input,.rayt-auth.rayt-driver-auth-register .rayt-auth-input{height:38px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-form,.rayt-auth.rayt-driver-auth-register .rayt-auth-form{gap:5px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-tabs,.rayt-auth.rayt-driver-auth-register .rayt-auth-tabs{height:37px!important;margin-bottom:7px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-submit,.rayt-auth.rayt-driver-auth-register .rayt-auth-submit{min-height:40px!important;height:40px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-google,.rayt-auth.rayt-driver-auth-register .rayt-auth-google{min-height:37px!important;height:37px!important}.rayt-auth.rayt-client-auth-register .rayt-auth-divider,.rayt-auth.rayt-driver-auth-register .rayt-auth-divider{margin:6px 0!important}}
@media(max-height:550px){.rayt-auth.rayt-client-auth-register,.rayt-auth.rayt-driver-auth-register{--auth-panel:min(425px,88dvh)!important}}
.rayt-legal-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;background:transparent;box-sizing:border-box}.rayt-legal-backdrop{position:absolute;inset:0;background:#141a26a3;backdrop-filter:blur(6px)}.rayt-legal-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,420px);max-height:min(82dvh,670px);padding:19px;border-radius:24px;background:#fff;color:#202631;box-shadow:0 24px 60px #10172438;box-sizing:border-box}.rayt-legal-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.rayt-legal-dialog header img{display:block;height:28px;max-width:100px;object-fit:contain}.rayt-legal-dialog header button{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;box-shadow:none;color:#8b929d;font-size:27px;cursor:pointer}.rayt-legal-eyebrow{color:#ad8a28;letter-spacing:1.1px;font-size:9px;font-weight:900}.rayt-legal-dialog h2{font-size:22px!important;letter-spacing:-.6px;margin:6px 0!important}.rayt-legal-draft{margin:0 0 10px;color:#8a929c;font-size:10px}.rayt-legal-body{overflow:auto;min-height:0;flex:1;padding:4px 3px 8px 0;border-top:1px solid #eceef0;border-bottom:1px solid #eceef0}.rayt-legal-body h3{font-size:12px!important;margin:16px 0 5px!important;color:#17202b}.rayt-legal-body p{font-size:11px;line-height:1.55;margin:0;color:#69727d}.rayt-legal-done{flex:none;margin-top:13px!important;background:#ffca35!important;color:#171d25!important;border:0!important;border-radius:12px!important;min-height:44px;font-size:13px!important;font-weight:900!important;box-shadow:none!important}

/* RAYT v15.1 — Tipografía legal más suave y coherente con el acceso claro. */
.rayt-auth .rayt-legal-consent{
  color:#9097a0!important;
  font-size:10px!important;
  font-weight:450!important;
  letter-spacing:0!important;
  line-height:1.5!important;
}
.rayt-auth .rayt-legal-check>span:last-child{
  color:#88919b!important;
  font-weight:450!important;
}
.rayt-auth .rayt-legal-check button{
  color:#6c7682!important;
  font-weight:650!important;
  text-decoration-color:#bac0c7!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}
.rayt-auth .rayt-legal-checkbox{border-color:#cbd1d7!important;box-shadow:none!important}
.rayt-legal-dialog{color:#38414c!important}
.rayt-legal-dialog h2{color:#25303b!important;font-weight:800!important}
.rayt-legal-eyebrow{color:#ac9561!important;font-weight:750!important}
.rayt-legal-draft{color:#949ba4!important;font-weight:450!important}
.rayt-legal-body h3{color:#43505d!important;font-weight:750!important}
.rayt-legal-body p{color:#737e89!important;font-weight:400!important;line-height:1.65!important}


/* v15 — Actividad del cliente: historial premium; aislado de conductor y perfil. */
.shell.has-client-nav > .client-secondary.client-activity-premium{
 display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;
 padding:clamp(15px,2.6dvh,23px) 16px 0!important;background:#f7f8fa!important;
 color:#19212b!important;
}
.client-activity-premium .client-activity-top{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.client-activity-premium .client-secondary-title{margin:0!important}
.client-activity-premium .client-section-kicker{font-size:9px!important;letter-spacing:2.1px!important;color:#ba9126!important;font-weight:900!important}
.client-activity-premium .client-secondary-title h1{font-size:clamp(27px,7vw,33px)!important;line-height:1.12!important;font-weight:900!important;letter-spacing:-1.35px!important;margin:7px 0 5px!important;color:#151d28!important}
.client-activity-title-dot{color:#f9c630}
.client-activity-premium .client-secondary-title p{font-size:11px!important;color:#949ba5!important;line-height:1.35!important}
.client-activity-top-icon{display:grid;place-items:center;flex:none;height:39px;width:39px;border:1px solid #ecedf0;background:#fff;border-radius:13px;color:#b48b22;box-shadow:0 4px 10px #1b253009}
.client-activity-top-icon svg{width:19px;height:19px}
.client-activity-overview{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1.12fr);gap:15px;align-items:center;flex:none;min-height:78px;margin-bottom:15px;padding:15px 18px;background:linear-gradient(105deg,#1d2530,#111821);border-radius:19px;box-shadow:0 10px 21px rgba(20,31,43,.11)}
.client-activity-overview>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.client-activity-overview small{font-size:8px!important;letter-spacing:1.0px!important;color:#a8b2bd!important;font-weight:850!important;white-space:nowrap}
.client-activity-overview strong{font-size:clamp(19px,5vw,24px)!important;line-height:1!important;letter-spacing:-.7px!important;color:#fff!important;font-weight:900!important;white-space:nowrap}
.client-activity-overview>div:last-child strong{color:#ffd04b!important}
.client-activity-overview-divider{height:37px;background:#ffffff23}
.client-activity-filter-wrap{flex:none;min-width:0;margin:0 -16px 12px;padding:0 16px;overflow-x:auto;scrollbar-width:none}
.client-activity-filter-wrap::-webkit-scrollbar{display:none}
.client-activity-filters{display:flex;align-items:center;gap:7px;min-width:max-content}
.client-activity-filters button{appearance:none;display:grid;place-items:center;min-height:34px;border:1px solid #e7e9ed;background:#fff;border-radius:999px;padding:7px 13px;box-shadow:none;white-space:nowrap;color:#7f8894;font-size:10px;font-weight:800;transition:background .15s,color .15s,border-color .15s}
.client-activity-filters button.is-selected{color:#161c24;background:#ffcf48;border-color:#ffcf48;box-shadow:0 4px 9px #ecc14623}
.client-activity-list-heading{display:flex;flex:none;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 9px;padding:0 2px}
.client-activity-list-heading strong{font-size:12px;color:#29313d;font-weight:900}
.client-activity-list-heading span{font-size:10px;color:#a0a7af;font-weight:700}
.client-activity-premium .client-history-list{display:flex!important;flex-direction:column!important;gap:10px!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important;overscroll-behavior:contain;padding:0 2px max(15px,env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#cfd2d6 transparent}
.client-activity-premium .client-history-item.client-history-premium{flex:none;display:flex!important;flex-direction:column!important;gap:0!important;border:1px solid #eceef1!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 14px rgba(23,34,45,.028)!important;padding:13px 14px 12px!important;min-width:0}
.client-history-premium .client-history-top{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f0f1f3;padding:0 0 10px;margin:0 0 11px}
.client-history-premium .client-history-top span{font-size:10px!important;font-weight:700!important;color:#959da7!important}
.client-history-premium .client-history-top b{font-size:17px!important;font-weight:950!important;letter-spacing:-.55px;color:#1b232e!important;font-variant-numeric:tabular-nums}
.client-history-journey{display:grid;grid-template-columns:11px minmax(0,1fr);column-gap:12px;min-width:0;padding:0 0 10px}
.client-history-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5px 0;min-height:74px}
.client-history-rail i{width:9px;height:9px;display:block;border-radius:50%;background:#ffcb39;flex:none}
.client-history-rail i:last-child{background:#202732}
.client-history-rail em{display:block;flex:1;width:1px;min-height:13px;margin:4px 0;background:repeating-linear-gradient(to bottom,#d9dce0 0 3px,transparent 3px 6px)}
.client-history-stops{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0}
.client-history-stops>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.client-history-stops small{font-size:9px!important;font-weight:750!important;color:#9ba2ad!important}
.client-history-stops strong{font-size:11px!important;line-height:1.32!important;color:#2b3440!important;font-weight:800!important;overflow-wrap:anywhere}
.client-history-premium .client-history-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #f0f1f3;padding-top:10px;font-size:10px!important}
.client-history-premium .client-history-driver{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9299a3;font-size:10px;font-weight:700}
.client-history-premium .client-history-status{flex:none;white-space:nowrap;font-size:9px;font-weight:800;padding:6px 10px!important;border-radius:999px!important;background:#fff5d8!important;color:#85691f!important}
.client-history-premium .client-history-status.status-cancelado{background:#f3f4f6!important;color:#78808b!important}
.client-history-premium .client-history-status.status-no_presentado{background:#fff0e4!important;color:#ac7449!important}
.client-history-premium .client-history-status.status-otro{background:#eaf1f9!important;color:#527496!important}
.client-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:185px;padding:28px 12px!important;border:1px dashed #e5e8ec;border-radius:18px;background:#fff;color:#89929d}
.client-history-empty>span{width:46px;height:46px;background:#fff4d5;border-radius:16px;display:grid;place-items:center;color:#c4971a}
.client-history-empty>span svg{width:22px;height:22px}
.client-history-empty strong{font-size:13px!important;color:#35404d!important}
.client-history-empty small{max-width:225px;font-size:10px;line-height:1.5;color:#9ba3ad}
@media(max-height:675px){.shell.has-client-nav>.client-secondary.client-activity-premium{padding-top:12px!important}.client-activity-premium .client-activity-top{margin-bottom:10px}.client-activity-premium .client-secondary-title h1{font-size:26px!important}.client-activity-overview{min-height:68px;margin-bottom:10px;padding:12px 15px}.client-activity-filter-wrap{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){.client-activity-filters button{transition:none}}


/* v22 · Administrador: gestor de publicidad y portadas subidas. */
.rayt-admin-nav{display:flex;gap:5px;padding:5px;margin:0 0 17px;border-radius:15px;background:#eceff2;max-width:410px}
.rayt-admin-nav button{flex:1;border:0;border-radius:11px;padding:12px 10px;background:transparent;color:#7c8490;font-size:12px;font-weight:800;box-shadow:none}
.rayt-admin-nav button.active{background:#fff;color:#18202b;box-shadow:0 2px 9px #0000000b}
.rayt-admin-nav b{display:inline-grid;place-items:center;margin-left:4px;background:#ffeab2;border-radius:30px;min-width:18px;height:18px;color:#755513;font-size:10px}
.rayt-admin-ads{max-width:790px;margin:0 auto 35px;color:#18202b}
.rayt-admin-ads-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 17px}
.rayt-admin-ads-head small{color:#b48a2a;font-size:9px;letter-spacing:1.5px;font-weight:900}
.rayt-admin-ads-head h2{font-size:26px;letter-spacing:-1px;margin:5px 0 4px}
.rayt-admin-ads-head p{font-size:12px;color:#838b96;margin:0}
.rayt-admin-ad-count{font-size:10px;border-radius:99px;background:#fff2cb;padding:7px 10px;font-weight:800;white-space:nowrap}
.rayt-admin-ad-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:159px;gap:8px;padding:18px;margin-bottom:16px;text-align:center;border:1.5px dashed #e4c773;border-radius:22px;background:linear-gradient(125deg,#fffef9,#fff5df);cursor:pointer;box-sizing:border-box}
.rayt-admin-ad-upload input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.rayt-admin-upload-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#ffcb3d;font-size:26px;font-weight:400;color:#222832}
.rayt-admin-ad-upload strong{font-size:14px}
.rayt-admin-ad-upload small{font-size:10px;color:#8b929b;max-width:300px;line-height:1.5}
.rayt-admin-ad-list{display:grid;gap:10px}
.rayt-admin-ad-item{display:grid;grid-template-columns:minmax(95px,160px) minmax(0,1fr);gap:10px;align-items:center;padding:9px;border-radius:17px;border:1px solid #e8e9eb;background:white;box-shadow:0 5px 18px #17202b08}
.rayt-admin-ad-preview{aspect-ratio:3/1;background:#f1f3f5;border-radius:9px;overflow:hidden}
.rayt-admin-ad-preview img{height:100%;width:100%;object-fit:cover}
.rayt-admin-ad-meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.rayt-admin-ad-meta strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rayt-admin-ad-meta small{font-size:10px;color:#9198a0}
.rayt-admin-ad-actions{grid-column:1/-1;display:flex;gap:6px;justify-content:flex-end}
.rayt-admin-ad-actions button{font-size:11px;font-weight:800;border:1px solid #e8ebed;border-radius:9px;padding:7px 11px;background:#f6f7f8;color:#525d69;box-shadow:none;min-height:33px}
.rayt-admin-ad-actions button:disabled{opacity:.3;cursor:default}
.rayt-admin-ad-actions button.is-active{background:#fff3ca;border-color:#ffe3a2;color:#7c5710}
.rayt-admin-ad-actions .rayt-admin-ad-delete{color:#a75151;background:#fff1f1;border-color:#ffdddd;font-size:18px;line-height:1}
.rayt-admin-ad-empty{background:#fff;border:1px solid #eceef0;border-radius:15px;text-align:center;padding:22px;color:#8b939e;font-size:12px}
.rayt-admin-ad-note{font-size:10px;line-height:1.5;color:#9299a3;margin-top:17px}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads{isolation:isolate!important;background:#e9e9e9!important}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide{position:absolute!important;inset:0!important;display:block!important;opacity:0;overflow:hidden!important;pointer-events:none;z-index:1}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-dots{position:absolute;bottom:5px;right:8px;z-index:4;display:flex;gap:4px}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-dots i{width:4px;height:4px;background:#ffffff99;border-radius:50%;box-shadow:0 0 2px #0008}
.driver-home-top .driver-ad-cover.rayt-ads-empty{display:grid;place-items:center;background:linear-gradient(110deg,#151c25,#515c69)!important}
.driver-home-top .driver-ad-cover.rayt-ads-empty span{font-size:9px;letter-spacing:1.5px;color:#fff;font-weight:800}
@media(prefers-reduced-motion:reduce){.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide{animation:none!important;opacity:0!important}.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide:first-of-type{opacity:1!important}}

/* RAYT · Client profile premium: only essential account details. */
.shell.has-client-nav > .client-secondary.client-profile-premium{
  background:#f7f8f9!important;
  display:flex!important;flex-direction:column!important;gap:0!important;
  padding:clamp(21px,4dvh,32px) 16px 16px!important;
  overflow:auto!important;box-sizing:border-box!important;
}
.client-profile-premium .client-profile-heading{margin-bottom:20px!important;flex:none}
.client-profile-premium .client-section-kicker{color:#bb9221!important;font-size:10px!important;letter-spacing:1.9px!important;font-weight:850!important}
.client-profile-premium .client-profile-heading h1{font-size:clamp(27px,7vw,32px)!important;font-weight:900!important;letter-spacing:-1.15px!important;line-height:1.1!important;margin:7px 0 0!important;color:#181f29!important}
.client-profile-premium .client-profile-heading h1 span{color:#e7b932!important}
.client-profile-main-card{border:1px solid #e9ecf0;background:#fff;border-radius:22px;padding:17px 15px 0;box-shadow:0 7px 24px #212b3510;flex:none;overflow:hidden}
.client-profile-person{display:flex;align-items:center;gap:13px;padding-bottom:18px;min-width:0}
.client-profile-photo{width:66px;height:66px;flex:0 0 66px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#ffe18b,#ffca35);color:#22252a;font-size:22px;font-weight:900;box-shadow:0 4px 12px #d6ab3933}
.client-profile-photo img{display:block;width:100%;height:100%;object-fit:cover}
.client-profile-person-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.client-profile-person-copy strong{font-size:clamp(15px,4.2vw,18px);font-weight:900;letter-spacing:-.45px;color:#1a212a;line-height:1.15;overflow-wrap:anywhere}
.client-profile-person-copy>small{font-size:11px;color:#949ba4;font-weight:650}
.client-profile-verified{font-size:10px;font-weight:750;color:#a17e26;display:inline-flex;align-items:center;gap:5px;margin-top:3px}
.client-profile-verified i{display:block;width:6px;height:6px;background:#e9bd3c;border-radius:50%}
.client-profile-referrer{border-top:1px solid #f0f1f2;display:flex;justify-content:space-between;align-items:center;gap:9px;min-height:76px;padding:15px 1px}
.client-profile-referrer>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.client-profile-referrer small{color:#9aa1aa;font-size:9px;font-weight:900;letter-spacing:1.1px}
.client-profile-referrer strong{font-size:13px;font-weight:850;color:#303741;line-height:1.3;overflow-wrap:anywhere}
.client-profile-ref-icon{flex:0 0 28px;height:28px;width:28px;display:grid;place-items:center;border-radius:50%;background:#fff6df;color:#c59a26;font-size:15px}
.client-profile-options{background:#fff;border:1px solid #e9ecf0;border-radius:19px;margin-top:15px;padding:5px 7px;box-shadow:0 5px 20px #212b350a;flex:none}
.client-profile-option{width:100%;min-height:67px;display:flex;align-items:center;gap:12px;padding:9px 8px!important;border:0!important;border-radius:13px!important;background:transparent!important;box-shadow:none!important;text-align:left;cursor:pointer;color:#242b35}
.client-profile-option:active{background:#f8f9fa!important}
.client-profile-option-icon{flex:0 0 38px;width:38px;height:38px;background:#f5f6f7;border-radius:12px;display:grid;place-items:center;color:#68717d}
.client-profile-option-icon svg{width:20px;height:20px}
.client-profile-option>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.client-profile-option strong{font-size:13px;color:#232a34;font-weight:850}
.client-profile-option small{font-size:10px;color:#9da4ad;font-weight:550}
.client-profile-chevron{width:15px;height:15px;color:#adb4bd;margin-right:5px}
.client-profile-premium .client-profile-signout{display:flex;justify-content:center;align-items:center;gap:5px;align-self:center;margin:clamp(22px,5dvh,38px) auto 8px;border:0!important;background:transparent!important;box-shadow:none!important;color:#9aa1aa!important;padding:10px 16px!important;font-size:12px;font-weight:700;cursor:pointer}
.client-profile-premium .client-profile-signout:active{color:#4f5964!important}
/* Minimal editing sheet; it appears only on explicit My data selection. */
.rayt-client-data-overlay{position:fixed;z-index:3000;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;box-sizing:border-box}
.rayt-client-data-shade{position:absolute;inset:0;background:rgba(14,20,29,.36);backdrop-filter:blur(3px)}
.rayt-client-data-dialog{position:relative;width:100%;max-width:440px;background:#fff;border-radius:26px 26px 0 0;padding:18px 21px max(25px,env(safe-area-inset-bottom));box-sizing:border-box;box-shadow:0 -16px 42px #111a2430;animation:rayt-client-data-enter .24s cubic-bezier(.21,.8,.2,1) both}
.rayt-client-data-dialog header{display:flex;justify-content:space-between;align-items:center}
.rayt-client-data-dialog header>span{color:#be9428;font-size:10px;font-weight:900;letter-spacing:1.6px}
.rayt-client-data-dialog header button{border:0;background:transparent;box-shadow:none;font-size:25px;color:#969da6;font-weight:400;padding:3px 6px;min-height:32px}
.rayt-client-data-dialog h2{font-size:26px;font-weight:950;color:#18212b;letter-spacing:-1px;margin:6px 0!important}
.rayt-client-data-dialog h2 span{color:#e9b833}
.rayt-client-data-dialog p{font-size:11px;color:#929ba5;margin:0 0 15px}
.rayt-client-data-photo{width:90px;height:90px;position:relative;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:#ffd44c;box-shadow:0 0 0 1px #f0d99f,0 9px 20px #d6a72724;margin:4px auto 8px;padding:0;overflow:visible;font-size:28px;font-weight:900;color:#24292f}
.rayt-client-data-photo>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;overflow:hidden}
.rayt-client-data-photo img{width:100%;height:100%;object-fit:cover}
.rayt-client-data-photo i{font-style:normal;position:absolute;bottom:0;right:-4px;background:#252c34;color:white;font-size:19px;width:28px;height:28px;border:3px solid white;border-radius:50%;display:grid;place-items:center}
.rayt-client-data-photo-caption{display:block;text-align:center;font-size:10px;color:#989fa8;margin-bottom:18px}
.rayt-client-data-dialog form{display:flex;flex-direction:column;gap:9px}
.rayt-client-data-dialog label{font-size:9px;font-weight:850;color:#929ba4;letter-spacing:1.1px}
.rayt-client-data-dialog input[type=text]{width:100%;border:1px solid #e3e6ea;border-radius:13px;padding:13px 12px;font-size:14px;color:#202833;outline:none;box-sizing:border-box;background:#fff}
.rayt-client-data-dialog input[type=text]:focus{border-color:#e4b12d;box-shadow:0 0 0 3px #ffd65c28}
.rayt-client-data-save{min-height:49px;border:0;border-radius:13px;background:#ffcb39;color:#1a1f28;display:flex;align-items:center;justify-content:center;gap:13px;font-size:13px;font-weight:900;margin-top:12px}
.rayt-client-data-save span{font-size:20px}
@keyframes rayt-client-data-enter{from{transform:translateY(22px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(max-height:620px){.shell.has-client-nav > .client-secondary.client-profile-premium{padding-top:13px!important}.client-profile-premium .client-profile-heading{margin-bottom:12px!important}.client-profile-main-card{padding-top:12px}.client-profile-person{padding-bottom:12px}.client-profile-referrer{min-height:58px;padding:11px 1px}.client-profile-options{margin-top:10px}.client-profile-premium .client-profile-signout{margin-top:12px}.rayt-client-data-dialog{padding-top:10px}.rayt-client-data-photo{width:73px;height:73px}.rayt-client-data-photo-caption{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.rayt-client-data-dialog{animation:none!important}}

/* Pantalla real móvil sin simulador */
html,body{width:100%;min-height:100%;margin:0;overflow-x:hidden}#app{width:100%;min-height:100dvh;margin:0 auto}@media(max-width:600px){html,body,#app{max-width:100%;min-width:0}.shell{width:100%!important;max-width:100%!important;margin-inline:auto!important}.shell.rayt-access-shell:has(.rayt-client-auth-v2),.shell.rayt-access-shell:has(.rayt-driver-auth-v2),.rayt-ref-gate-shell{width:100%!important;max-width:100%!important}input,select,textarea{font-size:16px}}

/* RAYT · Corrección onboarding conductor, último paso: sugerencias y CTA
   La lista ocupa espacio propio; el CTA conserva una zona independiente. */
.rayt-driver-setup-step-2 .rayt-setup-content{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:12px;
}
.rayt-driver-setup-step-2 .rayt-setup-model-art{
  flex:1 0 88px;
  min-height:88px;
}
.rayt-driver-setup-step-2 .rayt-setup-model-form{
  flex:none;
  margin-bottom:8px;
}
.rayt-driver-setup-step-2 .rayt-setup-model-chips{
  position:static;
  flex:none;
  margin-bottom:8px;
}
.rayt-driver-setup-step-2 .rayt-setup-bottom{
  position:relative;
  z-index:3;
  flex:0 0 auto;
  margin-top:auto;
  padding:12px 0 0;
  background:linear-gradient(180deg,#fffdf600,#fffdf6 18%);
}
@media(max-height:680px){
  .rayt-driver-setup-step-2 .rayt-setup-content{padding-top:12px}
  .rayt-driver-setup-step-2 .rayt-setup-model-art{flex:0 0 80px;min-height:80px;max-height:80px}
  .rayt-driver-setup-step-2 .rayt-setup-model-art img{max-height:78px}
}

/* Oculta solo la barra visual en sugerencias del modelo; mantiene desplazamiento táctil. */
.rayt-driver-setup-step-2 .rayt-setup-content{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.rayt-driver-setup-step-2 .rayt-setup-content::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}

/* RAYT v18 - Solo solicitud inicial del cliente: mapa protagonista.
   Se preservan selección de ubicación, búsqueda, ofertas y viaje activo. */
@media (max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride){
   position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
   position:absolute!important;inset:0 0 auto 0!important;height:60%!important;min-height:0!important;max-height:none!important;width:100%!important;flex:none!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .booking-sheet.rayt-route-ready{
   position:absolute!important;inset:auto 0 0 0!important;top:auto!important;bottom:0!important;
   height:41%!important;min-height:0!important;max-height:41%!important;width:100%!important;
   margin:0!important;padding:9px 14px max(10px,env(safe-area-inset-bottom))!important;
   display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:4px!important;
   overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
   -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;box-sizing:border-box!important;
   border-radius:24px 24px 0 0!important;background:#fff!important;z-index:90!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .booking-sheet::-webkit-scrollbar{display:none!important;width:0!important}
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .booking-sheet > .sheet-head{flex:0 0 auto!important;min-height:23px!important;margin:0!important}
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .booking-sheet > #rayt-booking-offer{
   position:relative!important;top:0!important;flex:0 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;margin:0!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .rayt-booking-vehicle{
   min-height:clamp(68px,12dvh,104px)!important;height:clamp(68px,12dvh,104px)!important;max-height:104px!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .rayt-booking-vehicle img{
   height:clamp(70px,12dvh,105px)!important;max-height:105px!important;width:min(45vw,170px)!important;object-fit:contain!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .booking-sheet > .pay-choice{flex:0 0 auto!important;min-height:34px!important;margin:0!important;padding:5px 10px!important}
 html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) .booking-sheet > #rayt-request-taxi{
   flex:0 0 auto!important;min-height:44px!important;height:44px!important;margin:0!important;
 }
}
/* Los equipos de poca altura conservan una zona desplazable sin barra visible. */
@media (max-width:760px) and (max-height:700px){
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .client-map{height:56%!important}
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode):not(.client-searching):not(.client-has-offers):not(.client-active-ride) > .booking-sheet.rayt-route-ready{height:45%!important;max-height:45%!important}
}

/* RAYT v18.1 — El mismo reparto adaptable 60/40 también al elegir
   el pin de origen o destino. No altera viajes activos ni conductor. */
@media (max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
  position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map{
  position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
  height:60%!important;min-height:0!important;max-height:none!important;width:100%!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet{
  position:absolute!important;top:59%!important;bottom:0!important;left:0!important;right:0!important;
  height:41%!important;min-height:0!important;max-height:41%!important;
  margin:0!important;padding:9px 14px max(10px,env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
  border-radius:24px 24px 0 0!important;z-index:90!important;background:white!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet::-webkit-scrollbar{display:none!important;width:0!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar{
  bottom:10px!important;max-width:calc(100% - 18px)!important;box-sizing:border-box!important;
 }
}
@media (max-width:760px) and (max-height:700px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map{height:56%!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet{
  top:55%!important;height:45%!important;max-height:45%!important;
 }
}

/* RAYT v18.2 — Fix real pin UI. The pin controls are inside .client-map;
   the booking-sheet is a SECOND panel and must not remain visible while picking. */
@media (max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
   position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
   position:absolute!important;inset:0!important;top:0!important;bottom:0!important;
   height:100%!important;max-height:100%!important;min-height:0!important;
   width:100%!important;overflow:hidden!important;z-index:1!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-awaiting{
   display:none!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar:not([hidden]){
   position:absolute!important;inset:auto 0 0 0!important;left:0!important;right:0!important;
   bottom:0!important;width:100%!important;max-width:none!important;
   min-height:clamp(134px,20dvh,168px)!important;height:auto!important;max-height:36%!important;
   padding:14px 17px max(13px,env(safe-area-inset-bottom))!important;
   border:0!important;border-radius:23px 23px 0 0!important;
   box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
   justify-content:center!important;gap:8px!important;background:#fff!important;
   z-index:550!important;box-shadow:0 -7px 28px #00000014!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar strong{font-size:16px!important;line-height:1.2!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar small{font-size:12px!important;line-height:1.25!important;white-space:normal!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar > div{display:flex!important;gap:9px!important;margin:3px 0 0!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar button{min-height:43px!important;padding:9px!important;border-radius:12px!important;font-size:13px!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar[hidden]{display:none!important}
}
@media(max-width:760px) and (max-height:640px){
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar:not([hidden]){min-height:125px!important;padding-top:10px!important;gap:5px!important}
}

/* RAYT v18.3 | Pin de origen/destino: reparto real 60 % mapa y 40 % panel.
   El selector es hijo de .client-map, por eso el panel mide 2/3 del
   mapa de 60 % y se coloca inmediatamente debajo; el pin queda centrado
   en el 60 % visible en lugar de detrás de la tarjeta. */
@media (max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
   position:relative!important;height:100%!important;min-height:0!important;
   overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
   position:absolute!important;inset:0 0 auto 0!important;top:0!important;
   height:60%!important;min-height:0!important;max-height:60%!important;
   width:100%!important;overflow:visible!important;z-index:1!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet{display:none!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar:not([hidden]){
   position:absolute!important;top:100%!important;bottom:auto!important;
   left:0!important;right:0!important;width:100%!important;max-width:none!important;
   height:66.666667%!important;min-height:0!important;max-height:none!important;
   margin:0!important;padding:clamp(12px,2.2dvh,20px) 17px max(14px,env(safe-area-inset-bottom))!important;
   box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
   justify-content:center!important;gap:clamp(7px,1.2dvh,13px)!important;
   overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
   -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
   border-radius:24px 24px 0 0!important;background:#fff!important;z-index:550!important;
 }
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar::-webkit-scrollbar{display:none!important;width:0!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar > div{flex:0 0 auto!important;width:100%!important}
 html body .shell.has-client-nav .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-toolbar button{min-height:44px!important}
}


/* RAYT v18.4 - selector pin, dos hermanos reales: mapa 60 / card 40.
   El toolbar se mueve al contenedor .rayt-client al activar la selección. */
@media(max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
  position:relative!important;height:100%!important;min-height:0!important;
  overflow:hidden!important;isolation:isolate!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
  position:absolute!important;inset:0 0 auto 0!important;top:0!important;bottom:auto!important;
  height:60%!important;max-height:60%!important;min-height:0!important;width:100%!important;
  overflow:hidden!important;z-index:1!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-awaiting{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .rayt-inline-pick-toolbar:not([hidden]){
  position:absolute!important;inset:60% 0 0 0!important;top:60%!important;bottom:0!important;
  left:0!important;right:0!important;width:100%!important;height:40%!important;
  max-height:40%!important;min-height:0!important;max-width:none!important;margin:0!important;
  padding:clamp(10px,2dvh,18px) 17px max(12px,env(safe-area-inset-bottom))!important;
  border:0!important;border-radius:22px 22px 0 0!important;box-sizing:border-box!important;
  background:#fff!important;box-shadow:0 -6px 25px #00000012!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  gap:clamp(5px,1dvh,10px)!important;overflow-y:auto!important;overflow-x:hidden!important;
  scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;z-index:600!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .rayt-inline-pick-toolbar::-webkit-scrollbar{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .rayt-inline-pick-toolbar > div{width:100%!important;flex:0 0 auto!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .rayt-inline-pick-toolbar button{min-height:44px!important}
}

/* RAYT v18.5 — Pin: una sola card, NO duplicar paneles.
   Al seleccionar un pin, la booking-sheet se convierte en el panel de confirmación. */
@media(max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
   display:block!important;position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map{
   position:absolute!important;inset:0 0 auto 0!important;top:0!important;bottom:auto!important;
   height:60%!important;max-height:60%!important;min-height:0!important;width:100%!important;
   overflow:hidden!important;z-index:1!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-awaiting,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-ready{
   display:flex!important;flex-direction:column!important;justify-content:center!important;
   position:absolute!important;inset:60% 0 0 0!important;top:60%!important;bottom:0!important;
   height:40%!important;min-height:0!important;max-height:40%!important;width:100%!important;
   margin:0!important;padding:clamp(10px,2dvh,18px) 18px max(12px,env(safe-area-inset-bottom))!important;
   box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;
   border-radius:22px 22px 0 0!important;background:#fff!important;z-index:550!important;
   scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet::-webkit-scrollbar{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet > :not(#rayt-inline-pick-toolbar){display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet > #rayt-inline-pick-toolbar:not([hidden]){
   display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;
   position:static!important;inset:auto!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
   width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;max-width:none!important;
   margin:0!important;padding:0!important;gap:clamp(6px,1.2dvh,12px)!important;
   background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet > #rayt-inline-pick-toolbar > div{display:flex!important;width:100%!important;gap:10px!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet > #rayt-inline-pick-toolbar button{min-height:44px!important}
}

/* v18.6: el titulo del selector vive en el mapa, no encima de la card 40%. */
@media(max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map > #rayt-inline-pick-title{
  display:block!important;position:absolute!important;z-index:620!important;
  top:clamp(18px,5dvh,45px)!important;left:50%!important;right:auto!important;
  transform:translateX(-50%)!important;width:max-content!important;max-width:calc(100% - 100px)!important;
  padding:10px 14px!important;margin:0!important;text-align:center!important;
  font-size:clamp(12px,3.5vw,15px)!important;line-height:1.3!important;font-weight:750!important;
  color:#181818!important;background:rgba(255,255,255,.96)!important;
  box-shadow:0 5px 18px #0000001c!important;border-radius:15px!important;pointer-events:none!important;
 }
}

/* v18.7 - Selector inmersivo: el mapa ocupa el 100% y solo se muestra
   la bandeja mínima de acciones sobre él. Afecta únicamente a pin mode. */
@media(max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
   position:relative!important;display:block!important;height:100%!important;
   min-height:0!important;overflow:hidden!important;isolation:isolate!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
   position:absolute!important;inset:0!important;top:0!important;bottom:0!important;
   width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
   overflow:hidden!important;z-index:1!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-ready,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .booking-sheet.rayt-route-awaiting{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .map-floating-fields,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .booking-map-tip,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .booking-map-recenter,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .rayt-map-route-summary,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .map-brand,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map > #rayt-inline-pick-title{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar:not([hidden]){
   position:absolute!important;inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px!important;
   top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;left:12px!important;right:12px!important;
   width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
   margin:0!important;padding:12px!important;box-sizing:border-box!important;
   display:flex!important;flex-direction:column!important;justify-content:center!important;gap:0!important;
   border:1px solid rgba(0,0,0,.055)!important;border-radius:19px!important;
   background:#fff!important;box-shadow:0 8px 30px #00000025!important;z-index:700!important;
   overflow:visible!important;transform:none!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar[hidden]{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar > small,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar > strong{display:none!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar > div{display:flex!important;width:100%!important;gap:10px!important;margin:0!important}
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > #rayt-inline-pick-toolbar button{
   flex:1 1 0!important;min-width:0!important;min-height:48px!important;padding:12px 7px!important;
   font-size:14px!important;border-radius:12px!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode .rayt-inline-pick-crosshair{
   top:46%!important;pointer-events:none!important;
 }
}

/* v18.8 — Selector de pin: mapa hasta el borde superior de navegación.
   Elimina el flex-basis residual de v6.3 y los límites antiguos del mapa. */
@media (max-width:760px){
 html body .shell.has-client-nav:has(> .rayt-client.client-booking.inline-pin-mode){
   display:flex!important;flex-direction:column!important;min-height:100dvh!important;
   height:100dvh!important;overflow:hidden!important;gap:0!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode{
   display:block!important;position:relative!important;flex:1 1 0%!important;
   align-self:stretch!important;height:auto!important;min-height:0!important;
   max-height:none!important;margin:0!important;padding:0!important;
   overflow:hidden!important;background:#eceae4!important;border-radius:0!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
   display:block!important;position:absolute!important;flex:none!important;flex-basis:auto!important;
   inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
   width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
   margin:0!important;padding:0!important;transform:none!important;overflow:hidden!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode > .client-map > #rayt-inline-trip-map{
   position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
   min-height:0!important;max-height:none!important;margin:0!important;border-radius:0!important;
 }
 html body .shell.has-client-nav:has(> .rayt-client.client-booking.inline-pin-mode) > .client-bottom-nav{
   flex:0 0 auto!important;margin:0!important;position:relative!important;
 }
}

/* v18.9: exact pin-selection map layer; inline important properties in app.js
   additionally defeat the historical booking-height selectors. */
@media (max-width:760px){
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode.rayt-pin-full-height > .client-map,
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode.rayt-pin-full-height > .client-map:has(#rayt-inline-trip-map[data-preview="true"]){
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;flex:none!important;flex-basis:auto!important;
 }
 html body .shell.has-client-nav > .rayt-client.client-booking.inline-pin-mode.rayt-pin-full-height > .client-map > #rayt-inline-trip-map{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
 }
}

/* v19.0 | Tarifa de cliente: título y monto en filas independientes.
   No desplazar el título con top/transform: evita la superposición en móviles. */
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  justify-content:center!important;gap:5px!important;min-width:0!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label{
  display:block!important;position:static!important;flex:0 0 auto!important;
  align-self:stretch!important;width:100%!important;max-width:100%!important;
  height:auto!important;min-height:14px!important;margin:0!important;padding:0!important;
  line-height:1.25!important;text-align:left!important;transform:none!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor > label > span{
  display:block!important;position:static!important;inset:auto!important;top:auto!important;left:auto!important;
  width:100%!important;height:auto!important;margin:0!important;padding:0!important;
  line-height:1.25!important;transform:none!important;text-align:left!important;white-space:nowrap!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
> .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  position:relative!important;flex:0 0 auto!important;margin:0!important;transform:none!important;
}
@media(max-height:690px){
 html body .shell.has-client-nav .rayt-client.client-booking
 > .booking-sheet.rayt-route-ready #rayt-fare-editor{gap:3px!important}
}


/* RAYT splash screen */
.rayt-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#ffffff 0%,#f7f7f8 40%,#efefef 100%);transition:opacity .4s ease,visibility .4s ease;opacity:1;visibility:visible;pointer-events:auto}.rayt-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.rayt-splash__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px}.rayt-splash__logo-wrap{width:112px;height:112px;border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.10);display:flex;align-items:center;justify-content:center;animation:raytSplashPulse 1.7s ease-in-out infinite}.rayt-splash__logo{width:78px;height:78px;object-fit:contain;border-radius:18px}.rayt-splash__wordmark{font-size:32px;font-weight:800;letter-spacing:.08em;color:#111}.rayt-splash__sub{font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#7a7a7a}.rayt-splash__dot{width:8px;height:8px;border-radius:999px;background:#f7c530;box-shadow:0 0 0 rgba(247,197,48,.45);animation:raytSplashBlink 1.1s infinite}@keyframes raytSplashPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 18px 44px rgba(0,0,0,.10)}50%{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 54px rgba(0,0,0,.14)}}@keyframes raytSplashBlink{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
