*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.table{display:table}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--ink:#0b2038;--ink-soft:#1f3b57;--muted:#64788e;--line:#dceaf4;--line-strong:#bfdced;--brand:#0ea5e9;--brand-deep:#0284c7;--brand-dark:#075985;--sky-soft:#eaf8ff;--sky-pale:#f5fbff;--surface:#ffffff;--success:#0f9f74;--danger:#dc4c64;--warning:#d98a18;--shadow-sm:0 8px 24px rgb(14 74 112/7%);--shadow-md:0 20px 55px rgb(15 88 130/12%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 88% 4%,rgb(125 211 252/18%),transparent 30rem),linear-gradient(145deg,#f9fdff,#f2f9fd 46%,#f8fbfe);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}::-moz-selection{background:#bae6fd;color:#082f49}::selection{background:#bae6fd;color:#082f49}.shell{display:grid;min-height:100vh;grid-template-columns:264px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow:hidden auto;padding:26px 18px;border-right:1px solid rgb(186 230 253/70%);background:rgb(255 255 255/84%);backdrop-filter:blur(24px);z-index:10}.sidebar-glow{position:absolute;width:180px;height:180px;border-radius:50%;left:-90px;bottom:-70px;background:rgb(56 189 248/20%);filter:blur(20px);pointer-events:none}.logo{display:flex;align-items:center;gap:12px;margin:0 8px 34px;position:relative;z-index:1}.logo-mark{width:44px;height:44px;display:grid;place-items:center;color:white;border-radius:15px;background:linear-gradient(135deg,#38bdf8,#0284c7 68%,#0369a1);box-shadow:0 10px 24px rgb(2 132 199/27%),inset 0 1px 0 rgb(255 255 255/45%);transform:rotate(-3deg)}.logo strong{display:block;font-size:21px;line-height:1.15;letter-spacing:-.035em}.logo small{display:block;margin-top:3px;color:#7890a6;font-weight:700;letter-spacing:.11em}.logo small,.nav-eyebrow{font-size:10px;text-transform:uppercase}.nav-eyebrow{margin:0 12px 10px;color:#8ba0b3;font-weight:800;letter-spacing:.15em}.sidebar nav{display:grid;gap:5px;position:relative;z-index:1}.sidebar nav a{display:flex;align-items:center;gap:11px;color:#536b82;border:1px solid transparent;border-radius:13px;padding:10px 12px;font-size:14px;font-weight:650;transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.sidebar nav a:hover{color:var(--brand-dark);background:#f0f9ff;transform:translateX(3px)}.sidebar nav a.active{color:#0369a1;background:linear-gradient(135deg,#e0f5ff,#f2faff);border-color:#c6eaff;box-shadow:inset 3px 0 0 #0ea5e9,0 8px 18px rgb(14 165 233/8%)}.content{padding:24px clamp(20px,4vw,58px) 60px;max-width:1540px;width:100%;min-width:0}.app-topbar{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;padding:12px 14px 12px 18px;border:1px solid rgb(211 235 248/85%);border-radius:18px;background:rgb(255 255 255/72%);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgb(30 109 155/5%)}.app-topbar>div{display:grid}.app-topbar strong{color:var(--ink-soft);font-size:15px}.topbar-kicker{color:#7990a5;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.page-enter{animation:page-in .45s cubic-bezier(.22,1,.36,1) both}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.045em;font-weight:780}h2{margin:0 0 18px;font-size:clamp(20px,2vw,25px);line-height:1.2;letter-spacing:-.025em;font-weight:760}h3{margin:0 0 8px;letter-spacing:-.015em}.muted{color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--brand-deep);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.grid{display:grid;gap:20px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{position:relative;background:linear-gradient(145deg,rgb(255 255 255/98%),rgb(250 253 255/96%));border:1px solid rgb(212 234 247/92%);border-radius:22px;padding:24px;box-shadow:var(--shadow-sm);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.card:hover{border-color:#c4e5f7;box-shadow:0 16px 42px rgb(15 88 130/10%)}.stat{overflow:hidden;min-height:128px}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-25px;top:-30px;background:linear-gradient(135deg,rgb(56 189 248/18%),rgb(14 165 233/4%))}.stat strong{display:block;margin-top:9px;font-size:34px;line-height:1;letter-spacing:-.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:11px 17px;background:linear-gradient(135deg,#20b7f3,#0284c7 72%,#0369a1);box-shadow:0 10px 22px rgb(2 132 199/20%),inset 0 1px 0 rgb(255 255 255/30%);color:white;cursor:pointer;font-weight:750;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgb(2 132 199/27%);filter:saturate(1.08)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid rgb(56 189 248/30%);outline-offset:3px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.btn.secondary{background:#eff8fd;color:#24516f;border-color:#d7eaf5;box-shadow:none}.btn.secondary:hover{background:#e4f5fd;border-color:#bfe4f6}.btn.danger{background:linear-gradient(135deg,#ee7183,#c93450);box-shadow:0 10px 22px rgb(201 52 80/18%)}.btn.small{padding:8px 11px;border-radius:10px;font-size:13px}.btn.glass{color:white;background:rgb(255 255 255/17%);border-color:rgb(255 255 255/34%);box-shadow:inset 0 1px 0 rgb(255 255 255/28%);backdrop-filter:blur(12px)}.actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.field{display:grid;gap:7px}.field label{color:#3d5870;font-size:12px;font-weight:750}.actions input,.actions select,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border:1px solid #ccdfeb;border-radius:12px;padding:11px 13px;background:rgb(255 255 255/88%);color:var(--ink);box-shadow:inset 0 1px 2px rgb(15 60 90/3%);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:#a1b2c0}.field input::placeholder,.field textarea::placeholder{color:#a1b2c0}.actions input:focus,.actions select:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#38bdf8;background:white;box-shadow:0 0 0 4px rgb(56 189 248/13%)}.field textarea{min-height:96px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span-2{grid-column:span 2}fieldset{border:1px solid var(--line);border-radius:15px;padding:15px}legend{color:var(--ink-soft);font-weight:750;padding:0 6px}input[type=checkbox],input[type=radio]{accent-color:var(--brand-deep)}.table-wrap{overflow-x:auto;border:1px solid #e1edf5;border-radius:15px}table{width:100%;border-collapse:collapse;background:rgb(255 255 255/60%)}td,th{text-align:left;border-bottom:1px solid #e5eff5;padding:13px 12px;vertical-align:middle;white-space:nowrap}tbody tr{transition:background .18s ease}tbody tr:hover{background:#f3faff}tbody tr:last-child td{border-bottom:0}th{color:#71869a;background:#f7fbfe;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.badge{display:inline-flex;align-items:center;border:1px solid #bce7d7;border-radius:999px;padding:5px 10px;background:#e9fbf4;color:#087253;font-size:11px;font-weight:800}.badge.warn{border-color:#f6dfaa;background:#fff8e8;color:#9a650b}.badge.bad{border-color:#f2cad1;background:#fff0f3;color:#aa2941}.alert{border:1px solid #f5dca4;border-radius:14px;padding:14px 16px;background:#fff9e9;color:#7a5508;margin-bottom:18px}.alert.bad{border-color:#f4cbd2;background:#fff1f4;color:#9a2940}.alert.success{border-color:#aee6d2;background:#edfcf7;color:#087256}.login{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:28px;background:linear-gradient(135deg,#effaff,#dff5ff 46%,#f9fdff)}.login:before{content:"";position:absolute;inset:0;opacity:.32;background-image:linear-gradient(#7dd3fc 1px,transparent 0),linear-gradient(90deg,#7dd3fc 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,black,transparent 76%);mask-image:linear-gradient(90deg,black,transparent 76%)}.login-orb{position:absolute;border-radius:50%;filter:blur(3px);animation:float 7s ease-in-out infinite}.orb-one{width:360px;height:360px;left:-100px;top:-80px;background:radial-gradient(circle at 35% 35%,#7dd3fc,#0ea5e9 56%,#0369a1);opacity:.7}.orb-two{width:240px;height:240px;right:-65px;bottom:-60px;background:radial-gradient(circle at 30% 30%,#e0f2fe,#38bdf8);opacity:.52;animation-delay:-2.5s}.login-shell{position:relative;z-index:1;width:min(980px,100%);display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(34px,7vw,90px)}.login-story{padding:32px 10px}.brand-pill,.public-pill{display:inline-flex;border:1px solid rgb(255 255 255/55%);border-radius:999px;padding:7px 12px;background:rgb(255 255 255/52%);color:#0369a1;font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(10px)}.login-story h1{margin-top:24px;font-size:clamp(48px,7vw,78px);color:#082f49}.login-story h1 span{color:#0284c7}.login-story>p{max-width:520px;color:#466a84;font-size:18px}.login-proof{display:flex;gap:12px;align-items:center;margin-top:34px;color:#335a73}.login-proof>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:white;color:var(--success);box-shadow:var(--shadow-sm);font-weight:900}.login-proof p{margin:0;font-size:13px}.login-card{width:100%;padding:clamp(25px,4vw,38px);border-color:rgb(255 255 255/85%);background:rgb(255 255 255/83%);backdrop-filter:blur(24px);animation:card-in .65s cubic-bezier(.22,1,.36,1) both}.login-card,.login-card:hover{box-shadow:0 30px 80px rgb(2 87 132/19%)}.login-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;margin-bottom:24px;background:linear-gradient(135deg,#38bdf8,#0284c7);color:white;box-shadow:0 12px 26px rgb(2 132 199/24%);font-size:20px;font-weight:850}.login-card h2{margin-bottom:6px;font-size:30px}.login-card form{display:grid;gap:16px;margin-top:27px}.login-card .btn{margin-top:4px;min-height:46px}.public{min-height:100vh;overflow:hidden}.public-hero{--business-color:#0ea5e9;position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden;padding:70px 22px 105px;text-align:center;color:white;background:radial-gradient(circle at 18% 10%,rgb(255 255 255/23%),transparent 23rem),linear-gradient(135deg,color-mix(in srgb,var(--business-color) 72%,#38bdf8),color-mix(in srgb,var(--business-color) 74%,#075985))}.public-hero:after{content:"";position:absolute;inset:auto -5% -80px;height:160px;border-radius:50% 50% 0 0;background:#f4faff}.public-hero-content{position:relative;z-index:2;max-width:760px}.public-pill{color:white;background:rgb(255 255 255/14%)}.public-hero h1{margin-top:22px;font-size:clamp(42px,7vw,74px);text-shadow:0 12px 30px rgb(0 55 91/18%)}.public-hero p{margin:15px auto 24px;max-width:620px;color:rgb(255 255 255/85%);font-size:17px}.hero-bubble{position:absolute;z-index:1;border:1px solid rgb(255 255 255/23%);border-radius:50%;background:rgb(255 255 255/9%);backdrop-filter:blur(3px);animation:float 8s ease-in-out infinite}.bubble-one{width:180px;height:180px;left:7%;top:18%}.bubble-two{width:110px;height:110px;right:10%;bottom:22%;animation-delay:-3s}.public-main{position:relative;z-index:3;width:min(1100px,calc(100% - 36px));margin:-74px auto 64px}.public-main>.card{box-shadow:var(--shadow-md)}.booking-card{animation:card-in .55s cubic-bezier(.22,1,.36,1) .08s both}.public-info-card{animation:card-in .55s cubic-bezier(.22,1,.36,1) both}.service-list{display:grid;gap:2px}.service{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:15px 0}.service-price{flex:0 0 auto;text-align:right}.business-info{margin-top:28px;padding:18px;border-radius:15px;background:linear-gradient(135deg,#f2faff,#f9fdff);border:1px solid #dceef8}.business-info p{margin:7px 0}.public-footer{padding:12px 20px 32px;color:#8295a7;text-align:center;font-size:12px}.staff-portal{width:min(1400px,100%);min-height:100vh;margin:0 auto;padding:24px clamp(16px,4vw,56px) 60px}.staff-portal>.page-enter>.muted{margin-bottom:24px}.password-card{margin-top:22px}.password-card summary{cursor:pointer;color:var(--brand-dark);font-weight:750}.password-card[open] summary{margin-bottom:18px}.empty{text-align:center;padding:36px;color:var(--muted)}.schedule-grid{display:grid;gap:7px}.schedule-row{display:grid;grid-template-columns:minmax(130px,1fr) 1fr 1fr;gap:12px;align-items:end;padding:11px 0;border-bottom:1px solid var(--line)}.schedule-row:last-child{border-bottom:0}.schedule-day{align-self:center;font-weight:750}.live-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border:1px solid #bdebdc;border-radius:14px;background:linear-gradient(135deg,#ecfcf6,#f7fffc);margin-top:20px}.live-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#12b981;margin-right:7px;box-shadow:0 0 0 5px rgb(18 185 129/13%);animation:pulse 2s ease-in-out infinite}.toast{position:fixed;right:22px;bottom:22px;z-index:30;max-width:360px;background:linear-gradient(135deg,#0b2740,#075985);color:white;border:1px solid rgb(255 255 255/13%);border-radius:15px;padding:15px 18px;box-shadow:0 18px 45px rgb(2 40 67/28%);animation:toast-in .35s ease both}.resource-picker{border:1px solid var(--line);border-radius:15px;padding:14px}.resource-picker legend{font-weight:750;padding:0 6px}.resource-picker>label{display:block;padding-top:7px}.resource-heading{display:flex;align-items:center;gap:13px}.resource-avatar{width:52px;height:52px;border-radius:16px;-o-object-fit:cover;object-fit:cover;display:inline-grid;place-items:center;flex:0 0 auto}.resource-avatar.fallback{background:linear-gradient(135deg,#e0f4ff,#caeafb);color:#0274ad;font-size:21px;font-weight:800}.resource-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:10px 0}.resource-picker .resource-option{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border .2s ease,background .2s ease,transform .2s ease}.resource-picker .resource-option:hover{transform:translateY(-2px);border-color:#9edcf8}.resource-picker .resource-option.selected{border-color:#38bdf8;background:#eefaff;box-shadow:0 0 0 3px rgb(56 189 248/12%)}.resource-option input{position:absolute;opacity:0;pointer-events:none}.resource-option img{width:48px;height:48px;border-radius:14px;-o-object-fit:cover;object-fit:cover}.resource-option small{display:block;color:var(--muted);margin-top:3px}.booking-code{display:inline-block;margin:8px 0;padding:6px 10px;border-radius:9px;background:rgb(255 255 255/74%);border:1px solid rgb(255 255 255/80%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.calendar-legend,.calendar-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.calendar-legend{justify-content:flex-start;margin:16px 0}.calendar-legend span{display:flex;gap:6px;align-items:center}.calendar-legend i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px rgb(14 165 233/8%)}.calendar-scroll{overflow:auto;padding:2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:9px}.calendar-grid.day{grid-template-columns:1fr}.calendar-day{border:1px solid #d6e8f2;border-radius:15px;padding:11px;min-height:140px;background:rgb(255 255 255/86%);transition:box-shadow .2s ease,border .2s ease}.calendar-day:hover{border-color:#b7dff3;box-shadow:0 10px 25px rgb(14 91 132/7%)}.calendar-day.today{outline:2px solid #38bdf8;outline-offset:-2px;background:#f3fbff}.calendar-day h3{margin:0 0 10px}.calendar-day h3 button{background:none;border:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.calendar-event{width:100%;text-align:left;background:#f8fcff;border:1px solid #dfebf3;border-left:6px solid;border-radius:10px;padding:9px;margin:5px 0;cursor:pointer;color:#17354a;overflow-wrap:anywhere;transition:transform .18s ease,background .18s ease}.calendar-event small,.calendar-event span{display:block;margin-top:4px}.calendar-event:focus-visible,.calendar-event:hover{background:#edf8fe;transform:translateY(-1px)}.calendar-detail{margin-top:20px;border-top:1px solid #cfe5f1;padding-top:18px}.calendar-toolbar input,.calendar-toolbar select{max-width:220px}.calendar .actions{flex-wrap:wrap}.calendar-grid.week .calendar-day{min-height:350px}.resources-layout{width:min(920px,100%);display:grid;gap:16px;margin-top:26px}.resource-list{display:grid;gap:13px}.resource-card{padding:0;overflow:clip}.resource-card:hover{transform:none}.resource-summary{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.resource-summary::-webkit-details-marker{display:none}.resource-summary-copy{min-width:0;display:grid;gap:4px}.resource-summary-copy>strong{overflow:hidden;color:var(--ink);font-size:18px;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.resource-summary-copy>small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.resource-summary-status{display:flex;align-items:center;gap:12px;flex:0 0 auto}.resource-chevron{color:#7390a4;transition:transform .25s ease}.resource-card[open] .expand-label svg,.resource-card[open] .resource-chevron{transform:rotate(180deg)}.resource-card[open] .resource-summary{background:linear-gradient(135deg,#f5fbff,#fbfdff);border-bottom:1px solid var(--line)}.resource-card-body{padding:22px;animation:section-open .28s ease both}.resource-create{border-style:dashed;border-color:#9ddcf8;background:linear-gradient(135deg,rgb(239 250 255/90%),rgb(255 255 255/96%))}.resource-create .resource-avatar{color:#0284c7;background:#dff4fe}.expand-label{display:flex;align-items:center;gap:7px;color:var(--brand-deep);font-size:12px;font-weight:800}.expand-label svg{transition:transform .25s ease}.resource-form{padding-top:2px}.availability-check{align-self:center;font-weight:700}.option-panel{padding:16px;background:rgb(247 252 255/70%)}.section-toggle-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.option-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.option-toggle>span:last-child{display:grid;gap:2px}.option-toggle strong{color:var(--ink-soft);font-size:14px}.option-toggle small{color:var(--muted);font-size:12px;font-weight:500}.switch-control{position:relative;width:44px;height:25px;flex:0 0 auto;border:1px solid #b9d3e2;border-radius:999px;background:#dceaf2;transition:background .22s ease,border .22s ease,box-shadow .22s ease}.switch-control>span{position:absolute;width:19px;height:19px;left:2px;top:2px;border-radius:50%;background:white;box-shadow:0 2px 5px rgb(10 55 80/20%);transition:transform .22s cubic-bezier(.22,1,.36,1)}.section-toggle-input:checked+.option-toggle .switch-control{border-color:#0ea5e9;background:linear-gradient(135deg,#38bdf8,#0284c7);box-shadow:0 0 0 4px rgb(56 189 248/10%)}.section-toggle-input:checked+.option-toggle .switch-control>span{transform:translateX(19px)}.section-toggle-input:focus-visible+.option-toggle .switch-control{outline:3px solid rgb(56 189 248/28%);outline-offset:3px}.option-content{margin-top:17px;padding-top:17px;border-top:1px solid var(--line);animation:section-open .25s ease both}.section-toggle-input:not(:checked)~.option-content{display:none}.option-note{margin:0 0 10px;font-size:12px}.color-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:43px;padding:7px 9px;border:1px solid #ccdfeb;border-radius:12px;background:rgb(255 255 255/88%)}.color-swatch{width:25px;height:25px;padding:0;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px rgb(72 112 136/18%);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.color-swatch:hover{transform:scale(1.12)}.color-swatch.selected{transform:scale(1.08);box-shadow:0 0 0 2px white,0 0 0 4px #38bdf8}.custom-color{position:relative;width:29px;height:29px;margin-left:2px;cursor:pointer}.custom-color input{position:absolute;width:1px;height:1px;opacity:0}.custom-color span{width:29px;height:29px;display:grid;place-items:center;border:2px solid white;border-radius:9px;color:white;box-shadow:0 0 0 1px #a9c9da;font-size:17px;font-weight:800;text-shadow:0 1px 3px rgb(0 0 0/35%)}.status-menu{min-width:150px}.status-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px;border:1px solid;border-radius:11px;background:color-mix(in srgb,currentColor 9%,white);cursor:pointer;list-style:none;font-size:12px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}.status-menu>summary::-webkit-details-marker{display:none}.status-menu>summary:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgb(18 77 112/10%)}.status-menu[open]>summary svg{transform:rotate(180deg)}.status-menu-options{display:grid;gap:4px;margin-top:7px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);animation:section-open .2s ease both}.status-menu-options form{margin:0}.status-menu-options button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer;text-align:left;font-size:12px;font-weight:700}.status-menu-options button.current,.status-menu-options button:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.status-menu-options button small{font-size:9px;opacity:.7;text-transform:uppercase}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent)}.status-pending{color:#b77908}.status-confirmed{color:#087caf}.status-cancelled{color:#c13752}.status-completed{color:#0b8a65}.status-no-show{color:#6b7280}.badge.status-pending{color:#996305;border-color:#f1d795;background:#fff8e5}.badge.status-confirmed{color:#0676a7;border-color:#addff5;background:#eaf8ff}.badge.status-cancelled{color:#b32d48;border-color:#f2bdc8;background:#fff0f3}.badge.status-completed{color:#08795a;border-color:#aee4d1;background:#eafaf4}.badge.status-no-show{color:#586270;border-color:#d1d9e2;background:#f2f5f8}@keyframes section-open{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes page-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes pulse{0%,to{box-shadow:0 0 0 4px rgb(18 185 129/12%)}50%{box-shadow:0 0 0 8px rgb(18 185 129/4%)}}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:14px 16px;overflow:hidden;border-right:0;border-bottom:1px solid var(--line)}.sidebar .logo{margin:0 0 13px}.logo-mark{width:38px;height:38px;border-radius:12px}.nav-eyebrow{display:none}.sidebar nav{display:flex;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.sidebar nav a{flex:0 0 auto;padding:9px 11px}.sidebar nav a:hover{transform:none}.content{padding:18px 16px 45px}.app-topbar{margin-bottom:26px}.login-shell{grid-template-columns:1fr;width:min(500px,100%)}.login-story{display:none}}@media (max-width:800px){.form-grid,.two{grid-template-columns:1fr}.span-2{grid-column:auto}.topbar{align-items:flex-start}.public-hero{min-height:350px;padding-top:55px}.public-main{margin-top:-62px}}@media (max-width:600px){.card{padding:19px;border-radius:18px}.app-topbar{padding:10px 11px 10px 14px}.app-topbar form .btn{font-size:0}.app-topbar form .btn svg{width:18px;height:18px}.schedule-row{grid-template-columns:1fr 1fr}.schedule-day{grid-column:span 2}.public-main{width:min(100% - 22px,1100px)}.login{padding:15px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.theme-toggle{position:fixed;z-index:60;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px 7px 7px;border:1px solid #cae7f6;border-radius:999px;background:rgb(255 255 255/88%);color:#28516d;box-shadow:0 12px 32px rgb(9 77 117/16%);backdrop-filter:blur(16px);cursor:pointer;font-size:12px;font-weight:800;transition:transform .2s ease,border-color .2s ease,background .2s ease}.theme-toggle:hover{transform:translateY(-2px);border-color:#7dd3fc}.theme-toggle:focus-visible{outline:3px solid rgb(56 189 248/30%);outline-offset:3px}.theme-toggle-icons{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#e0f4ff,#c9eaff);color:#0379b5}html[data-theme=dark]{color-scheme:dark;--ink:#e8f5fc;--ink-soft:#cee7f4;--muted:#8eabc0;--line:#203d51;--line-strong:#2b526b;--brand:#38bdf8;--brand-deep:#22a9e6;--brand-dark:#7dd3fc;--sky-soft:#102d40;--sky-pale:#0a2131;--surface:#0d2637;--shadow-sm:0 10px 30px rgb(0 8 18/24%);--shadow-md:0 24px 65px rgb(0 7 16/34%)}html[data-theme=dark] body{background:radial-gradient(circle at 88% 4%,rgb(14 165 233/13%),transparent 31rem),linear-gradient(145deg,#071824,#091e2c 48%,#06151f);color:var(--ink)}html[data-theme=dark] ::-moz-selection{background:#075985;color:#f0f9ff}html[data-theme=dark] ::selection{background:#075985;color:#f0f9ff}html[data-theme=dark] .sidebar{border-color:#183649;background:rgb(7 25 37/88%)}html[data-theme=dark] .sidebar-glow{background:rgb(14 165 233/12%)}html[data-theme=dark] .logo small,html[data-theme=dark] .nav-eyebrow,html[data-theme=dark] .topbar-kicker{color:#718fa4}html[data-theme=dark] .sidebar nav a{color:#90aabd}html[data-theme=dark] .sidebar nav a:hover{color:#d9f2fe;background:#102d40}html[data-theme=dark] .sidebar nav a.active{color:#7dd3fc;border-color:#24506a;background:linear-gradient(135deg,#10344a,#0d293c);box-shadow:inset 3px 0 0 #38bdf8,0 8px 20px rgb(0 10 20/16%)}html[data-theme=dark] .app-topbar{border-color:#1c3b4f;background:rgb(11 35 50/72%);box-shadow:0 8px 30px rgb(0 7 14/16%)}html[data-theme=dark] .app-topbar strong{color:#d7eef9}html[data-theme=dark] .muted{color:var(--muted)}html[data-theme=dark] .eyebrow{color:#65ccf8}html[data-theme=dark] .card{border-color:#1d4157;background:linear-gradient(145deg,rgb(14 40 56/97%),rgb(9 31 45/96%));box-shadow:var(--shadow-sm)}html[data-theme=dark] .card:hover{border-color:#2c607d;box-shadow:0 18px 46px rgb(0 5 12/28%)}html[data-theme=dark] .stat:after{background:linear-gradient(135deg,rgb(56 189 248/13%),transparent)}html[data-theme=dark] .btn.secondary{color:#bfe6f8;border-color:#28516a;background:#102e42}html[data-theme=dark] .btn.secondary:hover{color:#e7f7ff;border-color:#347495;background:#153a51}html[data-theme=dark] .resource-picker,html[data-theme=dark] fieldset{border-color:#24485e}html[data-theme=dark] legend{color:#d3eaf6}html[data-theme=dark] .field label{color:#a8c2d2}html[data-theme=dark] .actions input,html[data-theme=dark] .actions select,html[data-theme=dark] .field input:not([type=checkbox]):not([type=radio]),html[data-theme=dark] .field select,html[data-theme=dark] .field textarea{color:#e8f5fc;border-color:#294c62;background:rgb(7 26 39/86%);box-shadow:inset 0 1px 2px rgb(0 0 0/14%)}html[data-theme=dark] .field input::-moz-placeholder,html[data-theme=dark] .field textarea::-moz-placeholder{color:#668296}html[data-theme=dark] .field input::placeholder,html[data-theme=dark] .field textarea::placeholder{color:#668296}html[data-theme=dark] .actions input:focus,html[data-theme=dark] .actions select:focus,html[data-theme=dark] .field input:focus,html[data-theme=dark] .field select:focus,html[data-theme=dark] .field textarea:focus{border-color:#38bdf8;background:#0a2435;box-shadow:0 0 0 4px rgb(56 189 248/12%)}html[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,html[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.72)}html[data-theme=dark] .table-wrap{border-color:#24465a}html[data-theme=dark] table{background:rgb(8 29 42/55%)}html[data-theme=dark] th{color:#85a2b6;background:#0d2a3c}html[data-theme=dark] td,html[data-theme=dark] th{border-color:#1d3c50}html[data-theme=dark] tbody tr:hover{background:#102f43}html[data-theme=dark] .badge{color:#6ee7bd;border-color:#21634f;background:#103c31}html[data-theme=dark] .badge.warn{color:#f8d47a;border-color:#6a5624;background:#3a3017}html[data-theme=dark] .badge.bad{color:#f9a8b6;border-color:#713245;background:#431d29}html[data-theme=dark] .alert{color:#f5d481;border-color:#645225;background:#362d17}html[data-theme=dark] .alert.bad{color:#ffb0bc;border-color:#733246;background:#421d29}html[data-theme=dark] .alert.success{color:#79e2c1;border-color:#286553;background:#123a31}html[data-theme=dark] .login{background:linear-gradient(135deg,#061923,#0b2c3e 48%,#071824)}html[data-theme=dark] .login:before{opacity:.09}html[data-theme=dark] .orb-one{opacity:.28}html[data-theme=dark] .orb-two{opacity:.2}html[data-theme=dark] .brand-pill{color:#b9e8fb;border-color:rgb(125 211 252/22%);background:rgb(14 61 83/54%)}html[data-theme=dark] .login-story h1{color:#e5f7ff}html[data-theme=dark] .login-story h1 span{color:#38bdf8}html[data-theme=dark] .login-proof,html[data-theme=dark] .login-story>p{color:#95b6c9}html[data-theme=dark] .login-proof>span{color:#72e0bd;background:#103347}html[data-theme=dark] .login-card{border-color:rgb(62 118 147/45%);background:rgb(8 31 45/84%);box-shadow:0 30px 85px rgb(0 4 9/38%)}html[data-theme=dark] .public-hero:after{background:#081d2b}html[data-theme=dark] .public-main>.card{box-shadow:var(--shadow-md)}html[data-theme=dark] .business-info{border-color:#234b62;background:linear-gradient(135deg,#102f43,#0b2638)}html[data-theme=dark] .public-footer{color:#68869a}html[data-theme=dark] .schedule-row,html[data-theme=dark] .service{border-color:#203f52}html[data-theme=dark] .live-bar{color:#c8f7e8;border-color:#245d4d;background:linear-gradient(135deg,#123a31,#0d302a)}html[data-theme=dark] .resource-avatar.fallback{color:#7dd3fc;background:linear-gradient(135deg,#123e56,#123246)}html[data-theme=dark] .resource-picker .resource-option{border-color:#274a60;background:#0a2638}html[data-theme=dark] .resource-picker .resource-option:hover{border-color:#3c85a9}html[data-theme=dark] .resource-picker .resource-option.selected{border-color:#38bdf8;background:#10374d;box-shadow:0 0 0 3px rgb(56 189 248/10%)}html[data-theme=dark] .booking-code{border-color:#30546a;background:rgb(5 26 39/55%)}html[data-theme=dark] .calendar-day{border-color:#24465b;background:rgb(9 31 45/86%)}html[data-theme=dark] .calendar-day:hover{border-color:#347496;box-shadow:0 12px 28px rgb(0 4 10/24%)}html[data-theme=dark] .calendar-day.today{background:#0d3044;outline-color:#38bdf8}html[data-theme=dark] .calendar-event{color:#d9eef8;border-color:#284a5d;background:#102c3e}html[data-theme=dark] .calendar-event:focus-visible,html[data-theme=dark] .calendar-event:hover{background:#163a50}html[data-theme=dark] .calendar-detail{border-color:#294d62}html[data-theme=dark] .theme-toggle{color:#cce9f7;border-color:#2b536b;background:rgb(9 34 49/90%);box-shadow:0 14px 36px rgb(0 4 10/35%)}html[data-theme=dark] .theme-toggle-icons{color:#facc15;background:linear-gradient(135deg,#3e3b20,#2d321f)}html[data-theme=dark] .resource-card[open] .resource-summary{background:linear-gradient(135deg,#102e42,#0c2738)}html[data-theme=dark] .resource-create{border-color:#286b8b;background:linear-gradient(135deg,rgb(13 48 68/92%),rgb(10 32 46/96%))}html[data-theme=dark] .resource-create .resource-avatar{color:#7dd3fc;background:#123a50}html[data-theme=dark] .option-panel{background:rgb(7 27 40/62%)}html[data-theme=dark] .switch-control{border-color:#3b586b;background:#294455}html[data-theme=dark] .switch-control>span{background:#dcedf5}html[data-theme=dark] .color-picker{border-color:#294c62;background:rgb(7 26 39/86%)}html[data-theme=dark] .color-swatch{border-color:#102a3b}html[data-theme=dark] .color-swatch.selected{box-shadow:0 0 0 2px #102a3b,0 0 0 4px #38bdf8}html[data-theme=dark] .custom-color span{border-color:#102a3b;box-shadow:0 0 0 1px #44677d}html[data-theme=dark] .status-menu>summary{background:color-mix(in srgb,currentColor 13%,#0b2435)}html[data-theme=dark] .status-menu-options{border-color:#2a4d62;background:#0c293b}html[data-theme=dark] .badge.status-pending{color:#f4cf74;border-color:#655222;background:#372e16}html[data-theme=dark] .badge.status-confirmed{color:#7dd3fc;border-color:#275f7b;background:#10354a}html[data-theme=dark] .badge.status-cancelled{color:#f8a4b4;border-color:#713247;background:#421d29}html[data-theme=dark] .badge.status-completed{color:#70dfbc;border-color:#27624f;background:#123b31}html[data-theme=dark] .badge.status-no-show{color:#b7c4d1;border-color:#465463;background:#29333e}@media (max-width:600px){.theme-toggle{right:12px;bottom:12px;padding-right:8px}.theme-toggle>span:last-child{display:none}}.cancellation-box{margin-top:18px;padding:16px;border:1px solid #b9dcee;border-radius:16px;background:linear-gradient(135deg,#f2fbff,#fff)}.cancellation-box>summary{cursor:pointer;color:#08678d;font-weight:800}.cancellation-box[open]>summary{margin-bottom:12px}.cancellation-box .alert{margin:12px 0}.cancellation-reason{max-width:560px;margin:16px 0 10px}.cancellation-meta{display:block;max-width:220px;margin-top:8px;line-height:1.4;overflow-wrap:anywhere}.status-menu-options .field{margin:6px 4px 8px;min-width:210px}.status-menu-options .field textarea{min-height:68px}html[data-theme=dark] .cancellation-box{border-color:#2d5b73;background:linear-gradient(135deg,#102f43,#0b2638)}html[data-theme=dark] .cancellation-box>summary{color:#8bd9f8}