/* ===== DietSetu v6: quality pass + premium polish (loaded last, overrides older layers) ===== */
/* --- package card: one tick per line, badge never clipped, uncrowded header, no duplicate info --- */
.pkg{overflow:visible}
.pkg::before{border-radius:var(--r-l) var(--r-l) 0 0}
.pkg .incl li::marker{content:none}
.pkg .ribbon{position:static;align-self:flex-start;margin:0 0 .6rem;box-shadow:none;display:inline-flex;gap:.3rem;align-items:center}
.pkg-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .6rem}
.pkg-head h2{margin:0;min-width:0}
.badge.soft{background:var(--g50);color:var(--g700);border:1px solid var(--g100);font-weight:700}
html[data-theme=dark] .badge.soft{background:transparent;color:#8FD6A8;border-color:#2c4a3a}
.pkg-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;color:var(--muted);font-size:.88rem;font-weight:700;margin:.2rem 0 .1rem}
.pkg-meta span{display:inline-flex;align-items:center;gap:.35rem}.pkg-meta svg{width:16px;height:16px}
/* info icon hint (long help hidden behind ⓘ) */
.infowrap{position:relative;display:inline-flex;vertical-align:middle;margin-left:.25rem}
.info-i{width:28px;height:28px;min-height:0;padding:0;color:var(--muted)}.info-i svg{width:17px;height:17px}
.infotip{position:absolute;z-index:30;top:100%;left:0;width:min(280px,80vw);background:var(--ink);color:var(--surface);font-size:.83rem;line-height:1.4;padding:.6rem .75rem;border-radius:10px;box-shadow:var(--sh-l)}
/* goal editor */
.goalrow{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:.5rem;align-items:center}
@media (max-width:640px){.goalrow{grid-template-columns:1fr auto auto}.goalrow input:nth-child(2){grid-column:1/-1;grid-row:2}}
/* --- dietitian client page (v6) --- */
.backlink{display:inline-flex;align-items:center;gap:.2rem;font-weight:700;color:var(--muted);text-decoration:none;margin:.2rem 0 .6rem;font-size:.92rem}
.backlink svg{width:18px;height:18px}
.client-head.v6{padding:1rem 1.1rem}
.ch-top{display:flex;gap:.9rem;align-items:center}
.ch-id{flex:1;min-width:0}
.ch-id h1{margin:0;font-size:1.35rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-sub{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.86rem;font-weight:600;margin-top:.15rem;flex-wrap:wrap}
.ch-sub .dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
.ch-credits{font-weight:800}.ch-credits.ok{color:var(--g700)}html[data-theme=dark] .ch-credits.ok{color:#8FD6A8}
.ch-goals{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}
.chip-s{font-size:.74rem;font-weight:800;padding:.18rem .55rem;border-radius:99px;background:var(--g50);color:var(--g700);border:1px solid var(--g100)}
html[data-theme=dark] .chip-s{background:transparent;color:#8FD6A8;border-color:#2c4a3a}
.ch-actions{display:flex;gap:.45rem;align-items:center;flex-shrink:0}
.ch-admin{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}
.ch-assign{display:flex;align-items:center;gap:.5rem}
.popwrap{position:relative;display:inline-flex}
.popmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-l);padding:.35rem;display:flex;flex-direction:column;animation:ds-pop .16s cubic-bezier(.2,.8,.2,1)}
.popmenu button{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:none;border:0;padding:.65rem .75rem;border-radius:10px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;min-height:44px}
.popmenu button:hover,.popmenu button:focus-visible{background:var(--g50);outline:none}
html[data-theme=dark] .popmenu button:hover{background:rgba(255,255,255,.06)}
.popmenu button.danger{color:var(--red,#C0392B)}.popmenu svg{width:18px;height:18px}
.tabs6 .popwrap .popmenu{left:auto;right:0}
@keyframes ds-pop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.segnav.tabs6{display:flex;gap:.25rem;overflow:visible;flex-wrap:nowrap}
.segnav.tabs6>a{flex:1 1 0;justify-content:center;white-space:nowrap;padding:0 .6rem}.segnav.tabs6 .popwrap{flex:1 1 0}
.segnav button{flex:none;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:0 1.1rem;border-radius:999px;border:2px solid var(--line);background:var(--surface);font:inherit;font-weight:800;color:var(--g800);cursor:pointer;transition:all .18s}
.segnav.tabs6 .seg-more{width:100%;padding:0 .6rem}
.segnav button[aria-current=page]{background:var(--g700);color:#fff;border-color:var(--g700)}
html[data-theme=dark] .segnav button{color:#cfe9da}
.seg-more svg{width:16px;height:16px}
@media (max-width:420px){.ch-top{flex-wrap:wrap}.ch-actions{width:100%;justify-content:flex-start}.ch-actions .popwrap:first-child{flex:1}.ch-actions #call-btn{width:100%;justify-content:center}}
/* segmented control tabs (client page) */
.segnav.tabs6{background:var(--g50);border:1px solid var(--g100);border-radius:14px;padding:4px;gap:2px;margin-bottom:1rem}
html[data-theme=dark] .segnav.tabs6{background:rgba(255,255,255,.04);border-color:var(--line)}
.segnav.tabs6>a,.segnav.tabs6 .seg-more{flex:1 1 0;min-width:0;min-height:40px;padding:0 .25rem;border:0;border-radius:10px;background:transparent;font-size:.9rem;color:var(--muted);box-shadow:none}
.segnav.tabs6 .popwrap{min-width:0}
.segnav.tabs6>a[aria-current=page],.segnav.tabs6 .seg-more[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-s)}
html[data-theme=dark] .segnav.tabs6>a[aria-current=page],html[data-theme=dark] .segnav.tabs6 .seg-more[aria-current=page]{background:var(--g700);color:#fff}
/* measurements: one form, compact 2-column grid; steps quick chips; tool switches */
.entryform.k-measurements{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem}
.entryform.k-measurements>.btn{grid-column:1/-1}
.quickchips{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.2rem 0 .8rem}
.toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.1rem 1rem}
.toolrow{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.ticon.sm{width:32px;height:32px}.ticon.sm svg{width:17px;height:17px}
.lockbtn{opacity:.45}.lockbtn.on{opacity:1;color:var(--o700)}
/* pinned primary themes */
.pinned-themes{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pinned-theme{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:.8rem;border-radius:16px;border:2px solid var(--line);background:#fff;color:#14261C;font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s}
.pinned-theme.dark{background:#0E1713;color:#E8F2EC;border-color:#2b3b33}
.pinned-theme[aria-pressed=true]{border-color:var(--g600);box-shadow:0 0 0 3px color-mix(in srgb,var(--g600) 25%,transparent)}
.pinned-theme:active{transform:scale(.98)}
.pt-prev{display:flex;gap:4px;height:34px}.pt-prev i{flex:1;border-radius:8px;background:#F1F8F3}.pt-prev i:first-child{background:#166B3F}.pt-prev i:nth-child(2){background:#F28C1B}
.pinned-theme.dark .pt-prev i{background:#1B2B23}.pinned-theme.dark .pt-prev i:first-child{background:#1E8A4F}.pinned-theme.dark .pt-prev i:nth-child(2){background:#F28C1B}
.pt-name{display:flex;align-items:center;gap:.4rem}.pt-name svg{width:17px;height:17px}
.pt-lock{position:absolute;top:.55rem;right:.55rem;opacity:.6}.pt-lock svg{width:14px;height:14px}

/* =====================================================================================================
   v6 DESIGN SYSTEM: clean sans headings, calm neutral canvas, soft elevated cards, consistent spacing,
   refined nav (mobile bottom bar + desktop sidebar), inputs, buttons, chips, skeletons and empty states.
   Brand colours (theme.css, per clinic) still win because they load after this file.
   ===================================================================================================== */
:root{
  --display:'Nunito',ui-rounded,'Segoe UI',system-ui,-apple-system,sans-serif;
  --bg:#F5F7F6; --surface-2:#F8FAF9; --line:#E3EAE6; --muted:#55665C;
  --r-s:12px; --r:20px; --r-l:24px;
  --sh-s:0 1px 2px rgba(16,40,28,.04),0 4px 14px -6px rgba(16,40,28,.08);
  --sh:0 2px 6px rgba(16,40,28,.05),0 18px 40px -16px rgba(16,40,28,.18);
  --sp:1rem;
}
html[data-theme=dark]{--bg:#0C1411;--surface:#141F1A;--surface-2:#192620;--line:#24342C;--muted:#9DB2A6;
  --sh-s:0 1px 2px rgba(0,0,0,.45),0 6px 18px -8px rgba(0,0,0,.5);--sh:0 18px 40px -16px rgba(0,0,0,.7)}
body{font-size:15.5px;letter-spacing:.005em}
h1{font-family:var(--display);font-weight:900;letter-spacing:-.02em;font-size:clamp(1.45rem,1.15rem + 1.2vw,1.95rem)}
h2{font-size:1.08rem;font-weight:800;letter-spacing:-.01em}
h3{font-size:.98rem}
.eyebrow{font-size:.72rem;letter-spacing:.09em;font-weight:800}
.card{border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--sh-s);padding:1.05rem 1.1rem}
.card.tint{background:linear-gradient(180deg,var(--g50),var(--surface))}
html[data-theme=dark] .card.tint{background:linear-gradient(180deg,#16271E,var(--surface))}
.card.flat{box-shadow:none;background:var(--surface-2)}
/* buttons */
.btn{border-radius:14px;font-weight:800;letter-spacing:.01em;box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 6px 16px -10px rgba(16,40,28,.5)}
.btn.ghost{box-shadow:none}
.btn.sm{border-radius:11px}
.iconbtn{border-radius:12px}
/* inputs */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=url],input[type=date],input[type=time],select,textarea{border-radius:12px;border:1.5px solid var(--line);background:var(--surface);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--g600);box-shadow:0 0 0 4px color-mix(in srgb,var(--g600) 16%,transparent);outline:none}
/* mobile bottom bar: floating glass pill */
@media (max-width:899px){
  .tabs{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:22px;padding:.2rem .25rem;box-shadow:0 12px 34px -12px rgba(16,40,28,.35)}
  html[data-theme=dark] .tabs{box-shadow:0 12px 34px -12px rgba(0,0,0,.8)}
  .tabs a{min-height:54px;font-size:.68rem}
  .tabs a[aria-current="page"]::before{width:52px;height:32px;top:3px}
  main{padding-bottom:calc(var(--nav-h) + 28px + env(safe-area-inset-bottom))}
}
/* desktop sidebar */
@media (min-width:900px){
  .tabs a{border-radius:12px;font-size:.92rem}
  .tabs a[aria-current="page"]{background:var(--g50);color:var(--g700);font-weight:800;box-shadow:inset 3px 0 0 var(--g600)}
  html[data-theme=dark] .tabs a[aria-current="page"]{background:#17291F;color:#8FD6A8}
  .tabs a:hover{background:var(--surface-2)}
  #view{max-width:1120px}
}
/* welcome / hero */
.welcome{align-items:center;margin-bottom:.9rem}
.welcome h1{margin-bottom:.35rem}
.welcome .art{max-width:84px}
.next-card{border:0;color:#fff;background:radial-gradient(120% 140% at 100% 0%,var(--g600) 0%,var(--g800) 60%,var(--g900) 100%)!important}
html[data-theme=dark] .next-card{background:radial-gradient(120% 140% at 100% 0%,#1E8A4F 0%,#0F3F27 70%)!important}
.next-card .when{font-family:var(--display);font-weight:900;letter-spacing:-.02em}
/* tiles & minitiles */
.minitiles{gap:.6rem}
.minitile,.tile{border-radius:18px;border:1px solid var(--line);background:var(--surface);transition:transform .15s var(--ease),box-shadow .15s}
.minitile:active,.tile:active{transform:scale(.97)}
@media (hover:hover){.minitile:hover,.tile:hover{box-shadow:var(--sh);transform:translateY(-2px)}}
.minitile.done,.tile.done{background:linear-gradient(180deg,var(--g50),var(--surface));border-color:var(--g100)}
.ticon{border-radius:14px}
.qa-grid .qa{border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-s)}
.qa .qi{border-radius:14px}
/* tables */
.tbl th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tbl td,.tbl th{border-color:var(--line)}
/* page head */
.pagehead{margin-bottom:1rem}.pagehead p{margin-bottom:0}
/* stat cards (staff dashboards) */
.stat,.statcard{border-radius:18px}
.stat-v{font-family:var(--display);font-weight:900;letter-spacing:-.02em}
/* skeleton shimmer + empty states */
.skel,.skel-line{background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--line) 70%,transparent) 37%,var(--surface-2) 63%)!important;background-size:400% 100%!important;animation:ds-shimmer 1.3s ease infinite}
@keyframes ds-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.empty{padding:1.4rem .8rem}.empty .art{max-width:110px;margin-inline:auto}
.empty h3{font-size:1.02rem}.empty p{font-size:.9rem;color:var(--muted)}
/* toasts */
.toast{border-radius:14px;box-shadow:var(--sh)}
/* micro-interactions */
@media (prefers-reduced-motion:no-preference){
  .card{animation:ds-rise6 .34s var(--ease) both}
  @keyframes ds-rise6{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  #view>*>.card:nth-child(2){animation-delay:.03s}#view>*>.card:nth-child(3){animation-delay:.06s}#view>*>.card:nth-child(4){animation-delay:.09s}
  .switch span{transition:background .2s}
}
/* desktop: dashboards in a 2-column rhythm where it helps */
@media (min-width:1200px){
  .qa-grid{grid-template-columns:repeat(6,1fr)}
}
/* calmer alert cards: neutral surface + accent edge instead of a full orange wash */
.card.warn{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--o500);box-shadow:var(--sh-s)}
html[data-theme=dark] .card.warn{background:var(--surface);border-color:var(--line);border-left-color:var(--o700)}
/* client list: single clean row (no double border), hover lift, compact meta */
.card.client-row{padding:.75rem .9rem;margin-bottom:.55rem}
.card.client-row .rowlink{border:0!important;box-shadow:none!important;background:none!important;padding:0!important;border-radius:0}
@media (hover:hover){.card.client-row:hover{box-shadow:var(--sh);transform:translateY(-1px)}}
.card.client-row .assignrow{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}
/* package card polish */
.pkg h2{font-family:var(--display);font-weight:900;font-size:1.3rem;letter-spacing:-.02em}
.pkg .forgoal{align-self:flex-start;margin-bottom:.5rem}
.pkg .ribbon+.pkg-head,.pkg .forgoal+.ribbon{margin-top:0}
.pkg .forgoal+.ribbon{margin-left:.35rem}
.pkg{display:flex;flex-direction:column}
.pkg>.badge{display:inline-flex;width:auto}
.card.client-row .rowlink{margin:0!important}
/* health calculators */
.hc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}
.bmi-spark svg{display:block}
.hc-item{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:.75rem .85rem}
.hc-top{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.hc-l{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;width:100%}
.hc-v{font-size:1.6rem;font-weight:900;letter-spacing:-.02em;color:var(--head);font-variant-numeric:tabular-nums}
.hc-u{font-weight:700;color:var(--muted)}
.hc-tag{font-weight:800;font-size:.86rem}
.bmi-spark{margin-left:auto;width:90px;height:28px;display:inline-block}.bmi-spark polyline{stroke:var(--g600)}
.bmi-scale{position:relative;display:grid;grid-template-columns:20.6fr 26.5fr 11.8fr 41.1fr;gap:3px;height:9px;margin:.55rem 0 .2rem}
.bmi-scale .z{border-radius:6px;opacity:.85}.z.u{background:#F0B04B}.z.n{background:var(--g600)}.z.o{background:#F28C1B}.z.ob{background:#D9534F}
.bmi-scale .mk{position:absolute;top:-4px;width:4px;height:17px;border-radius:3px;background:var(--ink);transform:translateX(-50%);box-shadow:0 0 0 2px var(--surface);transition:left .6s var(--ease)}
.bmi-ticks{position:relative;height:1em}.bmi-ticks span{position:absolute;transform:translateX(-50%)}
.bmi-ticks span:nth-child(1){left:20.6%}.bmi-ticks span:nth-child(2){left:47.6%}.bmi-ticks span:nth-child(3){left:59.4%}
.hc-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-top:.8rem}
.hc-form label{display:flex;flex-direction:column;gap:.15rem}.hc-form input{width:84px}.hc-form .grow{flex:1;min-width:170px}
.hidden{display:none!important}
