:root{font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:#18343b;background:#f4f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18343b;--muted: #667c80;--teal: #087e83;--deep: #083f50;--aqua: #daf0ec;--coral: #c65e46;--line: #dce6e3;--surface: #fff;--shadow: 0 16px 50px rgba(14, 58, 64, .07)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #ef9d77;outline-offset:2px}.app-shell{overflow-x:clip;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;gap:38px;padding:0 clamp(20px,5vw,80px);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;padding:0;border:0;color:var(--deep);background:transparent;font:800 21px Avenir Next,Avenir,sans-serif;letter-spacing:-.7px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:13px 13px 13px 4px;background:var(--deep);color:#fff;font-size:20px}.brand small{display:block;margin-top:1px;color:#739096;font:700 8px DM Sans,sans-serif;letter-spacing:1.7px}.main-nav{display:flex;height:100%;align-items:center;gap:24px;flex:1}.main-nav button{position:relative;height:100%;padding:0 2px;border:0;color:#63777c;background:transparent;font-size:13px;font-weight:600;white-space:nowrap}.main-nav button:hover,.main-nav button.active{color:var(--deep)}.main-nav button.active:after{position:absolute;right:0;bottom:0;left:0;height:3px;border-radius:3px 3px 0 0;background:#1c9793;content:""}.menu-toggle,.menu-account{display:none}.account-menu{display:flex;align-items:center;gap:12px}.user-chip{max-width:280px;overflow:hidden;color:var(--ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.user-chip small{display:block;color:var(--muted);font-size:10px;font-weight:400;text-transform:capitalize}.language-button,.link-button{padding:5px;border:0;color:var(--teal);background:transparent;font-size:12px;font-weight:700}.link-button:hover{text-decoration:underline}.content{width:min(1180px,calc(100% - 48px));flex:1;margin:0 auto;padding:38px 0 64px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 0 28px}.page-heading h1{margin:7px 0 6px;color:var(--deep);font:800 clamp(29px,4vw,42px) "Avenir Next",Avenir,sans-serif;letter-spacing:-1.5px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.page-heading.compact{margin-top:0}.page-heading.compact h1{font-size:clamp(27px,3.5vw,36px)}.eyebrow{color:#328889;font-size:10px;font-weight:700;letter-spacing:1.7px}.heading-decoration{margin-right:8%;color:#b8dcd4;font:700 120px Manrope,sans-serif;transform:rotate(-12deg)}.search-card{position:relative;display:grid;grid-template-columns:minmax(150px,1fr) 34px minmax(150px,1fr) minmax(155px,.8fr) auto;align-items:end;gap:14px;padding:23px;border:1px solid #e3ece8;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.field{display:flex;min-width:0;flex-direction:column;gap:7px;color:#486268;font-size:11px;font-weight:700}.field input,.field select,.field textarea,textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #d8e3e0;border-radius:8px;outline:none;color:var(--ink);background:#fff;font-size:13px;font-weight:500}.field textarea,textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,textarea:focus{border-color:#43a29c;box-shadow:0 0 0 3px #43a29c1f}.field small{color:#829397;font-size:10px;font-weight:400}.swap-button{width:34px;height:42px;border:1px solid var(--line);border-radius:9px;color:var(--teal);background:#f3f9f7;font-size:20px}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 17px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:700;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#fff;background:var(--deep)}.button.primary:hover:not(:disabled){background:#0c5965}.button.secondary{border-color:#d6e3df;color:var(--deep);background:#fff}.button.secondary:hover:not(:disabled){background:#f1f8f6}.button.danger{border-color:#f1d4ce;color:#a94231;background:#fff7f5}.button.danger:hover:not(:disabled){background:#ffede8}.button.full{width:100%}.button.small-button{min-height:34px;padding:0 11px;font-size:11px}.search-button{min-width:142px}.results-section{margin-top:38px}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.section-heading h2,.panel-heading h2,.panel h2{margin:0;color:var(--deep);font:750 20px Manrope,sans-serif;letter-spacing:-.4px}.section-heading>span{color:var(--muted);font-size:12px}.trip-list{display:flex;flex-direction:column;gap:10px}.trip-card{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(170px,.8fr) minmax(115px,.5fr) auto;align-items:center;gap:20px;padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:border .15s}.trip-card.chosen-trip{border-color:#36a19a;box-shadow:0 0 0 2px #36a19a1a}.trip-times{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--deep)}.trip-times{min-width:0}.trip-time{display:flex;flex-direction:column;gap:2px;min-width:0}.trip-time.end{align-items:flex-end;text-align:right}.trip-time strong{font:700 18px Manrope,sans-serif;white-space:nowrap}.trip-time small{color:var(--muted);font-size:11px;white-space:nowrap}.trip-times .trip-route{position:relative;color:var(--muted);font-size:11px;text-align:center}.trip-times .trip-route:before{position:absolute;top:50%;right:0;left:0;z-index:0;border-top:1px dashed #9cbab7;content:""}.trip-times .trip-route{isolation:isolate}.trip-times .trip-route{background:linear-gradient(transparent 35%,white 35%,white 70%,transparent 70%)}.trip-details{display:flex;flex-direction:column;gap:5px;color:#597176;font-size:11px}.trip-price strong{display:block;color:var(--deep);font:800 17px Manrope,sans-serif}.trip-price small{color:var(--muted);font-size:10px}.badge{display:inline-flex;width:fit-content;align-items:center;padding:4px 8px;border-radius:20px;color:#537179;background:#edf4f2;font-size:10px;font-weight:700;text-transform:capitalize}.opens-badge{flex-direction:column;align-items:flex-start;gap:1px;border-radius:10px;line-height:1.3;white-space:normal}.badge.delayed,.badge.pending,.badge.queued{color:#875f20;background:#fcf0d8}.badge.paid,.badge.valid,.badge.succeeded,.badge.scheduled{color:#176b51;background:#e1f3e9}.badge.cancelled,.badge.failed,.badge.expired,.badge.used,.badge.amount_mismatch,.badge.paid_unfulfilled,.badge.manual_required{color:#a04337;background:#fae9e4}.badge.refunded{color:#3e6782;background:#e5f0f6}.empty-state{padding:28px 18px;color:var(--muted);font-size:13px;text-align:center}.sea-empty{margin-top:18px;padding:33px;border:1px dashed #c9dcd6;border-radius:13px;background:#f8fbf9}.booking-workflow{margin-top:42px;padding-top:27px;border-top:1px solid var(--line)}.booking-workflow>.section-heading{margin-bottom:19px}.seat-panel{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(340px,1.1fr);gap:30px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.seat-area{margin-top:23px;padding:20px;border-radius:12px;background:#f5f9f7}.seat-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;color:#62797d;font-size:10px}.seat-legend span{display:inline-flex;align-items:center;gap:5px}.seat{display:grid;width:100%;min-width:0;height:38px;place-items:center;border-radius:8px 8px 5px 5px;font-size:10px;font-weight:700}.seat.available{border:1px solid #8bc5b3;color:#176c58;background:#e6f6ef}.seat.available:hover:not(:disabled){border-color:#148c77;background:#d3efe4}.seat.selected{border:1px solid var(--deep);color:#fff;background:var(--deep);box-shadow:0 3px 6px #083f5040}.seat.unavailable{border:1px solid #dbe2df;color:#9aa9a6;background:#e8edeb;cursor:not-allowed}.seat-map{display:grid;justify-content:center;justify-items:stretch;align-items:center;gap:9px;width:100%;max-width:100%;margin:0 auto;padding:14px;border:1px solid #dbe8e3;border-radius:50% 50% 18px 18px/9% 9% 12px 12px;background:#fff}.passenger-form{display:flex;flex-direction:column;gap:14px}.passenger-form h3{margin:1px 0 0;color:var(--deep);font:750 18px Manrope,sans-serif}.passenger-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid #e6eeeb;border-radius:10px}.passenger-fields>strong{grid-column:1 / -1;color:var(--deep);font-size:12px}.quote-box{display:flex;flex-direction:column;gap:10px;padding:15px;border-radius:11px;background:#f0f8f5}.quote-box>div{display:flex;justify-content:space-between;color:#5e7777;font-size:12px}.quote-box strong{color:var(--ink)}.quote-box .quote-total{padding-top:10px;border-top:1px solid #d5e7df;color:var(--deep);font-weight:700}.quote-box .quote-total strong{font:800 18px Manrope,sans-serif}.panel{margin-bottom:17px;padding:23px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 28px #0e3a4009}.panel>p{line-height:1.6}.panel-heading{margin-bottom:18px}.panel-heading h2{margin-top:5px}.panel-heading h3{margin:0;color:var(--deep);font:700 16px Manrope,sans-serif}.table-scroll{width:100%;overflow-x:auto;border:1px solid #e1e9e6;border-radius:10px;background:#fff}.table-scroll.panel{padding:0}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}th{padding:12px 13px;color:#657b7c;background:#f5f8f6;font-size:10px;font-weight:700;text-transform:uppercase;white-space:nowrap}td{max-width:280px;padding:12px 13px;border-top:1px solid #edf1ef;color:#38555a;line-height:1.5}td .badge,.actions-cell{white-space:nowrap}.danger-text{color:#b74e3d!important}.json-editor{display:flex;flex-direction:column;gap:13px;margin-top:22px;padding-top:20px;border-top:1px solid #e8efec}.json-editor .panel-heading{margin-bottom:0}.json-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.form-panel{margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.form-panel .panel-heading{margin-bottom:8px}.resource-form{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:end}.resource-form fieldset,.trip-picker{min-width:0;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.resource-form legend,.trip-picker legend{padding:0 6px;color:#486268;font-size:11px;font-weight:700}.check-field{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-right:14px;color:var(--ink);font-size:13px;font-weight:500}.check-field input{width:18px;height:18px;accent-color:var(--teal)}.days-field{display:flex;flex-wrap:wrap}.trip-picker{display:flex;flex-direction:column;margin:12px 0}.stop-row{display:grid;grid-template-columns:28px minmax(160px,2fr) minmax(120px,1fr) auto;gap:10px;align-items:end;margin-bottom:10px}.stop-number{display:grid;width:26px;height:26px;margin-bottom:9px;place-items:center;border-radius:50%;color:#fff;background:var(--deep);font-size:11px;font-weight:700}.row-actions{display:flex;gap:6px;margin-bottom:4px}.layout-editor{display:grid;gap:6px;width:max-content;max-width:100%;margin:10px 0;overflow-x:auto;padding:4px}.layout-cell{width:46px;height:40px;border-radius:8px;font-size:10px;font-weight:700}.layout-cell.seat,.swatch.seat{border:1px solid #8bc5b3;color:#176c58;background:#e6f6ef}.layout-cell.blocked,.swatch.blocked{border:1px solid #e0b3a9;color:#a94231;background:#fbe9e5;text-decoration:line-through}.layout-cell.empty,.swatch.empty{border:1px dashed #c5d3d0;color:#a7b6b3;background:#fff}.swatch{display:inline-block;width:14px;height:12px;border-radius:3px}@media(max-width:640px){.stop-row{grid-template-columns:1fr}.stop-number{display:none}}.tabs{display:flex;gap:6px;overflow-x:auto;margin:2px 0 16px;border-bottom:1px solid var(--line)}.tabs button{padding:11px 13px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:12px;font-weight:600;white-space:nowrap}.tabs button.active{border-color:var(--teal);color:var(--deep)}.generator-panel h2,.ops-grid h2{margin-top:8px}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.inline-form .field{flex:1;min-width:140px}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ops-grid .panel{min-width:0}.ops-grid .field{margin:13px 0}.ops-grid .json-editor{margin:0;padding:23px;border:1px solid var(--line);border-radius:14px;background:#fff}.booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:17px 0}.booking-summary div{display:flex;flex-direction:column;gap:6px}.booking-summary small{color:var(--muted);font-size:10px}.booking-summary strong{color:var(--deep);font-size:12px}.booking-detail .panel-heading>div h2{margin-top:7px}.booking-detail .panel-heading>.badge{margin-left:auto}.button-row{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.ticket-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.ticket-card{display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding:17px;border:1px dashed #a8c8be;border-radius:12px;background:#f8fbf9}.ticket-main{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.ticket-label{display:flex;align-items:center;gap:8px;color:#397d78;font-size:9px;font-weight:800;letter-spacing:1px}.ticket-main>strong{color:var(--deep);font:750 17px Manrope,sans-serif}.ticket-main>span:not(.badge){color:#5c7376;font-size:11px}.ticket-qr{width:128px;height:128px;align-self:center;padding:5px;border:1px solid #e3eae7;border-radius:8px;background:#fff}.ticket-actions{display:flex;gap:7px;margin-top:3px}.ticket-wide{grid-column:1 / -1}.refund-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:11px;border-top:1px solid #e3eae7;color:#58716f;font-size:11px}.refund-status .inline-form{flex:1 1 100%}.checkin-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(300px,1.15fr);gap:16px}.checkin-form form{display:flex;flex-direction:column;gap:14px;margin-top:18px}.checkbox-field{display:flex;align-items:center;gap:9px;color:#466166;font-size:12px}.checkbox-field input{width:16px;height:16px;accent-color:var(--teal)}.qr-scanner{display:flex;flex-direction:column;gap:10px;max-width:380px;margin:0 auto}.qr-viewport{width:100%;min-height:200px;overflow:hidden;border-radius:12px;background:#0e2a30}.qr-viewport:not(.live){display:none}.qr-viewport video{display:block;width:100%!important;height:auto}.qr-placeholder{display:grid;place-items:center;min-height:140px;padding:16px;border:1px dashed #b9cdd0;border-radius:12px;color:var(--muted);font-size:12px;text-align:center}.scan-outcome{padding:16px;border-radius:12px;scroll-margin:70px 0 12px}.scan-outcome.valid{color:#1f624e;background:#e8f5ed;border:2px solid #29966e}.scan-outcome.invalid{color:#943f34;background:#fff0ec;border:2px solid #c65e46}.scan-outcome h3{margin:0;font-size:22px;line-height:1.15}.scan-outcome small{opacity:.8}.outcome-head{display:flex;align-items:center;gap:12px}.outcome-icon{display:grid;flex:none;width:46px;height:46px;place-items:center;border-radius:50%;color:#fff;background:#29966e;font-size:26px;font-weight:800}.invalid .outcome-icon{background:#c65e46}.outcome-message{margin:10px 0 0;font-weight:600}.outcome-note{margin:10px 0 0;font-size:12px}.boarding-card{margin-top:12px;padding:12px;border-radius:10px;color:var(--ink);background:#ffffffd9}.boarding-passenger{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.boarding-passenger strong{font-size:20px}.boarding-seat{padding:3px 10px;border-radius:20px;color:#fff;background:var(--deep);font-size:15px;font-weight:800}.boarding-journey{display:flex;flex-wrap:wrap;gap:4px 8px;margin:8px 0 10px;font-size:16px;font-weight:700}.scan-outcome dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.scan-outcome dl div{display:flex;flex-direction:column;gap:2px}.scan-outcome dt{font-size:10px;opacity:.72}.scan-outcome dd{margin:0;font-size:12px;font-weight:700;overflow-wrap:anywhere}.report-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px}.report-results{margin-top:17px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:15px 0 19px}.summary-item{display:flex;flex-direction:column;gap:6px;padding:13px;border-radius:9px;background:#f3f8f6}.summary-item small{color:#66807e;font-size:10px;text-transform:capitalize}.summary-item strong{color:var(--deep);font:750 16px Manrope,sans-serif}.alert{position:relative;margin:10px 0;padding:12px 38px 12px 13px;border:1px solid #f1d1c9;border-radius:8px;color:#923d32;background:#fff3ef;font-size:12px;line-height:1.55}.alert.success{border-color:#c8e4d5;color:#24644c;background:#ecf8f0}.alert.info{border-color:#c9e3e6;color:#285d6a;background:#eff9fa}.alert-close{position:absolute;top:4px;right:8px;border:0;color:inherit;background:transparent;font-size:20px}.muted{color:var(--muted)}.small{font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.site-footer{display:flex;justify-content:space-between;gap:15px;padding:20px clamp(20px,5vw,80px);border-top:1px solid var(--line);color:#74898a;background:#fff;font-size:10px}.site-footer a{color:var(--teal);font-weight:600;text-decoration:none}.center-page{display:grid;min-height:100vh;place-items:center;padding:25px;background:#f3f8f6}.payment-result{width:min(100%,520px);padding:30px}.payment-result h1{color:var(--deep);font:800 29px Manrope,sans-serif}.payment-result>p{color:var(--muted);font-size:13px;line-height:1.6}.dev-banner{margin-bottom:18px;padding:9px;border-radius:6px;color:#895723;background:#fff1d8;font-size:10px;font-weight:800;letter-spacing:.8px;text-align:center}.signin-card{display:flex;width:min(100%,380px);flex-direction:column;gap:13px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.signin-card h2{margin:0;font:750 19px Manrope,sans-serif}.google-button{gap:10px;border-color:#d8e0de;color:#263b40;background:#fff}.google-button:hover:not(:disabled){background:#f7f9f8}.signin-prompt{display:grid;place-items:center}.signin-prompt>p{color:var(--muted)}.loading-screen{display:grid;min-height:100vh;place-items:center;color:var(--deep);font:700 20px Manrope,sans-serif}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#07252d8c}.modal-content{position:relative;width:min(100%,420px)}.modal-content .signin-card{width:100%;box-shadow:0 20px 70px #092d3650}.modal-close{position:absolute;z-index:1;top:10px;right:10px;width:30px;height:30px;border:0;border-radius:50%;color:#62797d;background:#f0f5f3;font-size:20px}[dir=rtl] .main-nav,[dir=rtl] .account-menu,[dir=rtl] .trip-times,[dir=rtl] .booking-summary,[dir=rtl] .report-form{direction:rtl}[dir=rtl] table{text-align:right}@media(max-width:980px){.topbar{height:auto;min-height:74px;flex-wrap:wrap;gap:12px 24px;padding-top:12px;padding-bottom:0}.brand{margin-right:auto}.topbar{position:relative;min-height:64px;padding-bottom:12px}.user-chip{display:none}.brand,.account-menu{flex:none}.account-menu{margin-left:auto}.brand{margin-right:0}.menu-account{display:block;margin-top:6px;padding:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;overflow-wrap:anywhere;text-transform:none}.menu-account strong{color:var(--ink)}.menu-toggle{display:grid;flex:none;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--deep);background:#fff;font-size:20px}.main-nav{display:none;order:3;flex:0 0 100%;width:100%;height:auto;flex-direction:column;align-items:stretch;gap:2px;padding-top:8px;border-top:1px solid var(--line)}.main-nav.open{display:flex}.main-nav button{height:48px;padding:0 12px;border-radius:10px;text-align:left;font-size:15px}.main-nav button.active{background:#e6f4f2}.main-nav button.active:after{display:none}.topbar{gap:8px;padding:10px clamp(14px,3vw,28px)}.brand{font-size:19px}.brand-mark{width:34px;height:34px}.account-menu{gap:8px}.brand span:not(.brand-mark){display:none}.account-menu .button{min-height:40px;font-size:13px}.language-button{min-height:40px;padding:0 10px;font-size:13px}.search-card{grid-template-columns:1fr 34px 1fr}.search-card .field:nth-of-type(3){grid-column:1 / 3}.search-button{grid-column:3;grid-row:2}.trip-card{grid-template-columns:minmax(0,1fr) auto}.trip-details{grid-column:1;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.trip-price{grid-column:2;grid-row:1}.trip-card>.button{grid-column:2;grid-row:2}}@media(max-width:680px){.content{width:calc(100% - 28px);padding:18px 0 40px}.heading-decoration{display:none}.page-heading{align-items:flex-start;margin:4px 0 18px}.page-heading h1{letter-spacing:-.8px}.page-heading p{font-size:13px}.field input,.field select,.field textarea,textarea,input,select{font-size:16px}.field input,.field select{min-height:48px}.button{min-height:46px;font-size:14px}.button.small-button{min-height:40px;font-size:13px}.field{font-size:12px}.link-button{padding:10px 6px;font-size:13px}.search-card{grid-template-columns:1fr;gap:10px;padding:16px;border-radius:16px}.search-card .field:nth-of-type(n),.search-button{grid-column:1;grid-row:auto}.swap-button{width:100%;height:36px}.swap-button{font-size:0}.swap-button:before{content:"⇅";font-size:20px}.search-button{width:100%;min-width:0;font-size:15px}.results-section{margin-top:26px}.section-heading,.panel-heading{gap:10px;flex-wrap:wrap}.trip-card{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px}.trip-times{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px}.trip-times .trip-route{align-self:center;overflow-wrap:anywhere}.trip-time strong{font-size:17px}.trip-times .trip-route{font-size:11px}.trip-details{grid-column:1;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px}.trip-price{grid-column:2;grid-row:2;text-align:right}.trip-price strong{font-size:18px}.trip-card>.button{grid-column:1 / -1;grid-row:3;width:100%}.badge{max-width:100%;font-size:11px;white-space:normal}.trip-details{min-width:0}.booking-workflow{margin-top:28px;padding-top:20px}.seat-panel,.ops-grid,.checkin-layout{grid-template-columns:1fr}.seat-panel{gap:20px;padding:14px}.seat-area{padding:12px}.seat{height:42px;font-size:11px}.seat-legend{font-size:11px}.passenger-fields{grid-template-columns:1fr}.passenger-fields>strong{grid-column:auto}.quote-box>div{font-size:13px}.booking-summary{grid-template-columns:1fr 1fr}.booking-summary strong{font-size:13px}.report-form{grid-template-columns:1fr 1fr}.report-form>.field:first-child{grid-column:1 / -1}.report-form>button{grid-column:1 / -1}.ticket-card{grid-template-columns:1fr;padding:14px}.ticket-qr{width:160px;height:160px;justify-self:center;grid-row:1}.ticket-actions{flex-wrap:wrap}.ticket-actions .button{flex:1 1 140px}.button-row .button{flex:1 1 100%}.panel{padding:14px;border-radius:12px}.panel h2,.section-heading h2{font-size:18px}.form-panel{padding:14px}.form-grid{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}.inline-form .field{flex:none;min-width:0;width:100%}.inline-form>.button{width:100%}.typed-confirm{min-width:0;width:100%}.row-actions .button{flex:1 1 auto}table{font-size:12px}td{max-width:220px}.tabs button{padding:12px 14px;font-size:13px}.summary-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:end;padding:0}.modal-content{width:100%}.modal-content .signin-card{width:100%;border-radius:16px 16px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}.center-page{padding:14px}.payment-result{padding:20px}.scan-outcome h3{font-size:20px}.boarding-passenger strong{font-size:18px}.site-footer{flex-direction:column;padding:17px 16px max(17px,env(safe-area-inset-bottom));font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.pair-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;margin-top:8px}.badge.restricted{border-color:#e9cf9c;color:#8a5a00;background:#fff6e0}.settings-stack{display:grid;gap:16px}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.inline-form .field{flex:1 1 240px}.file-button{position:relative;display:inline-flex;align-items:center;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-button:focus-within{outline:2px solid var(--teal);outline-offset:2px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.typed-confirm{display:flex;flex-wrap:wrap;align-items:end;gap:8px;min-width:260px}.typed-confirm .field{flex:1 1 160px}.danger-zone{border-color:#f1d4ce}@media(max-width:900px){.checkin-layout .checkin-result{order:-1}}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:12px}.pager>div{display:flex;align-items:center;gap:10px}@media(max-width:680px){.pager{justify-content:center}}.ops-grid .inline-form .field{margin:0}.range-form{flex-wrap:nowrap;gap:8px}.range-form .field{flex:0 1 150px}.trips-heading{align-items:flex-end;margin-bottom:14px}@media(max-width:680px){.inline-form .field{flex:0 0 auto}.trips-heading{align-items:stretch;flex-direction:column}.range-form{flex-direction:row;flex-wrap:wrap;align-items:end}.range-form .field{flex:1 1 130px;width:auto}.range-form>.button{width:auto;flex:1 1 100%}.ops-grid .inline-form{gap:12px}}.create-trip-button{margin-top:16px}.brand-mark:has(img){overflow:hidden;background:transparent}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.logo-editor{display:flex;align-items:center;gap:16px;margin:16px 0}.logo-preview{flex:none;width:72px;height:72px;font-size:32px;border:1px solid var(--line)}.logo-actions{display:flex;flex-direction:column;gap:6px;min-width:0}.section-title{margin:22px 0 10px;color:var(--deep);font:700 15px Manrope,sans-serif}.brand-preview{overflow:hidden;border:1px dashed var(--line);border-radius:12px}.brand-preview .brand{padding:12px 16px}.brand-preview .brand span:not(.brand-mark){display:block}.brand-preview .site-footer{flex-wrap:wrap}.footer-contact{display:inline-flex;flex-wrap:wrap;gap:4px 12px}.site-footer{flex-wrap:wrap}.provider-choice{display:grid;gap:10px;margin:14px 0;padding:0;border:0}.provider-choice legend{margin-bottom:8px;color:var(--deep);font-weight:700}.provider-choice label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.provider-choice label:has(input:checked){border-color:#36a19a;background:#f1f9f7}.provider-choice input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--teal)}.provider-choice span{display:flex;flex-direction:column;gap:3px}.provider-choice small{color:var(--muted);font-size:12px;font-weight:400}.form-grid .wide{grid-column:1 / -1}.seat-legend .seat{display:inline-block;width:18px;height:14px;border-radius:4px}.wallet-balance{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-balance>div,.wallet-stat{display:grid;gap:4px;min-width:0}.wallet-balance small,.wallet-stat small{color:var(--muted, #5a7470);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em}.wallet-balance strong{font:800 32px Manrope,sans-serif;color:var(--deep)}.wallet-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:17px}.wallet-stat{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.wallet-stat strong{font:800 22px Manrope,sans-serif;color:var(--deep);overflow-wrap:anywhere}.wallet-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:17px;align-items:start}.wallet-forms form{display:grid;gap:12px}.wallet-forms .panel-heading{margin-bottom:0}.wallet-inline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.wallet-in{color:#0b7a4b;font-weight:700}.wallet-out{color:#b4332b;font-weight:700}
