@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,Arial,sans-serif;color:#17202a;background:#f3f6f7;font-synthesis:none;--ink:#17202a;--muted:#75818c;--surface:#fff;--soft:#e9eef0;--accent:#147763;--accent-soft:#daf2eb;--coral:#ef6b55;--danger:#bd3a2b;--danger-soft:#fde8e4;--shadow:0 12px 34px rgba(28,43,54,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f6f7;letter-spacing:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.97)}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.15;font-weight:800}h2{font-size:18px}.app-shell{min-height:100vh;padding-bottom:calc(160px + env(safe-area-inset-bottom))}.page{width:min(100%,720px);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 18px 34px}.page-enter{animation:page-in .42s cubic-bezier(.2,.7,.2,1)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:5px}.brand-mark{width:50px;height:50px;border-radius:18px;background:var(--ink);color:#fff;display:grid;place-items:center;transform:rotate(-4deg);box-shadow:0 10px 22px #17202a33}.brand-mark svg{width:23px;transform:rotate(4deg)}.segments{background:#e5eaed;padding:4px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.segments button{height:42px;border:0;background:transparent;outline:0;color:var(--muted);border-radius:13px;transition:background .25s,color .25s,transform .2s,box-shadow .25s}.segments button:focus-visible{box-shadow:inset 0 0 0 2px #14776359}.segments button.active{background:#fff;color:var(--ink);font-weight:800;box-shadow:0 5px 14px #18263114}.trip-segments{margin-bottom:14px}.route-panel{background:var(--surface);border-radius:24px;padding:8px 18px;box-shadow:var(--shadow);transition:box-shadow .25s,transform .25s}.route-panel:focus-within{box-shadow:0 16px 38px #14776321}.route-panel.has-error{box-shadow:0 0 0 2px #bd3a2b38,var(--shadow)}.route-point{border:0;width:100%;background:none;min-height:78px;display:grid;grid-template-columns:16px 1fr auto;gap:12px;text-align:left;align-items:center;color:var(--ink);padding:0;transition:transform .2s}.route-point:hover{transform:translate(3px)}.route-point span:nth-child(2){display:flex;flex-direction:column;gap:3px}.route-point small,.field>span,.checkout-bar small,.booking-meta small,.provider-row small{color:var(--muted);font-size:12px}.route-point strong{font-size:16px}.route-flag{width:38px;height:28px;object-fit:cover;border-radius:9px;box-shadow:0 3px 9px #0000001f}.dot{width:11px;height:11px;border-radius:50%;display:block;box-shadow:inset 0 0 0 3px var(--accent)}.dot.finish{box-shadow:inset 0 0 0 3px var(--coral)}.route-line{height:22px;margin-left:5px;border-left:2px dotted #bdc8ce;position:relative}.route-line svg{width:18px;position:absolute;left:-10px;top:1px;color:var(--muted);background:#fff;transform:rotate(90deg)}.form-section{margin-top:28px}.form-section>h2{margin-bottom:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-heading>span{font-size:12px;color:var(--muted);font-weight:700}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;min-width:0}.field>div{display:flex;align-items:center;gap:10px}.field svg{width:19px;color:var(--muted);flex:none}.field input,.field select{width:100%;min-width:0;height:52px;padding:0 15px;color:var(--ink);background:#fff;border:0;border-radius:16px;outline:0;box-shadow:0 5px 18px #1b2a350d;transition:box-shadow .2s,transform .2s,background .2s}.field>div input{flex:1}.field input:focus,.field select:focus{box-shadow:0 0 0 3px #14776329,0 8px 22px #1b2a3512;transform:translateY(-1px)}.field.invalid input,.field.invalid select{background:#fff8f6;box-shadow:0 0 0 2px #bd3a2b47}.field-error{display:block;color:var(--danger);font-size:11px;font-weight:700;animation:shake-in .28s ease}.date-grid,.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.passenger-block{background:#ffffffa3;border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 8px 25px #1b2a350a;animation:card-in .35s ease both}.passenger-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.passenger-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.passenger-bottom .segments{margin-top:19px}.field.compact input{height:46px}.mini-icon{width:34px;height:34px;border:0;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--ink)}.mini-icon svg{width:17px}.mini-icon.danger{background:var(--danger-soft);color:var(--danger)}.add-passenger{width:100%;height:48px;border:0;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;transition:transform .2s,box-shadow .2s}.add-passenger:hover{box-shadow:0 8px 20px #1477631f;transform:translateY(-1px)}.add-passenger svg{width:19px}.advanced{margin-top:20px;background:#e9eef0;border-radius:20px;padding:0 16px}.advanced summary{cursor:pointer;list-style:none;min-height:52px;display:flex;align-items:center;font-weight:800;font-size:13px}.advanced summary::-webkit-details-marker{display:none}.advanced summary:after{content:"+";margin-left:auto;font-size:20px;transition:transform .25s}.advanced[open] summary:after{transform:rotate(45deg)}.advanced-fields{padding:2px 0 5px;animation:page-in .25s ease}.error-banner{margin-top:14px;color:#9f2e21;background:var(--danger-soft);padding:13px 15px;border-radius:16px;font-size:13px;font-weight:650;animation:shake-in .3s ease}.checkout-bar{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:18px}.checkout-bar>div{display:flex;flex-direction:column;white-space:nowrap}.checkout-bar strong{font-size:23px}.primary,.secondary{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border-radius:17px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.primary{background:var(--ink);color:#fff;padding:0 20px;flex:1;box-shadow:0 10px 24px #17202a30}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 29px #17202a3b}.primary:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}.primary svg,.secondary svg{width:19px}.secondary{background:#e6ecef;color:var(--ink);width:100%;padding:0 16px}.secondary:hover{background:#dce5e9}.spin{animation:spin 1s linear infinite}.bubble-nav{position:fixed;z-index:30;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);height:70px;width:min(calc(100% - 20px),320px);padding:6px;background:#17202af5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:38px;display:flex;gap:5px;box-shadow:0 16px 40px #111a2340}.bubble-nav button{border:0;background:transparent;-webkit-tap-highlight-color:transparent;outline:0;color:#abb4bc;height:58px;flex:1;padding:5px 10px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background .3s,color .3s,transform .2s}.bubble-nav svg{width:21px;height:21px;transition:transform .3s}.bubble-nav span{font-size:10px;font-weight:800}.bubble-nav button:focus-visible{box-shadow:inset 0 0 0 2px #ffffffb3}.bubble-nav button.active{background:#fff;color:var(--ink)}.bubble-nav button.active svg{transform:translateY(-1px) scale(1.08)}.sheet-backdrop{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;background:#1019226b;display:flex;align-items:flex-end;animation:fade-in .2s ease}.sheet{background:#f6f8f9;width:100%;max-height:90vh;border-radius:28px 28px 0 0;padding:23px 18px max(24px,env(safe-area-inset-bottom));box-shadow:0 -20px 60px #121c262e;animation:sheet-up .35s cubic-bezier(.2,.8,.2,1)}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.icon-button{border:0;width:44px;height:44px;border-radius:16px;background:#fff;display:grid;place-items:center;transition:transform .2s,background .2s,box-shadow .2s}.icon-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1b2a351a}.icon-button svg{width:20px}.icon-button.dark{background:var(--ink);color:#fff}.icon-button.soft{background:#e6ecef;color:var(--ink)}.search{display:flex;align-items:center;gap:10px;height:52px;background:#fff;padding:0 15px;border-radius:17px;box-shadow:0 8px 25px #1b2a350d}.search svg{width:20px;color:var(--muted)}.search input{border:0;outline:0;flex:1;min-width:0;background:transparent}.airport-list{overflow:auto;max-height:calc(90vh - 145px);padding-top:10px}.airport-row{width:100%;min-height:72px;border:0;background:transparent;display:grid;grid-template-columns:44px 1fr 24px;gap:12px;align-items:center;text-align:left;color:var(--ink);padding:5px 7px;border-radius:16px;transition:background .2s,transform .2s}.airport-row:hover{background:#fff;transform:translate(3px)}.airport-row img{width:40px;height:29px;object-fit:cover;border-radius:9px}.airport-row span{display:flex;flex-direction:column;gap:2px}.airport-row small{color:var(--muted)}.airport-row svg{color:var(--accent);width:19px}.no-results{text-align:center;color:var(--muted);padding:40px 10px}.bookings-heading{margin:6px 0 14px}.bookings-heading h2{font-size:23px}.count{background:var(--accent-soft);color:var(--accent);font-weight:800;min-width:42px;height:42px;border-radius:15px;display:grid;place-items:center}.booking-list{display:grid;gap:14px}.booking{background:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow);animation:card-in .4s ease both;transition:transform .25s,box-shadow .25s}.booking:hover{transform:translateY(-2px);box-shadow:0 17px 40px #1c2b361c}.booking-head{display:flex;justify-content:space-between;align-items:center}.booking-head>small{color:var(--muted)}.status{font-size:11px;font-weight:800;padding:6px 10px;background:#edf1f3;border-radius:14px}.status.ready{color:#08705a;background:#dff3ed}.status.payment_failed,.status.provider_failed{color:#aa321f;background:#fee8e4}.status.awaiting_payment,.status.refund_pending{color:#805d06;background:#fff0c9}.booking-route{display:grid;grid-template-columns:minmax(80px,1fr) minmax(60px,1fr) minmax(80px,1fr);align-items:center;text-align:center;margin:24px 0}.booking-route>div{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.booking-route>div img{width:44px;height:31px;object-fit:cover;border-radius:10px;box-shadow:0 4px 10px #0000001f}.booking-route>div strong{font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-route>span{display:flex;align-items:center;color:var(--accent)}.booking-route i{height:2px;background:#e0e7ea;flex:1;border-radius:2px}.booking-route svg{width:21px;margin:0 7px}.booking-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:12px}.booking-meta span{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.reference{margin-top:15px;font-size:13px}.booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.booking-actions .secondary{margin:0;min-width:0}.booking-actions .download-action{height:52px}.empty{text-align:center;padding:58px 20px;color:var(--muted)}.empty svg{width:42px;height:42px;margin-bottom:14px}.empty h2{color:var(--ink);margin-bottom:7px}.pdf-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#192129;display:flex;flex-direction:column;animation:fade-in .25s ease}.pdf-overlay>header{min-height:72px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.pdf-overlay>header>div:first-child{display:flex;flex-direction:column;gap:3px}.pdf-overlay>header small{color:#aeb8c0}.pdf-overlay>header>div:last-child{display:flex;gap:8px}.pdf-stage{position:relative;flex:1;min-height:0;background:#dfe5e8;border-radius:22px 22px 0 0;overflow:auto}.pdf-document{min-height:100%;padding:12px;display:flex;justify-content:center}.pdf-document .react-pdf__Document{height:max-content;box-shadow:0 10px 35px #1019222e}.pdf-document canvas{display:block;max-width:100%;height:auto!important}.pdf-pagination{position:sticky;z-index:2;bottom:14px;margin:-66px auto 14px;width:max-content;height:52px;padding:4px;display:flex;align-items:center;gap:10px;color:#fff;background:#17202af0;border-radius:18px;box-shadow:0 10px 30px #10192247}.pdf-pagination .icon-button{width:44px;height:44px}.pdf-pagination .icon-button:disabled{opacity:.35}.pdf-pagination span{min-width:48px;text-align:center;font-weight:800;font-size:12px}.pdf-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.pdf-loading svg{width:32px}.error-state{padding:24px;text-align:center;color:var(--danger)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:11px}.stats article{background:#fff;border-radius:20px;padding:17px;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:4px 10px;box-shadow:var(--shadow)}.stats article>svg{grid-row:1/3;color:var(--accent);width:22px}.stats small{color:var(--muted)}.stats strong{font-size:19px}.admin-form{margin-top:20px;background:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.admin-form .primary{width:100%}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-title svg{width:20px;color:var(--accent)}.provider-editor{padding-bottom:12px}.provider-editor+.provider-editor{padding-top:10px;box-shadow:inset 0 1px #edf1f3}.provider-row{display:flex;justify-content:space-between;align-items:center;min-height:56px}.provider-row>div{display:flex;flex-direction:column;gap:4px}.provider-fees{display:grid;grid-template-columns:1fr 1fr 44px;gap:8px;align-items:end}.provider-fees .field{margin:0}.provider-fees .field input{height:44px}.switch{position:relative;width:48px;height:28px}.switch input{opacity:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:#cbd2d8;transition:.2s}.switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(20px)}.admin-orders{display:grid;gap:5px}.admin-orders article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 3px}.admin-orders article+article{box-shadow:inset 0 1px #edf1f3}.admin-orders article>div{display:flex;flex-direction:column}.admin-orders small{color:var(--muted)}.admin-orders b{font-size:12px}.toast{position:fixed;z-index:90;left:50%;top:max(18px,env(safe-area-inset-top));transform:translate(-50%);background:var(--ink);color:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 14px 30px #17202a40;animation:toast-in .3s ease}.toast svg{width:18px}.splash{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.splash strong{font-size:24px}.splash span{color:var(--muted);font-size:13px}.loading{display:grid;place-items:center;min-height:70vh}@keyframes page-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shake-in{0%{opacity:0;transform:translate(-4px)}60%{transform:translate(2px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:560px){.booking-actions .secondary{padding:0 10px;font-size:12px}.booking-actions .download-action span{display:inline}.date-grid,.name-grid,.passenger-bottom{grid-template-columns:1fr}.passenger-bottom .segments{margin-top:0}.booking-meta{grid-template-columns:1fr 1fr;row-gap:12px}.stats,.admin-form .name-grid{grid-template-columns:1fr 1fr}.checkout-bar{align-items:stretch;flex-direction:column}.checkout-bar>div{flex-direction:row;align-items:baseline;justify-content:space-between}}@media(max-width:380px){.page{padding-left:14px;padding-right:14px}h1{font-size:27px}.provider-fees{grid-template-columns:1fr 1fr 42px}.admin-form .name-grid{grid-template-columns:1fr}.booking-route{grid-template-columns:minmax(72px,1fr) 50px minmax(72px,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
