:root{--accent:#2f6f5f;--accent-600:#285f51;--accent-700:#1f4c41;--accent-tint:#eaf2ee;--accent-tint-2:#f1f6f3;--ink:#18211e;--ink-soft:#3a463f;--muted:#6a766f;--bg:#f5f7f6;--card:#fff;--line:#e6ebe8;--line-strong:#d4dcd7;--danger:#bb3f2c;--danger-tint:#fbece8;--warn:#b06d1a;--warn-tint:#fdf3e3;--ok:#2f6f5f;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--shadow-sm:0 1px 2px #18211e0f, 0 1px 3px #18211e0d;--shadow:0 4px 14px #18211e14;--shadow-lg:0 18px 44px #18211e29;--ring:0 0 0 3px #2f6f5f2e;--tap:44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3{letter-spacing:-.018em;margin:0;line-height:1.2}h1{font-size:1.55rem;font-weight:700}h2{font-size:1.15rem;font-weight:650}h3{font-size:1.02rem;font-weight:600}p{margin:.5rem 0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);margin:.5rem 0}.ok{color:var(--ok);font-weight:600}button,.btn{font:inherit;background:var(--accent);color:#fff;border-radius:var(--r-sm);min-height:var(--tap);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1.1rem;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform 50ms,border-color .15s;display:inline-flex}button:hover,.btn:hover{background:var(--accent-600);text-decoration:none}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible,a:focus-visible{box-shadow:var(--ring);outline:none}button.secondary,.btn.secondary{color:var(--accent);border-color:var(--line-strong);background:#fff}button.secondary:hover,.btn.secondary:hover{background:var(--accent-tint);border-color:var(--accent)}button.ghost,.btn.ghost{color:var(--ink-soft);background:0 0;border-color:#0000}button.ghost:hover,.btn.ghost:hover{background:var(--accent-tint);color:var(--accent)}button.danger,.btn.danger{background:var(--danger)}button.danger:hover{background:#a23625}button.sm,.btn.sm{min-height:36px;padding:0 .8rem;font-size:.9rem}button.block,.btn.block{width:100%}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}label{color:var(--ink-soft);margin:.85rem 0 .3rem;font-size:.92rem;font-weight:600;display:block}label.inline{align-items:center;gap:.5rem;font-weight:500;display:flex}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;font:inherit;color:var(--ink);min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;padding:.62rem .8rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:6rem;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:#9aa5a0}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236a766f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;padding-right:2.3rem}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--accent)}input[type=date],input[type=time]{text-align:left}input::-webkit-date-and-time-value{text-align:left}.field-row{flex-wrap:wrap;gap:.6rem;display:flex}.field-row>*{flex:8rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.15rem 1.2rem}.card.flush{padding:0;overflow:hidden}.card-title{margin-bottom:.85rem;font-size:1.02rem;font-weight:650}.pill{letter-spacing:.01em;background:var(--accent-tint);color:var(--accent-700);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-size:.76rem;font-weight:600;display:inline-flex}.pill.gray{color:var(--muted);background:#eef1ef}.pill.warn{background:var(--warn-tint);color:var(--warn)}.pill.danger{background:var(--danger-tint);color:var(--danger)}.pill.ok{background:var(--accent-tint);color:var(--accent-700)}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.topbar{z-index:40;background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;height:60px;padding:0 1rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;color:var(--accent);align-items:center;gap:.5rem;font-size:1.18rem;font-weight:750;display:inline-flex}.brand:hover{text-decoration:none}.brand-dot{background:var(--accent);border-radius:50%;width:.62rem;height:.62rem;display:inline-block}.nav-desktop{display:none}.nav-links{align-items:center;gap:.15rem;display:flex}.nav-link{border-radius:var(--r-sm);color:var(--ink-soft);align-items:center;gap:.45rem;padding:.5rem .7rem;font-size:.93rem;font-weight:550;display:inline-flex}.nav-link:hover{background:var(--accent-tint-2);color:var(--accent);text-decoration:none}.nav-link.active{background:var(--accent-tint);color:var(--accent-700)}.nav-link svg{flex:none}.hamburger{border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r-sm);background:0 0;width:40px;min-height:40px;padding:0}.hamburger:hover{background:var(--accent-tint)}.scrim{z-index:50;opacity:0;pointer-events:none;background:#18211e73;transition:opacity .2s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.drawer{z-index:60;background:var(--card);border-left:1px solid var(--line);width:min(82vw,320px);height:100dvh;box-shadow:var(--shadow-lg);flex-direction:column;padding:.75rem;transition:transform .24s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-head{justify-content:space-between;align-items:center;padding:.4rem .5rem .9rem;display:flex}.drawer .nav-link{border-radius:var(--r);padding:.8rem;font-size:1rem}.drawer .nav-link svg{width:20px;height:20px}.drawer-foot{border-top:1px solid var(--line);gap:.6rem;margin-top:auto;padding-top:.75rem;display:grid}.dash-main{max-width:860px;margin:0 auto;padding:1.15rem 1rem 4rem}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin:.4rem 0 1.1rem;display:flex}.banner{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .85rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;display:flex}.banner.trial{background:var(--accent-tint);color:var(--accent-700)}.banner.readonly{background:var(--danger-tint);color:var(--danger)}.banner .btn,.banner button{min-height:36px;padding:0 .9rem;font-size:.88rem}@media (min-width:880px){.nav-desktop{align-items:center;gap:.6rem;display:flex}.hamburger{display:none}}.disclosure{margin-bottom:1.1rem}.disclosure>summary{color:#fff;background:var(--accent);border-radius:var(--r-sm);min-height:var(--tap);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:0 1.1rem;font-weight:600;list-style:none;display:inline-flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure[open]>summary{background:var(--accent-600)}.disclosure .panel-body{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-top:.8rem;padding:1.1rem 1.2rem}.booking{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);align-items:flex-start;gap:.85rem;margin-bottom:.65rem;padding:.9rem 1rem;display:flex}.booking-when{text-align:center;border-right:1px solid var(--line);flex:none;width:3.4rem;padding-right:.7rem}.booking-when .d{font-size:1.25rem;font-weight:700;line-height:1}.booking-when .m{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;font-size:.72rem}.booking-body{flex:auto;min-width:0}.booking-body .top{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.booking-actions{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.empty-state{text-align:center;color:var(--muted);padding:2.5rem 1rem}main.public{max-width:600px;margin:0 auto;padding:1.25rem 1rem 3rem}main.public.auth{align-items:center;min-height:100dvh;display:flex}main.public.auth>.card{width:100%}.brand-head{text-align:center;margin:.5rem 0 1.4rem}.brand-head .brand{justify-content:center;font-size:1.5rem}.provider-card{margin-bottom:1.1rem}.provider-banner{height:96px}.provider-body{margin-top:-38px;padding:0 1.2rem 1.3rem}.provider-avatar{color:#fff;letter-spacing:-.02em;border:3px solid var(--card);width:76px;height:76px;box-shadow:var(--shadow-sm);border-radius:20px;justify-content:center;align-items:center;font-size:1.7rem;font-weight:700;display:flex;overflow:hidden}.provider-avatar img{object-fit:cover;width:100%;height:100%}.provider-body h1{margin-top:.7rem;font-size:1.5rem}.provider-prof{color:var(--muted);margin:.15rem 0 0;font-weight:550}.provider-bio{color:var(--ink-soft);margin-top:.6rem}.reassure{color:var(--accent-700);flex-wrap:wrap;gap:.4rem 1rem;margin-top:1rem;font-size:.85rem;font-weight:550;display:flex}.booking-page{padding-bottom:1.5rem}.booking-footer{text-align:center;padding:1.5rem 0 .5rem}.booking-footer a{color:var(--muted);font-size:.82rem}.booking-footer strong{color:var(--accent);letter-spacing:-.02em}.service-option{text-align:left;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;min-height:var(--tap);color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;padding:.95rem 1rem;display:flex}.service-option:hover{border-color:var(--accent);background:var(--accent-tint-2)}.service-option .meta{color:var(--muted);margin-top:.15rem;font-size:.88rem}.service-option .chev{color:var(--accent);flex:none}.day-group{margin-bottom:1.1rem}.day-group h3{color:var(--muted);text-transform:capitalize;margin-bottom:.5rem;font-size:.82rem;font-weight:600}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.5rem;display:grid}.slot-grid .slot{min-height:42px;color:var(--accent-700);border:1px solid var(--line-strong);background:#fff;padding:0;font-weight:600}.slot-grid .slot:hover{border-color:var(--accent);background:var(--accent-tint)}.success-check{background:var(--accent-tint);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .5rem;display:flex}.landing{color:var(--ink)}.land-nav{justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:1.1rem 1.25rem;display:flex}.land-logo{letter-spacing:-.03em;color:var(--accent);align-items:center;gap:.5rem;font-size:1.3rem;font-weight:750;display:inline-flex}.btn.big{border-radius:var(--r);min-height:52px;padding:0 1.7rem;font-size:1.05rem;box-shadow:0 8px 22px #2f6f5f42}.hero{text-align:center;background:radial-gradient(64rem 30rem at 50% -8rem, var(--accent-tint), transparent 70%), var(--bg);padding:clamp(3rem,8vw,5.5rem) 1.25rem 3.5rem}.hero h1{max-width:860px;margin:0 auto 1.1rem;font-size:clamp(2rem,5.2vw,3.15rem);line-height:1.1}.hero-sub{max-width:640px;color:var(--ink-soft);margin:0 auto 2rem;font-size:clamp(1.02rem,2.4vw,1.2rem)}.trust{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1.25rem 1.75rem;margin-top:2.4rem;font-size:.9rem;display:flex}.landing section{padding:clamp(2.5rem,6vw,4rem) 1.25rem}.landing h2{text-align:center;max-width:30ch;margin:0 auto 2.2rem;font-size:clamp(1.5rem,3.4vw,2.1rem)}.grid3{grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1.1rem;max-width:1080px;margin:0 auto;display:grid}.step,.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.step h3,.feature h3{margin:.5rem 0 .4rem}.step p,.feature p{color:var(--muted);margin:0;font-size:.95rem}.f-icon{font-size:1.7rem}.features{background:var(--accent-tint-2)}.price-card{text-align:center;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r-xl);max-width:460px;box-shadow:var(--shadow);margin:0 auto;padding:2.5rem 1.75rem}.price strong{letter-spacing:-.04em;font-size:3.1rem}.price span{color:var(--muted);margin-left:.4rem}.faq{max-width:720px;margin:0 auto}.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin-bottom:.6rem;padding:.95rem 1.15rem}.faq summary{cursor:pointer;font-weight:600}.faq details p{color:var(--muted);margin:.7rem 0 .2rem}.land-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1080px;margin:0 auto;padding:2.2rem 1.25rem 2.75rem;display:flex}.land-footer nav{flex-wrap:wrap;gap:1.25rem;display:flex}.land-footer a{color:var(--muted);font-size:.92rem}.legal{max-width:760px;margin:0 auto;padding:2rem 1.25rem 3rem}.legal h1{font-size:1.7rem}.legal h2{margin-top:2rem;font-size:1.15rem}.legal p,.legal li{color:var(--ink-soft);font-size:.97rem}.todo{background:var(--warn-tint);border-left:3px solid var(--warn);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:.6rem .85rem}pre{background:var(--bg);border-radius:var(--r-sm);padding:.7rem;font-size:.85rem;overflow-x:auto}code{word-break:break-all}
