:root { --allen-font: "Alexandria", sans-serif; }
body, button, input, select, textarea { font-family: var(--allen-font); }

.notification-header-link { position:relative; }.notification-count,.home-notification-link b { position:absolute; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#e82f74; color:#fff; font-size:10px; line-height:1; box-shadow:0 4px 10px rgba(232,47,116,.32); }.notification-count { top:-7px; left:-5px; }.home-notification-link { position:relative; }.home-notification-link b { top:-4px; left:-4px; }
.passenger-page { width:min(760px,100%); margin:0 auto; display:grid; gap:18px; padding:10px 0 30px; }.passenger-page-hero,.assignment-success-hero { display:flex; align-items:center; gap:15px; padding:23px; border-radius:25px; color:#fff; background:radial-gradient(circle at 85% 20%,rgba(183,108,255,.5),transparent 34%),linear-gradient(135deg,#1c075f,#6421dc); box-shadow:0 18px 36px rgba(64,26,157,.2); }.passenger-hero-icon { width:58px; height:58px; display:grid; place-items:center; flex:0 0 auto; border-radius:19px; background:rgba(255,255,255,.15); font-size:23px; }.passenger-page-hero div { display:grid; gap:4px; }.passenger-page-hero span:not(.passenger-hero-icon) { color:#e9dfff; font-size:12px; }.passenger-page-hero h2 { margin:0; font-size:22px; font-weight:900; }.passenger-page-hero p { margin:0; color:#e7dcff; font-size:12px; line-height:1.7; }
.notification-list { display:grid; gap:10px; }.passenger-notification { position:relative; display:flex; align-items:center; gap:13px; padding:15px; overflow:hidden; border:1px solid rgba(91,56,160,.12); border-radius:20px; background:#fff; color:#21105e; text-decoration:none; box-shadow:0 8px 20px rgba(44,22,108,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.passenger-notification:hover { transform:translateY(-2px); border-color:#ae8afd; box-shadow:0 13px 25px rgba(65,33,151,.12); }.passenger-notification.is-unread { border-color:#d6c1ff; background:linear-gradient(110deg,#fff,#fbf8ff); }.passenger-notification-icon { width:47px; height:47px; display:grid; place-items:center; flex:0 0 auto; border-radius:15px; background:#f1ecff; color:#6e2beb; font-size:19px; }.passenger-notification-icon.is-assignment { background:#efffd0; color:#4b6800; }.passenger-notification-copy { min-width:0; flex:1; display:grid; gap:4px; }.passenger-notification-copy strong { font-size:14px; font-weight:900; }.passenger-notification-copy small { overflow:hidden; color:#77708f; font-size:11px; line-height:1.65; text-overflow:ellipsis; white-space:nowrap; }.passenger-notification-copy time { color:#9b94ae; font-size:10px; }.passenger-notification-arrow { font-size:13px; }.unread-dot { position:absolute; top:14px; left:14px; width:8px; height:8px; border-radius:50%; background:#8a36f3; box-shadow:0 0 0 4px #f2eaff; }.passenger-empty-state { display:grid; justify-items:center; gap:9px; padding:48px 20px; text-align:center; border:1px dashed #dcd2ef; border-radius:26px; background:#fff; }.passenger-empty-state > span { width:65px; height:65px; display:grid; place-items:center; border-radius:20px; background:#f0eaff; color:#6f2ee8; font-size:25px; }.passenger-empty-state h3 { margin:7px 0 0; color:#251260; font-size:18px; font-weight:900; }.passenger-empty-state p { margin:0; max-width:340px; color:#7c7498; font-size:12px; line-height:1.8; }.passenger-empty-state a { margin-top:7px; color:#6424e5; font-size:13px; font-weight:800; text-decoration:none; }
.assigned-trip-page { gap:16px; }.assignment-success-hero { display:grid; justify-items:center; gap:7px; text-align:center; padding:32px 24px; }.assignment-success-mark { width:62px; height:62px; display:grid; place-items:center; border-radius:22px; background:#dafa16; color:#1c0859; font-size:29px; box-shadow:0 12px 22px rgba(183,235,17,.22); }.assignment-success-hero > span:not(.assignment-success-mark) { color:#dcffc7; font-size:12px; font-weight:800; }.assignment-success-hero h2 { margin:0; font-size:27px; font-weight:900; }.assignment-success-hero p { margin:0; color:#e7deff; font-size:12px; }.assigned-trip-card { padding:19px; border:1px solid #e6e0f1; border-radius:27px; background:#fff; box-shadow:0 15px 32px rgba(37,17,98,.08); }.assigned-trip-card-top { display:flex; align-items:center; gap:12px; }.assigned-bus-icon { width:51px; height:51px; display:grid; place-items:center; flex:0 0 auto; border-radius:17px; background:#efe6ff; color:#6827e3; font-size:22px; }.assigned-trip-card-top div { min-width:0; flex:1; }.assigned-trip-card-top div span { color:#8a829f; font-size:11px; }.assigned-trip-card-top h3 { overflow:hidden; margin:4px 0 0; color:#24105e; font-size:16px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }.assigned-seat-badge { padding:7px 9px; border-radius:10px; background:#efffd1; color:#496100; font-size:11px; font-weight:900; }.assigned-route { display:flex; align-items:center; justify-content:space-between; gap:9px; margin:20px 0 16px; padding:13px 0; border-top:1px solid #eeeaf6; border-bottom:1px solid #eeeaf6; color:#4b357f; font-size:12px; }.assigned-route span { display:flex; align-items:center; gap:6px; min-width:0; }.assigned-route span:first-child { flex:1; }.assigned-route span:last-child { flex:1; justify-content:flex-end; text-align:left; }.assigned-route span i { color:#7531e9; }.assigned-route > i { color:#7f4be4; }.assigned-trip-details { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.assigned-trip-details > div { display:grid; grid-template-columns:25px 1fr; gap:0 7px; align-items:center; padding:11px; border-radius:15px; background:#f9f7fe; }.assigned-trip-details i { grid-row:span 2; color:#7132e6; font-size:16px; }.assigned-trip-details span { color:#8c849f; font-size:10px; }.assigned-trip-details strong { overflow:hidden; color:#301b69; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.assigned-contact-driver,.assigned-back-action { display:flex; align-items:center; justify-content:center; gap:8px; min-height:49px; margin-top:15px; border-radius:15px; background:#5e20dc; color:#fff; font-size:13px; font-weight:800; text-decoration:none; }.assigned-back-action { margin:0; border:1px solid #ddd4f1; background:#fff; color:#432087; }.assigned-back-action i:last-child { font-size:11px; }
@media(max-width:640px){.passenger-page { padding:0 0 15px; }.passenger-page-hero { border-radius:20px; }.passenger-page-hero h2 { font-size:19px; }.notification-page { gap:13px; }.passenger-notification { padding:13px; }.assigned-trip-card { padding:15px; }.assignment-success-hero { border-radius:21px; }.assigned-trip-details { gap:8px; }}

/* Shared light application system for every passenger-facing subpage. */
.liquid-body:not(.home-screen-page) { --lg-bg:#f8f7ff; --lg-surface:#fff; --lg-text:#210d5d; --lg-text-soft:#79718f; --lg-border:rgba(71,38,145,.12); --lg-primary-1:#561bd9; --lg-primary-2:#8e38f3; --lg-accent:#d8fa18; background:#f8f7ff; color:#210d5d; }
.liquid-body:not(.home-screen-page) .liquid-background { display:none; }.liquid-body:not(.home-screen-page) .app-shell { width:min(1120px,calc(100% - 32px)); padding-top:16px; }.liquid-body:not(.home-screen-page) .app-topbar { min-height:72px; padding:12px 16px; border:1px solid #e8e3f3; border-radius:22px; background:rgba(255,255,255,.94); box-shadow:0 12px 28px rgba(43,22,109,.07); backdrop-filter:blur(18px); }.liquid-body:not(.home-screen-page) .brand-block { color:#2b116e; }.liquid-body:not(.home-screen-page) .topbar-copy .eyebrow { color:#887fa3; }.liquid-body:not(.home-screen-page) .topbar-copy h1 { color:#24105e; }.liquid-body:not(.home-screen-page) .header-chip { min-height:39px; border-color:#e5ddf4; background:#faf8ff; color:#3e2384; box-shadow:none; }.liquid-body:not(.home-screen-page) .header-chip.is-strong,.liquid-body:not(.home-screen-page) .button { border:0; background:linear-gradient(135deg,#5a1cdb,#9238f4); color:#fff; box-shadow:0 11px 22px rgba(93,35,222,.2); }.liquid-body:not(.home-screen-page) .app-main { padding-top:18px; }
.liquid-body:not(.home-screen-page) .glass-surface,.liquid-body:not(.home-screen-page) .surface-card,.liquid-body:not(.home-screen-page) .pricing-card,.liquid-body:not(.home-screen-page) .detail-card,.liquid-body:not(.home-screen-page) .stat-card,.liquid-body:not(.home-screen-page) .summary-card,.liquid-body:not(.home-screen-page) .list-card,.liquid-body:not(.home-screen-page) .page-hero,.liquid-body:not(.home-screen-page) .notice-card { border-color:#e7e1f2; background:#fff; box-shadow:0 12px 28px rgba(39,20,99,.07); }.liquid-body:not(.home-screen-page) .glass-surface::after,.liquid-body:not(.home-screen-page) .surface-card::after,.liquid-body:not(.home-screen-page) .pricing-card::after,.liquid-body:not(.home-screen-page) .detail-card::after,.liquid-body:not(.home-screen-page) .stat-card::after,.liquid-body:not(.home-screen-page) .summary-card::after,.liquid-body:not(.home-screen-page) .list-card::after,.liquid-body:not(.home-screen-page) .page-hero::after,.liquid-body:not(.home-screen-page) .notice-card::after { opacity:.25; }.liquid-body:not(.home-screen-page) .page-hero h2,.liquid-body:not(.home-screen-page) .page-hero h3,.liquid-body:not(.home-screen-page) .section-header h2,.liquid-body:not(.home-screen-page) .section-header h3 { color:#24105e; }.liquid-body:not(.home-screen-page) .page-hero p,.liquid-body:not(.home-screen-page) .section-header p,.liquid-body:not(.home-screen-page) .feature-list li,.liquid-body:not(.home-screen-page) .empty-state p { color:#7d7597; }.liquid-body:not(.home-screen-page) .detail-chip,.liquid-body:not(.home-screen-page) .trust-badge,.liquid-body:not(.home-screen-page) .status-pill { border-color:#e3daf2; background:#faf8ff; color:#4a2b92; }.liquid-body:not(.home-screen-page) .button-secondary { border-color:#e1d8f2; background:#fff; color:#5223b8; }.liquid-body:not(.home-screen-page) input,.liquid-body:not(.home-screen-page) select,.liquid-body:not(.home-screen-page) textarea { border-color:#ded5ef; background:#fff; color:#291361; }.liquid-body:not(.home-screen-page) input::placeholder,.liquid-body:not(.home-screen-page) textarea::placeholder { color:#a39bb8; }
.liquid-body:not(.home-screen-page) .app-bottom-nav { width:min(640px,calc(100% - 24px)); padding:6px; border-color:#e5ddf2; background:rgba(255,255,255,.96); box-shadow:0 15px 35px rgba(38,17,94,.15); }.liquid-body:not(.home-screen-page) .app-bottom-nav::after { display:none; }.liquid-body:not(.home-screen-page) .bottom-nav-item { color:#5c5180; }.liquid-body:not(.home-screen-page) .bottom-nav-item.is-active { border-color:#d8c6ff; background:linear-gradient(135deg,#f1eaff,#e6d8ff); color:#6d29e7; }.liquid-body:not(.home-screen-page) .bottom-nav-item:hover { color:#6d29e7; }

/* My bookings gets the same hierarchy as the new home booking sheet. */
.bookings-page .bookings-container { display:grid; gap:18px; }.bookings-page .page-header { padding:25px; overflow:hidden; border-radius:27px; background:radial-gradient(circle at 82% 16%,rgba(180,104,255,.45),transparent 30%),linear-gradient(135deg,#1d075e,#6925db); box-shadow:0 18px 36px rgba(56,20,150,.2); }.bookings-page .page-header .container,.bookings-page .filters-section .container,.bookings-page .bookings-section .container { width:100%; max-width:none; padding:0; }.bookings-page .page-title { margin:0; color:#fff; font-size:27px; font-weight:900; }.bookings-page .page-title i { color:#dafa18; }.bookings-page .header-stats { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.bookings-page .header-stats .stat-card { display:grid; gap:4px; min-height:76px; padding:12px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.11); box-shadow:none; text-align:center; }.bookings-page .stat-number { color:#dafa18; font-size:25px; font-weight:900; }.bookings-page .stat-label { color:#f1ebff; font-size:11px; }.bookings-page .filters-section { padding:15px; border:1px solid #e7e0f2; border-radius:23px; background:#fff; box-shadow:0 10px 24px rgba(41,20,99,.05); }.bookings-page .search-box { height:51px; border:1px solid #dfd7ee; border-radius:15px; background:#fbfaff; }.bookings-page .search-box input { background:transparent; border:0; }.bookings-page .filter-buttons { margin-top:12px; display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; }.bookings-page .filter-btn { flex:0 0 auto; min-height:37px; padding:0 14px; border:1px solid #e2dbef; border-radius:999px; background:#fff; color:#5f537d; font-size:12px; font-weight:800; }.bookings-page .filter-btn.active { border-color:#6b29e7; background:#6b29e7; color:#fff; }.bookings-page .bookings-section { padding:20px; border:1px solid #e7e1f1; border-radius:26px; background:#fff; box-shadow:0 10px 25px rgba(41,20,99,.05); }.bookings-page .bookings-section > .container > p { margin:8px 0 17px; color:#7f7798; font-size:12px; line-height:1.85; }.bookings-page .section-title { color:#271160; font-size:19px; font-weight:900; }.bookings-page .section-count { padding:5px 9px; border-radius:9px; background:#f0eaff; color:#6b2ae3; font-size:11px; font-weight:800; }.bookings-page .booking-card { overflow:hidden; border:1px solid #e7e1f1; border-radius:21px; background:#fff; box-shadow:none; }.bookings-page .booking-card:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(49,23,114,.1); }.bookings-page .booking-card .card-header { border-color:#ede9f4; background:#fcfbff; }.bookings-page .trip-title { color:#25105e; font-weight:900; }.bookings-page .trip-meta,.bookings-page .detail-label { color:#827a9a; }.bookings-page .detail-value { color:#38206f; }.bookings-page .status-badge.active { background:#e8ffd0; color:#537600; }.bookings-page .action-btn.primary { background:linear-gradient(135deg,#5b1ddb,#9238f3); }.bookings-page .action-btn.secondary { border-color:#e0d7ef; background:#fff; color:#5523b8; }.bookings-page .action-btn.danger { border-color:#ffd4df; background:#fff6f8; color:#d33461; }.bookings-page .empty-state { border:1px dashed #dcd2ed; border-radius:22px; background:#fbfaff; }.bookings-page .empty-icon { background:#eee5ff; color:#6728e4; }.bookings-page .empty-action { border-radius:13px; background:#6424dd; color:#fff; }
@keyframes allenSurfaceIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }.liquid-body:not(.home-screen-page) .app-main > * { animation:allenSurfaceIn .42s cubic-bezier(.2,.8,.2,1) both; }@media(max-width:720px){.liquid-body:not(.home-screen-page) .app-shell { width:calc(100% - 20px); padding-top:10px; }.liquid-body:not(.home-screen-page) .app-topbar { min-height:62px; border-radius:18px; }.liquid-body:not(.home-screen-page) .topbar-copy .eyebrow,.liquid-body:not(.home-screen-page) .topbar-actions .header-chip span { display:none; }.liquid-body:not(.home-screen-page) .header-chip { width:38px; min-width:38px; padding:0; }.liquid-body:not(.home-screen-page) .notification-count { top:-5px; left:-5px; }.bookings-page .page-header { padding:20px; }.bookings-page .page-title { font-size:23px; }.bookings-page .bookings-section { padding:15px; }.bookings-page .header-stats .stat-card { min-height:68px; }.bookings-page .stat-number { font-size:22px; }}@media(prefers-reduced-motion:reduce){.liquid-body:not(.home-screen-page) .app-main > *{animation:none;}}

/* Form reservation is a complete light flow, not a dark-card page inheriting old glass rules. */
.form-reservation-page { background:#f7f6ff; }
.form-reservation-page .app-main { padding-top:12px; }
.form-reservation-page .reservation-wizard { gap:14px; max-width:900px; padding-bottom:34px; }
.form-reservation-page .wizard-intro,
.form-reservation-page .wizard-progress-shell,
.form-reservation-page .wizard-form-card { border:1px solid #e5dff1; background:#fff; box-shadow:0 14px 32px rgba(44,21,108,.075); }
.form-reservation-page .wizard-intro { position:relative; overflow:hidden; padding:24px 26px; border-radius:26px; }
.form-reservation-page .wizard-intro::before { content:""; position:absolute; inset:auto -5% -55% auto; width:260px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(150,64,247,.16),rgba(216,250,24,.09) 35%,transparent 68%); pointer-events:none; }
.form-reservation-page .wizard-intro-copy,
.form-reservation-page .wizard-price-pills { position:relative; z-index:1; }
.form-reservation-page .wizard-eyebrow { color:#6d29e7; }
.form-reservation-page .wizard-intro h2,
.form-reservation-page .wizard-progress-meta strong,
.form-reservation-page .wizard-step-header h3 { color:#230d5f; }
.form-reservation-page .wizard-intro p,
.form-reservation-page .wizard-step-header p { color:#776e91; }
.form-reservation-page .wizard-price-pills > span { border-color:#e6dff4; background:#fbfaff; }
.form-reservation-page .wizard-price-pills small { color:#83799f; }
.form-reservation-page .wizard-price-pills strong { color:#6321d7; }
.form-reservation-page .wizard-progress-shell { top:88px; z-index:35; padding:14px 16px; border-radius:22px; background:rgba(255,255,255,.96); backdrop-filter:blur(16px); }
.form-reservation-page .wizard-progress-meta span { color:#776e91; }
.form-reservation-page .wizard-progress-track { background:#eee9f7; }
.form-reservation-page .wizard-progress-track span { background:linear-gradient(90deg,#5b1dda,#953bf4 72%,#d8fa18); box-shadow:none; }
.form-reservation-page .wizard-step-tab { border-color:#e6e0f1; color:#83799e; background:#fbfaff; }
.form-reservation-page .wizard-step-tab span { background:#eee9f8; }
.form-reservation-page .wizard-step-tab.is-active { color:#fff; border-color:#6f29e5; background:linear-gradient(135deg,#5c1ddb,#933af2); box-shadow:0 8px 16px rgba(94,31,218,.16); }
.form-reservation-page .wizard-step-tab.is-active span { color:#331074; background:#d8fa18; }
.form-reservation-page .wizard-step-tab.is-complete:not(.is-active) { color:#5f22cb; border-color:#d8c6ff; background:#f5f0ff; }
.form-reservation-page .wizard-step-tab.is-complete:not(.is-active) span { color:#fff; background:#6d2be2; }
.form-reservation-page .wizard-form-card { min-height:0; padding:25px; border-radius:28px; }
.form-reservation-page .wizard-step-header { border-color:#ece7f4; }
.form-reservation-page .wizard-step-icon { border-color:#e7dfff; color:#6d29e7; background:#f3edff; }
.form-reservation-page .wizard-step-header > div > span { color:#7a2ee2; }
.form-reservation-page .reservation-wizard .field-shell { border:1px solid #e8e2f3; background:#fcfbff; box-shadow:none; }
.form-reservation-page .reservation-wizard .field-shell:focus-within { border-color:#8e43ed; background:#fff; box-shadow:0 0 0 4px rgba(119,47,231,.1); }
.form-reservation-page .reservation-wizard .field-shell.has-error { border-color:#e86783; background:#fff8fa; }
.form-reservation-page .reservation-wizard .field-shell label { color:#2d1769; }
.form-reservation-page .reservation-wizard .field-shell label i { color:#6c28e0; }
.form-reservation-page .reservation-wizard .field-shell input,
.form-reservation-page .reservation-wizard .field-shell select,
.form-reservation-page .reservation-wizard .field-shell .form-control,
.form-reservation-page .reservation-wizard .field-shell .form-select { border-color:#ddd5ed; color:#28125f; background:#fff; color-scheme:light; }
.form-reservation-page .reservation-wizard .field-shell input:focus,
.form-reservation-page .reservation-wizard .field-shell select:focus { border-color:#8c40ec; background:#fff; box-shadow:0 0 0 3px rgba(116,43,230,.1); }
.form-reservation-page .reservation-wizard .field-shell input::placeholder { color:#a59cb9; }
.form-reservation-page .reservation-wizard .field-shell select:disabled { color:#958ca9; background:#f7f5fb; }
.form-reservation-page .reservation-wizard .field-caption { color:#817895; }
.form-reservation-page .reservation-wizard .field-caption.is-warning { color:#b77808; }
.form-reservation-page .wizard-field-error { color:#c6315b; }
.form-reservation-page .select-shell::after { color:#7130e4; }
.form-reservation-page .wizard-trip-types.has-error { border-color:#f0a6b9; background:#fff7f9; }
.form-reservation-page .reservation-wizard .trip-type-card { border:1px solid #e3dcef; color:#28125f; background:#fff; box-shadow:0 5px 14px rgba(50,22,117,.035); }
.form-reservation-page .reservation-wizard .trip-type-card:hover { border-color:#ad83f7; background:#faf7ff; box-shadow:0 10px 20px rgba(67,29,152,.09); }
.form-reservation-page .reservation-wizard .trip-type-card > i { color:#6430d8; background:#f1eaff; }
.form-reservation-page .reservation-wizard .trip-type-card strong { color:#2b1367; }
.form-reservation-page .reservation-wizard .trip-type-card span { color:#82799b; }
.form-reservation-page .reservation-wizard .trip-type-card b { border-color:#e4ddf0; background:#f9f7fd; }
.form-reservation-page .reservation-wizard .trip-type-card.is-active { border-color:#b7ee18; background:linear-gradient(145deg,#f8ffe4,#f8f4ff 62%,#fff); box-shadow:0 14px 26px rgba(85,37,183,.1); }
.form-reservation-page .reservation-wizard .trip-type-card.is-active > i { color:#2e145f; background:#d8fa18; }
.form-reservation-page .reservation-wizard .trip-type-card.is-active b { color:#270d5f; border-color:#d8fa18; background:#d8fa18; }
.form-reservation-page .wizard-privacy-note { border-color:#cceba3; color:#4f556c; background:#f8ffed; }
.form-reservation-page .wizard-privacy-note > i,
.form-reservation-page .wizard-secure-label i { color:#5b8d11; }
.form-reservation-page .wizard-review-card,
.form-reservation-page .reservation-wizard .payment-option { border:1px solid #e5dff1; background:#fbfaff; }
.form-reservation-page .wizard-review-title,
.form-reservation-page .wizard-review-card .detail-row strong,
.form-reservation-page .wizard-review-card .price-row strong,
.form-reservation-page .reservation-wizard .payment-option strong { color:#2b1465; }
.form-reservation-page .wizard-review-title i,
.form-reservation-page .payment-option-icon { color:#6d2ae4; }
.form-reservation-page .payment-option-icon { background:#eee6ff; }
.form-reservation-page .wizard-review-card .detail-row,
.form-reservation-page .wizard-review-card .price-row { background:#fff; }
.form-reservation-page .wizard-review-card .detail-row span,
.form-reservation-page .wizard-review-card .price-row span,
.form-reservation-page .reservation-wizard .payment-option p,
.form-reservation-page .wizard-secure-label { color:#7c7394; }
.form-reservation-page .wizard-review-card .price-row.is-total { background:linear-gradient(135deg,#5b1ddb,#943bf1); }
.form-reservation-page .wizard-review-card .price-row.is-total span,
.form-reservation-page .wizard-review-card .price-row.is-total strong { color:#fff; }
.form-reservation-page .reservation-wizard .payment-option.is-highlight { border-color:#cce784; background:linear-gradient(140deg,#f7ffdf,#fbfaff); }
.form-reservation-page .reservation-wizard .button-accent { color:#fff; background:linear-gradient(135deg,#5b1ddb,#943bf1); box-shadow:0 11px 21px rgba(94,31,218,.2); }
.form-reservation-page .wizard-actions { border-color:#e4ddf1; background:#fff; box-shadow:0 13px 25px rgba(42,20,104,.08); }
.form-reservation-page .wizard-back-button { border-color:#e1d9ef; color:#5420b5; background:#fbfaff; }
.form-reservation-page .wizard-next-button { background:linear-gradient(135deg,#5b1ddb,#943bf1); box-shadow:0 11px 21px rgba(94,31,218,.22); }
.form-reservation-page .wizard-actions-hint { color:#817895; }
.form-reservation-page .wizard-server-errors { border-color:#f2bfcc; color:#9a2142; background:#fff6f8; }
.form-reservation-page .wizard-server-errors > i { color:#d43a64; }
.form-reservation-page .reservation-success-layer { background:rgba(29,10,79,.42); }
.form-reservation-page .reservation-success-card { border-color:#ddd0f6; color:#250d60; background:radial-gradient(circle at 50% 0%,rgba(216,250,24,.32),transparent 35%),#fff; box-shadow:0 32px 80px rgba(28,10,75,.24); }
.form-reservation-page .reservation-success-kicker { color:#5c22ca; }
.form-reservation-page .reservation-success-card > p { color:#776e91; }
.form-reservation-page .reservation-success-meta span { color:#4a317d; background:#f8f5ff; }
.form-reservation-page .reservation-success-meta i { color:#6d2ae4; }
.form-reservation-page .reservation-success-actions .button { color:#fff!important; background:linear-gradient(135deg,#5b1ddb,#943bf1)!important; }
.form-reservation-page .reservation-success-actions .button-secondary { border-color:#ded5ee; color:#5420b5; background:#fff; }
@media(max-width:768px){.form-reservation-page .app-main { padding-top:10px; }.form-reservation-page .reservation-wizard { gap:10px; padding-bottom:22px; }.form-reservation-page .wizard-intro { padding:17px; border-radius:22px; }.form-reservation-page .wizard-intro h2 { font-size:20px; }.form-reservation-page .wizard-progress-shell { top:84px; }.form-reservation-page .wizard-form-card { padding:15px; border-radius:23px; }.form-reservation-page .wizard-step-header h3 { font-size:20px; }.form-reservation-page .reservation-wizard .field-shell { padding:13px; }.form-reservation-page .reservation-wizard .trip-type-card { min-height:100px; }.form-reservation-page .wizard-step-tab { background:#f9f7fd; }.form-reservation-page .wizard-actions { position:sticky; bottom:calc(88px + env(safe-area-inset-bottom)); z-index:20; }}

/* Persistent navigation: the same centered Allen mark and always-available actions on every shared page. */
.liquid-body:not(.home-screen-page) .app-shell { padding-top:94px; }
.liquid-body:not(.home-screen-page) .app-topbar { position:fixed; top:max(8px,env(safe-area-inset-top)); right:50%; z-index:500; width:min(1120px,calc(100% - 32px)); min-height:68px; margin:0; padding:8px 18px; transform:translateX(50%); border:1px solid #e8e3f3; border-radius:22px; background:rgba(255,255,255,.94); box-shadow:0 12px 28px rgba(43,22,109,.1); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.liquid-body:not(.home-screen-page) .app-topbar .brand-block { position:absolute; top:50%; right:50%; z-index:2; transform:translate(50%,-50%); }
.liquid-body:not(.home-screen-page) .app-topbar .brand-logo-appmark { width:52px; height:52px; flex-basis:52px; border-radius:50%; background:#1d075e; box-shadow:0 8px 18px rgba(37,16,105,.2); overflow:hidden; }
.liquid-body:not(.home-screen-page) .app-topbar .brand-logo-appmark img { width:100%; height:100%; object-fit:cover; filter:none; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-copy { display:none; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions { position:static; display:block; min-height:50px; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip { display:none; position:absolute; top:50%; width:46px; min-width:46px; height:46px; min-height:46px; padding:0; transform:translateY(-50%); border:0; border-radius:50%; background:#f3f1fa; color:#210d5d; box-shadow:none; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip > span { display:none; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .notification-header-link { display:inline-flex; left:18px; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip.is-strong { display:inline-flex; right:18px; background:#f3f1fa; color:#210d5d; }
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip:hover { transform:translateY(-50%) scale(1.05); background:#ede6ff; color:#6424dd; }
.liquid-body:not(.home-screen-page) .app-topbar .notification-count { top:-3px; left:-3px; }
.form-reservation-page .app-bottom-nav { display:flex; }
.form-reservation-page .app-shell { padding-bottom:calc(122px + env(safe-area-inset-bottom)); }
@media(max-width:720px){.liquid-body:not(.home-screen-page) .app-shell { width:100%; padding-top:84px; }.liquid-body:not(.home-screen-page) .app-topbar { top:0; width:100%; min-height:76px; padding:10px 20px; border-width:0 0 1px; border-radius:0; }.liquid-body:not(.home-screen-page) .app-topbar .brand-logo-appmark { width:50px; height:50px; flex-basis:50px; }.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .notification-header-link { left:20px; }.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip.is-strong { right:20px; }.form-reservation-page .app-shell { padding-bottom:calc(118px + env(safe-area-inset-bottom)); }}

/* Remove the former dark mobile fade and use one clean, edge-to-edge footer everywhere. */
body.liquid-body::after { display:none; }
@media(max-width:720px){
    .liquid-body:not(.home-screen-page) .app-bottom-nav { right:0; bottom:0; width:100%; min-height:76px; padding:8px 10px calc(8px + env(safe-area-inset-bottom)); transform:none; border:0; border-top:1px solid #eeeaf5; border-radius:0; background:rgba(255,255,255,.98); box-shadow:0 -8px 22px rgba(35,20,85,.06); }
    .liquid-body:not(.home-screen-page) .bottom-nav-item { min-height:56px; padding:6px 4px; color:#35236f; font-size:11px; }
    .liquid-body:not(.home-screen-page) .bottom-nav-item i { font-size:20px; }
    .liquid-body:not(.home-screen-page) .bottom-nav-item.is-active { position:relative; border:0; background:transparent; color:#7c31ee; }
    .liquid-body:not(.home-screen-page) .bottom-nav-item.is-active::after { content:""; position:absolute; right:28%; bottom:1px; left:28%; height:3px; border-radius:999px; background:#7c31ee; }
    .liquid-body:not(.home-screen-page) .app-shell { padding-bottom:calc(98px + env(safe-area-inset-bottom)); }
    .form-reservation-page .app-shell { padding-bottom:calc(98px + env(safe-area-inset-bottom)); }
}

/* Navigation icons are primary touch targets on mobile, not decorative glyphs. */
.liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip > i { font-size:21px; }
@media(max-width:720px){
    .liquid-body:not(.home-screen-page) .app-topbar .topbar-actions .header-chip > i { font-size:22px; }
    .liquid-body:not(.home-screen-page) .bottom-nav-item i { font-size:22px; }
}
