:root{--ink:#152019;--muted:#667168;--soft:#f4f7f3;--line:#e3e8e3;--white:#fff;--accent:#b9ef52;--accent2:#719d25;--dark:#132019;--danger:#bf423c;--success:#2d8055;--warning:#d98924;--radius:18px;--shadow:0 18px 50px #15201917}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.5;overflow-x:hidden}body.locked{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}.container{width:min(100% - 32px,1160px);margin:auto}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #e3e8e3d9;position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;height:68px;display:flex}.brand img{width:132px;height:auto;display:block}.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:12px;place-content:center;gap:5px;width:46px;height:46px;display:grid}.menu-toggle span{background:var(--ink);width:20px;height:2px}.desktop-nav,.mobile-nav{display:none}.mobile-nav{border-bottom:1px solid var(--line);background:#fff;padding:8px 16px 18px}.mobile-nav.open{gap:7px;display:grid}.mobile-nav>a:not(.button){color:var(--ink);font-weight:750;display:flex}.button,.mobile-nav>a:not(.button){align-items:center;min-height:48px;text-decoration:none}.button{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:11px;justify-content:center;gap:8px;padding:0 18px;font-weight:850;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-primary{background:var(--accent);color:#12200d}.button-dark{background:var(--dark);color:#fff}.button-ghost-dark{color:var(--ink);background:#fff;border-color:#cfd6cf}.button-small{min-height:42px;padding:0 13px}.button-large{min-height:56px;padding:0 22px}.button-full{width:100%}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.hero{color:#fff;background:url(../assets/hero.webp) 50%/cover no-repeat;align-items:center;height:680px;display:flex;position:relative}.hero-shade{background:linear-gradient(90deg,#08120dd1,#08120d94 46%,#08120d1f);position:absolute;inset:0}.hero-content{z-index:1;position:relative}.hero-logo{width:142px;margin-bottom:42px}.hero h1{letter-spacing:-.06em;max-width:720px;margin:0;font-size:clamp(48px,13vw,84px);line-height:.94}.hero p{color:#fffc;max-width:560px;margin:24px 0 30px;font-size:18px}.section{padding:74px 0}.section-soft{background:var(--soft)}.eyebrow{color:var(--accent2);letter-spacing:.11em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900;line-height:1.3}.section-heading{gap:12px;margin-bottom:30px;display:grid}.contact-card h2,.section-heading h2{letter-spacing:-.045em;margin:0;font-size:36px;line-height:1.05}.contact-card p,.section-heading>p{color:var(--muted);max-width:520px;margin:0}.trip-grid{gap:18px;display:grid}.trip-card{box-shadow:var(--shadow);background:#fff;border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.trip-media{background:#dce5da;height:250px;position:relative;overflow:hidden}.trip-media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .55s;display:block}.trip-card:hover .trip-media img{transform:scale(1.05)}.trip-gradient{background:linear-gradient(#0000 40%,#08120dd1);position:absolute;inset:0}.trip-place{color:#fff;letter-spacing:.03em;text-transform:uppercase;font-size:24px;bottom:16px;left:18px}.status-badge,.trip-place{font-weight:900;position:absolute}.status-badge{background:#fffffff0;border-radius:8px;padding:7px 10px;font-size:11px;top:15px;left:15px}.trip-body{flex-direction:column;flex:1;padding:20px;display:flex}.trip-body h3{letter-spacing:-.03em;margin:0 0 5px;font-size:23px}.trip-meta{color:var(--muted);font-size:13px}.trip-description{color:var(--muted);margin:14px 0;font-size:14px}.capacity-box{background:var(--soft);border-radius:11px;margin:0 0 16px;padding:12px}.capacity-row{justify-content:space-between;font-size:12px;font-weight:800;display:flex}.progress{background:#dfe5dd;border-radius:10px;height:7px;margin-top:9px;overflow:hidden}.progress i{background:var(--accent2);border-radius:inherit;height:100%;display:block}.trip-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.trip-price{font-size:21px;font-weight:900}.trip-footer .button{flex:1 0 100%}.sold{color:var(--danger)}.empty-state{text-align:center;background:var(--soft);border:1px dashed #cfd6cf;border-radius:18px;padding:50px 20px}.steps{gap:14px;display:grid}.steps article{background:#fff;border-radius:18px;padding:25px;box-shadow:0 10px 30px #1520190d}.steps b{color:var(--accent2);font-size:12px}.steps h3{margin:30px 0 8px;font-size:21px}.steps p{color:var(--muted);margin:0}.contact-card{background:var(--accent);border-radius:24px;gap:22px;padding:32px;display:grid}.contact-card .button{justify-self:start}.announcement-section{padding-top:16px}.announcement-list{gap:10px;display:grid}.announcement{background:#f6faee;border-left:4px solid #769d2b;border-radius:12px;padding:14px 16px}.announcement.important{border-color:var(--warning);background:#fff6e9}.announcement.success{border-color:var(--success);background:#edf8f1}.announcement h3{margin:0;font-size:15px}.announcement p{color:var(--muted);margin:3px 0 0;font-size:13px}footer{border-top:1px solid var(--line);padding:28px 0}.footer-inner{gap:16px;display:grid}.footer-inner img{width:120px}.footer-inner p{color:var(--muted);margin:0;font-size:12px}.auth-links button,.link-button{color:#586259;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09110c9e;position:fixed;inset:0;overflow:auto}.overlay[hidden],.portal[hidden]{display:none}.dialog{background:#fff;width:100%;min-height:100%;padding:22px}.close-dialog{position:absolute;top:18px;right:18px}.auth-dialog{flex-direction:column;justify-content:center;display:flex;position:relative}.auth-logo{width:145px;margin-bottom:38px}.auth-dialog h2,.dialog-head h2{letter-spacing:-.04em;margin:0;font-size:31px}.auth-dialog>div>p:not(.eyebrow){color:var(--muted)}.stack-form{gap:14px;display:grid}.form-grid label,.stack-form label{font-size:13px;font-weight:800}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.stack-form input,.stack-form select,.stack-form textarea{background:#fff;border:1px solid #ccd4cc;border-radius:10px;width:100%;min-height:50px;margin-top:6px;padding:10px 12px}.stack-form small{color:var(--muted);font-weight:500}.check-row{color:var(--muted);align-items:flex-start;gap:9px;margin:2px 0;font-size:12px!important;display:flex!important}.check-row input{height:20px;width:20px!important;min-height:0!important;margin:0!important}.auth-links{justify-content:space-between;gap:14px;margin-top:18px;font-size:13px;display:flex}.error-text{min-height:19px;color:var(--danger);margin:8px 0;font-size:13px}.info-box{background:var(--soft);border-radius:10px;padding:13px;font-size:13px}.dialog-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.dialog-head p:not(.eyebrow){color:var(--muted);margin:4px 0}.booking-layout{gap:18px;display:grid}.form-card,.seat-panel{border:1px solid var(--line);border-radius:15px;padding:16px}.seat-top{gap:10px;display:grid}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.legend i{border:1px solid #cbd2cb;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.legend .sel{background:var(--dark)}.legend .busy{background:#d6dcd6}.driver{color:#778178;background:#edf0ed;border-radius:8px 8px 20px 20px;place-items:center;width:76%;height:30px;margin:20px auto;font-size:10px;font-weight:900;display:grid}.seat-map{grid-template-columns:repeat(5,minmax(38px,44px));justify-content:center;gap:8px 7px;display:grid}.seat:nth-child(4n+3){grid-column:4}.seat{background:#fff;border:1px solid #cad2ca;border-radius:8px 8px 11px 11px;height:44px;font-size:12px;font-weight:900}.seat.selected{background:var(--dark);color:#fff}.seat:disabled{color:#8b938c;background:#d8ddd8}.account-gate{background:var(--soft);border-radius:12px;margin-bottom:18px;padding:18px}.account-gate p{color:var(--muted);font-size:13px}.form-card h3{margin:0 0 15px;font-size:22px}.form-grid{gap:13px;display:grid}.span-2{grid-column:1/-1}.booking-total{background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;margin:14px 0;padding:14px;display:flex}.thanks-dialog{text-align:center;flex-direction:column;justify-content:center;display:flex}.success-mark{background:var(--accent);border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 18px;font-size:32px;display:grid}.portal{z-index:90;background:var(--soft);position:fixed;inset:0;overflow:auto}.portal-header{z-index:20;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;height:68px;padding:0 16px;display:flex;position:sticky;top:0}.portal-header img{width:128px}.portal-header>div{align-items:center;gap:10px;display:flex}.portal-header span:not(.role-badge){display:none}.portal-main{max-width:1100px;margin:auto;padding:28px 16px 70px}.portal-title{justify-content:space-between;align-items:end;gap:14px;margin-bottom:24px;display:flex}.admin-title h1,.portal-title h1{letter-spacing:-.045em;margin:0;font-size:34px}.admin-list,.user-trip-list{gap:13px;display:grid}.admin-card,.user-trip-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.admin-card h3,.user-trip-card h3{margin:0;font-size:21px}.admin-card p,.muted,.user-trip-card p{color:var(--muted)}.detail-grid{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.detail-grid div{background:var(--soft);border-radius:9px;padding:10px}.detail-grid small{color:var(--muted);font-size:10px;display:block}.role-badge,.status-chip{background:#edf2ec;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.status-chip.paid,.status-chip.published{color:#277247;background:#e4f5e9}.status-chip.cancelled{color:#a33d38;background:#f9e7e6}.status-chip.new{color:#966016;background:#fff2df}.ticket-dialog{position:relative}.ticket-dialog>img{width:140px;margin-bottom:38px}.ticket-dialog h2{margin:0 0 18px;font-size:31px}.ticket-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ticket-grid div{background:var(--soft);border-radius:10px;padding:12px}.ticket-grid small{color:var(--muted);display:block}.ticket-qr img{border:1px solid var(--line);background:#fff;height:150px;padding:10px;display:block}.qr-pending,.ticket-qr img{border-radius:14px;width:150px;margin:24px auto}.qr-pending{text-align:center;background:var(--soft);min-height:150px;color:var(--muted);place-items:center;padding:14px;font-size:13px;display:grid}.ticket-actions{margin-top:14px}.admin-shell{min-height:calc(100vh - 68px)}.admin-sidebar{border-bottom:1px solid var(--line);background:#fff;padding:14px 16px;display:none}.admin-sidebar.open{display:block}.admin-sidebar nav{gap:4px;margin-bottom:12px;display:grid}.admin-sidebar nav button{text-align:left;background:#fff;border:0;border-radius:10px;min-height:46px;padding:0 13px;font-weight:750}.admin-sidebar nav button.active{color:#54751d;background:#ecf6da}.admin-main{max-width:1250px;margin:auto;padding:20px 16px 70px}.mobile-adminbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.admin-tab{display:none}.admin-tab.active{display:block}.admin-title{gap:14px;margin-bottom:20px;display:grid}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:15px}.metric small{color:var(--muted)}.metric strong{overflow-wrap:anywhere;margin-top:5px;font-size:23px;display:block}.admin-card h2{margin:0 0 12px;font-size:21px}.admin-card-head{justify-content:space-between;gap:12px;display:flex}.admin-card-grid{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.admin-card-grid div{background:var(--soft);border-radius:9px;padding:10px}.admin-card-grid small{color:var(--muted);font-size:10px;display:block}.action-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.action-row button{flex:auto}.danger{color:var(--danger)!important;border-color:#edcbc8!important}.filters{gap:10px;margin-bottom:14px;display:grid}.filters input,.filters select{margin:0}.booking-admin-card select{background:#fff;border:1px solid #ccd4cc;border-radius:9px;width:100%;height:46px;padding:0 10px}.seat-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.seat-stats div{background:var(--soft);border-radius:10px;padding:13px}.seat-stats small{color:var(--muted);display:block}.seat-stats strong{font-size:21px}.admin-seat-map{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.admin-seat{color:#286c45;background:#ebf8ef;border:1px solid #bcd5c3;border-radius:9px;min-height:48px;font-weight:900}.admin-seat.blocked,.admin-seat.booked{color:#9f403a;background:#fae8e7;border-color:#e9bfbc}.occupancy{background:var(--soft);border-radius:12px;padding:16px}.occupancy>div:first-child{justify-content:space-between;display:flex}.media-preview{background:url(../assets/hero.webp) 50%/cover;border-radius:14px;height:210px}.security-card{max-width:760px}.toast-region{z-index:200;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:16px;left:16px;right:16px}.toast{background:var(--dark);color:#fff;box-shadow:var(--shadow);border-radius:11px;padding:13px 15px}.toast.error{background:#9c3631}@media (width>=600px){.container{width:min(100% - 48px,1160px)}.steps,.trip-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr 1fr}.dialog{border-radius:20px;width:min(720px,100% - 40px);min-height:0;margin:30px auto}.auth-dialog,.thanks-dialog,.ticket-dialog{width:min(480px,100% - 40px);margin:8vh auto}.booking-dialog{width:min(1100px,100% - 40px)}.metric-grid{grid-template-columns:repeat(3,1fr)}.admin-seat-map{grid-template-columns:repeat(8,1fr)}.filters{grid-template-columns:1fr 220px}.admin-title{grid-template-columns:1fr auto;align-items:end}.portal-header span:not(.role-badge){display:inline}}@media (width>=800px){.menu-toggle,.mobile-nav{display:none!important}.desktop-nav{align-items:center;gap:22px;display:flex}.desktop-nav>a:not(.button){color:var(--ink);font-size:14px;font-weight:750;text-decoration:none}.hero{height:700px}.hero h1{font-size:82px}.section{padding:96px 0}.section-heading{grid-template-columns:1fr auto;align-items:end}.contact-card h2,.section-heading h2{font-size:49px}.trip-grid{grid-template-columns:repeat(3,1fr)}.trip-media{height:230px}.steps{grid-template-columns:repeat(3,1fr)}.contact-card{grid-template-columns:1fr auto;align-items:center;padding:48px}.footer-inner{grid-template-columns:auto 1fr auto;align-items:center}.booking-layout{grid-template-columns:.9fr 1.1fr}.form-card,.seat-panel{padding:22px}.seat-top{grid-template-columns:1fr auto}.admin-shell{grid-template-columns:230px 1fr;display:grid}.admin-sidebar{border-right:1px solid var(--line);border-bottom:0;flex-direction:column;height:calc(100vh - 68px);padding:22px 16px;position:sticky;top:68px;display:flex!important}.admin-sidebar nav{flex:1;align-content:start}.admin-main{width:100%;padding:34px 30px 80px}.mobile-adminbar{display:none}.metric-grid{grid-template-columns:repeat(3,1fr)}.admin-list.trip-list{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.metric-grid{grid-template-columns:repeat(6,1fr)}.booking-admin-card{grid-template-columns:1.2fr 1fr 1fr .8fr;align-items:center;gap:16px;display:grid}.client-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=359px){.container{width:calc(100% - 24px)}.hero h1{font-size:43px}.hero-logo{margin-bottom:34px}.metric-grid{grid-template-columns:1fr}.seat-map{grid-template-columns:repeat(5,44px);gap:7px 5px}.portal-header img{width:112px}.portal-header .button{padding:0 9px}.admin-card-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.consent-link[data-v-0376e72f]{color:inherit;text-underline-offset:2px;font-weight:750;text-decoration:underline}.consent-link[data-v-0376e72f]:hover{color:var(--accent2,#719d25)}.extra-option[data-v-0376e72f]{border:1px solid var(--line,#e3e8e3);background:var(--soft,#f4f7f3);border-radius:11px;margin-top:14px;padding:13px}.extra-check[data-v-0376e72f]{color:inherit;align-items:flex-start}.extra-check strong[data-v-0376e72f]{color:var(--ink,#152019);font-size:14px;font-weight:850;display:block}.extra-check small[data-v-0376e72f]{color:var(--muted,#667168);margin-top:3px;font-weight:500;line-height:1.4;display:block}.pay-label[data-v-0376e72f]{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#667168);margin:0;font-size:12px;font-weight:850}.pay-hint[data-v-0376e72f]{margin:6px 0 0;font-size:13px}.hold-hint[data-v-0376e72f],.pay-hint[data-v-0376e72f]{color:var(--muted,#667168);line-height:1.45}.hold-hint[data-v-0376e72f]{text-align:center;margin:10px 0 0;font-size:12.5px}.booking-total[data-v-0376e72f]{align-items:center;gap:10px;display:grid}@media (width>=600px){.booking-total[data-v-0376e72f]{grid-template-columns:1fr auto}.total-sum[data-v-0376e72f]{text-align:right}}.total-lines[data-v-0376e72f]{gap:4px;display:grid}.total-row[data-v-0376e72f]{color:var(--muted,#667168);justify-content:space-between;gap:12px;font-size:13px;font-weight:600;display:flex}.total-row b[data-v-0376e72f]{color:var(--ink,#152019);font-weight:800}.total-sum[data-v-0376e72f]{letter-spacing:-.02em;font-size:19px;font-weight:900}.contact-dialog small[data-v-0e868923]{color:var(--muted);font-weight:500}.video-frame[data-v-86396fe8]{aspect-ratio:16/9;background:#0e1a14;border-radius:16px;position:relative;overflow:hidden}.video-frame video[data-v-86396fe8]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.video-fallback[data-v-86396fe8]{text-align:center;color:#ffffffb8;place-content:center;gap:8px;padding:26px;display:grid;position:absolute;inset:0}.video-fallback strong[data-v-86396fe8]{color:#fff;font-size:20px}.video-fallback p[data-v-86396fe8]{max-width:420px;margin:0;font-size:13px;line-height:1.6}.video-fallback code[data-v-86396fe8]{color:var(--accent)}.pay-options-dialog[data-v-a059a800]{width:min(640px,100% - 40px)}.pay-options[data-v-a059a800]{gap:10px;display:grid}.pay-option[data-v-a059a800]{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:13px;transition:all .18s;display:grid}.pay-option[data-v-a059a800]:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.pay-icon[data-v-a059a800]{border:1px solid var(--line);background:var(--soft);width:46px;height:46px;color:var(--ink);border-radius:13px;flex:none;place-items:center;transition:all .18s;display:grid}.pay-icon[data-v-a059a800] svg{width:22px;height:22px}.pay-option:hover .pay-icon[data-v-a059a800]{border-color:var(--accent);background:var(--accent);color:#12200d}.pay-text[data-v-a059a800]{gap:2px;min-width:0;display:grid}.pay-text strong[data-v-a059a800]{align-items:center;gap:8px;font-size:15.5px;font-weight:850;line-height:1.2;display:flex}.pay-text small[data-v-a059a800]{color:var(--muted);font-size:13px;line-height:1.4}.pay-badge[data-v-a059a800]{background:var(--accent);color:#12200d;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10.5px;font-style:normal;font-weight:850}.pay-arrow[data-v-a059a800]{color:var(--muted);font-size:18px;font-weight:800;transition:all .18s}.pay-option:hover .pay-arrow[data-v-a059a800]{color:var(--ink);transform:translate(3px)}.pay-note[data-v-a059a800]{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}.field-hint[data-v-fc55b1a3]{color:var(--muted);margin-top:6px;font-size:11px;font-weight:600;line-height:1.4;display:block}.pay-inline[data-v-1869dbff]{gap:8px;margin-top:14px;display:flex}.pay-inline select[data-v-1869dbff]{min-width:108px;color:inherit;font:inherit;background:#ffffff14;border:1px solid #ffffff42;border-radius:9px;flex:none;padding:0 10px;font-weight:750}.pay-inline .button[data-v-1869dbff]{flex:1}.receipt-note[data-v-4529bdbe]{color:var(--muted);align-self:center;font-size:14px}.unread[data-v-f52ee6df]{border-left:4px solid var(--accent2)}.message-text[data-v-f52ee6df]{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0}
