*{box-sizing:border-box}body{margin:0;background:var(--surface-f5f5f3);color:var(--ink-202522);font-family:"DM Sans",system-ui,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid var(--line-555b57);outline-offset:3px}button{border:0}.initial{max-width:420px;margin:20vh auto;text-align:center}.initial img{width:180px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1160px;margin:auto;padding:0 28px}.wordmark{width:150px;height:44px;object-fit:contain}.top-actions{display:flex;gap:10px;align-items:center}.pill{font-size:11px;letter-spacing:.07em;padding:6px 10px;background:var(--surface-e9ebe8);border:1px solid var(--line-d5d8d5);border-radius:30px}.link{background:none;color:var(--ink-202522);font-weight:600;padding:8px 0;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 23px;border-radius:15px;background:var(--surface-202522);color:var(--ink-ffffff);font-weight:600;text-decoration:none}.btn.secondary{background:var(--surface-e9ebe8);color:var(--ink-202522)}.btn.ghost{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);color:var(--ink-202522)}.btn.danger{background:var(--surface-faeded);color:#992a2a}.btn.small{min-height:38px;padding:8px 14px;font-size:13px;border-radius:10px}.btn.full{width:100%}.icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.main{max-width:1060px;margin:24px auto 110px;padding:0 28px}.main.narrow{max-width:620px}.welcome{max-width:1060px;min-height:calc(100vh - 160px);margin:20px auto;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:0 28px 50px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600;color:var(--ink-555b57);margin-bottom:16px}.welcome h1{font-size:clamp(40px,5.7vw,68px);line-height:1.08;letter-spacing:-.055em;margin:14px 0 23px;font-weight:700}.lead{color:var(--ink-555b57);font-size:17px;max-width:390px}.welcome-actions{display:grid;gap:12px;max-width:360px;margin-top:36px}.welcome-art{position:relative;min-height:450px;background:var(--surface-202522);color:var(--ink-d5d8d5);border-radius:34px;overflow:hidden;padding:35px;display:flex;flex-direction:column;justify-content:flex-end}.welcome-art:before,.welcome-art:after{content:'';position:absolute;width:480px;height:270px;border:2px solid var(--line-202522);border-radius:50%;transform:rotate(-35deg);left:-100px;top:10px}.welcome-art:after{top:80px;left:80px;border-color:var(--line-555b57)}.route-line{position:absolute;left:12%;top:20%;width:70%;height:45%;border-bottom:2px dashed var(--line-d5d8d5);border-left:2px dashed var(--line-d5d8d5);border-radius:0 0 0 90px;transform:rotate(-12deg)}.map-dot{position:absolute;width:16px;height:16px;border:4px solid var(--line-d5d8d5);border-radius:50%;background:var(--surface-202522);box-shadow:0 0 0 8px #D5D8D515}.dot-a{left:12%;top:20%}.dot-b{right:15%;top:55%}.art-label{position:absolute;right:11%;top:62%;padding:9px 13px;border-radius:13px;background:var(--surface-d5d8d5);color:var(--ink-202522);font-size:12px;font-weight:600}.art-text{position:relative;font-size:28px;line-height:1.18;letter-spacing:-.03em;margin:0;max-width:250px}.art-note{font-size:12px;color:var(--ink-7c827e);margin-top:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin:0 0 9px}h2{font-size:22px;letter-spacing:-.03em;margin:0 0 15px}h3{font-size:17px;margin:0 0 9px}.muted{color:var(--ink-555b57);font-size:13px}.muted.large{font-size:16px}p{margin:8px 0}.hero{background:var(--surface-202522);border-radius:27px;color:var(--ink-ffffff);padding:32px;margin-bottom:24px;position:relative;overflow:hidden}.hero h2{color:var(--ink-e9ebe8);font-size:34px;line-height:1.15;max-width:390px;letter-spacing:-.04em}.hero p{color:var(--ink-d5d8d5)}.hero .btn{margin-top:16px;background:var(--surface-d5d8d5);color:var(--ink-202522)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:22px;padding:25px;margin-bottom:18px}.card.action{min-height:175px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%}.card.action .icon-box{background:var(--surface-e9ebe8);padding:12px;border-radius:15px;margin-bottom:18px}.card.action .title{font-weight:600;font-size:20px;letter-spacing:-.025em}.card.action .muted{margin-top:5px}.card.action .arrow{margin-top:18px;align-self:flex-end}.card.action:hover{border-color:var(--line-555b57)}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.field{display:grid;gap:7px;font-size:13px;font-weight:600}.field input,.field select,.field textarea,input.input,select.input,textarea.input{width:100%;background:var(--surface-f5f5f3);color:var(--ink-202522);padding:14px;border-radius:12px;border:1px solid var(--line-d5d8d5);min-height:49px;font-weight:400}.field textarea{min-height:95px;resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field .link{justify-self:start;font-size:12px}.check{display:flex;align-items:center;gap:9px;font-size:13px}.check input{width:18px;height:18px;accent-color:var(--ink-202522)}.divider{height:1px;background:var(--surface-e9ebe8);margin:20px 0}.seat-row{display:flex;gap:7px;flex-wrap:wrap}.seat-btn{border-radius:11px;width:42px;height:43px;background:var(--surface-e9ebe8);color:var(--ink-202522)}.seat-btn.active{background:var(--surface-202522);color:var(--ink-ffffff)}.fare{font-size:36px;font-weight:600;letter-spacing:-.04em;margin:14px 0}.fare small{font-size:13px;font-weight:400;color:var(--ink-555b57);letter-spacing:0}.path{position:relative;padding-left:26px;margin:18px 0}.path:before{content:'';position:absolute;left:5px;top:8px;bottom:18px;border-left:1px dashed var(--line-7c827e)}.path p{position:relative;margin:0 0 20px}.path p:before{content:'';width:9px;height:9px;background:var(--surface-555b57);border:2px solid var(--line-e9ebe8);border-radius:50%;position:absolute;left:-25px;top:5px}.path small{display:block;color:var(--ink-555b57);font-size:12px;margin-top:4px}.badge{font-size:11px;border-radius:8px;padding:5px 8px;background:var(--surface-e9ebe8);color:var(--ink-555b57);display:inline-block}.badge.warning{background:#fbf2d6;color:#866015}.badge.error{background:var(--surface-f9e3df);color:#9b3725}.badge.success{background:var(--surface-e9ebe8);color:var(--ink-555b57)}.empty{padding:34px 24px;text-align:center;border:1px dashed var(--line-d5d8d5);border-radius:20px;color:var(--ink-555b57)}.empty .icon{width:36px;height:36px;margin-bottom:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--surface-overlay-f0);backdrop-filter:blur(16px);border-top:1px solid var(--line-e9ebe8);padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:12px;z-index:10}.nav-item{background:none;display:grid;justify-items:center;gap:5px;color:var(--ink-7c827e);font-size:10px;min-width:75px;padding:7px 15px;border-radius:13px}.nav-item.active{background:var(--surface-e9ebe8);color:var(--ink-202522)}.nav-item .icon{width:21px;height:21px}.notice{background:var(--surface-e9ebe8);border-radius:13px;padding:14px;font-size:12px;color:var(--ink-555b57)}.notice.error{background:var(--surface-fbeae6);color:#93392a}.error-text{color:#9e3b29;font-size:13px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--line-d5d8d5);border-top-color:var(--line-202522);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#20252275;z-index:30;display:grid;place-items:center;padding:20px}.modal{background:var(--surface-f5f5f3);border-radius:24px;max-width:480px;width:100%;max-height:90vh;overflow:auto;padding:28px;box-shadow:0 24px 100px #20252240}.modal h2{margin-bottom:20px}.close{font-size:25px;background:none;padding:0 4px;color:var(--ink-555b57)}.weekday-picks{display:flex;flex-wrap:wrap;gap:8px}.weekday-picks label{font-size:12px;padding:8px;background:var(--surface-e9ebe8);border-radius:8px}.weekday-picks input{accent-color:var(--ink-202522)}.time-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.time-scroll{height:170px;overflow:auto;scroll-snap-type:y proximity;border-radius:15px;background:var(--surface-ffffff);border:1px solid var(--line-d5d8d5);padding:7px}.time-scroll button{width:100%;background:none;padding:10px;border-radius:10px;scroll-snap-align:center}.time-scroll button.active{background:var(--surface-e9ebe8)}.date-scroll{display:flex;overflow:auto;gap:10px;padding:7px 0;margin:15px 0}.date-scroll button{min-width:75px;background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:13px;padding:12px 7px}.date-scroll button.active{background:var(--surface-202522);color:var(--ink-ffffff)}.date-scroll small{display:block;font-size:10px}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:50;border-radius:13px;padding:12px 20px;background:var(--surface-202522);color:var(--ink-ffffff);box-shadow:0 8px 30px #20252222;max-width:calc(100vw - 32px);font-size:13px;display:none}.map{width:100%;height:210px;border:1px solid var(--line-d5d8d5);border-radius:14px;background:var(--surface-e9ebe8)}.stars{color:var(--ink-555b57);letter-spacing:4px;font-size:22px}.test-note{font-size:11px;color:var(--ink-7c827e);text-align:center;margin:20px 0}.admin-layout{display:grid;grid-template-columns:215px 1fr;min-height:100vh}.sidebar{background:var(--surface-202522);color:var(--ink-d5d8d5);padding:25px 20px;position:fixed;left:0;top:0;bottom:0;width:215px;overflow:auto}.sidebar .wordmark{filter:brightness(0) invert(1);width:145px}.sidebar p{font-size:11px;margin:16px 0 27px;color:var(--ink-7c827e);letter-spacing:.12em}.sidebar nav{display:grid;gap:5px}.sidebar button{display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink-d5d8d5);background:none;padding:11px 13px;border-radius:11px;font-size:13px}.sidebar button.active{background:var(--surface-d5d8d5);color:var(--ink-202522)}.sidebar .icon{width:18px;height:18px}.admin-content{grid-column:2;padding:27px 35px 70px;max-width:1350px;width:100%;margin:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;font-size:12px;color:var(--ink-555b57)}.god{font-weight:600;color:var(--ink-202522);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0}.metric{background:var(--surface-ffffff);padding:20px;border:1px solid var(--line-e9ebe8);border-radius:18px}.metric strong{display:block;font-size:32px;letter-spacing:-.04em;margin:6px 0}.metric small{color:var(--ink-7c827e);font-size:11px}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line-e9ebe8);background:var(--surface-ffffff);margin:15px 0}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:13px 17px;border-bottom:1px solid var(--line-e9ebe8);text-align:left;vertical-align:top;white-space:nowrap}th{color:var(--ink-555b57);font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-f5f5f3)}tbody tr:last-child td{border-bottom:0}.admin .card{border-radius:18px}.admin.mobile-header{display:none}.stat-chart{display:flex;align-items:flex-end;gap:18px;height:150px;padding:15px 8px}.stat-bar{flex:1;min-width:35px;background:var(--surface-d5d8d5);border-radius:8px 8px 0 0;position:relative;text-align:center}.stat-bar span{position:absolute;top:-23px;left:0;right:0;font-size:12px}.stat-bar small{position:absolute;bottom:-22px;left:0;right:0;font-size:10px;white-space:nowrap}.loading{padding:40px;text-align:center;color:var(--ink-7c827e)}.login-card{max-width:440px;margin:60px auto}.split-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.route-stop{background:var(--surface-f5f5f3);border:1px solid var(--line-e9ebe8);padding:17px;border-radius:15px;margin-bottom:13px}.route-stop .fields{margin:10px 0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.hide{display:none}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.welcome{gap:25px}.welcome-art{min-height:380px}.admin-layout{grid-template-columns:175px 1fr}.sidebar{width:175px;padding:20px 12px}.sidebar .wordmark{width:125px}.admin-content{padding:25px 22px}.split-detail{grid-template-columns:1fr}}@media(max-width:620px){.topbar{height:74px;padding:0 21px}.wordmark{width:128px;height:38px}.top-actions{gap:8px}.pill{font-size:9px;padding:4px 7px}.main{padding:0 21px;margin:20px auto 115px}.welcome{display:flex;flex-direction:column;gap:25px;align-items:stretch;padding:0 23px 45px;margin-top:27px}.welcome h1{font-size:46px;max-width:360px}.welcome-actions{max-width:none;margin-top:28px}.welcome-art{min-height:245px;border-radius:26px;order:2}.welcome-art .art-text{font-size:23px;max-width:170px}.welcome-art .route-line{top:12%;height:49%}.art-label{top:56%;font-size:10px}.art-note{font-size:10px;max-width:180px}.lead{font-size:15px}.eyebrow{font-size:10px}.hero{padding:27px;border-radius:23px}.hero h2{font-size:30px}.grid{gap:12px}.card{padding:20px;border-radius:18px}.card.action{padding:20px 17px;min-height:186px;border-radius:18px}.card.action .title{font-size:18px}.card.action .muted{font-size:11px}.card.action .icon-box{padding:9px;margin-bottom:13px}h1{font-size:28px}.page-heading{margin-bottom:20px}.fields{gap:12px}.btn{padding:14px 18px;font-size:14px}.nav-item{min-width:60px;padding:7px 12px}.bottom-nav{gap:3px}.modal{padding:22px}.admin-layout{display:block}.sidebar{position:relative;width:100%;height:auto;padding:17px 20px}.sidebar .wordmark{width:120px}.sidebar p{display:none}.sidebar nav{display:flex;overflow:auto;gap:8px;margin-top:15px;padding-bottom:3px}.sidebar button{white-space:nowrap;font-size:11px;padding:8px 11px;flex-shrink:0}.sidebar button .icon{display:none}.admin-content{padding:21px 18px 55px}.admin-header{margin-bottom:25px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:27px}.admin h1{font-size:26px}td,th{padding:11px 14px}.login-card{margin:35px 20px}.map{height:180px}.time-scroll{height:150px}}

.home-symbol{width:46px;height:46px;background:var(--surface-e9ebe8);display:grid;place-items:center;border-radius:50%}.booking-launch{background:var(--surface-202522);border-radius:24px;padding:22px;color:var(--ink-ffffff);margin-bottom:16px;box-shadow:0 12px 28px #20252212}.destination-launch{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:var(--surface-ffffff);border-radius:14px;padding:18px 14px;color:var(--ink-555b57);font-size:14px}.destination-launch span{flex:1}.launch-meta{display:flex;justify-content:space-between;padding:18px 1px;font-size:12px;color:var(--ink-d5d8d5)}.launch-meta span{display:flex;align-items:center;gap:7px}.launch-meta .icon{width:16px;height:16px}.booking-launch .btn{background:var(--surface-d5d8d5);color:var(--ink-202522)}.instant-launch{width:100%;display:flex;align-items:center;gap:15px;background:var(--surface-ffffff);color:var(--ink-202522);border:1px solid var(--line-e9ebe8);border-radius:20px;padding:20px;margin-bottom:24px;text-align:left}.instant-launch>span:nth-child(2){flex:1}.instant-launch strong{display:block;font-size:18px}.instant-launch small{display:block;color:var(--ink-555b57);margin-top:4px}.icon-box{display:inline-flex;padding:11px;border-radius:14px;background:var(--surface-e9ebe8)}.home-info{border-radius:20px;background:var(--surface-e9ebe8);padding:24px;margin:18px 0}.home-info h2{margin:8px 0;font-size:20px}.home-info p{font-size:13px;color:var(--ink-555b57);margin-bottom:18px}.readiness h2{font-size:18px;margin:0}.readiness-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-e9ebe8);font-size:13px}.readiness-row>span{display:flex;gap:9px;align-items:center}.readiness-row strong{font-size:12px}.readiness .row.wrap{margin-top:16px}.driver-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 28px}.driver-stats span{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:16px;padding:14px;text-align:center;font-size:11px;color:var(--ink-555b57)}.driver-stats strong{display:block;font-size:24px;color:var(--ink-202522)}.top-actions .link{white-space:nowrap}.account .btn+.btn{margin-top:10px}@media(max-width:620px){.topbar{height:65px;padding:0 18px}.wordmark{width:112px}.top-actions .link{font-size:12px}.main{padding:0 18px;margin-top:16px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:30px}.page-heading .eyebrow{margin-bottom:8px}.hero{padding:22px;margin-bottom:16px}.hero h2{font-size:27px}.card{padding:18px}.empty{padding:22px 18px;font-size:12px}.bottom-nav{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.nav-item{padding:6px 12px}.welcome h1{font-size:40px}.welcome-art{min-height:190px}.welcome-art .art-text{font-size:20px}.welcome-art .art-label{top:35%;right:8%}.welcome-art .route-line{height:25%;top:8%;width:55%}.welcome-art .dot-b{top:30%;right:26%}.welcome .eyebrow{display:none}.welcome{margin-top:16px;gap:20px}.welcome-actions{margin-top:22px}.welcome-art:before,.welcome-art:after{opacity:.45}.test-note{display:none}.modal .field input{font-size:16px}.booking-launch{padding:18px}.home-info{padding:20px}}

.address-results{display:grid;gap:0;font-weight:400;background:var(--surface-ffffff);border-radius:12px;overflow:hidden}.address-results:empty{display:none}.address-results small{padding:12px;color:var(--ink-555b57)}.address-option{padding:14px;text-align:left;background:var(--surface-ffffff);color:var(--ink-202522);border-bottom:1px solid var(--line-e9ebe8);font-size:13px;line-height:1.5}.address-option:hover,.address-option:focus{background:var(--surface-e9ebe8)}.google-attribution{width:120px;height:auto;margin:8px 12px}.mode-choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line-e9ebe8);border-radius:15px}.mode-choice:has(input:checked){border-color:var(--line-202522);background:var(--surface-e9ebe8)}.mode-choice input{accent-color:var(--ink-202522);width:18px;height:18px}.mode-choice small{display:block;color:var(--ink-555b57);font-size:12px;margin-top:4px}details summary{cursor:pointer;font-size:17px;font-weight:600;list-style:none;padding:4px 0}details summary:after{content:'+';float:right;color:var(--ink-555b57)}details[open] summary:after{content:'−'}details summary small{font-size:11px;font-weight:400;color:var(--ink-555b57);margin-left:10px}details[open] summary{margin-bottom:18px}.notification-settings{background:var(--surface-e9ebe8);border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px;justify-content:space-between;margin:14px 0}.notification-settings p{font-size:11px;color:var(--ink-555b57)}.notification-settings strong{font-size:13px}.nav-item{position:relative}.unread-dot{position:absolute;right:7px;top:3px;background:var(--surface-202522);color:var(--ink-ffffff);font-size:9px;padding:1px 5px;border-radius:20px}

.datetime-dialog{background:var(--surface-ffffff);color:var(--ink-202522);border-radius:20px;width:min(100%,420px);max-height:90dvh;overflow:auto;padding:24px;box-shadow:0 24px 100px #20252240}.datetime-heading{border-bottom:1px solid var(--line-e9ebe8);text-align:center}.datetime-heading h2{display:inline-block;font-size:18px;font-weight:600;padding:6px 18px 18px;margin:0;border-bottom:3px solid var(--line-202522)}.wheel-pair{padding:26px 0 24px}.wheel-labels{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:center;font-size:11px;color:var(--ink-555b57);max-width:240px;margin:0 auto 14px}.wheel-columns{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:240px;margin:auto}.time-wheel{height:168px;overflow-y:auto;padding:56px 0;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;text-align:center;mask-image:linear-gradient(transparent,black 20%,black 80%,transparent)}.time-wheel::-webkit-scrollbar{display:none}.wheel-option{height:56px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:22px;color:var(--ink-7c827e);cursor:pointer;user-select:none}.wheel-option.selected{color:var(--ink-202522);font-weight:600}.wheel-selection{position:absolute;inset:56px 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;pointer-events:none}.wheel-selection span{height:56px;border-top:2px solid var(--line-7c827e);border-bottom:2px solid var(--line-7c827e)}.datetime-day{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-e9ebe8);border-bottom:1px solid var(--line-e9ebe8);padding:13px 0;gap:8px}.datetime-day button,.calendar-month button{background:none;color:var(--ink-202522);font-size:28px;min-width:38px;min-height:42px}.datetime-day .date-open{font-size:15px;flex:1;font-weight:500}.datetime-day button:disabled,.calendar-month button:disabled{opacity:.25;cursor:default}.reset-time{display:block;margin:20px auto 8px;padding:10px;background:none;color:var(--ink-555b57);font-weight:600;font-size:14px}.datetime-actions{display:flex;gap:12px;padding-top:16px}.datetime-actions .btn{flex:1;min-height:44px}.datetime-error{font-size:12px;color:#963b29;text-align:center;min-height:18px}.calendar-dialog{padding:0;overflow:hidden}.calendar-selected{background:var(--surface-202522);color:var(--ink-ffffff);padding:24px}.calendar-selected span{color:var(--ink-d5d8d5);font-size:15px}.calendar-selected h2{font-size:28px;margin:7px 0 0}.calendar-body{padding:16px 20px 22px}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;align-items:center;text-align:center}.calendar-weekday{color:var(--ink-555b57);font-size:12px;padding:10px 0}.calendar-grid button{background:none;color:var(--ink-202522);border-radius:50%;aspect-ratio:1;min-height:35px;padding:0;font-size:14px}.calendar-grid button.today{color:var(--ink-555b57);font-weight:700}.calendar-grid button.selected{background:var(--surface-202522);color:var(--ink-ffffff)}.calendar-grid button:disabled{opacity:.25;cursor:default}.calendar-grid button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--tone-7c827e)}@media(max-width:620px){.datetime-backdrop{padding:22px}.datetime-dialog{border-radius:15px;padding:22px}.calendar-dialog{padding:0}.wheel-pair{padding:26px 0}.datetime-actions .btn{border-radius:8px}.calendar-body{padding:14px 18px 20px}}@media(max-height:650px){.datetime-dialog{max-height:94dvh}.wheel-pair{padding:12px 0}.reset-time{margin:8px auto}.datetime-heading h2{padding-bottom:12px}.datetime-day{padding:5px 0}}

.booking-heading{align-items:flex-start;gap:12px}.booking-heading h1{font-size:32px;letter-spacing:-.045em}.booking-heading p{font-size:13px;margin:8px 0 0}.booking-heading .link{font-size:13px;margin-top:26px}.booking-form{border-radius:24px;box-shadow:0 10px 30px #20252206;gap:22px}.booking-route{display:grid;gap:16px}.booking-route .field>span{display:flex;align-items:center;gap:8px;font-size:13px}.booking-route .field>span .icon{width:17px;height:17px}.booking-form input{border-radius:12px;min-height:50px;font-size:15px;background:var(--surface-f5f5f3)}.location-shortcut{display:flex;align-items:center;justify-self:start;gap:7px;padding:2px 0;background:none;color:var(--ink-555b57);font-size:12px;font-weight:600}.location-shortcut .icon{width:17px;height:17px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0 0;border-top:1px solid var(--line-e9ebe8)}.booking-options .field>span{font-size:12px;color:var(--ink-555b57)}.arrival-control{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;background:var(--surface-e9ebe8);border-radius:14px;color:var(--ink-202522);min-height:78px;width:100%}.arrival-control>span:nth-child(2){flex:1}.arrival-control strong{font-size:13px;display:block}.arrival-control small{display:block;font-size:17px;margin-top:3px}.passenger-stepper{display:flex;align-items:center;justify-content:space-between;gap:5px;border:1px solid var(--line-e9ebe8);border-radius:14px;padding:10px 7px;min-height:78px}.passenger-stepper button{width:36px;height:40px;border-radius:10px;background:var(--surface-e9ebe8);color:var(--ink-202522);font-size:24px}.passenger-stepper button:disabled{opacity:.3;cursor:default}.passenger-stepper>div{text-align:center;min-width:55px}.passenger-stepper strong{font-size:22px;display:block;line-height:1.2}.passenger-stepper small{font-size:10px;color:var(--ink-555b57)}.booking-options small.muted{font-size:10px}.promo-disclosure{border-top:1px solid var(--line-e9ebe8);padding-top:14px}.promo-disclosure summary{font-size:12px}.promo-disclosure summary span{color:var(--ink-7c827e);font-size:10px;margin-left:5px}.promo-disclosure[open] summary{margin-bottom:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-input-control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface-f5f5f3);border:1px solid var(--line-e9ebe8);border-radius:12px;min-height:52px;padding:13px 16px;color:var(--ink-202522);text-align:left;font-weight:500}.date-input-control:after{content:'▦';color:var(--ink-555b57);font-size:20px}.datetime-backdrop{z-index:1000}@media(max-width:360px){.booking-options{grid-template-columns:1fr}.booking-heading h1{font-size:27px}.booking-form{padding:16px}}
.calendar-year{display:block;background:var(--surface-202522);border:0;color:var(--ink-d5d8d5);font-size:15px;padding:0;min-height:30px;max-width:100px}.calendar-year option{background:var(--surface-ffffff);color:var(--ink-202522)}
/* Keep both booking controls aligned despite different internal content. */
.booking-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}.booking-options>.field{display:flex;flex-direction:column;gap:8px;min-width:0}.booking-options>.field>span{display:flex;align-items:center;justify-content:space-between;min-height:20px;line-height:20px}.booking-options .arrival-control,.booking-options .passenger-stepper{height:88px;min-height:88px;border:1px solid var(--line-e9ebe8);border-radius:14px;background:var(--surface-f5f5f3);box-sizing:border-box}.arrival-control{padding:12px;gap:8px}.arrival-control strong{font-size:12px;white-space:nowrap}.arrival-control small{font-size:20px;line-height:1.3;margin-top:4px}.arrival-control>.icon{width:20px;height:20px}.passenger-stepper{padding:12px 8px;gap:3px}.passenger-stepper button{width:32px;min-width:32px;height:40px;flex-shrink:0;background:var(--surface-e9ebe8)}.passenger-stepper>div{min-width:0;flex:1}.passenger-stepper strong{font-size:24px}.passenger-stepper small{font-size:9px}.passenger-range{font-size:10px;font-weight:400;color:var(--ink-7c827e);white-space:nowrap}@media(max-width:360px){.booking-options{grid-template-columns:1fr}.booking-options .arrival-control,.booking-options .passenger-stepper{height:78px;min-height:78px}}
.return-option{background:var(--surface-f5f5f3);border:1px solid var(--line-e9ebe8);border-radius:16px;padding:16px;margin:16px 0}.return-option h3{font-size:16px;margin:0}.return-option .muted{font-size:12px}.return-label{display:block;font-size:12px;color:var(--ink-555b57);margin:12px 0 6px}.return-fare,.return-total{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;font-size:12px}.return-total{border-top:1px solid var(--line-e9ebe8);padding-top:14px;font-size:14px}.linked-trips{display:grid;gap:12px;margin:18px 0}.linked-trips>div{background:var(--surface-f5f5f3);border-radius:12px;padding:15px}.linked-trips p{font-size:13px;margin:6px 0}.linked-trips small{display:block;color:var(--ink-555b57)}.linked-trips button{margin-top:10px}

.sandbox-controls{margin:20px 0;padding:18px;border:1px dashed var(--line-7c827e);border-radius:18px;background:var(--surface-e9ebe8)}.sandbox-controls summary{font-weight:600;cursor:pointer}.sandbox-controls .row{gap:10px}.sandbox-controls .btn{min-height:44px}
.test-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.test-progress{list-style:none;padding:0;display:grid;gap:12px;margin:22px 0}.test-progress li{display:flex;align-items:center;gap:12px;color:var(--ink-555b57)}.test-progress li span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--line-e9ebe8);border-radius:50%}.test-progress li.done{color:var(--ink-202522);font-weight:600}.test-progress li.done span{background:var(--surface-e9ebe8);border-color:var(--line-d5d8d5)}.test-trip{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line-e9ebe8);padding:15px 0;color:inherit}.test-trip small{display:block;color:var(--ink-555b57);margin-top:5px}.weekday-choices{display:flex;flex-wrap:wrap;gap:10px}.weekday-choices label{display:flex;align-items:center;gap:4px;background:var(--surface-f5f5f3);border-radius:10px;padding:8px}.card details p{line-height:1.6}.test-scenarios .btn{min-height:58px;padding:10px}@media(max-width:400px){.test-scenarios{grid-template-columns:1fr}}
/* Compact Updates feed and guided sandbox flow. */
.updates-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 22px}.updates-heading h1{font-size:32px;letter-spacing:-.04em;margin:0;line-height:1.2}.updates-heading p{font-size:13px;color:var(--ink-555b57);margin:7px 0 0}.updates-heading>.link{font-size:12px;white-space:nowrap;min-height:44px}.alert-preferences{background:var(--surface-e9ebe8);border:1px solid var(--line-e9ebe8);border-radius:16px;margin:0 0 24px;padding:0 16px}.alert-preferences>summary{display:flex;align-items:center;gap:12px;padding:15px 0;font-size:13px;margin:0}.alert-preferences>summary:after{display:none}.alert-preferences>summary>span:nth-child(2){flex:1;min-width:0}.alert-preferences summary strong{font-size:13px}.alert-preferences summary small{display:block;margin:3px 0 0;font-size:11px;color:var(--ink-555b57);font-weight:400}.alert-summary-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--surface-e9ebe8);border-radius:11px;flex-shrink:0}.alert-state{font-size:11px;border:1px solid var(--line-d5d8d5);border-radius:20px;padding:4px 10px;background:var(--surface-f5f5f3)}.alert-options{border-top:1px solid var(--line-d5d8d5);padding:4px 0}.alert-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}.alert-option+.alert-option{border-top:1px solid var(--line-d5d8d5)}.alert-option strong{font-size:12px}.alert-option p{font-size:11px;color:var(--ink-555b57);margin:4px 0 0}.alert-option .btn{white-space:nowrap;flex-shrink:0;min-height:44px;font-size:12px}.setting-unavailable{font-size:11px;color:var(--ink-7c827e)}.updates-feed{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:20px;overflow:hidden}.update-item{position:relative;display:flex;align-items:flex-start;gap:13px;padding:20px 18px}.update-item+.update-item{border-top:1px solid var(--line-e9ebe8)}.update-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-e9ebe8);color:var(--ink-555b57);flex-shrink:0}.update-symbol .icon{width:19px;height:19px}.update-content{flex:1;min-width:0;padding-right:3px}.update-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.update-meta h2{font-size:13px;line-height:1.4;margin:0;font-weight:600}.update-meta time{font-size:10px;color:var(--ink-7c827e);white-space:nowrap}.update-content p{font-size:13px;color:var(--ink-555b57);line-height:1.55;margin:7px 0 0;overflow-wrap:anywhere}.update-read{font-size:11px;min-height:32px;background:none;color:var(--ink-555b57);padding:5px 0 0;font-weight:600;text-align:left}.update-unread{position:absolute;left:11px;top:15px;width:6px;height:6px;background:var(--surface-555b57);border-radius:50%}.update-item.is-read .update-symbol{background:var(--surface-f5f5f3);color:var(--ink-7c827e)}.updates-empty{padding:45px 24px;text-align:center;background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:20px}.updates-empty>.update-symbol{margin:0 auto 14px}.updates-empty h2{font-size:18px}.updates-empty p{font-size:13px;color:var(--ink-555b57);margin-bottom:22px}.test-heading{align-items:center}.test-heading h1{font-size:29px;letter-spacing:-.04em;line-height:1.15;margin:0}.test-heading .eyebrow{margin-bottom:8px}.test-start,.test-current{border:1px solid var(--line-e9ebe8);background:var(--surface-ffffff);border-radius:22px;padding:22px;margin-bottom:18px}.test-start h2{font-size:20px;margin:0 0 8px}.test-start>p{font-size:13px;color:var(--ink-555b57);margin:0 0 22px}.test-start>.btn{margin-bottom:10px}.test-current-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-555b57);gap:12px}.test-current-meta>span:first-child{color:var(--ink-555b57);font-weight:600}.test-meter{height:5px;background:var(--surface-e9ebe8);border-radius:10px;margin:13px 0 26px;overflow:hidden}.test-meter span{height:100%;background:var(--surface-555b57);display:block;transition:width .3s}.test-next-label{font-size:10px;letter-spacing:.13em;color:var(--ink-7c827e)}.test-next h2{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin:9px 0 10px}.test-next>p{font-size:13px;color:var(--ink-555b57);margin:0 0 24px}.test-next .btn{min-height:54px;border-radius:13px}.test-history,.test-current>.test-more{border-top:1px solid var(--line-e9ebe8);margin-top:23px;padding-top:16px}.test-help,.test-recent{border:1px solid var(--line-e9ebe8);background:var(--surface-e9ebe8);border-radius:16px;margin:12px 0;padding:15px 18px}.test-help summary,.test-history summary,.test-more summary,.test-recent summary{font-size:12px;font-weight:600}.test-help p,.test-more p,.test-recent p{font-size:12px;color:var(--ink-555b57);line-height:1.6}.test-card-number{font-size:17px;letter-spacing:.04em;font-weight:600;margin:15px 0 5px}.test-help details{border-top:1px solid var(--line-e9ebe8);padding-top:12px;margin-top:16px}.test-history small{font-size:10px;color:var(--ink-7c827e)}.test-progress{font-size:12px;gap:11px}.test-progress li span{width:23px;height:23px}.test-recent .test-trip{font-size:12px;gap:8px}.test-trip>span:last-child{font-size:10px;white-space:nowrap;color:var(--ink-555b57)}.test-trip small{font-size:10px}.test-more .test-scenarios{margin-top:18px}.test-disclaimer{text-align:center;font-size:10px;color:var(--ink-7c827e);margin:20px 0}.test-working{min-height:54px;display:grid;place-items:center;background:var(--surface-e9ebe8);border-radius:13px}
@media(max-width:380px){.update-meta{display:block}.update-meta time{display:block;margin-top:4px}.update-item{padding:18px 14px;gap:10px}.test-heading h1{font-size:25px}.test-start,.test-current{padding:18px}.alert-option{gap:8px}.updates-heading{gap:8px}}

.payment-cards h2{margin:0}.saved-card{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line-e9ebe8)}.saved-card>div{flex:1;min-width:0}.saved-card small{display:block;color:var(--ink-7c827e);margin-top:6px}.payment-card-icon{display:grid;place-items:center;width:42px;height:32px;border:1px solid var(--line-e9ebe8);border-radius:7px;flex-shrink:0}.payment-card-icon svg{width:23px}.payment-empty{padding:24px 0 12px}.payment-note{font-size:13px;color:var(--ink-7c827e);line-height:1.5;margin:18px 0 0}.wallet-row{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-e9ebe8)}.wallet-row span{font-size:13px;color:var(--ink-7c827e);text-align:right;max-width:55%}

/* Account: profile, useful shortcuts, quiet settings. */
.account-hub{padding:3px 0 8px}.account-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--ink-7c827e);margin:0 0 16px}.account-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;background:none;color:var(--ink-202522);padding:0}.account-person{min-width:0}.account-person h1{font-size:clamp(28px,6vw,37px);line-height:1.12;letter-spacing:-.045em;max-width:390px;margin:0 0 12px}.account-profile-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--ink-555b57)}.account-chevron{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.account-avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--surface-e9ebe8);border:5px solid var(--line-e9ebe8);color:var(--ink-555b57);font-size:23px;font-weight:600;letter-spacing:-.04em;flex-shrink:0}.account-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 26px}.account-status>span{display:inline-flex;align-items:center;gap:5px;background:var(--surface-e9ebe8);border-radius:7px;padding:4px 9px;font-size:10px;color:var(--ink-555b57);font-weight:600}.account-status .icon{width:12px;height:12px}.account-status .account-verified{background:var(--surface-e9ebe8);color:var(--ink-555b57)}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:20px}.account-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:106px;padding:17px 19px;background:var(--surface-e9ebe8);border-radius:17px;color:var(--ink-202522);text-align:left;transition:background .15s,transform .15s}.account-tile>.icon{width:25px;height:25px;margin-bottom:12px}.account-tile strong{font-size:16px;letter-spacing:-.02em;font-weight:600;line-height:1.25}.account-tile small{font-size:10px;color:var(--ink-555b57);margin-top:4px}.account-tile>.account-chevron{position:absolute;right:17px;top:21px;opacity:.4;width:13px;height:13px}.account-tile-wallet{background:var(--surface-202522);color:var(--ink-f5f5f3)}.account-tile-wallet small{color:var(--ink-d5d8d5)}.account-tile-wallet>.icon{color:var(--ink-d5d8d5)}.account-tile:hover{background:var(--surface-e9ebe8)}.account-tile-wallet:hover{background:var(--surface-202522)}.account-tile:active{transform:scale(.98)}.account-feature{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:22px 20px;margin:0 0 22px;background:var(--surface-e9ebe8);color:var(--ink-202522);border-radius:18px;overflow:hidden}.account-feature>span:first-child{flex:1;min-width:0}.account-feature small{display:block;font-size:9px;letter-spacing:.12em;color:var(--ink-555b57);margin-bottom:7px;font-weight:600}.account-feature strong{display:block;font-size:18px;line-height:1.2;letter-spacing:-.025em;margin-bottom:7px}.account-feature>span:first-child>span{display:block;font-size:11px;color:var(--ink-555b57)}.account-feature-art{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--surface-d5d8d5);transform:rotate(-8deg);flex-shrink:0;color:var(--ink-555b57)}.account-feature-art>.icon{width:29px;height:29px;transform:rotate(8deg);stroke-width:1.4}.account-feature>.account-chevron{color:var(--ink-555b57)}.account-settings{border-radius:17px;background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);overflow:hidden;margin-bottom:17px}.account-row{width:100%;display:flex;align-items:center;gap:14px;text-align:left;color:var(--ink-202522);background:none;min-height:66px;padding:17px 19px}.account-row+.account-row{border-top:1px solid var(--line-e9ebe8)}.account-row:hover{background:var(--surface-f5f5f3)}.account-row-icon{display:flex;align-items:center;justify-content:center;color:var(--ink-555b57);flex-shrink:0;width:24px}.account-row-icon>.icon{width:21px;height:21px;stroke-width:1.6}.account-row-copy{flex:1;min-width:0}.account-row-copy strong{display:block;font-size:13px;font-weight:500;letter-spacing:-.01em}.account-row-copy small{display:block;font-size:11px;color:var(--ink-7c827e);font-weight:400;margin-top:3px;line-height:1.5}.account-row-tail{font-size:11px;color:var(--ink-7c827e)}.account-row>.account-chevron{width:13px;height:13px;color:var(--ink-7c827e)}.account-signout{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;background:none;color:var(--ink-555b57);font-size:12px;min-height:44px}.account-signout .icon{width:18px;height:18px}.account-footer{display:none}.account-subheading{margin-bottom:25px}.account-subheading>.btn{margin-bottom:22px;padding:6px 11px;border:0;background:var(--surface-e9ebe8);min-height:34px;font-size:11px}.account-subheading h1{font-size:29px}.account-section-title{font-size:16px;margin:27px 0 12px}.account-info-list{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:17px;margin-bottom:18px;overflow:hidden}.account-info-list>div{padding:21px}.account-info-list>div+div{border-top:1px solid var(--line-e9ebe8)}.account-info-list small{display:block;color:var(--ink-7c827e);font-size:11px;margin-bottom:7px}.account-info-list strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.account-faq{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:17px;overflow:hidden}.account-faq details{padding:18px 20px}.account-faq details+details{border-top:1px solid var(--line-e9ebe8)}.account-faq summary{font-size:13px;font-weight:500;cursor:pointer}.account-faq p{font-size:12px;color:var(--ink-555b57);line-height:1.7;margin:13px 0 2px}.account-safety-guide{background:var(--surface-ffffff);border:1px solid var(--line-e9ebe8);border-radius:18px;padding:3px 21px;margin-bottom:18px}.account-safety-guide>div{display:flex;gap:16px;padding:23px 0}.account-safety-guide>div+div{border-top:1px solid var(--line-e9ebe8)}.account-safety-guide .icon{color:var(--ink-555b57);width:24px;height:24px;margin-top:2px}.account-safety-guide h2{font-size:15px;margin:0 0 8px;letter-spacing:-.02em}.account-safety-guide p{font-size:12px;line-height:1.65;color:var(--ink-7c827e);margin:0}.account-emergency{display:block;padding:19px 21px;border-radius:16px;background:var(--surface-f4e9e5);color:#744038;text-decoration:none}.account-emergency strong{display:block;font-size:13px;font-weight:600}.account-emergency span{display:block;color:#937068;font-size:11px;margin-top:7px}.account-small-note{font-size:11px;color:var(--ink-7c827e);line-height:1.6;margin:19px 12px}.account-identity:focus-visible,.account-tile:focus-visible,.account-row:focus-visible,.account-feature:focus-visible{outline-offset:4px}
@media(max-width:480px){.account-hub{padding-top:0}.account-eyebrow{margin-bottom:14px}.account-person h1{font-size:31px}.account-avatar{width:65px;height:65px;font-size:21px}.account-status{margin:15px 0 23px}.account-grid{gap:10px}.account-tile{min-height:102px;padding:16px 17px}.account-feature{padding:20px 18px}.account-row{padding:17px;min-height:63px}.account-feature strong{font-size:17px}.account-feature-art{width:48px;height:48px}}
@media(max-width:350px){.account-person h1{font-size:27px}.account-avatar{width:56px;height:56px;border-width:4px}.account-identity{gap:12px}.account-tile{padding:15px 14px}.account-tile small{font-size:9px}.account-feature-art{width:40px;height:40px}.account-feature{gap:9px}.account-feature strong{font-size:16px}}

button.account-profile-link{background:none;padding:0;color:var(--ink-555b57);min-height:28px}button.account-avatar{padding:0}
.ride-workspace{padding-top:8px}.ride-heading{display:flex;gap:16px;align-items:center;margin:30px 0 22px}.ride-heading h1{font-size:clamp(28px,7vw,40px);margin:6px 0}.ride-heading .eyebrow{margin:0}.ride-timeline{display:flex;list-style:none;padding:0;margin:24px 0 28px;gap:5px}.ride-timeline li{flex:1;text-align:center;color:var(--ink-7c827e);position:relative}.ride-timeline li:before{content:'';position:absolute;top:16px;height:2px;background:var(--surface-e9ebe8);left:0;right:0;z-index:0}.ride-timeline li span{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-e9ebe8);margin:0 auto 8px;font-weight:700}.ride-timeline li.current span,.ride-timeline li.done span{background:var(--surface-202522);color:var(--ink-ffffff)}.ride-timeline li.current small{color:var(--ink-202522);font-weight:700}.ride-timeline small{font-size:11px}.ride-status{background:var(--surface-e9ebe8);border:0}.ride-status h2{font-size:22px}.pickup-card .path{margin:18px 0 24px}.pickup-card h3{font-size:19px}.ride-done{color:var(--ink-202522);font-weight:600}.active-rides{margin:26px 0}.active-ride-card{border-left:4px solid var(--line-555b57)}.passenger-progress{margin:22px 0;border-top:1px solid var(--line-e9ebe8);padding-top:20px}.passenger-progress h3{font-size:20px}
.passenger-active{margin:24px 0}.passenger-journey{padding:22px 0 10px}.passenger-journey h2{font-size:25px;line-height:1.2;margin:10px 0}.passenger-journey.compact h2{font-size:21px}.passenger-journey .ride-timeline{margin:22px 0 12px}.passenger-active .card{border-left:4px solid var(--line-555b57)}.passenger-journey .eyebrow{font-size:10px;letter-spacing:1.4px}.passenger-active .row small{font-size:12px}
.live-map-panel{overflow:hidden;border:1px solid var(--line-e9ebe8);border-radius:22px;margin:20px 0;background:var(--surface-ffffff)}.live-ride-map{height:330px;z-index:0;background:var(--surface-e9ebe8)}.map-meta{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 18px;font-size:13px}.map-meta span{font-weight:700}.map-meta small{color:var(--ink-555b57)}.map-meta strong{width:100%;font-size:13px}.next-map-stop{padding:0 18px 18px;display:grid;gap:8px}.next-map-stop small{color:var(--ink-555b57)}.next-map-stop strong{font-size:18px}.leaflet-container{font-family:"DM Sans",Arial,sans-serif}.ride-timeline small{font-size:10px}@media(min-width:650px){.live-ride-map{height:400px}}

.booking-options{margin-top:16px;border-top:1px solid var(--line,var(--line-e9ebe8));padding-top:12px}.booking-options summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600;color:var(--muted,var(--ink-555b57))}.booking-options summary:focus-visible{outline:2px solid var(--line-202522);outline-offset:4px}.booking-options[open] .muted{font-size:14px;margin:8px 0 12px}

.trip-rating{gap:18px}.rating-stars{display:flex;justify-content:center;gap:8px;margin:14px 0 0}.rating-star{border:0;background:transparent;color:var(--ink-d5d8d5);width:52px;height:56px;padding:5px;cursor:pointer}.rating-star svg{width:100%;height:100%;fill:currentColor;stroke:var(--ink-7c827e);stroke-width:1}.rating-star.selected{color:var(--ink-202522)}.rating-star.selected svg{stroke:var(--ink-202522)}.rating-star:focus-visible,.rating-reason:focus-visible{outline:3px solid var(--line-555b57);outline-offset:3px}.rating-label{text-align:center;font-weight:600;margin:0}.rating-feedback{border:0;padding:0;margin:6px 0}.rating-feedback legend{font-weight:700;font-size:18px}.rating-feedback .muted{font-size:13px;margin:8px 0 14px}.rating-reasons{display:flex;flex-wrap:wrap;gap:9px}.rating-reason{border:1px solid var(--line-d5d8d5);border-radius:24px;padding:12px 15px;background:var(--surface-ffffff);color:var(--ink-202522);font:inherit;font-size:14px;cursor:pointer;min-height:44px}.rating-reason.selected{background:var(--surface-e9ebe8);border-color:var(--line-202522);box-shadow:inset 0 0 0 1px var(--tone-202522)}.rating-note{font-size:14px}.rating-note textarea{min-height:86px}.trip-rating .btn:disabled{opacity:.45;cursor:default}@media(max-width:360px){.rating-star{width:44px}.rating-stars{gap:4px}}

.home-trips{margin:26px 0}.home-trips h2{font-size:19px;margin:0}.home-trips>.row{margin-bottom:12px}.home-trip-list{border:1px solid var(--line-e9ebe8);border-radius:20px;background:var(--surface-ffffff);overflow:hidden}.home-trip{display:flex;align-items:center;gap:12px;padding:17px;width:100%;background:var(--surface-ffffff);color:var(--ink-202522);text-align:left;min-height:92px}.home-trip+.home-trip{border-top:1px solid var(--line-e9ebe8)}.home-trip:hover{background:var(--surface-f5f5f3)}.home-trip-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-e9ebe8);font-size:22px;flex-shrink:0}.home-trip-copy{display:grid;gap:3px;min-width:0;flex:1}.home-trip-copy strong{font-size:15px;line-height:1.3}.home-trip-copy small{font-size:12px;color:var(--ink-555b57)}.home-trip-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink-555b57)}.home-trip-arrow{font-size:28px;color:var(--ink-555b57)}.home-trips .btn.small{background:transparent;border:0;padding-right:0}.home-trips .btn.small:focus-visible{outline-offset:0}@media(max-width:620px){.home-trip{padding:14px;gap:10px}.home-trip-copy strong{font-size:14px}.home-trips{margin-top:22px}}

[data-commuting-destination][hidden]{display:none}
.coverage-intro{margin:24px 0}.coverage-intro h2{font-size:28px;letter-spacing:-1px;margin:6px 0}.local-coverage{border:1px solid var(--line-d5d8d5);background:linear-gradient(145deg,var(--surface-f5f5f3),var(--surface-ffffff) 60%)}.coverage-symbol{width:44px;height:44px;display:grid;place-items:center;font-size:30px;background:var(--surface-e9ebe8);border-radius:15px}.coverage-location{font-size:20px;font-weight:600;margin:0}.coverage-summary{display:flex;flex-direction:column;gap:4px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-e9ebe8)}.coverage-summary span{font-size:13px;color:var(--ink-555b57)}.coverage-extra{margin-top:30px}.coverage-empty{padding:18px;border:1px dashed var(--line-d5d8d5);border-radius:16px;color:var(--ink-555b57)}.coverage-route-choice,.coverage-return{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line-e9ebe8)}.coverage-return{margin-top:18px;font-size:13px}.coverage-form{margin-top:22px;border-top:1px solid var(--line-e9ebe8);padding-top:20px}.mode-choices{padding:0;border:0;margin:0;display:grid;gap:10px}.mode-choices legend{font-weight:600;margin-bottom:12px}.mode-choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line-e9ebe8);border-radius:14px;background:var(--surface-ffffff);cursor:pointer}.mode-choice:has(input:checked){border:2px solid var(--line-202522);background:var(--surface-e9ebe8);padding:15px}.mode-choice input{width:20px;height:20px;accent-color:var(--ink-202522)}.mode-choice span{display:flex;flex-direction:column;gap:4px}.mode-choice small{font-size:12px;color:var(--ink-555b57)}.coverage-hours{border:1px solid var(--line-e9ebe8);border-radius:14px;padding:16px}.coverage-hours summary{font-weight:600;cursor:pointer}.coverage-hours summary small{display:block;font-weight:400;color:var(--ink-555b57);margin-top:4px}.coverage-hours[open] .stack{margin-top:16px}.coverage-form [hidden]{display:none!important}.coverage-form .check{min-height:44px}.coverage-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink-202522)}.weekday-picks{display:flex;flex-wrap:wrap;gap:10px}.coverage-form .weekday-picks label{min-width:56px;padding:8px 3px}.coverage-extra h2{margin-bottom:0}

/* One driver availability card, with all controls in one place. */
.driver-status-card{background:var(--surface-202522);color:var(--ink-ffffff);border-radius:28px;padding:26px;margin-bottom:24px;overflow:hidden}
.driver-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.driver-status-heading h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0;color:var(--ink-d5d8d5);display:flex;align-items:center;gap:10px}
.status-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--surface-7c827e)}.status-dot.is-online{background:var(--surface-d5d8d5);box-shadow:0 0 0 4px #D5D8D51a}
.driver-area-label{font-size:12px;line-height:1.4;padding:6px 10px;border:1px solid #ffffff26;border-radius:20px;color:var(--ink-d5d8d5)}
.driver-status-note{color:var(--ink-d5d8d5);font-size:14px;line-height:1.5;margin:12px 0 20px}
.driver-availability{background:#ffffff0b;border:1px solid #ffffff20;border-radius:18px;padding:0 16px;margin:18px 0}
.driver-availability-row{display:flex;align-items:center;gap:12px;min-height:82px;padding:16px 0}.driver-availability-row+.driver-availability-row{border-top:1px solid #ffffff20}
.driver-service-icon{display:flex;color:var(--ink-d5d8d5);flex:none}.driver-service-icon svg{width:23px;height:23px}
.driver-service-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.driver-service-copy strong{font-size:15px;line-height:1.3}.driver-service-copy>span{font-size:12px;line-height:1.4;color:var(--ink-d5d8d5)}
.driver-service-status{color:var(--ink-d5d8d5);font-size:12px;flex:none}.driver-availability>.btn{margin-bottom:16px}
.ride-now-switch{width:52px;height:44px;padding:8px 0;background:transparent;border:0;cursor:pointer;position:relative;flex:none}.ride-now-switch:before{content:'';position:absolute;inset:8px 0;border-radius:20px;background:var(--surface-555b57)}.ride-now-switch>span{display:block;position:relative;width:20px;height:20px;border-radius:50%;background:var(--surface-ffffff);margin-left:4px;transition:transform .15s}.ride-now-switch[aria-checked=true]:before{background:var(--surface-d5d8d5)}.ride-now-switch[aria-checked=true]>span{transform:translateX(24px);background:var(--surface-202522)}
.driver-status-card .driver-online-button{background:var(--surface-d5d8d5);color:var(--ink-202522);min-height:50px}.driver-commitment{text-align:center;color:var(--ink-d5d8d5);font-size:12px;line-height:1.5;margin:12px 0}
.driver-routes-link{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:14px 0 0;margin-top:16px;border:0;border-top:1px solid #ffffff26;background:transparent;color:var(--ink-d5d8d5);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.driver-status-card button:focus-visible{outline:3px solid var(--line-ffffff);outline-offset:4px}
@media(max-width:420px){.driver-status-card{padding:22px 18px;border-radius:24px}.driver-status-heading h2{font-size:25px}.driver-availability{padding:0 12px}.driver-availability-row{gap:9px}}

.unified-booking .booking-mode{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:20px;background:#ffffff12;border:1px solid #ffffff1f;border-radius:16px}
.booking-mode button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:10px 8px;border:0;border-radius:11px;background:transparent;color:var(--ink-d5d8d5);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.booking-mode button[aria-pressed=true]{background:var(--surface-d5d8d5);color:var(--ink-202522);box-shadow:0 2px 6px #00000010}.booking-mode .icon{width:20px;height:20px;flex:none}
.unified-booking button:focus-visible{outline:3px solid var(--line-ffffff);outline-offset:3px}.unified-booking .destination-launch{min-height:68px}.unified-booking .launch-meta{gap:10px;flex-wrap:wrap;line-height:1.5}
@media(max-width:360px){.booking-mode button{font-size:12px;gap:5px}.booking-mode .icon{width:17px;height:17px}.unified-booking .destination-launch{font-size:13px;gap:8px}}

.driver-status-card.compact-availability{padding:4px 20px;border-radius:22px}.compact-availability .driver-availability-row{min-height:84px;padding:16px 0}.scheduled-manage{min-height:44px;background:transparent;border:0;padding:8px 0 8px 10px;color:var(--ink-d5d8d5);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.scheduled-offer-control h2{font-size:18px;margin:0}.scheduled-offer-control p{font-size:13px;line-height:1.5}.ride-now-switch:disabled{opacity:.45;cursor:default}

/* Focused availability editing: no nested route cards or collapsing hours. */
.availability-editor{gap:16px}.availability-editor .mode-choices{margin:0}.availability-editor .mode-choice{padding:14px;min-height:76px}.availability-editor .mode-choice strong{font-size:16px}.availability-editor .mode-choice small{font-size:13px}.availability-editor .card{margin:0;padding:18px}.availability-editor h2{font-size:18px;margin:0}.availability-editor .weekday-picks{gap:6px;margin:4px 0 16px}.availability-editor .weekday-picks label{padding:8px;min-height:44px}.availability-actions{padding-bottom:12px}.availability-summary{color:var(--muted);font-size:14px;line-height:1.6}.route-manage{margin-top:14px}.coverage-extra h3{font-size:18px}.coverage-extra .row.between>h3{min-width:0;overflow-wrap:anywhere}.availability-editor [hidden]{display:none!important}

.route-multiselect summary{font-size:15px;min-height:44px;align-content:center}.route-multiselect[open] summary{margin-bottom:12px}.route-option{border-top:1px solid var(--line-e9ebe8);padding:14px 0}.route-option .check{align-items:flex-start;min-height:44px}.route-option input{flex-shrink:0;margin-top:5px}.route-option small{display:block;color:var(--ink-555b57);font-size:12px}.route-return-option{margin:10px 0 0 24px;padding:12px;border-left:2px solid var(--line-d5d8d5);background:var(--surface-f5f5f3);border-radius:8px}.route-return-option[hidden]{display:none!important}.saved-return{border-top:1px solid var(--line-e9ebe8);margin-top:16px;padding-top:16px}.saved-return .eyebrow{margin-bottom:6px}.saved-return h3{font-size:15px}.saved-other-routes{margin-bottom:18px}.saved-other-routes>summary{margin-bottom:12px}.route-multiselect input:disabled{cursor:default}

.offer-mode-block{padding:4px 0 14px}.offer-mode-block+.offer-mode-block{border-top:1px solid var(--line-e9ebe8);padding-top:14px;padding-bottom:0}.offer-actions{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0 46px}.offer-actions .btn{font-size:12px}.instant-plan-current{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:var(--surface-e9ebe8);color:var(--ink-202522);border-radius:12px;padding:12px;width:100%;margin-top:10px;font-size:13px}.instant-plan-current span{min-width:0}.instant-plan-option{display:grid;gap:4px;width:100%;text-align:left;padding:16px;border-radius:14px;border:1px solid var(--line-e9ebe8);background:var(--surface-ffffff);color:var(--ink-202522)}.instant-plan-option span{font-size:13px;color:var(--ink-555b57)}.instant-plan-option.selected{border:2px solid var(--line-555b57);background:var(--surface-e9ebe8)}.instant-plan-option:disabled{opacity:.5}
/* Driver preferences */
[data-route-search-row][hidden],[data-route-search-empty][hidden],[data-instant-destination][hidden],[data-instant-intercity][hidden]{display:none!important}.route-search{margin-top:16px}.flexible-intercity{border:1px solid var(--line-d5d8d5);background:var(--surface-f5f5f3)}.flexible-intercity .row{flex-wrap:wrap;gap:8px}.flexible-intercity small{display:block;margin-bottom:12px}.active-rides>h2{font-size:19px}.route-option{overflow-wrap:anywhere}.route-multiselect>summary{font-weight:700}.compact-availability{margin-bottom:20px}[data-form="instant-preferences"] .fields{grid-template-columns:1fr}.route-manage summary{min-height:40px;padding-top:10px}
.driving-area-choices{border:0;padding:0;margin:0}.driving-area-choices legend{font-weight:700;margin-bottom:10px}.driving-area-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.driving-area-choice{display:flex;align-items:center;gap:10px;padding:16px 12px;min-height:58px;border:1px solid var(--line-d5d8d5);border-radius:14px;background:var(--surface-ffffff);color:var(--ink-202522);font-weight:700;cursor:pointer}.driving-area-choice:has(input:checked){border:2px solid var(--line-555b57);padding:15px 11px;background:var(--surface-e9ebe8)}.driving-area-choice input{width:20px;height:20px;accent-color:var(--ink-555b57);margin:0}.driving-area-choice:focus-within{outline:2px solid var(--line-555b57);outline-offset:2px}.driving-area-choices small{display:block}.driving-area-choices [hidden],[data-scheduled-area][hidden]{display:none!important}

.instant-intercity-section{border:2px solid var(--line-555b57);background:var(--surface-f5f5f3)}.instant-intercity-section h3{margin:0}.instant-route-list{max-height:240px;overflow:auto}.instant-route-list .check{padding:12px 0;border-bottom:1px solid var(--line-e9ebe8)}

.instant-route-list .instant-return{margin-left:28px;padding:6px 0 12px;font-size:.85rem;border:0}.instant-return small{display:block;color:var(--muted)}

.route-multiselect.card{border:2px solid var(--line-555b57);background:var(--surface-f5f5f3)}.route-multiselect .route-return-option{margin:0 0 0 28px;padding:6px 0 12px;border:0;background:none;font-size:.85rem}.route-multiselect .route-return-option small{font-size:.8rem}

.scheduled-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;margin:0 0 24px;border:1px solid var(--line-e9ebe8);border-radius:14px;background:var(--surface-e9ebe8);color:var(--ink-202522);font:inherit;font-size:14px;text-align:left;cursor:pointer}.scheduled-status-row>span{min-width:0}.scheduled-status{color:var(--ink-555b57)}.scheduled-status-row strong{white-space:nowrap;font-size:13px}.scheduled-status-row:focus-visible{outline:3px solid var(--line-7c827e);outline-offset:3px}
.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:var(--surface-e9ebe8);color:var(--ink-202522);cursor:pointer}.notification-bell .unread-dot{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:var(--surface-202522);color:var(--ink-ffffff);font-size:10px;display:flex;align-items:center;justify-content:center}.notification-bell .unread-dot[hidden]{display:none}.schedule-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.schedule-tabs{margin-bottom:20px}.schedule-trip h3{margin:16px 0 8px;overflow-wrap:anywhere}.schedule-trip .row{flex-wrap:wrap;gap:8px}.schedule-empty{text-align:center;padding:32px 20px}.schedule-empty>svg{width:36px;height:36px;color:var(--ink-555b57)}.schedule-series{margin-top:24px}.notification-bell:focus-visible{outline:3px solid var(--line-7c827e);outline-offset:3px}@media(max-width:480px){.topbar{gap:8px}.top-actions{gap:8px}.top-actions .pill{display:none}.schedule-actions .btn{flex:1;font-size:14px;padding:13px 10px}}
/* Schedule and operations use the same compact card rhythm. */
.travel-plan details{margin-top:20px}.travel-plan summary{cursor:pointer;font-weight:600}.travel-plan .schedule-trip{margin-top:16px;background:var(--cream,var(--surface-f5f5f3))}.exception-row{padding:16px 0;border-bottom:1px solid var(--line-e9ebe8)}.exception-row:last-child{border-bottom:0}.exception-row p{margin:6px 0 0}.booking-form>.booking-mode{margin-bottom:4px}
