:root{--navy:#082942;--blue:#137ef3;--pink:#f42683;--ink:#14324b;--muted:#688398;--bg:#eef6fc;--line:#d8e7f1;--good:#078357;--danger:#a53050}
*{box-sizing:border-box}body{font:15px/1.48 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
header{color:#fff;background:var(--navy);border-bottom:4px solid var(--pink)}header .top{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1190px;min-height:74px;padding:12px 20px;margin:0 auto}.brand{font-weight:900;font-size:22px;letter-spacing:-.5px}.brand span{color:#66baff}.brand small{display:block;color:#bed7e9;font-size:9px;letter-spacing:1.4px}header nav{display:flex;gap:16px;font-size:13px;font-weight:800;color:#deedfc}
main{max-width:1190px;padding:23px 20px 50px;margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#0e73d5}h1{font-size:clamp(29px,4.5vw,46px);line-height:1.14;margin:7px 0;letter-spacing:-1px}.hero p{color:var(--muted);max-width:740px;margin:0}.hero-emoji{font-size:80px;background:#fff;border:1px solid #deebf6;border-radius:24px;padding:9px 18px;line-height:1.4}.notice{background:#fff0f5;border:1px solid #f6cade;color:#8c3453;padding:12px 16px;margin-bottom:14px;border-radius:11px;font-size:13px}.status{border-radius:11px;background:#e6f3ff;color:#1066a3;padding:11px 14px;font-size:13px;font-weight:750;margin-bottom:15px}.status.error{background:#ffedf4;color:#a82e50}.status.success{background:#e1f7eb;color:#087e53}
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;min-height:115px}.summary small,.summary span{display:block;font-size:11px;color:var(--muted)}.summary strong{font-size:29px;color:#0c416c;line-height:1.5}.grid-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(295px,.82fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:0 8px 25px rgba(20,62,98,.045);margin-bottom:17px}.card h2{font-size:21px;margin:6px 0 8px}.card p{font-size:13px;color:var(--muted);margin:0 0 14px}.steps{display:flex;justify-content:space-between;gap:7px;background:#f1f8ff;border-radius:10px;padding:10px 13px;color:#0d73d1;font-size:11px;font-weight:850;margin:14px 0}
.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.modes button{display:grid;justify-items:center;gap:5px;min-height:104px;background:#f9fcff;color:#245b82;border:1px solid #cbe0f0;border-radius:13px;padding:12px 7px;text-align:center}.modes button.active{border:2px solid var(--blue);padding:11px 6px;background:#e9f4ff}.modes button b{font-size:12px}.modes button small{font-size:11px;color:var(--muted)}.mode-icon{font-size:27px}.form-row{margin-top:19px}.field-label,.form-two label{font-size:12px;font-weight:850;display:block;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{background:#f4faff;color:#12598e;border:1px solid #cfe0ef;border-radius:50px;min-height:39px;padding:7px 11px;font-size:12px;font-weight:900}.chips button.active{background:#127ef2;color:#fff;border-color:#127ef2}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.form-two select{display:block;border:1px solid #bfd4e3;border-radius:10px;min-height:45px;padding:9px 11px;color:#184363;width:100%;background:white;margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:#167ffa;color:white;padding:11px 14px;min-height:44px;font-size:13px;font-weight:850;text-align:center}.btn.primary{background:linear-gradient(105deg,#f42683,#df0b6e)}.btn.soft{background:#e9f4ff;color:#0f67b8;border:1px solid #bddaf2}.btn.block{display:flex;width:100%;margin-top:13px}.btn.disabled-link{opacity:.54;pointer-events:none}.sub{font-size:12px;color:var(--muted);margin:9px 0}.price{font-size:38px;font-weight:900;color:#123f6b;letter-spacing:-1px;margin:16px 0 4px}
.lines{display:grid;gap:11px;border-top:1px solid #e3ecf4;margin-top:14px;padding-top:15px}.lines>div{display:flex;gap:10px;justify-content:space-between;align-items:start}.lines span{color:var(--muted);font-size:12px}.lines b{font-size:12px;text-align:right;overflow-wrap:anywhere}.footnote{font-size:11px;color:#71899b;margin-top:13px}.head{display:flex;align-items:start;justify-content:space-between;gap:10px}.textlink{color:#096bc7;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.stack{display:grid;gap:9px}.ride{display:flex;justify-content:space-between;align-items:start;gap:10px;border:1px solid #e0ebf4;border-radius:11px;background:#fafcff;padding:10px}.ride b{font-size:12px}.ride small{display:block;color:var(--muted);font-size:11px}.ride span{font-size:11px;font-weight:850;background:#e7f3ff;color:#0f6cb7;padding:4px 8px;border-radius:8px;white-space:nowrap}.button-row{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.button-row .btn{flex:1}.empty{border:1px dashed #bdd6e5;color:#69839a;border-radius:11px;padding:12px 14px;font-size:12px}footer{font-size:11px;color:#7b8fa0;text-align:center;margin-top:23px}
@media(max-width:940px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.hero-emoji{font-size:55px}}
@media(max-width:560px){header .top{padding:11px 13px;flex-wrap:wrap;gap:8px}.brand{font-size:20px}header nav{font-size:11px;width:100%;justify-content:space-between}main{padding:15px 10px 40px}.hero h1{font-size:30px}.hero-emoji{display:none}.summary{gap:8px}.summary>div{padding:11px;min-height:105px}.summary strong{font-size:24px}.card{padding:14px}.modes{gap:6px}.modes button{padding:10px 5px;min-height:107px}.modes button b{font-size:11px}.modes button small{font-size:10px}.modes button.active{padding:9px 4px}.steps{font-size:9px}.price{font-size:34px}.form-two{gap:7px}.form-two select{padding:8px 6px}.button-row .btn{font-size:11px}}

/* V19: actionable yet inert current-trip shortcut. Never carries ride tokens. */
.activeJourney{display:flex;align-items:center;gap:14px;margin:0 0 17px;padding:14px 17px;
 border-radius:15px;border:1px solid #88c1ec;background:linear-gradient(110deg,#e3f3ff,#f5fbff);
 box-shadow:0 5px 18px #134f7c12}
.activeJourney[hidden]{display:none!important}
.activeJourneyIcon{width:48px;height:48px;border-radius:12px;background:#147ff2;color:#fff;
 display:grid;place-items:center;font-size:25px;flex:0 0 auto}
.activeJourneyCopy{display:grid;gap:2px;flex:1;min-width:0}
.activeJourneyCopy strong{font-size:15px;color:#103e69}
.activeJourneyCopy span{font-size:12px;color:#5d7a91}
.activeJourney .btn{white-space:nowrap}
@media(max-width:560px){.activeJourney{flex-wrap:wrap;padding:12px;gap:10px}
.activeJourneyIcon{width:40px;height:40px;font-size:21px}
.activeJourney .btn{width:100%;text-align:center}}

.statusToolbar{display:flex;align-items:start;gap:10px;margin-bottom:17px}
.statusToolbar .status{margin:0;flex:1;min-height:44px}
.statusToolbar .btn{min-height:44px;white-space:nowrap}
@media(max-width:560px){.statusToolbar{flex-wrap:wrap}.statusToolbar .btn{width:100%}}
