/* «Recordatorios» del cliente (prefijo .rm) */
.rm{--rm-ink:#0b1b3d;--rm-muted:#667691;--rm-line:#e3eaf4;--rm-blue:#0b63f6;display:grid;gap:16px;color:var(--rm-ink)}
.rm *{box-sizing:border-box}
.rm-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rm h2,.rm h3,.rm p{letter-spacing:0}.rm p{margin:0}
.rm-card{border:1px solid var(--rm-line);border-radius:20px;background:#fff;padding:18px;box-shadow:0 6px 22px rgba(11,31,77,.05);min-width:0;display:flex;flex-direction:column;gap:12px}
.rm-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}
.rm-head>div{min-width:0;flex:1}.rm .rm-head h2{margin:0;font-size:17px;line-height:1.2;color:var(--rm-ink)}
.rm-sub,.rm-muted{color:var(--rm-muted);font-size:13px;line-height:1.35}
.rm-head-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e4efff;color:var(--rm-blue);flex:none}.rm-head-ico .rm-i{width:19px;height:19px}.rm-head-ico.is-star{background:#fff1c7;color:#e09a00}.rm-head-ico.is-star .rm-i{fill:#f7b500}.rm-head-ico.is-cyan{background:#dff5fb;color:#0c8aa8}
.rm-link{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:var(--rm-blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.rm-link .rm-i{width:14px;height:14px}.rm-link:hover{text-decoration:underline}
.rm-badge{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:#eaf2ff;color:var(--rm-blue);font-size:11px;font-weight:700;font-style:normal;vertical-align:middle}
.rm-soon{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#ffefc9;color:#946200;font-size:10.5px;font-weight:700;font-style:normal;vertical-align:middle}
.rm-chip{display:inline-block;margin-top:4px;padding:3px 10px;border-radius:999px;background:#dcf5e7;color:#0f6f3f;font-size:11.5px;font-weight:700;font-style:normal;white-space:nowrap}
.rm-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:12px;background:#eef5ff;font-size:12.5px;line-height:1.4}.rm-note .rm-i{width:16px;height:16px;margin-top:1px;color:#27508f}
.rm-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:20px 10px;color:var(--rm-muted)}.rm-empty .rm-i{width:32px;height:32px;color:#9bb0d3}.rm-empty b{color:var(--rm-ink);font-size:15px}.rm-empty p{font-size:13px;max-width:44ch}
.rm-tile{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:none}.rm-tile .rm-i{width:21px;height:21px}
.rm-tile.is-blue{background:#e3efff;color:#0b63f6}.rm-tile.is-green{background:#dcf5e7;color:#0f8a4c}.rm-tile.is-yellow{background:#fff1c7;color:#c98200}.rm-tile.is-purple{background:#efe7ff;color:#6d3fd0}.rm-tile.is-grey{background:#eef1f6;color:#5a6a85}
.rm-go{width:16px;height:16px;color:#9bb0d3}

/* Portada */
.rm-hero{position:relative;overflow:hidden;border-radius:22px;padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;background:#cfe3fb var(--rm-photo,linear-gradient(135deg,#bcd9fb,#e7f2ff)) center/cover no-repeat}
.rm-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,249,255,.96),rgba(244,249,255,.82) 48%,rgba(244,249,255,.25))}
.rm-hero>*{position:relative}
.rm .rm-hero h2{margin:0;font-size:clamp(24px,3vw,32px);line-height:1.15;letter-spacing:-.02em;color:var(--rm-ink)}
body[data-page="panel"] .rm .rm-hero p{margin-top:6px;max-width:44ch;color:#2f4468;font-size:14.5px}
.rm-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;flex:1 1 560px;max-width:760px}
.rm-kpi{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(11,31,77,.1);min-width:0}
.rm-kpi>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:none}
.rm-kpi.is-blue>span{background:#e3efff;color:#0b63f6}.rm-kpi.is-green>span{background:#dcf5e7;color:#0f8a4c}.rm-kpi.is-violet>span{background:#efe7ff;color:#6d3fd0}.rm-kpi.is-cyan>span{background:#dff5fb;color:#0c8aa8}
.rm-kpi>div{display:grid;min-width:0;line-height:1.2}.rm-kpi b{font-size:26px;letter-spacing:-.02em}.rm-kpi strong{font-size:13.5px}.rm-kpi small{color:var(--rm-muted);font-size:11.5px}

/* Más importantes */
.rm-top .rm-head{flex-wrap:nowrap}.rm-create{margin-left:auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.rm-create .rm-i{width:16px;height:16px}
.rm-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rm-top-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--rm-line);border-radius:16px;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.rm-top-card:hover{background:#f6f9ff}
.rm-top-body{display:grid;gap:3px;min-width:0}.rm-top-body b{font-size:14.5px}.rm-top-body small{color:var(--rm-muted);font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}
.rm-when{display:inline-flex;align-items:center;gap:5px;width:fit-content;margin-top:4px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.rm-when .rm-i{width:13px;height:13px}
.rm-when.is-red{background:#ffe3e1;color:#b8302a}.rm-when.is-amber{background:#ffefc9;color:#946200}.rm-when.is-blue{background:#e3efff;color:#0b63f6}.rm-when.is-grey{background:#eef1f6;color:#5a6a85}

/* Disposición */
/* Tres columnas como antes de la etapa 272 (etapa 296): «Próximos recordatorios», el calendario en su propia columna y, a la derecha, alertas, canales, notificaciones y sugerencia. Cada tarjeta mide su alto natural. */
.rm-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.4fr) minmax(0,.85fr);gap:16px;align-items:start}
.rm-col{display:grid;gap:16px;min-width:0}

/* Próximos */
.rm-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.rm-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #eef2f8}.rm-list li:last-child{border-bottom:0}
.rm-list li.is-off{opacity:.55}
.rm-li-main{display:grid;min-width:0}.rm-li-main b{font-size:14px}.rm-li-main small{color:var(--rm-muted);font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.rm-li-when{display:grid;text-align:right;white-space:nowrap}.rm-li-when b{font-size:12.5px}.rm-li-when small{color:var(--rm-muted);font-size:11.5px}
.rm-switch{position:relative;width:42px;height:24px;border:0;border-radius:999px;background:#cfd8e8;cursor:pointer;flex:none;transition:background .2s}.rm-switch i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(11,31,77,.3);transition:transform .2s}
.rm-switch.is-on{background:#0b63f6}.rm-switch.is-on i{transform:translateX(18px)}.rm-switch:focus-visible{outline:2px solid #9cc4ff;outline-offset:2px}
.rm-menu{position:relative}.rm-menu summary{list-style:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;cursor:pointer;color:var(--rm-muted)}.rm-menu summary::-webkit-details-marker{display:none}.rm-menu summary:hover{background:#eef3fb}.rm-menu summary .rm-i{width:18px;height:18px}
.rm-menu-body{position:absolute;right:0;top:34px;z-index:30;display:grid;min-width:170px;padding:6px;background:#fff;border:1px solid #cfdaeb;border-radius:12px;box-shadow:0 12px 30px rgba(11,31,77,.18)}
.rm-menu-body button{border:0;background:none;padding:8px 10px;text-align:left;font:inherit;font-size:13px;border-radius:8px;cursor:pointer;color:var(--rm-ink)}.rm-menu-body button:hover{background:#eef5ff}

/* Calendario */
.rm-month{display:flex;align-items:center;justify-content:space-between;gap:10px}.rm-month b{font-size:18px}
.rm-nav{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--rm-line);border-radius:9px;background:#fff;color:var(--rm-ink);cursor:pointer}.rm-nav .rm-i{width:16px;height:16px}
.rm-grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.rm-grid7>small{color:var(--rm-muted);font-size:13px;font-weight:700;padding:6px 0}
.rm-day{display:grid;justify-items:center;align-content:center;gap:3px;min-height:60px;border:0;border-radius:12px;background:none;font:inherit;color:var(--rm-ink);cursor:pointer;padding:3px 0}.rm-day b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:15px;font-weight:600}
.rm-day:hover b{background:#eef3fb}.rm-day.is-today b{background:#0b63f6;color:#fff;font-weight:700}.rm-day.is-selected:not(.is-today) b{box-shadow:inset 0 0 0 2px #0b63f6}
.rm-day span{display:flex;gap:3px;min-height:8px}.rm-day i,.rm-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}
.rm-day i.is-blue,.rm-legend i.is-blue{background:#0b63f6}.rm-day i.is-green,.rm-legend i.is-green{background:#1fa463}.rm-day i.is-yellow,.rm-legend i.is-yellow{background:#f5b70a}.rm-day i.is-purple,.rm-legend i.is-purple{background:#8b5cf6}.rm-day i.is-grey{background:#94a3b8}
.rm-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--rm-muted)}.rm-legend li{display:inline-flex;align-items:center;gap:6px}.rm-legend i{width:10px;height:10px}
.rm-agenda{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f6f9ff}.rm .rm-agenda h3{margin:0;font-size:14px}
.rm-agenda ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.rm-agenda li{display:grid;grid-template-columns:44px auto minmax(0,1fr) auto;gap:10px;align-items:center}.rm-agenda time{font-size:12.5px;color:var(--rm-muted);font-weight:600}
.rm-agenda .rm-tile{width:36px;height:36px;border-radius:11px}.rm-agenda .rm-tile .rm-i{width:18px;height:18px}
.rm-ag-main{display:grid;gap:1px;text-align:left;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;min-width:0}.rm-ag-main b{display:flex;align-items:center;gap:5px;font-size:13.5px}.rm-ag-main b .rm-i{width:14px;height:14px;color:#0f8a4c}.rm-ag-main small{color:var(--rm-muted);font-size:12px;overflow-wrap:anywhere}.rm-ag-main.is-done b{text-decoration:line-through;color:var(--rm-muted)}
.rm-add{display:inline-flex;align-items:center;gap:6px;width:fit-content}.rm-add .rm-i{width:15px;height:15px}

/* Alertas, canales y sugerencia */
.rm-toggles{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.rm-toggles li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.rm-toggle-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff1c7;color:#c98200;flex:none}.rm-toggle-ico .rm-i{width:19px;height:19px}
.rm-alerts li:nth-child(2) .rm-toggle-ico{background:#e3efff;color:#0b63f6}.rm-alerts li:nth-child(3) .rm-toggle-ico{background:#e8f1f9;color:#4b7399}.rm-alerts li:nth-child(4) .rm-toggle-ico{background:#ffe3e1;color:#b8302a}
.rm-toggle-ico.is-platform{background:#e3efff;color:#0b63f6}.rm-toggle-ico.is-email{background:#e3efff;color:#0b63f6}.rm-toggle-ico.is-whatsapp{background:#dcf5e7;color:#0f8a4c}.rm-toggle-ico.is-app{background:#efe7ff;color:#6d3fd0}
.rm-toggles b{display:block;font-size:13.5px}.rm-toggles small{display:block;color:var(--rm-muted);font-size:12px;line-height:1.3}
.rm-suggest{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border-radius:18px;background:#fff6dd;border:1px solid #f7e2a6}
.rm-suggest[hidden]{display:none}
.rm-suggest-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffe8a3;color:#a86f00}.rm-suggest b{font-size:14px}.rm-suggest p{font-size:12.5px;line-height:1.4;margin-top:3px}.rm-suggest strong{color:#7a4f00}
.rm-suggest-actions{display:grid;justify-items:end;gap:8px}.rm-x{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:none;color:var(--rm-muted);cursor:pointer}.rm-x:hover{background:rgba(0,0,0,.06)}.rm-x .rm-i{width:15px;height:15px}

/* Rutinas */
.rm-routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rm-routine{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--rm-line);border-radius:16px}.rm-routine.is-on{border-color:#a8d9bf;background:#f4fbf7}
.rm-routine b{font-size:14px}.rm-routine small{display:block;color:var(--rm-muted);font-size:12px;line-height:1.35}
.rm-routine-tasks{display:grid;gap:10px;margin:0 0 12px;padding:0;list-style:none}.rm-routine-tasks li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.rm-routine-tasks b{display:block;font-size:14px}.rm-routine-tasks small{color:var(--rm-muted);font-size:12.5px}
.rm-detail{display:grid;gap:12px}.rm-detail dl{display:grid;gap:8px;margin:0}.rm-detail dl div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}.rm-detail dt{color:var(--rm-muted)}.rm-detail dd{margin:0;font-weight:700;text-align:right}
.rm-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.rm-detail-actions .btn{display:inline-flex;align-items:center;gap:8px}.rm-detail-actions .rm-i{width:16px;height:16px}

/* Pantallas medianas y móviles */
@media(max-width:1400px){.rm-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.rm-layout>.rm-col:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.rm-layout>.rm-col:last-child>.rm-suggest{grid-column:1/-1}}
@media(max-width:1180px){.rm-routine-grid{grid-template-columns:minmax(0,1fr)}.rm-top-grid{grid-template-columns:minmax(0,1fr)}.rm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rm-layout{grid-template-columns:minmax(0,1fr)}.rm-layout>.rm-col:last-child{grid-template-columns:minmax(0,1fr)}.rm-top .rm-head{flex-wrap:wrap}}
@media(max-width:600px){.rm-day{min-height:48px}.rm-day b{width:32px;height:32px;font-size:14px}.rm-card{padding:14px}.rm-hero{padding:18px 16px}.rm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-kpi{padding:10px}.rm-kpi b{font-size:22px}.rm-list li{grid-template-columns:auto minmax(0,1fr) auto auto}.rm-li-when{grid-column:2/-1;grid-row:2;text-align:left}.rm-routine{grid-template-columns:auto minmax(0,1fr) auto}.rm-routine .rm-menu{display:none}.rm-suggest{grid-template-columns:auto minmax(0,1fr)}.rm-suggest-actions{grid-column:1/-1;justify-items:start}}

/* El panel pinta todos los párrafos de azul (body[data-page="panel"] p): aquí se usan los colores propios de la pantalla. */
body[data-page="panel"] .rm p{color:#4a5b78}
body[data-page="panel"] .rm p.rm-sub,body[data-page="panel"] .rm p.rm-muted,body[data-page="panel"] .rm .rm-empty p{color:var(--rm-muted)}
body[data-page="panel"] .rm p.rm-note{color:#27508f}body[data-page="panel"] .rm .rm-suggest p{color:#6b4a00}
body[data-page="panel"] .rm .rm-hero p{color:#2f4468}
/* Frecuencia de los recordatorios (en «Alertas automáticas») */
.rm-every{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f4f8ff;border:1px solid var(--rm-line)}.rm-every h3{margin:0;font-size:14.5px;line-height:1.25;color:var(--rm-ink)}.rm-every .rm-sub{margin:0}
.rm-every-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rm-every-opt{display:grid;gap:2px;justify-items:start;align-content:center;min-height:48px;padding:8px 12px;border:1.5px solid var(--rm-line);border-radius:12px;background:#fff;color:var(--rm-ink);font:inherit;font-size:13.5px;font-weight:700;text-align:left;cursor:pointer}
.rm-every-opt em{font-style:normal;font-size:11px;font-weight:700;color:var(--rm-blue)}
.rm-every-opt.is-on{border-color:var(--rm-blue);background:#eaf2ff;box-shadow:0 0 0 2px rgba(11,99,246,.12);color:var(--rm-blue)}
.rm-every-opt:focus-visible{outline:2px solid var(--rm-blue);outline-offset:2px}
.rm-every-next{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--rm-muted)}.rm-every-next .rm-i{width:15px;height:15px;color:var(--rm-blue)}.rm-every-next b{color:var(--rm-ink)}
@media(max-width:340px){.rm-every-grid{grid-template-columns:minmax(0,1fr)}}
/* La tarjeta «Próximos recordatorios» es angosta (una de tres columnas): cada recordatorio pasa su fecha y su repetición a una segunda línea. */
.rm-next .rm-list li{grid-template-columns:auto minmax(0,1fr) auto auto;row-gap:2px}
.rm-next .rm-li-when{grid-column:2/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:2px 8px;text-align:left;white-space:normal}.rm-next .rm-li-when small::before{content:"· "}
/* Próximas visitas dentro de «Próximos recordatorios» (etapa 295): lista numerada 1, 2, 3… con la fecha en una segunda línea. */
.rm-visits{display:grid;gap:6px;padding:12px;border-radius:14px;background:#f4f8ff;border:1px solid var(--rm-line)}
.rm-visits-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.rm-visits-head h3{margin:0;font-size:14.5px;line-height:1.25;color:var(--rm-ink)}.rm-visits-head span{font-size:12px;color:var(--rm-muted);white-space:nowrap}
.rm-visits ol{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.rm-visit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;row-gap:1px;align-items:center;width:100%;padding:7px 6px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rm-visit:hover{background:#e6efff}.rm .rm-visit:focus-visible{outline:2px solid var(--rm-blue);outline-offset:2px}
.rm-num{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--rm-blue);color:#fff;font-size:13px;font-weight:800;line-height:1}
.rm-visit .rm-li-main b{overflow-wrap:anywhere}.rm-visits p.rm-muted{margin:0}
.rm-next-title{margin:2px 0 0;font-size:14.5px;line-height:1.25;color:var(--rm-ink)}
