:root{background:#dfe9e6;color:#101615;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.phone-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,#f5fbf8 0,#dfe9e6 46%,#c7d6d2)}.phone{width:min(430px,100%);background:#f8fbfa;border:1px solid rgba(16,52,49,.12);border-radius:28px;padding:14px;box-shadow:0 28px 90px #08201e38}.auth-card{min-height:620px;display:grid;align-content:center;gap:14px;padding:32px}.auth-card h1,.auth-card p{margin:8px 0 0}.auth-card label{margin:0}.auth-brand{color:#073f3c;font-size:20px}.auth-switch{border:0;background:transparent;color:#073f3c}.auth-status-card{min-height:320px;display:grid;align-content:center;justify-items:center;gap:12px;padding:40px 32px;text-align:center}.auth-status-card h1{margin:4px 0 0}.auth-status-card p{max-width:310px;margin:0}.setup-spinner{width:36px;height:36px;border:3px solid #cbdad6;border-top-color:#073f3c;border-radius:50%;animation:spin .8s linear infinite}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-toggle{position:absolute;top:0;right:0;width:44px;min-height:44px;display:grid;place-items:center;border:0;background:transparent;color:#315c58;padding:0}.password-hint{color:#58706b;font-size:12px;font-weight:650}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 6px 14px}.topbar div{display:grid;gap:2px}.topbar span{color:#58706b;font-size:12px;font-weight:750}h1{font-size:31px;line-height:1.02;letter-spacing:0;margin:0 0 18px}h2{margin:10px 0 4px}p{color:#5f716d;line-height:1.45}button,input,select{min-height:44px;border-radius:10px;border:1px solid #d2dfdc;background:#fff;color:#101615;padding:0 12px;font-weight:800}button{cursor:pointer}.location-button{width:calc(100% - 16px);margin:8px 8px 0;display:flex;align-items:center;justify-content:center;gap:8px;border-color:#8eb5ad;color:#073f3c;background:#f4faf8}.location-state{margin:8px 8px 0;color:#49645f;font-size:12px;font-weight:750}.location-error{color:#9b1c1c}.destination-results{display:grid;margin:6px 8px 0;border:1px solid #d2dfdc;border-radius:8px;overflow:hidden;background:#fff}.destination-results button{min-height:48px;border:0;border-radius:0;text-align:left;font-weight:700}.destination-results button+button{border-top:1px solid #e0e9e6}.primary{width:100%;border:0;background:#073f3c;color:#fff;margin-top:14px;box-shadow:0 12px 26px #073f3c3d}.map-panel{position:relative;height:220px;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#083f3c,#0a6f67);color:#fff}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.map-notice{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a6f67;font-weight:850}.eta{position:absolute;z-index:1;left:16px;bottom:16px;display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:#073f3ce0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.eta strong{font-size:22px}.eta span{color:#d7eeea;font-size:12px;font-weight:800}.price-hero{margin:-38px 8px 12px;position:relative;display:grid;gap:4px;background:#fff;border:1px solid #d7e5e1;border-radius:20px;padding:16px;box-shadow:0 18px 42px #0c232124}.price-hero span{color:#5f716d;font-size:13px;font-weight:850}.price-hero strong{color:#073f3c;font-size:42px;line-height:1}.price-hero p{margin:0;font-size:12px}.booking-sheet{margin:0 8px;position:relative;background:#fff;border:1px solid #e0e9e6;border-radius:20px;padding:16px;box-shadow:0 18px 42px #0c23211a}.sheet-kicker{margin-bottom:9px;color:#e46f52;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button.active{border-color:#073f3c;background:#dff5ee;color:#073f3c}.route-card,.fare,.status,.driver,.scheduled{border:1px solid #e0e9e6;border-radius:14px;padding:14px;margin-top:12px;background:#fbfdfc}.route-card{display:grid;gap:14px}.trip-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 8px}.trip-options label{margin-left:0;margin-right:0}.check-row{display:flex;align-items:center;gap:10px;color:#101615}.check-row input{width:18px;min-height:18px}.route-stop{position:relative;display:grid;gap:4px;padding-left:18px}.route-stop:before{content:"";position:absolute;left:0;top:4px;width:8px;height:8px;border:2px solid #073f3c;border-radius:50%}.route-stop+.route-stop:before{background:#f37f61;border-color:#f37f61}.route-stop span,.fare span,label{display:grid;gap:6px;color:#5f716d;font-size:13px;font-weight:750}.fare{display:flex;justify-content:space-between;align-items:end;gap:14px;background:#f4faf8}.fare strong{display:block;font-size:34px;margin-top:4px;color:#073f3c;white-space:nowrap}.fare p{margin:0;max-width:160px;font-size:12px}.scheduled{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f4faf8}.scheduled div{display:grid;gap:4px}.scheduled span{color:#60736f;font-size:12px;font-weight:850}.scheduled strong{font-size:14px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 8px 0}.trust-row div{min-height:72px;display:grid;align-content:center;gap:3px;border-radius:14px;padding:10px;background:#fff;border:1px solid #e0e9e6}.trust-row strong{font-size:13px}.trust-row span{color:#60736f;font-size:11px;line-height:1.25}.api-state{margin:12px 8px 0;color:#e46f52;font-size:13px;font-weight:850}.support-contact{margin:12px 8px 0;font-size:13px}.support-contact a{color:#073f3c;font-weight:850}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.badge-good{background:#dff5ee;color:#0e5e53}.badge-neutral{background:#eef3f2;color:#344541}.badge-warn{background:#fff0df;color:#8a4b14}.badge-danger{background:#ffe5e5;color:#9b1c1c}label{margin:12px 8px 0}input,select{width:100%}.status,.driver{margin:12px 8px 0;background:#fff}.driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.button-link{min-height:44px;display:grid;place-items:center;border-radius:10px;background:#eef3f2;color:#101615;text-decoration:none;font-weight:900}.steps{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.steps li{min-height:34px;display:grid;place-items:center;border-radius:999px;background:#eef3f2;color:#60736f;font-size:10px;font-weight:900;text-align:center}.steps li.done{background:#dff5ee;color:#0e5e53}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.setup-spinner{animation:none;border-top-color:#073f3c}}@media(max-width:460px){.phone-wrap{padding:0;place-items:stretch}.phone{min-height:100vh;width:100%;border-radius:0;border:0}h1{font-size:29px}.map-panel{height:210px}.price-hero strong{font-size:38px}}
