/* Recordatorios: misma jerarquía, tarjetas y controles que Anualidades. */
.canvas.rec-canvas { padding:0; overflow-y:auto; scrollbar-gutter:stable; }
#asApp[data-pro-page="recordatorios"] { transition:none; }
.rec-canvas { --rec-control-ink:#52637b; }
.rec-canvas .rec-scroll { width:100%; padding:28px 0 36px; flex-shrink:0; }
.rec-canvas .agd, .rec-canvas .agd-page { width:100%; max-width:880px; margin-inline:auto; color:var(--ink); container:rec / inline-size; }
.rec-canvas .agd-page { padding-block:28px 36px; }
.rec-canvas .agd * { box-sizing:border-box; }
.rec-canvas .agd-head { margin-bottom:24px; }
.rec-canvas .agd-head h1, .rec-canvas .agd-page h1 { margin:0; font-size:26px; font-weight:700; line-height:1.2; letter-spacing:-.03em; }
.rec-canvas .agd-head p, .rec-canvas .agd-page p { font-size:14px; font-weight:400; line-height:1.5; color:var(--mut); margin:0; }
.rec-canvas .agd-head b { font-weight:500; }
.rec-canvas button { appearance:none; -webkit-appearance:none; font:inherit; cursor:pointer; box-shadow:none; }
.rec-canvas button:disabled { cursor:wait; opacity:.65; }
.rec-canvas :is(button,input):focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.rec-canvas .nt-ico, .rec-canvas .nt-mini-ic { width:16px; height:16px; flex-shrink:0; stroke-width:2; }
.rec-canvas .agd-add { --rec-composer-height:36px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 12px; padding:0; border:0; background:transparent; margin-bottom:20px; }
.rec-canvas .agd-add-label { grid-column:1 / -1; font-size:13px; font-weight:600; line-height:1.5; }
/* El campo blanco necesita 2 px de compensación óptica frente al botón relleno. */
.rec-canvas .agd-add .nt-rec-in { appearance:none; width:100%; max-width:none; min-width:0; height:calc(var(--rec-composer-height) + 2px); min-height:36px; margin:0; border:1px solid var(--line); border-radius:12px; padding:7px 12px; color:var(--ink); font:inherit; font-size:13px; line-height:20px; background:var(--card); }
.rec-canvas .agd-add .nt-rec-in::placeholder { color:var(--mut); opacity:1; }
.rec-canvas .nt-rec-go { grid-column:2; grid-row:2; display:inline-flex; align-items:center; justify-content:center; gap:8px; margin:0; border:1px solid var(--brand); border-radius:var(--r-pill); font-size:13px; font-weight:500; line-height:20px; padding:7px 12px; min-height:36px; background:var(--brand); color:var(--card); }
.rec-canvas .nt-rec-go:hover { background:var(--brand); border-color:var(--brand); }
.rec-canvas .agd-add .nt-rec-go { height:var(--rec-composer-height); }
.rec-canvas .nt-rec-hint { grid-column:1 / -1; grid-row:3; margin:0; font-size:12px; font-weight:400; line-height:18px; }
.rec-canvas .nt-rec-hint[hidden] { display:none; }
.rec-canvas .agd-agenda { background:transparent; border:0; padding:0; }
.rec-canvas .agd-section { background:var(--card); border:1px solid var(--line); border-radius:16px; margin:0; }
.rec-canvas .agd-section + .agd-section { margin-top:20px; }
.rec-canvas .agd-group { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px 12px; margin:0; font-size:16px; font-weight:600; line-height:1.4; letter-spacing:0; text-transform:none; color:var(--ink); }
.rec-canvas .agd-group span { font-size:12px; font-weight:400; line-height:18px; color:var(--mut); }
.rec-canvas .agd-group .agd-group-label { display:flex; align-items:center; gap:8px; font:inherit; color:inherit; }
.rec-canvas .agd-group-label .nt-ico { width:18px; height:18px; flex-shrink:0; color:var(--mut); }
.rec-canvas .agd-group.is-late { color:var(--ink); }
.rec-canvas .agd-row { display:grid; grid-template-columns:minmax(0,1fr) auto 36px; align-items:center; gap:28px; min-height:64px; padding:12px 20px; margin:0; border:0; border-radius:0; background:transparent; }
.rec-canvas .agd-row + .agd-row { border-top:1px solid var(--line); }
.rec-canvas .agd-row-main { gap:3px; }
.rec-canvas .agd-row-txt { font-size:14px; font-weight:600; line-height:20px; overflow-wrap:anywhere; }
.rec-canvas .agd-row-nota { font-size:12px; font-weight:400; line-height:18px; color:var(--mut); gap:8px; text-align:left; }
.rec-canvas .agd-row-date { font-size:12px; font-weight:400; line-height:18px; color:var(--mut); }
.rec-canvas .agd-row-date.is-overdue { color:var(--err); }
.rec-canvas .agd-row-date.is-today { color:var(--warn,#b45309); }
.rec-canvas .nt-rec-hecho { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:4px; margin:0; border:0; border-radius:0; background:transparent; color:var(--rec-control-ink); font-size:12px; font-weight:400; line-height:1.5; transition:color var(--t); }
.rec-canvas .nt-rec-hecho:hover { color:var(--brand); background:transparent; }
.rec-canvas .agd-row.is-done { opacity:1; }
.rec-canvas .agd-row.is-done .agd-row-txt { color:var(--mut); font-weight:400; }
.rec-canvas .agd-row.is-done .agd-row-main { position:relative; padding-left:24px; }
.rec-canvas .agd-done-icon { position:absolute; left:0; top:2px; color:var(--mut); }
.rec-canvas .agd-section:has(> .agd-group-done) { background:var(--bg); }
.rec-canvas .agd-group-done { color:var(--mut); }
.rec-canvas .agd-options { position:relative; justify-self:end; }
.rec-canvas .agd-options-toggle { display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; border:0; background:transparent; color:var(--rec-control-ink); border-radius:8px; }
.rec-canvas .agd-options-toggle:hover, .rec-canvas .agd-options-toggle[aria-expanded="true"] { background:var(--bg); color:var(--brand); }
.rec-canvas .agd-options-list { position:absolute; right:0; top:40px; z-index:20; width:180px; padding:8px; background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px #17203314; }
.rec-canvas .agd-options-list[hidden] { display:none; }
.rec-canvas .agd-options-list button { display:flex; align-items:center; justify-content:flex-start; gap:8px; width:100%; min-height:36px; padding:7px 8px; border:0; border-radius:8px; background:transparent; color:var(--rec-control-ink); font-size:13px; font-weight:500; line-height:20px; }
.rec-canvas .agd-options-list button:hover { background:var(--bg); }
.rec-canvas .agd-options-list .nt-rec-del { color:var(--err); }
.rec-canvas .agd-hechos-tog { min-height:56px; padding:16px 8px; gap:12px; border-radius:12px; font-size:16px; font-weight:600; line-height:1.4; text-transform:none; letter-spacing:0; color:var(--mut); margin-top:20px; }
.rec-canvas .agd-hechos-tog:hover { background:var(--bg); color:var(--ink); }
.rec-canvas .agd-hechos-chev { width:16px; height:16px; stroke-width:2; }
.rec-canvas .agd-hechos-icon { width:18px; height:18px; }
.rec-canvas .agd-hechos-n { display:grid; place-items:center; flex:none; margin-left:auto; padding:4px; min-width:28px; aspect-ratio:1; border:1px solid var(--line); border-radius:50%; background:var(--card); color:var(--mut); font-size:12px; font-weight:600; line-height:18px; font-variant-numeric:tabular-nums; }
.rec-canvas .agd-hechos-list { margin-top:12px; }
.rec-canvas .agd-row-editing { display:block; }
.rec-canvas .agd-ed { gap:12px; }
.rec-canvas .agd-ed-txt { max-width:480px; font-size:14px; font-weight:400; line-height:20px; border-radius:12px; padding:7px 12px; min-height:36px; }
.rec-canvas :is(.agd-ed-save,.agd-ed-cancel,.agd-ed-field) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:7px 12px; border:1px solid var(--line); border-radius:var(--r-pill); font-size:13px; font-weight:500; line-height:20px; background:var(--card); color:var(--rec-control-ink); }
.rec-canvas .agd-ed-save { background:var(--brand); border-color:var(--brand); color:var(--card); }
.rec-canvas .agd-ed-save:hover { background:var(--brand); border-color:var(--brand); }
.rec-canvas :is(.agd-ed-cancel,.agd-ed-field):hover { background:var(--bg); border-color:var(--line); }
.rec-canvas .agd-ed-time { flex-wrap:wrap; gap:8px; }
.rec-canvas .agd-ed-time input[type=time] { min-height:36px; border-radius:12px; padding:7px 12px; }
.rec-canvas .agd-ed-deft { font-size:12px; font-weight:400; color:var(--mut); }
.rec-canvas .agd-ed-clear { min-height:36px; padding:4px; font-size:12px; font-weight:400; }
.rec-canvas .agd-delete-confirm { grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; line-height:1.5; }
.rec-canvas .agd-delete-confirm button, .rec-canvas .agd-hechos-more, .rec-canvas #recRetryRead { min-height:36px; border:0; background:transparent; color:var(--brand); padding:7px 0; font-size:13px; font-weight:500; }
.rec-canvas .agd-aviso-card { margin-top:28px; margin-bottom:0; border-radius:16px; padding:16px 20px; gap:16px; }
.rec-canvas .agd-aviso-info strong { font-size:14px; font-weight:600; line-height:20px; }
.rec-canvas .agd-aviso-info span { font-size:12px; font-weight:400; line-height:18px; }
.rec-canvas .agd-aviso-ic { background:transparent; width:24px; }
.rec-canvas .agd-empty { padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--card); gap:8px; }
.rec-canvas .agd-empty strong { font-size:16px; font-weight:600; line-height:1.4; }
.rec-canvas .agd-empty span { font-size:14px; font-weight:400; line-height:1.5; }
.rec-canvas .agd-aviso-sw { min-height:44px; height:44px; background:transparent; }
.rec-canvas .agd-aviso-sw::before { content:""; position:absolute; inset:10px 0; border-radius:var(--r-pill); background:#cbd5e1; }
.rec-canvas .agd-aviso-card.is-on .agd-aviso-sw { background:transparent; }
.rec-canvas .agd-aviso-card.is-on .agd-aviso-sw::before { background:var(--brand); }
.rec-canvas .agd-aviso-knob { top:13px; }
/* El popover se aloja en body; sólo esta vista consume agd-snz. */
.agd-snz-h { font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--mut); }
.agd-snz-opt { min-height:36px; gap:8px; font-size:13px; font-weight:500; line-height:20px; color:#52637b; }
.agd-snz-opt:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
@container rec (max-width:700px) {
 .rec-canvas .agd-add { grid-template-columns:minmax(0,1fr); }
 .rec-canvas .nt-rec-go { grid-column:1; grid-row:4; justify-self:start; }
 .rec-canvas .agd-row { grid-template-columns:minmax(0,1fr) 44px; gap:8px 16px; }
 .rec-canvas .agd-row-main { grid-column:1 / -1; }
 .rec-canvas .nt-rec-hecho { justify-self:start; }
}
@container rec (max-width:520px) {
 .rec-canvas .agd-add { --rec-composer-height:44px; }
 .rec-canvas .agd-head h1 { font-size:24px; }
 .rec-canvas .agd-group { padding-inline:16px; }
 .rec-canvas .agd-row { grid-template-columns:minmax(0,1fr) 44px; padding:16px; gap:12px; }
 .rec-canvas .agd-options-toggle { width:44px; height:44px; }
 .rec-canvas .agd :is(button,input) { min-height:44px; }
 .rec-canvas .agd-add .nt-rec-in { min-height:44px; }
 .rec-canvas .agd-add .nt-rec-in, .rec-canvas .agd-ed-txt, .rec-canvas .agd-ed-time input[type=time] { font-size:16px; }
}
@media (pointer:coarse) {
 .rec-canvas .agd-add { --rec-composer-height:44px; }
 .rec-canvas :is(button,input), .agd-snz-opt { min-height:44px; }
 .rec-canvas .agd-options-toggle { width:44px; height:44px; }
 @container rec (min-width:701px) {
  .rec-canvas .agd-row { grid-template-columns:minmax(0,1fr) auto 44px; }
 }
 .rec-canvas .agd-add .nt-rec-in, .rec-canvas .agd-ed-txt, .rec-canvas .agd-ed-time input[type=time] { font-size:16px; min-height:44px; }
}
