@font-face{font-family:"Baloo 2";font-weight:600;font-display:swap;src:url(/static/fonts/baloo-2-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-weight:700;font-display:swap;src:url(/static/fonts/baloo-2-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-weight:800;font-display:swap;src:url(/static/fonts/baloo-2-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:600;font-display:swap;src:url(/static/fonts/nunito-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-latin-800-normal.woff2) format("woff2")}
/* Patient side: fixed brand palette (light), mobile-first */
:root{
  --bg:#FFF9F6; --surface:#FFFFFF; --surface-2:#F8EFEA; --ink:#3A1A10; --muted:#86695F; --line:#F1E4DE;
  --maroon:#7A2A14; --coral:#EE7D62; --coral-soft:#FCE3DA; --sage:#4F9579; --sage-soft:#E3F1EA; --sun:#F4BE57; --sun-soft:#FCEFD2; --crit:#C9472D;
  --display:"Baloo 2","Trebuchet MS",system-ui,sans-serif; --body:"Nunito Sans","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,h5{font-family:var(--display);line-height:1.1;margin:0;color:var(--maroon);text-wrap:balance}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2.5px solid var(--coral);outline-offset:2px;border-radius:10px}
.cta{border:0;border-radius:16px;padding:15px 18px;font-weight:800;font-size:16px;background:var(--maroon);color:#fff;display:flex;justify-content:center;align-items:center;gap:8px;width:100%;transition:transform .15s,opacity .2s;text-decoration:none}
.cta:active{transform:scale(.98)}
.cta[disabled]{opacity:.4;cursor:not-allowed}
.cta.coral{background:var(--coral)}
.cta.ghost{background:transparent;color:var(--maroon);border:1.5px solid var(--line)}
.small{font-size:12.5px;color:var(--muted)}
.err{color:var(--crit);font-weight:700;font-size:14px;min-height:20px}
.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 90px);z-index:60;max-width:440px;margin:0 auto;background:var(--ink);color:#fff;border-radius:16px;padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start;transform:translateY(20px);opacity:0;transition:.3s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.toast.show{transform:none;opacity:1}
.toast svg{width:18px;flex:none;margin-top:1px;color:var(--sun)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.pw{display:block;text-align:center;font-size:11px;letter-spacing:.04em;color:var(--muted);opacity:.75;margin:18px 0 0}
