:root{--bg:#f6f1ea;--ink:#1c1712;--muted:#6d6258;--line:rgba(28,23,18,.1);--card:rgba(255,252,247,.92);--accent:#8a6a3b;--accent-2:#c4a574;--danger:#8b3a2f;--ok:#2f5d45}*{box-sizing:border-box}body,html{margin:0}body{font-family:Outfit,sans-serif;background:radial-gradient(1200px 500px at 10% -10%,hsla(37,40%,61%,.25),transparent 50%),var(--bg);color:var(--ink);min-height:100vh}.serif,h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500}a,button,input,textarea{font:inherit;color:inherit;text-decoration:none}[role=button]:not(:disabled),button:not(:disabled){cursor:pointer}.page{width:min(720px,calc(100% - 24px));margin:0 auto;padding:20px 0 96px}.hero{padding:12px 0 8px}.hero h1{margin:0;font-size:clamp(36px,8vw,60px);line-height:.95}.social-hero{text-align:center}.avatar{width:72px;height:72px;border-radius:50%;margin:8px auto 12px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-family:Cormorant Garamond,serif;font-size:32px}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;margin:16px 0 8px}.kicker,.meta{color:var(--muted)}.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.social-hero .meta{justify-content:center}.banner{border:1px solid rgba(139,58,47,.25);background:#f8ece8;color:var(--danger);padding:14px;border-radius:16px}.hero+.banner{margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px}.offer-pills,.steps,.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.step,.tab{font-size:11px;color:var(--muted);padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff}.step.active,.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.tab em{font-style:normal;margin-left:8px;opacity:.75}.offer-wrap{margin-bottom:18px}.offer-detail{margin:10px 0 16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff8ee}.offer-detail h3{margin:0 0 6px;font-size:26px}.offer-badge{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.offer-detail p,.offer-service{color:var(--muted);margin:4px 0}.offer-price{display:flex;gap:10px;align-items:baseline;margin:10px 0 14px}.offer-price s{color:var(--muted)}.offer-price em{color:var(--ok);font-style:normal;font-size:13px}.hub-btn,.offer-detail .primary{width:100%}.hub-btn{text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 16px;margin-bottom:12px}.hub-btn b{display:block;font-size:20px;margin-bottom:4px}.hub-btn small{color:var(--muted)}.primary-hub{background:var(--ink);color:#fff;border-color:var(--ink)}.primary-hub small{color:hsla(0,0%,100%,.72)}.link-row{width:100%;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:8px}.link-row.featured{background:#fff8ee;border-color:var(--accent-2)}.link-icon{width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.04em;flex:none}.link-row span small{color:var(--muted);display:block;margin-top:3px}.cat h3{margin:4px 0 10px;font-size:28px}.sub{color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:14px 0 8px}.cart-row,.service{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:10px}.service.active{border-color:var(--accent)}.cart-row small,.service small{color:var(--muted);display:block;margin-top:4px}.cart-total{display:flex;justify-content:space-between;padding:12px 4px 4px}.ghost,.primary,.slot{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px}.slot.active{background:var(--ink);color:#fff;border-color:var(--ink)}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}input,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.primary{background:var(--ink);color:#fff;border-color:var(--ink);border-radius:16px;padding:12px 18px}.primary:disabled{opacity:.45}.ghost{background:transparent}.footer-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:12px;background:var(--card)}.ok{color:var(--ok)}.empty{color:var(--muted)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-bottom:16px}.cal-dow{text-align:center;font-size:11px;color:var(--muted)}.cal-day{aspect-ratio:1;background:#fff;border-radius:12px;border:1px solid var(--line)}.cal-day.active{background:var(--ink);color:#fff;border-color:var(--ink)}.cal-day:disabled{opacity:.28;background:transparent}.home-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-top .kicker{margin:0}.login-page{padding-top:48px}.login-card{margin-top:8px}.login-card .primary{width:100%;margin-top:18px}.dash-boot{min-height:100vh;display:grid;place-content:center;text-align:center}.dash{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.dash-side{background:rgba(255,252,247,.78);border-right:1px solid var(--line);padding:28px 16px 20px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.dash-brand{margin-bottom:28px}.dash-brand b{display:block;font-family:Cormorant Garamond,serif;font-size:26px;line-height:1.05;margin:8px 0 4px}.dash-brand small{color:var(--muted);font-size:12px}.dash-links{display:flex;flex-direction:column;gap:4px}.dash-links a{padding:10px 12px;border-radius:12px;color:var(--muted)}.dash-links a.on{background:var(--ink);color:#fff}.dash-out{margin-top:auto;width:100%}.dash-main{padding:32px 36px 80px;max-width:960px}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.dash-head h1{margin:0;font-size:clamp(36px,5vw,52px);line-height:.95}.dash-head .kicker{margin:0 0 8px}.copy-row{display:grid;grid-gap:12px;gap:12px}.copy-url{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:13px;overflow-wrap:anywhere}.copy-actions{display:flex;flex-wrap:wrap;gap:8px}.appt-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.appt{display:grid;grid-template-columns:minmax(180px,.9fr) 1.2fr;grid-gap:8px 20px;gap:8px 20px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.appt-when .pill{display:inline-block;margin-bottom:8px}.appt-when b,.appt-who b{display:block}.appt-when small,.appt-who small{display:block;color:var(--muted);margin-top:4px;font-size:13px}.appt-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.pill{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:#eeeae4;color:var(--muted)}.pill.pending_confirmation{background:#f4e6c8;color:#6a4b1a}.pill.confirmed{background:#dce8e0;color:var(--ok)}.pill.cancelled{background:#eeeae4;color:var(--muted)}.pill.no_show{background:#f8ece8;color:var(--danger)}.pill.active{background:#dce8e0;color:var(--ok)}.pill.unclaimed{background:#f4e6c8;color:#6a4b1a}.pill.suspended{background:#f8ece8;color:var(--danger)}.admin-row{padding:14px 0;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.admin-pills .pill{margin:0}.admin-claim{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin-top:12px;align-items:center}.admin-claim .primary{min-width:140px}.banner.ok{border-color:rgba(47,93,69,.25);background:#e8f1eb;color:var(--ok)}.settings-stack{display:grid;grid-gap:18px;gap:18px}.settings-stack .kicker{margin-top:0}.settings-stack .card .meta{margin-top:8px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 0 10px}.toggle-row b{display:block}.toggle-row small{display:block;color:var(--muted);margin-top:4px;max-width:48ch}.toggle{position:relative;width:48px;height:28px;flex:none;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0}.toggle i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;transition:transform .15s ease,background .15s ease}.toggle i,.toggle.on{background:var(--ink)}.toggle.on{border-color:var(--ink)}.toggle.on i{background:#fff;transform:translateX(20px)}.form-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.form-actions .primary{min-width:160px}select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:inherit}.menu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.menu-toolbar .meta{margin:0}.menu-top-card{margin-bottom:16px}.menu-heading{margin:0 4px 8px 0;font-size:32px;line-height:1}.menu-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.menu-row b{display:block}.menu-row small{display:block;color:var(--muted);margin-top:4px}.menu-row .pill{margin-top:8px;display:inline-block}.menu-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.menu-actions .ghost,.menu-actions .primary{padding:8px 12px;border-radius:999px;font-size:13px}.menu-child{margin:14px 0 8px;padding:12px 0 4px 14px;border-left:2px solid var(--line)}.menu-svc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:8px 0}.menu-svc-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}.menu-svc-side .price{font-weight:500}.is-off{opacity:.62}.menu-form{margin-top:12px;padding:12px 0 4px;border-top:1px solid var(--line)}.menu-form-card{margin-bottom:16px}.menu-form .kicker{margin-top:0}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.offer-card{margin-bottom:16px}.offer-card .menu-heading{margin-bottom:6px}.offer-card .offer-price{margin-top:8px}.link-edit{padding:14px 0;border-bottom:1px solid var(--line)}.link-edit:last-child{border-bottom:0}.link-edit .menu-row small{overflow-wrap:anywhere}.check-row{display:flex;align-items:center;gap:10px;margin:14px 0 8px;color:var(--ink);font-size:14px}.check-row input{width:auto}.staff-card{margin-bottom:16px}.staff-card .menu-heading{margin-bottom:6px}.hours-grid{display:grid;grid-gap:8px;gap:8px;margin:8px 0 12px}.hours-row{display:grid;grid-template-columns:48px 48px minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.hours-row input[type=time]{margin:0}.hours-to{color:var(--muted);font-size:13px}.svc-picks{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}.svc-chip{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:var(--ink)}.svc-chip.on{border-color:var(--ink);background:var(--ink);color:#fff}.svc-chip input{width:auto;accent-color:var(--accent)}@media (max-width:860px){.menu-row{flex-direction:column}.menu-actions{justify-content:flex-start}.admin-claim{grid-template-columns:1fr}.menu-svc-side{flex-direction:row;width:100%;justify-content:space-between;align-items:center}.menu-grid{grid-template-columns:1fr}.hours-row{grid-template-columns:40px 48px minmax(0,1fr) auto minmax(0,1fr)}}.pay-box{margin:16px 0 4px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff8ee}.pay-box h3{margin:0 0 8px;font-size:26px}.pay-box p{margin:6px 0}.pay-rows{display:grid;grid-gap:8px;gap:8px;margin:12px 0}.pay-rows div{display:flex;justify-content:space-between;gap:12px}.pay-rows dt{color:var(--muted);font-size:13px}.pay-rows dd{margin:0;font-weight:500;text-align:right;overflow-wrap:anywhere}input:disabled{background:#f3efe8;color:var(--muted)}@media (max-width:860px){.dash{grid-template-columns:1fr}.dash-side{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dash-brand{margin:0;flex:1 1;min-width:140px}.dash-brand b{font-size:22px}.dash-links{flex-direction:row;overflow-x:auto;width:100%}.dash-links a{white-space:nowrap}.dash-out{width:auto;margin:0}.dash-main{padding:20px 16px 72px}.appt{grid-template-columns:1fr}.appt-who{grid-column:auto}}@media (max-width:640px){.footer-bar{flex-wrap:wrap}.footer-bar .primary,.form-actions .primary{width:100%}}