@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap');
.onboarding-form summary{cursor:pointer;font-size:.88rem;font-weight:600}.optional-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem}.optional-fields input{width:100%;border:1px solid #ced7d1;border-radius:8px;padding:.78rem;font:inherit}@media(max-width:560px){.optional-fields{grid-template-columns:1fr}}
:root{--ink:#17211d;--muted:#6c7771;--line:#e6ebe8;--green:#0d6b4f;--cream:#f5f6f1;--soft:#edf5ef;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fafbfa}a{color:inherit;text-decoration:none}.brand{font-size:1.35rem;font-weight:700;letter-spacing:-.06em}.brand span{color:#78d4ad}.brand.dark span{color:var(--green)}.eyebrow{color:var(--green);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .65rem}.button{border:0;background:var(--green);color:white;border-radius:9px;padding:.8rem 1.05rem;font:600 .9rem inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.secondary{background:white;border:1px solid #cbd5cf;color:var(--ink)}.button.wide{width:100%}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#102f28;color:#c5d3ce;padding:.75rem .75rem 1rem;display:flex;flex-direction:column;font-family:'Inter','DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}.sidebar nav{display:grid;gap:.15rem}.sidebar nav a:hover{background:#1c493e;color:white}.dashboard-main{padding:2.8rem 4.5vw;max-width:1500px;width:100%;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:2rem}.page-heading h1{margin:0;font-size:2rem;letter-spacing:-.05em}.page-heading p:not(.eyebrow){color:var(--muted);margin:.45rem 0}.header-actions{display:flex;gap:.6rem}.header-actions form{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}.stat-card,.panel{background:var(--white);border:1px solid var(--line);border-radius:14px}.stat-card{padding:1.3rem}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:.82rem}.stat-card strong{display:block;font-size:1.8rem;letter-spacing:-.05em;margin:.6rem 0}.stat-card.accent{background:var(--soft);border-color:#cfe5d6}.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem}.panel{padding:1.3rem}.panel-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem}.panel-title h2,.website-panel h2{margin:0;font-size:1rem}.panel-title a{font-size:.82rem;color:var(--green);font-weight:600}.records{display:grid}.record{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.record:last-child{border:0}.record strong,.record span{display:block}.record span{font-size:.8rem;color:var(--muted);margin-top:.18rem}.badge{background:#eef6ef;color:#26714e;border-radius:99px;padding:.22rem .55rem!important;height:max-content;text-transform:capitalize}.empty{color:var(--muted);padding:1.2rem 0;font-size:.9rem}.website-panel{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;background:linear-gradient(120deg,#f4fbf7,#fff)}.website-panel p{color:var(--muted);max-width:700px}.table-panel{padding:0;overflow:auto}.table-panel table{width:100%;border-collapse:collapse;font-size:.9rem}.table-panel th,.table-panel td{text-align:left;padding:1rem;border-bottom:1px solid var(--line)}.table-panel th{color:var(--muted);font-weight:600}.table-panel td{vertical-align:top}.onboarding-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#d7f1df,transparent 34%),var(--cream);padding:2rem}.onboarding-card{width:min(100%,680px);background:white;border:1px solid #dfe7e1;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #28473816}.onboarding-card h1{font:700 2.7rem/1.07 'Playfair Display',serif;letter-spacing:-.06em;margin:.75rem 0}.intro,.fine-print{color:var(--muted);line-height:1.6}.onboarding-form{margin-top:2rem;display:grid;gap:1.3rem}.onboarding-form label:not(.check){font-size:.88rem;font-weight:600;display:grid;gap:.45rem}.onboarding-form input:not([type=checkbox]),.public-form input,.public-form textarea,.booking-form input{width:100%;border:1px solid #ced7d1;border-radius:8px;padding:.78rem;font:inherit}.onboarding-form fieldset{border:1px solid var(--line);border-radius:10px;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.onboarding-form legend{font-size:.85rem;font-weight:700}.check{font-size:.88rem}.fine-print{font-size:.78rem;margin:1.3rem 0 0}.public-site{background:#fff}.public-nav{padding:1.2rem 7vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7ece8}.public-nav nav{display:flex;gap:1.4rem;font-size:.9rem}.hero{min-height:580px;padding:7rem 7vw;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:5rem;background:linear-gradient(110deg,#e8f4eb 0%,#f7fbf7 65%,#d8eee1)}.hero h1,.site-section h2{font:700 clamp(2.5rem,5vw,4.6rem)/1 'Playfair Display',serif;letter-spacing:-.06em;margin:0}.hero>div>p:not(.eyebrow):not(.rating){font-size:1.1rem;line-height:1.7;max-width:650px;color:#40544a;margin:1.4rem 0}.hero-actions{display:flex;gap:.65rem}.rating{font-size:.85rem;color:#50705c;margin-top:1.4rem!important}.hero-card{background:#123e32;color:white;border-radius:18px;padding:2rem;box-shadow:15px 18px 0 #74b999}.hero-card span{color:#a7d6bd;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.hero-card h2{font:700 2rem 'Playfair Display',serif;margin:.8rem 0}.hero-card p{color:#c6d9d0;line-height:1.5}.hero-card a{font-size:.85rem;text-decoration:underline}.site-section{padding:6rem 7vw}.split{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem}.split h2,.muted h2,.form-grid h2,.booking h2{font-size:2.7rem}.split>p{font-size:1.1rem;line-height:1.8;color:#4d5f55;max-width:720px}.muted{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.service-grid article{background:#fff;padding:1.5rem;border-radius:12px}.service-grid span{color:var(--green);font-size:.8rem;font-weight:700}.service-grid h3{font-size:1rem;margin:.8rem 0 0}.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.form-grid>div>p:not(.eyebrow){color:var(--muted)}.public-form,.booking-form{display:grid;gap:.75rem}.public-form textarea{min-height:110px;resize:vertical}.booking{background:#123e32;color:white;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.booking .eyebrow{color:#9cd9b4}.booking h2{color:white}.booking-form input{background:#205241;border-color:#427563;color:white}.booking-form input::placeholder{color:#b5cbc0}.booking-form .button{background:#9be0b7;color:#103a2c}footer{background:#0d2b23;color:#d3e3db;padding:2rem 7vw;font-size:.86rem}.toast{position:fixed;right:1rem;bottom:1rem;background:#123e32;color:#fff;padding:1rem 1.25rem;border-radius:10px;box-shadow:0 10px 25px #0002}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-main{padding:2rem 1.2rem}.stat-grid,.two-column{grid-template-columns:1fr 1fr}.two-column{gap:1rem}.hero,.split,.form-grid,.booking{grid-template-columns:1fr;gap:2rem}.hero{padding:4rem 7vw}.site-section{padding:4rem 7vw}}@media(max-width:560px){.page-heading,.website-panel,.public-nav{align-items:flex-start;flex-direction:column}.header-actions,.hero-actions{flex-wrap:wrap}.stat-grid,.two-column,.service-grid,.onboarding-form fieldset{grid-template-columns:1fr}.onboarding-card{padding:2rem 1.3rem}.onboarding-card h1{font-size:2.2rem}.public-nav nav{gap:.8rem}.hero h1{font-size:3rem}}

/* The desktop sidebar becomes an accessible off-canvas drawer on phones. */
.mobile-nav-toggle,.mobile-nav-scrim{display:none}
@media(max-width:850px){
  body.app-shell.mobile-nav-open{overflow:hidden}
  .app-shell{display:block;min-height:100vh}
  .sidebar{display:flex;position:fixed;inset:0 auto 0 0;z-index:40;width:min(19rem,88vw);height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:1.2rem;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 42px #071c1640}
  .sidebar.is-open{transform:translateX(0)}
  .mobile-nav-scrim{position:fixed;inset:0;z-index:35;width:100%;height:100%;padding:0;border:0;background:#071c1680;cursor:pointer}
  .mobile-nav-scrim[hidden]{display:none!important}
  .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;padding:.55rem .75rem;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#17211d;font:700 .8rem 'DM Sans',sans-serif;cursor:pointer}
  .mobile-nav-toggle:hover,.mobile-nav-toggle:focus-visible{border-color:#16805d;box-shadow:0 0 0 3px #cfe8dc;outline:0}
  .mobile-nav-toggle__icon{display:grid;gap:3px;width:15px}
  .mobile-nav-toggle__icon i{display:block;height:2px;border-radius:2px;background:#0d6b4f}
  .crm-topbar-heading{display:flex;align-items:center;gap:.75rem;min-width:0}
  .crm-topbar-heading>div{min-width:0}
}

/* SiteKits product wordmark: calm deep ink, fresh teal, and a small warm
   accent reserved for brand moments rather than customer website themes. */
:root{--brand-ink:#142b25;--brand-primary:#087f67;--brand-deep:#0a5c4b;--brand-highlight:#f2b857;--green:var(--brand-primary);--soft:#edf7f1}
.brand{color:#f5fffb;font-size:1.4rem;font-weight:800;letter-spacing:-.08em}
.brand span{color:#76d9b5}
.brand.dark{color:var(--brand-ink)}
.brand.dark span{color:var(--brand-primary)}
.sidebar-brand{color:#f5fffb;font-size:.95rem;font-weight:800;letter-spacing:-.06em;padding:.5rem .625rem 0}
.sidebar-brand span{color:#76d9b5}
