:root{--brand: #c33b25;--ink: #18201f;--muted: #697370;--line: #dfe3dd;--surface: rgba(255, 255, 255, .82);--success: #15803d;--shadow: 0 1.2rem 3rem rgba(36, 45, 42, .07);color:var(--ink);background:radial-gradient(circle at 85% 3%,rgba(213,124,80,.13),transparent 28rem),#faf9f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:#faf9f6}body{min-height:100dvh;margin:0}button,a{-webkit-tap-highlight-color:transparent}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.shuttle-progress span[aria-disabled=true]{opacity:.5}.shuttle-pill{background:#eaf1ff;color:#2556a2}.shuttle-connector-note{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem;border:1px solid #f0ce8c;border-radius:.9rem;background:#fff8e8}.shuttle-connector-note>span{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.75rem;color:#7b4a00;font-weight:800}.shuttle-departure-list,.shuttle-passenger-list{display:grid;gap:.65rem;margin-top:1rem}.shuttle-departure-row,.shuttle-passenger-row{width:100%;display:grid;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid #dfe5e2;border-radius:.9rem;background:#fff;color:#17231d;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.shuttle-departure-row{grid-template-columns:auto minmax(12rem,1fr) auto minmax(6.5rem,auto)}.shuttle-departure-row:hover,.shuttle-passenger-row:hover{border-color:#809f90;box-shadow:0 4px 15px #14382714}.shuttle-departure-row:focus-visible,.shuttle-passenger-row:focus-visible{outline:3px solid rgba(27,109,72,.2);outline-offset:2px}.shuttle-departure-row.selected,.shuttle-passenger-row.selected{border-color:#176e48;background:#f0faf5;box-shadow:inset 0 0 0 1px #176e48}.shuttle-select-indicator,.shuttle-passenger-check{width:1.55rem;height:1.55rem;display:grid;place-items:center;border:2px solid #9ca9a2;border-radius:50%;background:#fff;color:#fff;font-size:.8rem;font-weight:900}.selected>.shuttle-select-indicator,.selected>.shuttle-passenger-check{border-color:#176e48;background:#176e48}.shuttle-departure-main,.shuttle-passenger-main,.shuttle-fare-block,.shuttle-passport-state{display:grid;gap:.18rem}.shuttle-route-time{display:flex;align-items:center;gap:.65rem;font-size:1.08rem}.shuttle-route-time>span,.shuttle-train-meta,.shuttle-fare-block small,.shuttle-passenger-main small,.shuttle-passport-state small,.shuttle-selection-bar small{color:#647169}.shuttle-fare-block{min-width:6.5rem}.shuttle-availability-badge{min-width:7rem;display:grid;justify-items:end;padding:.5rem .65rem;border-radius:.65rem;background:#e9f7ef;color:#16613f}.shuttle-availability-badge.low{background:#fff5d9;color:#775100}.shuttle-availability-badge.sold-out{background:#f2f3f2;color:#5c6661}.shuttle-availability-badge strong{font-size:1.1rem}.shuttle-availability-badge small{font-size:.72rem}.shuttle-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem 1rem;border-radius:.8rem;background:#f4f7f5}.shuttle-selection-bar>div{display:grid;gap:.15rem}.shuttle-passenger-heading-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.shuttle-passenger-search{display:grid;gap:.4rem;margin-top:1rem;color:#4b5851;font-size:.84rem;font-weight:700}.shuttle-passenger-row{grid-template-columns:auto minmax(10rem,1fr) minmax(12rem,auto)}.shuttle-passenger-row.needs-attention{border-color:#efc16b;background:#fffbf1}.shuttle-passport-state{justify-items:end;text-align:right}.shuttle-passport-state.ready strong{color:#176e48}.shuttle-passport-state.warning strong{color:#9b5a00}.shuttle-passenger-empty{padding:2rem 1rem;border:1px dashed #cbd3cf;border-radius:.9rem;text-align:center}.shuttle-shared-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.shuttle-shared-summary div{padding:.85rem;background:#f4f6f5}.shuttle-booking-list{margin-top:1.25rem}.shuttle-passenger-names{margin-top:.3rem!important;font-size:.82rem}@media(max-width:760px){.hero-actions,.shuttle-shared-summary{display:grid;grid-template-columns:1fr;width:100%}.hero-actions button{width:100%}.shuttle-departure-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem}.shuttle-fare-block{grid-column:2;grid-row:2}.shuttle-availability-badge{grid-column:3;grid-row:1/span 2;min-width:5.8rem}.shuttle-passenger-row{grid-template-columns:auto minmax(0,1fr)}.shuttle-passport-state{grid-column:2;justify-items:start;text-align:left}.shuttle-selection-bar{align-items:stretch;flex-direction:column}.shuttle-passenger-heading-actions{justify-content:flex-start}}@media(max-width:460px){.shuttle-departure-row{grid-template-columns:auto minmax(0,1fr)}.shuttle-availability-badge,.shuttle-fare-block{grid-column:2;grid-row:auto;justify-items:start}.shuttle-route-time{font-size:1rem}}.seat-method-panel h2,.seat-method-panel>p,.targeted-seat-heading h2,.targeted-seat-heading p{margin-top:0}.seat-method-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.seat-method-choice label{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#f8f8f5}.seat-method-choice label.selected{border-color:var(--brand);background:#fff4ef;box-shadow:inset 0 0 0 1px var(--brand)}.seat-method-choice input{width:1.1rem;min-height:1.1rem}.seat-method-choice strong,.seat-method-choice small,.passenger-target-heading strong,.passenger-target-heading span,.compact-check strong,.compact-check small,.target-review-list strong,.target-review-list span,.target-review-list small,.booking-seat-targets strong,.booking-seat-targets span{display:block}.seat-method-choice small,.passenger-target-heading span,.compact-check small,.target-review-list span,.target-review-list small,.booking-seat-targets span{margin-top:.25rem;color:var(--muted)}.targeted-seat-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem;min-width:0}.targeted-seat-heading{padding:1rem;border:1px solid #e5c7b8;border-radius:.9rem;background:#fff9f5}.targeted-seat-heading p:last-child{margin-bottom:0;color:var(--muted)}.passenger-target-card{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.passenger-target-heading{display:grid;grid-template-columns:1fr minmax(16rem,.55fr);gap:1rem;align-items:center}.compact-check{margin:0}.reuse-targets,.seat-map-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;align-items:end}.reuse-targets{align-items:center;padding:.75rem;border-radius:.75rem;background:#f6f7f4}.reuse-targets small,.seat-map-builder-heading span,.target-selection-heading span{color:var(--muted);line-height:1.45}.target-rule-list{display:grid;gap:.7rem;margin-top:.8rem}.target-rule-row{display:grid;grid-template-columns:repeat(6,minmax(7rem,1fr)) auto;gap:.6rem;align-items:end;padding:.8rem;border:1px solid var(--line);border-radius:.75rem;background:#fbfbf9}.target-rule-row label,.target-rule-row button{margin:0;min-width:0}.target-rule-row input,.target-rule-row select{min-width:0;max-width:100%}.target-rule-row>small{grid-column:1/-1;color:var(--muted)}.seat-map-builder{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.seat-map-builder-heading strong,.seat-map-builder-heading span,.target-selection-heading strong,.target-selection-heading span{display:block}.seat-map-builder app-seat-map{display:block;margin-top:1rem}.seat-map-controls{display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(10rem,.7fr) auto;gap:.65rem;align-items:end;margin-top:1rem}.seat-map-controls label,.seat-map-controls button{margin:0}.target-selection-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.target-selection-table{display:grid;margin-top:.75rem;border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.target-selection-row{display:grid;grid-template-columns:5rem minmax(12rem,1fr) 6rem auto;gap:.75rem;align-items:center;min-width:0;padding:.7rem .8rem;background:#fff}.target-selection-row+.target-selection-row{border-top:1px solid var(--line)}.target-selection-row label,.target-selection-row button{margin:0}.target-selection-row input{min-width:0;width:100%}.target-selection-header{color:var(--muted);background:#f6f7f4;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.party-policy-notice{display:grid;gap:.3rem;margin-top:1rem;padding:1rem;border:1px solid #b9d9c5;border-radius:.85rem;background:#f0faf4}.party-policy-notice span{color:var(--muted);line-height:1.5}.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}.target-review-list{display:grid;gap:.65rem;margin:1rem 0}.target-review-list>div,.booking-seat-targets{padding:.8rem;border:1px solid #e5c7b8;border-radius:.75rem;background:#fff9f5}.booking-seat-targets{margin:.7rem 0}@media(max-width:760px){.seat-method-choice,.passenger-target-heading{grid-template-columns:1fr}.target-rule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.target-rule-row .danger-link,.target-rule-row>small{grid-column:1/-1}.seat-map-toolbar{align-items:stretch;flex-direction:column}.seat-map-controls{grid-template-columns:1fr}.target-selection-header{display:none}.target-selection-row{grid-template-columns:4rem minmax(0,1fr)}.target-selection-row label,.target-selection-row button{grid-column:2}}
