/* Notificaciones programadas (v0.81.0) — [cg_reminders_form] y su modal.
   Se apoya en forms.css/editorial.css (lf-step, lf-form-field, botones);
   aquí solo van las piezas propias: tarjetas de plazo, tarjetas de
   residente, datos opcionales y resumen de éxito. */

:root body .cgr-obls { display: grid; gap: .7rem; margin: 0; padding: 0; border: 0; }
:root body .cgr-obl { border: 1.5px solid rgba(38, 38, 38, .14); border-radius: 12px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
:root body .cgr-obl:hover { border-color: rgba(75, 46, 131, .45); }
:root body .cgr-obl.is-on { border-color: var(--cgf-purple); box-shadow: 0 0 0 3px rgba(75, 46, 131, .08); }
:root body .cgr-obl-head { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: start; padding: .95rem 1rem; cursor: pointer; }
:root body .cgr-obl-head input[type=checkbox] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--cgf-purple); cursor: pointer; }
:root body .cgr-obl-text b { display: block; font-size: .95rem; line-height: 1.3; color: #262626; }
:root body .cgr-obl-text small { display: block; margin-top: .2rem; font-size: .8rem; line-height: 1.45; color: #666; }
:root body .cgr-obl-tag { padding: .2rem .6rem; border-radius: 999px; background: #f1eef5; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; color: var(--cgf-purple); }
:root body .cgr-obl[data-kind="annual"] .cgr-obl-tag { background: #fdecea; color: #b3261e; }
:root body .cgr-obl-extra { display: none; padding: 0 1rem 1rem 3rem; }
:root body .cgr-obl.is-on .cgr-obl-extra { display: block; }
:root body .cgr-obl-extra .lf-form-field { margin-bottom: 0; }
:root body .cgr-due { margin: .4rem 0 0; font-size: .82rem; font-weight: 700; color: #1e7f61; }
:root body .cgr-due.is-passed { color: #b3261e; }
:root body .cgr-cards { display: grid; gap: .4rem; }
:root body .cgr-card .lf-form-field { margin-bottom: .4rem; }
:root body .cgr-add-card { margin-top: .2rem; font-size: .84rem; font-weight: 700; color: var(--cgf-purple); cursor: pointer; }
:root body .cgr-add-card:hover { text-decoration: underline; }
:root body .cgr-optional { margin-top: .4rem; }
:root body .cgr-optional summary { cursor: pointer; font-size: .9rem; font-weight: 700; color: var(--cgf-purple); list-style: none; }
:root body .cgr-optional summary::-webkit-details-marker { display: none; }
:root body .cgr-optional summary::before { content: "+ "; }
:root body .cgr-optional[open] summary::before { content: "− "; }
:root body .cgr-optional[open] summary { margin-bottom: 1rem; }
:root body .cgr-success { text-align: left; }
:root body .cgr-folio { margin: .6rem 0 0 !important; font-family: ui-monospace, monospace; font-size: .85rem !important; font-weight: 700; color: #262626 !important; }
:root body .cgr-summary { margin: 1rem 0 1.4rem; padding: 0; list-style: none; border-top: 1px solid rgba(38, 38, 38, .12); }
:root body .cgr-summary li { margin: 0; padding: .6rem 0; border-bottom: 1px solid rgba(38, 38, 38, .12); font-size: .9rem; color: #444; }
:root body .cgr-summary li b { color: #262626; }
:root body .cgr-modal { max-width: 620px; }
:root body .cgr-modal-lede { margin: 0 0 1rem; font-size: .92rem; color: #555; }
:root body .cgr-modal .lf-step { padding-top: 1.2rem; padding-bottom: 1.2rem; }
@media (max-width: 549px) {
	:root body .cgr-obl-head { grid-template-columns: auto 1fr; }
	:root body .cgr-obl-tag { grid-column: 2; justify-self: start; }
	:root body .cgr-obl-extra { padding-left: 1rem; }
}
