:root{
  --pink:#ff3fbf;--violet:#8b5cff;--cyan:#55d9ff;--gold:#ffd54a;--green:#2fd67c;--text:#f8f8fc;--muted:#aaa4bc;--line:rgba(255,255,255,.12)
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#050508;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
.base-gradient{position:fixed;inset:0;z-index:-6;background:radial-gradient(circle at 50% 7%,rgba(139,92,255,.28),transparent 26%),radial-gradient(circle at 15% 22%,rgba(85,217,255,.13),transparent 28%),radial-gradient(circle at 85% 25%,rgba(255,63,191,.2),transparent 30%),linear-gradient(180deg,#050508 0%,#08080f 52%,#040406 100%)}
.cosmic-scene{position:fixed;inset:0;z-index:-5;background:url("assets/cosmic-scene.jpeg") center top/cover no-repeat;opacity:.24;mix-blend-mode:screen;filter:saturate(1.15) contrast(1.05)}
.giant-logo-layer{position:fixed;inset:0;z-index:-4;pointer-events:none;display:grid;place-items:start center;overflow:hidden}
.giant-logo{position:absolute;top:72px;width:min(1180px,145vw);max-height:730px;object-fit:contain;filter:drop-shadow(0 0 34px rgba(255,63,191,.42)) drop-shadow(0 0 26px rgba(85,217,255,.22));animation:giantBreath 16s ease-in-out infinite}
.giant-logo.cosmic{opacity:.56}.giant-logo.candy{opacity:.34;animation-duration:22s;animation-direction:reverse}
@keyframes giantBreath{0%,100%{transform:scale(1) rotate(-.6deg)}50%{transform:scale(1.045) rotate(.7deg)}}
.star,.spark{position:absolute;width:7px;height:7px;border-radius:50%;background:white;box-shadow:0 0 18px var(--pink),0 0 28px var(--cyan);animation:twinkle 4s ease-in-out infinite}
.st1{left:18%;top:18%;animation-delay:.2s}.st2{right:18%;top:20%;animation-delay:.9s}.st3{left:42%;top:13%;animation-delay:1.6s}.st4{right:34%;top:41%;animation-delay:2.4s}.st5{left:11%;top:62%;animation-delay:3s}.st6{right:10%;top:58%;animation-delay:1.2s}
@keyframes twinkle{0%,100%{opacity:.18;transform:scale(.6) translateY(0)}50%{opacity:1;transform:scale(1.8) translateY(-8px)}}
#intro{position:fixed;inset:0;z-index:100;background:#050508;display:grid;place-items:center;animation:introOut 4.25s ease forwards}
.intro-gradient{position:absolute;inset:0;background:radial-gradient(circle,rgba(255,63,191,.20),transparent 35%),radial-gradient(circle at 30% 50%,rgba(85,217,255,.11),transparent 28%),linear-gradient(180deg,#050508,#090711)}
.intro-stage{position:relative;width:min(790px,92vw);height:410px;display:grid;place-items:center}
.intro-cosmic,.intro-candy,.intro-wordmark{position:absolute;max-width:100%;max-height:100%;object-fit:contain}
.intro-cosmic{width:100%;opacity:.88;filter:drop-shadow(0 0 34px rgba(255,63,191,.55));animation:introFloat 4s ease-in-out infinite}
.intro-candy{width:86%;opacity:.76;filter:drop-shadow(0 0 28px rgba(85,217,255,.32)) drop-shadow(0 0 35px rgba(255,63,191,.55));animation:introMain 4.1s ease forwards}
.intro-wordmark{width:82%;opacity:.82;filter:drop-shadow(0 0 24px rgba(255,63,191,.7));animation:introWords 4.1s ease forwards}
.s1{left:11%;top:34%;animation-delay:.1s}.s2{right:14%;top:31%;animation-delay:.7s}.s3{left:49%;top:17%;animation-delay:1.3s}.s4{left:28%;bottom:18%;animation-delay:2s}.s5{right:26%;bottom:21%;animation-delay:2.8s}
@keyframes introOut{0%,82%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes introFloat{0%,100%{transform:translateY(0) rotate(-.6deg) scale(1)}50%{transform:translateY(-12px) rotate(.8deg) scale(1.03)}}
@keyframes introMain{0%{opacity:0;transform:scale(.88) rotate(-1deg)}30%{opacity:.8;transform:scale(1) rotate(0)}78%{opacity:.85;transform:scale(1.035) rotate(1deg)}100%{opacity:0;transform:scale(.98)}}
@keyframes introWords{0%{opacity:0;transform:scale(.75)}35%{opacity:.82;transform:scale(.86)}78%{opacity:.9;transform:scale(.89)}100%{opacity:0;transform:scale(.84)}}
.app{width:min(1060px,calc(100% - 32px));margin:0 auto;padding:32px 0 40px}
.top{position:relative;text-align:center;min-height:142px;margin-bottom:10px}
.top-logo-wrap{position:relative;height:132px;display:inline-grid;place-items:center;width:min(520px,86vw)}
.top-candy,.top-wordmark{position:absolute;max-width:100%;max-height:100%;object-fit:contain;animation:topLogoMove 6s ease-in-out infinite}
.top-candy{opacity:.9;filter:drop-shadow(0 0 18px rgba(255,63,191,.7))}.top-wordmark{width:78%;opacity:.85;filter:drop-shadow(0 0 14px rgba(255,63,191,.65));animation-delay:.2s}
@keyframes topLogoMove{0%,100%{transform:scale(1) rotate(-.35deg)}50%{transform:scale(1.045) rotate(.45deg)}}
.admin-open{position:absolute;right:0;bottom:8px;border:0;background:transparent;color:rgba(255,255,255,.34);font-weight:700;cursor:pointer}
.shell,.admin-panel{border:1px solid rgba(139,92,255,.20);background:linear-gradient(180deg,rgba(20,18,35,.52),rgba(7,6,13,.58));box-shadow:0 0 45px rgba(139,92,255,.13),inset 0 0 0 1px rgba(255,255,255,.025);border-radius:28px;padding:26px;backdrop-filter:blur(9px)}
.progress{display:flex;justify-content:center;gap:9px;margin-bottom:22px}.dot{width:28px;height:5px;border-radius:99px;background:rgba(255,255,255,.14)}.dot.active{width:54px;background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 0 18px rgba(255,63,191,.35)}
.step{display:none;animation:fade .25s ease}.step.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.kicker{text-align:center;color:var(--cyan);letter-spacing:.22em;font-size:12px;font-weight:900;margin:0 0 12px}
h1{text-align:center;font-size:clamp(38px,6vw,70px);line-height:1;margin:0 auto 12px;letter-spacing:-.04em}.subtitle{text-align:center;color:var(--muted);font-size:clamp(17px,2.4vw,22px);max-width:760px;margin:0 auto 32px}
.location-grid,.vixen-grid,.session-grid,.two{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.session-grid{grid-template-columns:repeat(3,1fr)}
.location-grid.single-location{grid-template-columns:minmax(0,680px);justify-content:center}
.location-card,.vixen-card,.session-card{position:relative;border:1px solid rgba(139,92,255,.20);background:linear-gradient(180deg,rgba(17,16,32,.46),rgba(6,5,12,.52));border-radius:20px;padding:28px;color:var(--text);cursor:pointer;transition:.22s ease;backdrop-filter:blur(7px)}
.vixen-card{overflow:hidden;isolation:isolate}
.vixen-select{position:absolute;inset:0;z-index:1;width:100%;border:0;border-radius:20px;background:transparent;cursor:pointer}
.vixen-select:focus-visible{outline:3px solid #70f4ff;outline-offset:-5px}
.vixen-card>.media,.vixen-card>.vixen-card-copy{position:relative;z-index:2;pointer-events:none}
.vixen-card>.selected-mark{z-index:4;pointer-events:none}
.vixen-card>.gallery-btn{position:relative;z-index:5}
.location-card:hover,.location-card.selected,.vixen-card:hover,.vixen-card.selected,.session-card:hover,.session-card:has(input:checked){border-color:rgba(255,63,191,.62);box-shadow:0 0 38px rgba(255,63,191,.14),0 0 42px rgba(85,217,255,.08);transform:translateY(-3px)}
.location-card.selected,.vixen-card.selected,.session-card:has(input:checked){outline:2px solid rgba(255,63,191,.7);outline-offset:4px}.selected-mark{position:absolute;right:18px;top:16px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(90deg,var(--pink),var(--violet));opacity:0;transform:scale(.7);transition:.2s}.selected .selected-mark{opacity:1;transform:scale(1)}
.location-card h2,.vixen-card h2{font-size:34px;margin:0 0 14px}.location-card p,.vixen-card p{color:var(--muted)}.location-card strong{display:block;font-size:clamp(26px,4vw,42px);line-height:1;color:white;text-shadow:0 0 18px rgba(255,63,191,.42),0 0 22px rgba(85,217,255,.22);margin:16px 0}.location-card small{display:block;color:rgba(255,255,255,.46);line-height:1.45}
.cta,.ghost,.gallery-btn{border:0;border-radius:999px;padding:15px 22px;font-weight:900;letter-spacing:.03em;cursor:pointer}.cta{color:white;background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 0 28px rgba(255,63,191,.25)}.ghost{color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--line)}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.media{height:430px;position:relative;border-radius:22px;overflow:hidden;margin:-6px -6px 18px;background:transparent}.media img,.media video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.05)}.media:after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 40%,transparent 38%,rgba(17,16,32,.28) 68%,rgba(8,6,16,.9) 100%),linear-gradient(to top,rgba(8,6,16,.98) 0%,rgba(17,10,30,.72) 30%,transparent 68%);pointer-events:none}.placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:76px;color:white;background:radial-gradient(circle,rgba(255,63,191,.38),rgba(85,217,255,.18),transparent 70%)}
.vixen-photo-preview{position:relative;width:100%;height:100%}.vixen-photo-counter{position:absolute;right:12px;bottom:12px;z-index:3;min-width:38px;padding:7px 9px;border-radius:999px;background:rgba(5,4,14,.82);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:900;text-align:center}.vixen-preview-photo.vixen-photo-swap{animation:vixenPhotoSwap .45s ease}@keyframes vixenPhotoSwap{from{opacity:.18;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.gallery-btn{width:100%;margin-top:12px;color:#ff9ade;background:rgba(255,63,191,.08);border:1px solid rgba(255,63,191,.32)}
.gallery-empty{grid-column:1/-1;padding:36px 18px;text-align:center;color:rgba(255,255,255,.72)}
.session-card input{width:auto}.session-card strong{display:block;font-size:34px}.session-card span{display:block;color:var(--muted);margin-top:8px}.session-card b{display:block;color:var(--gold);margin-top:12px}
label{display:flex;flex-direction:column;gap:10px;color:var(--text);font-weight:800;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid rgba(255,63,191,.48);background:rgba(9,8,18,.76);color:var(--text);border-radius:18px;padding:18px;font-size:18px;outline:none}textarea{min-height:120px}.hidden{display:none!important}.notice,.summary{border:1px solid rgba(47,214,124,.42);color:#65ee9d;background:rgba(47,214,124,.08);border-radius:18px;padding:16px;line-height:1.55;margin-top:18px}.send-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.send-card{min-height:150px;border-radius:24px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px;gap:8px;cursor:pointer}.send-card span{font-size:34px}.send-card strong{font-size:24px}.send-card small{color:rgba(255,255,255,.58)}.sms-card{border-color:rgba(47,214,124,.55);box-shadow:0 0 24px rgba(47,214,124,.14)}.whats-card{border-color:rgba(37,211,102,.65);box-shadow:0 0 28px rgba(37,211,102,.18)}.status,#pinMsg{text-align:center;color:var(--gold)}
.admin-panel{margin-top:24px;text-align:center}.admin-logo{width:220px;max-width:80%;filter:drop-shadow(0 0 18px rgba(255,63,191,.6));animation:topLogoMove 6s ease-in-out infinite}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-hint{color:var(--muted)}.admin-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.3fr auto;gap:10px;border:1px solid var(--line);border-radius:18px;padding:12px;margin-top:14px;background:rgba(0,0,0,.24);text-align:left}.file-count{color:var(--cyan);font-size:13px;margin-top:-8px}
.gallery-modal{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:50;display:grid;place-items:center;padding:18px}.gallery-box{width:min(980px,100%);max-height:92vh;overflow:auto;border:1px solid rgba(255,63,191,.35);background:linear-gradient(180deg,rgba(23,20,40,.96),rgba(8,7,14,.98));border-radius:28px;padding:22px}.close-gallery{float:right;background:none;border:0;color:white;font-size:36px;cursor:pointer}.gallery-content{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-content img,.gallery-content video{width:100%;border-radius:18px;background:#050508}footer{text-align:center;color:rgba(255,255,255,.22);letter-spacing:.2em;padding:28px 0 8px}
@media(max-width:860px){.location-grid,.vixen-grid,.session-grid,.two,.send-choice,.gallery-content,.admin-row{grid-template-columns:1fr}.giant-logo{top:64px;width:175vw}.top{height:122px}.top-logo-wrap{height:116px}.shell{background:linear-gradient(180deg,rgba(20,18,35,.60),rgba(7,6,13,.66))}.media{height:420px}.admin-open{position:static;margin-top:10px}}

.analytics-panel{
  margin:22px 0;
  padding:20px;
  border:1px solid rgba(85,217,255,.24);
  border-radius:22px;
  background:rgba(0,0,0,.20);
  text-align:left;
}
.analytics-panel h2,.analytics-panel h3{margin:10px 0 12px}
.analytics-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.analytics-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:14px 0 22px;
}
.analytics-grid div{
  padding:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.05);
}
.analytics-grid strong{
  display:block;
  font-size:30px;
  color:#fff;
  text-shadow:0 0 18px rgba(255,63,191,.35);
}
.analytics-grid span{color:rgba(255,255,255,.58)}
.mini-table{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}
.mini-table div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}
.analytics-row{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}
.analytics-row small{color:rgba(255,255,255,.55)}
@media(max-width:860px){.analytics-grid{grid-template-columns:repeat(2,1fr)}}

/* V15 admin/functionality additions while keeping V14 customer-facing skin */
.top-logo-wrap{cursor:pointer}
.city-thumb{
  width:70px;height:70px;border-radius:50%;overflow:hidden;
  border:1px solid rgba(255,63,191,.48);
  box-shadow:0 0 18px rgba(255,63,191,.18),0 0 12px rgba(85,217,255,.10);
  margin:0 0 14px;background:rgba(255,255,255,.04);
}
.city-thumb img,.city-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.city-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:28px;font-weight:950;color:#fff;background:radial-gradient(circle at 35% 28%,rgba(255,154,222,.76),rgba(139,92,255,.58) 48%,rgba(85,217,255,.22) 100%)}
.city-thumb.empty{display:none}
.vixen-name{font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;font-size:46px!important;letter-spacing:.01em;text-shadow:0 0 18px rgba(255,63,191,.5),0 0 16px rgba(85,217,255,.18)}
.vixen-bio{font-style:italic;line-height:1.45;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.city-admin-row{grid-template-columns:1fr 1fr 1fr 1fr auto auto auto!important}
.analytics-click{cursor:pointer;transition:.2s ease}
.analytics-click:hover{transform:translateY(-2px);border-color:rgba(255,63,191,.55)}
.analytics-row summary{cursor:pointer;list-style:none}
.analytics-row summary::-webkit-details-marker{display:none}
.log-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;color:rgba(255,255,255,.68);font-size:13px;word-break:break-word}
.log-detail span{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;background:rgba(0,0,0,.18)}
@media(max-width:860px){.city-admin-row,.log-detail{grid-template-columns:1fr!important}.city-thumb{width:64px;height:64px}.vixen-name{font-size:42px!important}}

/* V15.3 final location-card and analytics polish */
.host-thumb-row{display:flex;gap:10px;align-items:center;margin:14px 0 16px;min-height:72px;flex-wrap:wrap}
.host-thumb-row.empty{display:none}
.host-thumb-row .city-thumb{position:relative;margin:0;width:92px;height:92px;flex:0 0 92px}
.city-thumb-counter{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;min-width:26px;height:22px;padding:0 5px;border-radius:999px;background:rgba(5,4,14,.78);color:#fff;font-size:11px;font-weight:900;line-height:1;border:1px solid rgba(255,255,255,.32);box-shadow:0 4px 12px rgba(0,0,0,.28)}
.city-thumb-more{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(112,244,255,.3);color:#70f4ff;font-weight:900}
.city-thumb img.city-thumb-swap{animation:cityThumbSwap .42s ease}
@keyframes cityThumbSwap{from{opacity:.25;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.location-card .city-name{font-size:clamp(46px,7vw,76px)!important;line-height:.92;margin:8px 0 4px;letter-spacing:-.045em;text-shadow:0 0 20px rgba(255,63,191,.38),0 0 20px rgba(85,217,255,.16)}
.location-card .host-count{margin:2px 0 12px;color:rgba(255,255,255,.72);font-weight:800;font-size:18px}
.location-card .eta-small{display:block;font-size:clamp(16px,2.4vw,20px);color:#70f4ff;font-weight:900;margin:4px 0 10px;text-shadow:0 0 16px rgba(85,217,255,.18)}
.location-card small{font-size:13px}
.transform-box{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin-bottom:18px}
.transform-box div{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:14px;background:rgba(255,255,255,.045);text-align:center}.transform-box b{display:block;font-size:28px}.transform-box span{color:rgba(255,255,255,.58);font-size:13px}.transform-box em{color:rgba(255,255,255,.38);font-size:24px;font-style:normal;text-align:center}.analytics-row{margin-bottom:8px}.log-detail{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.host-thumb-row .city-thumb{width:78px;height:78px;flex-basis:78px}.location-card .city-name{font-size:52px!important}.transform-box{grid-template-columns:1fr}.transform-box em{transform:rotate(90deg)}.log-detail{grid-template-columns:1fr!important}}


/* V15.5 analytics detail cards */
.analytics-panel{margin-top:32px;border:1px solid rgba(255,63,191,.22);border-radius:28px;padding:18px;background:rgba(8,6,18,.42)}
.analytics-row{border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:12px;margin:12px 0;background:rgba(0,0,0,.24);text-align:left}
.analytics-row summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#fff}
.analytics-row summary::-webkit-details-marker{display:none}
.analytics-row summary b{color:#ff9ade}.analytics-row summary small{color:rgba(255,255,255,.55)}
.log-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.log-summary-grid span{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:14px;padding:10px;color:rgba(255,255,255,.78);word-break:break-word}
.log-summary-grid b{display:block;color:#ffd36a;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.log-detail span{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px;background:rgba(255,255,255,.035)}
@media(max-width:760px){.log-summary-grid,.log-detail{grid-template-columns:1fr}}

/* V15.8: SMS / WhatsApp moved onto review page */
.inline-send-choice{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.inline-send-choice .send-card{min-height:104px}
.review-actions{margin-bottom:4px}
@media(max-width:640px){.inline-send-choice{grid-template-columns:1fr}.inline-send-choice .send-card{min-height:92px}}

.legal-consent{margin-top:18px;display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:15px;text-align:left;font-weight:700;line-height:1.45}
.legal-consent input{width:22px;height:22px;margin-top:2px;accent-color:#ff4fc8}
.legal-consent a{color:#ffd36a;text-decoration:underline;text-underline-offset:3px}
.consent-note{margin:8px 0 0;text-align:center;color:rgba(255,255,255,.55);font-size:13px}
button:disabled,.send-card:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}
.thank-card{text-align:center;max-width:760px;margin:0 auto;padding:20px}
.main-site-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


/* V16 language + currency controls */
.top{gap:14px}.top-controls{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toggle-group{display:flex;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px;background:rgba(255,255,255,.08);box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 0 20px rgba(255,255,255,.05)}.mini-toggle{border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.78);font-weight:800;letter-spacing:.08em;padding:8px 10px;cursor:pointer}.mini-toggle.active{background:linear-gradient(135deg,rgba(255,181,232,.92),rgba(185,112,255,.88));color:#2b0731;box-shadow:0 0 18px rgba(255,144,232,.38)}.currency-toggle{border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(31,7,42,.72);color:#fff;padding:9px 12px;font-weight:800;letter-spacing:.06em;box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 0 18px rgba(255,255,255,.05)}.currency-note{display:block;margin-top:6px;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.35}.price-stack{display:flex;flex-direction:column;gap:3px}.price-stack b{font-size:1.06rem}.price-stack small{color:rgba(255,255,255,.72)}.currency-estimate{display:inline-block;margin-left:6px;color:rgba(255,225,247,.84);font-size:.88em}.admin-settings-card{border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.07);padding:16px;margin:16px 0;box-shadow:inset 0 0 30px rgba(255,255,255,.04)}.admin-settings-card h2{margin-top:0}.admin-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-settings-grid label{display:flex;flex-direction:column;gap:6px}.admin-settings-grid input,.admin-settings-grid select{width:100%}@media(max-width:720px){.top{align-items:flex-start}.top-controls{width:100%;justify-content:center;margin-left:0}.admin-settings-grid{grid-template-columns:1fr}.currency-toggle,.mini-toggle{font-size:.78rem}.top-wordmark{max-width:190px}}



/* V17 Analytics Command Center */
.analytics-command-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:8px 0 14px}
.health-pill{border-radius:999px;padding:9px 12px;font-weight:900;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);white-space:nowrap}
.health-pill.good{color:#a8ffcf;border-color:rgba(168,255,207,.35)}
.health-pill.danger{color:#ff91a1;border-color:rgba(255,91,111,.5)}
.command-grid{grid-template-columns:repeat(3,1fr)}
.command-grid small{display:block;color:rgba(255,255,255,.45);margin-top:6px;font-size:12px}
.urgent-card{border-color:rgba(255,91,111,.50)!important;background:linear-gradient(180deg,rgba(255,91,111,.11),rgba(255,255,255,.04))!important}
.hot-card{border-color:rgba(255,198,93,.48)!important;background:linear-gradient(180deg,rgba(255,198,93,.10),rgba(255,255,255,.04))!important}
.active-pill{border-color:rgba(255,63,191,.6)!important;box-shadow:0 0 18px rgba(255,63,191,.16)}
.ops-notes{display:grid;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.ops-notes li{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);color:rgba(255,255,255,.78)}
.lead-card-list{display:grid;gap:10px;margin-bottom:18px}
.lead-card{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:18px;padding:14px}
.lead-card.urgent-lead{border-color:rgba(255,91,111,.45);background:linear-gradient(90deg,rgba(255,91,111,.10),rgba(255,255,255,.04))}
.lead-score{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,63,191,.55);background:rgba(0,0,0,.25);text-align:center}
.lead-score b{font-size:22px;line-height:1;color:#fff}
.lead-score span{text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.52);font-size:9px}
.lead-main h4{margin:0 0 8px;font-size:18px}
.lead-main h4 small{display:inline-block;color:rgba(255,255,255,.45);font-weight:400;margin-left:8px;font-size:12px}
.lead-main p{margin:8px 0;color:rgba(255,255,255,.72)}
.lead-main small{color:rgba(255,255,255,.48);word-break:break-word}
.lead-tags{display:flex;gap:6px;flex-wrap:wrap}
.lead-tags span{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:999px;padding:4px 8px;color:rgba(255,255,255,.68);font-size:12px}
.funnel-list{display:grid;gap:8px;margin-bottom:18px}
.funnel-row{display:grid;grid-template-columns:1fr 64px 54px;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);border-radius:14px;padding:10px 12px}
.funnel-row div:first-child b{display:block}
.funnel-row div:first-child span{display:block;color:rgba(255,255,255,.48);font-size:12px}
.funnel-row strong{text-align:right}
.funnel-row em{text-align:right;color:rgba(255,255,255,.55);font-style:normal}
.funnel-track{grid-column:1/-1;height:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.funnel-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff3fbf,#55d9ff)}
.analytics-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 18px}
@media(max-width:980px){.command-grid,.analytics-columns{grid-template-columns:repeat(2,1fr)}.lead-card{grid-template-columns:1fr}.lead-score{width:auto;height:auto;border-radius:14px;display:flex;gap:8px;justify-content:center;padding:10px}.lead-actions button{width:100%}}
@media(max-width:620px){.command-grid,.analytics-columns{grid-template-columns:1fr}.analytics-command-head{display:block}.funnel-row{grid-template-columns:1fr 52px 46px}}


/* V17.1 desktop/mobile formatting repair
   Fixes the currency selector stretching across the header and tightens the first screen. */
.app{width:min(1180px,calc(100% - 40px));padding:18px 0 38px}
.top{display:flex;justify-content:center;align-items:center;position:relative;text-align:center;min-height:124px;height:auto;margin-bottom:8px;padding:0 245px}
.top-logo-wrap{height:116px;width:min(460px,58vw)}
.top-candy,.top-wordmark{max-width:100%;max-height:100%}
.top-wordmark{width:76%}
.top-controls{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;width:auto;max-width:245px;z-index:4}
.toggle-group{flex:0 0 auto}
.currency-toggle{width:auto!important;min-width:84px;max-width:104px;flex:0 0 auto;padding:9px 10px;font-size:.82rem}
.top .admin-open,.admin-open{position:static!important;right:auto!important;bottom:auto!important;flex:0 0 auto;white-space:nowrap;border:1px solid rgba(255,255,255,.16);background:rgba(31,7,42,.46);color:rgba(255,255,255,.68);border-radius:999px;padding:9px 10px;font-size:.82rem;line-height:1}
.shell,.admin-panel{border-radius:24px;padding:22px}
h1{font-size:clamp(34px,4.45vw,58px);line-height:1.03;max-width:950px}
.subtitle{font-size:clamp(15px,1.65vw,20px);margin-bottom:24px}
.kicker{margin-bottom:10px}
.progress{margin-bottom:18px}
.giant-logo{top:44px;width:min(1040px,122vw);max-height:620px;opacity:.9}

@media(max-width:980px){
  .app{width:calc(100% - 28px);padding:16px 0 32px}
  .top{display:block;min-height:0;height:auto;padding:0;margin-bottom:10px}
  .top-logo-wrap{height:108px;width:min(430px,84vw)}
  .top-controls{position:static;transform:none;margin:6px auto 0;width:100%;max-width:none;justify-content:center;flex-wrap:wrap}
  .currency-toggle{width:auto!important;min-width:88px;max-width:110px}
  .top .admin-open,.admin-open{position:static!important;margin-top:0}
  .shell,.admin-panel{padding:20px}
  h1{font-size:clamp(34px,7vw,52px)}
}

@media(max-width:560px){
  .app{width:calc(100% - 18px);padding:12px 0 28px}
  .top-logo-wrap{height:88px;width:min(340px,92vw)}
  .top-controls{gap:6px}
  .mini-toggle{padding:7px 9px;font-size:.76rem}
  .currency-toggle{padding:8px 9px;font-size:.76rem}
  .top .admin-open,.admin-open{padding:8px 9px;font-size:.76rem}
  .shell,.admin-panel{padding:17px 13px;border-radius:22px}
  h1{font-size:32px;letter-spacing:-.035em}
  .subtitle{font-size:15px;margin-bottom:20px}
  .giant-logo{top:40px;width:155vw}
}

/* V17.3 Action Admin */
.field-note{display:block;font-size:11px;color:rgba(255,255,255,.55);font-weight:600;margin-top:3px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(20,8,35,.45);position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}
.admin-tab{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}
.admin-tab.active{background:linear-gradient(135deg,#ff4fd8,#7d41ff);box-shadow:0 0 22px rgba(255,79,216,.25)}
.admin-tab-panel.hidden,#analyticsPanel.hidden{display:none!important}
#adminActionPanel{margin:16px 0}
.admin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.ghost.danger{border-color:rgba(255,80,115,.45);color:#ffdce4}
.booking-card-list{display:grid;gap:12px}.booking-card,.contact-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:18px;padding:16px;box-shadow:0 16px 40px rgba(0,0,0,.16)}
.booking-card.danger{border-color:rgba(255,80,115,.45);background:rgba(255,40,85,.08)}.booking-card.good{border-color:rgba(100,255,180,.35)}
.booking-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.booking-card h4,.contact-card h4{margin:0 0 8px;font-size:18px}.booking-card p,.contact-card p{margin:6px 0;color:rgba(255,255,255,.82)}
.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.08);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status-badge.danger,.mini-status.danger{background:rgba(255,80,115,.12);border-color:rgba(255,80,115,.45);color:#ffdce4}.status-badge.good,.mini-status.good{background:rgba(100,255,180,.12);border-color:rgba(100,255,180,.35);color:#dcffe9}
.booking-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mini-status{font-size:12px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;text-transform:capitalize;cursor:pointer}.mini-status:hover,.admin-tab:hover{filter:brightness(1.15)}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.contact-card button{margin-top:10px}.snapshot-list{display:grid;gap:8px}.snapshot-row{display:grid;grid-template-columns:1.3fr 1fr auto auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;background:rgba(255,255,255,.04)}
.action-dashboard h3,#adminActionPanel h3{margin-top:20px}.analytics-panel{max-height:none}.analytics-controls{position:sticky;top:60px;z-index:4;background:rgba(13,7,23,.92);padding:10px;border-radius:16px;backdrop-filter:blur(12px)}
@media(max-width:800px){.snapshot-row{grid-template-columns:1fr}.booking-card-head{display:block}.admin-tabs{position:relative}.contact-grid{grid-template-columns:1fr}}

/* V18.0 secure capture and privacy */
.progress-text{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68);text-align:center;margin-bottom:7px}
.location-card{font:inherit;color:inherit;text-align:left;width:100%;appearance:none;-webkit-appearance:none}
.optional-consent{margin-top:10px;background:rgba(101,231,255,.055);border-color:rgba(101,231,255,.2)}
.turnstile-box{margin:14px 0;min-height:65px;display:flex;justify-content:center;align-items:center}
.turnstile-box.hidden{display:none}
.request-receipt{display:grid;gap:5px;margin:18px 0;padding:16px;border-radius:18px;border:1px solid rgba(101,231,255,.24);background:rgba(101,231,255,.07);text-align:center}
.request-receipt span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58)}
.request-receipt strong{font-size:1.25rem;color:#fff;word-break:break-word}.request-receipt small{color:rgba(255,255,255,.72)}
.status{min-height:1.4em}.status:not(:empty){padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.07)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(101,231,255,.8);outline-offset:3px}
/* V18.3 accessibility and narrow-screen safeguards */
h1[tabindex="-1"]:focus{outline:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{overflow-x:hidden}
input,select,textarea{font-size:1rem;max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
button{min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #70f4ff;outline-offset:4px}
.schedule-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
fieldset{min-width:0;border:1px solid #9971aa;border-radius:12px;padding:16px;margin:16px 0}
legend{font-weight:700;padding:0 8px}
textarea{width:100%;padding:12px;background:#23142f;color:#fff;border:1px solid #ad80c4;border-radius:8px}
.booking-card,.admin-row,.request-receipt,.lead-tags,.top-controls{min-width:0;overflow-wrap:anywhere}
[hidden]{display:none!important}
#formError:focus{outline:3px solid #70f4ff}
@media(max-width:480px){.app{width:100%;padding:12px}.shell,.admin-panel{padding:18px 12px}.two{grid-template-columns:1fr}.top{flex-wrap:wrap}.top-controls{flex-wrap:wrap;justify-content:center}.actions{flex-wrap:wrap}.actions>*{max-width:100%}.admin-tabs{overflow-x:auto}.admin-row{display:flex;flex-direction:column}.booking-actions{flex-wrap:wrap}.gallery-box{width:94vw}.location-grid,.vixen-grid,.session-grid{grid-template-columns:1fr}.request-receipt strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#intro{display:none!important}}

/* V18.3 final arrival, deposit, and operations controls */
.location-tools{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;text-align:center}
.location-tools p{width:100%;margin:0;color:rgba(255,255,255,.68);font-size:.92rem;line-height:1.45}
.location-tools p:empty{display:none}
.location-tools .ghost{padding:10px 16px;min-height:44px}
.location-coordinate-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid rgba(112,244,255,.42);border-radius:999px;background:rgba(112,244,255,.08);color:#70f4ff;font-weight:900}
.destination-coordinate-output{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.76);font:700 .82rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}
.destination-coordinate-output.coordinate-highlight{outline:2px solid #70f4ff;outline-offset:2px;color:#fff}
.location-card .destination-pin{display:block;margin:2px 0 12px;color:rgba(255,255,255,.52);font-size:.78rem;letter-spacing:.035em}
.deposit-card{display:grid;gap:12px;padding:22px;margin:16px 0;border-radius:22px;border:1px solid rgba(47,214,124,.5);background:linear-gradient(145deg,rgba(47,214,124,.12),rgba(19,10,31,.72));box-shadow:0 18px 48px rgba(0,0,0,.22)}
.deposit-card span{color:rgba(255,255,255,.65);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.deposit-card strong{font-size:clamp(1.25rem,3vw,1.8rem);overflow-wrap:anywhere}
.deposit-card b{font-size:2rem;color:#71f1a7}
.deposit-card .cta{display:flex;align-items:center;justify-content:center;min-height:52px;text-decoration:none;text-align:center}
.deposit-card small{color:rgba(255,255,255,.68);line-height:1.5}
.deposit-confirmation{border-color:rgba(47,214,124,.42);background:rgba(47,214,124,.07)}
.inline-send-choice{margin-top:22px;gap:18px}
.inline-send-choice .send-card{min-height:145px;padding:24px;border-width:2px;transform:translateZ(0);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.inline-send-choice .send-card:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.1)}
.inline-send-choice .send-card strong{font-size:clamp(1.25rem,3vw,1.65rem)}
.inline-send-choice .sms-card{background:linear-gradient(145deg,rgba(47,214,124,.2),rgba(11,34,31,.82));box-shadow:0 16px 38px rgba(47,214,124,.2)}
.inline-send-choice .whats-card{background:linear-gradient(145deg,rgba(37,211,102,.22),rgba(7,39,25,.84));box-shadow:0 16px 38px rgba(37,211,102,.2)}
.admin-contact-actions,.location-admin-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.admin-contact-actions a{text-decoration:none;text-transform:none}
.location-admin-controls{padding:12px;border:1px solid rgba(112,244,255,.28);border-radius:14px;background:rgba(112,244,255,.055)}
.location-admin-controls>small,.geo-output{width:100%;color:rgba(255,255,255,.7)}
.geo-output:not(:empty){padding:10px;border-radius:10px;background:rgba(0,0,0,.22)}
.geo-output a{color:#70f4ff;font-weight:800}
@media(max-width:650px){.location-tools{align-items:stretch}.location-tools .ghost,.location-coordinate-button,.destination-coordinate-output{width:100%;justify-content:center}.deposit-card{padding:18px}.inline-send-choice .send-card{min-height:118px}.admin-contact-actions>*{width:100%;text-align:center;justify-content:center}.location-admin-controls button{width:100%}}
