@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap");:root{--teal:#149a94;--teal-deep:#08756f;--green:#10b981;--amber:#f59e0b;--coral:#ef4444;--blue:#2563eb;--sky:#0ea5e9;--violet:#6d5bd7;--ink:#092235;--muted:#627487;--line:#dbe9ee;--soft:#f4fbfb;--white:#fff;--shadow:0 18px 45px rgba(8,117,111,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(20,154,148,.09),transparent 24rem),linear-gradient(180deg,#fff,#f7fcfb 42%,#fff);font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding-bottom:112px}.hero{position:relative;min-height:min(106.3vw,520px);overflow:hidden;border-bottom-left-radius:26px;border-bottom-right-radius:26px}.hero,.hero-image{background:#e8fbff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top}.hero-scrim{display:none}.hero-content{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.brand-row{display:inline-flex;align-items:center;gap:11px;margin-bottom:22px;color:#10394b}.brand-row span,.brand-row strong{display:block;text-align:left}.brand-row strong{font-weight:800}.brand-row span{font-size:.92rem;font-weight:700}.brand-mark{position:relative;display:grid;width:44px;height:44px;place-items:center;border:3px solid var(--teal);border-radius:14px;transform:rotate(45deg)}.brand-mark span{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--green))}.brand-mark i{position:absolute;right:4px;bottom:4px;width:11px;height:11px;border-radius:999px;background:var(--amber)}.hero h1{margin:0;font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:clamp(3.4rem,15vw,5.2rem);font-weight:800;line-height:.94;text-shadow:0 8px 26px hsla(0,0%,100%,.86)}.hero h1,.hero p{color:var(--teal-deep)}.hero p{position:relative;margin:14px 0 0;font-size:clamp(1.38rem,6vw,2rem);font-weight:700;font-style:italic}.hero p:after{display:block;width:clamp(120px,38vw,168px);height:6px;margin:12px auto 0;border-radius:999px;background:linear-gradient(90deg,rgba(245,158,11,0),var(--amber),rgba(245,158,11,0));content:"";opacity:.85}.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}.hero-chips span{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 16px;border:1px solid rgba(9,34,53,.08);border-radius:15px;background:hsla(0,0%,100%,.88);box-shadow:0 12px 28px rgba(9,34,53,.08);font-weight:800}.content-stack{position:relative;z-index:3;display:grid;width:min(100%,760px);grid-gap:18px;gap:18px;margin:-48px auto 0;padding:0 18px 28px}.content-stack>*{min-width:0}.alert-panel,.countdown-card,.panel{min-width:0;border:1px solid rgba(20,154,148,.18);border-radius:22px;background:hsla(0,0%,100%,.92);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.countdown-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding:18px}.countdown-mark,.phone-bubble{display:grid;width:58px;height:58px;place-items:center;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--green));box-shadow:0 12px 30px rgba(20,154,148,.28)}.countdown-title span,.countdown-title strong{display:block}.countdown-title strong{color:var(--teal-deep);font-size:1.02rem;font-weight:800}.countdown-title span{margin-top:3px;color:var(--muted);font-size:.9rem;font-weight:600}.countdown-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-top:1px solid var(--line)}.countdown-value{padding-top:13px;text-align:center}.countdown-value+.countdown-value{border-left:1px solid var(--line)}.countdown-value strong{display:block;color:var(--teal);font-family:Sora,sans-serif;font-size:1.65rem;line-height:1}.countdown-value span{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;font-weight:700}.status-pill{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;justify-self:center;margin-top:-3px;padding:10px 15px;border-radius:999px;background:#dff8ea;color:#087442;font-size:.86rem;font-weight:800}.status-pill span{width:10px;height:10px;border-radius:999px;background:var(--green);box-shadow:0 0 0 6px rgba(16,185,129,.14)}.menu-panel{padding:20px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px 14px;gap:18px 14px}.menu-item{display:grid;min-width:0;grid-gap:9px;gap:9px;place-items:center;border:0;background:transparent;color:var(--ink);font-size:.88rem;font-weight:800;line-height:1.18;cursor:pointer}.menu-item span{display:grid;width:78px;height:74px;place-items:center;border-radius:19px;background:color-mix(in srgb,currentColor 13%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 26%,transparent),inset 0 -14px 26px hsla(0,0%,100%,.55),0 10px 22px rgba(9,34,53,.07)}.menu-item.teal,.section-title svg,.text-link{color:var(--teal)}.menu-item.green{color:#0f9c5d}.menu-item.red{color:#ef2d2d}.menu-item.amber{color:#e88a00}.menu-item.sky{color:#0896c8}.menu-item.blue{color:var(--blue)}.menu-item.violet{color:var(--violet)}.bus-preview,.section-card{padding:18px;scroll-margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title{display:flex;min-width:0;align-items:center;gap:10px}.section-title h2{margin:0;font-family:Sora,sans-serif;font-size:1.2rem;font-weight:800;line-height:1.2}.text-link{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;border:0;background:transparent;font-size:.88rem;font-weight:800}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.bus-mini{display:grid;grid-gap:5px;gap:5px;min-width:0;align-content:start;padding:13px 11px 12px;border:1px solid var(--line);border-radius:18px;text-align:left}.bus-mini.blue{color:#1d66d9;background:linear-gradient(165deg,#f1f7ff,#eaf3ff);border-color:#cfe1ff}.bus-mini.green{color:#079557;background:linear-gradient(165deg,#effdf6,#e7fbf1);border-color:#c2ebd5}.bus-mini.orange{color:#df7b00;background:linear-gradient(165deg,#fff6ea,#fff1de);border-color:#ffdcab}.bus-mini-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.bus-mini-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:10px;background:hsla(0,0%,100%,.92);box-shadow:0 6px 14px rgba(9,34,53,.08)}.bus-mini-label{min-width:0;color:var(--muted);font-size:.7rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bus-mini strong{font-family:Sora,sans-serif;font-size:2.15rem;font-weight:800;line-height:1}.bus-mini small{margin-top:-2px;color:var(--muted);font-size:.74rem;font-weight:800}.bus-mini-dots{display:flex;gap:4px;margin-top:7px}.bus-mini-dots i{width:6px;height:6px;border-radius:999px;background:rgba(9,34,53,.13)}.bus-mini-dots i.on{background:currentColor}.total-strip{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f3fafa)}.total-strip-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:#e4f5f3;color:var(--teal)}.total-strip-label{flex:1 1;color:var(--muted);font-weight:800}.total-strip strong{color:var(--teal);font-family:Sora,sans-serif;font-size:1.95rem;font-weight:800;line-height:1}.total-strip small{color:var(--muted);font-size:.8rem;font-weight:800}.alert-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:13px;gap:13px;align-items:center;padding:18px;border-color:rgba(239,68,68,.22);background:linear-gradient(135deg,#fff5f5,#fff);cursor:pointer}.alert-panel .phone-bubble{background:linear-gradient(135deg,#ff5c64,#ef4444)}.alert-panel strong{display:flex;gap:9px;font-size:1.08rem}.alert-badge,.alert-panel strong{align-items:center;font-weight:900}.alert-badge{display:inline-flex;padding:3px 9px;border-radius:999px;background:#ffe1e1;color:#e1222a;font-size:.66rem;font-style:normal;letter-spacing:.02em;text-transform:uppercase}.alert-panel p{margin:5px 0 0;color:var(--muted);font-size:.9rem;font-weight:600}.alert-panel>span{display:inline-flex;align-items:center;gap:6px;padding:11px 15px;border:1px solid #fb8d8d;border-radius:13px;background:#fff;color:#e1222a;font-weight:900}.bus-tabs,.segmented{display:flex;gap:8px;padding:5px;border-radius:16px;background:#edf7f7}.bus-tab,.segmented button{flex:1 1;min-height:42px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.bus-tab.active,.segmented button.active{background:#fff;color:var(--teal-deep);box-shadow:0 8px 18px rgba(9,34,53,.08)}.timeline{display:grid;grid-gap:0;gap:0;margin-top:14px}.timeline-item{position:relative;display:grid;grid-template-columns:84px 18px minmax(0,1fr);grid-column-gap:10px;column-gap:10px;padding:13px 0}.timeline-item:before{position:absolute;top:26px;bottom:-13px;left:102px;width:2px;background:#c9dedf;content:""}.timeline-item:last-child:before{display:none}.timeline-item:after{position:absolute;top:17px;left:96px;width:14px;height:14px;border:3px solid #fff;border-radius:999px;background:var(--teal);box-shadow:0 0 0 2px var(--teal);content:""}.timeline-item time{grid-column:1;padding-top:14px;color:var(--teal);font-size:.72rem;font-weight:800;line-height:1.25;text-align:right;letter-spacing:-.01em}.timeline-item div{grid-column:3;position:relative;min-width:0}.timeline-item h3,.timeline-item p{margin:0}.timeline-item h3{font-size:.98rem;font-weight:900;line-height:1.25}.timeline-item span{display:block;margin-top:3px;color:var(--teal-deep);font-size:.78rem;font-weight:800}.timeline-item p{margin-top:5px;color:var(--muted);font-size:.84rem;line-height:1.45}.bus-section{overflow:hidden}.bus-tabs{margin-bottom:12px}.bus-tab{display:flex;align-items:center;justify-content:center;gap:6px}.bus-tab strong{font-family:Sora,sans-serif}.bus-tab.blue.active{color:#1d66d9}.bus-tab.green.active{color:#079557}.bus-tab.orange.active{color:#df7b00}.search-box{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--muted)}.search-box input{min-width:0;flex:1 1;border:0;outline:0;color:var(--ink);font-size:.92rem;font-weight:700}.search-box button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:999px;background:#eef5f6;color:var(--muted)}.search-results{margin-top:10px;padding:12px;border-radius:16px;background:#f4fbfb}.search-results strong{display:block;margin-bottom:8px;font-size:.88rem}.search-results div{display:flex;flex-wrap:wrap;gap:8px}.search-results button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #c9e6e7;border-radius:999px;background:#fff;color:var(--ink);font-size:.78rem;font-weight:800}.search-results span{color:var(--teal)}.bus-info-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#ecfbf9,#fff)}.bus-info-card small,.bus-info-card span,.seat-inspector span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.bus-info-card strong,.seat-inspector strong{display:block;margin-top:2px;font-weight:900}.bus-info-card a{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;border-radius:12px;background:var(--teal);color:#fff;font-size:.82rem;font-weight:900}.bus-layout{display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding:13px 11px 14px;border-radius:24px 24px 18px 18px;background:linear-gradient(180deg,hsla(0,0%,100%,.84),hsla(0,0%,100%,.98)),repeating-linear-gradient(90deg,rgba(20,154,148,.045) 0 10px,transparent 10px 20px);border:1px solid #d5e5ea;box-shadow:inset 0 0 0 5px rgba(232,244,246,.72)}.bus-cockpit{display:grid;grid-gap:8px;gap:8px;padding:9px 10px 10px;border-radius:18px 18px 12px 12px;background:linear-gradient(180deg,rgba(15,118,110,.1),hsla(0,0%,100%,.55))}.bus-cockpit>span{color:var(--muted);font-size:.68rem;font-weight:900;text-align:center;text-transform:uppercase}.bus-cockpit>div{display:flex;justify-content:space-between;gap:10px}.driver-pill{padding:8px 11px;border-radius:999px;background:var(--ink);color:#fff;font-size:.68rem;font-weight:900;text-transform:uppercase}.driver-pill.kenek{background:#6c7d8c}.bus-real-grid{display:grid;grid-gap:6px;gap:6px}.bus-real-row{grid-template-columns:minmax(0,2fr) 11px minmax(0,3fr);align-items:stretch}.bus-real-row,.rear-layout>div,.seat-pair,.seat-triple{display:grid;grid-gap:5px;gap:5px}.seat-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.bus-aisle{min-height:44px;border-radius:999px;background:linear-gradient(180deg,rgba(141,163,176,.16),rgba(141,163,176,.03))}.seat{position:relative;display:grid;min-width:0;min-height:50px;align-content:center;padding:12px 4px 6px;border:1px solid #cfdae0;border-radius:11px;background:#fff;color:var(--ink);text-align:center;cursor:pointer;box-shadow:0 7px 14px rgba(9,34,53,.045)}.seat em{position:absolute;top:4px;left:6px;color:rgba(9,34,53,.48);font-size:.53rem;font-style:normal;font-weight:900}.seat strong{overflow:hidden;font-size:clamp(.55rem,2.2vw,.74rem);font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.seat span{margin-top:3px;color:var(--muted);font-size:.56rem;font-weight:800}.seat-empty-visible{background:rgba(245,248,250,.74);border-style:dashed;color:rgba(92,111,124,.68);cursor:default;box-shadow:none}.seat-empty-visible strong{color:rgba(92,111,124,.62);font-size:.58rem}.rear-layout{display:grid;grid-gap:7px;gap:7px;padding-top:2px}.rear-layout>span{color:var(--muted);font-size:.68rem;font-weight:900;text-align:center;text-transform:uppercase}.rear-layout>div{grid-template-columns:repeat(6,minmax(0,1fr))}.seat.accent.blue,.seat.matched.blue{background:#b9d5ff;border-color:#77a9f8}.seat.accent.green,.seat.matched.green{background:#bff0d6;border-color:#70d49e}.seat.accent.orange,.seat.matched.orange{background:#ffd8a4;border-color:#ffb44b}.seat-inspector{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-top:12px}.seat-inspector>div{padding:12px;border-radius:14px;background:#f7fbfc}.family-strip,.video-list{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.family-strip::-webkit-scrollbar,.video-list::-webkit-scrollbar{display:none}.family-strip span{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.77rem;font-weight:800}.family-strip strong{display:grid;width:21px;height:21px;place-items:center;border-radius:999px;background:var(--teal);color:#fff;font-size:.68rem}.video-section{background:linear-gradient(180deg,#fff,#f8fffd)}.video-frame{overflow:hidden;aspect-ratio:16/9;border:1px solid #cce9e9;border-radius:18px;background:#0c2432;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2)}.video-frame iframe{width:100%;height:100%;border:0}.video-poster{display:grid;width:100%;height:100%;place-items:center;align-content:center;grid-gap:10px;gap:10px;border:0;background:linear-gradient(135deg,rgba(20,154,148,.9),rgba(16,185,129,.82)),url(/assets/ancol-scene.jpg) 50% /cover;color:#fff;text-align:center;cursor:pointer}.video-poster span{display:grid;width:70px;height:70px;place-items:center;border-radius:999px;background:hsla(0,0%,100%,.92);color:var(--teal);box-shadow:0 18px 34px rgba(9,34,53,.22)}.video-poster small,.video-poster strong{display:block;padding:0 18px}.video-poster strong{font-size:1.05rem;font-weight:900}.video-poster small{max-width:280px;font-size:.82rem;font-weight:800;line-height:1.35;opacity:.95}.video-current{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:12px}.video-current strong{font-size:1rem;font-weight:900}.section-copy,.video-current p{margin:5px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}.video-current a{display:inline-flex;align-items:center;gap:5px;padding:9px 11px;border-radius:12px;background:#edf7f7;color:var(--teal);font-size:.8rem;font-weight:900}.video-list button{display:flex;flex:0 0 230px;align-items:center;gap:10px;min-height:66px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-align:left}.video-list button.active{border-color:var(--teal);background:#effcf9}.video-list span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff}.video-list small,.video-list strong{display:block}.video-list strong{font-size:.82rem;font-weight:900;line-height:1.25}.video-list small{margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:800}.help-section{background:linear-gradient(145deg,#fff7f7,#fff 46%,#f4fbfb)}.help-lead{display:flex;gap:13px;align-items:center;margin-bottom:14px}.help-lead .phone-bubble{flex:0 0 auto;background:linear-gradient(135deg,#ff5c64,#ef4444)}.help-lead strong{display:block;font-size:.98rem;font-weight:900}.help-lead p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.contact-list{display:grid;grid-gap:10px;gap:10px}.contact-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.contact-card span{color:var(--muted);font-size:.76rem;font-weight:900}.contact-card strong{display:block;margin-top:2px;font-size:1.05rem;font-weight:900}.contact-card p{margin:4px 0 12px;color:var(--muted);font-size:.83rem;line-height:1.45}.contact-card div{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.contact-card a{display:grid;min-height:40px;place-items:center;border:1px solid;border-radius:12px;font-size:.82rem;font-weight:900}.contact-card .primary-wa{background:#19b26b;border-color:#19b26b;color:#fff}.contact-card.red{border-color:rgba(239,68,68,.25)}.contact-card.red a:first-child{color:#ef4444}.contact-card.teal a:first-child{color:var(--teal)}.contact-card.amber a:first-child{color:var(--amber)}.pj-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.pj-list a{display:grid;grid-gap:5px;gap:5px;justify-items:center;padding:12px 8px;border:1px solid #cfe8e8;border-radius:14px;background:#f6fdfb;text-align:center}.pj-list span{color:var(--teal);font-size:.76rem;font-weight:900}.pj-list strong{font-size:.82rem;font-weight:900}.guide-grid,.map-grid,.quick-guide-grid,.ticket-list{display:grid;grid-gap:10px;gap:10px}.guide-grid{grid-template-columns:repeat(3,1fr)}.guide-grid article,.quick-guide-grid article,.ticket-list article{padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.guide-grid svg,.quick-guide-grid svg{color:var(--teal)}.guide-grid strong,.quick-guide-grid strong,.ticket-list span,.ticket-list strong{display:block;font-weight:900}.guide-grid p,.quick-guide-grid p,.ticket-list p{margin:6px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}.quick-guide-grid article{display:flex;gap:11px}.hotel-allocation{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.hotel-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.hotel-stats span{display:grid;grid-gap:2px;gap:2px;padding:10px 8px;border:1px solid #d5ece9;border-radius:14px;background:linear-gradient(180deg,#f8fffd,#f1fbf8);color:var(--muted);font-size:.72rem;font-weight:900;text-align:center}.hotel-stats strong{color:var(--teal);font-family:Sora,sans-serif;font-size:1.28rem}.hotel-search{margin-top:0}.room-filter{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.room-filter button{min-height:38px;border:1px solid #d8e5e8;border-radius:12px;background:#fff;color:var(--muted);font-weight:900}.room-filter button.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 10px 20px rgba(20,154,148,.18)}.hotel-room-summary{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:14px;background:#f8fbfc;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.35}.hotel-room-summary svg{flex:0 0 auto;color:var(--teal)}.hotel-room-list{display:grid;grid-gap:9px;gap:9px}.hotel-room-card{display:grid;grid-gap:8px;gap:8px;padding:13px;border:1px solid #d9e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 22px rgba(9,34,53,.045)}.hotel-room-card.single{border-color:rgba(20,154,148,.24)}.hotel-room-card.family{border-color:rgba(245,158,11,.24)}.hotel-room-meta,.hotel-room-top{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.hotel-room-top{justify-content:space-between}.hotel-room-meta span,.hotel-room-top em,.hotel-room-top span{display:inline-flex;align-items:center;min-height:25px;padding:5px 8px;border-radius:999px;font-size:.68rem;font-style:normal;font-weight:900}.hotel-room-top span{background:#edfafa;color:var(--teal-deep)}.hotel-room-top em{background:#fff5df;color:#b66a00}.hotel-room-card>strong{color:var(--ink);font-size:.96rem;font-weight:900;line-height:1.25}.hotel-room-meta span{background:#f5f8fa;color:var(--muted)}.hotel-room-card ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.hotel-room-card li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #edf2f4;color:var(--ink);font-size:.82rem;font-weight:800}.hotel-room-card li span{color:var(--muted);font-size:.74rem;text-align:right}.hotel-room-card p{margin:0;font-size:.78rem}.empty-result,.hotel-room-card p{color:var(--muted);font-weight:800}.empty-result{padding:13px;border:1px dashed #cfe0e4;border-radius:14px;background:#f8fbfc;font-size:.84rem;text-align:center}.check-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.check-list li{position:relative;min-height:42px;padding:11px 12px 11px 38px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:.87rem;font-weight:700;line-height:1.35}.check-list li:before{position:absolute;top:12px;left:13px;display:grid;width:17px;height:17px;place-items:center;border-radius:999px;background:var(--green);color:#fff;content:"✓";font-size:.72rem;font-weight:900}.ticket-list{margin-top:12px;grid-template-columns:repeat(2,1fr)}.ticket-list span{color:var(--teal-deep);font-size:.83rem}.ticket-list strong{margin-top:4px;color:var(--amber);font-family:Sora,sans-serif;font-size:1rem}.maps-section{overflow:hidden}.map-card{width:100%;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.map-card,.map-thumb{display:block;overflow:hidden}.map-thumb{position:relative}.map-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .32s ease}.map-card.wide{margin-bottom:10px}.map-card.wide img{aspect-ratio:16/9}.map-zoom{position:absolute;top:9px;right:9px;display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:rgba(9,34,53,.55);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s ease}.map-card strong{display:block;padding:10px 12px;font-size:.85rem;font-weight:900}.map-grid{grid-template-columns:repeat(2,1fr)}.booklet img{object-position:top}@media (hover:hover){.map-card:hover img{transform:scale(1.05)}.map-card:hover .map-zoom{background:var(--teal)}}.img-lightbox{position:fixed;z-index:120;inset:0;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;padding:16px;background:rgba(6,20,30,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease both}.img-lightbox-stage{display:grid;place-items:center;width:min(100%,1100px);max-height:calc(100vh - 150px);overflow:hidden}.img-lightbox-stage img{max-width:100%;max-height:calc(100vh - 150px);border-radius:12px;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.5);touch-action:none;transition:transform .12s ease;will-change:transform}.img-lightbox-close{position:absolute;top:14px;right:14px;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:999px;background:hsla(0,0%,100%,.16);color:#fff;cursor:pointer;transition:background .18s ease}.img-lightbox-close:hover{background:hsla(0,0%,100%,.28)}.img-lightbox-controls{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:6px;border-radius:999px;background:hsla(0,0%,100%,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.img-lightbox-controls button{display:grid;min-width:42px;height:42px;place-items:center;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#fff;font-weight:800;font-size:.84rem;cursor:pointer;transition:background .16s ease}.img-lightbox-controls button:hover:not(:disabled){background:hsla(0,0%,100%,.2)}.img-lightbox-controls button.reset{min-width:56px}.img-lightbox-controls button:disabled{opacity:.4;cursor:not-allowed}.img-lightbox-caption{margin:8px 0 0;color:hsla(0,0%,100%,.86);font-size:.84rem;font-weight:700;text-align:center}.reminder-section{padding:16px}.reminder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.reminder-hint{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;color:var(--muted);font-size:.76rem;font-weight:800}.reminder-viewport{position:relative;width:min(100%,340px);margin:0 auto;overflow:hidden;border-radius:18px;box-shadow:0 14px 32px rgba(9,34,53,.12)}.reminder-track{display:flex;touch-action:pan-y;transition:transform .45s cubic-bezier(.22,1,.36,1)}.reminder-slide{position:relative;display:block;flex:0 0 100%;width:100%;padding:0;border:0;background:#eef5f6;cursor:zoom-in}.reminder-slide img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reminder-zoom{top:10px;right:10px;width:30px;height:30px;place-items:center;border-radius:10px;background:rgba(9,34,53,.5);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.reminder-nav,.reminder-zoom{position:absolute;display:grid}.reminder-nav{top:50%;width:36px;height:36px;place-items:center;transform:translateY(-50%);border:0;border-radius:999px;background:hsla(0,0%,100%,.88);color:var(--teal-deep);box-shadow:0 8px 20px rgba(9,34,53,.18);cursor:pointer;transition:background .16s ease,transform .16s ease}.reminder-nav:hover{background:#fff}.reminder-nav:active{transform:translateY(-50%) scale(.92)}.reminder-nav.prev{left:8px}.reminder-nav.next{right:8px}.reminder-dots{display:flex;justify-content:center;gap:7px;margin-top:13px}.reminder-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(9,34,53,.16);cursor:pointer;transition:width .22s ease,background .22s ease}.reminder-dot.active{width:22px;background:var(--teal)}@media (prefers-reduced-motion:reduce){.reminder-track{transition:none}}.app-footer{display:grid;grid-gap:9px;gap:9px;padding:2px 6px 18px}.app-footer a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:13px;color:var(--teal);font-size:.84rem;font-weight:900}.app-footer .admin-footer-link{margin-top:6px;color:var(--muted);font-size:.78rem}.bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,760px);min-height:84px;margin:0 auto;padding:9px max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));border:1px solid rgba(9,34,53,.12);border-bottom:0;border-top-left-radius:22px;border-top-right-radius:22px;background:hsla(0,0%,100%,.95);box-shadow:0 -18px 42px rgba(9,34,53,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{position:relative;display:grid;place-items:center;grid-gap:5px;gap:5px;border:0;background:transparent;color:#687985;font-size:.73rem;font-weight:900;cursor:pointer}.bottom-nav .nav-ico{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;background:#eef3f5;color:#6c7d8c;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.bottom-nav button.active{color:var(--teal-deep)}.bottom-nav button.active .nav-ico{background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;box-shadow:0 12px 24px rgba(20,154,148,.32);transform:translateY(-2px)}.bottom-nav button:active .nav-ico{transform:scale(.94)}.contact-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:end center;padding:18px 14px calc(20px + env(safe-area-inset-bottom));background:rgba(9,34,53,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-modal-card{position:relative;width:min(100%,430px);padding:24px 18px 18px;border:1px solid rgba(20,154,148,.2);border-radius:24px;background:#fff;box-shadow:0 28px 65px rgba(9,34,53,.26)}.modal-close{position:absolute;top:13px;right:13px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:#eef6f6;color:var(--muted);cursor:pointer}.modal-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--green));box-shadow:0 18px 36px rgba(20,154,148,.24)}.contact-modal h2{margin:14px 42px 0 0;font-family:Sora,sans-serif;font-size:1.32rem;line-height:1.16}.contact-modal p{margin:8px 0 16px;color:var(--muted);font-size:.9rem;font-weight:600;line-height:1.5}.contact-modal form,.contact-modal label{display:grid;grid-gap:10px;gap:10px}.contact-modal label{gap:7px}.contact-modal label span{display:inline-flex;align-items:center;gap:7px;color:var(--teal-deep);font-size:.82rem;font-weight:900}.contact-modal input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:14px;outline:0;color:var(--ink);background:#fbfefe;font-size:.95rem;font-weight:750}.contact-modal input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,154,148,.1)}.modal-later,.modal-submit{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;font-weight:900;cursor:pointer}.modal-submit{margin-top:4px;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;box-shadow:0 14px 28px rgba(20,154,148,.22)}.modal-submit:disabled{cursor:wait;opacity:.78}.modal-later{background:transparent;color:var(--muted)}.modal-status{padding:10px 12px;border-radius:13px;font-size:.82rem;font-weight:800;line-height:1.4}.modal-status.saved{background:#e6faef;color:#087442}.modal-status.error{background:#fff1f1;color:#c81e1e}@media (min-width:780px){body{background:radial-gradient(circle at 10% 0,rgba(20,154,148,.13),transparent 32rem),radial-gradient(circle at 90% 12%,rgba(245,158,11,.12),transparent 28rem),#f4fbfb}.app-shell{width:min(100%,840px);margin:0 auto}.hero{border-radius:0 0 34px 34px}.content-stack{padding-inline:26px}.countdown-card{grid-template-columns:auto minmax(160px,1fr) 2fr auto}.countdown-values{grid-column:auto;border-top:0}.status-pill{grid-column:auto;margin-top:0}.menu-grid{grid-template-columns:repeat(5,1fr)}.seat-inspector{grid-template-columns:1fr 1fr}}@media (max-width:430px){.content-stack{padding-inline:12px}.hero-content{padding-inline:16px}.menu-grid{gap:15px 8px}.menu-item span{width:70px;height:66px}.bus-preview,.menu-panel,.section-card{padding:15px;border-radius:19px}.guide-grid,.map-grid,.ticket-list{grid-template-columns:1fr}.alert-panel{grid-template-columns:auto minmax(0,1fr)}.alert-panel>span{grid-column:1/-1;width:100%;text-align:center}.pj-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.alert-panel,.countdown-card,.hero-content,.panel{animation:floatIn .68s ease both}.panel:nth-of-type(2){animation-delay:.05s}.panel:nth-of-type(3){animation-delay:.1s}.bus-mini,.menu-item span,.seat{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.bus-mini:active,.menu-item:active span,.seat:active{transform:scale(.97)}.status-pill span{animation:pulseDot 1.9s ease-in-out infinite}.alert-panel .phone-bubble,.help-lead .phone-bubble{animation:ringPulse 2.4s ease-in-out infinite}@media (hover:hover){.bus-mini:hover,.menu-item:hover span{transform:translateY(-3px)}.bus-mini:hover{box-shadow:0 16px 30px rgba(9,34,53,.1)}}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 4px rgba(16,185,129,.16)}50%{box-shadow:0 0 0 8px rgba(16,185,129,.04)}}@keyframes ringPulse{0%,to{box-shadow:0 12px 30px rgba(239,68,68,.22)}50%{box-shadow:0 12px 30px rgba(239,68,68,.22),0 0 0 10px rgba(239,68,68,.07)}}.contact-modal{animation:fadeIn .24s ease both}.contact-modal-card{animation:sheetUp .36s cubic-bezier(.22,1,.36,1) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}.admin-auth{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 12% 0,rgba(20,154,148,.16),transparent 30rem),radial-gradient(circle at 88% 8%,rgba(245,158,11,.12),transparent 26rem),linear-gradient(180deg,#fff,#f1faf9)}.admin-auth-card{width:min(100%,420px);padding:28px 26px 24px;border:1px solid rgba(20,154,148,.16);border-radius:24px;background:#fff;box-shadow:0 26px 60px rgba(9,34,53,.14)}.admin-auth-badge{display:grid;width:56px;height:56px;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--green));box-shadow:0 16px 30px rgba(20,154,148,.26)}.admin-auth-card h1{margin:18px 0 6px;font-family:Sora,sans-serif;font-size:1.5rem;color:var(--teal-deep)}.admin-auth-card p{margin:0 0 18px;color:var(--muted);font-size:.92rem;line-height:1.5}.admin-auth-card form{display:grid;grid-gap:12px;gap:12px}.admin-auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px;padding:5px;border:1px solid rgba(20,154,148,.16);border-radius:14px;background:#f4fbfa}.admin-auth-tabs button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:900;cursor:pointer}.admin-auth-tabs button.active{background:#fff;color:var(--teal-deep);box-shadow:0 8px 18px rgba(9,34,53,.08)}.admin-auth-card label,.admin-field{display:grid;grid-gap:7px;gap:7px}.admin-auth-card label>span,.admin-field>span{display:inline-flex;align-items:center;gap:6px;color:var(--teal-deep);font-size:.82rem;font-weight:800}.admin-auth-card input,.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;outline:0;background:#fbfefe;color:var(--ink);font:inherit;font-weight:650}.admin-field textarea{min-height:auto;line-height:1.5;resize:vertical}.admin-auth-card input:focus,.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,154,148,.1)}.admin-field small{color:var(--muted);font-size:.74rem;font-weight:600}.admin-auth-note{margin-top:16px;background:#f1faf9;color:var(--teal-deep);font-size:.78rem}.admin-auth-note,.admin-auth-status{padding:10px 12px;border-radius:12px;font-weight:700}.admin-auth-status{margin-top:12px;background:#fff7ed;color:#92600a;font-size:.82rem}.admin-skeleton{padding:28px;color:var(--muted);font-weight:700}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:800;font-size:.86rem;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.admin-btn:hover{box-shadow:0 8px 18px rgba(9,34,53,.08)}.admin-btn:active{transform:scale(.98)}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;box-shadow:0 12px 24px rgba(20,154,148,.22)}.admin-btn.ghost{background:#f3fbfb;border-color:rgba(20,154,148,.2);color:var(--teal-deep)}.admin-btn.small{min-height:36px;padding:0 12px;font-size:.8rem}.admin-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:#f3f7f9}.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:20px 16px;border-right:1px solid rgba(9,34,53,.08);background:#fff}.admin-brand{display:flex;align-items:center;gap:11px;padding:4px 6px 18px}.admin-brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;font-family:Sora,sans-serif;font-weight:800;font-size:1.2rem}.admin-brand strong{display:block;font-family:Sora,sans-serif;font-size:1.02rem;color:var(--ink)}.admin-brand span{font-size:.76rem;color:var(--muted);font-weight:700}.admin-nav-close{display:none;margin-left:auto;width:34px;height:34px;border:0;border-radius:10px;background:#eef4f5;color:var(--muted);cursor:pointer}.admin-nav{display:grid;grid-gap:4px;gap:4px;margin-top:6px}.admin-nav button{display:flex;align-items:center;gap:11px;padding:11px 13px;border:0;border-radius:12px;background:transparent;color:#51616e;font-size:.9rem;font-weight:800;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-nav button:hover{background:#f1faf9;color:var(--teal-deep)}.admin-nav button.active{background:linear-gradient(135deg,rgba(20,154,148,.14),rgba(16,185,129,.12));color:var(--teal-deep);box-shadow:inset 3px 0 0 var(--teal)}.admin-sidebar-foot{margin-top:auto;padding-top:16px}.admin-sidebar-foot a{display:inline-flex;font-size:.82rem;font-weight:800;color:var(--teal)}.admin-nav-scrim{display:none;position:fixed;inset:0;z-index:40;border:0;background:rgba(9,34,53,.4)}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid rgba(9,34,53,.07);background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);cursor:pointer}.admin-topbar-title{font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink)}.admin-topbar-user{display:flex;align-items:center;gap:12px;margin-left:auto}.admin-user-meta{text-align:right;line-height:1.2}.admin-user-meta strong{display:block;font-size:.88rem;font-weight:800}.admin-user-meta span{font-size:.74rem;color:var(--muted);font-weight:700}.admin-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;font-weight:800}.admin-content{padding:24px}.admin-view{display:grid;grid-gap:18px;gap:18px;max-width:1100px}.admin-view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-view-head h2{margin:0;font-family:Sora,sans-serif;font-size:1.4rem;color:var(--ink)}.admin-view-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem;font-weight:600}.admin-view-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-alert{padding:12px 14px;border-radius:13px;font-size:.86rem;font-weight:700}.admin-alert.ok{background:#e6faef;color:#087442}.admin-alert.warn{background:#fff1f1;color:#c81e1e}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px}.admin-stat-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stat{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid rgba(9,34,53,.07);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(9,34,53,.05)}.admin-stat-icon{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:13px}.admin-stat strong{display:block;font-family:Sora,sans-serif;font-size:1.55rem;line-height:1.1;color:var(--ink)}.admin-stat small{color:var(--muted);font-size:.8rem;font-weight:700}.admin-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.admin-panel{padding:18px;border:1px solid rgba(9,34,53,.07);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(9,34,53,.04)}.admin-panel>h3{margin:0 0 14px;font-family:Sora,sans-serif;font-size:1.05rem;color:var(--ink)}.admin-panel form{display:grid;grid-gap:13px;gap:13px}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.admin-panel-head h3{margin:0;font-family:Sora,sans-serif;font-size:1.05rem}.admin-panel-head p{margin:4px 0 0;color:var(--muted);font-size:.8rem;font-weight:700}.admin-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.admin-field+.admin-field{margin-top:13px}.admin-toggle{display:inline-flex;align-items:center;gap:9px;padding:10px 0;font-size:.86rem;font-weight:700;color:var(--ink);cursor:pointer}.admin-toggle input{width:18px;height:18px;accent-color:var(--teal)}.admin-form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}.admin-status-list{display:grid;grid-gap:9px;gap:9px;margin:0;padding:0;list-style:none}.admin-status-list li{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fbfefe}.admin-status-name{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:.88rem;color:var(--ink)}.admin-pill{padding:5px 11px;border-radius:999px;font-size:.74rem;font-weight:800}.admin-pill.ok{background:#e2f6ee;color:#0a7a45}.admin-pill.warn{background:#fdeede;color:#a4630a}.admin-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-quicklinks button{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fbfefe;color:var(--teal-deep);font-weight:800;font-size:.86rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.admin-quicklinks button:hover{background:#f1faf9;transform:translateY(-2px)}.admin-icon-preview.teal,.admin-menu-icon.teal,.admin-stat-icon.teal{color:#0f8b85;background:#e3f6f4}.admin-icon-preview.green,.admin-menu-icon.green,.admin-stat-icon.green{color:#0f9c5d;background:#e7f8ef}.admin-icon-preview.red,.admin-menu-icon.red,.admin-stat-icon.red{color:#e0322f;background:#fdebeb}.admin-icon-preview.amber,.admin-menu-icon.amber,.admin-stat-icon.amber{color:#d98300;background:#fef0d9}.admin-icon-preview.sky,.admin-menu-icon.sky,.admin-stat-icon.sky{color:#0792c4;background:#e1f5fc}.admin-icon-preview.blue,.admin-menu-icon.blue,.admin-stat-icon.blue{color:#1f5fd0;background:#e8f0fe}.admin-icon-preview.violet,.admin-menu-icon.violet,.admin-stat-icon.violet{color:#6d5bd7;background:#efecfb}.admin-preview-hero{display:grid;grid-gap:6px;gap:6px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#e9fbf9,#f4fbfb);text-align:center}.admin-preview-hero strong{font-family:Sora,sans-serif;font-size:1.8rem;color:var(--teal-deep)}.admin-preview-hero em{color:var(--teal-deep);font-weight:700}.admin-preview-chips{display:flex;justify-content:center;gap:8px;margin-top:6px}.admin-preview-chips span{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.76rem;font-weight:800}.admin-preview-cta{justify-self:center;margin-top:8px;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;font-size:.8rem;font-weight:800}.admin-preview-popup{margin-top:12px;padding:14px;border:1px dashed var(--line);border-radius:14px;background:#fbfefe}.admin-preview-popup strong{font-size:.78rem;font-weight:800;color:var(--teal-deep)}.admin-preview-popup-title{margin:6px 0 2px!important;font-weight:800;color:var(--ink)!important}.admin-preview-popup p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.admin-version-list{display:grid;grid-gap:7px;gap:7px;margin:0 0 12px;padding:0;list-style:none}.admin-version-list li{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfefe;font-size:.82rem;font-weight:700}.admin-empty,.admin-version-list small{color:var(--muted);font-weight:600}.admin-empty{margin:0;padding:14px;border-radius:12px;background:#f6f9fa;font-size:.86rem}.admin-empty.compact{padding:10px 12px;border:1px dashed rgba(20,154,148,.22);background:#f8fcfb;font-size:.78rem}.admin-inline-link{display:inline-flex;align-items:center;gap:5px;color:var(--teal);font-size:.82rem;font-weight:800}.admin-menu-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.admin-menu-list li{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-menu-list li.inactive{opacity:.55}.admin-menu-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:11px}.admin-menu-meta{min-width:0;flex:1 1}.admin-menu-meta strong{display:block;font-size:.9rem;font-weight:800}.admin-menu-meta small{color:var(--muted);font-size:.76rem;font-weight:700}.admin-menu-ops{display:flex;gap:5px}.admin-menu-ops button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fbfefe;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.admin-menu-ops button:hover:not(:disabled){background:#f1faf9;color:var(--teal-deep)}.admin-menu-ops button.danger:hover:not(:disabled){background:#fdebeb;color:#e0322f}.admin-menu-ops button:disabled{opacity:.4;cursor:not-allowed}.admin-icon-preview{display:grid;width:46px;height:46px;place-items:center;border-radius:13px}.admin-audit-table{display:grid;grid-gap:0;gap:0}.admin-audit-head,.admin-audit-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;grid-gap:12px;gap:12px;padding:11px 12px;align-items:center}.admin-audit-head{border-bottom:2px solid var(--line);color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.admin-audit-row{border-bottom:1px solid #eef3f4;font-size:.84rem;font-weight:600}.admin-audit-row span:first-child{color:var(--muted)}.admin-audit-action{font-weight:800;color:var(--teal-deep)}.admin-note{padding:10px 12px;border-radius:11px;background:#f1faf9;color:var(--teal-deep);font-size:.8rem;font-weight:700;line-height:1.45}.admin-note.status{background:#fff7ed;color:#92600a}.admin-job{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:4px;padding:12px 14px;border-radius:12px;background:#092235;color:#d7ffef;font-size:.82rem;font-weight:800}.admin-job strong{color:#6ee7b7}.admin-result-list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.admin-result-list h4{margin:0;color:#b42318;font-family:Sora,sans-serif;font-size:.86rem}.admin-result-list article{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border:1px solid rgba(239,68,68,.18);border-radius:12px;background:#fff7f7}.admin-result-list strong{color:var(--ink);font-size:.85rem;font-weight:900}.admin-result-list span{color:#dc2626;font-size:.8rem;font-weight:900}.admin-result-list p{margin:0;color:#8a3a32;font-size:.78rem;font-weight:700;line-height:1.4}.admin-schedule-list,.admin-schedule-mini{display:grid;grid-gap:9px;gap:9px}.admin-schedule-list article,.admin-schedule-mini article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fbfefe}.admin-schedule-list strong,.admin-schedule-mini strong{display:block;color:var(--ink);font-size:.88rem;font-weight:900}.admin-schedule-list small,.admin-schedule-list span,.admin-schedule-mini span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem;font-weight:800}.admin-schedule-list p{margin:6px 0 0;color:var(--teal-deep);font-size:.78rem;font-weight:800}.admin-schedule-list article.schedule-queued{border-color:rgba(245,158,11,.25);background:#fffaf0}.admin-schedule-list article.schedule-sent{border-color:rgba(16,185,129,.24);background:#f4fff9}.admin-schedule-list article.schedule-failed{border-color:rgba(239,68,68,.24);background:#fff7f7}.admin-schedule-list article.schedule-cancelled{opacity:.68}.admin-schedule-side{display:flex;flex:0 0 auto;align-items:center;gap:8px}.admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:.75rem;font-weight:900;cursor:pointer}.admin-icon-btn.danger{border-color:rgba(239,68,68,.22);color:#dc2626}.admin-contact-list{display:grid;grid-gap:8px;gap:8px;max-height:520px;overflow-y:auto}.admin-contact-list article{display:grid;grid-gap:9px;gap:9px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfefe}.admin-contact-list article.synced{border-color:rgba(20,154,148,.22);background:linear-gradient(180deg,#fbfefe,#f3fbfa)}.admin-contact-list article.unsynced{border-color:rgba(245,158,11,.22);background:#fffaf1}.admin-contact-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-contact-main div{display:grid;grid-gap:3px;gap:3px;min-width:0}.admin-contact-list strong{font-size:.88rem;font-weight:800}.admin-contact-list span{color:var(--teal);font-weight:800;font-size:.84rem}.admin-contact-list small{color:var(--muted);font-size:.74rem;font-weight:600;line-height:1.35}.admin-contact-search{display:flex;align-items:center;gap:9px;margin:12px 0 10px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}.admin-contact-search input{width:100%;min-height:42px;border:0;outline:0;color:var(--ink);background:transparent;font-size:.86rem;font-weight:750}.admin-contact-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.admin-contact-summary span{display:grid;grid-gap:2px;gap:2px;padding:9px 10px;border:1px solid rgba(20,154,148,.16);border-radius:12px;background:#f7fcfb;color:var(--muted);font-size:.68rem;font-weight:800}.admin-contact-summary strong{color:var(--teal-deep);font-family:Sora,sans-serif;font-size:1rem}.admin-contact-sync{margin:-4px 0 12px;color:var(--muted);font-size:.73rem;font-weight:800}.admin-wa-action{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-height:32px;padding:0 10px;border-radius:999px;background:#dcfce7;color:#087442;font-size:.75rem;font-weight:900;text-decoration:none}.admin-contact-tags{display:flex;flex-wrap:wrap;gap:7px}.admin-contact-tags span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;font-size:.72rem;font-weight:900}.admin-contact-tags .match{background:#e8faf5;color:var(--teal-deep)}.admin-contact-tags .muted{background:#edf3f6;color:var(--muted)}.room-stat-grid{margin-bottom:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.room-checkout-panel,.room-list-panel,.room-quick-panel{margin-top:16px}.room-checkout-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);grid-gap:16px}.room-checkout-grid,.room-quick-grid{display:grid;gap:16px;align-items:start}.room-quick-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:16px}.room-quick-form,.room-quick-search{min-width:0}.room-search-results{display:grid;grid-gap:8px;gap:8px;margin-top:10px;max-height:310px;overflow-y:auto}.room-search-results button{display:grid;grid-gap:4px;gap:4px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fbfefe;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.room-search-results button.active,.room-search-results button:hover{border-color:rgba(20,154,148,.34);background:#f0faf8;transform:translateY(-1px)}.room-search-results strong{font-size:.86rem}.room-search-results small,.room-search-results span{color:var(--muted);font-size:.76rem;font-weight:750;line-height:1.35}.room-selected{display:grid;grid-gap:4px;gap:4px;margin-bottom:12px;padding:12px 13px;border:1px solid rgba(20,154,148,.18);border-radius:14px;background:#f3fbfa}.room-selected strong{color:var(--teal-deep);font-family:Sora,sans-serif;font-size:.95rem}.room-selected span,.room-selected.muted{color:var(--muted);font-size:.82rem;font-weight:750}.room-toggle{align-self:end;min-height:44px}.room-toolbar{display:grid;grid-gap:11px;gap:11px;margin-bottom:14px}.room-search{margin:0}.room-search button{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:0;border-radius:999px;background:#edf5f6;color:var(--muted);cursor:pointer}.room-checkout-results{display:grid;grid-gap:9px;gap:9px;margin-top:10px;max-height:360px;overflow-y:auto}.room-checkout-results button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:64px;padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:#fbfefe;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.room-checkout-results button.active,.room-checkout-results button:hover{border-color:rgba(20,154,148,.38);background:#f1fbfa;transform:translateY(-1px)}.room-checkout-results button.done{border-color:rgba(16,185,129,.26);background:#f2fbf7}.room-no-chip{display:grid;min-width:58px;min-height:42px;place-items:center;padding:0 10px;border-radius:13px;background:linear-gradient(135deg,var(--teal),#10b981);color:#fff;font-family:Sora,sans-serif;font-size:1rem;font-weight:900;letter-spacing:0}.room-checkout-results strong{display:block;font-size:.86rem}.room-checkout-results small{display:block;margin-top:2px;color:var(--muted);font-size:.73rem;font-weight:750;line-height:1.35}.room-checkout-results em{padding:6px 9px;border-radius:999px;background:#fff7e6;color:#9a5a08;font-size:.7rem;font-style:normal;font-weight:900;white-space:nowrap}.room-checkout-results .done em{background:#dcfce7;color:#087442}.room-checkout-action{display:grid;grid-gap:12px;gap:12px;padding:13px;border:1px solid rgba(20,154,148,.15);border-radius:18px;background:linear-gradient(180deg,#f7fcfb,#fff)}.room-checkout-selected{display:grid;grid-gap:5px;gap:5px;padding:14px;border:1px solid rgba(245,158,11,.22);border-radius:16px;background:#fffaf1}.room-checkout-selected.done{border-color:rgba(16,185,129,.24);background:#f1fbf6}.room-checkout-selected span{color:var(--teal-deep);font-family:Sora,sans-serif;font-size:1.55rem;font-weight:900;line-height:1}.room-checkout-selected strong{color:var(--ink);font-size:.92rem;font-weight:900}.room-checkout-empty span,.room-checkout-selected p,.room-checkout-selected small{margin:0;color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.4}.checkout-actions .admin-btn{min-height:44px}.room-checkout-empty{display:grid;min-height:210px;place-items:center;grid-gap:7px;gap:7px;padding:20px;border:1px dashed rgba(20,154,148,.24);border-radius:16px;background:#f8fcfb;color:var(--muted);text-align:center}.room-checkout-empty strong{color:var(--ink);font-family:Sora,sans-serif;font-size:.95rem}.room-filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.room-filter-tabs button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:900;cursor:pointer}.room-filter-tabs button.active{border-color:rgba(20,154,148,.3);background:#e7f8f5;color:var(--teal-deep)}.room-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.room-admin-card{display:grid;grid-gap:11px;gap:11px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfefe;box-shadow:0 8px 22px rgba(9,34,53,.035)}.room-admin-card.assigned{border-color:rgba(59,130,246,.22);background:linear-gradient(180deg,#fbfefe,#f5f9ff)}.room-admin-card.delivered{border-color:rgba(16,185,129,.28);background:linear-gradient(180deg,#fbfefe,#f2fbf7)}.room-admin-card.checked-out{border-color:rgba(20,154,148,.36);background:linear-gradient(180deg,#fbfefe,#eefbf8)}.room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.room-card-head div{display:grid;grid-gap:3px;gap:3px}.room-card-head em,.room-card-head span{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:900}.room-card-head h4{margin:0;color:var(--ink);font-family:Sora,sans-serif;font-size:1rem}.room-card-head em{padding:6px 9px;border-radius:999px;background:#eef6f7;color:var(--teal-deep);white-space:nowrap}.room-card-names{color:var(--ink);font-size:.92rem;line-height:1.35}.room-card-meta{display:flex;flex-wrap:wrap;gap:7px}.room-card-meta span,.room-participants span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#eef5f6;color:var(--muted);font-size:.72rem;font-weight:850}.room-participants{display:flex;flex-wrap:wrap;gap:7px}.room-participants span{align-items:flex-start;flex-direction:column;border-radius:12px;background:#fff;color:var(--ink)}.room-participants small{color:var(--muted);font-size:.66rem;font-weight:800}.room-checkout-status{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid rgba(245,158,11,.24);border-radius:13px;background:#fffaf1;color:#a4630a}.room-checkout-status.done{border-color:rgba(16,185,129,.25);background:#ecfdf5;color:#087442}.room-checkout-status svg{flex:0 0 auto}.room-checkout-status div{display:grid;grid-gap:2px;gap:2px;min-width:0}.room-checkout-status strong{color:inherit;font-size:.82rem;font-weight:900}.room-checkout-status span{color:var(--muted);font-size:.72rem;font-weight:750}.room-card-form{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr);grid-gap:10px;gap:10px;align-items:end}.room-note-field{grid-column:1/-1}.room-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-card-actions small{color:var(--muted);font-size:.72rem;font-weight:800}.key-report-page{min-height:100vh;padding:24px;background:#eef5f6;color:var(--ink)}.key-report-toolbar{display:flex;justify-content:flex-end;gap:10px;max-width:1180px;margin:0 auto 14px}.key-report-toolbar a,.key-report-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid rgba(20,154,148,.22);border-radius:10px;background:#fff;color:var(--teal-deep);font-weight:850;font-size:.84rem;text-decoration:none;cursor:pointer}.key-report-toolbar button{border-color:transparent;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff}.key-report-sheet{max-width:1180px;margin:0 auto;padding:22px;border:1px solid rgba(9,34,53,.1);border-radius:10px;background:#fff;box-shadow:0 18px 44px rgba(9,34,53,.08)}.key-report-header{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:3px solid var(--teal)}.key-report-header img{width:74px;height:74px;object-fit:contain}.key-report-header p{margin:0 0 4px;color:var(--teal-deep);font-size:.9rem;font-weight:900}.key-report-header h1{margin:0;font-family:Sora,sans-serif;font-size:1.7rem;line-height:1.15;color:var(--ink)}.key-report-header span,.key-report-meta span{color:var(--muted);font-size:.82rem;font-weight:750}.key-report-meta{display:flex;flex-wrap:wrap;gap:9px 18px;padding:12px 0}.key-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.key-report-summary div{padding:10px 12px;border:1px solid rgba(20,154,148,.16);border-radius:10px;background:#f5fbfa}.key-report-summary strong{display:block;color:var(--teal-deep);font-family:Sora,sans-serif;font-size:1.35rem;line-height:1}.key-report-summary span{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:850}.key-report-table{width:100%;border-collapse:collapse;font-size:.73rem}.key-report-table td,.key-report-table th{padding:6px 7px;border:1px solid #cdd9de;vertical-align:top}.key-report-table th{background:#e6f5f3;color:var(--teal-deep);font-size:.68rem;font-weight:950;text-transform:uppercase}.key-report-table td{color:var(--ink);line-height:1.25}.key-report-table td:first-child,.key-report-table td:nth-child(2),.key-report-table td:nth-child(3){text-align:center;white-space:nowrap}.key-report-table .room-number{color:var(--teal-deep);font-family:Sora,sans-serif;font-weight:900}.key-report-table strong{display:block;font-size:.74rem}.key-report-table small{display:block;margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:750}.key-report-table .status{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;font-size:.64rem;font-weight:950;white-space:nowrap}.key-report-table .status.returned{background:#dcfce7;color:#087442}.key-report-table .status.pending{background:#fff4d8;color:#9a5a08}.key-report-table tr.returned{background:#f5fdf8}.key-report-table td:last-child,.key-report-table th:last-child{width:70px}.key-report-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:40px;gap:40px;margin-top:26px;padding:0 34px}.key-report-footer div{min-height:96px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.key-report-footer span{color:var(--muted);font-size:.78rem;font-weight:750}.key-report-footer strong{padding-top:8px;border-top:1px solid #94a3b8;font-size:.86rem}@page{size:A4 landscape;margin:10mm}@media print{body{background:#fff}.key-report-page{min-height:auto;padding:0;background:#fff}.key-report-toolbar{display:none}.key-report-sheet{max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.key-report-header img{width:58px;height:58px}.key-report-header h1{font-size:1.25rem}.key-report-summary{page-break-inside:avoid;break-inside:avoid}.key-report-table{font-size:.6rem}.key-report-table td,.key-report-table th{padding:4px 5px}.key-report-footer,.key-report-table tr{page-break-inside:avoid;break-inside:avoid}}@media (max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;top:0;left:0;z-index:50;width:270px;transform:translateX(-100%);transition:transform .24s ease;box-shadow:0 20px 60px rgba(9,34,53,.2)}.admin-shell.nav-open .admin-sidebar{transform:translateX(0)}.admin-shell.nav-open .admin-nav-scrim{display:block}.admin-nav-close,.admin-nav-toggle{display:grid;place-items:center}.admin-cols,.admin-stat-grid,.admin-stat-grid.compact,.room-admin-list,.room-checkout-grid,.room-quick-grid{grid-template-columns:1fr}}@media (max-width:620px){.admin-content{padding:16px}.admin-topbar{padding:12px 16px}.admin-user-meta{display:none}.admin-field-row,.room-card-form{grid-template-columns:1fr}.room-checkout-results button{grid-template-columns:1fr;align-items:start}.room-no-chip{justify-self:start}.admin-schedule-list article,.admin-schedule-mini article,.admin-schedule-side{align-items:flex-start;flex-direction:column}.admin-audit-head{display:none}.admin-audit-row{grid-template-columns:1fr 1fr;gap:4px 12px}}