:root{--a:#68c8cf;--b:#edfafa;--c:#203f47;--d:#fff6f0;--button:#68c8cf;--line:#d6ecef;--pagebg:linear-gradient(135deg,#f7ffff,#fff7f2);--shadow:0 18px 52px #203f4724}*{box-sizing:border-box}body{color:var(--c);background:var(--pagebg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:650}button,.primary{color:var(--c);cursor:pointer;touch-action:manipulation;background:#eaf8f9;border:0;border-radius:16px;padding:12px 18px;font-weight:850;text-decoration:none;box-shadow:0 6px 18px #203f4714}button:hover,.primary:hover{filter:brightness(.98);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:linear-gradient(135deg,var(--button),#cff6f7);justify-content:center;align-items:center;display:inline-flex}.danger{color:#8c2424;background:#ffe7e7}.selected,.active{background:var(--a)!important;color:#0d343a!important}.muted{color:#6a7d82}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#55777f;font-size:13px;font-weight:950}.hero{background:linear-gradient(#f0ffffcc,#fffaf7f5),url(/spa-logo.jpeg) 50%/cover;min-height:640px;padding:26px;position:relative}.hero nav{justify-content:space-between;align-items:flex-start;max-width:1180px;margin:auto;display:flex}.logoTrigger{appearance:none;box-shadow:none;background:0 0;border:0;border-radius:24px;padding:0}.logoTrigger img,.hero nav img,aside img{width:150px;box-shadow:var(--shadow);border-radius:22px;display:block}.navHint{border:1px solid var(--line);color:#55777f;background:#ffffffad;border-radius:999px;padding:10px 14px;font-size:13px}.heroText{text-align:center;max-width:920px;margin:126px auto 0}.heroText h1{color:#275863;letter-spacing:-4px;margin:0;font-size:clamp(42px,8vw,88px);line-height:.93}.heroText p{max-width:760px;margin:18px auto;font-size:22px;line-height:1.55}main{max-width:1180px;margin:auto;padding:34px 18px 90px}.sectionIntro{text-align:center;max-width:840px;margin:0 auto 28px}.sectionIntro h2,.gallery h2,.grid h2{letter-spacing:-1.5px;font-size:clamp(32px,4vw,48px)}.grid.services,.featureGrid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px;display:grid}.grid.services h2,.gallery h2{grid-column:1/-1}.card,.stepCard{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;border-radius:28px;padding:24px}.card h3{margin-top:0;font-size:24px}.serviceCard{flex-direction:column;justify-content:space-between;min-height:230px;display:flex}.serviceCard div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.serviceCard strong{font-size:24px}.gallery{margin:34px 0}.galleryGrid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.galleryGrid div{border:1px solid var(--line);height:220px;box-shadow:var(--shadow);background:linear-gradient(135deg,#68c8cf47,#fff6f0d1),url(/spa-logo.jpeg) 50%/cover;border-radius:30px}.scheduler{margin-top:38px}.heading,.top,.toolbar,.actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar{justify-content:flex-start}.toolbar.compact .field{min-width:180px;margin:0}.summaryPill,.utilityLine{border:1px solid var(--line);background:#f1fbfc;border-radius:999px;padding:10px 14px;font-weight:850}.steps{gap:14px;display:grid}.stepCard{padding:0;overflow:hidden}.stepHead{text-align:left;width:100%;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.stepHead span{background:var(--a);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.stepHead em{color:#637d83;font-style:normal}.stepBody{padding:0 20px 22px}.servicePicker{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:15px;display:grid}.serviceChoice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;gap:6px;padding:16px;display:grid}.serviceChoice input{width:auto}.serviceChoice.picked{border-color:var(--a);background:#effdfe}.slotGrid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;display:grid}.safe,.notice{border:1px solid var(--line);background:#eaf8f9;border-radius:16px;padding:12px}.loading{text-align:center;padding:80px}.gate{border:1px solid var(--line);max-width:480px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:32px;margin:8vh auto;padding:28px}.gate img{border-radius:24px;width:220px}.loginTabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.loginForm{gap:12px;margin-top:16px;display:grid}.err{color:#a02020;font-weight:850}.field{margin:10px 0;display:block}.field span{text-transform:uppercase;letter-spacing:.08em;color:#5e7880;margin-bottom:7px;font-size:12px;font-weight:950;display:block}input,textarea,select{width:100%;font:inherit;color:var(--c);background:#fff;border:1px solid #cde4e6;border-radius:16px;min-height:46px;padding:12px}textarea{resize:vertical;min-height:116px}.moneyInput{background:#fff;border:1px solid #cde4e6;border-radius:16px;align-items:center;display:flex;overflow:hidden}.moneyInput span{color:#668087;margin:0;padding-left:12px}.moneyInput input{border:0;border-radius:0}.app{min-height:100vh;display:flex}aside{border-right:1px solid var(--line);background:#ecfbfbeb;width:260px;height:100vh;padding:22px;position:sticky;top:0;overflow:auto}aside .logoTrigger{margin-bottom:18px}aside button:not(.logoTrigger){text-align:left;border-radius:18px;width:100%;margin:8px 0;padding:16px 18px}.work{flex:1;min-width:0;padding:28px}.work>.top h1{letter-spacing:-2px;font-size:clamp(32px,5vw,58px)}.tableWrap{border:1px solid var(--line);max-width:100%;box-shadow:var(--shadow);background:#fff;border-radius:24px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;vertical-align:top;white-space:pre-wrap;border-bottom:1px solid #e9f3f4;padding:14px}th{color:#40646d;background:#f0fbfc;position:sticky;top:0}.calendarGrid{gap:12px;display:grid}.calendarGrid.month{grid-template-columns:repeat(7,minmax(138px,1fr))}.calendarGrid.week{grid-template-columns:repeat(7,minmax(160px,1fr))}.calendarGrid.day{grid-template-columns:1fr}.calendarDay{border:1px solid var(--line);background:#fff;border-radius:22px;min-height:170px;padding:12px;box-shadow:0 9px 26px #203f4714}.calendarDay h3{color:#58757d;margin:0 0 10px;font-size:15px}.apptMini{border-left:5px solid var(--a);cursor:pointer;background:#f4fbfc;border-radius:16px;gap:4px;margin:8px 0;padding:10px;display:grid}.apptMini.requested{border-left-color:#d9a441}.apptMini.completed{border-left-color:#70ad7b}.apptMini.cancelled{opacity:.65}.apptMini em{text-transform:uppercase;letter-spacing:.08em;color:#6b7d82;font-size:11px;font-style:normal}.apptMini button{box-shadow:none;border-radius:10px;padding:7px 9px}.modalShade{z-index:50;background:#0d343a61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(760px,96vw);max-height:92vh;box-shadow:var(--shadow);background:#fff;border-radius:30px;padding:28px;position:relative;overflow:auto}.modal.wide{width:min(1080px,96vw)}.x{border-radius:999px;position:absolute;top:16px;right:16px}.formGrid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;display:grid}.formGrid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hoursEditor{gap:10px;margin:12px 0 20px;display:grid}.hoursRow{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:140px 90px 1fr 1fr;align-items:center;gap:10px;padding:10px;display:grid}.hoursRow label{align-items:center;gap:8px;display:flex}.hoursRow input[type=checkbox]{width:auto;min-height:0}.hoursRow input[type=time]{min-width:0}.utilityLine{border-radius:18px;margin:0 0 12px}footer{text-align:center;color:#40646d;background:#eaf8f9;padding:28px}@media (width<=950px){.hero{min-height:560px;padding:20px}.hero nav{gap:12px}.navHint{display:none}.logoTrigger img,.hero nav img{width:118px}.heroText{margin-top:120px}.heroText h1{letter-spacing:-2px;font-size:48px}.heroText p{font-size:18px}.galleryGrid{grid-template-columns:1fr}.app{display:block}aside{gap:8px;width:100%;height:auto;display:grid;position:relative}.work{padding:18px}.calendarGrid.month,.calendarGrid.week{grid-template-columns:1fr}.calendarDay{min-height:auto}.tableWrap table{min-width:760px}.hoursRow{grid-template-columns:1fr 1fr}.modal{padding:22px}.stepHead{grid-template-columns:auto 1fr}.stepHead em{grid-column:2}.scheduler{border-radius:24px}.servicePicker{grid-template-columns:1fr}}@media (width<=520px){main{padding:24px 14px 70px}.card,.stepBody{padding-left:16px;padding-right:16px}.heroText h1{font-size:40px}.work>.top h1{font-size:36px}.toolbar.compact{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.toolbar.compact .field{grid-column:1/-1}.formGrid,.hoursRow{grid-template-columns:1fr}.modalShade{align-items:flex-start}.modal{max-height:96vh}}.field input[type=date]{min-width:0;max-width:100%}.scheduler .field{max-width:100%}.scheduler .stepBody{overflow:hidden}.featureGrid .card{min-height:210px}.work>.top h1{word-break:normal;overflow-wrap:anywhere}.calendarHeading{align-items:flex-end}.calendarScroller{width:100%;padding-bottom:10px;overflow-x:auto}.monthBoard{border:1px solid var(--line);min-width:924px;box-shadow:var(--shadow);background:#ffffffbd;border-radius:28px;grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px;padding:12px;display:grid}.monthTitle{letter-spacing:-1px;grid-column:1/-1;padding:4px 8px 10px;font-size:clamp(28px,4vw,44px);font-weight:950}.weekday{text-align:center;color:#5e7880;text-transform:uppercase;letter-spacing:.12em;padding:8px;font-size:12px;font-weight:950}.calendarDay.monthCell{min-height:118px;box-shadow:none;border-radius:18px;flex-direction:column;gap:5px;padding:8px;display:flex}.calendarDay.monthCell.outside{opacity:.42}.dayNumber{box-shadow:none;width:34px;height:34px;color:var(--c);border-radius:50%;place-items:center;padding:0;font-size:20px;display:grid;background:0 0!important}.dayNumber:hover{background:var(--b)!important}.apptPill{background:linear-gradient(135deg,var(--a),#d7fbfb);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:#183d45;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900;display:block;overflow:hidden}.apptPill.requested{background:linear-gradient(135deg,#f6d98d,#fff4d1)}.moreCount{color:#5e7880;font-weight:900}.dayBoard{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe0;border-radius:28px;min-width:680px;padding:16px}.dayBoard h3{text-align:center;margin:6px 0 18px;font-size:clamp(24px,4vw,40px)}.hourRow{grid-template-columns:86px 1fr;min-height:88px;display:grid}.hourLabel{color:#6a7d82;text-align:right;padding-top:8px;padding-right:14px;font-size:18px;font-weight:950}.hourLine{border-top:1px solid #cde4e6;padding:8px 0 8px 14px}.dayBoard .apptMini{max-width:520px}.lookupTools{border:1px solid var(--line);background:#f0fbfc;border-radius:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px;padding:14px;display:grid}.lookupTools p{color:#456a72;margin:.35rem 0}.inlineAdd{align-items:center;gap:8px;display:flex}.inlineAdd input{min-width:0}.fieldHelp{color:#6c858b;margin-top:7px;font-size:12px;line-height:1.35;display:block}.checkList{border:1px solid var(--line);background:#fff;border-radius:18px;gap:8px;padding:12px;display:grid}.checkList label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.checkList input[type=checkbox]{width:auto;min-height:0}.full{grid-column:1/-1}.adminThemeActions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=950px){.calendarGrid.month{grid-template-columns:repeat(7,minmax(132px,1fr));overflow-x:auto}.calendarScroller{margin-left:-8px;margin-right:-8px;padding-left:8px}.dayBoard{min-width:640px}.calendarGrid.day{overflow-x:auto}.work>.top h1{font-size:34px;line-height:1.05}.servicePicker{grid-template-columns:1fr}.stepCard:not(.open) .stepHead{padding:18px}}@media (width<=520px){.toolbar.compact{grid-template-columns:repeat(3,1fr)}.toolbar.compact .field{grid-column:1/-1}.monthBoard{grid-template-columns:repeat(7,minmax(112px,1fr));min-width:820px}.calendarDay.monthCell{min-height:104px}.dayBoard{min-width:560px}.hourRow{grid-template-columns:70px 1fr}.hourLabel{font-size:15px}.inlineAdd{grid-template-columns:1fr;display:grid}.lookupTools{grid-template-columns:1fr}}
