:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1e2420;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{z-index:5;background:#fff;border-bottom:1px solid #dedbd2;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar div,nav{gap:8px;display:flex}.topbar button,nav button{background:#fff;border:1px solid #d4d0c6;border-radius:8px;min-height:38px;padding:0 12px}.topbar .active,nav .active{color:#fff;background:#224b37;border-color:#224b37}.page{min-height:100vh;padding:34px}.booking-hero{color:#fff;background:linear-gradient(90deg,#151f18c7 0%,#151f186b 56%,#151f1838 100%),url(/assets/hero-Boviw0wR.jpg) 50%/cover;border-radius:8px;grid-template-columns:minmax(320px,1fr) auto;align-items:end;gap:24px;max-width:1280px;min-height:460px;margin:0 auto 22px;padding:34px;display:grid}.booking-hero h1{letter-spacing:0;margin:0 0 10px;font-size:clamp(42px,7vw,86px)}.booking-hero p{color:#ffffffe0;max-width:720px;margin:0;font-size:19px;line-height:1.45}.hero-copy{align-self:end;gap:18px;display:grid}.hero-actions{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.hero-note{color:#ffffffc2;font-size:14px;font-weight:700}.hero-facts{background:#1119148a;border:1px solid #ffffff24;border-radius:8px;gap:10px;min-width:280px;padding:18px;display:grid}.hero-facts span{color:#fff;align-items:center;gap:9px;min-height:36px;font-weight:750;display:inline-flex}.hero-facts svg{color:#85663f}.booking-shell{grid-template-columns:minmax(620px,1.15fr) 420px;align-items:start;gap:22px;max-width:1280px;margin:0 auto;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:0;color:#e4c17d;font-size:13px;font-weight:800}h1{margin:0 0 18px;font-size:clamp(38px,7vw,76px);line-height:.95}h2{margin:0 0 18px;font-size:24px}.lead{max-width:520px;font-size:20px;line-height:1.45}.info-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.info-strip article{background:#fbfaf6;border:1px solid #e7e1d5;border-radius:8px;gap:6px;padding:16px;display:grid}.info-strip strong{font-size:15px}.info-strip p{color:#616962;margin:0;font-size:14px;line-height:1.45}.rules{color:#3d443f;background:#fbfaf6;border:1px solid #e6e0d5;border-radius:8px;padding:16px;line-height:1.48}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rules.compact{font-size:14px}.rules.accent{color:#fff;background:#1f4734;border-color:#1f4734}.rules.accent p{color:#ffffffd1}.rules ul{margin:10px 0 12px;padding-left:20px}.rules p{margin:0 0 10px}.panel-heading{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel-heading>span{color:#fff;background:#224b37;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:900;display:inline-flex}.panel-heading h2{margin:0 0 3px;font-size:22px}.panel-heading p{color:#6b716b;margin:0;line-height:1.35}.booking-copy,.booking-form,.settings-form{background:#fff;border:1px solid #dedbd2;border-radius:8px;gap:16px;padding:22px;display:grid;box-shadow:0 16px 40px #2a241914}.booking-form{gap:18px;position:sticky;top:18px}.ride-calendar{background:#fdfcf8;border:1px solid #d8d3c8;border-radius:8px;overflow:hidden}.calendar-header{background:#fff;border-bottom:1px solid #e4dfd5;justify-content:space-between;align-items:center;min-height:58px;padding:0 14px;display:flex}.calendar-header strong{text-transform:capitalize;font-size:20px}.calendar-header button{background:#fff;border:1px solid #d4d0c6;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{text-align:center;color:#687067;background:#f6f3eb;border-bottom:1px solid #e4dfd5;padding:9px 6px;font-size:12px;font-weight:800}.weekday-short{display:none}.calendar-day{color:#262b27;text-align:left;background:#f8f6f0;border:1px solid #ece7dd;border-top:0;border-left:0;border-radius:0;align-content:start;gap:4px;min-height:104px;padding:10px;display:grid}.calendar-day:nth-child(7n){border-right:0}.calendar-day .day-number{font-size:16px;font-weight:900}.calendar-day .day-price{color:#224b37;font-size:13px;font-weight:800}.calendar-day small{color:#6a716a;font-size:12px;font-weight:750;line-height:1.2}.calendar-day.available{background:#eaf7ed;box-shadow:inset 0 0 0 1px #2f7d4d2e}.calendar-day.available .day-number{color:#1f6339}.calendar-day.limited{background:#fff5df;box-shadow:inset 0 0 0 1px #a7772e42}.calendar-day.limited .day-number,.calendar-day.limited .day-price{color:#7a501e}.calendar-day.available:hover,.calendar-day.selected{outline-offset:-2px;background:#dff1e4;outline:2px solid #224b37}.calendar-day.booked{background:#f8e7e7;box-shadow:inset 0 0 0 1px #b248482e}.calendar-day.booked .day-price,.calendar-day.booked .day-number{color:#8a2e2e}.calendar-day.unavailable{color:#8b8d88;background:#f4f2ed}.availability-badge{color:#fff;background:#2f7d4d;border-radius:8px;align-items:center;width:fit-content;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.availability-badge-short{display:none}.calendar-day.limited .availability-badge{background:#a7772e}.calendar-day.booked .availability-badge{background:#b24848}.calendar-day.unavailable .availability-badge{color:#747971;background:#ded8cd}.calendar-legend{color:#4f574f;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:13px;font-weight:750;display:flex}.calendar-legend span{align-items:center;gap:7px;display:inline-flex}.calendar-legend i{border-radius:999px;width:12px;height:12px;display:inline-block}.available-dot{background:#2f7d4d}.limited-dot{background:#a7772e}.booked-dot{background:#b24848}.unavailable-dot{background:#cfc8ba}.calendar-day.muted{opacity:.55}.calendar-day:disabled{cursor:default}label{color:#3b403c;gap:7px;font-weight:700;display:grid}input,select,textarea{color:#1e2420;background:#fff;border:1px solid #cfcac0;border-radius:8px;width:100%;min-height:42px;padding:10px 12px}textarea{resize:vertical;min-height:92px}.small-textarea{min-height:64px}.grid.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.selection-card{color:#fff;background:#1f4734;border-radius:8px;gap:12px;padding:16px;display:grid}.selection-main{align-items:flex-start;gap:12px;display:flex}.selection-main svg{color:#e4c17d;margin-top:2px}.selection-main span,.selection-card dt,.order-summary span{color:#6d726d;font-size:12px;font-weight:750}.selection-main span,.selection-card dt{color:#ffffffad}.selection-main strong{margin-top:3px;font-size:18px;line-height:1.2;display:block}.availability-note{color:#1f6339;background:#dff0e5;border-radius:8px;align-items:center;width:fit-content;min-height:28px;margin-top:8px;padding:0 10px;font-size:13px;font-style:normal;font-weight:900;display:inline-flex}.availability-note.limited{color:#7a501e;background:#f5ead6}.selection-card dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.selection-card dl div{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;gap:3px;padding:9px;display:grid}.selection-card dl .availability-box{background:#dff0e529;border-color:#dff0e54d}.selection-card dd{margin:0;font-weight:850}.time-slots{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.time-slots button{text-align:left;background:#fff;border:1px solid #d7d1c5;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;min-height:48px;padding:8px 10px;display:grid}.time-slots button.active{background:#edf6ef;border-color:#224b37;box-shadow:inset 0 0 0 1px #224b37}.time-slots svg{color:#85663f;grid-row:span 2}.time-slots span{font-weight:850}.time-slots small{color:#697069}.form-section{border-top:1px solid #ebe6dc;gap:12px;padding-top:14px;display:grid}.form-section h3{color:#29362e;align-items:center;gap:7px;margin:0;font-size:15px;display:inline-flex}.coupon-row{grid-template-columns:1fr auto;gap:8px;display:grid}.coupon-row button{background:#fff;border:1px solid #c8c1b4;border-radius:8px;padding:0 13px;font-weight:800}.booking-support{background:#fbfaf6;border:1px solid #e7e1d5;border-radius:8px;gap:6px;padding:14px;display:grid}.booking-support p{color:#616962;margin:0;font-size:14px;line-height:1.45}.coupon-preview{color:#224b37;align-items:center;gap:7px;margin:-6px 0 0;font-weight:750;display:inline-flex}.check{grid-template-columns:auto 1fr;align-items:center;gap:10px;font-weight:600;display:flex}.check input{width:18px;min-height:18px}.order-summary{border-top:1px solid #e7e3da;flex-direction:column;gap:8px;padding-top:14px;display:flex}.order-summary div,.total{justify-content:space-between;align-items:center;display:flex}.total{font-size:20px}.primary,.inline-form button{color:#fff;background:#224b37;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.message{color:#224b37;margin:0;font-weight:700}.form-note{color:#687067;margin:0;line-height:1.4}.after-copy{color:#343a35;background:#fff;border:1px solid #dedbd2;border-radius:8px;max-width:1280px;margin:22px auto 0;padding:20px 22px;line-height:1.6}.after-copy p{margin:0 0 10px}.after-copy p:last-child{margin-bottom:0}.admin{background:#f4f1ea;grid-template-columns:280px 1fr;min-height:100vh;display:grid}aside{background:#fff;border-right:1px solid #dedbd2;padding:24px}aside h1{margin-bottom:20px;font-size:34px}aside nav{flex-direction:column;margin-top:22px}aside nav button{justify-content:flex-start;align-items:center;gap:9px;display:flex}.token{font-size:13px}.admin.auth{grid-template-columns:360px 1fr}.admin-login-note{color:#687067;margin:0 0 18px;line-height:1.5}.admin-login{gap:12px;display:grid}.admin-login .primary{width:100%}.admin-userbar{flex-direction:column;gap:10px;margin:0 0 20px;display:flex}.admin-userbar span{color:#2f3831;align-items:center;gap:8px;font-weight:750;display:inline-flex}.admin-userbar button{background:#fff;border:1px solid #d4d0c6;border-radius:8px;width:fit-content;min-height:36px;padding:0 12px;font-weight:800}.admin-content{padding:28px;overflow:auto}.stats{grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin-bottom:28px;display:grid}.stat{background:#fff;border:1px solid #dedbd2;border-radius:8px;padding:16px}.stat span{color:#6d716d;margin-bottom:8px;font-size:13px;display:block}.stat strong{font-size:24px}@media (width<=1240px){.stats{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (width<=920px){.stats{grid-template-columns:repeat(2,minmax(160px,1fr))}}.admin-section{gap:16px;display:grid}.section-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-head h2{margin-bottom:6px}.section-head p{color:#687067;margin:0;line-height:1.45}.section-head select{background:#fff;max-width:220px}.admin-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-filters.compact{justify-content:flex-end}.admin-filters input,.admin-filters select{background:#fff;min-width:170px}.search-input{background:#fff;border:1px solid #cfcac0;border-radius:8px;align-items:center;gap:8px;min-width:280px;min-height:42px;padding:0 12px;display:flex}.search-input input{border:0;min-height:auto;padding:0}.search-input svg{color:#687067}.schedule-list,.day-schedule{gap:12px;display:grid}.day-schedule-head{justify-content:space-between;align-items:end;display:flex}.day-schedule-head h3{margin:0 0 4px;font-size:22px}.day-schedule-head p{color:#687067;margin:0}.day-rides{gap:12px;display:grid}.ride-card{background:#fff;border:1px solid #dedbd2;border-left:4px solid #2f7d4d;border-radius:8px;overflow:hidden}.ride-card.closed{border-left-color:#a7772e}.ride-card.cancelled{border-left-color:#b24848}.ride-card-main{border-bottom:1px solid #ebe7de;grid-template-columns:minmax(150px,.7fr) 1.8fr;align-items:center;gap:14px;padding:15px 16px;display:grid}.ride-date span{color:#687067;margin-bottom:3px;font-weight:750;display:block}.ride-date strong{font-size:28px;line-height:1}.ride-metrics{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ride-metrics span,.status-pill,.payment{color:#2f3831;background:#f4f1ea;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.status-pill.open{color:#1f6339;background:#dff0e5}.status-pill.closed{color:#7a501e;background:#f5ead6}.status-pill.cancelled{color:#8a2e2e;background:#f5dddd}.payment.paid,.payment.imported,.payment.cash{color:#1f6339;background:#dff0e5}.payment.pending,.payment.open{color:#7a501e;background:#f5ead6}.payment.failed,.payment.canceled,.payment.expired{color:#8a2e2e;background:#f5dddd}.ride-controls{background:#fbfaf6;border-bottom:1px solid #ebe7de;grid-template-columns:repeat(3,minmax(120px,180px)) 44px;align-items:end;gap:10px;padding:12px 16px;display:grid}.ride-controls label{margin:0;font-size:12px}.ride-controls input,.ride-controls select{min-height:38px;margin-top:4px}.ride-controls button{color:#fff;background:#224b37;border:0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:38px;padding:0;display:inline-flex}.rider-list{display:grid}.rider-row{border-bottom:1px solid #f0ece4;grid-template-columns:minmax(220px,1.35fr) 90px minmax(160px,1fr) minmax(130px,1fr) auto auto;align-items:center;gap:12px;padding:11px 16px;font-size:14px;display:grid}.rider-primary{gap:2px;display:grid}.rider-primary small{color:#687067}.rider-row:last-child{border-bottom:0}.rider-row a{color:#224b37;align-items:center;gap:5px;font-weight:750;text-decoration:none;display:inline-flex}.booking-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.booking-actions.compact{justify-content:flex-start}.booking-actions select{min-width:220px}.booking-actions button,.secondary{background:#fff;border:1px solid #d4d0c6;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.booking-actions .danger{color:#8a2e2e;background:#fff7f7;border-color:#e3c8c8}.table-actions{gap:8px;display:flex}.table-primary{gap:3px;display:grid}.table-primary small{color:#687067}.table-actions .danger{color:#8a2e2e;background:#fff7f7;border-color:#e3c8c8}.no-riders,.empty-state{color:#687067;margin:0;padding:16px}.manual-booking-form{border-top:1px solid #ebe7de;gap:14px;padding:18px;display:grid}.modal-helper,.section-subcopy{color:#687067;margin:-2px 0 0;font-size:13px;line-height:1.45}.section-subhead h3{align-items:center;gap:8px;margin:0;font-size:17px;display:inline-flex}.ride-preview-section{gap:12px;display:grid}.ride-preview-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.ride-preview-card{background:#fff;border:1px solid #dedbd2;border-radius:8px;gap:10px;padding:14px;display:grid}.ride-preview-card strong{margin-bottom:4px;display:block}.ride-preview-card>div>span{color:#687067}.ride-preview-meta{flex-wrap:wrap;gap:8px;display:flex}.ride-preview-meta span{background:#f4f1ea;border-radius:8px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.ride-bulk-form{background:#fff;border:1px solid #dedbd2;border-radius:8px;gap:14px;max-width:860px;padding:18px;display:grid}.mode-switch{background:#f4f1ea;border:1px solid #e1dccf;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;width:fit-content;padding:4px;display:inline-grid}.mode-switch button{color:#5d655d;background:0 0;border:0;border-radius:6px;min-height:38px;padding:0 14px;font-weight:800}.mode-switch button.active{color:#1f4734;background:#fff;box-shadow:0 1px 2px #14181414}.ride-mode-panel{background:#fbfaf6;border:1px solid #e8e2d7;border-radius:8px;gap:14px;padding:14px;display:grid}.field-label{color:#2f3831;margin-bottom:7px;font-size:13px;font-weight:800;display:block}.field-hint{color:#7a501e;margin:8px 0 0;font-size:13px;line-height:1.4}.weekday-pills{flex-wrap:wrap;gap:8px;display:flex}.weekday-pills button{background:#fff;border:1px solid #d4d0c6;border-radius:8px;width:44px;height:38px;font-weight:800}.weekday-pills button.active{color:#fff;background:#224b37;border-color:#224b37}.ride-summary{flex-wrap:wrap;gap:8px;display:flex}.summary-pill{color:#324037;background:#f4f1ea;border-radius:8px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.bulk-footer{justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.bulk-footer span{color:#687067;font-weight:750}.bulk-footer button{color:#fff;background:#224b37;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.settings-note{color:#687067;margin:-2px 0 0;font-size:13px;line-height:1.45}.inline-form{grid-template-columns:1.3fr .5fr .5fr auto;gap:10px;margin-bottom:18px;display:grid}.table-wrap{background:#fff;border:1px solid #dedbd2;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #ebe7de;padding:12px 14px}th{color:#686d68;background:#faf9f5;font-size:13px}td svg{vertical-align:middle;margin-right:5px}.modal-backdrop{z-index:40;background:#1b1f1c7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #dedbd2;border-radius:10px;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 60px #181d1933}.modal-head{border-bottom:1px solid #ebe7de;justify-content:space-between;align-items:start;gap:16px;padding:22px 22px 16px;display:flex}.modal-head h3{margin:0 0 6px;font-size:24px}.modal-head p{color:#687067;margin:0;line-height:1.45}.icon-button{color:#5d655d;background:#fff;border:1px solid #d4d0c6;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.booking-modal-grid{grid-template-columns:1fr 1fr;gap:12px;padding:18px 22px 0;display:grid}.booking-modal-panel{background:#fbfaf6;border:1px solid #ebe7de;border-radius:8px;gap:8px;padding:14px;display:grid}.booking-modal-panel strong{font-size:18px}.booking-meta-list,.booking-meta-stack{flex-wrap:wrap;gap:8px;display:flex}.booking-meta-stack{gap:8px;display:grid}.booking-meta-stack a{color:#224b37;font-weight:750;text-decoration:none}.eyebrow{color:#687067;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.modal-section{border-top:1px solid #ebe7de;gap:12px;padding:18px 22px;display:grid}.modal-section-head h4{margin:0 0 5px;font-size:16px}.modal-section-head p{color:#687067;margin:0;line-height:1.45}.modal-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modal-action-row select{flex:320px;min-width:min(420px,100%)}.danger-zone{background:snow}.modal-form{gap:14px;padding:18px 22px 22px;display:grid}.modal-footer{justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.modal-footer span{color:#687067;font-weight:750}.modal-footer button{color:#fff;background:#224b37;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.settings-form{gap:14px;max-width:920px;display:grid}.mail-template-panel{border-top:1px solid #ebe6dc;gap:13px;margin-top:4px;padding-top:18px;display:grid}.mail-template-panel h3{align-items:center;gap:7px;margin:0 0 6px;font-size:17px;display:inline-flex}.mail-template-panel p{color:#687067;margin:0;line-height:1.45}.template-editor{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.template-editor.small{min-height:160px}.placeholder-help{background:#fbfaf6;border:1px solid #ebe6dc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.placeholder-help strong{margin-right:4px}.placeholder-help span{background:#fff;border:1px solid #d8d1c5;border-radius:8px;align-items:center;min-height:28px;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:inline-flex}@media (width<=860px){.page{padding:18px}.booking-hero,.booking-shell,.admin{grid-template-columns:1fr}.booking-hero{min-height:0;padding:20px}.booking-form{position:static}aside{border-bottom:1px solid #dedbd2;border-right:0}.grid.two,.stats,.inline-form,.selection-card dl,.booking-modal-grid,.info-strip,.rules-grid{grid-template-columns:1fr}.admin-filters,.booking-actions,.day-schedule-head,.bulk-footer{align-items:stretch}.rider-row{grid-template-columns:1fr}.booking-actions select{min-width:0}.modal-backdrop{padding:12px}.modal-card{border-radius:12px;width:100%;max-height:calc(100vh - 24px)}.modal-head,.modal-section,.booking-modal-grid,.modal-form{padding-left:16px;padding-right:16px}.modal-footer,.modal-action-row{align-items:stretch}.modal-footer{flex-direction:column}.modal-footer button,.modal-action-row button,.modal-action-row select{width:100%}.hero-facts{min-width:0}.hero-actions{align-items:flex-start}.topbar{padding:0 16px}.calendar-weekdays span{padding:8px 2px;font-size:10px}.weekday-long{display:none}.weekday-short{display:inline}.calendar-day{gap:3px;min-height:82px;padding:6px}.calendar-day .day-number{font-size:15px}.calendar-day .day-price{font-size:11px}.calendar-day small,.calendar-day .availability-badge{display:none}.calendar-day .availability-badge-short{max-width:100%;min-height:22px;padding:0 6px;font-size:11px;display:inline-flex}}
