/* ═══ Adherencia del cliente — js/40-adherencia.js ═══
   De la familia de «Señal del cliente» (#m-clientactivity): cabecera, anillo,
   la semana día por día y tarjetas hundidas. Estados: completo verde, parcial
   ámbar, sin cumplir coral; el acento de la marca marca hoy y la semana actual. */
#m-clientadh{--ok:#4ade80;--ok-rgb:74,222,128;--pa:#fbbf24;--pa-rgb:251,191,36;--no:#ff8a80;--no-rgb:255,120,110}
#m-clientadh .oad{display:flex;flex-direction:column;gap:12px;margin-top:4px}
#m-clientadh .oad svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

#m-clientadh .oad-hero{display:flex;align-items:center;gap:16px;padding:16px;border-radius:22px;--tone:rgba(255,255,255,.35);
  background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#m-clientadh .oad-hero.is-good{--tone:var(--ok);background:linear-gradient(150deg,rgba(var(--ok-rgb),.12),rgba(0,0,0,.18));box-shadow:inset 0 0 0 1px rgba(var(--ok-rgb),.28)}
#m-clientadh .oad-hero.is-mid{--tone:var(--pa);background:linear-gradient(150deg,rgba(var(--pa-rgb),.1),rgba(0,0,0,.18));box-shadow:inset 0 0 0 1px rgba(var(--pa-rgb),.26)}
#m-clientadh .oad-hero.is-low{--tone:var(--no);background:linear-gradient(150deg,rgba(var(--no-rgb),.09),rgba(0,0,0,.18));box-shadow:inset 0 0 0 1px rgba(var(--no-rgb),.26)}
#m-clientadh .oad-ring{position:relative;flex:0 0 80px;width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--tone) calc(var(--p)*1%),rgba(255,255,255,.08) 0);box-shadow:0 10px 26px -12px var(--tone)}
#m-clientadh .oad-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--cx-surface,#15171b)}
#m-clientadh .oad-ring b,#m-clientadh .oad-ring span{position:relative;font-family:var(--font,"Inter"),sans-serif;line-height:1}
#m-clientadh .oad-ring b{font-size:26px;font-weight:850;letter-spacing:-.04em;color:var(--tone)}
#m-clientadh .oad-ring span{font-size:12px;font-weight:700;color:var(--cx-label,rgba(214,224,238,.55));margin:6px 0 0 1px}
#m-clientadh .oad-hero-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
#m-clientadh .oad-hero-copy small{font:800 10.5px/1 var(--font,"Inter"),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text,#9ccaff)}
#m-clientadh .oad-hero-copy strong{font:700 15px/1.3 var(--font,"Inter"),sans-serif;color:#f4f7fb}
#m-clientadh .oad-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
#m-clientadh .oad-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:99px;font:650 11px/1.2 var(--font,"Inter"),sans-serif;
  color:rgba(236,240,246,.82);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
#m-clientadh .oad-chip.is-up{color:#86efac;background:rgba(var(--ok-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--ok-rgb),.28)}
#m-clientadh .oad-chip.is-down{color:#ffb4ab;background:rgba(var(--no-rgb),.09);box-shadow:inset 0 0 0 1px rgba(var(--no-rgb),.28)}

#m-clientadh .oad-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
#m-clientadh .oad-day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 2px 7px;border-radius:14px;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#m-clientadh .oad-day-l{font:800 10px/1 var(--font,"Inter"),sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--cx-label,rgba(214,224,238,.55))}
#m-clientadh .oad-day-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
#m-clientadh .oad-day-dot svg{width:12px;height:12px}
#m-clientadh .oad-day-dot b{font:900 12px/1 var(--font,"Inter"),sans-serif;color:#2a1a02}
#m-clientadh .oad-day-n{font:700 10px/1 var(--font,"Inter"),sans-serif;font-variant-numeric:tabular-nums;color:rgba(236,240,246,.45)}
#m-clientadh .oad-day.is-done{background:linear-gradient(170deg,rgba(var(--ok-rgb),.13),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(var(--ok-rgb),.28)}
#m-clientadh .oad-day.is-done .oad-day-dot{color:#052e14;background:linear-gradient(145deg,#86efac,#22c55e);box-shadow:0 4px 12px rgba(var(--ok-rgb),.3)}
#m-clientadh .oad-day.is-part{background:linear-gradient(170deg,rgba(var(--pa-rgb),.11),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(var(--pa-rgb),.26)}
#m-clientadh .oad-day.is-part .oad-day-dot{background:linear-gradient(145deg,#fde68a,#f59e0b);box-shadow:0 4px 12px rgba(var(--pa-rgb),.26)}
#m-clientadh .oad-day.is-miss{box-shadow:inset 0 0 0 1px rgba(var(--no-rgb),.22)}
#m-clientadh .oad-day.is-miss .oad-day-dot{color:#ffb4ab;background:rgba(var(--no-rgb),.13);box-shadow:inset 0 0 0 1px rgba(var(--no-rgb),.3)}
#m-clientadh .oad-day.is-off{opacity:.45}
#m-clientadh .oad-day.is-today{box-shadow:inset 0 0 0 1.5px rgba(var(--accent-rgb),.75)}
#m-clientadh .oad-day.is-today .oad-day-l{color:var(--accent-text,#9ccaff)}
#m-clientadh .oad-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:-3px;font:600 10.5px var(--font,"Inter"),sans-serif;color:var(--cx-label,rgba(214,224,238,.55))}
#m-clientadh .oad-legend span{display:inline-flex;align-items:center;gap:5px}
#m-clientadh .oad-legend i{width:8px;height:8px;border-radius:3px}

#m-clientadh .oad-card{padding:13px 14px;border-radius:18px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#m-clientadh .oad-lbl{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:11px}
#m-clientadh .oad-lbl span{font:800 10.5px/1 var(--font,"Inter"),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-label,rgba(214,224,238,.55))}
#m-clientadh .oad-lbl em{font:650 11px var(--font,"Inter"),sans-serif;font-style:normal;color:rgba(236,240,246,.6)}
#m-clientadh .oad-wks{display:flex;align-items:flex-end;gap:6px}
#m-clientadh .oad-wk{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}
#m-clientadh .oad-wk em{font:800 10px/1 var(--font,"Inter"),sans-serif;font-style:normal;font-variant-numeric:tabular-nums;color:rgba(236,240,246,.7)}
#m-clientadh .oad-wk-bar{width:100%;height:62px;display:flex;align-items:flex-end;border-radius:8px;background:rgba(255,255,255,.035)}
#m-clientadh .oad-wk-bar i{display:block;width:100%;border-radius:8px;background:rgba(255,255,255,.14)}
#m-clientadh .oad-wk small{font:650 10px/1 var(--font,"Inter"),sans-serif;color:var(--cx-label,rgba(214,224,238,.55));white-space:nowrap}
#m-clientadh .oad-wk.is-now em{color:var(--accent-text,#9ccaff)}
#m-clientadh .oad-wk.is-now .oad-wk-bar{box-shadow:inset 0 0 0 1.5px rgba(var(--accent-rgb),.55)}
#m-clientadh :is(.oad-wk-bar i,.oad-month-t span,.oad-cal i,.oad-legend i).is-good,
#m-clientadh :is(.oad-cal i,.oad-legend i).is-done{background:linear-gradient(170deg,#86efac,#22c55e)}
#m-clientadh :is(.oad-wk-bar i,.oad-month-t span).is-mid,
#m-clientadh :is(.oad-cal i,.oad-legend i).is-part{background:linear-gradient(170deg,#fde68a,#f59e0b)}
#m-clientadh :is(.oad-wk-bar i,.oad-month-t span).is-low{background:linear-gradient(170deg,#ffb4ab,#f05252)}
#m-clientadh :is(.oad-cal i,.oad-legend i).is-miss{background:rgba(var(--no-rgb),.32)}

#m-clientadh .oad-month-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px}
#m-clientadh .oad-month-t{flex:1;display:flex;align-items:center;justify-content:center;gap:9px}
#m-clientadh .oad-month-t b{font:750 15px var(--font,"Inter"),sans-serif;color:#f4f7fb}
#m-clientadh .oad-month-t span{padding:3px 9px;border-radius:99px;font:850 12px/1.2 var(--font,"Inter"),sans-serif;color:#081008;background:rgba(255,255,255,.12)}
#m-clientadh .oad-month-t span.is-none{color:var(--cx-label,rgba(214,224,238,.55))}
#m-clientadh .oad-nav{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:12px;cursor:pointer;color:#f4f7fb;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);-webkit-tap-highlight-color:transparent}
#m-clientadh .oad-nav svg{width:16px;height:16px}
#m-clientadh .oad-nav:disabled{opacity:.3;cursor:default}
#m-clientadh .oad-nav:not(:disabled):active{transform:scale(.94)}
#m-clientadh .oad-cols,#m-clientadh .oad-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
#m-clientadh .oad-cols{margin-bottom:5px}
#m-clientadh .oad-cols span{text-align:center;font:800 10px var(--font,"Inter"),sans-serif;color:var(--cx-label,rgba(214,224,238,.55))}
#m-clientadh .oad-cal i{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-style:normal;background:rgba(255,255,255,.045)}
#m-clientadh .oad-cal i span{font:700 11px/1 var(--font,"Inter"),sans-serif;font-variant-numeric:tabular-nums;color:rgba(236,240,246,.55)}
#m-clientadh .oad-cal i.is-pad{background:none}
#m-clientadh .oad-cal i.is-off{background:rgba(255,255,255,.02)}
#m-clientadh .oad-cal i.is-off span{color:rgba(236,240,246,.22)}
#m-clientadh .oad-cal i:is(.is-done,.is-part) span{color:#0b1206}
#m-clientadh .oad-cal i.is-miss span{color:#ffd6d1}
#m-clientadh .oad-cal i.is-today{box-shadow:inset 0 0 0 1.5px rgba(var(--accent-rgb),.85)}
#m-clientadh .oad-mstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
#m-clientadh .oad-mstats span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:12px;background:rgba(255,255,255,.03);
  font:600 10px/1.15 var(--font,"Inter"),sans-serif;color:var(--cx-label,rgba(214,224,238,.55));text-align:center}
#m-clientadh .oad-mstats b{font:850 18px/1 var(--font,"Inter"),sans-serif;letter-spacing:-.03em;color:#f4f7fb}

#m-clientadh .oad-acciones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#m-clientadh .oad-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 10px;border:0;border-radius:14px;cursor:pointer;
  font:700 13px var(--font,"Inter"),sans-serif;color:#eef2f7;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent}
#m-clientadh .oad-btn .iq-ic{width:16px;height:16px;display:inline-flex}
#m-clientadh .oad-btn.is-main{color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 86%,#fff),var(--accent));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 24px -12px rgba(var(--accent-rgb),.9)}
#m-clientadh .oad-btn:active{transform:scale(.97)}
#m-clientadh .oad-nota{margin:0;font:500 11px/1.5 var(--font,"Inter"),sans-serif;color:var(--cx-sub,rgba(214,224,238,.62));text-align:center}
