: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%;width:58px;height:80px;transform:translate(-50%,-88%);z-index:500;pointer-events:none;filter:drop-shadow(0 12px 16px rgba(0,0,0,.18)) drop-shadow(0 4px 6px rgba(0,0,0,.12))}.rayt-inline-pick-crosshair:before{content:'';position:absolute;left:50%;top:4px;width:34px;height:34px;transform:translateX(-50%) rotate(-45deg);box-sizing:border-box;background:linear-gradient(180deg,#ffe27a 0%,#ffd24b 42%,#f4be1e 100%);border:3px solid #151515;border-radius:58% 58% 58% 0;box-shadow:inset 0 2px 0 rgba(255,255,255,.45),0 2px 0 rgba(0,0,0,.04)}.rayt-inline-pick-crosshair:after{content:'';position:absolute;left:50%;top:18px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#151515;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.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{
  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-options{display:grid;gap:2px;padding:8px 9px}
.client-profile-options>*+*{border-top:1px solid #edf1f4}
.client-profile-option{min-height:74px;padding:12px 10px!important;border-radius:16px!important;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.client-profile-option:hover{background:#fafbfc!important}
.client-profile-option:active{background:#f5f7f9!important;transform:scale(.997)}
.client-profile-option-icon{flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:linear-gradient(180deg,#f8f9fb 0%,#f1f3f6 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.client-profile-option>span:nth-child(2){gap:4px}
.client-profile-chevron{width:18px;height:18px;color:#b4bbc4;flex:none}
.rayt-sound-setting{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:74px;padding:12px 10px;border-radius:16px;cursor:pointer;user-select:none;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;color:#242b35}
.rayt-sound-setting:hover{background:#fafbfc}
.rayt-sound-setting:active{background:#f5f7f9;transform:scale(.997)}
.rayt-sound-setting:focus-within{outline:2px solid rgba(225,177,33,.34);outline-offset:2px}
.rayt-sound-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#f8f9fb 0%,#f1f3f6 100%);color:#6d7782;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.rayt-sound-symbol svg{width:21px;height:21px}
.rayt-sound-description{display:flex;flex-direction:column;gap:4px;min-width:0}
.rayt-sound-description strong{font-size:13px;font-weight:850;color:#232a34;line-height:1.1}
.rayt-sound-description small{font-size:10px;color:#9da4ad;font-weight:550;line-height:1.35}
.rayt-sound-checkbox{position:absolute;opacity:0;pointer-events:none}
.rayt-sound-switch{width:50px;height:30px;border-radius:999px;background:#e5e8ec;box-shadow:inset 0 1px 2px rgba(17,24,39,.08);position:relative;transition:background .22s ease,box-shadow .22s ease;flex:none}
.rayt-sound-switch::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(17,24,39,.18);transition:transform .22s ease}
.rayt-sound-checkbox:checked + .rayt-sound-switch{background:linear-gradient(180deg,#f8d55e 0%,#f4c434 100%);box-shadow:inset 0 1px 2px rgba(131,96,1,.12),0 0 0 4px rgba(250,205,68,.14)}
.rayt-sound-checkbox:checked + .rayt-sound-switch::after{transform:translateX(20px)}
@media (max-width:380px){.rayt-sound-setting{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:11px 8px}.rayt-sound-symbol{width:38px;height:38px}.rayt-sound-switch{width:46px;height:28px}.rayt-sound-switch::after{width:22px;height:22px}.rayt-sound-checkbox:checked + .rayt-sound-switch::after{transform:translateX(18px)}}
.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)}}


/* RAYT Cliente · ajuste solicitado 2026-10-06
   Solo modifica la animación inicial del taxi en "Solicitar taxi". */
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-awaiting
#rayt-booking-offer
.rayt-booking-vehicle{
  position:relative!important;
}

/* El halo nace exactamente desde el centro visual del taxi. */
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-awaiting
#rayt-booking-offer
.rayt-awaiting-halo{
  left:50%!important;
  top:50%!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  transform:translateY(-2px)!important;
  z-index:1!important;
  overflow:visible!important;
}

/* Aros más notorios, manteniendo el lenguaje premium y discreto. */
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-awaiting
#rayt-booking-offer
.rayt-awaiting-halo i{
  width:152px!important;
  height:76px!important;
  border:2px solid rgba(247,197,48,.60)!important;
  box-shadow:
    0 0 0 1px rgba(247,197,48,.10),
    0 0 18px rgba(247,197,48,.28)!important;
  animation:rayt-client-taxi-ring 3.8s cubic-bezier(.18,.72,.18,1) infinite!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-route-awaiting
#rayt-booking-offer
.rayt-awaiting-halo i:nth-child(2){
  animation-delay:1.9s!important;
}

/* Un pequeño brillo detrás del taxi hace visible la salida del aro sin
   modificar el tamaño ni la posición del vehículo. */
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-awaiting
#rayt-booking-offer
.rayt-awaiting-halo::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:92px;
  height:42px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(247,197,48,.26) 0%,
    rgba(247,197,48,.11) 46%,
    rgba(247,197,48,0) 74%);
  filter:blur(2px);
  animation:rayt-client-taxi-glow 2.8s ease-in-out infinite;
}

@keyframes rayt-client-taxi-ring{
  0%{
    transform:translate(-50%,-50%) scale(.58);
    opacity:.82;
  }
  58%{
    opacity:.34;
  }
  100%{
    transform:translate(-50%,-50%) scale(1.48);
    opacity:0;
  }
}

@keyframes rayt-client-taxi-glow{
  0%,100%{opacity:.58;transform:translate(-50%,-50%) scale(.92)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
}

/* En equipos de poca altura se mantiene centrado respecto al taxi. */
@media (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)
  .booking-sheet.rayt-route-awaiting
  #rayt-booking-offer
  .rayt-awaiting-halo{
    top:50%!important;
    transform:translateY(-1px)!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-route-awaiting
  #rayt-booking-offer
  .rayt-awaiting-halo i{
    width:132px!important;
    height:66px!important;
  }
}


/* RAYT Cliente · ubicación actual en Origen */
.rayt-recent-option.rayt-current-location{
  font-weight:750;
}
.rayt-recent-option.rayt-current-location .rayt-recent-symbol{
  font-size:19px;
}
.rayt-recent-option.rayt-current-location:disabled{
  opacity:.62;
  pointer-events:none;
}


/* RAYT Cliente · asegurar que Origen muestre ambas acciones */
.rayt-recent-panel{
  max-height:min(52vh,430px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:10px!important;
}

.rayt-recent-panel .rayt-recent-option{
  flex:0 0 auto;
}

.rayt-recent-panel .rayt-current-location,
.rayt-recent-panel .rayt-recent-pin{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

@media (max-height:700px){
  .rayt-recent-panel{
    max-height:46vh!important;
  }
}


/* RAYT Cliente · distinguir ubicación actual y elevar el menú de Origen */

/* Ubicación actual: icono amarillo, distinto a las direcciones recientes */
.rayt-recent-panel .rayt-current-location .rayt-recent-symbol{
  color:#f7c530!important;
  background:rgba(247,197,48,.14)!important;
  border:1px solid rgba(247,197,48,.30)!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* Colocar pin mantiene el mismo lenguaje de acción */
.rayt-recent-panel .rayt-recent-pin .rayt-recent-symbol{
  color:#f7c530!important;
}

/* El menú debe quedar por encima de la card blanca de Solicitar taxi */
.rayt-origin-wrap,
.rayt-route-fields,
.rayt-route-input-wrap{
  position:relative!important;
  z-index:40!important;
}

.rayt-recent-panel{
  position:absolute!important;
  z-index:999!important;
  isolation:isolate;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
}

/* Evita que la card inferior cree una capa por encima del desplegable */
.booking-sheet,
#rayt-booking-offer{
  position:relative;
  z-index:1;
}


/* RAYT Cliente · corrección real de menú Origen */

/* El contenedor del mapa debe subir de capa SOLO mientras el menú de Origen está abierto. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
> .client-map{
  z-index:20!important;
  overflow:visible!important;
}

/* El desplegable real de Origen queda por encima de la card Solicitar taxi. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
#rayt-recent-origins{
  position:absolute!important;
  z-index:2000!important;
  overflow-y:auto!important;
  max-height:min(320px,48vh)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.18)!important;
}

/* Icono de "Usar mi ubicación actual": amarillo igual que la acción de pin,
   pero manteniendo iconografía distinta. */
#rayt-recent-origins .rayt-current-location .rayt-recent-symbol{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  border-radius:8px!important;
  background:#ffcf43!important;
  color:#171717!important;
  border:0!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* Separa visualmente las dos acciones de las direcciones recientes. */
#rayt-recent-origins .rayt-current-location{
  margin-top:4px!important;
  border-top:1px solid #efefef!important;
  border-radius:0!important;
}

#rayt-recent-origins .rayt-recent-pin .rayt-recent-symbol{
  background:#ffcf43!important;
  color:#171717!important;
}

/* Mantener la tarjeta blanca por debajo mientras el menú está abierto. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
> .booking-sheet{
  z-index:6!important;
}


/* RAYT Cliente · menú Origen por encima de Solicitar taxi + limpiar campos */

/* La pantalla base normalmente recorta el mapa. Solo durante el menú de Origen
   liberamos el recorte y subimos todo el bloque del mapa por encima de la sheet. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open{
  overflow:visible!important;
}

html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
> .client-map{
  position:relative!important;
  z-index:5000!important;
  overflow:visible!important;
  isolation:auto!important;
}

/* La caja flotante que contiene Origen/Destino también queda en primer plano. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
.map-floating-fields{
  position:absolute!important;
  z-index:5100!important;
  overflow:visible!important;
}

/* El desplegable real se renderiza encima de la tarjeta blanca, incluso cuando
   invade visualmente la zona que ocupa Solicitar taxi. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
#rayt-recent-origins{
  position:absolute!important;
  z-index:5200!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:min(360px,52vh)!important;
  box-shadow:0 20px 46px rgba(0,0,0,.20)!important;
}

/* La sheet queda explícitamente en una capa inferior. */
html body .shell.has-client-nav
.rayt-client.client-booking.origin-menu-open
> .booking-sheet{
  z-index:10!important;
}

/* X minimalista: solo aparece si el input contiene texto. */
.map-floating-fields label{
  position:relative!important;
}

.map-floating-fields .route-clear{
  appearance:none;
  -webkit-appearance:none;
  display:none;
  flex:0 0 26px;
  width:26px;
  height:26px;
  padding:0;
  margin:0 2px 0 3px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#91979f;
  font-size:21px;
  font-weight:400;
  line-height:24px;
  text-align:center;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.map-floating-fields label:has(input:not(:placeholder-shown)) .route-clear{
  display:inline-grid;
  place-items:center;
}

.map-floating-fields .route-clear:active{
  transform:scale(.92);
  background:#f1f2f4;
  color:#30343a;
}

@media(hover:hover){
  .map-floating-fields .route-clear:hover{
    background:#f1f2f4;
    color:#30343a;
  }
}

/* Reserva el mínimo espacio necesario sin alterar visualmente la tarjeta. */
.map-floating-fields label span{
  min-width:0;
}


/* RAYT Cliente · menú Origen en Top Layer real */
#rayt-recent-origins[popover]{
  position:fixed!important;
  inset:auto!important;
  left:var(--origin-menu-left,12px)!important;
  top:var(--origin-menu-top,120px)!important;
  width:var(--origin-menu-width,calc(100vw - 24px))!important;
  max-width:calc(100vw - 20px)!important;
  max-height:min(390px,55vh)!important;
  margin:0!important;
  padding:8px 10px 10px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border:1px solid #e8eaed!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(0,0,0,.23)!important;
  z-index:2147483647!important;
}

/* Popover en la top layer no debe dibujar backdrop oscuro. */
#rayt-recent-origins::backdrop{
  background:transparent!important;
}

/* Fallback para navegadores sin Popover API. */
#rayt-recent-origins:not(:popover-open):not([hidden]){
  position:fixed!important;
  left:var(--origin-menu-left,12px)!important;
  top:var(--origin-menu-top,120px)!important;
  width:var(--origin-menu-width,calc(100vw - 24px))!important;
  z-index:2147483647!important;
}

/* X minimalista controlada por JS, no por :has() */
.map-floating-fields .route-clear{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 25px!important;
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  padding:0!important;
  margin:0 1px 0 2px!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#8f959d!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1!important;
  align-items:center!important;
  justify-content:center!important;
}
.map-floating-fields .route-clear:not([hidden]){
  display:inline-flex!important;
}
.map-floating-fields .route-clear[hidden]{
  display:none!important;
}
.map-floating-fields .route-clear:active{
  background:#f0f1f3!important;
  color:#20242a!important;
  transform:scale(.92);
}


/* RAYT Cliente · refinamiento visual del pin */
@media (max-width:760px){.rayt-inline-pick-crosshair{transform:translate(-50%,-86%)!important}}


/* RAYT Cliente · animación premium del pin
   Reposo: flotación casi imperceptible.
   Movimiento: se eleva ligeramente.
   Al soltar: aterrizaje corto y suave. */
.rayt-inline-pick-crosshair:not([hidden]):not(.is-moving):not(.is-landing){
  animation:raytPinPremiumFloat 3.2s ease-in-out infinite;
}

.rayt-inline-pick-crosshair.is-moving{
  animation:none!important;
  translate:0 -8px;
  scale:1.025;
  filter:
    drop-shadow(0 16px 18px rgba(0,0,0,.20))
    drop-shadow(0 5px 7px rgba(0,0,0,.13));
  transition:
    translate .18s cubic-bezier(.2,.75,.25,1),
    scale .18s ease,
    filter .18s ease;
}

.rayt-inline-pick-crosshair.is-landing{
  animation:raytPinPremiumLand .44s cubic-bezier(.22,.82,.22,1) both!important;
}

@keyframes raytPinPremiumFloat{
  0%,100%{
    translate:0 0;
  }
  50%{
    translate:0 -3px;
  }
}

@keyframes raytPinPremiumLand{
  0%{
    translate:0 -8px;
    scale:1.025;
  }
  58%{
    translate:0 2px;
    scale:.985;
  }
  78%{
    translate:0 -1px;
    scale:1.005;
  }
  100%{
    translate:0 0;
    scale:1;
  }
}

@media (prefers-reduced-motion:reduce){
  .rayt-inline-pick-crosshair,
  .rayt-inline-pick-crosshair.is-moving,
  .rayt-inline-pick-crosshair.is-landing{
    animation:none!important;
    transition:none!important;
    translate:0 0!important;
    scale:1!important;
  }
}


/* RAYT Cliente · barra inferior con esquinas rectas */
.shell.has-client-nav .client-bottom-nav{
  border-radius:0!important;
}


/* RAYT Cliente · beneficio patrocinado discreto en espera de conductor */
.rayt-search-benefit{
  width:100%;
  min-height:62px;
  margin:10px 0 12px;
  padding:9px 11px;
  border:1px solid rgba(239,194,55,.34);
  border-radius:16px;
  background:linear-gradient(90deg,rgba(255,249,227,.94),rgba(255,252,241,.96));
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  text-align:left;
  color:#1f2329;
  box-shadow:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.rayt-search-benefit:active{
  transform:scale(.992);
  background:linear-gradient(90deg,rgba(255,247,216,.98),rgba(255,250,235,.98));
}
.rayt-search-benefit-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffe7a0;
  color:#9a6d00;
  font-size:17px;
  line-height:1;
}
.rayt-search-benefit-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
.rayt-search-benefit-copy small{
  width:max-content;
  padding:2px 7px;
  border-radius:999px;
  background:#ffe9a7;
  color:#805d00;
  font-size:8px;
  line-height:1.35;
  font-weight:850;
  letter-spacing:.02em;
}
.rayt-search-benefit-copy strong{
  margin-top:2px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  line-height:1.2;
  font-weight:850;
  color:#24282f;
}
.rayt-search-benefit-copy > span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  line-height:1.2;
  color:#8a9098;
}
.rayt-search-benefit-action{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:#9a7200;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.rayt-search-benefit-action b{
  font-size:17px;
  line-height:1;
  font-weight:500;
}
@media(max-width:350px){
  .rayt-search-benefit{
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:7px;
    padding:8px 9px;
  }
  .rayt-search-benefit-icon{
    width:32px;
    height:32px;
  }
  .rayt-search-benefit-copy strong{
    font-size:11px;
  }
}


/* RAYT Cliente · imagen publicitaria real desde Supabase */
.rayt-search-image-ad{
  position:relative;
  width:100%;
  margin:10px 0 12px;
  padding:0;
  border:0;
  border-radius:15px;
  overflow:hidden;
  display:block;
  background:#f5f5f5;
  box-shadow:none;
  cursor:pointer;
  aspect-ratio:3 / 1;
  -webkit-tap-highlight-color:transparent;
}
.rayt-search-image-ad img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.rayt-search-image-ad:active{
  transform:scale(.994);
}
.rayt-search-image-ad-badge{
  position:absolute;
  left:8px;
  bottom:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#555c65;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  font-size:8px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}

/* RAYT Cliente · escritorio de pruebas: interfaz REAL del pasajero.
   Solo presentación: se conservan autenticación, Supabase y acciones existentes. */
@media (min-width: 761px) {
  html, body { min-height:100%; }
  body:has(.shell.has-client-nav) { background:#f2f4f7!important; overflow-x:hidden; }
  #app:has(.shell.has-client-nav) {
    width:100%!important; min-height:100dvh;
    display:flex; justify-content:center; align-items:stretch;
  }
  html body #app > .shell.has-client-nav {
    box-sizing:border-box!important;
    width:min(100%, 460px)!important;
    max-width:460px!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:0!important;
    margin:0 auto!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 0 35px rgba(24,31,46,.09)!important;
  }
  html body #app > .shell.has-client-nav > .top,
  html body #app > .shell.has-client-nav > .hero,
  html body #app > .shell.has-client-nav > .footer { display:none!important; }
  html body #app > .shell.has-client-nav > .rayt-client {
    box-sizing:border-box!important;
    width:100%!important; max-width:none!important;
    min-width:0!important; min-height:0!important;
    margin:0!important; border-radius:0!important;
    box-shadow:none!important; flex:1 1 auto!important;
  }
  html body #app > .shell.has-client-nav > .client-secondary {
    box-sizing:border-box!important;
    width:100%!important; max-width:none!important;
    min-width:0!important; margin:0!important;
  }
  html body #app > .shell.has-client-nav > .client-bottom-nav {
    box-sizing:border-box!important;
    position:relative!important;
    left:auto!important; right:auto!important;
    transform:none!important;
    width:100%!important; max-width:none!important;
    margin:0!important;
  }
  /* Mantener tamaño práctico del mapa Leaflet y de la tarjeta de reserva. */
  html body #app > .shell.has-client-nav > .rayt-client.client-booking > .client-map {
    width:100%!important; max-width:none!important;
  }
  /* Acceso real (no pantalla de demostración) al entrar sin sesión. */
  html body #app > .shell.rayt-access-shell {
    box-sizing:border-box;
    width:min(100%, 460px)!important; max-width:460px!important;
    margin:0 auto!important;
  }
}

/* RAYT Cliente v640 · invitaciones personalizadas */
.rayt-client-invites-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:14px;font-family:inherit}.rayt-client-invite-shade{position:absolute;inset:0;background:rgba(16,22,31,.75);backdrop-filter:blur(8px)}.rayt-client-invite-dialog{position:relative;width:min(420px,100%);max-height:min(90dvh,780px);overflow:auto;background:#fff;border-radius:24px;padding:23px;box-shadow:0 24px 80px #0004;color:#1d2733;overscroll-behavior:contain}.rayt-client-invite-dialog header{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;font-weight:800;color:#6c7480}.rayt-client-invite-dialog header button{border:0;background:#f2f3f6;border-radius:50%;width:32px;height:32px;font-size:22px}.rayt-client-invite-dialog h2{font-size:28px;margin:14px 0 8px}.rayt-client-invite-dialog h2 span{color:#d2a633}.rayt-client-invite-dialog p,.rayt-client-invite-foot{color:#717d88;font-size:13px;line-height:1.55}.rayt-client-invite-dialog form{display:grid;gap:11px;margin:18px 0}.rayt-client-invite-dialog label{font-size:10px;font-weight:800;letter-spacing:1px}.rayt-client-invite-dialog input{width:100%;box-sizing:border-box;border:1px solid #dce1e7;border-radius:12px;padding:13px;font-size:16px}.rayt-client-invite-dialog button{cursor:pointer}.rayt-client-invite-create,.rayt-client-invite-issued button{background:#facd44;color:#202b35;border:0;border-radius:12px;padding:13px 16px;font-weight:800}.rayt-client-invite-dialog h3{font-size:14px;margin-top:22px}.rayt-client-invite-item{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #edf0f2;padding:12px 0}.rayt-client-invite-item>div{min-width:0;display:grid;gap:4px}.rayt-client-invite-item strong{font-size:12px;overflow-wrap:anywhere}.rayt-client-invite-item small{color:#687482;font-size:11px}.rayt-client-invite-item code{font-size:11px}.rayt-client-invite-item button{border:1px solid #e2e5ea;background:#fff;border-radius:10px;padding:9px;font-size:12px;white-space:nowrap}.rayt-client-invite-issued{display:grid;justify-items:center;gap:7px;padding:15px;border-radius:14px;background:#f8f9fb}.rayt-client-invite-issued>span{font-size:10px;font-weight:800;letter-spacing:1px}.rayt-client-invite-issued img{width:165px;height:165px}.rayt-client-invite-issued strong{font-size:14px;letter-spacing:1px}.rayt-client-invite-issued small{font-size:12px;color:#687482}.rayt-invite-register-note{font-size:12px;line-height:1.4;color:#5f6875;margin:2px 0 9px}

/* RAYT Cliente v646: acción secundaria para crear otra invitación */
.rayt-client-invite-issued .rayt-client-invite-share-button{width:100%;min-height:44px;background:#facd44;color:#202b35;border:0;border-radius:12px;font-weight:800;}
.rayt-client-invite-issued .rayt-client-invite-refresh-button{margin-top:2px;padding:9px 12px;background:transparent;color:#667282;border:0;border-radius:10px;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px;transition:background .18s ease,color .18s ease;}
.rayt-client-invite-issued .rayt-client-invite-refresh-button:hover{background:#e9edf2;color:#243140;}
.rayt-client-invite-issued .rayt-client-invite-refresh-button:disabled{opacity:.55;cursor:wait;text-decoration:none;}
.rayt-client-invite-issued .rayt-client-invite-refresh-button:focus-visible{outline:2px solid #d9aa20;outline-offset:2px;}

/* v654 — Active trip: compact only the vertical gaps among heading,
   driver identity and agreed fare/payment. No card height or progress changes. */
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-reference{
  justify-content:flex-start!important;
  gap:10px!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-driver{
  flex:1 1 auto!important;
  min-height:0;
  max-height:none!important;
  box-sizing:border-box!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-facts{
  margin-bottom:0!important;
  flex:0 0 auto!important;
}
@media (max-height:700px){
  .shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-reference{
    gap:7px!important;
  }
}

/* v655: distribute free height INSIDE the driver card, not below fare.
   Keep progress and cancel in their original bottom positions. */
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-reference{
  min-height:0!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-driver{
  flex-grow:1!important;
  flex-shrink:1!important;
  overflow:hidden!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .active-progress,
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-cancel-row{
  flex-shrink:0!important;
}


/* v656 — The contents of the growing driver card scale with the viewport.
   Scope excludes the PIN screen and leaves the progress, fare card, and cancel action unchanged. */
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-driver{
  --rayt-avatar-size:clamp(48px,8.4dvh,82px);
  --rayt-car-width:clamp(92px,16.5dvh,152px);
  gap:clamp(8px,1.4dvh,14px)!important;
  padding:clamp(10px,1.9dvh,19px) clamp(9px,2.4vw,16px)!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-avatar{
  width:var(--rayt-avatar-size)!important;
  height:var(--rayt-avatar-size)!important;
  min-width:var(--rayt-avatar-size)!important;
  flex:0 0 var(--rayt-avatar-size)!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-avatar svg{
  width:65%!important;height:65%!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-avatar img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-identity{
  gap:clamp(3px,.7dvh,8px)!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:calc(100% - var(--rayt-car-width) + 5px)!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-identity strong{
  font-size:clamp(12px,1.85dvh,16px)!important;
  line-height:1.18!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-identity small{
  font-size:clamp(10px,1.38dvh,12px)!important;
  line-height:1.25!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-taxi-number{
  font-size:clamp(10px,1.48dvh,13px)!important;
}
.shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-vehicle-art{
  width:var(--rayt-car-width)!important;
  height:clamp(57px,11dvh,115px)!important;
  right:clamp(6px,1.6vw,13px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
@media (max-height:700px), (max-width:360px){
  .shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-driver{
    --rayt-avatar-size:clamp(42px,7dvh,57px);
    --rayt-car-width:clamp(76px,12dvh,103px);
    gap:7px!important;
    padding:7px 9px!important;
  }
  .shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-vehicle-art{
    height:clamp(43px,8dvh,67px)!important;
  }
  .shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-identity strong{font-size:12px!important}
  .shell.has-client-nav .rayt-client.client-active-ride:not(:has(.client-pin-box)) .ride-ref-identity small{font-size:10px!important}
}


/* v657 — Chat Cliente: panel completo dentro del viewport visible con teclado Android/iOS. */
#rayt-chat-modal{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100%!important;
  max-width:100vw;
  box-sizing:border-box;
  overflow:hidden;
  align-items:stretch!important;
  justify-content:center;
  background:#f8f9fb;
  isolation:isolate;
}
#rayt-chat-modal .rayt-chat-backdrop{position:absolute;inset:0;background:#f8f9fb;animation:none;pointer-events:none}
#rayt-chat-modal .rayt-chat-panel{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  flex:0 1 430px;
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  min-width:0;
  width:100%;
  border-radius:0!important;
  padding:0;
  box-sizing:border-box;
  background:#f8f9fb;
  animation:none!important;
  overflow:hidden;
}
#rayt-chat-modal .rayt-chat-header{flex:0 0 auto;position:relative;z-index:1;min-height:60px;box-sizing:border-box}
#rayt-chat-modal .rayt-chat-messages{
  flex:1 1 0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
#rayt-chat-modal .rayt-chat-compose{
  flex:0 0 auto!important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:10px 12px max(10px,env(safe-area-inset-bottom));
  position:relative;
  z-index:2;
}
#rayt-chat-modal.rayt-chat-keyboard-visible .rayt-chat-compose{
  padding-bottom:10px!important;
}
#rayt-chat-modal .rayt-chat-compose input{
  font-size:16px!important;
  min-width:0;
  height:44px!important;
}
#rayt-chat-modal .rayt-chat-compose button{width:44px;height:44px}
html.rayt-chat-scroll-locked,body.rayt-chat-scroll-locked{overflow:hidden!important;overscroll-behavior:none!important}
body.rayt-chat-scroll-locked{touch-action:pan-y}
@media(min-width:600px){#rayt-chat-modal .rayt-chat-panel{max-width:430px}}

/* RAYT Cliente: pantalla de pago al llegar el conductor al destino (v647). */
.rayt-client-payment-screen{box-sizing:border-box;min-height:100dvh;width:100%;background:#f7f7f5;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;color:#20252a;padding:calc(35px + env(safe-area-inset-top,0px)) 24px calc(22px + env(safe-area-inset-bottom,0px));font-family:inherit}
.rayt-client-payment-content{width:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.rayt-client-payment-icon{width:66px;height:66px;border-radius:21px;background:#ffd04c;display:grid;place-items:center;font-size:35px;font-weight:900;color:#252526;box-shadow:0 12px 28px rgba(241,181,31,.19)}
.rayt-client-payment-overline{font-weight:750;font-size:10px;letter-spacing:2px;color:#8c9197;margin-top:13px}
.rayt-client-payment-screen h1{font-size:clamp(26px,7vw,34px);line-height:1.12;font-weight:850;letter-spacing:-1.1px;margin:0}
.rayt-client-payment-screen h1 span{color:#e2ad16}
.rayt-client-payment-content>p{font-size:14px;line-height:1.55;color:#727982;max-width:330px;margin:0}
.rayt-client-payment-amount{box-sizing:border-box;margin-top:15px;width:100%;padding:22px 14px;border:1px solid #eaeaec;border-radius:22px;background:white;display:flex;align-items:center;flex-direction:column;gap:8px;box-shadow:0 9px 32px rgba(25,30,35,.045)}
.rayt-client-payment-amount small{color:#858b93;font-size:12px}.rayt-client-payment-amount strong{font-size:clamp(38px,11vw,50px);font-weight:850;letter-spacing:-2px;font-variant-numeric:tabular-nums;line-height:1.1}.rayt-client-payment-amount span{font-size:12px;font-weight:750;background:#f6f6f6;border-radius:30px;padding:7px 14px}
.rayt-client-payment-note{margin-top:4px;width:100%;box-sizing:border-box;display:flex;gap:12px;align-items:center;text-align:left;padding:14px;background:#fff9e7;border-radius:15px}
.rayt-client-payment-note>span{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffd04c;font-weight:850}
.rayt-client-payment-note div{display:flex;flex-direction:column;gap:4px}.rayt-client-payment-note strong{font-size:13px}.rayt-client-payment-note small{color:#777d85;font-size:12px;line-height:1.35}
.rayt-client-payment-footer{font-size:12px;color:#7d848b;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;padding-top:22px}
.rayt-client-payment-pulse{width:8px;height:8px;border-radius:50%;background:#e4b72e;box-shadow:0 0 0 0 rgba(228,183,46,.3);animation:rayt-payment-pulse 2s ease-in-out infinite}
@keyframes rayt-payment-pulse{50%{box-shadow:0 0 0 7px rgba(228,183,46,0)}}
@media (prefers-reduced-motion:reduce){.rayt-client-payment-pulse{animation:none}}

/* RAYT Cliente v648 · Animación discreta en pantalla de pago */
.rayt-client-payment-icon{position:relative;isolation:isolate;animation:rayt-pay-icon-enter .65s cubic-bezier(.2,.9,.2,1) both;will-change:transform}
.rayt-client-payment-icon::before,.rayt-client-payment-icon::after{content:"";position:absolute;inset:-11px;border:1.5px solid rgba(238,181,30,.38);border-radius:29px;z-index:-1;pointer-events:none;animation:rayt-pay-halo 3.4s ease-out infinite}
.rayt-client-payment-icon::after{animation-delay:1.7s}
.rayt-client-payment-overline,.rayt-client-payment-screen h1,.rayt-client-payment-content>p{animation:rayt-pay-rise .55s ease-out both}
.rayt-client-payment-overline{animation-delay:.12s}.rayt-client-payment-screen h1{animation-delay:.2s}.rayt-client-payment-content>p{animation-delay:.28s}
.rayt-client-payment-amount{animation:rayt-pay-card-enter .7s cubic-bezier(.18,.9,.22,1) .33s both;will-change:transform,opacity}
.rayt-client-payment-footer{animation:rayt-pay-rise .6s ease-out .5s both}
@keyframes rayt-pay-icon-enter{0%{opacity:0;transform:translateY(13px) scale(.85)}65%{opacity:1;transform:translateY(-3px) scale(1.035)}100%{transform:translateY(0) scale(1)}}
@keyframes rayt-pay-halo{0%{opacity:0;transform:scale(.84)}18%{opacity:.65}70%,100%{opacity:0;transform:scale(1.5)}}
@keyframes rayt-pay-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes rayt-pay-card-enter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){.rayt-client-payment-icon,.rayt-client-payment-icon::before,.rayt-client-payment-icon::after,.rayt-client-payment-overline,.rayt-client-payment-screen h1,.rayt-client-payment-content>p,.rayt-client-payment-amount,.rayt-client-payment-footer{animation:none!important;will-change:auto!important}}

/* RAYT Cliente v659: única incorporación visual en Perfil; no modifica tarjetas/viajes. */
.rayt-client-push-box{display:flex;align-items:center;gap:12px;padding:15px 14px;border-radius:20px;background:#fff;box-shadow:0 4px 18px rgba(35,28,12,.035);margin:10px 0;flex-wrap:wrap}.rayt-client-push-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:14px;background:#fff1c6;color:#996900;font-size:25px}.rayt-client-push-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 190px}.rayt-client-push-info strong{font-weight:700;font-size:14px;color:#171717}.rayt-client-push-info small{font-size:11px;color:#767676;line-height:1.4}.rayt-client-push-buttons{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-end}.rayt-client-push-buttons button{cursor:pointer;border:1px solid #e7dfce;background:#fff8e4;color:#25221b;border-radius:12px;padding:9px 11px;font-size:12px;font-weight:700;min-height:38px}.rayt-client-push-buttons button:first-child{background:#ffdb59;border-color:#ffdb59}.rayt-client-push-buttons button:focus-visible{outline:2px solid #a27c00;outline-offset:2px}

/* RAYT Password UX: isolated from map, cards and trips */
.rayt-password-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(13,20,33,.62);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;box-sizing:border-box;backdrop-filter:blur(5px)}
.rayt-password-card{box-sizing:border-box;width:100%;max-width:430px;padding:30px 24px 22px;border-radius:22px;background:#fff;color:#17202e;box-shadow:0 20px 70px rgba(0,0,0,.25);font-family:inherit;text-align:center}
.rayt-password-card>img{display:block;height:42px;max-width:160px;object-fit:contain;margin:0 auto 12px}
.rayt-password-tag{font-size:10px;letter-spacing:.18em;font-weight:700;color:#6b788b}
.rayt-password-card h2{font-size:23px;margin:11px 0 6px;color:#17202e}
.rayt-password-card p{font-size:13px;line-height:1.5;color:#617083;margin:0 0 18px}
.rayt-password-card form{display:grid;gap:12px}
.rayt-password-card input{box-sizing:border-box;width:100%;font:inherit;font-size:16px;border:1px solid #dbe2ec;border-radius:12px;padding:14px;background:#f8fafc;color:#17202e}
.rayt-password-card form button{font:inherit;font-weight:700;padding:14px 12px;border:0;border-radius:12px;background:#162236;color:#fff;cursor:pointer}
.rayt-password-card form button:disabled{opacity:.55}
.rayt-password-back{font:inherit;border:0;background:transparent;color:#45627e;font-size:13px;cursor:pointer;margin-top:14px}
.rayt-password-card .rayt-password-feedback{margin:14px 0 0;font-size:13px;color:#217047}.rayt-password-card .rayt-password-feedback.error{color:#b72929}
.rayt-auth-forgot{display:block;text-align:right;border:0;background:none;cursor:pointer;color:#657995;font:inherit;font-size:12px;margin:-2px 2px 12px auto;padding:3px 0}

/* RAYT Cliente v667 · preferencias en una sola pantalla */
.rayt-client-notify-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box}
.rayt-client-notify-shade{position:absolute;inset:0;background:rgba(18,24,33,.42);backdrop-filter:blur(3px)}
.rayt-client-notify-sheet{position:relative;box-sizing:border-box;width:100%;max-width:520px;background:#fff;border-radius:24px 24px 0 0;padding:22px 20px max(24px,env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(10,20,30,.15);max-height:85dvh;overflow-y:auto;color:#242b35}
.rayt-client-notify-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.rayt-client-notify-header small{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a5abb3}
.rayt-client-notify-header h2{font-size:20px;line-height:1.2;margin:5px 0 0;font-weight:800;color:#202832}
.rayt-client-notify-close{width:38px;height:38px;min-width:38px;border:0;border-radius:13px;background:#f4f6f8;color:#66717e;font-size:26px;cursor:pointer}
.rayt-client-notify-section{display:flex;align-items:center;gap:12px;padding:18px 0;min-height:74px}
.rayt-client-notify-section+.rayt-client-notify-section{border-top:1px solid #edf0f4}
.rayt-client-notify-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#f6f7f9;color:#75808c;font-size:22px}
.rayt-client-notify-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.rayt-client-notify-info strong{font-size:13px;font-weight:800;color:#242b35;line-height:1.25}
.rayt-client-notify-info small{font-size:11px;color:#929aa5;line-height:1.4}
.rayt-client-notify-toggle{display:block;position:relative;flex:0 0 49px;width:49px;height:29px;cursor:pointer}
.rayt-client-notify-toggle input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;z-index:2}
.rayt-client-notify-toggle span{display:block;width:49px;height:29px;border-radius:30px;background:#e5e9ee;position:relative;transition:background .2s}
.rayt-client-notify-toggle span:after{content:'';position:absolute;top:3px;left:3px;width:23px;height:23px;background:#fff;box-shadow:0 2px 6px #0002;border-radius:50%;transition:transform .2s}
.rayt-client-notify-toggle input:checked+span{background:#f4c83f}
.rayt-client-notify-toggle input:checked+span:after{transform:translateX(20px)}
.rayt-client-notify-toggle input:disabled+span{opacity:.6}
.rayt-client-notify-toggle input:focus-visible+span{outline:2px solid #b48b12;outline-offset:3px}
@media(min-width:700px){.rayt-client-notify-overlay{align-items:center;padding:20px}.rayt-client-notify-sheet{border-radius:24px;padding-bottom:24px}}

/* RAYT Cliente v670 — perfil editorial minimalista, sin tarjetas innecesarias.
   Los controles y el bloque de identidad mantienen su estructura y sus funciones. */
.client-profile-premium .client-profile-main-card{
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:17px 16px 0!important;overflow:visible!important;
}
.client-profile-premium .client-profile-referrer{
  border-top:1px solid #e9ecf0!important;min-height:66px!important;
  padding:14px 0!important;margin-top:0!important;
}
.client-profile-premium .client-profile-referrer small{color:#9099a5!important}
.client-profile-premium .client-profile-referrer strong{color:#25303c!important}
.client-profile-premium .client-profile-ref-icon{
  background:#f3f5f7!important;color:#7d8793!important;border-radius:10px!important;
  width:33px!important;height:33px!important;flex-basis:33px!important;
}
.client-profile-premium .client-profile-options{
  display:block!important;background:transparent!important;border:0!important;
  border-top:1px solid #e9ecf0!important;border-bottom:1px solid #e9ecf0!important;
  border-radius:0!important;box-shadow:none!important;
  margin:13px 16px 0!important;padding:0!important;
}
.client-profile-premium .client-profile-options .client-profile-option{
  width:100%!important;min-height:65px!important;margin:0!important;
  padding:11px 0!important;gap:12px!important;border:0!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.client-profile-premium .client-profile-options .client-profile-option + .client-profile-option{
  border-top:1px solid #edf0f3!important;
}
.client-profile-premium .client-profile-option-icon{
  flex:0 0 38px!important;width:38px!important;height:38px!important;
  border-radius:11px!important;background:#f3f5f7!important;
  box-shadow:none!important;color:#66717e!important;
}
.client-profile-premium .client-profile-option strong{font-size:13px!important;font-weight:760!important;color:#25303c!important}
.client-profile-premium .client-profile-option small{font-size:10px!important;color:#929ba7!important;line-height:1.35!important}
.client-profile-premium .client-profile-chevron{margin-right:2px!important;color:#acb3bd!important}
.client-profile-premium .client-profile-signout{margin:18px auto 13px!important}
@media(max-height:620px){
 .client-profile-premium .client-profile-options{margin-top:7px!important}
 .client-profile-premium .client-profile-main-card{padding-top:10px!important}
 .client-profile-premium .client-profile-signout{margin-top:11px!important}
}

/* RAYT Cliente v671: calificación real bajo nombre, cuenta activa discreta */
.client-profile-rating{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:17px;margin-top:1px;line-height:1.25}
.client-rating-stars{font-size:13px;letter-spacing:.5px;color:#e0ae27;font-weight:800}
.client-rating-score{font-size:12px;font-weight:850;color:#303741}
.client-rating-count{font-size:10px;color:#969fa9;font-weight:650}
.client-rating-none{font-size:11px;color:#9aa2ad;font-weight:650}
.client-profile-person-copy .client-profile-verified{margin-top:2px;font-size:10px;font-weight:650;color:#9b8c5b}

/* RAYT Cliente v672: encabezado de perfil con portada y avatar superpuesto,
   inspirado en Conductor; los accesos inferiores permanecen intactos. */
.shell.has-client-nav > .client-secondary.client-profile-premium{
 padding:0 0 16px!important;
}
.client-profile-premium .client-profile-hero{
 display:flex;flex-direction:column;position:relative;flex:none;
 padding:0 0 7px;min-width:0;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover{
 position:relative!important;display:block!important;width:100%!important;
 height:clamp(92px,15dvh,132px)!important;min-height:92px!important;
 margin:0!important;flex:0 0 auto!important;overflow:hidden!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-ads-empty{
 display:grid!important;place-items:center!important;
}
.client-profile-premium .client-profile-hero-overlap{
 margin:-37px 17px 0!important;position:relative;z-index:5;
 display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
 min-width:0;
}
.client-profile-premium .client-profile-hero .client-profile-photo{
 width:82px!important;height:82px!important;flex:0 0 82px!important;
 border:4px solid #f7f8f9!important;border-radius:50%!important;
 box-shadow:0 3px 15px rgba(26,34,44,.12)!important;
 background:linear-gradient(140deg,#ffe5a0,#f6c63c)!important;
}
.client-profile-premium .client-profile-hero .client-profile-verified{
 display:inline-flex!important;align-items:center!important;gap:6px!important;
 background:#f0f8f2!important;color:#398258!important;
 border:1px solid #d9ecdf!important;border-radius:100px!important;
 padding:7px 10px!important;margin:0 0 7px!important;
 font-size:10px!important;font-weight:750!important;white-space:nowrap;
}
.client-profile-premium .client-profile-hero .client-profile-verified i{
 background:#51a472!important;width:6px!important;height:6px!important;
}
.client-profile-premium .client-profile-hero .client-profile-person-copy{
 align-items:flex-start!important;padding:11px 17px 7px!important;
 gap:4px!important;
}
.client-profile-premium .client-profile-hero .client-profile-person-copy>strong{
 font-size:clamp(22px,5.9vw,29px)!important;font-weight:850!important;
 letter-spacing:-.8px!important;line-height:1.16!important;
}
.client-profile-premium .client-profile-hero .client-profile-rating{gap:6px!important}
.client-profile-premium .client-profile-hero .client-rating-stars{font-size:15px!important}
.client-profile-premium .client-profile-hero .client-rating-score{font-size:13px!important}
.client-profile-premium .client-profile-main-card{
 padding:7px 17px 0!important;margin-top:4px!important;
}
.client-profile-premium .client-profile-referrer{padding:14px 0!important}
@media(max-height:650px){
 .client-profile-premium .client-profile-hero > .driver-profile-cover{height:82px!important;min-height:82px!important}
 .client-profile-premium .client-profile-hero-overlap{margin-top:-30px!important}
 .client-profile-premium .client-profile-hero .client-profile-photo{width:67px!important;height:67px!important;flex-basis:67px!important}
 .client-profile-premium .client-profile-hero .client-profile-person-copy{padding-top:7px!important}
 .client-profile-premium .client-profile-hero .client-profile-person-copy>strong{font-size:21px!important}
}

/* v673: los datos de identidad se muestran sin permitir su edicion. */
.rayt-client-data-readonly{display:flex;flex-direction:column;gap:6px;padding:11px 0 4px;border-top:1px solid #eef0f2}
.rayt-client-data-readonly span{font-size:9px;font-weight:850;color:#929ba4;letter-spacing:1.1px}
.rayt-client-data-readonly strong{font-size:14px;font-weight:650;color:#2b3440;overflow-wrap:anywhere}
.rayt-client-data-dialog>.rayt-client-data-save{width:100%;cursor:pointer}


/* RAYT Cliente v674 — Barra de acciones del selector de pin.
   El panel se monta sobre document.body; debe permanecer por encima de Leaflet
   y fuera de la navegación y contenedores con overflow:hidden. */
#rayt-pin-actions-v617{
 position:fixed!important;z-index:2147483000!important;
 display:flex!important;flex-direction:column!important;
 box-sizing:border-box!important;margin:0!important;
 padding:12px!important;gap:10px!important;
 border:1px solid rgba(20,26,32,.08)!important;border-radius:17px!important;
 background:rgba(255,255,255,.98)!important;
 box-shadow:0 7px 28px rgba(0,0,0,.17)!important;
 font-family:inherit!important;pointer-events:auto!important;
 visibility:visible!important;opacity:1!important;
}
#rayt-pin-actions-v617 .rayt-pin-dock-title{
 font-size:14px!important;font-weight:750!important;line-height:1.2!important;
 text-align:center!important;color:#1e2329!important;
}
#rayt-pin-actions-v617 .rayt-pin-dock-buttons{
 display:flex!important;align-items:stretch!important;gap:9px!important;width:100%!important;
}
#rayt-pin-actions-v617 .rayt-pin-dock-buttons button{
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex:1 1 0!important;min-width:0!important;min-height:47px!important;
 border:0!important;border-radius:12px!important;
 padding:10px 9px!important;font:inherit!important;font-size:14px!important;
 font-weight:700!important;line-height:1.2!important;cursor:pointer!important;
 touch-action:manipulation!important;
}
#rayt-pin-actions-v617 [data-rayt-pin-cancel]{
 background:#f0f1f3!important;color:#31363d!important;
}
#rayt-pin-actions-v617 [data-rayt-pin-confirm]{
 background:#ffcf43!important;color:#171717!important;
}
/* Leaflet coloca sus controles en la esquina superior. Darles espacio
   mientras el panel de selección está abierto. */
body.rayt-pin-picker-open .rayt-client .leaflet-top.leaflet-left{
 top:116px!important;
}
@media(max-width:380px){
 #rayt-pin-actions-v617{padding:10px!important;gap:8px!important}
 #rayt-pin-actions-v617 .rayt-pin-dock-buttons button{font-size:13px!important}
}

/* v675 · La ayuda del mapa se desvanece al interactuar, sin afectar los controles. */
.rayt-client.client-booking .booking-map-tip{transition:opacity .22s ease,visibility .22s ease}
.rayt-client.client-booking .booking-map-tip.rayt-map-tip-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* v676 · La evaluación es necesaria para cerrar la pantalla del viaje. */
.finish-minimal .finish-footer button:disabled{background:#e6e8eb!important;color:#969da7!important;box-shadow:none!important;cursor:not-allowed!important;opacity:1!important;transform:none!important}
.finish-minimal .finish-footer button:disabled span{color:#a5abb4!important}

/* v680 — Registro de cliente: el campo de invitación no debe ocultar Crear cuenta. */
.rayt-client-auth-v2.rayt-client-auth-register .rayt-auth-panel{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scroll-padding-bottom:calc(20px + env(safe-area-inset-bottom));
}
.rayt-client-auth-v2.rayt-client-auth-register .rayt-auth-form{
  flex:0 0 auto!important;
  min-height:min-content;
}
.rayt-client-auth-v2.rayt-client-auth-register .rayt-auth-submit{
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
  flex-shrink:0!important;
  margin-bottom:4px!important;
}
.rayt-client-auth-v2.rayt-client-auth-register #rayt-manual-invite-wrap[hidden]{display:none!important}
.rayt-client-auth-v2.rayt-client-auth-register .rayt-invite-entry{flex-shrink:0;min-width:0}
.rayt-client-auth-v2.rayt-client-auth-register #rayt-manual-invite-wrap:not([hidden]){margin-top:7px}
.rayt-client-auth-v2.rayt-client-auth-register #rayt-invite-manual{
  width:100%;min-height:42px;box-sizing:border-box;
  border:1px solid #e3e7ec;border-radius:12px;
  padding:0 12px;background:#fff;color:#1c2531;font-size:13px;
}

/* v682 — Activación automática desde QR o enlace. */
#rayt-invite-activating{position:fixed;inset:0;z-index:2147483000;background:#fff;display:flex;align-items:center;justify-content:center;padding:calc(28px + env(safe-area-inset-top)) 26px calc(28px + env(safe-area-inset-bottom));text-align:center;font-family:inherit;color:#182127}
.rayt-invite-activating-inner{max-width:360px;width:100%;animation:raytInviteAppear .55s ease both}
.rayt-invite-activating-brand{font-weight:850;letter-spacing:.14em;font-size:23px;margin-bottom:44px}
.rayt-invite-activating-brand span{display:block;font-size:10px;font-weight:650;letter-spacing:.26em;margin-top:5px;color:#8a9198}
.rayt-invite-activating-icon{height:84px;width:84px;border-radius:24px;background:#f7f8fa;display:grid;place-items:center;margin:0 auto 28px}
.rayt-invite-activating-spinner{display:block;width:35px;height:35px;border:3px solid #dde2e7;border-top-color:#181d23;border-radius:50%;animation:raytInviteSpin .8s linear infinite}
#rayt-invite-activating h1{margin:0 0 9px;font-size:24px;letter-spacing:-.035em;font-weight:760;line-height:1.2}
#rayt-invite-activating p{margin:0;color:#79828b;font-size:14px;line-height:1.5}
@keyframes raytInviteSpin{to{transform:rotate(360deg)}}
@keyframes raytInviteAppear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.rayt-invite-activating-inner{animation:none}.rayt-invite-activating-spinner{animation-duration:1.6s}}

/* v683 — Activación por invitación: identidad visual RAYT, sin alterar la validación. */
#rayt-invite-activating{
  overflow:hidden;
  isolation:isolate;
  color:#17212b;
  background:
    radial-gradient(ellipse 85% 42% at 50% 4%,rgba(255,198,41,.38),transparent 76%),
    radial-gradient(ellipse 75% 40% at 98% 97%,rgba(255,215,107,.25),transparent 77%),
    linear-gradient(175deg,#fff6da 0%,#fffdfa 49%,#fff8e8 100%);
}
#rayt-invite-activating::before,
#rayt-invite-activating::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;
  border:1px solid rgba(231,164,0,.15);
}
#rayt-invite-activating::before{width:390px;height:390px;top:-245px;right:-170px;box-shadow:0 0 0 35px rgba(255,198,41,.045),0 0 0 80px rgba(255,198,41,.035)}
#rayt-invite-activating::after{width:330px;height:330px;bottom:-225px;left:-175px;box-shadow:0 0 0 36px rgba(255,198,41,.05)}
#rayt-invite-activating .rayt-invite-activating-inner{position:relative;z-index:1}
#rayt-invite-activating .rayt-invite-activating-brand{color:#161c23;letter-spacing:.16em;text-shadow:0 2px 18px rgba(255,198,41,.15)}
#rayt-invite-activating .rayt-invite-activating-brand span{color:#9b6a06;letter-spacing:.3em}
#rayt-invite-activating .rayt-invite-activating-icon{
  width:96px;height:96px;border-radius:29px;
  background:linear-gradient(145deg,#ffdb69 0%,#ffc629 72%,#f7b916 100%);
  box-shadow:0 16px 34px rgba(218,155,9,.25),inset 0 1px 0 rgba(255,255,255,.8);
  animation:raytInviteIconBreathe 2.4s ease-in-out infinite;
}
#rayt-invite-activating .rayt-invite-activating-spinner{
  width:42px;height:42px;border-width:4px;
  border-color:rgba(42,37,23,.17);border-top-color:#17212b;border-right-color:#17212b;
  animation:raytInviteSpin .82s linear infinite;
}
#rayt-invite-activating h1{color:#19222c;font-weight:800}
#rayt-invite-activating p{color:#796849}
@keyframes raytInviteIconBreathe{0%,100%{transform:translateY(0);box-shadow:0 16px 34px rgba(218,155,9,.25),inset 0 1px 0 rgba(255,255,255,.8)}50%{transform:translateY(-5px);box-shadow:0 21px 42px rgba(218,155,9,.31),inset 0 1px 0 rgba(255,255,255,.8)}}
@media(prefers-reduced-motion:reduce){#rayt-invite-activating .rayt-invite-activating-icon{animation:none}}


/* RAYT Cliente v684 · corregir aro inicial descentrado en la animación del taxi.
   El segundo aro tiene delay; con animation-fill-mode: both mantiene la
   transformación/opacity del frame 0 durante la espera y evita que se pinte
   “tirado” hacia la derecha en la primera carga. */
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-awaiting
#rayt-booking-offer
.rayt-awaiting-halo i{
  animation-fill-mode:both!important;
  transform-origin:center center!important;
}


/* RAYT Cliente v685 · Solicitar taxi: sin parpadeo, animación solo dentro del héroe.
   No se cambia la geometría de la card ni sus campos/botones. */
html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)
.booking-sheet,
html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  animation:none!important;
  opacity:1!important;
  visibility:visible!important;
}
html body .shell.has-client-nav .rayt-client.client-booking:not(.map-selection-mode)
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-copy{
  animation:none!important;
  opacity:1!important;
}
/* Taxi sutilmente flotante, sin animar el contenedor, el texto ni sus dimensiones. */
@keyframes rayt685TaxiFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-.35deg)}
  50%{transform:translate3d(0,-5px,0) rotate(.35deg)}
}
@keyframes rayt685Halo{
  0%{transform:translate(-50%,-50%) scale(.62);opacity:0}
  13%{opacity:.64}
  80%,100%{transform:translate(-50%,-50%) scale(1.23);opacity:0}
}
@keyframes rayt685Ambient{
  0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.96)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
}
html body .shell.has-client-nav .rayt-client.client-booking
.booking-sheet.rayt-route-awaiting #rayt-booking-offer{
  background:radial-gradient(ellipse at 50% 44%,rgba(255,205,68,.14) 0%,rgba(255,238,187,.075) 44%,transparent 73%),#fff!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle::before{
  content:"";
  position:absolute;
  z-index:0;
  top:46px;
  left:50%;
  width:230px;
  max-width:82%;
  height:114px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,214,104,.27) 0%,rgba(255,214,104,.11) 46%,transparent 72%);
  transform:translate(-50%,-50%);
  animation:rayt685Ambient 4.5s ease-in-out infinite both;
  pointer-events:none;
}
html body .shell.has-client-nav .rayt-client.client-booking
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img{
  animation:rayt685TaxiFloat 4s ease-in-out infinite!important;
  will-change:transform;
}
html body .shell.has-client-nav .rayt-client.client-booking
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo i{
  animation:rayt685Halo 4s ease-out infinite both!important;
  border-color:rgba(242,184,43,.45)!important;
  width:152px!important;
  height:76px!important;
  box-shadow:0 0 16px rgba(250,195,58,.12)!important;
}
html body .shell.has-client-nav .rayt-client.client-booking
.booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo i:nth-child(2){
  animation-delay:-2s!important;
}
@media(prefers-reduced-motion:reduce){
  html body .shell.has-client-nav .rayt-client.client-booking
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle::before,
  html body .shell.has-client-nav .rayt-client.client-booking
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-booking-vehicle img,
  html body .shell.has-client-nav .rayt-client.client-booking
  .booking-sheet.rayt-route-awaiting #rayt-booking-offer .rayt-awaiting-halo i{
    animation:none!important;
    will-change:auto!important;
  }
}


/* RAYT Cliente v687 — zoom de Leaflet con tamaño constante en primera carga.
   No modificar zoom/posición del mapa ni estilos de la tarjeta del viaje. */
html body .rayt-client .client-map .leaflet-control-zoom{
  box-sizing:border-box!important;
}
html body .rayt-client .client-map .leaflet-control-zoom a.leaflet-control-zoom-in,
html body .rayt-client .client-map .leaflet-control-zoom a.leaflet-control-zoom-out{
  box-sizing:border-box!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  line-height:32px!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:22px!important;
  font-weight:700!important;
  text-align:center!important;
  transition:none!important;
  transform:none!important;
}

/* RAYT Cliente v688 · controles Leaflet compactos y sin salto de posición.
   Mantener los márgenes de Inicio desde el primer frame, incluso después
   de que Leaflet termina de cargar. No modificar el mapa ni su tarjeta. */
html body .shell.has-client-nav
.rayt-client.client-booking:not(.map-selection-mode):not(.inline-pin-mode)
.client-map .leaflet-top.leaflet-left .leaflet-control-zoom{
  position:relative!important;
  margin:139px 0 0 12px!important;
  transform:none!important;
  transition:none!important;
}
html body .rayt-client .client-map .leaflet-control-zoom a.leaflet-control-zoom-in,
html body .rayt-client .client-map .leaflet-control-zoom a.leaflet-control-zoom-out{
  box-sizing:border-box!important;
  display:block!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  line-height:26px!important;
  padding:0!important;
  font-size:18px!important;
  font-weight:600!important;
  text-align:center!important;
  transform:none!important;
  transition:none!important;
}


/* RAYT Cliente v694 · búsqueda de conductores sin scroll en la tarjeta.
   Limitado a la fase sin propuestas, sin tocar Solicitar taxi ni Viaje activo. */
html body .shell.has-client-nav > .rayt-client.client-searching{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .client-map{
  flex:0 0 38%!important;
  height:38%!important;
  min-height:0!important;
  max-height:38%!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet{
  flex:1 1 62%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:8px 15px 11px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:4px!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet > .sheet-handle{
  flex:0 0 auto!important;
  margin:0 auto 3px!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet > .sheet-head{
  flex:0 0 auto!important;
  min-height:24px!important;
  margin:0!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet > .sheet-head h1{
  font-size:clamp(17px,4.5vw,20px)!important;
  line-height:1.2!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching .searching-subtitle{
  flex:0 0 auto!important;
  margin:0!important;
  line-height:1.25!important;
  text-align:center!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching .wait-progress.searching-badge{
  flex:0 0 auto!important;
  width:clamp(68px,12.5dvh,94px)!important;
  height:clamp(68px,12.5dvh,94px)!important;
  margin:7px auto 4px!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching .wait-progress-inner{
  width:84%!important;
  height:84%!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching .search-loading-dots{
  flex:0 0 auto!important;
  margin:4px auto 0!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching .searching-copy{
  flex:0 0 auto!important;
  margin:2px auto 3px!important;
  line-height:1.25!important;
}
html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet > button.ghost.full{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 42px!important;
  height:42px!important;
  min-height:42px!important;
  width:100%!important;
  margin:auto 0 0!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
}
@media(max-height:650px){
  html body .shell.has-client-nav > .rayt-client.client-searching > .client-map{
    flex-basis:32%!important;height:32%!important;max-height:32%!important;
  }
  html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet{
    flex-basis:68%!important;gap:2px!important;padding:6px 13px 7px!important;
  }
  html body .shell.has-client-nav > .rayt-client.client-searching .wait-progress.searching-badge{
    width:66px!important;height:66px!important;margin:3px auto!important;
  }
  html body .shell.has-client-nav > .rayt-client.client-searching .searching-copy{margin:0 auto 2px!important}
  html body .shell.has-client-nav > .rayt-client.client-searching > .booking-sheet > button.ghost.full{
    flex-basis:38px!important;height:38px!important;min-height:38px!important;
  }
}


/* RAYT Cliente v696 · iPhone: Safari aumenta la página al enfocar inputs <16px.
   Esto afecta a toda la vista después de seleccionar/calcular la ruta.
   Ajuste exclusivo iOS: el mapa conserva su propio zoom táctil. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 760px) {
    html body .shell.has-client-nav .rayt-client.client-booking
    .map-floating-fields input,
    html body .shell.has-client-nav .rayt-client.client-booking
    .route-fields input,
    html body .shell.has-client-nav .rayt-client.client-booking
    .pay-choice select {
      font-size:16px!important;
      -webkit-text-size-adjust:100%;
    }
    html body .shell.has-client-nav .rayt-client.client-booking
    .map-floating-fields label span {min-width:0!important;overflow:hidden!important;}
    html body .shell.has-client-nav .rayt-client.client-booking
    .map-floating-fields input {max-width:100%!important;text-overflow:ellipsis!important;}
    html body .shell.has-client-nav .rayt-client.client-booking
    > .booking-sheet.rayt-route-ready,
    html body .shell.has-client-nav .rayt-client.client-booking
    > .booking-sheet.rayt-route-ready #rayt-booking-offer {
      max-width:100%!important;
      min-width:0!important;
      overflow-x:hidden!important;
    }
    html body .shell.has-client-nav .rayt-client.client-booking
    > .booking-sheet.rayt-route-ready #rayt-fare-editor,
    html body .shell.has-client-nav .rayt-client.client-booking
    > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit {
      min-width:0!important;
    }
  }
}


/* RAYT Cliente v697: iconos de cierre discretos en Mi perfil. */
html body .rayt-client-invite-dialog header button,
html body .rayt-client-notify-close,
html body .rayt-client-data-dialog header button,
html body .rayt-ref-modal .rayt-ref-x{
 appearance:none!important;-webkit-appearance:none!important;
 display:inline-grid!important;place-items:center!important;
 flex:0 0 38px!important;width:38px!important;height:38px!important;
 min-width:38px!important;min-height:38px!important;
 padding:0!important;margin:0!important;border:0!important;
 border-radius:50%!important;background:transparent!important;
 box-shadow:none!important;color:#7d8793!important;
 font-size:25px!important;font-weight:400!important;line-height:1!important;
 text-shadow:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
html body .rayt-client-invite-dialog header button:hover,
html body .rayt-client-notify-close:hover,
html body .rayt-client-data-dialog header button:hover,
html body .rayt-ref-modal .rayt-ref-x:hover,
html body .rayt-client-invite-dialog header button:active,
html body .rayt-client-notify-close:active,
html body .rayt-client-data-dialog header button:active,
html body .rayt-ref-modal .rayt-ref-x:active{
 background:transparent!important;box-shadow:none!important;color:#343d49!important;
}
html body .rayt-client-invite-dialog header button:focus-visible,
html body .rayt-client-notify-close:focus-visible,
html body .rayt-client-data-dialog header button:focus-visible,
html body .rayt-ref-modal .rayt-ref-x:focus-visible{
 outline:2px solid #d3a72a!important;outline-offset:2px!important;
}


/* RAYT Cliente v700 — ondas suaves para búsqueda de conductores.
   Solo afecta los tres puntos de carga, sin alterar el tamaño de la tarjeta. */
html body .rayt-client.client-searching .search-loading-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:14px;
}
html body .rayt-client.client-searching .search-loading-dots i{
  display:block;
  width:7px!important;
  height:7px!important;
  flex:0 0 7px;
  border-radius:50%;
  background:#e8b72c!important;
  transform-origin:50% 50%;
  animation:rayt-v700-search-wave 1.2s ease-in-out infinite!important;
  will-change:transform,opacity;
}
html body .rayt-client.client-searching .search-loading-dots i:nth-child(1){animation-delay:0s!important}
html body .rayt-client.client-searching .search-loading-dots i:nth-child(2){animation-delay:.15s!important}
html body .rayt-client.client-searching .search-loading-dots i:nth-child(3){animation-delay:.30s!important}
@keyframes rayt-v700-search-wave{
  0%,55%,100%{transform:translateY(0) scale(.88);opacity:.52}
  25%{transform:translateY(-6px) scale(1.12);opacity:1}
}

/* Estado del viaje: entrada breve del título y luz de actividad discreta.
   No se animan las cards, el mapa, ni los controles del viaje. */
html body .rayt-client.client-active-ride
.ride-ref-heading:is(.rayt-trip-heading-approaching,.rayt-trip-heading-moving) h1{
  animation:rayt-v700-ride-title .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes rayt-v700-ride-title{
  from{opacity:.65;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
html body .rayt-client.client-active-ride
.ride-ref-heading:is(.rayt-trip-heading-approaching,.rayt-trip-heading-moving) h1::after{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:5px;
  height:5px;
  margin-left:9px;
  border-radius:50%;
  background:#ecc039;
  box-shadow:0 0 0 0 rgba(236,192,57,.24);
  animation:rayt-v700-trip-indicator 2.2s ease-in-out infinite;
}
@keyframes rayt-v700-trip-indicator{
  0%,100%{opacity:.55;box-shadow:0 0 0 0 rgba(236,192,57,0)}
  50%{opacity:1;box-shadow:0 0 0 5px rgba(236,192,57,.14)}
}
@media(prefers-reduced-motion:reduce){
  html body .rayt-client.client-searching .search-loading-dots i,
  html body .rayt-client.client-active-ride
  .ride-ref-heading:is(.rayt-trip-heading-approaching,.rayt-trip-heading-moving) h1,
  html body .rayt-client.client-active-ride
  .ride-ref-heading:is(.rayt-trip-heading-approaching,.rayt-trip-heading-moving) h1::after{
    animation:none!important;
  }
}

/* RAYT Cliente v701: eliminar adornos sin función del encabezado de viaje. */
.shell.has-client-nav .client-active-ride .ride-ref-heading::after{content:none!important;display:none!important}
.shell.has-client-nav .client-active-ride .ride-ref-symbol{display:none!important}


/* v702: al calcular una ruta, ocultar la ayuda inicial del mapa.
   El mapa y su etiqueta se encuadran usando las zonas realmente visibles. */
html body .rayt-client.client-booking:has(> .booking-sheet.rayt-route-ready)
.client-map .booking-map-tip{
  display:none!important;
}


/* RAYT Cliente v704 — El avatar vuelve a cruzar la portada a la mitad.
   El bloque nombre/reputación/estado se sitúa junto al avatar, sin tocar portada. */
html body .client-profile-premium .client-profile-hero .client-profile-hero-overlap{
  position:relative!important;
  z-index:5!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:13px!important;
  margin:-41px 17px 0!important;
  padding:0!important;
  min-width:0!important;
}
html body .client-profile-premium .client-profile-hero .client-profile-photo{
  width:82px!important;
  height:82px!important;
  flex:0 0 82px!important;
  margin:0!important;
  border:4px solid #f7f8f9!important;
  border-radius:50%!important;
}
html body .client-profile-premium .client-profile-hero .client-profile-person-copy{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  align-self:stretch!important;
  gap:3px!important;
  min-width:0!important;
  margin:0!important;
  padding:17px 0 2px!important;
  text-align:left!important;
}
html body .client-profile-premium .client-profile-hero .client-profile-person-copy > strong{
  font-size:clamp(17px,4.6vw,21px)!important;
  line-height:1.12!important;
  overflow-wrap:anywhere;
}
html body .client-profile-premium .client-profile-hero .client-profile-rating{
  margin:0!important;
  min-height:0!important;
  max-width:100%;
}
html body .client-profile-premium .client-profile-hero .client-profile-verified{
  margin:0!important;
  padding:3px 7px!important;
  font-size:10px!important;
}
@media(max-height:650px){
  html body .client-profile-premium .client-profile-hero .client-profile-hero-overlap{
    margin-top:-34px!important;
  }
  html body .client-profile-premium .client-profile-hero .client-profile-photo{
    width:68px!important;height:68px!important;flex-basis:68px!important;
  }
  html body .client-profile-premium .client-profile-hero .client-profile-person-copy{
    padding-top:9px!important;
  }
  html body .client-profile-premium .client-profile-hero .client-profile-person-copy > strong{
    font-size:17px!important;
  }
}
@media(max-width:350px){
  html body .client-profile-premium .client-profile-hero .client-profile-hero-overlap{
    margin-left:13px!important;margin-right:13px!important;gap:10px!important;
  }
  html body .client-profile-premium .client-profile-hero .client-profile-person-copy > strong{
    font-size:16px!important;
  }
}


/* RAYT Cliente v705: nombre y reputación completamente debajo de la portada.
   Mantiene el avatar original mitad portada / mitad cuerpo; elimina fila de estado. */
html body .client-profile-premium .client-profile-hero .client-profile-person-copy{
  box-sizing:border-box!important;
  justify-content:flex-end!important;
  align-self:stretch!important;
  padding:40px 0 2px!important;
  gap:4px!important;
  min-height:82px!important;
  overflow:visible!important;
}
html body .client-profile-premium .client-profile-hero .client-profile-person-copy > strong{
  font-size:clamp(16px,4.35vw,19px)!important;
  line-height:1.15!important;
  margin:0!important;
}
html body .client-profile-premium .client-profile-hero .client-profile-rating{
  line-height:1.15!important;
  margin:0!important;
  flex:0 0 auto!important;
}
@media(max-height:650px){
  html body .client-profile-premium .client-profile-hero .client-profile-person-copy{
    min-height:68px!important;
    padding:31px 0 0!important;
    gap:2px!important;
  }
  html body .client-profile-premium .client-profile-hero .client-profile-person-copy > strong{
    font-size:16px!important;
  }
}


/* RAYT Cliente v706: un poco más de aire bajo el borde de la portada.
   No modifica la foto, la portada, ni la separación entre nombre y estrellas. */
html body .client-profile-premium .client-profile-hero .client-profile-person-copy{
  transform:translateY(6px)!important;
}


/* RAYT — avisos y confirmaciones premium en Cliente y Conductor */
#rayt-native-replacement-toasts{position:fixed;z-index:2147483646;left:16px;right:16px;top:calc(18px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none}
.rayt-app-notice{max-width:420px;width:max-content;min-width:min(100%,220px);box-sizing:border-box;background:#1b1b1d;color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:15px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:13px 16px;font:500 13px/1.45 system-ui,-apple-system,sans-serif;text-align:center;opacity:0;transform:translateY(-9px) scale(.98);transition:opacity .24s ease,transform .24s ease;overflow-wrap:anywhere}
.rayt-app-notice-visible{opacity:1;transform:translateY(0) scale(1)}
.rayt-app-dialog-backdrop{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.59);padding:20px;box-sizing:border-box;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rayt-app-dialog{background:#202124;color:#fff;width:min(100%,380px);max-height:85dvh;overflow:auto;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.36);box-sizing:border-box;border:1px solid rgba(255,255,255,.1);font-family:system-ui,-apple-system,sans-serif}
.rayt-app-dialog-title{font-size:12px;font-weight:800;letter-spacing:.18em;color:#f4cc46;margin-bottom:14px}
.rayt-app-dialog-message{font-size:16px;line-height:1.5;font-weight:550;margin:0 0 21px;color:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.rayt-app-dialog-actions{display:flex;gap:10px}.rayt-app-dialog-actions button{flex:1;min-height:48px;border-radius:13px;font-weight:700;font-size:14px;cursor:pointer;border:0;touch-action:manipulation}
.rayt-app-dialog-cancel{background:#333438;color:#fff}.rayt-app-dialog-accept{background:#f2c938;color:#151515}
.rayt-app-dialog-input{width:100%;box-sizing:border-box;background:#2d2e31;color:#fff;border:1px solid #626266;border-radius:12px;padding:12px;margin-bottom:18px;resize:vertical;font:inherit}
@media(prefers-reduced-motion:reduce){.rayt-app-notice{transition:none}}


/* RAYT · conductor referido: contorno distintivo animado, sin alterar la tarjeta. */
.client-has-offers .client-offer-card.is-referral{
  position:relative!important;
  isolation:isolate;
  border:2px solid #dbac25!important;
  background:linear-gradient(115deg,#fffdf5,#fff 65%)!important;
  animation:raytReferralHalo 3.6s ease-in-out infinite!important;
}
.client-has-offers .client-offer-card.is-referral::before{
  content:"";
  position:absolute;
  inset:-3px;
  border:3px solid transparent;
  border-radius:inherit;
  background:conic-gradient(from var(--rayt-ref-angle,0deg),transparent 0deg,transparent 235deg,rgba(255,221,116,.25) 268deg,#fff8d5 292deg,#efb927 309deg,transparent 340deg) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:1;
  animation:raytReferralBorderSweep 4s linear infinite;
}
@property --rayt-ref-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes raytReferralBorderSweep{to{--rayt-ref-angle:360deg}}
@keyframes raytReferralHalo{
  0%,100%{box-shadow:0 0 0 2px rgba(240,190,55,.16),0 5px 18px rgba(23,25,28,.05)}
  50%{box-shadow:0 0 0 3px rgba(247,197,60,.30),0 0 16px rgba(236,187,51,.20),0 5px 18px rgba(23,25,28,.05)}
}
@media(prefers-reduced-motion:reduce){
  .client-has-offers .client-offer-card.is-referral,
  .client-has-offers .client-offer-card.is-referral::before{animation:none!important}
}


/* Cover ads managed by RAYT Admin */
@keyframes raytCoverSlide{0%,12%{opacity:1}16%,94%{opacity:0}100%{opacity:1}}

/* RAYT: publicidad de portada completa, sin alterar tamaño ni posiciones */
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide{background:#d6d6d6!important}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-background{
 position:absolute!important;inset:-14px!important;width:calc(100% + 28px)!important;height:calc(100% + 28px)!important;
 object-fit:cover!important;filter:blur(13px) brightness(.85)!important;transform:scale(1.04);z-index:0!important;
}
.driver-home-top .driver-ad-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;
 object-position:center center!important;z-index:1!important;
}

/* RAYT Cliente: portada publicitaria completa en Perfil (sin zoom).
   La portada conserva su altura, foto de perfil y distribución. */
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads {
  isolation:isolate!important;
  background:#d6d6d6!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  overflow:hidden!important;
  pointer-events:none;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-background {
  position:absolute!important;
  inset:-14px!important;
  width:calc(100% + 28px)!important;
  height:calc(100% + 28px)!important;
  object-fit:cover!important;
  filter:blur(13px) brightness(.85)!important;
  transform:scale(1.04);
  z-index:0!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  z-index:1!important;
}

/* RAYT Cliente: acercamiento ligero de publicidad de portada.
   Acercamiento suave, tomando como referencia la proporción 1400x400.
   No se toca el contenedor, el avatar ni la portada de Conductor. */
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground {
  transform:scale(1)!important;
  transform-origin:center center!important;
}

/* RAYT Cliente: cambio de anuncios sin fondo blanco entre diapositivas. */
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-cover-seamless .rayt-upload-slide{
  animation-fill-mode:both!important;
  background:transparent!important;
  will-change:opacity;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-cover-seamless .rayt-upload-slide:first-of-type{
  opacity:1!important;
  animation:none!important;
}
@media(prefers-reduced-motion:reduce){
  .client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-cover-seamless .rayt-upload-slide{animation:none!important;opacity:0!important}
  .client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-cover-seamless .rayt-upload-slide:first-of-type{opacity:1!important}
}

/* RAYT Cliente: carrusel de portada con cambios directos y foto a pantalla completa.
   No afecta el diseño ni la portada del conductor. */
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground{
  object-fit:cover!important;
  object-position:center center!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-background{
  display:none!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-cover-seamless .rayt-upload-slide{
  transition:none!important;
  animation-timing-function:steps(1,end)!important;
  will-change:auto!important;
}

/* RAYT Cliente: publicidad panorámica completa (1400 × 300) sin zoom,
   sin relleno desenfocado y sin modificar el contenedor ni el carrusel. */
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads {
  background:#232323!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide {
  background:#232323!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground {
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  width:100%!important;
  height:100%!important;
}
.client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-background {
  display:none!important;
}


/* RAYT Cliente: portada de Perfil con proporcion real 1400:300.
   Solo cambia el espacio publicitario; avatar, nombre, reputacion y menu
   conservan su estructura y posicionamiento. */
html body .client-profile-premium .client-profile-hero > .driver-profile-cover {
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1400 / 300!important;
  flex:0 0 auto!important;
}
html body .client-profile-premium .client-profile-hero > .driver-profile-cover.rayt-uploaded-ads .rayt-upload-slide img.rayt-cover-foreground {
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

/* Boton Guardar estilo app de movilidad: superficie solida, sin degradados. */
.rayt-client-data-save {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:52px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:12px;
  background:#161616;
  color:#fff;
  box-shadow:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:0;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .16s ease,transform .16s ease;
}
.rayt-client-data-save .rayt-client-save-check {
  width:auto;height:auto;
  display:inline-block;
  background:none;
  border-radius:0;
  color:#fff;
  font-size:17px;
  line-height:1;
}
.rayt-client-data-save:active {background:#303030;transform:scale(.985);box-shadow:none;filter:none}
.rayt-client-data-save:focus-visible {outline:3px solid #f5cd43;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.rayt-client-data-save{transition:none}}

/* Guardar fotografia: figura sobria del boton actual, color y pulsacion del CTA Solicitar taxi. */
.rayt-client-data-save {
  background:#ffca38!important;
  color:#171717!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 5px 13px rgba(226,165,24,.15)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.rayt-client-data-save .rayt-client-save-check {color:#171717!important;}
.rayt-client-data-save:active {
  background:#ffca38!important;
  transform:scale(.985)!important;
  filter:brightness(.96)!important;
  box-shadow:0 2px 7px rgba(226,165,24,.14)!important;
}
@media(prefers-reduced-motion:reduce){.rayt-client-data-save{transition:none!important}}


/* RAYT Cliente — jerarquía visual del panel Solicitar taxi.
   Exclusivamente CSS; no altera funciones, medidas exteriores ni paneles de espera. */
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer {
  display:grid!important;
  grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  column-gap:8px!important;
  min-width:0!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  border:1px solid #edf0f3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 3px 14px rgba(25,33,42,.035)!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor {
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  align-self:center!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:7px!important;
  padding:2px 0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor>label {
  margin:0!important;
  padding:0!important;
  color:#78818c!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit {
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:43px!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input {
  min-width:0!important;
  max-width:90px!important;
  text-align:left!important;
  font-size:clamp(30px,8vw,39px)!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-currency {
  font-size:11px!important;
  color:#8c949f!important;
  font-weight:750!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers {
  width:min(100%,162px)!important;
  min-height:38px!important;
  margin:0!important;
  align-self:flex-start!important;
  border-radius:12px!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers button{
  min-height:34px!important;
  height:34px!important;
  border-radius:10px!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle {
  display:flex!important;
  grid-column:2!important;
  grid-row:1!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer .rayt-booking-vehicle img {
  display:block!important;
  width:100%!important;
  max-width:178px!important;
  height:auto!important;
  max-height:110px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready .pay-choice{
  width:100%!important;
  box-sizing:border-box!important;
  border-radius:14px!important;
  border:1px solid #e7eaf0!important;
  box-shadow:none!important;
  background:#fff!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-request-taxi{
  width:100%!important;
  border-radius:15px!important;
}
@media(max-width:360px){
  html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
    column-gap:4px!important;
    padding:8px 9px!important;
  }
  html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .rayt-fare-steppers{
    width:min(100%,140px)!important;
  }
}

/* Quitar únicamente el contorno alrededor de Tu oferta y taxi.
   Se conserva toda la jerarquía, separación y controles. */
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}


/* RAYT Cliente — acciones de Origen/Destino: estilo discreto, sin flechas.
   Alcance limitado al panel de sugerencias, conserva los onclick. */
html body .rayt-recent-panel .rayt-recent-option.rayt-current-location,
html body .rayt-recent-panel .rayt-recent-option.rayt-recent-pin {
  padding:11px 12px!important;
  gap:11px!important;
  min-height:50px;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#262c35!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.35;
  transition:background-color .16s ease!important;
}
html body .rayt-recent-panel .rayt-recent-option.rayt-current-location:active,
html body .rayt-recent-panel .rayt-recent-option.rayt-recent-pin:active {
  background:#f5f6f7!important;
}
html body .rayt-recent-panel .rayt-recent-option.rayt-current-location .rayt-recent-symbol,
html body .rayt-recent-panel .rayt-recent-option.rayt-recent-pin .rayt-recent-symbol {
  width:29px!important; height:29px!important; min-width:29px!important;
  border:0!important; border-radius:9px!important;
  background:#f6f1e1!important; color:#886923!important;
  font-size:17px!important; font-weight:650!important;
}
html body .rayt-recent-panel .rayt-recent-option.rayt-current-location > span[aria-hidden="true"],
html body .rayt-recent-panel .rayt-recent-option.rayt-recent-pin > span[aria-hidden="true"] {
  display:none!important;
}
html body .rayt-recent-panel .rayt-recent-option.rayt-recent-pin {
  border-top:1px solid #f1f1f1!important;
  border-radius:0 0 11px 11px!important;
  margin-top:3px!important;
}


/* RAYT Cliente — menú Origen compacto. Cambios visuales únicamente. */
html body #rayt-recent-origins[popover],
html body #rayt-recent-origins:not(:popover-open):not([hidden]){
  padding:7px!important;
  border:1px solid #e9ebee!important;
  border-radius:16px!important;
  box-shadow:0 12px 32px rgba(18,25,34,.13)!important;
  background:#fff!important;
}
#rayt-recent-origins .rayt-origin-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:2px;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-width:0;
  min-height:76px;
  padding:9px 4px!important;
  margin:0!important;
  gap:6px!important;
  border:0!important;
  border-radius:11px!important;
  background:#f6f7f8!important;
  color:#222830!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.2;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option:active{
  background:#eceef1!important;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-symbol{
  display:grid!important;
  place-items:center!important;
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:#fff!important;
  border:0!important;
  color:#2c323a!important;
  font-size:19px!important;
  font-weight:500!important;
}
#rayt-recent-origins .rayt-recent-heading{
  padding:12px 9px 5px!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.025em;
  color:#9197a0!important;
}
html body #rayt-recent-origins .rayt-origin-history{
  min-height:43px;
  padding:7px 9px!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
  border-radius:9px!important;
  color:#343b44!important;
  font-size:11px!important;
  font-weight:500!important;
}
#rayt-recent-origins .rayt-origin-history .rayt-recent-symbol{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  background:#f4f5f6!important;
  color:#848b94!important;
  border-radius:50%!important;
  font-size:15px!important;
}
#rayt-recent-origins .rayt-origin-history .rayt-recent-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* RAYT Cliente — accesos de origen discretos (solo presentación). */
html body #rayt-recent-origins .rayt-origin-quick-actions{
  gap:5px!important;
  padding:1px 2px 3px!important;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option{
  flex-direction:row!important;
  min-height:35px!important;
  height:35px!important;
  padding:5px 7px!important;
  gap:5px!important;
  border-radius:8px!important;
  background:#f7f8f9!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:-.01em!important;
  white-space:nowrap;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-symbol{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  font-size:15px!important;
  background:transparent!important;
  color:#525b65!important;
}
html body #rayt-recent-origins .rayt-recent-heading{
  padding-top:8px!important;
}

/* RAYT Cliente — acciones como lista bajo recientes. Solo aspecto visual. */
html body #rayt-recent-origins .rayt-origin-actions-divider{
  border-top:1px solid #e9ebef; margin:8px 9px 5px; height:0;
}
html body #rayt-recent-origins .rayt-origin-quick-actions{
  display:flex!important; flex-direction:column!important; gap:0!important; padding:0 2px 2px!important;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option{
  width:100%!important; height:39px!important; min-height:39px!important;
  padding:7px 10px!important; justify-content:flex-start!important;
  text-align:left!important; background:transparent!important; border-radius:8px!important;
  font-size:11px!important; font-weight:500!important; gap:11px!important;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option:active{
  background:#f5f6f7!important;
}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-symbol{
  width:24px!important; min-width:24px!important; height:24px!important;
  font-size:17px!important; color:#656d77!important;
}

/* RAYT: listas alineadas para Origen y Destino, sin modificar su comportamiento. */
html body #rayt-recent-origins .rayt-origin-quick-actions,
html body #rayt-recent-destinations .rayt-origin-quick-actions{display:flex!important;flex-direction:column!important;gap:0!important;padding:0 2px 2px!important;}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option,
html body #rayt-recent-destinations .rayt-origin-quick-actions .rayt-recent-option{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;width:100%!important;height:39px!important;min-height:39px!important;padding:7px 10px!important;margin:0!important;gap:11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#343b44!important;font-size:11px!important;font-weight:500!important;}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-option>span,
html body #rayt-recent-destinations .rayt-origin-quick-actions .rayt-recent-option>span{margin-left:0!important;}
html body #rayt-recent-origins .rayt-origin-quick-actions .rayt-recent-symbol,
html body #rayt-recent-destinations .rayt-origin-quick-actions .rayt-recent-symbol{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:24px!important;background:transparent!important;border:0!important;color:#656d77!important;font-size:17px!important;}
html body #rayt-recent-destinations .rayt-origin-actions-divider{border-top:1px solid #e9ebef;margin:8px 9px 5px;height:0;}
html body #rayt-recent-destinations .rayt-origin-history{display:flex;min-height:43px;padding:7px 9px;gap:10px;font-weight:500;font-size:11px;}
html body #rayt-recent-destinations .rayt-origin-history .rayt-recent-symbol{background:#f4f5f6;color:#848b94;border-radius:50%;}

/* Existing calculated route: restoring Viaje from another tab must not replay
   the initial entry animation. A newly calculated route keeps its original effect. */
html body .rayt-client .booking-sheet.rayt-route-ready.rayt-restored-booking #rayt-booking-offer,
html body .rayt-client .booking-sheet.rayt-route-ready.rayt-restored-booking #rayt-fare-editor,
html body .rayt-client .booking-sheet.rayt-route-ready.rayt-restored-booking #rayt-booking-offer .rayt-booking-vehicle,
html body .rayt-client .booking-sheet.rayt-route-ready.rayt-restored-booking #rayt-booking-offer .rayt-booking-vehicle img {
  animation:none!important;
  transition:none!important;
}

/* Client navigation: secondary screens must not slide upward on entry. */
html body .shell.has-client-nav > .client-secondary,
html body .shell.has-client-nav > .client-secondary.client-profile-premium {
 animation:none!important;
}
/* The existing Leaflet route marker is reused instead of animated on return. */
html body .rayt-client .rayt-inline-trip-map .rayt-route-geo-icon,
html body .rayt-client .rayt-inline-trip-map .rayt-route-geo-icon .rayt-map-route-summary {
 animation:none!important;
 transition:none!important;
}

/* Perfil cliente: mostrar iniciales neutras mientras la foto termina de cargar, sin destello amarillo. */
html body .client-profile-premium .client-profile-hero .client-profile-photo{
  position:relative; background:#f0f1f3!important; color:#555c65!important;
}
.client-profile-premium .client-profile-photo .rayt-client-photo-initials{
  position:absolute;inset:0;display:grid;place-items:center;
}
.client-profile-premium .client-profile-photo img{
  position:relative;z-index:1;opacity:0;
}
.client-profile-premium .client-profile-photo img.rayt-client-photo-loaded{opacity:1}
/* RAYT: aviso de propuesta con tiempo de recogida */
.rayt-eta-client-offer{margin:8px 0;padding:9px 12px;border-radius:12px;background:#fff8e3;color:#28221a;font-size:12px;line-height:1.35}.rayt-eta-client-offer strong{font-weight:800}

/* RAYT: ETA discreta sobre la misma línea de reputación; sin aumentar la tarjeta */
.client-offer-card .rayt-offer-rating-row{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;height:15px;white-space:nowrap;overflow:hidden}
.client-offer-card .rayt-offer-rating-row .offer-rating{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:15px}
.client-offer-card .rayt-offer-wait-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:1px 6px;border-radius:999px;background:#fff3d0;color:#785600;font-size:9px;font-weight:800;line-height:13px;white-space:nowrap}
.client-offer-card .rayt-offer-wait-pill span{font-size:12px;line-height:11px}

/* Aviso compacto de recogida programada: solo esta confirmación. */
.rayt-eta-confirm{padding:22px 20px 20px}
.rayt-eta-heading{display:flex;align-items:flex-start;gap:11px;line-height:1.35;font-size:16px;font-weight:700;color:#fff;margin-bottom:9px}
.rayt-eta-heading strong{font:inherit;flex:1}
.rayt-eta-clock{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:rgba(242,201,56,.12);color:#f2c938;margin-top:-3px}
.rayt-eta-description{margin:0 0 21px 41px;font-size:12.5px;font-weight:400;line-height:1.55;color:#c5c6c9}
.rayt-eta-confirm .rayt-app-dialog-actions button{min-width:0}

/* Chat: foto real del conductor, envío perfectamente centrado y actualizaciones estables. */
#rayt-chat-modal .rayt-chat-avatar{position:relative;overflow:hidden;border-radius:50%;flex:0 0 36px;}
#rayt-chat-modal .rayt-chat-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;}
#rayt-chat-modal .rayt-chat-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:13px;font-weight:800;}
#rayt-chat-modal .rayt-chat-compose button{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center!important;}
#rayt-chat-modal .rayt-chat-send-icon{width:20px;height:20px;display:block;flex:none;}

/* RAYT Cliente · 2026-11-06: evitar zoom automático de Safari/iOS al enfocar formularios.
   Safari amplía la página cuando un campo editable tiene letra menor de 16px.
   No bloqueamos el zoom manual del usuario ni alteramos el mapa Leaflet. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 760px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
    textarea,
    select {
      font-size: 16px !important;
    }
    /* Conservar las cifras grandes de tarifa, propuesta y código. */
    #rayt-fare-editor input, .fare-edit input { font-size: 24px !important; }
    .rayt-counter-input-row input { font-size: clamp(38px, 12vw, 53px) !important; }
    .rayt-setup-number-field input { font-size: clamp(27px, 8vw, 36px) !important; }
    .rayt-ref-gate-code-wrap input { font-size: 18px !important; }
  }
}

/* RAYT Cliente v716 — acceso a ancho completo del viewport móvil.
   Sobrescribe la anchura fija anterior (440/460px) sin alterar otras pantallas. */
@media (max-width: 760px) {
  html body #app > .shell.rayt-access-shell:has(.rayt-client-auth-v2) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  html body #app > .shell.rayt-access-shell > .rayt-client-auth-v2 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* RAYT Cliente v718: administración de cuenta en un submenú discreto del perfil. */
.rayt-client-account-delete{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #eceef1;border-radius:15px;background:#fff;text-align:left;padding:14px 12px;cursor:pointer;font:inherit;color:#25303c}
.rayt-client-account-delete:active{background:#f8f9fb}
.rayt-client-account-delete-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#faf2f2;color:#af5555;font-size:24px}
.rayt-client-account-delete>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0;gap:5px}
.rayt-client-account-delete strong{font-size:13px;font-weight:750;line-height:1.35;color:#9e3939}
.rayt-client-account-delete small{font-size:11px;font-weight:450;line-height:1.45;color:#8f98a3}
.rayt-client-account-delete svg{width:18px;height:18px;color:#a3aab3;flex:0 0 18px}

/* RAYT 2026-11-09 — tarifas de cuatro cifras sin recortes, solo presentación. */
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit {
  min-width:0!important; max-width:100%!important; overflow:visible!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit input {
  flex:1 1 auto!important; width:100%!important; min-width:0!important;
  max-width:none!important; box-sizing:border-box!important;
  font-size:clamp(24px,6.7vw,31px)!important; letter-spacing:-.045em!important;
  font-variant-numeric:tabular-nums!important; text-overflow:clip!important;
}
html body .rayt-client.client-booking .booking-sheet.rayt-route-ready #rayt-booking-offer {
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
}

/* RAYT Cliente: banderín informativo para solicitudes superiores a 80 km. */
.rayt-long-route-flag{display:flex;align-items:center;gap:10px;max-width:100%;min-width:0;padding:10px 12px;margin:7px 0 10px;border:1px solid #edcc69;border-radius:12px;background:#fff8df;color:#332b17;box-sizing:border-box;}
.rayt-long-route-flag-icon{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#f6cd4b;font-size:19px;line-height:1;color:#1e2022;}
.rayt-long-route-flag>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rayt-long-route-flag strong{font-size:12px;font-weight:850;line-height:1.25;}
.rayt-long-route-flag small{font-size:10px;font-weight:600;line-height:1.25;color:#726243;}

/* RAYT v726: importe grande completo en tarifa editable de Cliente.
   La anchura real se reserva para los dígitos; para 4+ cifras se reduce
   solo el tamaño visual, sin cambiar el importe ni la negociación. */
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-booking-offer{
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr)!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor{
  min-width:0!important;overflow:visible!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit{
  display:flex!important;align-items:center!important;gap:3px!important;
  min-width:0!important;width:100%!important;max-width:none!important;
  overflow:visible!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit #amount{
  display:block!important;flex:1 1 0!important;width:100%!important;
  min-width:0!important;max-width:none!important;
  padding:0!important;margin:0!important;box-sizing:border-box!important;
  text-align:left!important;text-overflow:clip!important;
  -moz-appearance:textfield!important;appearance:textfield!important;
}
#rayt-fare-editor #amount::-webkit-inner-spin-button,
#rayt-fare-editor #amount::-webkit-outer-spin-button{
  -webkit-appearance:none!important;margin:0!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit #amount[data-fare-digits="4"]{
  font-size:clamp(22px,6vw,28px)!important;letter-spacing:-1px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit #amount[data-fare-digits="5"]{
  font-size:clamp(19px,5.5vw,24px)!important;letter-spacing:-.8px!important;
}
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit:has(#amount[data-fare-digits="4"]) .fare-currency,
html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor .fare-edit:has(#amount[data-fare-digits="5"]) .fare-currency{
  display:none!important;
}
@media(max-width:360px){
  html body .shell.has-client-nav .rayt-client.client-booking > .booking-sheet.rayt-route-ready #rayt-fare-editor{padding-left:7px!important;padding-right:6px!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:23px!important}
}


/* RAYT Cliente · resaltar solo al conductor que invitó al pasajero (v730). */
.client-has-offers .client-offer-card:first-child:not(.is-referral){
  border:1px solid #e5e8ee!important;
  background:#fff!important;
}
.client-has-offers .client-offer-card.is-referral{
  border:2px solid #e6ae17!important;
  background:linear-gradient(112deg,#fff4cc 0%,#fffaf0 46%,#fff 100%)!important;
  box-shadow:0 0 0 2px rgba(248,199,59,.22),0 7px 23px rgba(167,119,5,.15)!important;
}
.client-has-offers .client-offer-card.is-referral .offer-driver-photo{
  box-shadow:0 0 0 2px #edb62c,0 2px 9px rgba(136,97,8,.22)!important;
}
.client-has-offers .client-offer-card.is-referral .client-offer-accept{
  background:#f5bd30!important;
}
@media(prefers-reduced-motion:reduce){
  .client-has-offers .client-offer-card.is-referral{animation:none!important}
}
