/* ═══ Saludo del panel (como IronBase) + recordatorios del coach — js/39-coach-reminders.js ═══
   Paleta de OneProtocol: el acento del coach (--accent, azul por defecto) en
   lo elegido y en la acción principal; los tipos llevan su propio tono. Las
   reglas del saludo ganan a 20-coach.css §13b (saludo centrado), por eso van
   con la clase .op-greet y !important donde aquel lo usa. */

:root{
  --rem-acc:var(--accent,#007BFF);
  --rem-acc-rgb:var(--accent-rgb,0,123,255);
  --rem-acc-hi:color-mix(in srgb,var(--rem-acc) 62%,#fff);
  --rem-acc-txt:var(--accent-text,#5AAEFF);
  --rem-grad:linear-gradient(150deg,var(--rem-acc-hi),var(--rem-acc) 62%,color-mix(in srgb,var(--rem-acc) 78%,#000));
  --rem-ink:#fff;
  --rem-txt:#f4f6fa;--rem-txt2:rgba(232,238,248,.66);--rem-txt3:rgba(232,238,248,.48);
  --rem-line:rgba(255,255,255,.09);--rem-fill:rgba(255,255,255,.045);
  --rem-late:#ff7a7a;--rem-late-rgb:239,90,90;
}

/* ── Saludo ── */
#scr-admin .adm-hero.op-greet{padding:18px 18px 20px!important;text-align:left}
#scr-admin .adm-hero.op-greet .adm-hero-av{display:none!important}
#scr-admin .adm-hero.op-greet .adm-hero-inner{display:block!important;text-align:left}
/* En el HTML la fecha va antes que el saludo: aquí baja debajo, como en IronBase. */
#scr-admin .adm-hero.op-greet .adm-hero-id{display:flex!important;flex-direction:column;align-items:flex-start}
#scr-admin .adm-hero.op-greet .adm-hero-greet{display:block!important;margin:0!important;max-width:100%;
  font:850 clamp(25px,7.5vw,33px)/1.1 "Inter",sans-serif!important;letter-spacing:-.03em!important;color:#fff!important;
  background:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:0 1px 14px rgba(0,0,0,.4)}
#scr-admin .adm-hero.op-greet .adm-hero-greet::before{display:none}
#scr-admin .adm-hero.op-greet .adm-greet-hi{color:#fff}
#scr-admin .adm-hero.op-greet .adm-greet-name{
  background:linear-gradient(100deg,#fff 0%,var(--rem-acc-hi) 55%,var(--rem-acc-txt));-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}
#scr-admin .adm-hero.op-greet[data-part="day"] .adm-greet-name{background-image:linear-gradient(100deg,#fff 0%,#ffe2a1 100%)}
#scr-admin .adm-hero.op-greet[data-part="afternoon"] .adm-greet-name{background-image:linear-gradient(100deg,#fff 0%,#ffc29a 60%,#f9a8d4)}
#scr-admin .adm-hero.op-greet[data-part="night"] .adm-greet-name{background-image:linear-gradient(100deg,#fff 0%,#c7d2fe 60%,var(--rem-acc-hi))}
#scr-admin .adm-hero.op-greet .adm-hero-eyebrow{display:block!important;order:2!important;margin:10px 0 0!important;padding:0!important;width:auto;
  font:500 clamp(15px,4.4vw,17px)/1.3 "Inter",sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--rem-txt2)!important}
#scr-admin .adm-hero.op-greet .adm-hero-eyebrow>.iq-ic{display:none!important}
#scr-admin .adm-hero.op-greet .adm-hero-pills{justify-content:flex-start!important;margin-top:16px!important}

.opg-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;position:relative;z-index:1}
.opg-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px}
.opg-ic svg{width:19px;height:19px}
.opg-ic[data-part="day"]{color:#fbbf24;background:rgba(251,191,36,.14);box-shadow:inset 0 0 0 1px rgba(251,191,36,.26),0 0 18px rgba(251,191,36,.2)}
.opg-ic[data-part="day"] svg{animation:opg-spin 24s linear infinite}
.opg-ic[data-part="afternoon"]{color:#fb923c;background:rgba(251,146,60,.14);box-shadow:inset 0 0 0 1px rgba(251,146,60,.26),0 0 18px rgba(251,146,60,.2)}
.opg-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,.24)}
@keyframes opg-spin{to{transform:rotate(360deg)}}
.opg-k{position:relative;z-index:1;margin:0 0 8px;font:800 12.5px/1 "Inter",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--rem-acc-txt);white-space:nowrap}

/* El reloj es el botón: hora + campana con lo pendiente */
.rem-cta{position:relative;overflow:hidden;margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 5px 0 13px;border-radius:999px;cursor:pointer;
  color:var(--rem-txt);background:rgba(12,13,16,.42);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  -webkit-tap-highlight-color:transparent;transition:transform .12s,background .2s}
.rem-cta:active{transform:scale(.97)}
.rem-cta-time{display:inline-flex;align-items:baseline;gap:3px;font:800 clamp(15px,4.3vw,17px)/1 "Inter",sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}
.rem-cta-time small{font:700 10.5px/1 "Inter",sans-serif;letter-spacing:.02em;color:var(--rem-txt2)}
.rem-cta-sep{width:1px;height:22px;background:rgba(255,255,255,.18)}
.rem-cta-bell{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:rgba(236,240,248,.82);background:rgba(255,255,255,.08)}
.rem-cta-bell svg{width:18px;height:18px}
.rem-cta.has-due .rem-cta-bell{color:var(--rem-ink);background:var(--rem-grad);box-shadow:0 0 0 4px rgba(var(--rem-acc-rgb),.2),0 0 18px rgba(var(--rem-acc-rgb),.5)}
.rem-cta.is-late .rem-cta-bell{color:#fff;background:linear-gradient(150deg,#ffa8a8,#e5484d);box-shadow:0 0 0 4px rgba(var(--rem-late-rgb),.2),0 0 18px rgba(var(--rem-late-rgb),.45)}
.rem-cta-n[hidden]{display:none!important}
.rem-cta-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:grid;place-items:center;
  font:800 10.5px/1 "Inter",sans-serif;font-style:normal;color:#fff;background:#e5484d;box-shadow:0 0 0 2px #15171b}
.rem-cta-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translateX(-120%)}
.rem-cta.has-due .rem-cta-shine{animation:rem-shine 4.5s ease-in-out infinite 1s}
@keyframes rem-shine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media (max-width:370px){
  .opg-ic{width:36px;height:36px}
  .rem-cta{height:42px;padding-left:11px}.rem-cta-bell{width:30px;height:30px}
}
@media (prefers-reduced-motion:reduce){.opg-ic svg,.rem-cta-shine{animation:none!important}}

/* ── Hoja de recordatorios ── */
#m-rem .msheet{max-height:92dvh;padding:0;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(120% 40% at 90% -5%,rgba(var(--rem-acc-rgb),.16),transparent 55%),var(--surface-sheet,linear-gradient(180deg,#242424,#1a1a1a))}
#m-rem .mhandle{flex:none}
#rem-head{flex:none;padding:4px 18px 0}
#rem-head .rem-hd{margin-bottom:12px}
#rem-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;padding:4px 18px calc(24px + env(safe-area-inset-bottom,0px))}
.rem-hd{display:flex;align-items:center;gap:13px;margin:4px 0 16px}
.rem-hd-ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:var(--rem-ink);background:var(--rem-grad);box-shadow:0 10px 24px -12px rgba(var(--rem-acc-rgb),.85)}
.rem-hd-ic svg{width:22px;height:22px}
.rem-hd-t{flex:1;min-width:0}
.rem-hd-t h2{margin:0;font:850 22px/1.15 "Inter",sans-serif;letter-spacing:-.02em;color:#fff}
.rem-hd-t small{display:block;margin-top:3px;font:500 13.5px/1.3 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-ib{flex:none;display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:14px;cursor:pointer;color:rgba(236,240,248,.78);
  background:var(--rem-fill);border:1px solid var(--rem-line);-webkit-tap-highlight-color:transparent}
.rem-ib svg{width:18px;height:18px}
.rem-ib.is-sm{width:38px;height:38px;border-radius:12px}
.rem-ib.is-sm svg{width:16px;height:16px}
.rem-new{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;height:52px;margin-bottom:18px;border:0;border-radius:16px;cursor:pointer;
  font:800 15.5px/1 "Inter",sans-serif;color:var(--rem-ink);background:var(--rem-grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 26px -14px rgba(var(--rem-acc-rgb),.95)}
.rem-new svg{width:19px;height:19px}
.rem-grp{margin-bottom:16px}
.rem-grp h3{display:flex;align-items:center;gap:8px;margin:0 4px 10px;font:800 11.5px/1 "Inter",sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--rem-txt3)}
.rem-grp h3 em{padding:2px 8px;border-radius:99px;font-style:normal;font-size:11px;color:rgba(236,240,248,.78);background:rgba(255,255,255,.07)}
.rem-grp.is-late h3{color:var(--rem-late)}.rem-grp.is-late h3 em{color:#ffb0b0;background:rgba(var(--rem-late-rgb),.15)}

.rem-it{--k:var(--rem-acc-txt);display:flex;align-items:flex-start;gap:12px;padding:14px 12px 14px 14px;margin-bottom:10px;border-radius:20px;
  background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--rem-line)}
.rem-it.is-check{--k:#5fd394}.rem-it.is-consulta{--k:#6fb3ff}.rem-it.is-dieta{--k:#f5b041}.rem-it.is-entreno{--k:#b794f0}.rem-it.is-detalle{--k:#f08fb8}.rem-it.is-otro{--k:#9aa6bd}
.rem-it.is-late{border-color:rgba(var(--rem-late-rgb),.35);background:linear-gradient(150deg,rgba(var(--rem-late-rgb),.08),rgba(255,255,255,.015))}
.rem-it.is-focus{box-shadow:0 0 0 2px rgba(var(--rem-acc-rgb),.65)}
.rem-it.is-done{opacity:.6}
.rem-chk{flex:none;display:grid;place-items:center;width:30px;height:30px;margin-top:2px;padding:0;border-radius:50%;cursor:pointer;color:transparent;
  background:transparent;border:2px solid rgba(255,255,255,.28);transition:background .15s,border-color .15s,color .15s}
.rem-chk svg{width:16px;height:16px}
.rem-chk:active{border-color:var(--k);background:color-mix(in srgb,var(--k) 20%,transparent)}
.rem-it.is-done .rem-chk{color:#0b0c0f;background:#5fd394;border-color:#5fd394}
.rem-it-main{flex:1;min-width:0}
.rem-it-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.rem-kind{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font:750 11.5px/1 "Inter",sans-serif;color:var(--k);background:color-mix(in srgb,var(--k) 14%,transparent)}
.rem-kind svg{width:13px;height:13px}
.rem-client{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font:700 11px/1 "Inter",sans-serif;color:rgba(236,240,248,.78);background:rgba(255,255,255,.06)}
.rem-client svg{width:12px;height:12px}
.rem-it-main b{display:block;font:750 16px/1.3 "Inter",sans-serif;color:var(--rem-txt)}
.rem-it.is-done .rem-it-main b{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.rem-it-main p{margin:4px 0 0;font:500 13.5px/1.4 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:9px;font:600 13px/1.2 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-meta>span{display:inline-flex;align-items:center;gap:5px}
.rem-meta svg{width:14px;height:14px}
.rem-when.is-late{color:var(--rem-late)}
.rem-pt{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 3px;border-radius:99px;cursor:pointer;font:700 12.5px/1 "Inter",sans-serif;color:var(--rem-txt);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.rem-pt i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:800 9.5px/1 "Inter",sans-serif;font-style:normal;color:var(--rem-ink);background:var(--rem-grad)}
.rem-it-act{flex:none;display:flex;flex-direction:column;gap:6px}
.rem-snz{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.rem-snz span{width:100%;font:700 12px/1.2 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-snz button{height:34px;padding:0 13px;border-radius:99px;cursor:pointer;font:750 13px/1 "Inter",sans-serif;color:var(--rem-acc-txt);background:rgba(var(--rem-acc-rgb),.12);border:1px solid rgba(var(--rem-acc-rgb),.35)}
.rem-snz.is-del button:first-of-type{color:#fff;background:#d43f3f;border-color:#d43f3f}
.rem-snz.is-del button:last-of-type{color:rgba(236,240,248,.82);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.rem-empty{display:grid;justify-items:center;gap:8px;padding:28px 12px 24px;text-align:center}
.rem-empty span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;color:var(--rem-acc-txt);background:rgba(var(--rem-acc-rgb),.12)}
.rem-empty span svg{width:24px;height:24px}
.rem-empty b{font:800 17px/1.2 "Inter",sans-serif;color:#fff}
.rem-empty small{max-width:300px;font:500 13.5px/1.45 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-done{margin-top:6px;border-radius:18px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);overflow:hidden}
.rem-done summary{display:flex;align-items:center;gap:8px;padding:14px;cursor:pointer;list-style:none;font:750 14px/1 "Inter",sans-serif;color:rgba(236,240,248,.78)}
.rem-done summary::-webkit-details-marker{display:none}
.rem-done summary em{margin-left:auto;padding:3px 9px;border-radius:99px;font-style:normal;font-size:11.5px;background:rgba(255,255,255,.07)}
.rem-done .rem-it{margin:0 10px 10px}

/* ── Formulario ── */
.rem-form{display:flex;flex-direction:column}
.rem-lbl{display:flex;align-items:baseline;gap:6px;margin:16px 4px 8px;font:800 12px/1 "Inter",sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--rem-txt3)}
.rem-lbl small{font:500 12px/1 "Inter",sans-serif;letter-spacing:0;text-transform:none;color:rgba(232,238,248,.4)}
.rem-form>.rem-lbl:first-child{margin-top:0}
.rem-in{width:100%;box-sizing:border-box;min-height:50px;padding:12px 14px;border-radius:15px;font:600 16px/1.3 "Inter",sans-serif;color:var(--rem-txt);
  background:var(--rem-fill);border:1px solid rgba(255,255,255,.1);outline:none;-webkit-appearance:none;appearance:none;color-scheme:dark}
.rem-in:focus{border-color:rgba(var(--rem-acc-rgb),.6);box-shadow:0 0 0 3px rgba(var(--rem-acc-rgb),.15)}
textarea.rem-in{resize:none;line-height:1.45}
.rem-hint{margin:8px 4px 0;font:500 12.5px/1.4 "Inter",sans-serif;color:var(--rem-txt3)}

/* Tipos: tarjetas con el color de cada tipo */
.rem-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rem-kinds button{--k:var(--rem-acc-txt);position:relative;display:grid;justify-items:center;align-content:center;gap:6px;min-height:88px;padding:12px 6px;border-radius:16px;cursor:pointer;
  font:700 12.5px/1.15 "Inter",sans-serif;color:rgba(236,240,248,.78);background:var(--rem-fill);border:1px solid var(--rem-line);-webkit-tap-highlight-color:transparent}
.rem-kinds button[data-kind="check"]{--k:#5fd394}.rem-kinds button[data-kind="consulta"]{--k:#6fb3ff}.rem-kinds button[data-kind="dieta"]{--k:#f5b041}
.rem-kinds button[data-kind="entreno"]{--k:#b794f0}.rem-kinds button[data-kind="detalle"]{--k:#f08fb8}.rem-kinds button[data-kind="otro"]{--k:#9aa6bd}
.rem-kinds button svg{width:22px;height:22px;color:var(--k)}
.rem-kinds button.on{color:#fff;background:linear-gradient(160deg,color-mix(in srgb,var(--k) 22%,transparent),color-mix(in srgb,var(--k) 6%,transparent));border-color:color-mix(in srgb,var(--k) 60%,transparent);
  box-shadow:0 10px 24px -16px var(--k)}
.rem-kinds button.on::after{content:"";position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--k);box-shadow:0 0 8px var(--k)}

/* Cliente: buscador, resultados y fila de avatares */
.rem-search{position:relative}
.rem-search-ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:var(--rem-txt3);pointer-events:none}
.rem-search-ic svg{width:18px;height:18px}
.rem-search .rem-in{padding-left:44px}
.rem-search .rem-in::-webkit-search-cancel-button{-webkit-appearance:none}
.rem-opts{margin-top:8px;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid var(--rem-line)}
.rem-opts button{width:100%;display:flex;align-items:center;gap:11px;padding:11px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;text-align:left;
  font:650 15px/1.2 "Inter",sans-serif;color:var(--rem-txt);background:none}
.rem-opts button:last-child{border-bottom:0}
.rem-opts i,.rem-ptsel i{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:800 12px/1 "Inter",sans-serif;font-style:normal;color:var(--rem-ink);background:var(--rem-grad)}
.rem-ptsel{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:16px;background:rgba(var(--rem-acc-rgb),.1);border:1px solid rgba(var(--rem-acc-rgb),.35)}
.rem-ptsel b{flex:1;min-width:0;font:750 16px/1.2 "Inter",sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rem-ptrow,.rem-seg.is-row,.rem-quick{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:10px -18px 0;padding:2px 18px 4px;scrollbar-width:none;
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent)}
.rem-ptrow::-webkit-scrollbar,.rem-seg.is-row::-webkit-scrollbar,.rem-quick::-webkit-scrollbar{display:none}
.rem-ptrow button{flex:none;display:grid;justify-items:center;gap:6px;width:66px;padding:0;border:0;background:none;cursor:pointer;color:rgba(236,240,248,.8);-webkit-tap-highlight-color:transparent}
.rem-ptrow i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:800 15px/1 "Inter",sans-serif;font-style:normal;color:var(--rem-acc-hi);
  background:radial-gradient(circle at 35% 30%,rgba(var(--rem-acc-rgb),.28),rgba(var(--rem-acc-rgb),.07));box-shadow:inset 0 0 0 1.5px rgba(var(--rem-acc-rgb),.45);transition:transform .12s}
.rem-ptrow span{max-width:66px;font:650 12px/1.15 "Inter",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rem-ptrow button:active i{transform:scale(.94)}

/* Fechas rápidas y filas de opciones */
.rem-quick{margin-top:0;margin-bottom:10px}
.rem-quick button,.rem-seg button{flex:none;height:40px;padding:0 14px;border-radius:99px;cursor:pointer;white-space:nowrap;font:700 13.5px/1 "Inter",sans-serif;
  color:rgba(236,240,248,.78);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);-webkit-tap-highlight-color:transparent}
.rem-quick button.on,.rem-seg button.on{color:var(--rem-ink);background:var(--rem-grad);border-color:transparent;box-shadow:0 6px 16px -10px rgba(var(--rem-acc-rgb),.9)}
.rem-seg.is-row{margin-top:0}
.rem-dt{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}
.rem-dt .rem-in{text-align:center;font-weight:700}
.rem-dt-lead{margin-top:10px}
/* Control segmentado (3 opciones): pista y pastilla */
.rem-seg.is-ctl{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:16px;background:var(--rem-fill);border:1px solid var(--rem-line)}
.rem-seg.is-ctl button{height:42px;padding:0 6px;border:0;border-radius:12px;background:transparent;font:700 14px/1 "Inter",sans-serif;color:rgba(236,240,248,.66)}
.rem-seg.is-ctl button.on{color:var(--rem-ink);background:var(--rem-grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 14px -8px rgba(var(--rem-acc-rgb),.85)}

/* Aviso al cliente */
.rem-client-box{margin-top:18px;padding:14px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--rem-line)}
.rem-client-box.on{background:linear-gradient(150deg,rgba(var(--rem-acc-rgb),.1),rgba(255,255,255,.02));border-color:rgba(var(--rem-acc-rgb),.35)}
.rem-client-box.is-off{opacity:.6}
.rem-client-tg{width:100%;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;cursor:pointer;text-align:left;color:inherit}
.rem-client-tg:disabled{cursor:default}
.rem-client-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:var(--rem-acc-txt);background:rgba(var(--rem-acc-rgb),.14)}
.rem-client-ic svg{width:19px;height:19px}
.rem-client-copy{flex:1;min-width:0}
.rem-client-copy b{display:block;font:750 15.5px/1.25 "Inter",sans-serif;color:#fff}
.rem-client-copy small{display:block;margin-top:3px;font:500 12.5px/1.35 "Inter",sans-serif;color:var(--rem-txt2)}
.rem-sw{flex:none;position:relative;width:52px;height:32px;border-radius:99px;background:rgba(255,255,255,.14);transition:background .2s}
.rem-sw i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .2s}
.rem-sw.on{background:var(--rem-acc)}.rem-sw.on i{transform:translateX(20px)}
.rem-client-box .rem-lbl{margin-top:16px}

.rem-actions{display:flex;gap:10px;margin-top:22px}
.rem-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;border-radius:17px;cursor:pointer;font:800 15.5px/1 "Inter",sans-serif}
.rem-btn svg{width:18px;height:18px}
.rem-btn.is-main{flex:2;border:0;color:var(--rem-ink);background:var(--rem-grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 26px -14px rgba(var(--rem-acc-rgb),.95)}
.rem-btn.is-main:disabled{opacity:.6}
.rem-btn.is-ghost{color:var(--rem-late);background:rgba(var(--rem-late-rgb),.08);border:1px solid rgba(var(--rem-late-rgb),.3)}

/* ── En la tarjeta del cliente: el próximo recordatorio y la nota, misma fila ── */
.ptc-rem-slot:empty{display:none}
.ptc-rem-slot{margin-top:7px}
.ptc-rem{--k:var(--rem-acc-txt);width:100%;min-width:0;padding:7px 9px;display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:8px;
  color:inherit;text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;
  border:1px solid color-mix(in srgb,var(--k) 26%,transparent);
  background:linear-gradient(135deg,color-mix(in srgb,var(--k) 12%,transparent),rgba(255,255,255,.018) 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);transition:transform .12s,border-color .16s}
.ptc-rem:active{transform:scale(.988)}
.ptc-rem:focus-visible{outline:2px solid color-mix(in srgb,var(--k) 70%,transparent);outline-offset:2px}
.ptc-rem.is-check{--k:#5fd394}.ptc-rem.is-consulta{--k:#6fb3ff}.ptc-rem.is-dieta{--k:#f5b041}
.ptc-rem.is-entreno{--k:#b794f0}.ptc-rem.is-detalle{--k:#f08fb8}.ptc-rem.is-otro{--k:#9aa6bd}
.ptc-rem.is-late{--k:var(--rem-late)}
.ptc-rem-ic{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:var(--k);
  background:color-mix(in srgb,var(--k) 15%,transparent);border:1px solid color-mix(in srgb,var(--k) 22%,transparent)}
.ptc-rem-ic svg{width:14px;height:14px}
.ptc-rem-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.ptc-rem-label{font:850 6.8px/1.1 "Inter",sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--k)}
.ptc-rem-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:650 10.5px/1.25 "Inter",sans-serif;color:rgba(239,244,252,.86)}
.ptc-rem.is-late .ptc-rem-text{color:#ffc2c2}
.ptc-rem-count,.ptc-rem-go{min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:7px;font:850 8px/1 "Inter",sans-serif;
  color:var(--k);background:color-mix(in srgb,var(--k) 12%,transparent);border:1px solid color-mix(in srgb,var(--k) 18%,transparent)}
.ptc-rem-go svg{width:10px;height:10px}
/* La nota clínica toma la misma forma, en su propio tono */
.ptc-rem-slot:not(:empty)+.ptc-reminder{margin-top:6px}
.ptc-reminder{--k:#8fb4ff;border-color:color-mix(in srgb,var(--k) 22%,transparent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--k) 10%,transparent),rgba(255,255,255,.018) 72%)!important}
.ptc-reminder-ic.iq-ic{color:var(--k)!important;background:color-mix(in srgb,var(--k) 13%,transparent)!important;border-color:color-mix(in srgb,var(--k) 20%,transparent)!important}
.ptc-reminder-label{color:var(--k)!important}

/* ── Sol de la mañana, rehecho (coach y cliente) ──────────────────────
   Antes, un disco con borde duro y rayos gruesos asomando por la esquina.
   Ahora es luz: núcleo pequeño casi blanco, halo en capas que se disuelve,
   rayos finísimos y difuminados que giran despacio, y reflejos de lente
   tenues hacia el saludo. Nada termina en borde. */
.op-sky-host[data-part="day"] .op-sky-orb{top:auto!important;right:26px!important;bottom:26px!important;width:50px;height:50px;
  background:radial-gradient(circle,#fffef9 0 34%,#fff3cc 48%,#ffd77a 60%,rgba(255,196,80,.6) 68%,rgba(255,180,60,0) 76%);
  box-shadow:0 0 18px 5px rgba(255,228,150,.55),0 0 48px 16px rgba(255,190,80,.3),0 0 120px 46px rgba(255,170,60,.12);
  animation:op-sunpulse 5.5s ease-in-out infinite alternate}
.op-sky-host[data-part="day"] .op-sky-orb::before{inset:-130px;
  background:repeating-conic-gradient(from 8deg,rgba(255,236,190,.13) 0 1.1deg,transparent 1.1deg 8deg);
  -webkit-mask:radial-gradient(circle,#000 12%,rgba(0,0,0,.5) 30%,transparent 60%);mask:radial-gradient(circle,#000 12%,rgba(0,0,0,.5) 30%,transparent 60%);
  filter:blur(1.4px);animation:op-sky-rays 140s linear infinite}
.op-sky-host[data-part="day"] .op-sky-orb::after{content:"";position:absolute;inset:-110px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,236,180,.3) 0,rgba(255,206,110,.15) 22%,rgba(255,180,80,.05) 42%,transparent 66%);
  animation:op-corona 6s ease-in-out infinite alternate}
.op-sky-host[data-part="day"] .op-sky-haze{inset:0;height:auto;border-radius:0;opacity:1;mix-blend-mode:screen;animation:op-flare 9s ease-in-out infinite;
  background:
    radial-gradient(circle at 72% 66%,rgba(255,226,160,.16) 0 6px,transparent 8px),
    radial-gradient(circle at 60% 52%,transparent 0 11px,rgba(255,222,165,.09) 12px 13.5px,transparent 15px),
    radial-gradient(circle at 48% 38%,rgba(255,214,150,.08) 0 3.5px,transparent 5px),
    linear-gradient(138deg,transparent 52%,rgba(255,232,170,.035) 64%,transparent 76%)}
@keyframes op-sunpulse{from{transform:scale(1);filter:brightness(1)}to{transform:scale(1.045);filter:brightness(1.07)}}
@keyframes op-corona{from{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}
@keyframes op-flare{0%,100%{opacity:.75}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.op-sky-host .op-sky-orb::after,.op-sky-host .op-sky-haze{animation:none!important}}
