/* ═══════════════════════════════════════════════════════════════════════
   OneProtocol — 20-coach
   Panel del coach, ficha del socio y modales con una sola voz.

   El panel, la ficha y los modales mezclaban cinco familias (Inter, Barlow,
   Barlow Condensed, Arial y monospace), etiquetas de 6.5 a 13 px y un espaciado
   de letras de .03 a .28em. Esta hoja se carga al final y fija una escala:
   Inter en todo, etiquetas en mayúsculas a .08em, cifras a 800 tabulares con
   tracking negativo y las mismas superficies --cx-* que usa el cliente.

   Fuera de alcance: los builders de rutina y dieta (#m-routine-builder,
   #m-diet-builder) conservan su tipografía, que también va en los PDF y HTML
   que exportan. Las gráficas (CHARTS_SYSTEM.md) solo reciben marco.
═══════════════════════════════════════════════════════════════════════ */

/* ── 0. Una familia ─────────────────────────────────────────────────── */
#scr-ptd{--px-cond:var(--font)}
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :not(svg):not(svg *){
  font-family:var(--font)!important;
}
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :is(input,textarea,select,button){font-family:var(--font)!important}

/* Etiquetas en mayúsculas: un solo espaciado, sin rótulos ilegibles */
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :is(
  .tb-sub,.ptd-command-kicker,.ptd-command-goal,.ni-manager-kicker,.ficha-section-lbl,.ficha-cell-k,
  .su,.snap-heading-copy,.fxs,.ptd-macro-mode,.ptd-text-action,.mcx-kicker,.badge,.op-auto-eyebrow,.flbl,
  .memb-hero-estado,.memb-label,.memb-sinfecha,.rn-kicker,.ti-sub,.adm-command-eyebrow,.adm-command-name,
  .adm-command-new-label,.pwa-banner-kicker,.adm-kpi-tag,.adm-kpi-lbl,.pt-count-lbl,.ptc-goal,.ptc-mb-lbl,
  .ptc-stat-lbl,.newpt-eyebrow,.np-sec,.mx-eyebrow,.mx-sec,.mx-version,.fx-card-lbl,.field-unit-label,
  .op-inbox-eyebrow,.dpx-sec,.dpx-stat-k,.clientact-hero-lbl,.pn-eyebrow,.pn-field-label,.bc-tag){
  letter-spacing:.08em!important;
}
/* Ningún rótulo por debajo de 10 px (había de 6.5, 7.5 y 8) */
:where(#scr-admin,#scr-ptd,.mover) :is(.ptd-command-kicker,.ptd-command-goal,.adm-command-name,.pwa-banner-kicker,
  .adm-kpi-tag,.adm-kpi-lbl,.ptc-goal,.ptc-mb-lbl,.ptc-stat-lbl,.fx-card-lbl,.op-inbox-eyebrow,.clientact-hero-lbl,
  .pn-eyebrow,.tb-sub,.newpt-eyebrow,.rn-kicker,.mx-eyebrow){
  font-size:10px!important;
}

/* Cifras y títulos grandes: Inter apretado, como en el cliente */
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :is(
  .ptd-command-name,.bc-val,.adm-hero-greet,.adm-kpi-val,.ptc-name,.mx-title,.mtitle,.dpx-name,.dpx-stat-v,
  .clientact-hero-time,.fx-imc-val,.edad-badge-val,h1,h2,h3){
  letter-spacing:-.025em!important;
}
:where(#scr-admin,#scr-ptd,.mover) :is(.adm-kpi-val,.bc-val,.dpx-stat-v,.clientact-hero-time,.fx-imc-val,.ptc-stat-val,.ptc-mb-num){
  font-variant-numeric:tabular-nums;font-weight:800!important;
}

/* ── 1. Superficies comunes ─────────────────────────────────────────── */
#scr-admin,#scr-ptd{
  background:radial-gradient(130% 46% at 50% -8%,rgba(var(--accent-rgb),.10),transparent 60%),var(--bg,#0f1012)!important;
}
#scr-admin :is(.adm-hero,.adm-kpi,.ptcard,.pwa-banner),
#scr-ptd :is(.ptd-command,.card){
  background:var(--cx-surface)!important;border:0!important;
  box-shadow:var(--cx-edge),var(--cx-shadow)!important;
}

/* ── 2. Barra del panel ─────────────────────────────────────────────── */
#scr-admin .adm-command-topbar{
  background:linear-gradient(180deg,rgba(14,15,18,.96),rgba(14,15,18,.88))!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;box-shadow:none!important;
}
#scr-admin .adm-command-topbar::after{display:none!important}
#scr-admin .adm-command-eyebrow{display:none!important}
#scr-admin .adm-command-logo-wrap{width:40px!important;height:40px!important;border-radius:12px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 18px -10px rgba(0,0,0,.9)!important}
#scr-admin .adm-command-title{font-size:21px!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.05!important}
#scr-admin .adm-command-name{margin-top:2px;font-size:12.5px!important;font-weight:500!important;letter-spacing:0!important;
  text-transform:none!important;color:var(--cx-sub)!important}
#scr-admin .adm-command-new{
  height:38px!important;min-height:38px!important;padding:0 14px 0 11px!important;border-radius:999px!important;border:0!important;gap:7px!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 22px -12px rgba(var(--accent-rgb),.9)!important;
}
#scr-admin .adm-command-new-label{font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
#scr-admin .adm-command-btn{width:38px!important;height:38px!important;border-radius:12px!important;
  background:rgba(255,255,255,.05)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important}

/* ── 3. Saludo ──────────────────────────────────────────────────────── */
#scr-admin .adm-hero{border-radius:var(--cx-radius)!important;padding:18px!important;
  background:radial-gradient(90% 120% at 100% 0%,rgba(var(--accent-rgb),.16),transparent 58%),var(--cx-surface)!important}
#scr-admin .adm-hero::after{display:none!important}
#scr-admin .adm-hero::before{opacity:.5}
#scr-admin .adm-hero-inner{gap:14px!important;align-items:center!important}
#scr-admin .adm-hero-av{width:54px!important;height:54px!important;min-width:54px;border-radius:50%!important;
  font-size:18px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#fff!important;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 70%,#fff 10%),color-mix(in srgb,var(--accent) 45%,#14161a))!important;
  box-shadow:0 0 0 2px #15171b,0 0 0 3.5px rgba(var(--accent-rgb),.55),0 12px 24px -12px rgba(var(--accent-rgb),.8)!important}
#scr-admin .adm-hero-eyebrow{padding:0!important;background:none!important;border:0!important;gap:6px!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--cx-label)!important}
#scr-admin .adm-hero-greet{margin-top:3px!important;font-size:24px!important;font-weight:800!important;line-height:1.12!important;color:#fff!important}
#scr-admin .adm-hero-pills{gap:8px!important;margin-top:16px!important}
#scr-admin .adm-hp{min-height:34px!important;padding:0 13px 0 10px!important;border-radius:999px!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:0!important}

/* ── 4. Indicadores ─────────────────────────────────────────────────── */
#scr-admin .adm-kpis{gap:10px!important;margin:14px 0 22px!important}
#scr-admin .adm-kpi{border-radius:20px!important}
#scr-admin .adm-kpi::before,#scr-admin .adm-kpi::after{opacity:.45}
#scr-admin #kpi-all{padding:16px 18px 15px!important;column-gap:16px!important}
#scr-admin #kpi-all .adm-kpi-val{font-size:46px!important;letter-spacing:-.05em!important}
#scr-admin #kpi-all .adm-kpi-ic{width:30px!important;height:30px!important;border-radius:10px!important}
#scr-admin #kpi-all .adm-kpi-lbl{font-size:13.5px!important;font-weight:600!important;color:var(--cx-sub)!important;letter-spacing:0!important}
#scr-admin .adm-kpi-tag{padding:4px 9px!important;border-radius:999px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important}
#scr-admin .adm-kpi:not(#kpi-all){padding:13px 12px 13px!important}
#scr-admin .adm-kpi:not(#kpi-all) .adm-kpi-val{font-size:30px!important;letter-spacing:-.04em!important;margin:2px 0 3px!important}
#scr-admin .adm-kpi:not(#kpi-all) .adm-kpi-lbl{font-size:11.5px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--cx-label)!important}
#scr-admin .adm-kpi-track{height:4px!important;border-radius:4px!important;background:rgba(255,255,255,.06)!important}
#scr-admin .adm-kpi-fill{border-radius:4px!important}

/* ── 5. Lista: rótulo, búsqueda y orden ─────────────────────────────── */
#scr-admin .sl{font-size:var(--cx-fs-label)!important;font-weight:800!important;color:var(--cx-label)!important;letter-spacing:.1em!important;margin:4px 2px 12px!important}
#scr-admin .pt-count-lbl{font-size:11px!important;font-weight:700!important;letter-spacing:0!important;padding:3px 9px!important;border-radius:999px!important;
  background:rgba(255,255,255,.06)!important;border:0!important;color:var(--cx-sub)!important}
#scr-admin .admin-search input{height:48px!important;border-radius:16px!important;border:0!important;font-size:16px!important;
  background:rgba(255,255,255,.045)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important}
#scr-admin .admin-search input:focus{box-shadow:inset 0 0 0 1.5px rgba(var(--accent-rgb),.7),0 0 0 4px rgba(var(--accent-rgb),.12)!important}
#scr-admin .pt-sort-row{gap:7px!important;margin:12px 0 16px!important;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap!important}
#scr-admin .pt-sort-row::-webkit-scrollbar{display:none}
#scr-admin .pt-sort-lbl{font-size:12px!important;font-weight:600!important;color:var(--cx-label)!important;letter-spacing:0!important;flex:none}
#scr-admin .pt-sort-btn{flex:none;height:34px!important;min-height:34px!important;padding:0 14px!important;border-radius:999px!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:0!important;border:0!important;
  background:rgba(255,255,255,.05)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important;color:var(--cx-sub)!important}
#scr-admin .pt-sort-btn.on{color:#fff!important;background:rgba(var(--accent-rgb),.22)!important;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.55)!important}

/* ── 6. Tarjeta de cliente ──────────────────────────────────────────── */
#scr-admin .ptcard{border-radius:var(--cx-radius)!important;padding:16px 16px 10px 18px!important;gap:12px!important}
#scr-admin .ptcard::before{width:3px!important;top:18px!important;bottom:18px!important;border-radius:3px!important;left:0!important}
#scr-admin .ptc-name{font-size:18px!important;font-weight:700!important;letter-spacing:-.02em!important}
#scr-admin .ptc-goal{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;
  padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
#scr-admin .ptc-mb{border-radius:12px!important;border:0!important;background:rgba(255,255,255,.045)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important}
#scr-admin .ptc-mb-lbl{font-size:10px!important;font-weight:800!important}
#scr-admin .ptc-mb-num{font-size:15px!important;font-weight:800!important;letter-spacing:-.02em!important}
#scr-admin .ptc-plan-status{border-radius:10px!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
#scr-admin .ptc-plan-status.is-empty{border:1px dashed rgba(255,255,255,.14)!important;color:var(--cx-label)!important;background:transparent!important}
#scr-admin .ptc-glance{border-radius:16px!important;border:0!important;background:rgba(0,0,0,.22)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)!important;min-height:62px!important}
#scr-admin .ptc-glance-item b{font-size:19px!important;font-weight:800!important;letter-spacing:-.03em!important}
#scr-admin .ptc-glance-item b em{font-size:11px!important;font-weight:600!important;font-style:normal;color:var(--cx-label);margin-left:2px}
#scr-admin .ptc-glance-item small{font-size:10px!important;font-weight:700!important;letter-spacing:.06em!important;color:var(--cx-label)!important}
#scr-admin .ptcard-trend{font-size:10.5px!important;font-weight:700!important;letter-spacing:0!important}
#scr-admin .ptc-activity-status b{font-size:13px!important;font-weight:700!important;letter-spacing:0!important}
#scr-admin .ptc-expand-cue{min-height:22px!important;margin-top:0!important}
#scr-admin .ptc-stat-val{font-size:17px!important}
#scr-admin .ptc-action-tile{border-radius:14px!important}
#scr-admin .ptc-action-tile-copy strong{font-size:13px!important;font-weight:700!important;letter-spacing:0!important}
#scr-admin .ptc-action-tile-copy small{font-size:11px!important;letter-spacing:0!important;text-transform:none!important}
/* Membresía: estado arriba y días abajo; en fila no cabía con letra legible */
#scr-admin .ptc-badge-stack{width:84px!important;flex-basis:84px!important;gap:6px!important}
#scr-admin .ptc-mb{min-height:48px!important;padding:7px 8px 11px!important}
#scr-admin .ptc-mb-body{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}
#scr-admin .ptc-mb-lbl{font-size:9.5px!important;letter-spacing:.08em!important}
#scr-admin .ptc-mb-num{font-size:16px!important}
#scr-admin .ptc-mb-track{left:10px!important;right:10px!important;bottom:6px!important;height:3px!important;border-radius:3px!important}
#scr-admin .ptc-plan-status{min-height:30px!important}
/* El objetivo llega en mayúsculas desde el JS: se lee en tipo oración */
#scr-admin .ptc-goal{display:inline-block!important;text-transform:lowercase!important}
#scr-admin .ptc-goal::first-letter{text-transform:uppercase}
#scr-admin .ptc-activity-status{padding:4px 9px!important;gap:5px!important;max-width:100%}
#scr-admin .ptc-activity-status b{font-size:12px!important}
#scr-admin .ptcard{padding-bottom:6px!important}
#scr-admin .ptc-expand-cue{min-height:18px!important;color:rgba(212,226,240,.4)!important}

/* ── 7. Ficha del socio: barra ──────────────────────────────────────── */
#scr-ptd{--px-panel:var(--cx-surface);--px-cond:var(--font)}
#scr-ptd>.topbar{background:linear-gradient(180deg,rgba(14,15,18,.96),rgba(14,15,18,.88))!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
#scr-ptd>.topbar .ibtn{width:38px!important;height:38px!important;border-radius:12px!important;background:rgba(255,255,255,.05)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important}
#scr-ptd #ptd-hd-name{font-size:16px!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important}
#scr-ptd #ptd-hd-goal{display:inline-block;margin-top:2px;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:lowercase!important;color:var(--cx-label)!important}
#scr-ptd #ptd-hd-goal::first-letter{text-transform:uppercase}

/* ── 8. Ficha: tarjeta de identidad ─────────────────────────────────── */
#scr-ptd .ptd-command{border-radius:24px!important;
  background:radial-gradient(90% 110% at 0% 0%,rgba(var(--ptd-rgb,var(--accent-rgb)),.16),transparent 60%),var(--cx-surface)!important}
#scr-ptd .ptd-command::before,#scr-ptd .ptd-command::after{opacity:.35}
#scr-ptd .ptd-command-avatar{border-radius:50%!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;
  box-shadow:0 0 0 2px #16181c,0 0 0 3.5px rgba(var(--ptd-rgb,var(--accent-rgb)),.6),0 14px 26px -14px rgba(var(--ptd-rgb,var(--accent-rgb)),.85)!important}
#scr-ptd .ptd-command-kicker{display:flex;align-items:center;gap:6px;font-size:10px!important;font-weight:800!important;letter-spacing:.1em!important;color:var(--cx-label)!important}
#scr-ptd .ptd-command-meta{font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--cx-sub)!important}
#scr-ptd .ptd-command-name{font-size:25px!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.1!important}
#scr-ptd .ptd-command-goal{display:inline-block;padding:5px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;
  letter-spacing:0!important;text-transform:lowercase!important}
#scr-ptd .ptd-command-goal::first-letter{text-transform:uppercase}
#scr-ptd .ptd-glance-cells{gap:8px!important}
#scr-ptd .ptd-glance-cell{border-radius:16px!important;border:0!important;background:rgba(0,0,0,.24)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)!important;padding:11px 4px 10px!important}
#scr-ptd .ptd-glance-cell strong{font-size:19px!important;font-weight:800!important;letter-spacing:-.03em!important;font-variant-numeric:tabular-nums}
#scr-ptd .ptd-glance-cell--word strong{font-size:14px!important;letter-spacing:-.01em!important}
#scr-ptd .ptd-glance-cell small{margin-top:5px;font-size:9.5px!important;font-weight:800!important;letter-spacing:.09em!important;color:var(--cx-label)!important}
#scr-ptd .ptd-cycle-metric small,#scr-ptd .ptd-cycle-context-item small{font-size:10px!important;font-weight:800!important;letter-spacing:.08em!important;color:var(--cx-label)!important}
#scr-ptd .ptd-cycle-metric strong{font-size:22px!important;font-weight:800!important;letter-spacing:-.03em!important}
#scr-ptd .ptd-cycle-context-item strong{font-size:14px!important;font-weight:700!important;letter-spacing:-.01em!important}

/* ── 9. Ficha: pestañas como control segmentado ─────────────────────── */
/* La barra queda pegada arriba al bajar: fondo opaco a todo el ancho y el
   carril del segmento dibujado por dentro, para que nada se vea detrás. */
#scr-ptd .adm-tabs{position:sticky!important;gap:4px!important;margin:12px 0 4px!important;padding:6px 20px!important;border:0!important;
  background:#0f1013!important;isolation:isolate}
#scr-ptd .adm-tabs::before{content:"";position:absolute;inset:6px 16px;z-index:-1;border-radius:18px;
  background:rgba(0,0,0,.34);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#scr-ptd .adm-tab{min-height:52px!important;border-radius:14px!important;border:0!important;gap:5px!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--cx-label)!important}
#scr-ptd .adm-tab::after{display:none!important}
#scr-ptd .adm-tab.on{color:#fff!important;
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.3),rgba(var(--accent-rgb),.12)),#23262c!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(var(--accent-rgb),.4),0 10px 22px -14px rgba(var(--accent-rgb),.9)!important}
#scr-ptd .adm-tab.on .at-ic{color:#fff!important}

/* ── 10. Ficha: encabezados de sección y paneles ────────────────────── */
#scr-ptd .ptd-workspace .sl,#scr-ptd .ptd-workspace .snap-heading-copy{
  font-size:var(--cx-fs-label)!important;font-weight:800!important;letter-spacing:.1em!important;color:var(--cx-label)!important}
#scr-ptd .snap-heading-copy>span{font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
#scr-ptd .ptd-workspace :is(.sl>.iq-ic,.sl>span>.iq-ic){width:26px!important;height:26px!important;border-radius:8px!important;border:0!important;
  color:#fff!important;background:linear-gradient(150deg,rgba(var(--accent-rgb),.42),rgba(var(--accent-rgb),.14))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important}
#scr-ptd .ptd-workspace .sl::after{background:linear-gradient(90deg,rgba(255,255,255,.1),transparent)!important}
#scr-ptd .ptd-workspace .card{border:0!important;border-radius:var(--cx-radius)!important;box-shadow:var(--cx-edge),var(--cx-shadow)!important}
#scr-ptd .ptd-text-action{font-size:12px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;min-height:32px!important;padding:0 12px!important}

/* Membresía y ficha clínica */
#scr-ptd .ptd-workspace .memb-hero-estado{font-size:var(--cx-fs-label)!important;font-weight:800!important;letter-spacing:.1em!important}
#scr-ptd .ptd-workspace .memb-hero-fecha{margin-top:6px;font-size:15px!important;font-weight:700!important;letter-spacing:-.01em!important}
#scr-ptd .ptd-workspace .ficha-cell{min-height:46px!important;padding:12px 16px!important;align-items:center!important}
#scr-ptd .ptd-workspace .ficha-cell-k{font-size:10.5px!important;font-weight:700!important;color:var(--cx-label)!important}
#scr-ptd .ptd-workspace .ficha-section-lbl{font-size:var(--cx-fs-label)!important;font-weight:800!important;letter-spacing:.1em!important}
#scr-ptd .ptd-command-cue{min-height:20px!important;margin-top:4px!important}

/* Resumen de membresía en la ficha */
#scr-ptd .ptd-membership-summary strong{font-size:var(--cx-fs-label)!important;font-weight:800!important;letter-spacing:.1em!important}
#scr-ptd .ptd-membership-summary small{font-size:14px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--cx-sub)!important}
#scr-ptd .ptd-membership-summary>b{font-size:36px!important;font-weight:800!important;letter-spacing:-.045em!important}

/* ── 11. Escala mínima: nada por debajo de 10 px ni con espaciado de cartel ──
   Sale de medir cada texto visible del panel, las cuatro pestañas de la ficha
   y 16 modales: había rótulos de 5.8 a 9 px y espaciados de hasta .22em. */
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :is(
  .ptcard-archive-copy>strong,.ptcard-action-copy>strong){font-size:12px!important;font-weight:700!important;letter-spacing:0!important}
:where(#scr-admin,#scr-ptd,.mover:not(#m-routine-builder,#m-diet-builder)) :is(
  .ptcard-archive-copy>small,.ptcard-action-copy>small,.ptcard-trend>span,.ptc-stat-unit,.newpt-progress-chip>div,
  .op-inbox-tab>b,.op-inbox-sync,.op-inbox-total,.clientact-day>small,.clientact-strip-count>small,.pn-reach>span,
  .pn-template-copy>small,.pn-field-label>small,.pn-count,.memb-result-arrow>i,.mp-tool-copy>small,.mp-acc-copy>small,
  .inbox-query-date,.quick-chip,#m-newpt div>b){font-size:10.5px!important;letter-spacing:0!important}
/* Rótulos de formulario y de sección dentro de los modales: uno solo */
:where(.mover:not(#m-routine-builder,#m-diet-builder)) :is(.flbl,.pn-field-label,#m-addprog .msheet-body label,.memb-label,.dpx-stat-k,
  .fx-head-copy>small,.clientact-head-copy>small,.mp-sheet-eyebrow,.mp-card-field>small,.mp-primary-cta>small,
  .mp-card-brand,.ftab-panel>div:not([class]),.memb-hero-dias>span,.memb-chip>span,.memb-result-side>span,
  .memb-hero-estado,.newpt-intake-btn>span,.op-inbox-refresh>span,.msheet-body>.sl,.mp-state){
  font-size:10.5px!important;font-weight:700!important;letter-spacing:.08em!important;
}
:where(.mover:not(#m-routine-builder,#m-diet-builder)) :is(.flbl,.flabel,label) :is(span,small,b){letter-spacing:0!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder)) .btn{letter-spacing:.01em!important}
#scr-admin .ptc-plan-status>span{font-size:11.5px!important;letter-spacing:0!important;text-transform:none!important}
#scr-admin .adm-command-new-plus{font-size:11px!important}
/* Ficha: rótulos que seguían con espaciado de cartel */
#scr-ptd .ptd-workspace :is(small,summary,.snap-heading-copy>span){letter-spacing:0!important}
#scr-ptd .ptd-workspace :is(.pub-t,.ptd-tier,.ptd-slot-build>small){font-size:10px!important;letter-spacing:.06em!important}
#scr-ptd .ptd-workspace :is(.ptd-activity-copy>strong,.memb-apply>span,.memb-hero-dias>span,.memb-result-side>span,.memb-chip>span){letter-spacing:.02em!important}
#scr-ptd .ptd-workspace :is(.adh-hist-lbl,.adh-hist-pct,.ptd-macro-item>em){letter-spacing:0!important}
#scr-ptd .ptd-workspace :is(.bc-tag,.bc-updated-ts){font-size:10px!important}
#scr-ptd .ptd-command-cycle{font-size:10.5px!important;letter-spacing:.06em!important}
#scr-ptd .ptd-workspace .et{font-size:15px!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important}
#scr-ptd .ptd-workspace summary{font-size:12px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}

/* ── 12. Hojas modales ──────────────────────────────────────────────── */
/* Un solo tono de hoja: las cabeceras y pies fijos de cada modal pintan su
   propio fondo opaco, así que tienen que coincidir con el de la hoja. */
:root{--co-sheet:#181a1e}
.pn-sheet{--pn-surface:var(--co-sheet)!important}
#m-inbox{--ib-surface:var(--co-sheet)!important}
.mover .mhandle{background:transparent!important}
/* Rótulos en inglés que no dicen nada nuevo bajo el título */
#m-inbox .op-inbox-eyebrow,#m-miplan .mp-sheet-eyebrow{display:none!important}
#m-inbox .op-inbox-refresh>span{text-transform:none!important;letter-spacing:0!important;font-size:13px!important}
.mover .pn-actions{background:var(--co-sheet)!important;box-shadow:0 -14px 30px rgba(0,0,0,.35)!important}
.mover .pn-sheet .mhandle{background:transparent!important}
.mover .pn-actions .btn{font-size:15px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;border-radius:16px!important}
.mover input[type=checkbox]{accent-color:var(--accent)}
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .msheet{
  border-radius:28px 28px 0 0!important;border-top:0!important;
  background:var(--co-sheet)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 -24px 60px -20px rgba(0,0,0,.85)!important;
}
.mover .mhandle::before,.mover .mhandle>*{background:rgba(255,255,255,.22)!important}
/* Campos: altura de toque, misma superficie y anillo del acento al enfocar */
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){
  min-height:48px;border-radius:14px!important;border:0!important;font-size:16px!important;font-weight:500!important;
  background:rgba(255,255,255,.045)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;color:#f3f6fa!important;
  transition:box-shadow .18s,background .18s;
}
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .field :is(input,select,textarea):focus{
  outline:0;background:rgba(255,255,255,.06)!important;box-shadow:inset 0 0 0 1.5px rgba(var(--accent-rgb),.75),0 0 0 4px rgba(var(--accent-rgb),.14)!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .field :is(input,textarea)::placeholder{color:rgba(214,224,238,.36)!important}
/* Botones: primario con el acento, secundario de vidrio */
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .btn{border-radius:16px!important;font-weight:700!important;font-size:15px!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .btn-gold{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 86%,#fff),var(--accent))!important;color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 14px 28px -14px rgba(var(--accent-rgb),.9)!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder,#m-chat)) .btn-ghost{
  background:rgba(255,255,255,.055)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;color:#e9eef5!important}
/* Pestañas de formulario como control segmentado, en tipo oración */
:where(.mover:not(#m-routine-builder,#m-diet-builder)) :is(.ftab-nav,.dpx-tabs){padding:4px!important;gap:4px!important;border:0!important;border-radius:16px!important;
  background:rgba(0,0,0,.3)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder)) :is(.ftab-btn,.dpx-tab){min-height:40px!important;border-radius:12px!important;border:0!important;
  font-size:12.5px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--cx-label)!important;background:transparent!important;box-shadow:none!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder)) :is(.ftab-btn.on,.dpx-tab.is-on){color:#fff!important;
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.3),rgba(var(--accent-rgb),.12)),#262a31!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(var(--accent-rgb),.4)!important}
/* Alta de cliente: encabezado */
#m-newpt .newpt-hero{border-bottom:0!important;padding:4px 0 0!important;margin-bottom:12px!important}
#m-newpt .newpt-hero{background:none!important;box-shadow:none!important}
#m-newpt .newpt-hero-body>div:nth-child(2){font-size:20px!important;font-weight:800!important;letter-spacing:-.025em!important;text-transform:none!important}
#m-newpt .newpt-hero-body>div:nth-child(3){font-size:12.5px!important}
#m-newpt .form-av-circle{border-radius:50%!important}
#m-newpt .newpt-progress-chip{padding:8px 12px!important;border-radius:14px!important;background:rgba(255,255,255,.045)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)!important}
#m-newpt .newpt-progress-chip>div:first-child{text-transform:none!important;letter-spacing:0!important;font-size:11px!important;font-weight:600!important}
#m-newpt .newpt-progress-chip>div:last-child{font-size:17px!important;letter-spacing:-.02em!important;color:#fff!important}
#m-newpt .newpt-intake-btn>span{text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
#m-newpt .ftab-panel>div:not([class]):not([id]){font-size:10.5px!important;letter-spacing:.1em!important}
#m-drprofile .dpx-name{font-size:24px!important;font-weight:800!important}
#m-drprofile .dpx-stat{border-radius:18px!important;border:0!important;background:rgba(255,255,255,.04)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.065)!important}
#m-drprofile .dpx-stat-v{font-size:28px!important;font-weight:800!important;letter-spacing:-.04em!important}
#m-drprofile .dpx-av{box-shadow:0 0 0 2px #16181c,0 0 0 3.5px rgba(var(--accent-rgb),.6),0 14px 26px -14px rgba(var(--accent-rgb),.85)!important}

/* Últimos ajustes medidos */
#scr-ptd .ptd-workspace .snap-row>.fxs{letter-spacing:0!important}
#scr-ptd .ptd-export>span>strong{letter-spacing:-.01em!important}
#scr-ptd .ptd-workspace :is(.comp-source,.comp-cell span){font-size:10px!important}
:where(.mover:not(#m-routine-builder,#m-diet-builder)) .flabel{font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
/* "Sin señal" cabe completo en su columna: sin punto cuando no hay señal */
#scr-admin .ptc-activity-status{padding:3px 8px!important;gap:4px!important}
#scr-admin .ptc-activity-status b{font-size:11.5px!important;letter-spacing:-.01em!important}
#scr-admin .ptc-glance-activity:not(.is-live) .ptc-activity-status i{display:none!important}

/* ── 13. Cielo del saludo (coach y cliente) ─────────────────────────────
   js/02-utils.js · opApplyGreetingSky. Mañana: sol dorado con rayos que giran
   despacio. Tarde: sol bajo, horizonte magenta y nubes que derivan. Noche:
   luna con halo, estrellas que titilan y una fugaz de vez en cuando. Todo vive
   dentro de la tarjeta, que siempre está a la vista cuando su pantalla lo está. */
.op-sky-host{position:relative!important;isolation:isolate;overflow:hidden!important}
.op-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;overflow:hidden;transition:background .8s}
.op-sky-host[data-part="day"] .op-sky{background:
  radial-gradient(80% 110% at 100% 0%,rgba(255,196,72,.26),transparent 58%),
  radial-gradient(70% 90% at 0% 100%,rgba(var(--accent-rgb),.14),transparent 70%),
  linear-gradient(165deg,rgba(255,236,190,.06),rgba(255,255,255,0) 60%)}
.op-sky-host[data-part="afternoon"] .op-sky{background:
  radial-gradient(70% 90% at 92% 30%,rgba(255,138,76,.30),transparent 60%),
  linear-gradient(0deg,rgba(236,72,153,.16),rgba(251,146,60,.08) 35%,transparent 70%),
  linear-gradient(165deg,rgba(255,200,150,.05),transparent 60%)}
.op-sky-host[data-part="night"] .op-sky{background:
  radial-gradient(70% 100% at 96% 0%,rgba(129,140,248,.30),transparent 60%),
  radial-gradient(80% 90% at 0% 100%,rgba(var(--accent-rgb),.12),transparent 70%),
  linear-gradient(165deg,rgba(30,27,75,.55),rgba(12,14,30,.15) 70%)}
/* Astro */
.op-sky-orb{position:absolute;border-radius:50%}
.op-sky-host[data-part="day"] .op-sky-orb{right:-34px;top:-34px;width:120px;height:120px;
  background:radial-gradient(circle,#fff6d6 0 18%,#ffd36b 30%,rgba(255,196,72,.35) 52%,transparent 70%)}
.op-sky-host[data-part="day"] .op-sky-orb::before{content:"";position:absolute;inset:-60px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,214,120,.16) 0 6deg,transparent 6deg 22deg);
  -webkit-mask:radial-gradient(circle,#000 25%,transparent 68%);mask:radial-gradient(circle,#000 25%,transparent 68%);
  animation:op-sky-rays 38s linear infinite}
.op-sky-host[data-part="afternoon"] .op-sky-orb{right:18px;bottom:-46px;width:110px;height:110px;
  background:radial-gradient(circle,#ffe2b8 0 16%,#ff9a5a 34%,rgba(255,110,80,.4) 54%,transparent 72%);
  animation:op-sky-sink 9s ease-in-out infinite alternate}
.op-sky-host[data-part="night"] .op-sky-orb{right:26px;top:18px;width:38px;height:38px;
  background:radial-gradient(circle at 38% 38%,#f4f6ff,#c9d0f5 60%,#a7b0e6);
  box-shadow:inset -9px -4px 0 0 rgba(40,44,90,.55),0 0 26px 6px rgba(165,180,252,.35),0 0 70px 20px rgba(129,140,248,.18);
  animation:op-sky-glow 6s ease-in-out infinite alternate}
.op-sky-haze{position:absolute;inset:auto -10% -40% -10%;height:70%;border-radius:50%;opacity:.6;
  background:radial-gradient(60% 60% at 50% 50%,rgba(var(--accent-rgb),.12),transparent 70%)}
/* Nubes de la tarde */
.op-sky-cloud{position:absolute;display:none;border-radius:50%;opacity:.5;
  background:radial-gradient(closest-side,rgba(255,214,190,.22),transparent)}
.op-sky-host[data-part="afternoon"] .op-sky-cloud{display:block}
.op-sky-cloud.c1{width:160px;height:38px;top:22%;right:-40px;animation:op-sky-drift 26s linear infinite}
.op-sky-cloud.c2{width:120px;height:28px;top:52%;right:-60px;opacity:.35;animation:op-sky-drift 34s linear -12s infinite}
/* Estrellas y fugaz, solo de noche */
.op-sky-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:0}
.op-sky-host[data-part="night"] .op-sky-stars i{animation:op-sky-twinkle 3.6s ease-in-out infinite}
.op-sky-stars i:nth-child(1){top:14%;right:30%}
.op-sky-stars i:nth-child(2){top:30%;right:44%;animation-delay:.8s;width:1.5px;height:1.5px}
.op-sky-stars i:nth-child(3){top:10%;right:58%;animation-delay:1.6s}
.op-sky-stars i:nth-child(4){top:46%;right:12%;animation-delay:2.2s;width:1.5px;height:1.5px}
.op-sky-stars i:nth-child(5){top:22%;right:70%;animation-delay:1.1s;width:1.5px;height:1.5px}
.op-sky-stars i:nth-child(6){top:60%;right:26%;animation-delay:2.8s}
.op-sky-stars i:nth-child(7){top:8%;right:84%;animation-delay:.4s;width:1.5px;height:1.5px}
.op-sky-stars i:nth-child(8){top:68%;right:52%;animation-delay:3.1s}
.op-sky-stars i:nth-child(9){top:38%;right:90%;animation-delay:1.9s;width:1.5px;height:1.5px}
.op-sky-shoot{position:absolute;display:none;top:16%;right:10%;width:90px;height:1.5px;border-radius:2px;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9));transform:rotate(-18deg)}
.op-sky-host[data-part="night"] .op-sky-shoot{display:block;animation:op-sky-shoot 9s ease-in 2.5s infinite}
@keyframes op-sky-rays{to{transform:rotate(360deg)}}
@keyframes op-sky-sink{from{transform:translateY(0)}to{transform:translateY(10px)}}
@keyframes op-sky-glow{from{box-shadow:inset -9px -4px 0 0 rgba(40,44,90,.55),0 0 22px 4px rgba(165,180,252,.28),0 0 60px 16px rgba(129,140,248,.14)}
  to{box-shadow:inset -9px -4px 0 0 rgba(40,44,90,.55),0 0 30px 8px rgba(165,180,252,.42),0 0 80px 24px rgba(129,140,248,.22)}}
@keyframes op-sky-drift{from{transform:translateX(0)}to{transform:translateX(-520px)}}
@keyframes op-sky-twinkle{0%,100%{opacity:.08;transform:scale(.8)}50%{opacity:.9;transform:scale(1.25)}}
@keyframes op-sky-shoot{0%,88%{opacity:0;transform:rotate(-18deg) translateX(0)}90%{opacity:1}100%{opacity:0;transform:rotate(-18deg) translateX(-220px)}}
/* Astro en pastilla y hora en vivo (fila de la fecha del coach) */
.op-sky-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;flex:none}
.op-sky-ic svg{width:15px;height:15px}
.op-sky-ic[data-part="day"]{color:#fbbf24;background:rgba(251,191,36,.14);box-shadow:inset 0 0 0 1px rgba(251,191,36,.28),0 0 18px rgba(251,191,36,.3)}
.op-sky-ic[data-part="afternoon"]{color:#fb923c;background:rgba(251,146,60,.14);box-shadow:inset 0 0 0 1px rgba(251,146,60,.28),0 0 18px rgba(251,146,60,.26)}
.op-sky-ic[data-part="night"]{color:#c7d2fe;background:rgba(129,140,248,.16);box-shadow:inset 0 0 0 1px rgba(165,180,252,.3),0 0 18px rgba(129,140,248,.32)}
.op-sky-time{margin-left:auto;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
#scr-admin .adm-hero-eyebrow{display:flex!important;align-items:center;gap:9px!important;width:100%}
#scr-admin .adm-hero-eyebrow>.iq-ic{display:none!important}
#scr-admin .adm-hero-id{flex:1;min-width:0}
.op-sky-name{background:linear-gradient(100deg,#fff 10%,color-mix(in srgb,var(--accent) 55%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.op-sky-host[data-part="day"] .op-sky-name{background-image:linear-gradient(100deg,#fff 0%,#ffe2a1 100%)}
.op-sky-host[data-part="afternoon"] .op-sky-name{background-image:linear-gradient(100deg,#fff 0%,#ffc29a 60%,#f9a8d4)}
.op-sky-host[data-part="night"] .op-sky-name{background-image:linear-gradient(100deg,#fff 0%,#c7d2fe 100%)}
/* El aro del avatar toma el color de la hora */
#scr-admin .op-sky-host[data-part="day"] .adm-hero-av{box-shadow:0 0 0 2px #15171b,0 0 0 3.5px rgba(251,191,36,.6),0 12px 26px -10px rgba(251,191,36,.55)!important}
#scr-admin .op-sky-host[data-part="afternoon"] .adm-hero-av{box-shadow:0 0 0 2px #15171b,0 0 0 3.5px rgba(251,146,60,.6),0 12px 26px -10px rgba(251,146,60,.55)!important}
#scr-admin .op-sky-host[data-part="night"] .adm-hero-av{box-shadow:0 0 0 2px #15171b,0 0 0 3.5px rgba(165,180,252,.6),0 12px 26px -10px rgba(129,140,248,.6)!important}
@media (prefers-reduced-motion:reduce){.op-sky *,.op-sky *::before{animation:none!important}.op-sky-host[data-part="night"] .op-sky-stars i{opacity:.5}}
/* La tarjeta pinta su fondo debajo del cielo */
#scr-admin .adm-hero.op-sky-host{background:var(--cx-surface)!important}
/* El astro baja a la esquina inferior: arriba a la derecha va la hora */
.op-sky-host[data-part="day"] .op-sky-orb{top:auto!important;right:-36px!important;bottom:-46px!important}
.op-sky-host[data-part="night"] .op-sky-orb{top:auto!important;right:26px!important;bottom:22px!important}
#scr-admin .adm-hero-eyebrow{border:0!important;box-shadow:none!important;background:none!important;padding:0!important;border-radius:0!important}
#scr-admin .adm-hero-eyebrow::before,#scr-admin .adm-hero-eyebrow::after{display:none!important}

/* ── 14. Adherencia de hoy en la ficha (js/08-metrics.js) ─────────────── */
#scr-ptd .adhc-today{margin-bottom:14px;padding:14px;border-radius:16px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#scr-ptd .adhc-today[data-state="done"]{box-shadow:inset 0 0 0 1px rgba(52,209,122,.3);background:rgba(52,209,122,.06)}
#scr-ptd .adhc-today[data-state="part"]{box-shadow:inset 0 0 0 1px rgba(245,181,68,.3);background:rgba(245,181,68,.05)}
#scr-ptd .adhc-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
#scr-ptd .adhc-k{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-label)}
#scr-ptd .adhc-top b{font-size:22px;font-weight:800;letter-spacing:-.03em;color:#fff}
#scr-ptd .adhc-today[data-state="done"] .adhc-top b{color:#4ade80}
#scr-ptd .adhc-today[data-state="part"] .adhc-top b{color:#f5b544}
#scr-ptd .adhc-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13.5px}
#scr-ptd .adhc-row span{color:var(--cx-sub);font-weight:500}
#scr-ptd .adhc-row em{font-style:normal;font-weight:700;color:#fff}
#scr-ptd .adhc-row[data-state="done"] em{color:#4ade80}
#scr-ptd .adhc-row[data-state="pending"] em{color:#f5b544}
#scr-ptd .adhc-meals{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}
#scr-ptd .adhc-meal{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--cx-label);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
#scr-ptd .adhc-meal.on{color:#4ade80;background:rgba(52,209,122,.1);box-shadow:inset 0 0 0 1px rgba(52,209,122,.3)}
/* Avatar del saludo con logo de marca: el logo trae alfa; el degradado azul y
   el aro lo tapaban. Fondo neutro y el logo contenido. */
#scr-admin .adm-hero-av:has(img){background:#0f1114!important;overflow:hidden}
#scr-admin .adm-hero-av img{object-fit:contain!important;padding:7px!important;border-radius:50%!important}

/* ── 15. Señal del cliente (openClientActivity) ───────────────────────── */
#m-clientactivity .clientact-hero{position:relative;padding:18px 16px 16px!important;border-radius:22px!important}
#m-clientactivity .clientact-status{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;
  color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
#m-clientactivity .clientact-hero.is-live .clientact-status,#m-clientactivity .clientact-hero.is-ok .clientact-status{color:#4ade80;background:rgba(52,209,122,.14);box-shadow:inset 0 0 0 1px rgba(52,209,122,.35)}
#m-clientactivity .clientact-hero.is-warn .clientact-status{color:#fbbf24;background:rgba(245,181,68,.14);box-shadow:inset 0 0 0 1px rgba(245,181,68,.35)}
#m-clientactivity .clientact-hero:is(.is-risk,.is-lost) .clientact-status{color:#ff8a80;background:rgba(255,69,58,.14);box-shadow:inset 0 0 0 1px rgba(255,69,58,.35)}
#m-clientactivity .clientact-tip{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--cx-sub);text-align:center}
#m-clientactivity .clientact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
#m-clientactivity .clientact-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;border:0;border-radius:16px;cursor:pointer;
  font:600 12.5px/1 var(--font);color:#eef2f7;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .14s}
#m-clientactivity .clientact-act:active{transform:scale(.96)}
#m-clientactivity .clientact-act .iq-ic{width:20px;height:20px;color:var(--accent-text,#9ccaff)}
#m-clientactivity .clientact-act.is-primary{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-clientactivity .clientact-act.is-primary .iq-ic{color:#fff}
#m-clientactivity .clientact-plan{margin:0 0 12px;padding:12px 14px;border-radius:18px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
#m-clientactivity .clientact-plan[data-state="done"]{background:rgba(52,209,122,.06);box-shadow:inset 0 0 0 1px rgba(52,209,122,.28)}
#m-clientactivity .clientact-plan[data-state="part"]{box-shadow:inset 0 0 0 1px rgba(245,181,68,.28)}
#m-clientactivity .clientact-plan-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
#m-clientactivity .clientact-plan-top span{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-label)}
#m-clientactivity .clientact-plan-top b{font-size:20px;font-weight:800;letter-spacing:-.03em;color:#fff}
#m-clientactivity .clientact-plan-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13.5px;color:var(--cx-sub)}
#m-clientactivity .clientact-plan-row .iq-ic{width:17px;height:17px;color:var(--cx-label)}
#m-clientactivity .clientact-plan-row em{margin-left:auto;font-style:normal;font-weight:700;color:#fff}
#m-clientactivity .clientact-plan-row[data-state="done"] em{color:#4ade80}
#m-clientactivity .clientact-plan-row[data-state="pending"] em{color:#fbbf24}
#m-clientactivity .clientact-sec{margin:16px 4px 8px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-label)}
#m-clientactivity .clientact-row{border-radius:16px!important}
#m-clientactivity .clientact-none{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
#m-clientactivity .clientact-none>span{width:100%;font-size:11.5px;font-weight:600;color:var(--cx-label);margin-bottom:2px}
#m-clientactivity .clientact-none em{font-style:normal;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;color:rgba(214,224,238,.55);background:rgba(255,255,255,.04)}

/* ── 16. Activos hoy (renderActiveToday) ───────────────────────────────── */
.at-sheet .clientact-head{margin-bottom:12px}
.at-summary{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:22px;margin-bottom:14px;
  background:radial-gradient(90% 120% at 0% 0%,rgba(52,209,122,.14),transparent 60%),var(--cx-surface);box-shadow:var(--cx-edge),var(--cx-shadow)}
.at-ring{position:relative;flex:none;width:56px;height:56px}
.at-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.at-ring circle{fill:none;stroke-width:5;stroke-linecap:round}
.at-ring .trk{stroke:rgba(255,255,255,.08)}
.at-ring .val{stroke:#34d17a;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0));filter:drop-shadow(0 0 5px rgba(52,209,122,.55))}
.at-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:19px;font-weight:800;letter-spacing:-.03em;color:#fff}
.at-summary-copy strong{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:#fff}
.at-summary-copy span{display:block;margin-top:2px;font-size:12.5px;color:var(--cx-sub)}
.at-group,.at-away{margin-bottom:12px;border-radius:20px;overflow:hidden;background:var(--cx-surface);box-shadow:var(--cx-edge),0 14px 30px -22px rgba(0,0,0,.95)}
.at-group-head,.at-away>summary{display:flex;align-items:center;gap:11px;padding:12px 14px;list-style:none;cursor:pointer}
.at-away>summary::-webkit-details-marker{display:none}
.at-group-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;background:rgba(255,255,255,.08)}
.at-group.is-done .at-group-ic{background:linear-gradient(150deg,#45e08c,#1fa862)}
.at-group.is-plan .at-group-ic{background:linear-gradient(150deg,rgba(var(--accent-rgb),.9),rgba(var(--accent-rgb),.5))}
.at-group.is-open .at-group-ic{background:linear-gradient(150deg,#8b93a3,#5b6270)}
.at-away .at-group-ic{background:linear-gradient(150deg,#f5b544,#c98a1a)}
.at-group-copy{flex:1;min-width:0}
.at-group-copy strong{display:block;font-size:14.5px;font-weight:700;color:#fff}
.at-group-copy small{display:block;margin-top:1px;font-size:12px;color:var(--cx-label)}
.at-count{min-width:26px;height:26px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-size:12.5px;font-weight:800;color:#fff;background:rgba(255,255,255,.08)}
.at-list{border-top:1px solid rgba(255,255,255,.06)}
.at-row{display:flex;align-items:center;gap:8px;padding:0 10px 0 0}
.at-row+.at-row{border-top:1px solid rgba(255,255,255,.05)}
.at-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:11px 0 11px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.at-av{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:13px;font-weight:800;color:#fff;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 70%,#fff 10%),color-mix(in srgb,var(--accent) 45%,#14161a))}
.at-group.is-done .at-av{background:linear-gradient(150deg,#3ccf7f,#167a47)}
.at-row.is-away .at-av{background:rgba(255,255,255,.08);color:var(--cx-sub)}
.at-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.at-name{font-size:14.5px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.at-chips{display:flex;flex-wrap:wrap;gap:5px}
.at-chip{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:var(--cx-sub);background:rgba(255,255,255,.06)}
.at-chip.is-ok{color:#4ade80;background:rgba(52,209,122,.12)}
.at-chip.is-mid{color:#fbbf24;background:rgba(245,181,68,.12)}
.at-chip.is-risk{color:#ff8a80;background:rgba(255,69,58,.12)}
.at-time{flex:none;font-size:12.5px;font-weight:700;color:var(--cx-label);font-variant-numeric:tabular-nums}
.at-icon-btn{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;color:var(--accent-text,#9ccaff);
  background:rgba(var(--accent-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.3)}
.at-nudge{flex:none;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border:0;border-radius:999px;cursor:pointer;
  font:700 12.5px/1 var(--font);color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 86%,#fff),var(--accent));box-shadow:0 8px 16px -8px rgba(var(--accent-rgb),.9)}
.at-nudge .iq-ic{width:14px;height:14px}
.at-empty{padding:20px 14px;margin-bottom:12px;text-align:center;border-radius:20px;background:rgba(255,255,255,.03)}
.at-empty .et{font-size:15px;font-weight:700;color:#fff}
.at-empty .es{margin-top:4px;font-size:12.5px;color:var(--cx-label)}
.at-icon-btn .iq-ic{width:17px!important;height:17px!important}
.at-group-ic .iq-ic{width:17px!important;height:17px!important}
:is(#m-clientactivity,#m-active-today) .clientact-head-ic{color:#fff!important;border:0!important;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 78%,#fff 22%),var(--accent) 55%,color-mix(in srgb,var(--accent) 65%,#000))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(var(--accent-rgb),.9)!important}
#m-clientactivity .clientact-status{position:static!important;align-self:center;margin:0 auto 10px;display:inline-block}
#m-clientactivity .clientact-hero{display:flex;flex-direction:column;align-items:center}
