/* Fredoka and the original Groove palette from the supplied Lovable export.
   Fonts are served with the app; no third-party font request is needed. */
@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/Fredoka-300.ttf') format('truetype')}
@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Fredoka-400.ttf') format('truetype')}
@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/Fredoka-500.ttf') format('truetype')}
@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/Fredoka-600.ttf') format('truetype')}
@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Fredoka-700.ttf') format('truetype')}
body,[dir="auto"],[class*="css-text-"],[class*="css-textinput-"],button,input,textarea,select{font-family:Fredoka,ui-sans-serif,system-ui,sans-serif!important;font-feature-settings:"ss01"}
body{background:#fff}
[data-groove-wordmark]{background:linear-gradient(100deg,oklch(.46 .06 146) 0%,oklch(.58 .07 140) 32%,oklch(.78 .11 110) 62%,oklch(.88 .12 98) 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important}
@media(max-width:600px){[data-groove-tagline]{display:none!important}}

/* Original Lovable homepage geometry; scoped so private workspaces retain their tools. */
#groove-home{--gh-ink:#232c23;--gh-sage:#5d7b5e;--gh-muted:#5c665d;--gh-line:#dde6dd;--gh-butter:#f5e9b0;--gh-gradient:linear-gradient(100deg,oklch(.46 .06 146) 0%,oklch(.58 .07 140) 32%,oklch(.78 .11 110) 62%,oklch(.88 .12 98) 100%);--gh-green:linear-gradient(135deg,oklch(.40 .055 146) 0%,oklch(.50 .06 145) 55%,oklch(.62 .06 130) 100%);height:100%;width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;background:#fff;color:var(--gh-ink);font-family:Fredoka,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.5;font-feature-settings:"ss01";scroll-behavior:smooth}
#groove-home *{box-sizing:border-box}
#groove-home :is(h1,h2,h3,p){margin:0}
#groove-home :is(h1,h2,h3){font-weight:600;letter-spacing:0}
#groove-home a{color:inherit;text-decoration:none}
#groove-home a:focus-visible{outline:3px solid var(--gh-sage);outline-offset:4px}
#groove-home .gh-container{width:100%;max-width:1152px;margin-inline:auto;padding-inline:20px}
#groove-home .gh-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(221,230,221,.7);background:rgba(255,255,255,.85);backdrop-filter:blur(12px)}
#groove-home .gh-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:16px}
#groove-home .gh-brand{display:flex;align-items:baseline;gap:8px;max-width:100%}
#groove-home .gh-tagline{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--gh-muted);opacity:.7}
#groove-home .gh-nav{display:flex;align-items:center;gap:4px;max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
#groove-home .gh-nav a{flex-shrink:0;padding:6px 12px;border-radius:2px;line-height:20px;color:var(--gh-muted);white-space:nowrap}
#groove-home .gh-nav a:hover,#groove-home .gh-nav .gh-active{background:var(--gh-butter);color:#354835}
#groove-home .gh-nav .gh-register{margin-left:4px;background:var(--gh-sage);color:#fff;font-weight:500}
#groove-home .gh-hero{overflow:hidden}
#groove-home .gh-hero-inner{max-width:672px;margin-inline:auto;padding:80px 20px;text-align:center}
#groove-home .gh-hero h1{font-size:48px;line-height:1.05;background:var(--gh-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
#groove-home .gh-hero p{max-width:512px;margin:20px auto 0;color:var(--gh-muted);line-height:1.625}
#groove-home .gh-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:32px}
#groove-home .gh-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 32px;border:1px solid transparent;border-radius:2px;white-space:normal;font-size:12px;font-weight:500;letter-spacing:1.44px;text-transform:uppercase;transition:transform .3s ease,opacity .2s ease}
#groove-home .gh-primary{background:var(--gh-green);color:#fff}
#groove-home .gh-quiet{border-color:rgba(93,123,94,.25);color:var(--gh-sage);background:transparent}
#groove-home .gh-button:hover{opacity:.9;transform:translateY(-2px)}
#groove-home .gh-values{padding-block:40px}
#groove-home .gh-grid{display:grid;grid-template-columns:1fr;gap:20px}
#groove-home .gh-card{padding:24px;background:#fff;border:1px solid var(--gh-line);border-radius:12px;box-shadow:0 1px 2px rgba(42,64,43,.08),0 12px 32px -18px rgba(42,64,43,.24);transition:transform .3s ease,box-shadow .3s ease}
#groove-home .gh-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(42,64,43,.1),0 26px 50px -24px rgba(42,64,43,.32)}
#groove-home .gh-card h2{font-size:20px;line-height:1.25}
#groove-home .gh-card p{margin-top:8px;color:var(--gh-muted);line-height:1.625}
#groove-home .gh-features{padding-block:48px}
#groove-home .gh-features>h2{max-width:576px;margin-bottom:24px;font-size:30px;line-height:1.25}
#groove-home .gh-features svg{width:20px;height:20px;color:var(--gh-sage)}
#groove-home .gh-features h3{margin-top:16px;font-size:18px;line-height:1.25}
#groove-home .gh-professionals{padding-block:56px}
#groove-home .gh-pro-panel{padding:48px 32px;border-radius:16px;background:var(--gh-green);color:#fff}
#groove-home .gh-pro-panel h2{max-width:576px;font-size:30px;line-height:1.25}
#groove-home .gh-pro-panel p{max-width:512px;margin-top:16px;line-height:1.625;color:rgba(255,255,255,.8)}
#groove-home .gh-pro-panel .gh-button{margin-top:28px}
#groove-home .gh-soft{border-color:var(--gh-line);background:linear-gradient(160deg,oklch(.99 .008 100),oklch(.93 .075 98));color:var(--gh-sage);font-size:14px;letter-spacing:0;text-transform:none}
#groove-home .gh-footer{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:80px;padding:32px 20px;border-top:1px solid var(--gh-line);text-align:center}
#groove-home .gh-footer p{font-size:12px;color:var(--gh-muted)}
#groove-home .gh-skip{position:absolute;z-index:30;left:12px;top:12px;transform:translateY(-200%);padding:12px;background:var(--gh-butter)}
#groove-home .gh-skip:focus{transform:none}
@media(min-width:640px){#groove-home .gh-hero h1{font-size:60px}#groove-home .gh-features>h2,#groove-home .gh-pro-panel h2{font-size:36px}#groove-home .gh-pro-panel{padding-inline:48px}}
@media(min-width:768px){#groove-home .gh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){#groove-home .gh-hero-inner{padding-block:112px}}
@media(max-width:639px){#groove-home .gh-tagline{display:none}#groove-home .gh-header-inner{gap:8px}#groove-home .gh-nav{width:100%}#groove-home .gh-nav a{min-height:44px;display:flex;align-items:center}#groove-home .gh-hero-inner{padding-block:64px}#groove-home .gh-hero h1{font-size:clamp(36px,11vw,48px)}}
@media(prefers-reduced-motion:reduce){#groove-home{scroll-behavior:auto}#groove-home .gh-button,#groove-home .gh-card{transition:none}#groove-home .gh-button:hover,#groove-home .gh-card:hover{transform:none}}

/* Source navigation for the treatment schedule, outside the scrolling client pane. */
.groove-reference-header{flex-shrink:0;border-bottom:1px solid rgba(221,230,221,.7);background:rgba(255,255,255,.95);font-family:Fredoka,ui-sans-serif,system-ui,sans-serif;font-size:14px;color:#5c665d}
.groove-reference-header *{box-sizing:border-box}
.gr-header-inner{max-width:1152px;width:100%;margin-inline:auto;padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.groove-reference-header a{color:inherit;text-decoration:none}
.groove-reference-header a:focus-visible{outline:3px solid #5d7b5e;outline-offset:3px}
.gr-brand{display:flex;align-items:baseline;gap:8px;max-width:100%}
.gr-brand>span:last-child{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;opacity:.7}
.groove-reference-header nav{display:flex;align-items:center;gap:4px;max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
.groove-reference-header nav a{flex-shrink:0;white-space:nowrap;line-height:20px;padding:6px 12px;border-radius:2px}
.groove-reference-header nav a:hover,.groove-reference-header nav a[aria-current=page]{background:#f5e9b0;color:#354835}
.groove-reference-header nav .gr-account{margin-left:4px;background:#5d7b5e;color:white;font-weight:500}
.gr-treatment-entry{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:Fredoka,ui-sans-serif,system-ui,sans-serif;color:#232c23;margin-bottom:18px}
.gr-treatment-entry p{font-size:14px;color:#5c665d;line-height:1.5;max-width:576px;margin:12px 0 0}
.gr-treatment-entry .gr-eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;margin:0}
.gr-treatment-entry h1{font-size:48px;font-weight:600;line-height:1;margin:8px 0 0;letter-spacing:0}
.gr-treatment-entry button{border:0;border-radius:2px;background:linear-gradient(135deg,#385438,#78906b);color:#fff;padding:12px 32px;min-height:44px;opacity:.5;font-size:12px;text-transform:uppercase;letter-spacing:1.4px}
@media(max-width:639px){.gr-brand>span:last-child{display:none}.gr-header-inner{gap:8px}.groove-reference-header nav{width:100%}.groove-reference-header nav a{min-height:44px;display:flex;align-items:center}.gr-treatment-entry h1{font-size:36px;line-height:1.12}}
