/* Health Coach Panel 6.2 — generated from /ui6 sources. Do not edit by hand. */
/* =====================================================================
   Health Coach Panel 6.2 — "Aurora" design system
   Architecture: tokens (this block, unlayered custom properties) → cascade layers
   @layer base, components, pages, responsive, states, motion.
   Later layers always win, so the stylesheet needs no override flags and no specificity hacks.
   Brand / surface / ink / line / sidebar tokens are DEFAULTS: the plugin injects
   <style id="hcp-brand-tokens"> after this file, generated from the single "Main brand colour".
   ===================================================================== */
@layer base,components,pages,responsive,states,motion;

:root{
  /* brand & surfaces (defaults, overridden by the generated brand block) */
  --bg:#f4f2ee;--surface:#fff;--surface-2:#faf8f5;
  --ink:#171522;--ink-2:#484356;--muted:#6f6a80;--line:#e6e2ea;--line-2:#f1eef4;
  --brand:#6247ea;--brand-700:#4a31c9;--brand-50:#f0edff;--brand-100:#e0d9ff;--on-brand:#fff;--brand-deep:#4a31c9;--brand-hover:#5538d6;--brand-rgb:98,71,234;
  --side-bg:#16112b;--side-text:#cdc7e6;--side-group-text:#8e87b0;--side-hover-bg:rgb(255 255 255 / .08);
  /* neutrals & overlays */
  --white:#fff;--on-dark:#fff;--on-solid:#fff;--on-hero:#fff;--shadow-rgb:25 20 51;
  --w-10:rgb(255 255 255 / .1);--w-14:rgb(255 255 255 / .14);--w-16:rgb(255 255 255 / .16);--w-20:rgb(255 255 255 / .2);--w-25:rgb(255 255 255 / .25);--w-30:rgb(255 255 255 / .3);--w-40:rgb(255 255 255 / .4);
  --scrim:rgb(14 10 35 / .55);--scrim-strong:rgb(14 10 35 / .7);--edge:rgb(255 255 255 / .7);
  /* accents & status */
  --lime:#d7f46a;--lime-ink:#27310a;--pink:#ff7ab6;--accent-2:#ff5fb4;--sun:#ffc94a;--amber:#f2a516;--amber-soft:#ffd76a;--water:#3d8bff;--app-gpay:#4285f4;--app-phonepe:#5f259f;--app-paytm:#00b9f1;--app-bhim:#e8710a;--ok-bright:#2fd5a0;--bad-bright:#ff8fa5;
  --ok:#0f7f5b;--ok-bg:#dcf5ea;--warn:#9c5600;--warn-bg:#ffefd3;--bad:#c42747;--bad-bg:#ffe3e9;--info:#1d63e0;--info-bg:#e3eeff;
  /* derived (follow the brand) */
  --surface-3:color-mix(in srgb,var(--surface-2),var(--ink) 5%);
  --neutral-bg:color-mix(in srgb,var(--surface),var(--ink) 7%);
  
  --lime-glow:color-mix(in srgb,var(--lime) 50%,transparent);--pink-glow:color-mix(in srgb,var(--pink) 50%,transparent);--water-soft:color-mix(in srgb,var(--water) 45%,var(--white));
  --brand-a8:color-mix(in srgb,var(--brand) 8%,transparent);--brand-a12:color-mix(in srgb,var(--brand) 12%,transparent);--brand-a20:color-mix(in srgb,var(--brand) 20%,transparent);--brand-a30:color-mix(in srgb,var(--brand) 30%,transparent);--brand-a55:color-mix(in srgb,var(--brand) 55%,transparent);--brand-glow:color-mix(in srgb,var(--brand) 70%,transparent);
  --side-ink:var(--side-text);--side-dim:var(--side-group-text);--side-hover:var(--side-hover-bg);--side-line:rgb(255 255 255 / .09);
  --hero:linear-gradient(135deg,var(--brand-deep) 0%,color-mix(in srgb,var(--brand) 55%,var(--brand-deep)) 52%,color-mix(in srgb,var(--brand-deep) 72%,#c2368f) 100%);
  --hero-dots:radial-gradient(var(--w-14) 1px,transparent 1.5px);
  /* type */
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Bricolage Grotesque","Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --fs-2xs:11px;--fs-xs:12px;--fs-s:13px;--fs-m:14px;--fs-base:15px;--fs-l:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:24px;--fs-4xl:28px;--fs-5xl:32px;--fs-6xl:40px;
  /* space (4px grid) */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--sp-12:48px;
  /* radii */
  --r-xs:8px;--r-s:12px;--r-m:16px;--r-l:20px;--r:24px;--r-xl:28px;--r-2xl:34px;--r-pill:999px;
  /* controls */
  --control-h:46px;--btn-h:42px;--btn-h-sm:34px;--btn-h-lg:52px;--icon:18px;
  /* elevation */
  --sh-xs:0 1px 2px rgb(var(--shadow-rgb) / .06);
  --sh:0 1px 2px rgb(var(--shadow-rgb) / .04),0 8px 24px -12px rgb(var(--shadow-rgb) / .14);
  --sh-md:0 2px 4px rgb(var(--shadow-rgb) / .05),0 18px 40px -16px rgb(var(--shadow-rgb) / .22);
  --sh-lg:0 30px 80px -20px rgb(var(--shadow-rgb) / .5);
  --ring:0 0 0 3px color-mix(in srgb,var(--brand) 28%,transparent);
  /* motion */
  --ease:cubic-bezier(.2,.8,.2,1);--dur-fast:.15s;--dur:.22s;--dur-slow:.35s;--dur-slower:.5s;
  /* layers */
  --z-raised:20;--z-sticky:40;--z-fab:50;--z-nav:60;--z-popover:65;--z-scrim:70;--z-side:80;--z-drawer:90;--z-palette:100;--z-modal:110;--z-toast:130;--z-splash:150;--z-sheet:2000;
  /* layout */
  --side:272px;--content-max:1320px;
}
:root[data-theme=dark]{
  --shadow-rgb:0 0 0;--edge:rgb(255 255 255 / .06);
  --ok:#4fd1a0;--ok-bg:#12302a;--warn:#f1b35a;--warn-bg:#352711;--bad:#ff8fa5;--bad-bg:#3b1623;--info:#8db7ff;--info-bg:#14264a;
  --sh-xs:0 1px 2px rgb(0 0 0 / .4);--sh:0 1px 2px rgb(0 0 0 / .35),0 10px 28px -14px rgb(0 0 0 / .6);--sh-md:0 18px 44px -16px rgb(0 0 0 / .7);--sh-lg:0 30px 80px -20px rgb(0 0 0 / .8);
  --hero:linear-gradient(135deg,color-mix(in srgb,var(--brand) 42%,#0b0914) 0%,color-mix(in srgb,var(--brand) 55%,#0b0914) 55%,color-mix(in srgb,var(--brand) 45%,#7a2f8e) 100%);
}
:root{--black:#000}

@layer base{
/* 2 ─ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.hcp-body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;
  background-image:radial-gradient(900px 500px at 100% -10%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 60%),radial-gradient(700px 420px at -10% 110%,color-mix(in srgb,var(--lime) 14%,transparent),transparent 60%);background-attachment:fixed}
:root[data-theme=dark]{color-scheme:dark}
h1,h2,h3,h4,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.15;font-weight:700}
a{color:inherit}button{font:inherit;color:inherit}img{max-width:100%}
small{font-size:var(--fs-s)}
::selection{background:var(--brand);color:var(--on-brand)}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-xs)}
.hcp-i{width:18px;height:18px;flex:none}
.hcp-dim,.pr-muted{color:var(--muted)}.hcp-muted-s{color:var(--muted);font-size:var(--fs-xs)}.hcp-muted{color:var(--muted)}
.hcp-warn-t{color:var(--warn)}
.hcp-eyebrow{display:block;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--brand-700);margin-bottom:var(--sp-2)}
.hcp-help{font-size:var(--fs-s);color:var(--muted);margin-top:var(--sp-3)}
.hcp-link,.pr-link,.pr-textbtn{color:var(--brand-700);font-weight:700;font-size:var(--fs-m);text-decoration:none;display:inline-flex;align-items:center;gap:var(--sp-1);background:none;border:0;cursor:pointer;padding:0}
.hcp-link .hcp-i{width:15px;height:15px;transition:transform var(--dur) var(--ease)}.hcp-link:hover .hcp-i{transform:translateX(3px)}.hcp-link:hover{text-decoration:underline;text-underline-offset:3px}
.hcp-back{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--muted);text-decoration:none;font-weight:700;font-size:var(--fs-m);margin-bottom:var(--sp-4)}.hcp-back:hover{color:var(--brand-700)}
.hcp-code,code{font:600 .88em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-3);padding:2px var(--sp-2);border-radius:var(--r-xs)}

.hcp-stack{display:flex;flex-direction:column;gap:var(--sp-4)}.hcp-narrow{max-width:760px}.hcp-pad{padding:var(--sp-6)}.hcp-flush{padding:0;overflow:hidden}
@keyframes hcp-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hcp-spin{to{transform:rotate(360deg)}}
@keyframes hcp-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes hcp-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 40%,transparent)}50%{box-shadow:0 0 0 8px transparent}}


/* form controls (element defaults — overridden by any component class) */
.hcp-body input[type=text],.hcp-body input[type=email],.hcp-body input[type=password],.hcp-body input[type=number],.hcp-body input[type=tel],.hcp-body input[type=url],.hcp-body input[type=date],.hcp-body input[type=time],.hcp-body input[type=search],.hcp-body input[type=datetime-local],.hcp-body select,.hcp-body textarea{
  width:100%;min-height:var(--control-h);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:500 var(--fs-base)/1.4 var(--font);transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast);-webkit-appearance:none;appearance:none}
.hcp-body textarea{min-height:100px;resize:vertical;line-height:1.55}
.hcp-body select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379738f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:17px;padding-right:var(--sp-10)}
.hcp-body input:hover,.hcp-body select:hover,.hcp-body textarea:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.hcp-body input:focus,.hcp-body select:focus,.hcp-body textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring);background:var(--surface)}
.hcp-body input::placeholder,.hcp-body textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}

}

@layer components{
/* 3 ─ buttons */
.hcp-btn,.hcp-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--btn-h);padding:0 var(--sp-5);border-radius:var(--r-pill);border:1px solid transparent;font-weight:700;font-size:var(--fs-m);line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur),background var(--dur),border-color var(--dur),color var(--dur)}
.hcp-btn .hcp-i,.hcp-primary .hcp-i{width:17px;height:17px}
.hcp-btn:active:not(:disabled),.hcp-primary:active:not(:disabled){transform:scale(.97)}
.hcp-btn.is-primary,.hcp-primary{background:var(--brand);color:var(--on-brand);box-shadow:0 10px 22px -10px color-mix(in srgb,var(--brand) 80%,var(--black)),inset 0 1px 0 var(--w-20)}
.hcp-btn.is-primary:hover:not(:disabled),.hcp-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 14px 26px -10px color-mix(in srgb,var(--brand) 85%,var(--black))}
:root[data-theme=dark] .hcp-btn.is-primary:hover:not(:disabled),:root[data-theme=dark] .hcp-primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 80%,var(--white))}
.hcp-btn.is-secondary{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--sh-xs)}
.hcp-btn.is-secondary:hover:not(:disabled){border-color:var(--brand);color:var(--brand-700);transform:translateY(-1px)}
.hcp-btn.is-ghost{background:transparent;color:var(--ink-2)}.hcp-btn.is-ghost:hover{background:var(--surface-3);color:var(--ink)}
.hcp-btn.is-light{background:var(--white);color:var(--brand-deep);box-shadow:0 10px 24px -12px rgb(var(--shadow-rgb) / .5)}.hcp-btn.is-light:hover:not(:disabled){transform:translateY(-1px)}
.hcp-btn.is-glass{background:var(--w-16);color:var(--on-hero);border-color:var(--w-30);backdrop-filter:blur(8px)}.hcp-btn.is-glass:hover{background:var(--w-25)}
.hcp-btn.is-danger{background:var(--bad);color:var(--white)}
.hcp-btn.is-sm{min-height:var(--btn-h-sm);padding:0 var(--sp-4);font-size:var(--fs-s)}.hcp-btn.is-lg{min-height:var(--btn-h-lg);padding:0 var(--sp-7);font-size:var(--fs-l)}
.hcp-btn.is-block,.hcp-btn.is-wide{width:100%}
.hcp-btn:disabled,.hcp-primary:disabled{opacity:.5;cursor:not-allowed}
.hcp-btn.is-loading,.hcp-btn.is-busy,.hcp-primary.is-loading{pointer-events:none;color:transparent}
.hcp-btn.is-loading::after,.hcp-btn.is-busy::after,.hcp-primary.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2.5px solid var(--w-40);border-top-color:var(--white);animation:hcp-spin var(--dur-slower) linear infinite}
.hcp-btn.is-secondary.is-loading::after,.hcp-btn.is-ghost.is-loading::after{border-color:var(--line);border-top-color:var(--brand)}
.hcp-iconbtn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;position:relative;text-decoration:none;transition:var(--dur-fast) var(--ease)}
.hcp-iconbtn:hover{border-color:var(--brand);color:var(--brand-700);transform:translateY(-1px)}
.hcp-action,.hcp-inline-action{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-s);color:var(--ink-2);background:none;border:0;cursor:pointer;padding:var(--sp-2) var(--sp-2);border-radius:var(--r-s);text-decoration:none}
.hcp-action:hover,.hcp-inline-action:hover{background:var(--brand-50);color:var(--brand-700)}
.hcp-action-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-s);padding:0}
.hcp-action-delete:hover{background:var(--bad-bg);color:var(--bad)}
.hcp-row-actions,.hcp-rowbtns,.hcp-card-actions{display:flex;gap:var(--sp-2);align-items:center}

/* 4 ─ forms */
.hcp-field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4);min-width:0}
.hcp-field>span,.hcp-field>label,.hcp-field-label{font-size:var(--fs-s);font-weight:700;color:var(--ink-2);letter-spacing:.01em}
.hcp-field small,.hcp-field .hcp-help{color:var(--muted);font-weight:500;margin:0}
.hcp-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-4)}.hcp-fgrid .is-wide,.hcp-fgrid .hcp-field.is-wide{grid-column:1/-1}
.hcp-select-sm{min-height:36px;padding:var(--sp-2) var(--sp-10) var(--sp-2) var(--sp-3);font-size:var(--fs-s);border-radius:var(--r-pill);width:auto}
.hcp-body input[type=checkbox],.hcp-body input[type=radio]{width:20px;height:20px;min-height:0;padding:0;flex:none;accent-color:var(--brand);border-radius:6px;cursor:pointer}
.hcp-check{display:flex;align-items:center;gap:var(--sp-3);font-weight:600;font-size:var(--fs-m);cursor:pointer;padding:var(--sp-2) 0}
.hcp-password-wrap{position:relative;display:block}.hcp-password-wrap input{padding-right:50px}
.hcp-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:var(--r-s)}.hcp-password-toggle:hover{color:var(--brand-700);background:var(--brand-50)}.hcp-password-toggle svg{width:19px;height:19px}
.hcp-search{position:relative;flex:1 1 280px;display:block}.hcp-search .hcp-i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;width:17px;height:17px}.hcp-search input{padding-left:var(--sp-12);border-radius:var(--r-pill)}
.hcp-switchrow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-4);border:1.5px solid var(--line);border-radius:var(--r-m);background:var(--surface);cursor:pointer;position:relative;margin-bottom:var(--sp-3)}
.hcp-switchrow input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.hcp-switchui,.pr-switch-ui{position:relative;flex:none;width:46px;height:28px;border-radius:var(--r-pill);background:var(--line);transition:background var(--dur)}
.hcp-switchui::after,.pr-switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 2px 6px rgb(var(--shadow-rgb) / .25);transition:transform var(--dur) var(--ease)}
.hcp-switchrow input:checked~.hcp-switchui,.pr-switch input:checked~.pr-switch-ui,input:checked+.hcp-switchui,input:checked+.pr-switch-ui{background:var(--brand)}
.hcp-switchrow input:checked~.hcp-switchui::after,.pr-switch input:checked~.pr-switch-ui::after,input:checked+.hcp-switchui::after,input:checked+.pr-switch-ui::after{transform:translateX(18px)}
.hcp-switchrow:has(input:checked){border-color:var(--brand);background:var(--brand-50)}
.pr-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);cursor:pointer;position:relative}.pr-switch input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.hcp-seg,.pr-seg{display:inline-flex;gap:3px;padding:var(--sp-1);border-radius:var(--r-pill);background:var(--surface-3);max-width:100%;overflow-x:auto;scrollbar-width:none}.hcp-seg::-webkit-scrollbar,.pr-seg::-webkit-scrollbar{display:none}
.hcp-seg button,.hcp-seg a,.pr-seg button{border:0;background:none;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-s);color:var(--muted);cursor:pointer;text-decoration:none;white-space:nowrap;transition:var(--dur) var(--ease)}
.hcp-seg .is-on,.pr-seg .is-on{background:var(--surface);color:var(--brand-700);box-shadow:var(--sh-xs)}
.hcp-error,.hcp-formerr,.pp-err,.pr-notice.is-error,.notice-error{background:var(--bad-bg);color:var(--bad);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-weight:600;font-size:var(--fs-m)}
.hcp-success,.pr-notice.is-success,.notice-success{background:var(--ok-bg);color:var(--ok);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-weight:600;font-size:var(--fs-m)}
.hcp-body input.is-bad,.hcp-body select.is-bad,.hcp-body textarea.is-bad{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 20%,transparent)}
.hcp-rich-toolbar{display:flex;gap:var(--sp-1);padding:var(--sp-2);border:1.5px solid var(--line);border-bottom:0;border-radius:var(--r-m) var(--r-m) 0 0;background:var(--surface-2);flex-wrap:wrap}
.hcp-rich-btn{min-width:34px;height:34px;border:0;background:none;border-radius:var(--r-xs);font-weight:800;cursor:pointer;color:var(--ink-2)}.hcp-rich-btn:hover{background:var(--brand-50);color:var(--brand-700)}
.hcp-rich-spacer{flex:1}.hcp-rich-editor{min-height:140px;padding:var(--sp-4) var(--sp-4);border:1.5px solid var(--line);border-radius:0 0 var(--r-m) var(--r-m);background:var(--surface);outline:none}.hcp-rich-editor:focus{border-color:var(--brand);box-shadow:var(--ring)}.hcp-rich-field textarea{display:none}.hcp-editor-help{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-2)}
.hcp-datebox{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:60px;border-radius:var(--r-m);background:var(--brand-50);color:var(--brand-700)}.hcp-datebox b{font:800 var(--fs-2xl)/1 var(--display)}.hcp-datebox small{text-transform:uppercase;font-size:var(--fs-2xs);letter-spacing:.1em;font-weight:800}
.hcp-timebox{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:var(--sp-3) var(--sp-2);border-radius:var(--r-m);background:var(--brand-50);color:var(--brand-700);font-size:var(--fs-s)}.hcp-timebox b{font-weight:800}.hcp-timebox.is-web{background:var(--lime);color:var(--lime-ink)}

/* 5 ─ badges, pills, avatars */
.hcp-pill,.hcp-flag,.pr-chip,.hcp-chip,.hcp-tag,.pr-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;background:var(--neutral-bg);color:var(--ink-2);white-space:nowrap;line-height:1.3}
.hcp-pill i,.hcp-dot,.hcp-dotbadge{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.hcp-pill.is-success,.hcp-flag.is-success,.pr-chip.is-success{background:var(--ok-bg);color:var(--ok)}
.hcp-pill.is-warning,.hcp-flag.is-warning,.pr-chip.is-warning,.hcp-pill.is-warn{background:var(--warn-bg);color:var(--warn)}
.hcp-pill.is-danger,.hcp-flag.is-danger,.pr-chip.is-danger,.hcp-pill.is-bad{background:var(--bad-bg);color:var(--bad)}
.hcp-pill.is-info,.hcp-flag.is-info,.pr-chip.is-info{background:var(--info-bg);color:var(--info)}
.hcp-pill.is-brand,.hcp-chip.is-on,.hcp-tag{background:var(--brand-50);color:var(--brand-700)}
.hcp-dot.is-success{background:var(--ok)}.hcp-dot.is-warning{background:var(--sun)}.hcp-dot.is-danger{background:var(--bad)}.hcp-dot.is-info{background:var(--info)}.hcp-dot.is-neutral{background:var(--line)}
.hcp-chips,.hcp-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.hcp-chip{cursor:pointer;border:1.5px solid transparent}.hcp-chip:hover{border-color:var(--brand)}
.hcp-badge,.pr-bottom em,.pr-side em,.pr-bell em{min-width:20px;height:20px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--pink);color:var(--white);font:800 var(--fs-2xs)/20px var(--font);font-style:normal;text-align:center;display:inline-block}
.hcp-iconbtn .hcp-badge,.pr-bell em{position:absolute;top:-5px;right:-5px;border:2px solid var(--bg)}
.hcp-avatar-chip{display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;font:800 var(--fs-s) var(--font);width:40px;height:40px;color:hsl(var(--h,260) 55% 28%);background:linear-gradient(135deg,hsl(var(--h,260) 85% 90%),hsl(calc(var(--h,260) + 40) 85% 82%))}
.hcp-avatar-chip img{width:100%;height:100%;object-fit:cover}.hcp-avatar-chip.is-sm{width:34px;height:34px;font-size:var(--fs-xs)}.hcp-avatar-chip.is-md{width:44px;height:44px;font-size:var(--fs-m)}.hcp-avatar-chip.is-lg{width:76px;height:76px;font-size:var(--fs-4xl)}
:root[data-theme=dark] .hcp-avatar-chip{color:hsl(var(--h,260) 80% 88%);background:linear-gradient(135deg,hsl(var(--h,260) 40% 28%),hsl(calc(var(--h,260) + 40) 40% 22%))}
.hcp-mood{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--r-m);font-size:var(--fs-3xl);background:var(--neutral-bg)}.hcp-mood.is-success{background:var(--ok-bg)}.hcp-mood.is-warning{background:var(--warn-bg)}.hcp-mood.is-danger{background:var(--bad-bg)}
.hcp-brand{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;min-width:0}
.hcp-brand-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:var(--r-m);background:var(--lime);color:var(--lime-ink);font:800 var(--fs-l) var(--display);box-shadow:0 8px 20px -8px var(--lime-glow)}
.hcp-brand-name{display:flex;flex-direction:column;min-width:0;line-height:1.2}.hcp-brand-name b{font:700 var(--fs-xl) var(--display);letter-spacing:-.02em}.hcp-brand-name small{font-size:var(--fs-xs);opacity:.65}
.hcp-brand-img,.hcp-brand-logoonly img{max-height:40px;max-width:170px;width:auto;object-fit:contain}.hcp-brand-logoonly{display:flex;align-items:center}.hcp-logo-d{display:none}
:root[data-theme=dark] .hcp-logo-l{display:none}:root[data-theme=dark] .hcp-logo-d{display:inline}.hcp-brand-img.is-silhouette{filter:brightness(0) invert(1)}
.hcp-flags,.hcp-arow-flags,.hcp-ccard-flags{display:flex;gap:var(--sp-2);flex-wrap:wrap}.hcp-attn{display:flex;gap:var(--sp-2);align-items:center}


/* 6 ─ cards & lists */
.hcp-card,.pr-card,.hcpa-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-6);box-shadow:var(--sh);position:relative;animation:hcp-rise var(--dur-slower) var(--ease) both}
.hcp-card.hcp-flush{padding:0}
.hcp-card-head,.pr-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.hcp-card-head h2,.pr-card-h h2{font-size:var(--fs-xl)}.hcp-card-head p,.pr-card-h small{font-size:var(--fs-s);color:var(--muted);margin-top:3px}
.pr-card-h .hcp-i{color:var(--brand-700);width:22px;height:22px}
.hcp-list{display:flex;flex-direction:column}
.hcp-list>li,.hcp-arow,.hcp-srow,.hcp-trow{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--line-2)}
.hcp-list>li:first-child{border-top:0;padding-top:2px}
.hcp-who{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;min-width:0;flex:1}
.hcp-who b,.hcp-trow-main b{display:block;font-weight:700;font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis}
.hcp-who small,.hcp-trow-main small{display:block;color:var(--muted);font-size:var(--fs-s);overflow:hidden;text-overflow:ellipsis}
.hcp-trow-main{flex:1;min-width:0}.hcp-trow-side{display:flex;align-items:center;gap:var(--sp-2);flex:none}
.hcp-empty,.pr-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-5);color:var(--muted)}
.hcp-empty b,.pr-empty b{color:var(--ink);font:700 var(--fs-l) var(--display)}.hcp-empty p,.pr-empty p{font-size:var(--fs-m);max-width:34ch}
.hcp-empty-ico,.pr-empty>i{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--r);background:linear-gradient(135deg,var(--brand-50),var(--brand-100));color:var(--brand-700);margin-bottom:var(--sp-2);font-style:normal}
.hcp-empty-ico svg,.pr-empty>i svg{width:28px;height:28px}
.hcp-timeline{position:relative;display:flex;flex-direction:column;gap:var(--sp-5);padding-left:var(--sp-1)}
.hcp-timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line);border-radius:2px}
.hcp-timeline li{display:flex;gap:var(--sp-4);position:relative}.hcp-timeline li>i{flex:none;width:12px;height:12px;border-radius:50%;background:var(--brand);border:3px solid var(--surface);box-shadow:0 0 0 2px var(--brand-100);margin-top:var(--sp-1);z-index:1}
.hcp-timeline li.is-client>i{background:var(--lime);box-shadow:0 0 0 2px var(--lime-ink)}.hcp-timeline p{font-size:var(--fs-m)}.hcp-timeline small{color:var(--muted);font-size:var(--fs-xs)}
.hcp-notes{display:grid;gap:var(--sp-3)}.hcp-note,.hcp-pinned{padding:var(--sp-4);border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--line)}.hcp-pinned{background:var(--warn-bg);border-color:transparent;display:flex;gap:var(--sp-3)}
.hcp-note-top,.hcp-notes-s{display:flex;gap:var(--sp-3);align-items:center;justify-content:space-between}
.hcp-dl{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5)}.hcp-dl dt,.hcp-dl small{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.hcp-dl dd,.hcp-dl b{margin:2px 0 0;font-weight:700}
.submission-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}.submission-field{padding:var(--sp-4);border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--line)}.submission-field span{display:block;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.submission-empty{color:var(--muted)}

/* 7 ─ tables */
.hcp-table-wrap,.table-wrap{overflow-x:auto;border-radius:var(--r-m);-webkit-overflow-scrolling:touch}
.hcp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-m)}
.hcp-table th{position:sticky;top:0;background:var(--surface-2);text-align:left;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);white-space:nowrap}
.hcp-table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-2);vertical-align:middle}
.hcp-table tbody tr{transition:background var(--dur-fast)}.hcp-table tbody tr:hover{background:color-mix(in srgb,var(--brand) 4%,var(--surface))}
.hcp-table tr.is-sel{background:var(--brand-50)}.hcp-table tr:last-child td{border-bottom:0}

/* 8 ─ menus & overlays */
.hcp-menu{position:relative;display:inline-block}
.hcp-menu-pop,.hcp-pop,.pr-bellpop,.pr-moremenu{position:absolute;z-index:var(--z-nav);min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-lg);padding:var(--sp-2);animation:hcp-pop var(--dur) var(--ease)}
.hcp-menu-pop{top:calc(100% + 10px);left:0;transform-origin:top left}.hcp-menu-pop.right{left:auto;right:0;transform-origin:top right}
.hcp-menu-pop a,.hcp-menu-pop button{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:0;background:none;border-radius:var(--r-s);font-weight:600;font-size:var(--fs-m);cursor:pointer;text-decoration:none;text-align:left;color:var(--ink)}
.hcp-menu-pop a:hover,.hcp-menu-pop button:hover{background:var(--brand-50);color:var(--brand-700)}.hcp-menu-pop hr{border:0;height:1px;background:var(--line);margin:var(--sp-2) var(--sp-2)}.hcp-menu-pop .hcp-i{color:var(--muted)}
.hcp-popwrap{position:relative}.hcp-pop{top:calc(100% + 10px);right:0;width:min(380px,92vw);padding:0;overflow:hidden}
.hcp-pop-head{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}.hcp-pop-list{max-height:380px;overflow:auto}.hcp-pop-empty{padding:var(--sp-8);text-align:center;color:var(--muted)}
.hcp-pop-foot{display:block;text-align:center;padding:var(--sp-4);font-weight:700;color:var(--brand-700);text-decoration:none;border-top:1px solid var(--line);background:var(--surface-2)}
.hcp-scrim{display:none;position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim);backdrop-filter:blur(3px)}.hcp-scrim.is-open{display:block}
.hcp-drawer{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;justify-content:flex-end;background:var(--scrim);backdrop-filter:blur(4px);animation:hcp-fade var(--dur) both}
@keyframes hcp-fade{from{opacity:0}to{opacity:1}}@keyframes hcp-slide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.hcp-drawer[hidden]{display:none}.hcp-drawer>form,.hcp-drawer>div,.hcp-drawer>aside{width:min(520px,100%);height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:var(--sh-lg);border-radius:var(--r-xl) 0 0 var(--r-xl);animation:hcp-slide var(--dur-slow) var(--ease) both}
.hcp-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-6) var(--sp-7) var(--sp-5);border-bottom:1px solid var(--line)}.hcp-drawer-head h2{font-size:var(--fs-3xl)}.hcp-drawer-head p{color:var(--muted);font-size:var(--fs-m)}
.hcp-drawer-body{flex:1;overflow:auto;padding:var(--sp-6) var(--sp-7)}.hcp-drawer-foot{display:flex;gap:var(--sp-3);justify-content:flex-end;padding:var(--sp-4) var(--sp-7) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-2)}
.hcp-palette{position:fixed;inset:0;z-index:var(--z-palette);display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--sp-4) var(--sp-4);background:var(--scrim);backdrop-filter:blur(6px)}
.hcp-pal{width:min(640px,100%);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-lg);overflow:hidden;animation:hcp-pop var(--dur) var(--ease)}
.hcp-pal-in{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-6);border-bottom:1px solid var(--line);color:var(--muted)}.hcp-pal-in input{border:0;box-shadow:none;background:none;font-size:var(--fs-xl);min-height:58px;padding:0}
.hcp-pal-list{max-height:52vh;overflow:auto;padding:var(--sp-3)}.hcp-pal-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);cursor:pointer;font-weight:600;border:0;background:none;width:100%;text-align:left}
.hcp-pal-item.is-on,.hcp-pal-item:hover{background:var(--brand-50);color:var(--brand-700)}.hcp-pal-foot{display:flex;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2)}
kbd{font:700 var(--fs-2xs) var(--font);padding:3px var(--sp-2);border-radius:var(--r-xs);background:var(--surface-3);border:1px solid var(--line);color:var(--muted)}
.hcp-confirm{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-5);background:var(--scrim);backdrop-filter:blur(4px)}
.hcp-confirm-box{width:min(420px,100%);background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-7);box-shadow:var(--sh-lg);animation:hcp-pop var(--dur) var(--ease)}.hcp-confirm-box h3{font-size:var(--fs-2xl);margin-bottom:var(--sp-2)}.hcp-confirm-box p{color:var(--ink-2)}.hcp-confirm-box>div{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-6)}
#hcp-toast{position:fixed;z-index:var(--z-toast);right:22px;bottom:22px;display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-end}
.hcp-toast,.pr-toast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);background:var(--side-bg);color:var(--on-dark);font-weight:600;font-size:var(--fs-m);box-shadow:var(--sh-lg);animation:hcp-slide var(--dur-slow) var(--ease) both;max-width:380px}
.hcp-toast svg{width:20px;height:20px;color:var(--lime);flex:none}.hcp-toast.is-err svg{color:var(--bad-bright)}.pr-toast{transition:var(--dur)}.pr-toast.is-bad{background:var(--bad)}.pr-toast.is-out{opacity:0;transform:translateY(8px)}
.hcp-bulkbar{position:sticky;bottom:16px;z-index:var(--z-raised);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-top:var(--sp-4);border-radius:var(--r);background:var(--side-bg);color:var(--on-dark);box-shadow:var(--sh-lg)}

/* 9 ─ charts & bars */
.hcp-chartbox{padding:var(--sp-2) 0}.hcp-trend{margin-top:var(--sp-2)}.hcp-trend svg,.hcp-chartbox svg{width:100%;height:auto;display:block}
.hcp-chart{color:var(--brand);overflow:visible}.hcp-chart text{fill:var(--muted);font:600 var(--fs-2xs) var(--font)}.hcp-chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 6}
.hcp-chart .line,.hcp-spark .line{stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke}
.hcp-chart .dot,.hcp-spark .dot{fill:var(--surface);stroke:currentColor;stroke-width:2.5}.hcp-chart .dot.is-last{fill:currentColor;stroke:var(--surface);stroke-width:2.5}
.hcp-chart .halo,.hcp-spark .halo{fill:currentColor;opacity:.16;animation:hcp-pulse 2.4s ease-in-out infinite}.hcp-chart .hit{fill:transparent}
.hcp-spark{color:var(--brand);overflow:visible;max-width:100%}.hcp-spark.is-success{color:var(--ok)}.hcp-spark.is-warning{color:var(--warn)}.hcp-spark.is-danger{color:var(--bad)}
.hcp-ring{position:relative;display:inline-grid;place-items:center;flex:none;color:var(--brand);width:var(--s,64px);height:var(--s,64px)}.hcp-ring svg{position:absolute;inset:0;width:100%;height:100%}
.hcp-ring .bg{fill:none;stroke:var(--surface-3)}.hcp-ring .fg{fill:none;transition:stroke-dashoffset 1s var(--ease)}
.hcp-ring b{position:relative;font:800 max(11px,calc(var(--s,64px) * .26)) var(--display);font-variant-numeric:tabular-nums}.hcp-ring b small{font-size:.6em;opacity:.6}
.hcp-ring.is-success{color:var(--ok)}.hcp-ring.is-warning{color:var(--amber)}.hcp-ring.is-danger{color:var(--bad)}.hcp-ring.is-neutral{color:var(--muted)}
.hcp-bar{display:block;height:10px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}
.hcp-bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--pink));transition:width var(--dur-slower) var(--ease);position:relative}
.hcp-bar>i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--w-40),transparent);animation:hcp-shine 2.6s infinite}
@keyframes hcp-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.hcp-progress{display:flex;flex-direction:column;gap:var(--sp-2)}.hcp-progress small,.hcp-planbar small{color:var(--muted);font-weight:600}
.hcp-mixbar{display:flex;gap:var(--sp-1);height:16px;margin:var(--sp-1) 0 var(--sp-4)}.hcp-mixbar i{border-radius:var(--r-pill);min-width:10px;transition:flex var(--dur-slower) var(--ease)}
.hcp-mixbar i.is-success{background:linear-gradient(90deg,var(--ok-bright),var(--ok))}.hcp-mixbar i.is-warning{background:linear-gradient(90deg,var(--amber-soft),var(--amber))}.hcp-mixbar i.is-danger{background:linear-gradient(90deg,var(--bad-bright),var(--bad))}.hcp-mixbar i.is-neutral{background:var(--line)}
.hcp-mixkey{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);font-size:var(--fs-s);color:var(--ink-2)}.hcp-mixkey span{display:inline-flex;align-items:center;gap:var(--sp-2)}.hcp-mixkey b{color:var(--ink)}
.hcp-vol{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px dashed var(--line)}.hcp-vol small{display:block;color:var(--muted);font-weight:700;margin-bottom:var(--sp-3)}
.hcp-bars{display:flex;align-items:flex-end;gap:var(--sp-2);height:84px}.hcp-bars i{flex:1;border-radius:var(--r-xs) var(--r-xs) 4px 4px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 35%,transparent));min-height:6px;transition:var(--dur-slow) var(--ease)}.hcp-bars i:hover{filter:brightness(1.15);transform:scaleY(1.04);transform-origin:bottom}
.hcp-bars i:last-child{background:linear-gradient(180deg,var(--lime),color-mix(in srgb,var(--lime) 40%,transparent))}
.hcp-revbars{display:flex;align-items:flex-end;gap:var(--sp-4);height:210px;padding-top:var(--sp-2)}.hcp-revbar{flex:1;display:flex;flex-direction:column;gap:var(--sp-3);height:100%}
.hcp-revcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:var(--sp-2)}
.hcp-revcol b{font-size:var(--fs-xs);font-weight:800;color:var(--ink-2);white-space:nowrap}.hcp-revcol i{width:100%;max-width:64px;border-radius:var(--r-m) var(--r-m) var(--r-xs) var(--r-xs);background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 40%,transparent));transition:var(--dur-slow) var(--ease);box-shadow:inset 0 1px 0 var(--w-30)}
.hcp-revbar:last-child .hcp-revcol i{background:linear-gradient(180deg,var(--lime),color-mix(in srgb,var(--lime) 50%,transparent))}.hcp-revbar:hover .hcp-revcol i{filter:brightness(1.1)}
.hcp-revbar>span{text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--muted)}
.hcp-revsum{text-align:right}.hcp-revsum b{display:block;font:800 var(--fs-4xl) var(--display);letter-spacing:-.02em}.hcp-revsum small{color:var(--muted)}
.hcp-metric-sum,.pr-metricsum{display:flex;gap:var(--sp-8);margin-bottom:var(--sp-3);flex-wrap:wrap}.hcp-metric-sum small,.pr-metricsum small{display:block;color:var(--muted);font-weight:700;font-size:var(--fs-xs)}.hcp-metric-sum b,.pr-metricsum b{font:800 var(--fs-3xl) var(--display)}

}

@layer pages{

/* 10 ─ coach shell: floating dark rail + glass top bar */
.hcp-app{display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:0;min-height:100vh;min-height:100dvh;padding:var(--sp-4);column-gap:var(--sp-5);transition:grid-template-columns var(--dur-slow) var(--ease)}
body.hcp-collapsed .hcp-app{--side:86px}
.hcp-side{position:sticky;top:14px;height:calc(100vh - 28px);height:calc(100dvh - 28px);display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5) var(--sp-4);border-radius:var(--r-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--side-bg) 86%,var(--brand)) 0%,var(--side-bg) 62%);color:var(--side-ink);overflow:hidden auto;box-shadow:var(--sh-md);scrollbar-width:none}
.hcp-side::-webkit-scrollbar{display:none}.hcp-side::before{content:"";position:absolute;inset:-40% -30% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 55%,transparent),transparent 70%);pointer-events:none}
.hcp-side .hcp-brand{color:var(--on-dark)}.hcp-side-top{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-2);position:relative}.hcp-side-top .hcp-brand{flex:1}
.hcp-side .hcp-iconbtn{background:var(--side-hover);border-color:transparent;color:var(--side-ink);width:36px;height:36px;border-radius:var(--r-s)}.hcp-side .hcp-iconbtn:hover{background:var(--w-14);color:var(--on-dark)}
.hcp-sideclose{display:none}
.hcp-sidesearch{display:flex;align-items:center;gap:var(--sp-3);margin:0 var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);border:1px solid var(--side-line);background:var(--side-hover);color:var(--side-dim);cursor:pointer;font-weight:600;font-size:var(--fs-m);position:relative}.hcp-sidesearch span{flex:1;text-align:left}.hcp-sidesearch:hover{color:var(--on-dark);border-color:var(--w-20)}
.hcp-side kbd{background:var(--w-10);border-color:transparent;color:var(--side-dim)}
.hcp-side nav{display:flex;flex-direction:column;gap:var(--sp-5);flex:1;position:relative}
.hcp-navgroup{display:flex;flex-direction:column;gap:3px}.hcp-navgroup small{padding:0 var(--sp-4) var(--sp-2);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.16em;color:var(--side-dim);font-weight:800}
.hcp-navlink{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);color:var(--side-ink);text-decoration:none;font-weight:600;font-size:var(--fs-base);position:relative;transition:var(--dur) var(--ease)}
.hcp-navlink i{display:grid;place-items:center;width:22px;height:22px;flex:none}.hcp-navlink i svg,.hcp-navlink i img{width:20px;height:20px}.hcp-navlink span{flex:1;white-space:nowrap}
.hcp-navlink:hover{background:var(--side-hover);color:var(--on-dark);transform:translateX(2px)}
.hcp-navlink.is-on{background:var(--brand);color:var(--on-brand);font-weight:800;box-shadow:0 12px 24px -12px var(--brand-glow)}.hcp-navlink.is-on .hcp-badge{background:var(--lime);color:var(--lime-ink)}.hcp-navlink.is-on:hover{transform:none}
.hcp-side-bottom{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);margin:0 2px;border-radius:var(--r-l);background:var(--side-hover);position:relative}
.hcp-me{display:flex;align-items:center;gap:var(--sp-3);flex:1;min-width:0;color:var(--on-dark)}.hcp-me>span:last-child{min-width:0}.hcp-me b{display:block;font-size:var(--fs-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcp-me small{color:var(--side-dim);font-size:var(--fs-xs)}
body.hcp-collapsed .hcp-navlink span,body.hcp-collapsed .hcp-navgroup small,body.hcp-collapsed .hcp-sidesearch span,body.hcp-collapsed .hcp-sidesearch kbd,body.hcp-collapsed .hcp-brand-name,body.hcp-collapsed .hcp-me>span:last-child,body.hcp-collapsed .hcp-side-bottom>.hcp-iconbtn,body.hcp-collapsed .hcp-brand-img{display:none}
body.hcp-collapsed .hcp-navlink,body.hcp-collapsed .hcp-sidesearch{justify-content:center;padding-inline:0}body.hcp-collapsed .hcp-side-top{flex-direction:column}body.hcp-collapsed .hcp-collapse{transform:rotate(180deg)}
.hcp-main{display:flex;flex-direction:column;min-width:0}
.hcp-top{position:sticky;top:14px;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-6);margin-bottom:var(--sp-6);border-radius:var(--r);background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(18px) saturate(1.4);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--sh-xs)}
.hcp-top-l,.hcp-top-r{display:flex;align-items:center;gap:var(--sp-3)}.hcp-crumb{display:flex;flex-direction:column;line-height:1.2}.hcp-crumb small{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}.hcp-crumb b{font:700 var(--fs-2xl) var(--display);letter-spacing:-.02em}
.hcp-menu-btn{display:none}.hcp-topsearch{display:flex;align-items:center;gap:var(--sp-3);min-width:220px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-weight:600;font-size:var(--fs-m)}.hcp-topsearch span{flex:1;text-align:left}.hcp-topsearch:hover{border-color:var(--brand);color:var(--brand-700)}
.hcp-avatarbtn{border:0;background:none;padding:0;cursor:pointer;border-radius:50%;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--brand-100)}
.hcp-content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding-bottom:var(--sp-10);display:flex;flex-direction:column;gap:var(--sp-6)}
.hcp-mobnav{display:none}

/* 11 ─ coach pages */
.hcp-dash{display:flex;flex-direction:column;gap:var(--sp-6)}
.hcp-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap;padding:var(--sp-10) var(--sp-10);border-radius:var(--r-2xl);background:var(--hero);color:var(--on-hero);position:relative;overflow:hidden;box-shadow:0 30px 60px -28px var(--brand-glow)}
.hcp-hero::before,.hcp-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hcp-hero::before{width:340px;height:340px;right:-80px;top:-140px;background:radial-gradient(circle,var(--lime-glow),transparent 68%)}.hcp-hero::after{width:260px;height:260px;left:32%;bottom:-170px;background:radial-gradient(circle,var(--pink-glow),transparent 70%)}
.hcp-hero>*{position:relative;z-index:1}.hcp-hero .hcp-eyebrow{color:var(--lime)}.hcp-hero h1{font-size:clamp(28px,3.4vw,42px);margin-bottom:var(--sp-2)}.hcp-hero p{opacity:.88;max-width:52ch;font-size:var(--fs-l)}.hcp-hero b{color:var(--lime)}
.hcp-hero-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.hcp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}.hcp-kpis.is-5{grid-template-columns:repeat(5,minmax(0,1fr))}.hcp-kpis.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hcp-kpi{display:grid;grid-template-columns:minmax(0,1fr);align-content:end;min-height:148px;padding:var(--sp-5) var(--sp-6);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);position:relative;text-decoration:none;overflow:hidden;transition:var(--dur) var(--ease);animation:hcp-rise var(--dur-slower) var(--ease) both}
a.hcp-kpi:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--brand-100)}
.hcp-kpi::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:var(--tone-bg,var(--brand-50));opacity:.7}
.hcp-kpi-body{display:contents}.hcp-kpi small{font-size:var(--fs-s);font-weight:700;color:var(--muted);position:relative;z-index:1;order:1;padding-right:52px}
.hcp-kpi b{font:800 clamp(26px,2.3vw,36px)/1.05 var(--display);letter-spacing:-.03em;margin:var(--sp-2) 0 var(--sp-1);position:relative;z-index:1;order:2}.hcp-kpi em{font-style:normal;font-size:var(--fs-s);color:var(--muted);position:relative;z-index:1;order:3}
.hcp-kpi-ico{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-m);background:var(--tone-bg,var(--brand-50));color:var(--tone,var(--brand));z-index:1}.hcp-kpi-ico svg{width:20px;height:20px}
.hcp-kpi.is-info{--tone:var(--info);--tone-bg:var(--info-bg)}.hcp-kpi.is-warn{--tone:var(--warn);--tone-bg:var(--warn-bg)}.hcp-kpi.is-danger{--tone:var(--bad);--tone-bg:var(--bad-bg)}.hcp-kpi.is-success{--tone:var(--ok);--tone-bg:var(--ok-bg)}
.hcp-grid2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}.hcp-col{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}.hcp-narrow .hcp-col{gap:var(--sp-5)}
.hcp-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.hcp-pagehead h1{font-size:clamp(26px,3vw,36px)}.hcp-pagehead p{color:var(--muted);margin-top:var(--sp-2)}.hcp-pagehead-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.hcp-toolbar,.hcp-toolbar-r{display:flex;align-items:center;gap:var(--sp-3) var(--sp-3);flex-wrap:wrap}.hcp-toolbar{padding:var(--sp-2) 0}.hcp-toolbar.is-inline{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}.hcp-toolbar-r{margin-left:auto}
.hcp-tabs{display:flex;gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none;width:fit-content;max-width:100%;box-shadow:var(--sh-xs)}.hcp-tabs::-webkit-scrollbar{display:none}
.hcp-tab{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border:0;background:none;border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-m);color:var(--muted);cursor:pointer;white-space:nowrap;text-decoration:none;transition:var(--dur) var(--ease)}.hcp-tab:hover{color:var(--ink)}.hcp-tab.is-on{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -8px var(--brand)}.hcp-tab .hcp-i{width:16px;height:16px}.hcp-tabpanel{animation:hcp-rise var(--dur-slow) var(--ease) both}
.hcp-cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-5)}
.hcp-ccard{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);text-decoration:none;transition:var(--dur) var(--ease);position:relative}.hcp-ccard:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--brand-100)}
.hcp-ccard-top{display:flex;align-items:center;gap:var(--sp-4)}.hcp-ccard-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px dashed var(--line);color:var(--muted);font-size:var(--fs-s)}
.hcp-board{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:var(--sp-4);overflow-x:auto;padding-bottom:var(--sp-3);align-items:start}
.hcp-bcol{background:var(--surface-3);border-radius:var(--r-xl);padding:var(--sp-4);min-height:240px;transition:var(--dur)}.hcp-bcol.is-over{background:var(--brand-50);outline:2px dashed var(--brand)}
.hcp-bcol-body{display:flex;flex-direction:column;gap:var(--sp-3)}.hcp-bcard{padding:var(--sp-4);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs);cursor:grab;transition:var(--dur) var(--ease);text-decoration:none}.hcp-bcard:hover{box-shadow:var(--sh);transform:translateY(-2px)}.hcp-bcard.is-drag{opacity:.5;transform:rotate(2deg)}.hcp-bcard-meta{display:flex;gap:var(--sp-2);align-items:center;color:var(--muted);font-size:var(--fs-s);margin-top:var(--sp-2)}.hcp-bcol-empty{display:none;padding:var(--sp-5);text-align:center;color:var(--muted);font-size:var(--fs-s)}.hcp-bcol.is-empty .hcp-bcol-empty{display:block}
.hcp-phead{padding:var(--sp-7);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);position:relative;overflow:visible}
.hcp-phead::before{content:"";position:absolute;inset:0 0 auto 0;height:90px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--hero);opacity:.95}.hcp-phead>*{position:relative}
.hcp-phead-main{display:flex;gap:var(--sp-6);align-items:flex-end;flex-wrap:wrap;padding-top:var(--sp-10)}.hcp-phead-id{flex:1 1 320px;min-width:0}.hcp-phead .hcp-avatar-chip.is-lg{width:92px;height:92px;font-size:var(--fs-5xl);border:5px solid var(--surface);box-shadow:var(--sh)}
.hcp-phead-title{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.hcp-phead-title h1{font-size:var(--fs-4xl)}.hcp-phead-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);color:var(--muted);font-size:var(--fs-m);margin-top:var(--sp-2)}.hcp-phead-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.hcp-statusbtn{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;background:none;cursor:pointer;padding:0}
.hcp-statstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-3);margin-top:var(--sp-6)}.hcp-stat{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--line-2)}
.hcp-stat small{display:block;color:var(--muted);font-size:var(--fs-xs);font-weight:700}.hcp-stat b{font:800 var(--fs-xl) var(--display)}.hcp-stat-ico,.hcp-hico,.hcp-auto-ico,.hcp-fileico{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:var(--r-m);background:var(--brand-50);color:var(--brand-700)}
.hcp-ci,.hcp-cifeed>article{padding:var(--sp-5);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line-2)}.hcp-cifeed{display:flex;flex-direction:column;gap:var(--sp-4)}.hcp-ci-top{display:flex;align-items:center;gap:var(--sp-4)}.hcp-ci-meta{display:flex;gap:var(--sp-3);color:var(--muted);font-size:var(--fs-s)}.hcp-ci-note{margin:var(--sp-3) 0;color:var(--ink-2)}.hcp-ci-actions{display:flex;gap:var(--sp-2)}.hcp-feedback{display:flex;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-m);background:var(--brand-50);color:var(--ink-2);margin-top:var(--sp-3)}
.hcp-habits,.hcp-habitlist{display:flex;flex-direction:column;gap:var(--sp-3)}.hcp-habmain{flex:1;min-width:0}.hcp-habsum{display:flex;gap:var(--sp-6);flex-wrap:wrap}.hcp-habnums{display:flex;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-s)}.hcp-hdots{display:inline-flex;gap:var(--sp-1)}.hcp-habitform,.hcp-packform{display:flex;gap:var(--sp-3)}.hcp-habitform{flex-direction:column}
.hcp-plans{display:flex;flex-direction:column;gap:var(--sp-4)}.hcp-plancard,.hcp-plan{padding:var(--sp-5);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.hcp-plancard-h,.hcp-plan-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.hcp-planfig{display:flex;gap:var(--sp-2) var(--sp-6);flex-wrap:wrap;color:var(--muted);font-size:var(--fs-s);margin:var(--sp-3) 0}.hcp-planprev{padding:var(--sp-4);border-radius:var(--r-m);background:var(--brand-50);margin-top:var(--sp-3)}.hcp-planprev.is-bad{background:var(--bad-bg)}.hcp-planbar{margin-top:var(--sp-3)}
.hcp-auto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:var(--sp-5)}.hcp-auto{padding:var(--sp-6);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh)}.hcp-auto-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}.hcp-auto-opts{display:grid;gap:var(--sp-1)}.hcp-auto-save{display:flex;gap:var(--sp-3);align-items:center}.hcp-auto-msg{color:var(--ok);font-weight:700}
.hcp-quote{padding:var(--sp-6);border-radius:var(--r);background:var(--brand-50);font:500 italic 17px/1.55 var(--display);color:var(--ink)}.hcp-pinmark{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--warn);font-weight:700;font-size:var(--fs-xs)}.hcp-or{display:flex;align-items:center;gap:var(--sp-3);color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em}.hcp-or::before,.hcp-or::after{content:"";flex:1;height:1px;background:var(--line)}
.hcp-chat{display:flex;flex-direction:column;gap:var(--sp-2);max-height:460px;overflow:auto;padding:var(--sp-2)}.hcp-composer,.hcp-chatform{display:flex;flex-direction:column;gap:var(--sp-3)}.hcp-chatform-row{display:flex;gap:var(--sp-3);align-items:flex-end}
.hcp-notifs .hcp-trow{padding:var(--sp-4) 0}.hcp-nomatch{padding:var(--sp-8);text-align:center;color:var(--muted)}.hcp-more-body{padding:var(--sp-3) 0}
.hcp-form-page{max-width:760px}.hcp-form-actions{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-5)}.hcp-profile{display:grid;gap:var(--sp-6)}.hcp-health{display:flex;align-items:center;gap:var(--sp-3)}.hcp-insights{display:flex;flex-direction:column;gap:var(--sp-3)}
.hcp-ins-list{display:flex;flex-direction:column;gap:var(--sp-3)}.hcp-ins-list li{display:flex;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--line-2)}.hcp-ins-list li>i{flex:none;width:10px;height:10px;border-radius:50%;margin-top:var(--sp-2);background:var(--brand)}
.hcp-ins-list li.is-danger>i{background:var(--bad)}.hcp-ins-list li.is-warning>i{background:var(--sun)}.hcp-ins-list li.is-success>i{background:var(--ok)}.hcp-ins-list li.is-info>i{background:var(--info)}
.availability-grid{display:grid;gap:var(--sp-3)}.availability-day{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--line)}.av-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.av-ranges,.av-block-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.availability-day.is-closed .av-ranges,.availability-day.is-closed .av-foot{opacity:.4}.availability-day.is-closed .av-head b::after{content:" · Closed";color:var(--muted);font-weight:500}
.av-flash{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-pill);background:var(--side-bg);color:var(--on-dark);font-weight:700;z-index:var(--z-palette)}
.hcp-hide-sm{}


/* 12 ─ client portal */
.pr-app{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"top top" "side main";min-height:100vh;min-height:100dvh;padding:var(--sp-4);gap:0 var(--sp-5)}
.pr-top{grid-area:top;position:sticky;top:14px;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-6);margin-bottom:var(--sp-5);border-radius:var(--r-xl);background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(18px) saturate(1.4);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--sh-xs)}
.pr-brand{text-decoration:none;display:flex;align-items:center;gap:var(--sp-3);min-width:0}.pr-top-r{display:flex;align-items:center;gap:var(--sp-3)}.pr-hello{font-weight:700;font-size:var(--fs-m);color:var(--ink-2)}
.pr-searchbtn{display:flex;align-items:center;gap:var(--sp-3);min-width:200px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-weight:600;font-size:var(--fs-m)}.pr-searchbtn span{flex:1;text-align:left}.pr-searchbtn:hover{border-color:var(--brand);color:var(--brand-700)}
.pr-bellwrap{position:relative}.pr-bellpop{top:calc(100% + 10px);right:0;width:min(360px,92vw);padding:0;overflow:hidden}.pr-bellpop-h{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}
.pr-notif{display:flex;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);text-decoration:none;border-bottom:1px solid var(--line-2)}.pr-notif>i{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-s);background:var(--brand-50);color:var(--brand-700)}.pr-notif b{display:block;font-size:var(--fs-m)}.pr-notif small{color:var(--muted)}.pr-notif.is-new{background:var(--brand-50)}.pr-notif-empty{padding:var(--sp-7);text-align:center}
.pr-side{grid-area:side;position:sticky;top:94px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;padding:var(--sp-4) var(--sp-3);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);scrollbar-width:none}
.pr-side nav{display:flex;flex-direction:column;gap:3px}.pr-navgrp{padding:var(--sp-4) var(--sp-4) var(--sp-2);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:800}.pr-navgrp:first-child{padding-top:var(--sp-1)}
.pr-side a{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);text-decoration:none;font-weight:600;font-size:var(--fs-base);color:var(--ink-2);transition:var(--dur) var(--ease)}.pr-side a span{flex:1}.pr-side a:hover{background:var(--surface-3);color:var(--ink)}
.pr-side a.is-on{background:var(--brand);color:var(--on-brand);font-weight:700;box-shadow:0 12px 22px -12px var(--brand)}.pr-side a.is-on em{background:var(--lime);color:var(--lime-ink)}
.pr-main{grid-area:main;min-width:0;width:100%;max-width:1040px;padding:0 0 70px}
.pr-app.js .pr-view,.pr-view{display:none}.pr-app.js .pr-view.is-active,.pr-view.is-active{display:block;animation:hcp-rise var(--dur-slower) var(--ease) both}
.pr-offline{padding:var(--sp-3) var(--sp-5);border-radius:var(--r-m);background:var(--warn-bg);color:var(--warn);font-weight:700;margin-bottom:var(--sp-4)}.pr-notice{margin-bottom:var(--sp-4)}
.pr-head{margin-bottom:var(--sp-6)}.pr-head h1{font-size:clamp(26px,3vw,34px)}.pr-head p,.pr-sub{color:var(--muted);margin-top:var(--sp-2)}.pr-head .hcp-eyebrow,.pr-head>span{color:var(--brand-700)}
.pr-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-8);border-radius:var(--r-2xl);background:var(--hero);color:var(--on-hero);position:relative;overflow:hidden;margin-bottom:var(--sp-5);box-shadow:0 30px 60px -30px var(--brand-glow)}
.pr-hero::before{content:"";position:absolute;width:300px;height:300px;right:-70px;top:-120px;border-radius:50%;background:radial-gradient(circle,var(--lime-glow),transparent 68%)}.pr-hero>*{position:relative}
.pr-hero>div:first-child>span{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--lime)}.pr-hero h1{font-size:clamp(26px,3.4vw,38px);margin:var(--sp-1) 0 var(--sp-2)}.pr-hero p{opacity:.9}.pr-hero-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.pr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.pr-stats.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pr-stat{display:flex;flex-direction:column;gap:3px;padding:var(--sp-5) var(--sp-5);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);position:relative;overflow:hidden}.pr-stat i{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-m);background:var(--brand-50);color:var(--brand-700);margin-bottom:var(--sp-2)}.pr-stat small{color:var(--muted);font-weight:700}.pr-stat>b{font:800 var(--fs-4xl)/1.1 var(--display);letter-spacing:-.02em}.pr-stat .hcp-ring b{font-size:var(--fs-s)}
.pr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.pr-grid .pr-card{margin:0}.pr-wide{grid-column:1/-1}.pr-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.pr-trio>div{padding:var(--sp-4);border-radius:var(--r-l);background:var(--surface-2)}.pr-trio small{color:var(--muted);font-weight:700}.pr-trio b{display:block;font:800 var(--fs-2xl) var(--display)}
.pr-home{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5);align-items:start}.pr-home-main,.pr-home-rail{display:flex;flex-direction:column;gap:var(--sp-5);min-width:0}
.pr-card{margin-bottom:var(--sp-5)}.pr-grid .pr-card,.pr-home-main .pr-card,.pr-home-rail .pr-card{margin-bottom:0}
.pr-motiv,.pr-coachnote{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-6) var(--sp-6);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand-50),var(--surface));border:1px solid var(--brand-100)}.pr-motiv-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-m);background:var(--lime);color:var(--lime-ink)}
.pr-checklist{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-4)}.pr-checklist li{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--surface-2);font-weight:600}.pr-checklist li.is-done{color:var(--muted);text-decoration:line-through}.pr-checklist li>i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);flex:none;font-style:normal}.pr-checklist li.is-done>i{background:var(--ok);border-color:var(--ok);color:var(--white)}
.pr-habs,.pr-habwin,.pr-habits-list{display:flex;flex-direction:column;gap:var(--sp-3)}.pr-hab{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-4);border-radius:var(--r-l);background:var(--surface-2);border:1.5px solid var(--line-2);transition:var(--dur) var(--ease)}.pr-hab.is-done{background:var(--ok-bg);border-color:transparent}.pr-hab.is-done .pr-hab-t{text-decoration:line-through;opacity:.7}.pr-hab-t{flex:1;font-weight:700;min-width:0}.pr-hico{flex:none}
.pr-tick,.pr-habtick{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid var(--line);background:var(--surface);color:transparent;cursor:pointer;transition:var(--dur) var(--ease)}.pr-tick:hover{border-color:var(--brand);transform:scale(1.1)}.is-done>.pr-tick,.pr-tick.is-done{background:var(--ok);border-color:var(--ok);color:var(--white);animation:hcp-pop var(--dur-slow) var(--ease)}
.pr-habits{display:flex;gap:var(--sp-2);flex-wrap:wrap}.pr-habits input{position:absolute;opacity:0;pointer-events:none}.pr-habits span{display:inline-block;padding:var(--sp-3) var(--sp-4);border:2px solid var(--line);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-m);cursor:pointer;background:var(--surface);transition:var(--dur)}.pr-habits input:checked+span{background:var(--brand-50);border-color:var(--brand);color:var(--brand-700)}
.pr-moods{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-3)}.pr-moods label{cursor:pointer}.pr-moods input{position:absolute;opacity:0}.pr-moods span{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-2);border-radius:var(--r-l);border:2px solid var(--line);background:var(--surface);font-size:var(--fs-4xl);font-weight:700;transition:var(--dur) var(--ease)}.pr-moods small{font-size:var(--fs-xs);color:var(--muted)}.pr-moods input:checked+span{border-color:var(--brand);background:var(--brand-50);transform:translateY(-4px) scale(1.04);box-shadow:var(--sh)}
.pr-scale{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.pr-wiz{display:flex;flex-direction:column;gap:var(--sp-5)}.pr-wiz-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.pr-wiz-dots{display:flex;gap:var(--sp-2)}.pr-wiz-dots i{width:28px;height:6px;border-radius:var(--r-pill);background:var(--line);transition:var(--dur-slow)}.pr-wiz-dots i.is-on{background:var(--brand);width:44px}.pr-wiz-step{display:none}.pr-wiz-step.is-on{display:block;animation:hcp-rise var(--dur-slow) var(--ease) both}.pr-wiz-nav{display:flex;gap:var(--sp-3);justify-content:space-between}.pr-wiz-hint{color:var(--muted);font-size:var(--fs-m)}
.pr-glass,.pr-water-ctl{display:flex;gap:var(--sp-2);align-items:center}.pr-glasses{display:flex;gap:var(--sp-2);flex-wrap:wrap}.pr-glass{width:42px;height:54px;border-radius:var(--r-s) var(--r-s) var(--r-m) var(--r-m);border:2px solid var(--line);background:var(--surface);cursor:pointer;transition:var(--dur) var(--ease);padding:0}.pr-glass.is-on{background:linear-gradient(180deg,var(--water-soft),var(--water));border-color:var(--water)}.pr-glass:active{transform:scale(.92)}
.pr-weekgrid,.pr-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2)}.pr-weekgrid>*{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-m);background:var(--surface-3);font-weight:700;font-size:var(--fs-xs)}.pr-weekgrid .is-done{background:var(--ok);color:var(--white)}
.pr-streakchip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn);font-weight:800;font-size:var(--fs-s)}
.pr-toolbar{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.pr-chips{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.pr-row,.pr-sess,.pr-res,.pr-idrow{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs);margin-bottom:var(--sp-3);transition:var(--dur) var(--ease)}.pr-sess:hover,.pr-res:hover{border-color:var(--brand-100);transform:translateY(-2px);box-shadow:var(--sh)}
.pr-sess-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.pr-countdown{font:800 var(--fs-s) var(--font);color:var(--brand-700)}.pr-countdown.is-soon{color:var(--bad);animation:hcp-pulse 1.6s infinite}
.pr-actions,.pr-pay-r{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}
.pr-news{padding:var(--sp-6)}.pr-newslist{display:flex;flex-direction:column;gap:var(--sp-3)}.pr-news-head{display:flex;justify-content:space-between;align-items:center}.pr-news-ico,.pr-newsico{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-s);background:var(--brand-50);color:var(--brand-700);flex:none}
.pr-prose{color:var(--ink-2);line-height:1.7}.pr-prose h2,.pr-prose h3{margin:var(--sp-4) 0 var(--sp-2)}.pr-prose p{margin-bottom:var(--sp-3)}.pr-note{padding:var(--sp-4) var(--sp-4);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink-2)}.pr-fold{border-top:1px solid var(--line-2)}
.pr-hist{padding:var(--sp-4) 0;border-top:1px solid var(--line-2)}.pr-histh{display:flex;justify-content:space-between;gap:var(--sp-3);font-weight:700}
.pr-bottom{display:none}
/* portal chat */
.pr-chatcard,.pr-fullchat{display:flex;flex-direction:column;padding:0;overflow:hidden}.pr-chatbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}.pr-chatbar-r{margin-left:auto}
.pr-chat{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);max-height:54vh;overflow-y:auto;background:linear-gradient(180deg,var(--surface-2),var(--surface))}.pr-chat-empty{margin:auto;color:var(--muted);text-align:center;padding:var(--sp-8)}
.pr-chat-day{align-self:center;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:var(--fs-xs);font-weight:800}
.pr-msg{display:flex;flex-direction:column;gap:var(--sp-1);max-width:min(84%,540px);align-self:flex-start}.pr-msg small{color:var(--muted);font-size:var(--fs-xs);padding:0 var(--sp-2)}.pr-msg.is-mine{align-self:flex-end;align-items:flex-end}
.pr-bubble{padding:var(--sp-3) var(--sp-5);border-radius:var(--r) var(--r) var(--r) 6px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs);overflow-wrap:anywhere}.pr-msg.is-mine .pr-bubble{background:linear-gradient(135deg,var(--brand),var(--brand-hover));color:var(--on-brand);border:0;border-radius:var(--r) var(--r) 6px var(--r)}
.pr-bubble .pr-receipt-button,.hcp-bubble .pr-receipt-button{display:inline-flex;margin:var(--sp-2) 0 2px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);background:var(--lime);color:var(--lime-ink);font-weight:800;font-size:var(--fs-s);text-decoration:none}
.pr-composer,.pr-ai-chat+form,.pr-chatcard form{display:flex;align-items:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border-top:1px solid var(--line);background:var(--surface)}
.pr-composer textarea,.pr-chatcard textarea{border-radius:var(--r);min-height:48px;max-height:140px}.pr-composer .hcp-btn,.pr-ai-go,.pr-ai-gos{flex:none;width:48px;height:48px;padding:0;border-radius:50%}
.pr-ai-go,.pr-ai-gos{display:grid;place-items:center;border:0;background:linear-gradient(135deg,var(--brand),var(--brand-hover));color:var(--on-brand);cursor:pointer;box-shadow:0 10px 22px -10px var(--brand)}.pr-ai-go[disabled]{opacity:.4}
.pr-ai{display:flex;flex-direction:column;gap:var(--sp-4)}.pr-ai-chat{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-2) 0}.pr-ai-b{display:flex;gap:var(--sp-3);max-width:92%}.pr-ai-b.is-me{align-self:flex-end;flex-direction:row-reverse}.pr-ai-av{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-m);background:var(--lime);color:var(--lime-ink)}
.pr-ai-t{padding:var(--sp-4) var(--sp-5);border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs);color:var(--ink-2)}.pr-ai-b.is-me .pr-ai-t{background:var(--brand);color:var(--on-brand);border:0}.pr-ai-b.is-error .pr-ai-t{background:var(--bad-bg);color:var(--bad)}.pr-ai-src,.pr-ai-retry{font-size:var(--fs-xs);color:var(--muted)}.pr-aicard{padding:var(--sp-6);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand-50),var(--surface))}
.pr-aifab{position:fixed;right:22px;bottom:22px;z-index:var(--z-fab);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-pill);background:var(--hero);color:var(--on-hero);font-weight:800;text-decoration:none;box-shadow:0 18px 36px -12px var(--brand-glow);transition:var(--dur-slow) var(--ease)}.pr-aifab:hover{transform:translateY(-3px)}.pr-aifab.is-away{transform:translateY(24px) scale(.85);opacity:0;pointer-events:none}
.pr-pal{position:fixed;inset:0;z-index:var(--z-palette);display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--sp-4);background:var(--scrim);backdrop-filter:blur(6px)}.pr-pal-box{width:min(560px,100%);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-lg);overflow:hidden}.pr-pal-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:60px;padding:0 var(--sp-6);box-shadow:none;font-size:var(--fs-xl)}
.pr-pal-list{padding:var(--sp-2);max-height:50vh;overflow:auto}.pr-pal-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);cursor:pointer;font-weight:600;text-decoration:none;border:0;background:none;width:100%}.pr-pal-item.is-on,.pr-pal-item:hover{background:var(--brand-50);color:var(--brand-700)}.pr-nomatch{padding:var(--sp-5);text-align:center;color:var(--muted)}
.pr-toasts{position:fixed;z-index:var(--z-toast);left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--sp-2);align-items:center}
.pr-splash{position:fixed;inset:0;z-index:var(--z-splash);display:grid;place-items:center;padding:var(--sp-5);background:var(--scrim-strong);backdrop-filter:blur(10px);animation:hcp-fade var(--dur-slow) both}.pr-splash.is-out{opacity:0;transition:opacity var(--dur)}.pr-splash-card{position:relative;width:min(440px,100%);padding:var(--sp-10) var(--sp-8);border-radius:var(--r-2xl);background:var(--surface);text-align:center;box-shadow:var(--sh-lg);overflow:hidden;animation:hcp-pop var(--dur-slower) var(--ease)}
.pr-splash-card::before{content:"";position:absolute;inset:0 0 auto;height:120px;background:var(--hero);opacity:.18}.pr-splash-card>*{position:relative}.pr-splash-ico{display:grid;place-items:center;width:74px;height:74px;margin:0 auto var(--sp-4);border-radius:var(--r-xl);background:var(--lime);color:var(--lime-ink)}.pr-splash-chips{display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap;margin:var(--sp-4) 0}.pr-splash-x{position:absolute;top:14px;right:14px;z-index:2}.pr-splash-bar{height:4px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden;margin-top:var(--sp-5)}.pr-splash-bar i{display:block;height:100%;background:var(--brand)}
.pr-confetti{position:fixed;width:10px;height:14px;z-index:var(--z-splash);border-radius:3px;pointer-events:none}

.pr-hero .hcp-ring{color:var(--lime)}.pr-hero .hcp-ring .bg{stroke:var(--w-20)}.pr-hero .hcp-ring b{color:var(--on-hero)}


/* 13 ─ checkout (pp-*) & portal payment cards */
html.pp-lock{overflow:hidden}
.pp-sheet{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center}.pp-sheet[hidden]{display:none}
.pp-back{position:absolute;inset:0;background:var(--scrim-strong);backdrop-filter:blur(8px);opacity:0;transition:opacity var(--dur)}.pp-sheet.is-in .pp-back{opacity:1}
.pp-box{position:relative;width:100%;max-width:480px;max-height:92vh;max-height:92dvh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);color:var(--ink);border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:var(--sp-7) var(--sp-6) calc(26px + env(safe-area-inset-bottom));box-shadow:var(--sh-lg);transform:translateY(40px);opacity:0;transition:transform var(--dur-slower) cubic-bezier(.2,.9,.25,1.05),opacity var(--dur)}
.pp-box::before{content:"";position:absolute;inset:0 0 auto;height:190px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 18%,transparent),transparent);pointer-events:none;border-radius:inherit}.pp-box>*{position:relative}
.pp-sheet.is-in .pp-box{transform:none;opacity:1}
.pp-x,.pp-close{position:absolute;top:14px;right:16px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface);color:var(--ink-2);font-size:var(--fs-3xl);line-height:1;cursor:pointer;box-shadow:var(--sh-xs);transition:var(--dur)}.pp-x:hover,.pp-close:hover{transform:rotate(90deg);color:var(--bad)}
.pp-box h2{font-size:var(--fs-4xl);margin:0 var(--sp-10) var(--sp-1) 0}.pp-box h3{margin:var(--sp-5) 0 var(--sp-2);font:800 var(--fs-2xs) var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pp-sub{margin:0;color:var(--ink-2)}.pp-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-s);color:var(--muted)}
.pp-brand{display:flex;align-items:center;gap:var(--sp-3);margin:0 var(--sp-12) var(--sp-5) 0;min-width:0}.pp-brand>img{width:auto;min-width:44px;max-width:120px;height:46px;object-fit:contain;border-radius:var(--r-m);background:var(--white);border:1px solid var(--line);padding:var(--sp-1)}.pp-brand b,.pp-brand small{display:block;overflow-wrap:anywhere}.pp-brand b{font:700 var(--fs-l) var(--display)}.pp-brand small{font-size:var(--fs-xs);color:var(--muted)}
.pp-amount{margin:var(--sp-2) 0 var(--sp-5);padding:var(--sp-5);border-radius:var(--r);background:var(--side-bg);color:var(--on-dark);text-align:center}.pp-amount b{display:block;font:800 var(--fs-6xl)/1.1 var(--display);letter-spacing:-.03em;color:var(--lime)}.pp-amount small{opacity:.7}
.pp-steps{display:flex;gap:var(--sp-2);margin:0 0 var(--sp-5)}.pp-steps li{flex:1;display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:700;color:var(--muted)}
.pp-steps li b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-size:var(--fs-xs);flex:none;transition:var(--dur-slow)}.pp-steps li.is-on{color:var(--ink)}.pp-steps li.is-on b{background:var(--brand);color:var(--on-brand);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 20%,transparent)}.pp-steps li.is-done b{background:var(--ok);color:var(--white)}
.pp-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-3)}.pp-method{min-height:50px;border:2px solid var(--line);border-radius:var(--r-l);background:var(--surface);color:var(--ink-2);font:700 var(--fs-m) var(--font);cursor:pointer;transition:var(--dur) var(--ease)}.pp-method.is-active{border-color:var(--brand);background:var(--brand-50);color:var(--brand-700)}.pp-method-panel[hidden]{display:none}
.pp-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:var(--sp-3)}.pp-app{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-2);border:2px solid var(--line);border-radius:var(--r-l);background:var(--surface);color:var(--ink);text-decoration:none;font-size:var(--fs-s);font-weight:700;text-align:center;cursor:pointer;transition:var(--dur) var(--ease)}.pp-app:not(.pp-app-static):hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--sh)}
.pp-app i{width:44px;height:44px;border-radius:var(--r-m);display:grid;place-items:center;color:var(--white);font-style:normal;font-weight:800;font-size:var(--fs-xl);overflow:hidden}.pp-app i img{width:100%;height:100%;object-fit:contain;background:var(--white)}.pp-apps-supported{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:var(--sp-2);margin-top:var(--sp-3)}.pp-app-static{padding:var(--sp-2) var(--sp-1);border:0;background:transparent;font-size:var(--fs-2xs);cursor:default;box-shadow:none;transform:none}.pp-app-static i{width:34px;height:34px;font-size:var(--fs-base)}
.pp-app-error{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--bad-bg);color:var(--bad);font-size:var(--fs-s)}.pp-app-launch{margin-top:var(--sp-3)}
.pp-qrwrap{display:flex;justify-content:center}.pp-qr{width:218px;height:218px;background:var(--white);border-radius:var(--r-xl);padding:var(--sp-4);border:1px solid var(--line);box-shadow:var(--sh)}.pp-qr svg{width:100%;height:100%;display:block}
.pp-copy,.pp-bank-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1.5px dashed var(--line);border-radius:var(--r-l);background:var(--surface-2)}.pp-copy small,.pp-bank-row small{display:block;color:var(--muted);font-size:var(--fs-2xs)}.pp-copy b,.pp-bank-row b{font-size:var(--fs-base);overflow-wrap:anywhere}.pp-bank-details{display:grid;gap:var(--sp-2);margin:var(--sp-3) 0}
.pp-capture{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-xs)}.pp-capture:not([hidden]){padding:var(--sp-3) var(--sp-3);border-radius:var(--r-m);background:var(--surface-2)}.pp-captured{margin:var(--sp-2) 0 0;padding:var(--sp-3) var(--sp-3);border-radius:var(--r-m);background:var(--ok-bg);color:var(--ok);font-size:var(--fs-s);overflow-wrap:anywhere}
.pp-form .hcp-field{margin-top:var(--sp-3)}.pp-form .hcp-btn,.pp-gw-go{width:100%;margin-top:var(--sp-3);min-height:54px}.pp-actions{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-4)}
.pp-gw-card{display:flex;gap:var(--sp-4);align-items:center;padding:var(--sp-5);border-radius:var(--r);border:1.5px solid var(--brand-100);background:linear-gradient(135deg,var(--brand-50),var(--surface));margin-bottom:var(--sp-4)}.pp-gw-ic{flex:none;width:50px;height:50px;border-radius:var(--r-l);display:grid;place-items:center;background:var(--hero);color:var(--on-hero);box-shadow:0 12px 24px -10px var(--brand)}.pp-gw-card b{display:block;font-size:var(--fs-l)}.pp-gw-card small{color:var(--muted)}
.pp-gw-points{display:grid;gap:var(--sp-2);margin:0 0 var(--sp-4)}.pp-gw-points li{display:flex;gap:var(--sp-3);align-items:center;font-size:var(--fs-m);color:var(--ink-2)}.pp-gw-points li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok);font-size:var(--fs-xs);font-weight:800}
.pp-pending,.pp-received,.pp-done,.pp-failed{text-align:center;padding:var(--sp-3) var(--sp-1) 2px}.pp-pending h2,.pp-received h2,.pp-done h2,.pp-failed h2{margin:var(--sp-4) 0 var(--sp-2)}.pp-pending p,.pp-done p,.pp-failed p{color:var(--ink-2);margin:0 0 var(--sp-2)}
.pp-ring{position:relative;width:136px;height:136px;margin:var(--sp-2) auto 0;display:grid;place-items:center}.pp-ring i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--brand);opacity:0;animation:ppripple 2.4s ease-out infinite}.pp-ring i:nth-child(2){animation-delay:.8s}.pp-ring i:nth-child(3){animation-delay:1.6s}
.pp-ring span{position:relative;z-index:1;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--hero);color:var(--on-hero);font-weight:800;font-size:var(--fs-m);box-shadow:0 16px 30px -12px var(--brand)}
.pp-burst{position:relative;width:124px;height:124px;margin:var(--sp-2) auto var(--sp-1);display:grid;place-items:center}.pp-check{width:104px;height:104px;position:relative;z-index:1;animation:ppbounce var(--dur-slower) cubic-bezier(.2,1.2,.3,1) both}
.pp-check-c{fill:var(--ok-bg);stroke:var(--ok);stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:151;animation:ppdraw var(--dur-slower) ease-out var(--dur-fast) forwards}.pp-check-p{fill:none;stroke:var(--ok);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:ppdraw var(--dur-slower) ease-out var(--dur-slower) forwards}
.pp-confetti{position:absolute;inset:0;pointer-events:none}.pp-confetti b{position:absolute;left:50%;top:50%;width:8px;height:12px;border-radius:3px;background:var(--c);opacity:0;animation:ppconf 1.1s cubic-bezier(.15,.8,.3,1) var(--t) forwards}
.pp-rec-amt{margin:0;font:800 var(--fs-6xl) var(--display);color:var(--ok);letter-spacing:-.03em;animation:ppup var(--dur-slower) var(--dur-slower) both}.pp-rec-rows{margin:var(--sp-4) 0;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-l);background:var(--surface-2);text-align:left}.pp-rec-rows div{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px dashed var(--line)}.pp-rec-rows div:last-child{border:0}.pp-rec-msg{color:var(--muted)}.pp-rec-rows .pp-rno{font-weight:800;color:var(--ink)}
.pp-failed .pp-x-mark{width:76px;height:76px;margin:var(--sp-2) auto 0}.pp-failed .pp-x-mark circle{fill:var(--bad-bg);stroke:var(--bad);stroke-width:2}.pp-failed .pp-x-mark path{fill:none;stroke:var(--bad);stroke-width:3.5;stroke-linecap:round}
.pp-done i{display:grid;place-items:center;width:68px;height:68px;margin:0 auto var(--sp-3);border-radius:50%;background:var(--ok-bg);color:var(--ok);font-style:normal;font-size:var(--fs-5xl)}.pp-done .hcp-btn{width:100%;margin-top:var(--sp-2)}
@keyframes ppup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ppripple{0%{transform:scale(.62);opacity:.55}100%{transform:scale(1.18);opacity:0}}@keyframes ppdraw{to{stroke-dashoffset:0}}@keyframes ppbounce{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@keyframes ppconf{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--d) * -1)) rotate(520deg) scale(1)}}
/* payment cards in the portal */
.pr-pay{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-5) var(--sp-5);border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs);margin-bottom:var(--sp-3)}.pr-pay.is-over{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:linear-gradient(135deg,var(--bad-bg),var(--surface) 60%)}
.pr-plan,.pr-planbar{margin-top:var(--sp-3)}.pr-planfig{display:flex;gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;color:var(--muted);font-size:var(--fs-s)}.pr-plan{padding:var(--sp-5);border-radius:var(--r);background:var(--surface-2)}

/* 14 ─ sign-in & auth */
.hcp-auth-shell,body.hcp-is-auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--sp-6);background:radial-gradient(700px 480px at 10% 0%,color-mix(in srgb,var(--brand) 26%,transparent),transparent 65%),radial-gradient(600px 420px at 100% 100%,color-mix(in srgb,var(--lime) 30%,transparent),transparent 65%),var(--bg)}
.hcp-login{width:100%;max-width:450px;margin:auto}.hcp-auth-shell .hcp-login{display:block}
.hcp-login-card,.hcp-auth-card{padding:var(--sp-10) var(--sp-10);border-radius:var(--r-2xl);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(20px);border:1px solid var(--line);box-shadow:var(--sh-lg);animation:hcp-rise var(--dur-slower) var(--ease) both}
.hcp-login-logo{display:flex;justify-content:center;margin-bottom:var(--sp-6)}.hcp-login-logo .hcp-brand-mark{width:54px;height:54px;border-radius:var(--r-l);font-size:var(--fs-2xl)}.hcp-login-logo .hcp-brand{color:var(--ink)}
.hcp-login-card h1,.hcp-auth-card h1{font-size:var(--fs-5xl);margin-bottom:var(--sp-2);text-align:center}.hcp-auth-intro,.hcp-login-card>p{text-align:center;color:var(--muted);margin-bottom:var(--sp-6)}.hcp-auth-kicker{display:none}
.hcp-auth-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--sp-5);border-radius:var(--r);background:var(--lime);color:var(--lime-ink)}
.hcp-auth-form{display:flex;flex-direction:column}.hcp-login .hcp-primary,.hcp-auth-card .hcp-primary,.hcp-auth-primary-link{width:100%;min-height:54px;font-size:var(--fs-l)}.hcp-auth-primary-link{display:flex}
.hcp-forgot,.hcp-auth-back{display:block;text-align:center;margin-top:var(--sp-4);color:var(--brand-700);font-weight:700;text-decoration:none;font-size:var(--fs-m)}.hcp-forgot:hover,.hcp-auth-back:hover{text-decoration:underline}.hcp-auth-footnote,.hcp-login-help,.hcp-auth-password-hint{text-align:center;color:var(--muted);font-size:var(--fs-s);margin-top:var(--sp-4)}.hcp-auth-message{margin-bottom:var(--sp-4)}
.hcp-login-logo img{max-height:56px}


.pp-app i[data-tint=gpay]{background:var(--app-gpay)}.pp-app i[data-tint=phonepe]{background:var(--app-phonepe)}.pp-app i[data-tint=paytm]{background:var(--app-paytm)}.pp-app i[data-tint=bhim]{background:var(--app-bhim)}.pp-app i[data-tint=other]{background:var(--brand);color:var(--on-brand)}


/* 16 ─ behaviour & legacy-markup compatibility (view toggles, wizard, legacy WP-style cards) */
.hcp-clients-body [data-view]{display:none}
.hcp-clients-body[data-mode=table] [data-view=table]{display:block}
.hcp-clients-body[data-mode=cards] [data-view=cards]{display:grid}
.hcp-clients-body[data-mode=board] [data-view=board]{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:var(--sp-4);overflow-x:auto;align-items:start}
.hcp-table[data-clients-table] tbody tr{cursor:pointer}.hcp-table td.w-act{white-space:nowrap}.hcp-table td[data-label=Updated],.hcp-table td[data-label=Status]{white-space:nowrap}
.hcp-table td b,.hcp-table td small,.hcp-trow-main b,.pr-card b,.pr-bubble,.hcp-note,.hcp-plan-body,.pr-prose{overflow-wrap:anywhere}
.hcp-prog{min-width:150px;max-width:200px;line-height:1.35}.hcp-w-ck,.w-ck{width:44px}
.hcp-kpi b,.hcp-stat b,.pr-stat>b,.hcp-revcol b,.hcp-table td{font-variant-numeric:tabular-nums}
/* disclosure */
.hcp-more{border:1.5px solid var(--line);border-radius:var(--r-l);padding:0 var(--sp-5);margin-bottom:var(--sp-4);background:var(--surface-2)}.hcp-more summary{cursor:pointer;padding:var(--sp-4) 0;font-weight:700;display:flex;gap:var(--sp-2);align-items:center;list-style:none}.hcp-more summary::-webkit-details-marker{display:none}.hcp-more summary .hcp-i{transition:transform var(--dur)}.hcp-more[open] summary .hcp-i{transform:rotate(90deg)}.hcp-more-body{padding:var(--sp-1) 0 var(--sp-2)}
.hcp-ok{display:inline-flex;gap:var(--sp-2);align-items:center;color:var(--ok);font-size:var(--fs-s);font-weight:700}.hcp-plan-body{margin-top:var(--sp-3);color:var(--ink-2);background:var(--surface-2);padding:var(--sp-4);border-radius:var(--r-m)}.hcp-mini b{font-size:var(--fs-s)}
.hcp-qr{display:flex;gap:var(--sp-2);margin:var(--sp-3) 0 0;overflow-x:auto;scrollbar-width:none}.hcp-qr .hcp-chip{flex:none}
/* weekday pickers, availability editor */
.hcp-days{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.hcp-days>span{font-size:var(--fs-s);font-weight:700;margin-right:var(--sp-1)}.hcp-days label{position:relative}.hcp-days input{position:absolute;opacity:0}
.hcp-days label span{display:inline-grid;place-items:center;min-width:48px;height:38px;border:1.5px solid var(--line);border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-s);font-weight:700;color:var(--ink-2);transition:var(--dur) var(--ease)}.hcp-days input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.hcp-days input:focus-visible+span{box-shadow:var(--ring)}
.range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 34px;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2)}.range span{color:var(--muted);font-size:var(--fs-xs)}.range input{min-width:0;text-align:center}.range input:disabled{background:var(--neutral-bg);color:var(--muted)}
.av-switch,.editor-card .av-switch,.hcp-field .av-switch{position:relative;display:inline-block;width:46px;height:28px;margin:0;flex:none}.av-switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.av-switch span{position:absolute;inset:0;border-radius:var(--r-pill);background:var(--line);transition:var(--dur)}.av-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 2px 6px rgb(var(--shadow-rgb) / .25);transition:transform var(--dur) var(--ease)}.av-switch input:checked+span{background:var(--brand)}.av-switch input:checked+span::after{transform:translateX(18px)}
.av-block{background:var(--surface-2);border:1.5px dashed var(--line);border-radius:var(--r-l);padding:var(--sp-4);margin:var(--sp-2) 0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.av-del{width:34px;height:34px;border:0;background:none;border-radius:var(--r-s);color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}.av-del:hover{background:var(--bad-bg);color:var(--bad)}.av-presets{display:flex;gap:var(--sp-2);flex-wrap:wrap}.av-sum{font-size:var(--fs-m);color:var(--ink-2)}.av-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;background:var(--brand-50);border-radius:var(--r-l);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.av-foot{display:flex;gap:var(--sp-2);align-items:center}
/* legacy card / editor markup (programs, resources, forms builder) */
.card,.editor-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:var(--sp-6);margin-bottom:var(--sp-5)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-head p{color:var(--muted);font-size:var(--fs-s)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin:var(--sp-1) 0 var(--sp-6);flex-wrap:wrap}.section-head h1{font-size:clamp(26px,3vw,34px)}.section-head p{color:var(--muted);margin-top:var(--sp-2);max-width:62ch}.eyebrow{display:block;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--brand-700);margin-bottom:var(--sp-2)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.detail-grid .card{margin:0}.detail-grid h2{font-size:var(--fs-base);margin-bottom:var(--sp-2)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-4)}.editor-card label{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-s);font-weight:700;color:var(--ink-2);margin-bottom:var(--sp-4)}.editor-card label input[type=checkbox]{align-self:flex-start}
.editor-actions{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-2);flex-wrap:wrap}.field-builder,#hcp-fields{display:flex;flex-direction:column;gap:var(--sp-3);margin:var(--sp-4) 0}
.field-row{display:grid;grid-template-columns:150px 1fr 1fr auto auto;gap:var(--sp-3);align-items:center;padding:var(--sp-4);border:1.5px solid var(--line);border-radius:var(--r-l);background:var(--surface-2)}.remove-field{border:1.5px solid var(--line);background:var(--surface);color:var(--bad);border-radius:var(--r-s);height:38px;padding:0 var(--sp-4);cursor:pointer;font-weight:700}.remove-field:hover{background:var(--bad-bg)}
.hcp-rich-format{min-height:var(--btn-h-sm);border:1.5px solid var(--line);border-radius:var(--r-s);background:var(--surface);padding:0 var(--sp-2)}
.filters{display:flex;gap:var(--sp-2);flex-wrap:wrap}.filters a{display:inline-flex;align-items:center;height:36px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);font-weight:700;font-size:var(--fs-s);text-decoration:none;color:var(--ink-2)}.filters a:hover,.filters a.is-on{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}
.image-editor,.client-avatar-editor{display:flex;gap:var(--sp-4);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4)}.current-image img{max-width:160px;border-radius:var(--r-m);border:1px solid var(--line)}
.session{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-2)}.status{display:inline-flex;align-items:center;height:26px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;background:var(--neutral-bg);color:var(--ink-2)}
.hcp-pal-list small.t{display:block;padding:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.hcp-auto-master{margin-bottom:var(--sp-5);padding:var(--sp-5) var(--sp-6)}.hcp-image-help{font-size:var(--fs-xs);color:var(--muted)}.hcp-planprev-t{display:flex;gap:var(--sp-2);align-items:center}
.hcp-drawer>.hcp-form{width:min(520px,100%);height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:var(--sh-lg);border-radius:var(--r-xl) 0 0 var(--r-xl);animation:hcp-slide var(--dur-slow) var(--ease) both}.hcp-form{display:flex;flex-direction:column}
/* portal: wizard, tasks, water, heat map, habit page */
.pr-app.js .pr-wiz .pr-wiz-step{display:none}.pr-app.js .pr-wiz .pr-wiz-step.is-on{display:block}.pr-app:not(.js) .pr-wiz-step{display:block}
.pr-wiz-top small{color:var(--muted);font-weight:700}.pr-wiz-nav{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:flex-end;margin-top:var(--sp-6)}.pr-wiz-nav [hidden]{display:none}.pr-wiz-nav .hcp-btn{flex:1;justify-content:center}.pr-app:not(.js) .pr-wiz-nav [data-wiz-back],.pr-app:not(.js) .pr-wiz-nav [data-wiz-next],.pr-app:not(.js) .pr-wiz-nav [data-wiz-more]{display:none}
.pr-wiz .pr-moods span{padding:var(--sp-5) var(--sp-1)}.pr-wiz .pr-habits{flex-direction:column;gap:var(--sp-3)}.pr-wiz .pr-habits label{display:block}.pr-wiz .pr-habits span{display:block;width:100%;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);font-size:var(--fs-base)}
.pr-glasses{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--sp-2);margin-bottom:var(--sp-3)}.pr-glass{width:auto;height:auto;aspect-ratio:1;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);color:var(--line);display:grid;place-items:center;cursor:pointer;padding:0}.pr-glass .hcp-i{width:18px;height:18px}.pr-glass.is-on{background:color-mix(in srgb,var(--info) 16%,var(--surface));border-color:var(--info);color:var(--info)}
.pr-water-ctl{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.pr-water-ctl b{font:800 var(--fs-3xl) var(--display);white-space:nowrap}.pr-water-ctl small{color:var(--muted)}.pr-water-ctl .hcp-iconbtn{font-size:var(--fs-2xl);width:42px;height:42px;border-radius:50%}
.pr-ciwater{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-radius:var(--r-l);background:var(--surface-2)}.pr-ciwater>div{display:flex;align-items:center;gap:var(--sp-3)}
.pr-heat{display:grid;grid-template-columns:repeat(14,1fr);gap:var(--sp-1)}.pr-heat span,.pr-legend i{aspect-ratio:1;border-radius:var(--r-xs);background:var(--neutral-bg);display:block}.pr-heat .l1,.pr-legend .l1{background:color-mix(in srgb,var(--brand) 22%,var(--surface))}.pr-heat .l2,.pr-legend .l2{background:color-mix(in srgb,var(--brand) 40%,var(--surface))}.pr-heat .l3,.pr-legend .l3{background:color-mix(in srgb,var(--brand) 62%,var(--surface))}.pr-heat .l4,.pr-legend .l4{background:color-mix(in srgb,var(--brand) 82%,var(--surface))}.pr-heat .l5,.pr-legend .l5{background:var(--brand)}.pr-legend{display:flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--muted)}.pr-legend i{width:14px;height:14px;border-radius:5px}
.pr-task{transition:opacity var(--dur)}.pr-task.is-done{opacity:.7}.pr-task small{display:block;color:var(--muted);font-size:var(--fs-s)}.pr-task-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2)}.pr-task[hidden],[data-list]>[hidden]{display:none}
.pr-mini{margin:0 0 var(--sp-3)}.pr-mini li{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-2);transition:opacity var(--dur),transform var(--dur)}.pr-mini li:last-child{border:0}.pr-mini li.is-out{opacity:0;transform:translateX(12px)}.pr-mini small{display:block;color:var(--muted);font-size:var(--fs-s)}
.pr-app.js .pr-view.is-active[data-view=habits]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-4);align-items:start}.pr-view[data-view=habits]>:not(.pr-hcard){grid-column:1/-1}.pr-hcard{margin-bottom:var(--sp-4)}.pr-hcard-h{display:flex;gap:var(--sp-3);align-items:center}.pr-hdots{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-1)}.pr-hstats{display:flex;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-2);font-size:var(--fs-s);color:var(--muted)}.pr-habcard{margin-bottom:var(--sp-4)}
.pr-badges{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-3)}.pr-coach{display:flex;gap:var(--sp-4);align-items:center;flex-wrap:wrap}.pr-coach small{display:block;color:var(--muted)}.pr-entries{margin:var(--sp-4) 0 0}.pr-entries li{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-2)}.pr-entries li span{flex:1;color:var(--ink-2)}
.pr-fb{background:var(--brand-50);border-color:transparent}.pr-fb small{color:var(--brand-700);font-weight:700}.pr-form fieldset{border:0;margin:0 0 var(--sp-5);padding:0}.pr-form textarea,.pr-form select,.pr-logform select{width:100%}.pr-logform .hcp-fgrid{margin-bottom:var(--sp-3)}.pr-goal .hcp-progress{margin-top:var(--sp-3)}
.pr-nitem{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-m);transition:background var(--dur-fast)}.pr-nitem:hover{background:var(--surface-2)}.pr-nbody{flex:1;min-width:0}.pr-nbody small{display:-webkit-box;color:var(--muted);font-size:var(--fs-s);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}.pr-ncta{flex:none;white-space:nowrap}.pr-news-clear{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5)}.pr-news-clear b{display:block}
.pr-next b{font-size:var(--fs-xl)}.pr-onboard{margin:0}.pr-resched{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.pr-tip{display:flex;gap:var(--sp-4);align-items:center;background:var(--brand-50);border-color:transparent}.pr-tip small{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand-700)}
.pr-search{display:flex;align-items:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-4);border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);flex:1;min-width:180px;max-width:360px}.pr-search input{border:0;background:none;box-shadow:none;min-height:0;padding:0;flex:1}
.pr-waterc .pr-glasses{grid-template-columns:repeat(8,minmax(0,1fr))}.pr-app[data-current=assistant] .pr-aifab,.pr-app[data-current=messages] .pr-aifab,.pr-app[data-current=checkin] .pr-aifab{display:none}
.pr-view[data-view=checkin] .pr-card,.pr-view[data-view=profile] .pr-card{max-width:760px}.pr-view[data-view=assistant] .pr-head p{display:none}.pr-pane[hidden],.pr-nomatch[hidden],.pr-resched[hidden],.pr-offline[hidden]{display:none}
@media(max-width:900px){.hcp-clients-body[data-mode=board] [data-view=board]{grid-template-columns:repeat(5,82%)}.pr-app.js .pr-view.is-active[data-view=habits]{grid-template-columns:minmax(0,1fr)}.detail-grid,.form-grid{grid-template-columns:minmax(0,1fr)}.field-row{grid-template-columns:1fr 1fr}.pr-wiz-nav{flex-direction:column-reverse}.pr-wiz-nav .hcp-btn{width:100%}.pr-badges{grid-template-columns:repeat(3,1fr)}}


/* 17 ─ refinements verified against the real rendered pages */
/* page wrappers that contain several blocks must stack with a gap */
.hcp-clients,.hcp-profile,.hcp-auto-form{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}
.hcp-content>.section-head{margin:0}.hcp-content>.card,.hcp-content>.editor-card{margin-bottom:0}
td.hcp-stack,th.hcp-stack{display:table-cell}.hcp-stack>b,.hcp-stack>small{display:block}td.hcp-stack small{color:var(--muted)}
.hcp-auto-msg{color:inherit;font-weight:inherit}.hcp-auto-msg summary{cursor:pointer;color:var(--brand-700);font-weight:700;font-size:var(--fs-m);padding:var(--sp-2) 0;list-style:none}.hcp-auto-msg summary::-webkit-details-marker{display:none}.hcp-auto-msg summary::before{content:"✎ ";}.hcp-auto-msg textarea{margin-top:var(--sp-2)}.hcp-auto-msg small{display:block;margin-top:var(--sp-2);color:var(--muted)}
.hcp-brand-name b,.hcp-brand-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hcp-side-top .hcp-brand{min-width:0}

/* toolbars */
.hcp-search{display:flex;align-items:center;flex:1 1 320px;min-width:0}.hcp-search>.hcp-i{z-index:1}.hcp-search input{flex:1;min-width:0}
.hcp-search kbd{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none}
.hcp-toolbar{align-items:center}.hcp-toolbar .hcp-chips{flex:1 1 auto}.hcp-toolbar-r{margin-left:auto;flex:none}
.hcp-chip{gap:var(--sp-2);font-family:inherit;border:1.5px solid var(--line);background:var(--surface);padding:var(--sp-2) var(--sp-4)}.hcp-chip span{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--surface-3);font-size:var(--fs-2xs);font-weight:800;color:var(--muted)}
.hcp-chip.is-on{background:var(--brand-50);border-color:var(--brand);color:var(--brand-700)}.hcp-chip.is-on span{background:var(--brand);color:var(--on-brand)}
.hcp-seg button{display:inline-grid;place-items:center;width:42px;height:34px;padding:0}.hcp-seg button .hcp-i{width:18px;height:18px}
.hcp-bulkbar[hidden]{display:none}.hcp-bulkbar select{width:auto;min-height:38px;border-radius:var(--r-pill)}

/* tables: health, mini progress, flags */
.hcp-table .hcp-who{flex:none}.hcp-table td{white-space:normal}.hcp-table td.hcp-prog{white-space:normal}
.hcp-health{display:flex;flex-direction:column;gap:var(--sp-2);min-width:120px}.hcp-health small{font-weight:700;font-size:var(--fs-xs)}
.hcp-health .hcp-bar>i{background:var(--brand)}.hcp-health.is-success .hcp-bar>i{background:var(--ok)}.hcp-health.is-warning .hcp-bar>i{background:var(--amber)}.hcp-health.is-danger .hcp-bar>i{background:var(--bad)}
.hcp-health.is-success small{color:var(--ok)}.hcp-health.is-warning small{color:var(--warn)}.hcp-health.is-danger small{color:var(--bad)}
.hcp-mini{display:flex;flex-direction:column;gap:var(--sp-1);min-width:96px}.hcp-mini small{color:var(--muted);font-size:var(--fs-xs)}.hcp-bar.is-thin{height:6px}
.hcp-dotbadge{display:inline-block;width:8px;height:8px;margin-left:var(--sp-2);border-radius:50%;background:var(--pink);vertical-align:middle}
.hcp-table td small{color:var(--muted);font-size:var(--fs-s);display:block}.hcp-table td b{font-weight:700}
.hcp-table th.w-ck,.hcp-table td.w-ck{width:48px;padding-right:0}.hcp-table th.w-act,.hcp-table td.w-act{width:64px;text-align:right}
.hcp-table .hcp-iconbtn{width:36px;height:36px;border-radius:var(--r-s)}

/* client cards */
.hcp-ccard dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);margin:0}.hcp-ccard dt{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.hcp-ccard dd{margin:2px 0 0;font-weight:700;font-size:var(--fs-m)}
.hcp-ccard-top .hcp-who{flex:1}.hcp-ccard-flags{min-height:26px}

/* dashboard rows */
.hcp-arow{flex-wrap:wrap;gap:var(--sp-3) var(--sp-4)}.hcp-arow .hcp-who{flex:1 1 210px;min-width:0}.hcp-who>span:last-child{min-width:0}.hcp-arow-flags{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;flex:0 1 auto}
.hcp-arow .hcp-btn{flex:none}.hcp-srow{flex-wrap:wrap}
.hcp-trow{align-items:flex-start}.hcp-mood{font-size:var(--fs-2xl)}

/* profile header — compact, avatar overlaps banner, actions on the right */
.hcp-phead{padding:0;overflow:hidden;border-radius:var(--r-xl)}
.hcp-phead::before{height:92px;border-radius:0;opacity:1}
.hcp-phead>*{position:relative}
.hcp-phead-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0 var(--sp-6);align-items:start;padding:var(--sp-12) var(--sp-7) 0}
.hcp-phead .hcp-avatar-chip.is-xl{width:96px;height:96px;font-size:var(--fs-5xl);border:5px solid var(--surface);box-shadow:var(--sh)}
.hcp-avatar-chip.is-xl{width:96px;height:96px;font-size:var(--fs-5xl)}
.hcp-phead-id{padding-top:58px;min-width:0}.hcp-phead-title{gap:var(--sp-3)}.hcp-phead-title h1{font-size:clamp(24px,2.4vw,30px);overflow-wrap:anywhere}
.hcp-phead-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-s)}
.hcp-phead-meta>*{display:inline-flex;align-items:center;gap:var(--sp-2);color:inherit;text-decoration:none;white-space:nowrap}.hcp-phead-meta a:hover{color:var(--brand-700);text-decoration:underline}.hcp-phead-meta .hcp-i{width:15px;height:15px;opacity:.75}
.hcp-phead-actions{padding-top:58px;display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end}
.hcp-statusbtn .hcp-i{width:16px;height:16px;color:var(--muted);margin-left:2px}
.hcp-attn{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-7) 0;font-size:var(--fs-s);font-weight:700;color:var(--ink-2)}.hcp-attn>span:first-child{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--warn)}
.hcp-statstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3);padding:var(--sp-5) var(--sp-7) var(--sp-7);margin:0}
.hcp-stat{padding:var(--sp-4) var(--sp-4);border-radius:var(--r-l);min-width:0}.hcp-stat>span:last-child,.hcp-stat>div+span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.hcp-stat small{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.hcp-stat b{font:800 var(--fs-xl) var(--display);white-space:nowrap}.hcp-stat em{font-style:normal;font-size:var(--fs-xs);color:var(--muted)}

.hcp-profile>.hcp-tabs{position:sticky;top:98px;z-index:30;box-shadow:var(--sh)}
.hcp-tab em{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--brand-50);color:var(--brand-700);font-size:var(--fs-2xs);font-weight:800}.hcp-tab.is-on em{background:var(--w-25);color:var(--on-brand)}
.hcp-back{margin:0}

/* switches */
.hcp-switchrow{justify-content:flex-start;gap:var(--sp-4)}.hcp-switchrow>span:last-child:not(.hcp-switchui){flex:1;min-width:0}.hcp-switchrow small{display:block;color:var(--muted);font-weight:500}
.hcp-switchrow.is-solo{padding:0;border:0;background:none;margin:0;width:auto}.hcp-switchrow.is-solo:has(input:checked){background:none}
.hcp-card.hcp-auto-master{padding:0}.hcp-auto-master .hcp-switchrow{margin:0;border:0;border-radius:var(--r);padding:var(--sp-5) var(--sp-6)}.hcp-auto-master .hcp-switchrow:has(input:checked){background:linear-gradient(135deg,var(--brand-50),var(--surface))}.hcp-auto-master b{font:700 var(--fs-xl) var(--display)}
.hcp-auto{display:flex;flex-direction:column;gap:var(--sp-3)}.hcp-auto-top{margin:0}.hcp-auto-top h3{font-size:var(--fs-xl);margin-bottom:var(--sp-1)}.hcp-auto-top p{font-size:var(--fs-m);color:var(--ink-2);line-height:1.6}.hcp-auto-top em{font-style:normal;font-weight:800;color:var(--brand-700);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;margin-right:var(--sp-2)}
.hcp-auto-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-m);background:var(--brand-50);color:var(--brand-700)}
.hcp-auto-save{position:sticky;bottom:14px;z-index:var(--z-raised);padding:var(--sp-4) var(--sp-5);border-radius:var(--r);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--sh-md)}

/* legacy list pages (programs, forms, resources, testimonials) */
.card.table-wrap,.table-wrap.card{padding:0;overflow:auto}
.table-wrap table,.card>table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-m)}
.table-wrap th,.card>table th{text-align:left;background:var(--surface-2);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);white-space:nowrap}
.table-wrap td,.card>table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-2);vertical-align:middle}.table-wrap tr:last-child td,.card>table tr:last-child td{border-bottom:0}
.table-wrap tbody tr:hover{background:color-mix(in srgb,var(--brand) 4%,var(--surface))}
.table-wrap td a,.table-wrap td .hcp-link{font-weight:700}.table-wrap td:last-child{white-space:nowrap}.table-wrap td:only-child{text-align:center;color:var(--muted);padding:var(--sp-12)}
.table-wrap td a[class=""],.table-wrap td>a:not(.hcp-btn):not(.hcp-primary){color:var(--brand-700);text-decoration:none}
.section-head .hcp-primary{flex:none}
a.hcp-primary,a.hcp-btn{text-decoration:none}
.editor-card .hcp-primary,.editor-card button[type=submit]{min-height:44px}
.hcp-notifs{padding:var(--sp-2) var(--sp-6)}.hcp-pop-empty{padding:var(--sp-10);text-align:center;color:var(--muted)}
.hcp-form-page{display:block}.hcp-card.hcp-narrow{max-width:760px}
@media(max-width:1100px){.hcp-phead-main{grid-template-columns:auto minmax(0,1fr)}.hcp-phead-actions{grid-column:1/-1;padding-top:var(--sp-4);justify-content:flex-start}}
@media(max-width:640px){.hcp-phead-main{grid-template-columns:minmax(0,1fr);padding:var(--sp-10) var(--sp-5) 0;gap:0}.hcp-phead .hcp-avatar-chip.is-xl{width:76px;height:76px;font-size:var(--fs-4xl)}.hcp-phead-id{padding-top:var(--sp-3)}.hcp-attn,.hcp-statstrip{padding-left:var(--sp-5);padding-right:var(--sp-5)}.hcp-statstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.hcp-phead-actions{padding-top:var(--sp-4)}.hcp-phead-meta{gap:var(--sp-2) var(--sp-4)}.hcp-profile>.hcp-tabs{top:84px}}
/* table identity cell must size to its content (overflow:hidden would collapse it to 0 width) */
.hcp-table .hcp-who b,.hcp-table .hcp-who small{overflow:visible;text-overflow:clip;white-space:nowrap}
.hcp-table .hcp-who>span:last-child{min-width:max-content}
.hcp-toolbar .hcp-search{order:1}.hcp-toolbar .hcp-toolbar-r{order:2}.hcp-toolbar .hcp-chips{order:3;flex:1 1 100%}


/* quick-create sheet (opened by the bottom-bar "+") */
.hcp-quick{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:var(--sp-3) var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom));padding-bottom:calc(96px + env(safe-area-inset-bottom));background:var(--scrim);backdrop-filter:blur(10px) saturate(1.2);animation:hcp-fade var(--dur) both}
.hcp-quick-sheet{position:relative;width:min(520px,100%);padding:var(--sp-3) var(--sp-5) var(--sp-5);border-radius:var(--r-2xl);background:var(--surface);box-shadow:var(--sh-lg),inset 0 1px 0 var(--edge);max-height:calc(100dvh - 120px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;animation:hcp-sheet var(--dur-slower) var(--ease) both}
.hcp-quick-sheet::before{content:"";position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(180deg,var(--brand-a12),transparent);pointer-events:none}
.hcp-quick-sheet>*{position:relative}
.hcp-quick-grab{display:block;width:40px;height:4px;margin:0 auto var(--sp-4);border-radius:var(--r-pill);background:var(--line)}
.hcp-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.hcp-quick-head h2{font-size:var(--fs-3xl);letter-spacing:-.03em}.hcp-quick-head p{color:var(--muted);font-size:var(--fs-m);margin-top:2px}
.hcp-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.hcp-quick-item{--t:var(--brand);--tb:var(--brand-50);display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--sp-3) var(--sp-4) var(--sp-4);border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface-2);text-align:left;cursor:pointer;font:inherit;color:var(--ink);box-shadow:var(--sh-xs),inset 0 1px 0 var(--edge);animation:hcp-rise var(--dur-slower) var(--ease) both;animation-delay:calc(var(--i,0) * 45ms + 60ms);transition:transform var(--dur) var(--ease),border-color var(--dur),background var(--dur)}
.hcp-quick-item:active{transform:scale(.96);border-color:var(--t)}
.hcp-quick-item i{display:grid;place-items:center;width:40px;height:40px;margin-bottom:var(--sp-2);border-radius:var(--r-m);background:var(--tb);color:var(--t);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t) 16%,transparent)}
.hcp-quick-item i .hcp-i{width:22px;height:22px}
.hcp-quick-item b{font-size:var(--fs-m);line-height:1.25;font-weight:700;letter-spacing:-.01em}.hcp-quick-item small{font-size:var(--fs-xs);color:var(--muted)}
.hcp-quick-item.is-warm{--t:var(--warn);--tb:var(--warn-bg)}.hcp-quick-item.is-info{--t:var(--info);--tb:var(--info-bg)}.hcp-quick-item.is-ok{--t:var(--ok);--tb:var(--ok-bg)}
.hcp-quick-item.is-pink{--t:var(--accent-2);--tb:color-mix(in srgb,var(--accent-2) 16%,var(--surface))}.hcp-quick-item.is-sun{--t:var(--amber);--tb:color-mix(in srgb,var(--amber) 18%,var(--surface))}
.hcp-quick-search{display:flex;align-items:center;gap:var(--sp-3);width:100%;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1.5px dashed var(--line);border-radius:var(--r-m);background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.hcp-quick-search span{flex:1;text-align:left}.hcp-quick-search kbd{display:none}
@keyframes hcp-sheet{from{opacity:0;transform:translateY(36px) scale(.97)}to{opacity:1;transform:none}}
/* KPI tiles: icon leads, label never competes with it */
.hcp-kpi{align-content:start;justify-items:start;min-height:156px;padding:var(--sp-5)}
.hcp-kpi-ico{position:static;order:0;width:40px;height:40px;margin-bottom:var(--sp-3)}
.hcp-kpi small{padding-right:0;order:1}.hcp-kpi b{order:2}.hcp-kpi em{order:3}
.hcp-kpi::after{right:-24px;bottom:-24px;width:96px;height:96px}
@media(max-width:560px){.hcp-kpi{min-height:0;padding:var(--sp-4)}.hcp-kpi-ico{width:36px;height:36px;margin-bottom:var(--sp-2)}.hcp-kpi b{margin:var(--sp-1) 0 2px}}


/* 19 ─ Overview, Clients and Client profile (redesign) */
.hcp-avatar-chip.is-xl{width:92px;height:92px;font-size:var(--fs-5xl);font-family:var(--display)}
/* ── Overview ── */
.ov{display:flex;flex-direction:column;gap:var(--sp-6)}
.ov-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-8);align-items:center;padding:var(--sp-10);border-radius:var(--r-2xl);color:var(--on-hero);overflow:hidden;background-image:var(--hero-dots),var(--hero);background-size:22px 22px,auto;background-color:var(--brand-deep);box-shadow:0 30px 60px -28px var(--brand-glow)}
.ov-hero::before,.ov-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.ov-hero::before{width:360px;height:360px;right:-90px;top:-150px;background:radial-gradient(circle,var(--lime-glow),transparent 68%)}
.ov-hero::after{width:280px;height:280px;left:30%;bottom:-190px;background:radial-gradient(circle,var(--pink-glow),transparent 70%)}
.ov-hero>*{position:relative;z-index:1}
.ov-hero .hcp-eyebrow{color:var(--lime)}
.ov-hero h1{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.035em;margin-bottom:var(--sp-2)}
.ov-hero p{max-width:54ch;font-size:var(--fs-l);opacity:.9}.ov-hero p b{color:var(--lime)}
.ov-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}
.ov-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-3);border-radius:var(--r-pill);background:var(--w-14);border:1px solid var(--w-20);color:var(--on-hero);text-decoration:none;font-size:var(--fs-s);backdrop-filter:blur(8px);transition:background var(--dur),transform var(--dur) var(--ease)}
.ov-chip .hcp-i{width:16px;height:16px;opacity:.85}.ov-chip b{font:800 var(--fs-l) var(--display)}.ov-chip span{opacity:.85;font-weight:600}
.ov-chip:hover{background:var(--w-25);transform:translateY(-1px)}
.ov-chip.is-danger{background:color-mix(in srgb,var(--bad) 55%,transparent);border-color:var(--w-25)}.ov-chip.is-info{background:color-mix(in srgb,var(--info) 50%,transparent);border-color:var(--w-25)}
.ov-hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}
.ov-hero-ring{display:grid;justify-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-xl);background:var(--w-10);border:1px solid var(--w-20);backdrop-filter:blur(10px);text-align:center}
.ov-hero-ring .hcp-ring{color:var(--lime)}.ov-hero-ring .hcp-ring .bg{stroke:var(--w-20)}.ov-hero-ring .hcp-ring b{color:var(--on-hero)}
.ov-hero-ring>div b{font:800 var(--fs-xl) var(--display);display:block}.ov-hero-ring>div small{display:block;opacity:.8;font-size:var(--fs-xs)}
.ov-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}
.ov-col{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}
.ov-msgs:empty{display:none}.ov-grid>.hcp-card{margin:0}
.ov-prios,.ov-cis,.ov-days{display:flex;flex-direction:column;gap:var(--sp-2)}
.ov-prio{--rail:var(--info);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-l);background:var(--surface-2);box-shadow:inset 4px 0 0 var(--rail);transition:background var(--dur-fast),transform var(--dur) var(--ease)}
.ov-prio.is-danger{--rail:var(--bad)}.ov-prio.is-warning{--rail:var(--amber)}
.ov-prio:hover{background:var(--surface-3)}.ov-prio .hcp-who{flex:1 1 170px}.ov-prio .hcp-arow-flags{flex:0 1 auto}.ov-prio-act{display:flex;gap:var(--sp-2);align-items:center;margin-left:auto}
.ov-slots{display:flex;flex-direction:column}
.ov-slot{display:grid;grid-template-columns:76px 14px minmax(0,1fr);gap:var(--sp-3);align-items:start;position:relative;padding-bottom:var(--sp-3)}
.ov-slot time{padding-top:var(--sp-3);text-align:right;white-space:nowrap;font:800 var(--fs-s) var(--display);color:var(--ink-2);font-variant-numeric:tabular-nums}
.ov-slot>i{position:relative;z-index:1;width:12px;height:12px;margin-top:var(--sp-4);border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}
.ov-slot::after{content:"";position:absolute;left:calc(76px + var(--sp-3) + 5px);top:calc(var(--sp-4) + 12px);bottom:calc(var(--sp-4) * -1);width:2px;background:var(--line)}
.ov-slot:last-child::after{display:none}
.ov-slot.is-web>i{background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 25%,transparent)}.ov-slot.is-done>i{background:var(--ok);box-shadow:0 0 0 4px var(--ok-bg)}.ov-slot.is-done .ov-slot-card{opacity:.7}
.ov-slot-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--line-2)}
.ov-slot-card b{display:block;font-size:var(--fs-m)}.ov-slot-card small{color:var(--muted);font-size:var(--fs-xs)}
.ov-ci,.ov-day{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-m);background:var(--surface-2)}.ov-ci .hcp-who{flex:1;min-width:0}
.ov-axis{display:flex;justify-content:space-between;margin-top:var(--sp-2);font-size:var(--fs-2xs);font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
/* ── Clients ── */
.cl-pipe{padding:var(--sp-5)}
.cl-pipe-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.cl-pipe-head b{font:700 var(--fs-xl) var(--display)}.cl-pipe-head small{color:var(--muted)}
.cl-pipe-bar{display:flex;gap:var(--sp-1);min-height:60px}
.cl-seg{--c:var(--brand);--cb:var(--brand-50);display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:84px;padding:var(--sp-2) var(--sp-4);border:0;border-radius:var(--r-m);background:var(--cb);color:var(--c);text-align:left;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur-fast)}
.cl-seg b{font:800 var(--fs-3xl)/1 var(--display);letter-spacing:-.03em}.cl-seg span{font-size:var(--fs-xs);font-weight:700}
.cl-seg.is-success{--c:var(--ok);--cb:var(--ok-bg)}.cl-seg.is-warning{--c:var(--warn);--cb:var(--warn-bg)}.cl-seg.is-danger{--c:var(--bad);--cb:var(--bad-bg)}.cl-seg.is-info{--c:var(--info);--cb:var(--info-bg)}.cl-seg.is-neutral{--c:var(--muted);--cb:var(--neutral-bg)}
.cl-seg:hover{transform:translateY(-2px)}.cl-seg.is-on{box-shadow:0 0 0 2px var(--c)}
.hcp-clients .hcp-toolbar{padding:var(--sp-3);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs)}
.hcp-clients .hcp-search{flex:1 1 260px}
.hcp-table tbody tr.cl-row td:first-child{box-shadow:inset 3px 0 0 var(--rail,transparent)}
.cl-row.is-success{--rail:var(--ok)}.cl-row.is-warning{--rail:var(--amber)}.cl-row.is-danger{--rail:var(--bad)}
.hcp-health{display:flex;flex-direction:row;align-items:center;gap:var(--sp-3);min-width:0}.hcp-health small{font-weight:700}
.hcp-mini{display:grid;gap:var(--sp-1);min-width:96px}.hcp-mini b{font:800 var(--fs-m) var(--display)}.hcp-mini small{color:var(--muted)}
.hcp-bar.is-thin{height:6px}
.hcp-ccard{gap:var(--sp-3)}.hcp-ccard-top>div:nth-child(2){flex:1;min-width:0}.hcp-ccard-top b{display:block;font:700 var(--fs-l) var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcp-ccard-top small{color:var(--muted)}
.cl-habit{display:grid;gap:var(--sp-2)}.cl-habit>div{display:flex;justify-content:space-between;align-items:baseline}.cl-habit small{color:var(--muted);font-weight:600}.cl-habit b{font:800 var(--fs-l) var(--display)}
.hcp-ccard dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-m);background:var(--surface-2)}.hcp-ccard dt{font-size:var(--fs-2xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hcp-ccard dd{margin:2px 0 0;font-weight:700;font-size:var(--fs-s)}
.hcp-bcol header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-3)}.hcp-bcol header b{flex:1;font:700 var(--fs-m) var(--display)}.hcp-bcol header em{font-style:normal;font-size:var(--fs-xs);font-weight:800;padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--surface);color:var(--muted)}
/* ── Client profile ── */
.pf-head{padding:0;overflow:hidden}.pf-head::before{display:none}
.pf-cover{height:120px;background-image:var(--hero-dots),var(--hero);background-size:22px 22px,auto;background-color:var(--brand-deep)}
.pf-head>:not(.pf-cover){margin-left:var(--sp-7);margin-right:var(--sp-7)}
.pf-head .hcp-phead-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--sp-5);margin-top:0;padding:var(--sp-5) 0 0}
.pf-head .hcp-statstrip{padding:0}
.pf-head .hcp-avatar-chip.is-xl{margin-top:calc(var(--sp-12) * -1);border:5px solid var(--surface);box-shadow:var(--sh)}
.pf-head .hcp-phead-id{padding-top:0;flex:none;min-width:0}
.pf-head .hcp-phead-actions{grid-column:1/-1;justify-content:flex-start;padding-top:var(--sp-2)}
@media(min-width:1700px){.pf-head .hcp-phead-main{grid-template-columns:auto minmax(0,1fr) auto}.pf-head .hcp-phead-actions{grid-column:auto;align-self:center;justify-content:flex-end;padding-top:0}}
.pf-head .hcp-phead-title h1{font-size:var(--fs-4xl)}
.hcp-phead-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}
.hcp-phead-meta>*{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2);font-size:var(--fs-xs);font-weight:600;text-decoration:none}
.hcp-phead-meta>a:hover{border-color:var(--brand);color:var(--brand)}.hcp-phead-meta .hcp-i{width:14px;height:14px;color:var(--muted)}
.pf-head .hcp-attn{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--warn-bg);flex-wrap:wrap}.pf-head .hcp-attn>span{display:inline-flex;gap:var(--sp-2);align-items:center;font-weight:800;color:var(--warn)}
.pf-head .hcp-statstrip{margin-top:var(--sp-5);margin-bottom:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.hcp-stat{flex-direction:row;transition:transform var(--dur) var(--ease),border-color var(--dur)}
.hcp-stat em{display:block;font-style:normal;font-size:var(--fs-xs);color:var(--muted)}
.hcp-stat.is-ok .hcp-stat-ico{background:var(--ok-bg);color:var(--ok)}.hcp-stat.is-bad .hcp-stat-ico{background:var(--bad-bg);color:var(--bad)}.hcp-stat.is-warn .hcp-stat-ico{background:var(--warn-bg);color:var(--warn)}
.hcp-stat.is-bad b{color:var(--bad)}
.hcp-profile .hcp-tabs{position:sticky;top:calc(var(--sp-2) + 76px);z-index:var(--z-raised);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--surface) 88%,transparent)}
.hcp-tab em{font-style:normal;min-width:20px;height:20px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--neutral-bg);color:var(--muted);font-size:var(--fs-2xs);font-weight:800;line-height:20px;text-align:center}.hcp-tab em.is-warn{background:var(--warn-bg);color:var(--warn)}.hcp-tab.is-on em{background:var(--w-25);color:var(--on-brand)}
.pf-snap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--sp-4);margin-bottom:var(--sp-5)}
.pf-goal{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-5) var(--sp-6);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand-50),var(--surface));border:1px solid var(--brand-100)}
.pf-goal>.hcp-i{flex:none;width:44px;height:44px;padding:var(--sp-3);border-radius:var(--r-m);background:var(--brand);color:var(--on-brand)}
.pf-goal>div{flex:1;min-width:0}.pf-goal small{font-size:var(--fs-2xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.pf-goal p{margin-top:var(--sp-1);font:600 var(--fs-xl)/1.4 var(--display);letter-spacing:-.01em}
.pf-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
.pf-facts>div{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-xs)}.pf-facts small{display:block;font-size:var(--fs-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pf-facts b{font:800 var(--fs-2xl) var(--display);letter-spacing:-.02em}
.hcp-profile .hcp-dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hcp-dl .is-wide{grid-column:1/-1}
.hcp-dl>div{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--surface-2)}.hcp-dl dd{margin:2px 0 0}

.hcp-link{white-space:nowrap}


/* 18 ─ premium polish: depth, rhythm, micro-interactions */

body.hcp-body{font-optical-sizing:auto;text-rendering:optimizeLegibility;caret-color:var(--brand);accent-color:var(--brand)}
h1,h2,h3{text-wrap:balance}p,.hcp-help,.hcp-empty p{text-wrap:pretty}
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 40%,transparent) transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 38%,transparent);border-radius:var(--r-pill);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;box-shadow:none}
.hcp-body input:focus-visible,.hcp-body select:focus-visible,.hcp-body textarea:focus-visible{outline:none}

/* surfaces: hairline edge + soft depth */
.hcp-card,.pr-card,.hcp-kpi,.pr-stat,.hcp-ccard,.hcp-auto,.hcp-phead,.card,.editor-card{box-shadow:var(--sh),inset 0 1px 0 var(--edge)}
.hcp-card::before,.pr-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,var(--brand-a8),transparent 38%);opacity:.55}
.hcp-card>*,.pr-card>*{position:relative}
.hcp-card.hcp-flush::before{display:none}
.hcp-card-head h2,.pr-card-h h2{font-size:var(--fs-xl);letter-spacing:-.025em}
.hcp-card-head p{margin-top:2px}

/* buttons */
.hcp-btn.is-primary,.hcp-primary{background-image:linear-gradient(180deg,var(--w-20),transparent 55%)}
.hcp-btn.is-secondary{box-shadow:var(--sh-xs),inset 0 1px 0 var(--edge)}
.hcp-btn:focus-visible,.hcp-primary:focus-visible,.hcp-iconbtn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.hcp-iconbtn{box-shadow:var(--sh-xs)}

/* checkboxes & radios */
.hcp-body input[type=checkbox],.hcp-body input[type=radio]{appearance:none;-webkit-appearance:none;position:relative;display:inline-grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast);vertical-align:middle}
.hcp-body input[type=checkbox]{border-radius:var(--r-xs)}.hcp-body input[type=radio]{border-radius:50%}
.hcp-body input[type=checkbox]:hover,.hcp-body input[type=radio]:hover{border-color:var(--brand)}
.hcp-body input[type=checkbox]:checked,.hcp-body input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}
.hcp-body input[type=checkbox]::after{content:"";width:12px;height:12px;background:var(--on-brand);transform:scale(0);transition:transform var(--dur-fast) var(--ease);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.hcp-body input[type=radio]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--on-brand);transform:scale(0);transition:transform var(--dur-fast) var(--ease)}
.hcp-body input[type=checkbox]:checked::after,.hcp-body input[type=radio]:checked::after{transform:scale(1)}
.hcp-body input[type=checkbox]:focus-visible,.hcp-body input[type=radio]:focus-visible{box-shadow:var(--ring)}
.hcp-switchrow input,.pr-switch input,.av-switch input{appearance:auto;-webkit-appearance:auto;border:0;background:none;opacity:0}
.hcp-switchrow input::after,.pr-switch input::after,.av-switch input::after,.hcp-days input::after,.pr-habits input::after,.pr-moods input::after{content:none}
.hcp-days input,.pr-habits input,.pr-moods input{opacity:0;border:0}

/* inputs */
.hcp-body input:disabled,.hcp-body select:disabled,.hcp-body textarea:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}
.hcp-body input:user-invalid,.hcp-body select:user-invalid,.hcp-body textarea:user-invalid{border-color:var(--bad)}
.hcp-field>span,.hcp-field>label{letter-spacing:.02em}

/* sidebar */
.hcp-side{box-shadow:var(--sh-md),inset 0 1px 0 var(--w-10)}
.hcp-navgroup+.hcp-navgroup{padding-top:var(--sp-3);border-top:1px solid var(--side-line)}
.hcp-navlink i{transition:transform var(--dur) var(--ease)}
.hcp-navlink.is-on i{transform:scale(1.08)}
.hcp-side-bottom{border:1px solid var(--side-line)}

/* hero */
.hcp-hero,.pr-hero{background-image:var(--hero-dots),var(--hero);background-size:22px 22px,auto;background-color:var(--brand-deep)}
.hcp-hero h1,.pr-hero h1{letter-spacing:-.035em}

/* KPI tiles */
.hcp-kpi{background-image:linear-gradient(160deg,var(--brand-a8),transparent 55%)}
.hcp-kpi b{letter-spacing:-.04em}
.hcp-kpi em{font-weight:600}
.hcp-kpi-ico{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone,var(--brand)) 14%,transparent)}

/* tables */
.hcp-table th{backdrop-filter:blur(8px);background:color-mix(in srgb,var(--surface-2) 88%,transparent)}
.hcp-table tbody tr td:first-child{box-shadow:inset 3px 0 0 transparent;transition:box-shadow var(--dur-fast)}
.hcp-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--brand)}
.hcp-table td b{font-weight:700}

/* badges: crisp inner edge */
.hcp-pill,.hcp-flag,.pr-chip{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}

/* charts */
.hcp-chart .line,.hcp-spark .line{filter:drop-shadow(0 6px 8px var(--brand-a30))}
.hcp-spark.is-success .line{filter:drop-shadow(0 4px 6px color-mix(in srgb,var(--ok) 35%,transparent))}
.hcp-revcol i,.hcp-bars i{box-shadow:inset 0 1px 0 var(--w-30)}
.hcp-revbar:hover .hcp-revcol b{color:var(--brand)}
.hcp-bar{box-shadow:inset 0 1px 2px rgb(var(--shadow-rgb) / .08)}
.hcp-mixbar i{box-shadow:inset 0 1px 0 var(--w-30)}

/* lists & empty states */
.hcp-list>li,.hcp-arow{transition:background var(--dur-fast)}
.hcp-empty,.pr-empty{border:1.5px dashed var(--line);border-radius:var(--r-l);margin:var(--sp-2) 0;background:var(--surface-2)}

/* overlays */
.hcp-drawer-head{background:linear-gradient(180deg,var(--brand-a8),transparent)}
.hcp-pal-item+.hcp-pal-item{margin-top:2px}
.hcp-menu-pop,.hcp-pop,.pr-bellpop,.pr-moremenu{box-shadow:var(--sh-lg),inset 0 1px 0 var(--edge)}
.hcp-toast,.pr-toast{border:1px solid var(--w-10)}

/* entrance rhythm */
.hcp-content>*,.pr-view.is-active>*{animation:hcp-rise var(--dur-slower) var(--ease) both}
.hcp-content>*:nth-child(2),.pr-view.is-active>*:nth-child(2){animation-delay:.05s}
.hcp-content>*:nth-child(3),.pr-view.is-active>*:nth-child(3){animation-delay:.1s}
.hcp-content>*:nth-child(4),.pr-view.is-active>*:nth-child(4){animation-delay:.15s}
.hcp-kpis>*:nth-child(2){animation-delay:.05s}.hcp-kpis>*:nth-child(3){animation-delay:.1s}.hcp-kpis>*:nth-child(4){animation-delay:.15s}.hcp-kpis>*:nth-child(5){animation-delay:.2s}
.hcp-cardgrid>*{animation:hcp-rise var(--dur-slower) var(--ease) both}

/* hover effects only where a real pointer exists */
@media(hover:hover){
  .hcp-card.is-link:hover,a.hcp-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md),inset 0 1px 0 var(--edge)}
}

/* skeleton loading utility */
.hcp-skel{display:block;min-height:1em;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:hcp-skel 1.4s linear infinite}
@keyframes hcp-skel{to{background-position:-200% 0}}

/* visually-hidden native inputs behind custom switches / pickers keep their full hit area */
.hcp-body .hcp-switchrow input,.hcp-body .pr-switch input,.hcp-body .av-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0}
.hcp-body .hcp-days input,.hcp-body .pr-habits input,.hcp-body .pr-moods input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}

}

@layer responsive{
/* 15 ─ responsive */
@media(max-width:1280px){.hcp-kpis.is-5{grid-template-columns:repeat(3,minmax(0,1fr))}.hcp-statstrip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1180px){.pr-home{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1080px){.hcp-grid2{grid-template-columns:minmax(0,1fr)}.hcp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hcp-dl{grid-template-columns:repeat(2,1fr)}.hcp-topsearch span,.hcp-topsearch kbd{display:none}.hcp-topsearch{min-width:0;padding:var(--sp-3) var(--sp-3)}}
@media(max-width:900px){
  .hcp-app{display:block;padding:var(--sp-3) var(--sp-3) 0}.hcp-menu-btn{display:inline-grid}.hcp-sideclose{display:inline-grid}.hcp-collapse{display:none}
  .hcp-side{position:fixed;z-index:var(--z-side);inset:10px auto 10px 10px;width:min(320px,86vw);height:auto;transform:translateX(-115%);transition:transform var(--dur-slow) var(--ease)}.hcp-side.is-open{transform:none}
  .hcp-top{top:10px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);margin-bottom:var(--sp-4);border-radius:var(--r)}.hcp-crumb b{font-size:var(--fs-xl)}.hcp-content{padding-bottom:120px}
  .hcp-hero{padding:var(--sp-7) var(--sp-6);border-radius:var(--r-xl)}.hcp-fgrid{grid-template-columns:minmax(0,1fr)}.hcp-drawer>form,.hcp-drawer>div,.hcp-drawer>aside{border-radius:var(--r-xl) var(--r-xl) 0 0;align-self:flex-end;height:min(92dvh,100%);width:100%}.hcp-drawer{align-items:flex-end}
  #hcp-toast{bottom:calc(100px + env(safe-area-inset-bottom));right:12px;left:12px;align-items:stretch}
  .pr-app{display:block;padding:var(--sp-3)}.pr-side,.pr-searchbtn span,.pr-searchbtn kbd,.pr-hello,.pr-top-r .hcp-btn span{display:none}.pr-searchbtn{min-width:0;padding:var(--sp-3) var(--sp-3)}.pr-top{top:10px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);margin-bottom:var(--sp-4)}.pr-main{padding-bottom:130px}
  .pr-moremenu{bottom:calc(100% + 12px);right:0;left:auto;top:auto;min-width:230px;background:var(--side-bg);border-color:var(--side-line)}.pr-moremenu a{display:flex;flex-direction:row;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);color:var(--side-ink);font-size:var(--fs-m);border-radius:var(--r-m);text-decoration:none;font-weight:600}.pr-moremenu a:hover{background:var(--side-hover);color:var(--on-dark)}
  .pr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-grid{grid-template-columns:minmax(0,1fr)}.pr-hero{padding:var(--sp-7) var(--sp-6);border-radius:var(--r-xl)}.pr-aifab{bottom:calc(98px + env(safe-area-inset-bottom));right:14px;padding:var(--sp-3) var(--sp-5)}.pr-moods{gap:var(--sp-2)}.pr-moods span{font-size:var(--fs-3xl);padding:var(--sp-3) 2px}
  .pp-sheet{align-items:flex-end}
}
@media(min-width:901px){.pp-sheet{align-items:center}.pp-box{border-radius:var(--r-2xl);max-height:90vh}}
@media(max-width:560px){.hcp-kpis,.hcp-kpis.is-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.hcp-kpi{min-height:132px;padding:var(--sp-4)}.hcp-kpi b{font-size:var(--fs-4xl)}.hcp-statstrip{grid-template-columns:repeat(2,1fr)}.hcp-card,.pr-card{padding:var(--sp-5);border-radius:var(--r-xl)}.hcp-login-card,.hcp-auth-card{padding:var(--sp-8) var(--sp-6);border-radius:var(--r-xl)}.hcp-arow{flex-wrap:wrap;gap:var(--sp-3)}.hcp-arow .hcp-who{flex:1 1 100%}.hcp-arow .hcp-btn{margin-left:auto}.hcp-kpis.is-5 .hcp-kpi:last-child{grid-column:1/-1}.hcp-kpis.is-3 .hcp-kpi:last-child{grid-column:1/-1}.hcp-revbars{gap:var(--sp-2)}.hcp-revcol b{font-size:var(--fs-2xs)}.hcp-phead{padding:var(--sp-5)}.hcp-pagehead h1{font-size:var(--fs-4xl)}.pr-trio{grid-template-columns:1fr}}


/* ───────── mobile chrome: header, premium bottom bar, centre "+" ───────── */
@media(max-width:900px){
  .hcp-new-menu{display:none}
  .hcp-top{top:calc(var(--sp-2) + env(safe-area-inset-top));gap:var(--sp-2);min-height:60px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-2);margin-bottom:var(--sp-4);border-radius:var(--r-xl)}
  .hcp-top-l{flex:1;min-width:0;gap:var(--sp-2)}.hcp-top-r{gap:var(--sp-2)}
  .hcp-menu-btn{display:inline-grid;flex:none}
  .hcp-crumb{min-width:0}.hcp-crumb small{display:none}.hcp-crumb b{font-size:var(--fs-xl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hcp-topsearch{width:var(--btn-h);min-width:0;height:var(--btn-h);padding:0;justify-content:center;border-radius:var(--r-m)}.hcp-topsearch span,.hcp-topsearch kbd{display:none}
  .hcp-top .hcp-iconbtn{width:var(--btn-h);height:var(--btn-h);border-radius:var(--r-m)}
  .hcp-top .hcp-iconbtn .hcp-badge{top:-4px;right:-4px}
  .hcp-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}

  .hcp-mobnav{position:fixed;z-index:var(--z-nav);left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 84px 1fr 1fr;align-items:end;height:68px;padding:var(--sp-2) var(--sp-2) var(--sp-2);border-radius:var(--r-xl);
    background:linear-gradient(180deg,color-mix(in srgb,var(--side-bg) 84%,var(--brand)),var(--side-bg));border:1px solid var(--w-10);box-shadow:var(--sh-lg),inset 0 1px 0 var(--w-14);isolation:isolate}
  .hcp-mobnav::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(120px 60px at 50% 0,var(--brand-a30),transparent 70%);pointer-events:none}
  .hcp-mobnav>a,.hcp-mobnav>button:not(.hcp-fab){position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:0;height:100%;padding:0;border:0;background:none;color:var(--side-dim);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .hcp-mobnav small{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.02em;transition:color var(--dur)}
  .hcp-mn-ico{position:relative;display:grid;place-items:center;width:46px;height:30px;border-radius:var(--r-pill);transition:background var(--dur) var(--ease),color var(--dur),transform var(--dur) var(--ease),box-shadow var(--dur)}
  .hcp-mn-ico .hcp-i{width:21px;height:21px}
  .hcp-mobnav>a:active .hcp-mn-ico,.hcp-mobnav>button:active .hcp-mn-ico{transform:scale(.9)}
  .hcp-mobnav>a.is-on{color:var(--on-dark)}.hcp-mobnav>a.is-on .hcp-mn-ico{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -6px var(--brand-glow)}
  .hcp-mn-ico .hcp-badge{position:absolute;top:-5px;right:2px;min-width:18px;height:18px;padding:0 var(--sp-1);border:2px solid var(--side-bg);font-size:var(--fs-2xs);line-height:14px}

  .hcp-fab{position:relative;justify-self:center;align-self:start;display:grid;place-items:center;width:64px;height:64px;margin-top:-30px;padding:0;border-radius:50%;border:5px solid var(--bg);cursor:pointer;color:var(--on-brand);
    background:linear-gradient(150deg,color-mix(in srgb,var(--brand) 82%,var(--white)),var(--brand) 45%,var(--brand-deep));box-shadow:0 16px 30px -10px var(--brand-glow),inset 0 1px 0 var(--w-40);-webkit-tap-highlight-color:transparent;transition:transform var(--dur-slow) var(--ease),box-shadow var(--dur)}
  .hcp-fab::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--brand-a30);animation:hcp-fab-ring 3s ease-out infinite;pointer-events:none}
  .hcp-fab-ico{display:grid;place-items:center;transition:transform var(--dur-slow) var(--ease)}.hcp-fab-ico .hcp-i{width:28px;height:28px;stroke-width:2.4}
  .hcp-fab:active{transform:scale(.92)}
  body.hcp-quick-open .hcp-fab-ico{transform:rotate(135deg)}body.hcp-quick-open .hcp-fab::before{animation:none;opacity:0}
  @keyframes hcp-fab-ring{0%{transform:scale(.88);opacity:.9}70%,100%{transform:scale(1.18);opacity:0}}
  body.hcp-quick-open .hcp-mobnav{z-index:calc(var(--z-modal) + 1)}

  .pr-bottom{position:fixed;z-index:var(--z-nav);left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));display:flex;align-items:stretch;justify-content:space-between;gap:var(--sp-1);height:68px;padding:var(--sp-2);border-radius:var(--r-xl);
    background:linear-gradient(180deg,color-mix(in srgb,var(--side-bg) 84%,var(--brand)),var(--side-bg));border:1px solid var(--w-10);box-shadow:var(--sh-lg),inset 0 1px 0 var(--w-14)}
  .pr-bottom>a,.pr-bottom>.pr-more{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:0;background:none;border-radius:var(--r-l);color:var(--side-dim);text-decoration:none;font-size:var(--fs-2xs);font-weight:700;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur),transform var(--dur-fast);-webkit-tap-highlight-color:transparent}
  .pr-bottom .hcp-i{width:22px;height:22px}.pr-bottom>a:active,.pr-bottom>.pr-more:active{transform:scale(.94)}
  .pr-bottom>a.is-on{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -8px var(--brand-glow)}
  .pr-bottom em{position:absolute;top:4px;right:calc(50% - 20px);min-width:18px;height:18px;padding:0 var(--sp-1);border:2px solid var(--side-bg);font-size:var(--fs-2xs);line-height:14px}
}
@media(min-width:901px){.hcp-quick{display:none}}

@media(max-width:1080px){.pf-snap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){
  .ov-hero{grid-template-columns:minmax(0,1fr);padding:var(--sp-6);border-radius:var(--r-xl);gap:var(--sp-4)}.ov-hero-ring,.ov-hero-actions{display:none}
  .ov-grid{display:flex;flex-direction:column;gap:var(--sp-6)}.ov-col{display:contents}
  .ov-attn{order:1}.ov-agenda{order:2}.ov-review{order:3}.ov-msgs{order:4}.ov-upcoming{order:5}.ov-engage{order:6}.ov-activity{order:7}
  .ov-slot{grid-template-columns:62px 12px minmax(0,1fr);gap:var(--sp-2)}.ov-slot time{font-size:var(--fs-xs)}.ov-slot::after{left:calc(62px + var(--sp-2) + 5px)}
  .ov-prio-act{width:100%;justify-content:flex-end}
  .hcp-profile .hcp-tabs{top:calc(var(--sp-2) + 68px)}
  .pf-head .hcp-phead-main{grid-template-columns:minmax(0,1fr)}.pf-head .hcp-avatar-chip.is-xl{margin-top:calc(var(--sp-12) * -1)}
  .pf-head>:not(.pf-cover){margin-left:var(--sp-4);margin-right:var(--sp-4)}.pf-cover{height:96px}
  .pf-head .hcp-phead-actions{width:100%}
  .cl-pipe-bar{overflow-x:auto;scrollbar-width:none}.cl-seg{flex:0 0 auto}
}
@media(max-width:560px){.hcp-card.pf-head{padding:0}.pf-head .hcp-phead-actions{display:flex;flex-wrap:wrap}.pf-head .hcp-phead-actions>.hcp-btn{flex:1 1 140px}.pf-head .hcp-statstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.hcp-stat{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.pf-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hcp-profile .hcp-dl{grid-template-columns:minmax(0,1fr)}}

}

@layer states{
/* state & utility layer: wins over every component, so no override flags are needed */
[hidden],.is-hidden{display:none}
.hcp-bad{color:var(--bad)}.hcp-good{color:var(--ok)}
.hcp-bulkbar[hidden],.pr-wiz-nav [hidden]{display:none}

}

@layer motion{
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}
@media print{.hcp-side,.hcp-top,.hcp-mobnav,.pr-side,.pr-top,.pr-bottom{display:none}body.hcp-body{background:var(--white)}.hcp-app,.pr-app{display:block;padding:0}}

@media(hover:none){.hcp-ccard:hover,a.hcp-kpi:hover,.pr-sess:hover,.pr-res:hover,.hcp-bcard:hover,.pp-app:hover,.hcp-navlink:hover,.hcp-btn:hover,.hcp-iconbtn:hover,.pr-aifab:hover{transform:none}}
@media(prefers-contrast:more){:root{--line:color-mix(in srgb,var(--ink) 35%,var(--surface))}.hcp-card,.pr-card,.hcp-kpi{border-color:var(--line)}}

}
