/* TranspoLink passenger interface. Uses the installed system font. */
.guest-ui {
 --navy:#142c50; --blue:#086cf2; --orange:#f88822; --muted:#61738c; --line:#dce8f2;
 font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
 background:radial-gradient(ellipse at 95% 35%,#ffe7cb70,transparent 42%),radial-gradient(ellipse at 0 5%,#d6edff,transparent 50%),#f2f7fb;
}
.guest-ui h1,.guest-ui h2,.guest-ui h3,.guest-ui strong,.guest-ui .brand{font-family:inherit}
.guest-ui button,.guest-ui input,.guest-ui select,.guest-ui textarea{font-family:inherit}
.guest-ui .topbar{height:90px;background:#ffffffb8;border-bottom:1px solid #fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:0 max(28px,calc((100vw - 1320px)/2))}
.guest-ui .brand{font-style:italic;font-size:28px;gap:10px;letter-spacing:-1.1px}
.guest-ui .brand .blue{color:var(--orange)}
.guest-ui .brand small{font-style:normal;font-weight:600;text-align:left;padding-left:4px}
.guest-ui .brand em{font-size:13px;font-style:normal}
.guest-ui .bus-logo{width:77px;height:60px;background:url('/assets/smtc-mark-v1.png') left center/180px 60px no-repeat;flex-shrink:0}
.guest-ui .avatar{background:linear-gradient(145deg,#edf7ff,#cee5fc);border:1px solid #fff;box-shadow:0 3px 9px #21487512}
.guest-ui .quiet{font-weight:600;min-height:44px}
.guest-ui .bell{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e5edf4;border-radius:50%;background:#ffffff80}
.guest-ui .shell{max-width:1320px;padding:0 30px}
.guest-ui .navigation{gap:10px;padding:14px 0;border-bottom:1px solid #dce7ef}
.guest-ui .navigation a{min-height:48px;padding:12px 23px;font-weight:600;font-size:14px;border-radius:13px;transition:background .18s,color .18s,box-shadow .18s}
.guest-ui .navigation a:hover{background:#ffffff98}
.guest-ui .navigation .selected{background:#ffffffa6;color:var(--blue);box-shadow:0 3px 12px #183b6410;border:1px solid #fff}
.guest-ui .navigation .selected:after{height:3px;left:22px;right:22px;bottom:-15px}
.guest-ui .hero{min-height:235px;margin:24px 0;padding:30px;border-radius:24px;border:1px solid #ffffffd9;background:linear-gradient(90deg,#ffffffd6 0%,#ffffffa8 43%,#ffffff10 100%),url('/assets/auth-landscape-v1.png') center 60%/cover;box-shadow:0 12px 32px #2d61800d}
.guest-ui .hero>div:first-child{max-width:64%;align-self:flex-start}
.guest-ui .hero h1{font-size:36px;line-height:1.16;font-weight:800;letter-spacing:-1.4px;margin:13px 0 10px;overflow-wrap:anywhere}
.guest-ui .hero p{font-size:15px;margin-bottom:16px;color:#536b87}
.guest-ui .hero small{font-size:12px;color:#637990}
.guest-ui .eyebrow{font-size:10px;letter-spacing:1.5px;color:#647d99}
.guest-ui .hero-art{width:44%;background:none;opacity:1;justify-content:center;align-items:flex-end;padding:0 8px 8px}
.guest-ui .hero-bus{width:100%;height:100%;margin:0;opacity:1;transform:none;background:url('/assets/smtc-bus-v1.png') center bottom/contain no-repeat;mix-blend-mode:normal;filter:drop-shadow(0 15px 10px #18385d20)}
.guest-ui .hero-art>span{display:none}
.guest-ui .card{background:linear-gradient(140deg,#ffffffd9,#ffffffad);border:1px solid #fff;border-radius:22px;padding:24px;box-shadow:0 9px 28px #254d7310,inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.guest-ui .grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.guest-ui h2{font-size:20px;font-weight:750;letter-spacing:-.6px;gap:10px}
.guest-ui h2 .icon{padding:5px;width:34px;height:34px;border-radius:10px;background:#e8f2ff;color:var(--blue)}
.guest-ui .section-head{gap:10px;margin-bottom:19px}
.guest-ui .section-head>a{font-size:12px;font-weight:600;min-height:44px;display:flex;align-items:center}
.guest-ui .search{padding:17px;gap:14px;margin-bottom:24px}
.guest-ui .search label{background:#ffffff78;border:1px solid #dfe9f2;border-radius:13px;padding:13px}
.guest-ui .search label span{font-weight:600;color:#75849a;font-size:11px}
.guest-ui .search input,.guest-ui .search select{font-size:14px;color:#183353;padding-top:6px;min-height:30px}
.guest-ui .button{border-radius:13px;min-height:46px;background:linear-gradient(140deg,#2884ff,#0864e8);border-color:#4b93f5;box-shadow:0 7px 16px #1672ef26,inset 0 1px 0 #ffffff40;transition:filter .18s,transform .18s;font-weight:700}
.guest-ui .button:active{transform:translateY(1px)}
.guest-ui .button.outline{background:#ffffffa6;box-shadow:none;color:var(--blue)}
.guest-ui .button.orange{background:linear-gradient(140deg,#ffa84c,#f7831b);border-color:#f99b39}
.guest-ui .empty{background:#f4f9fd80;border:1px dashed #d4e4ef;padding:40px 18px;border-radius:17px;min-height:175px}
.guest-ui .trip-card,.guest-ui .booking-card{background:#ffffff78;border:1px solid #dfebf4;border-radius:16px;padding:18px}
.guest-ui .booking-card{transition:border-color .18s,box-shadow .18s}
.guest-ui .booking-card:hover{box-shadow:0 6px 18px #176deb12;border-color:#86baf7}
.guest-ui .booking-card p{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.guest-ui .booking-card .row.muted{font-size:12px;flex-wrap:wrap}
.guest-ui .booking-card .row.muted>strong{font-size:22px;color:var(--navy)}
.guest-ui .badge{font-size:11px;font-weight:650;padding:6px 11px}
.guest-ui .payment-status{display:inline-block;margin-top:14px;padding:6px 11px;border-radius:20px;font-weight:600;background:#edf3fa;color:#45617f}
.guest-ui .payment-paid{background:#e0f5e9;color:#18774b}
.guest-ui .payment-unpaid,.guest-ui .payment-submitted{background:#fff1d8;color:#976018}
.guest-ui .payment-rejected{background:#fbe9ec;color:#a63345}
.guest-ui .live-map{height:250px;border-radius:16px;border:1px solid #dce9f0}
.guest-ui .map-status{line-height:1.6;padding:12px 0;font-weight:500}
.guest-ui .location-list>div{background:#ffffff80;border-radius:13px;overflow-wrap:anywhere}
.guest-ui .location-list .stale{color:#9a651e}
.guest-ui .notice.warning{border-radius:16px;background:linear-gradient(120deg,#fff6e5d9,#ffecd2b8);border:1px solid #f4ddb6}
.guest-ui .advisory h3{font-weight:750;font-size:16px}
.guest-ui footer{font-size:11px;color:#72859c}
.guest-ui :focus-visible{outline:3px solid #4f9afa;outline-offset:4px}
@media(max-width:1100px){.guest-ui .navigation a{padding:12px 15px}.guest-ui .hero h1{font-size:31px}.guest-ui .hero{padding:26px}.guest-ui .section-head{flex-wrap:wrap}.guest-ui .section-head>a{min-height:26px}}
@media(max-width:760px){
 .guest-ui .topbar{height:76px;padding:0 16px}.guest-ui .brand{font-size:23px;gap:5px}.guest-ui .bus-logo{width:58px;height:45px;background-size:135px 45px}.guest-ui .brand small{font-size:10px}.guest-ui .brand em{font-size:11px}.guest-ui .header-right{gap:7px}.guest-ui .bell{display:grid;width:34px;height:34px}.guest-ui .bell .icon{width:18px;height:18px}
 .guest-ui .shell{padding:0 16px}.guest-ui main{padding-bottom:95px}.guest-ui .hero{min-height:315px;padding:23px 21px 160px;margin:18px 0;border-radius:22px;background:linear-gradient(180deg,#ffffffe8,#ffffff8a 65%,#ffffff15),url('/assets/auth-landscape-v1.png') center/cover}.guest-ui .hero>div:first-child{max-width:100%;width:100%}.guest-ui .hero h1{font-size:27px;letter-spacing:-1px;margin:11px 0 8px}.guest-ui .hero p{font-size:13px;margin-bottom:9px;max-width:100%}.guest-ui .hero small{font-size:11px}.guest-ui .hero-art{width:100%;height:147px;top:auto;bottom:0;right:0;padding:0 8px;opacity:1}.guest-ui .hero-bus{width:240px;height:153px;opacity:1;margin:0;background-size:contain}
 .guest-ui .card{padding:18px;border-radius:20px}.guest-ui .grid.two{grid-template-columns:minmax(0,1fr);gap:17px}.guest-ui h2{font-size:17px}.guest-ui h2 .icon{width:30px;height:30px;padding:5px}.guest-ui .section-head{flex-wrap:nowrap;gap:7px;margin-bottom:16px}.guest-ui .section-head>a{font-size:10px;min-height:38px}.guest-ui .search{padding:14px;gap:10px;margin-bottom:18px}.guest-ui .search label{padding:11px}.guest-ui .search input,.guest-ui .search select{font-size:13px}.guest-ui .search .button{min-height:48px}.guest-ui .empty{padding:29px 16px;min-height:155px}.guest-ui .live-map{height:225px}.guest-ui .booking-card{padding:15px}.guest-ui .booking-card .row>strong{font-size:12px;overflow-wrap:anywhere;min-width:0}.guest-ui .booking-card .row.muted>strong{font-size:21px}.guest-ui .badge{font-size:10px}.guest-ui footer{margin-bottom:0;line-height:1.8}
 .guest-ui .navigation{position:fixed;bottom:0;left:0;right:0;top:auto;justify-content:space-around;padding:8px 5px max(10px,env(safe-area-inset-bottom));background:#fafdfff0;border:1px solid #fff;border-radius:22px 22px 0 0;box-shadow:0 -7px 26px #234b6b14;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);gap:0;overflow:visible}.guest-ui .navigation a{padding:7px 3px;min-width:0;width:20%;min-height:53px;font-size:9px;gap:5px;border-radius:12px}.guest-ui .navigation a span{max-width:100%;white-space:nowrap}.guest-ui .navigation .selected{background:#e6f1ff;border:1px solid #dcecff;box-shadow:none}.guest-ui .navigation .selected:after{display:none}
}
@media(max-width:360px){.guest-ui .shell{padding:0 11px}.guest-ui .card{padding:15px}.guest-ui h2{font-size:15px}.guest-ui .hero{padding:20px 17px;min-height:325px;padding-bottom:160px}.guest-ui .hero h1{font-size:25px}.guest-ui .brand{font-size:21px}.guest-ui .header-right .bell{display:none}}
@media(prefers-reduced-motion:reduce){.guest-ui *{transition:none!important;scroll-behavior:auto!important}}
@supports not (backdrop-filter:blur(1px)){.guest-ui .card,.guest-ui .topbar,.guest-ui .navigation{background:#fafdff}}

/* Public overview refinements */
.guest-ui .bus-logo{width:70px}
.guest-ui .hero h1{max-width:600px;font-size:40px}
.guest-ui .grid.two{align-items:start}
.guest-ui .empty{min-height:140px;padding:24px}
.guest-ui .guest-booking-prompt{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px dashed #cbdff4;border-radius:16px;background:#f1f8ff88;padding:24px}
.guest-ui .guest-booking-prompt>.icon{width:30px;height:30px;color:var(--blue)}
.guest-ui .guest-booking-prompt>div{flex:1;min-width:160px}
.guest-ui .guest-booking-prompt p{margin:6px 0 0;color:var(--muted);font-size:12px}
.guest-ui .location-list{font-size:12px}
@media(min-width:1101px){.guest-ui .hero{min-height:270px}.guest-ui .hero-art{width:43%}}
@media(max-width:760px){
.guest-ui .bus-logo{width:52px}
.guest-ui .header-right{gap:6px}.guest-ui .header-right .button.small{display:none}
.guest-ui .header-right .quiet{border:1px solid #d9e7f5;border-radius:10px;color:var(--blue);padding:9px 12px;background:#ffffff80;font-size:12px}
.guest-ui .hero{min-height:260px;padding-bottom:135px}.guest-ui .hero h1{font-size:27px}.guest-ui .hero-art{height:130px}.guest-ui .hero-bus{height:130px;width:210px}
.guest-ui .guest-booking-prompt{gap:12px;padding:18px}.guest-ui .guest-booking-prompt .button{width:100%}
.guest-ui .navigation a{font-size:9px}
}
/* Desktop: place bookings directly below available trips */
@media (min-width: 761px) {
    .guest-ui .grid.two > .card:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .guest-ui .grid.two > .card:nth-child(2) {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .guest-ui .grid.two > .card:nth-child(3) {
        grid-column: 1;
        grid-row: 2;
    }

    .guest-ui .grid.two > .card:nth-child(4) {
        grid-column: 2;
        grid-row: 3;
    }
}