/* Diálogo claro para explicar por qué todavía no se puede completar un módulo. */
.module-notice-dialog{width:min(520px,calc(100% - 28px));max-width:520px;max-height:min(88vh,720px);padding:0;border:1px solid #d9e5ee;border-radius:20px;background:#fff;color:#15334d;box-shadow:0 28px 90px rgba(5,28,50,.28)}
.module-notice-dialog::backdrop{background:rgba(8,27,45,.58);backdrop-filter:blur(3px)}
.module-notice-dialog__body{padding:clamp(22px,5vw,32px)}
.module-notice-dialog__icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:14px;background:#fff3d6;color:#8b5b00;font-size:1.25rem;font-weight:900}
.module-notice-dialog .eyebrow{color:#53728b;font-size:.67rem;font-weight:850;letter-spacing:.1em}
.module-notice-dialog h2{margin:.45rem 0 .55rem;color:#123555;font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.25}
.module-notice-dialog p{margin:0;color:#536b7e;line-height:1.55}
.module-notice-dialog ul{display:grid;gap:9px;margin:16px 0 22px;padding:0;list-style:none}
.module-notice-dialog li{position:relative;padding:11px 12px 11px 36px;border:1px solid #e0eaf1;border-radius:11px;background:#f5f9fc;color:#28465e;line-height:1.45}
.module-notice-dialog li::before{content:"•";position:absolute;left:14px;top:10px;color:#b47700;font-size:1.2rem;font-weight:900}
.module-notice-dialog__actions{display:flex;justify-content:flex-end}
.module-notice-dialog__actions button{min-height:42px;padding:10px 18px;border:0;border-radius:10px;background:#123f68;color:#fff;font-weight:800;cursor:pointer}
.module-notice-dialog__actions button:hover{background:#0c3152}
body.dark-mode:not(.contrast) .module-notice-dialog{border-color:#31536b;background:#102e44;color:#e9f4fb}
body.dark-mode:not(.contrast) .module-notice-dialog h2{color:#f3f8fb}
body.dark-mode:not(.contrast) .module-notice-dialog p{color:#b9cedc}
body.dark-mode:not(.contrast) .module-notice-dialog li{border-color:#31536b;background:#17394f;color:#e1edf4}
body.dark-mode:not(.contrast) .module-notice-dialog__actions button{background:#3d8ac0}
body.contrast .module-notice-dialog{border:3px solid #000;background:#fff;color:#000;box-shadow:0 0 0 100vmax rgba(0,0,0,.8)}
body.contrast .module-notice-dialog :is(h2,p,li,.eyebrow){color:#000}
body.contrast .module-notice-dialog li{border:2px solid #000;background:#fff}
body.contrast .module-notice-dialog__actions button{border:2px solid #000;background:#000;color:#fff}
@media(max-width:520px){.module-notice-dialog{width:calc(100% - 20px);border-radius:16px}.module-notice-dialog__body{padding:20px}}

/* Mensajes flash globales: confirmaciones, advertencias y errores en todas las pantallas. */
.campus-notice-dialog{width:min(520px,calc(100% - 28px));max-width:520px;max-height:min(88vh,720px);padding:0;border:1px solid #d9e5ee;border-radius:20px;background:#fff;color:#15334d;box-shadow:0 28px 90px rgba(5,28,50,.28)}
.campus-notice-dialog::backdrop{background:rgba(8,27,45,.58);backdrop-filter:blur(3px)}
.campus-notice-dialog .module-notice-dialog__body{padding:clamp(22px,5vw,32px)}
.campus-notice-dialog .module-notice-dialog__icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:14px;background:#e8f3fb;color:#17486f;font-size:1.25rem;font-weight:900}
.campus-notice-dialog--success .module-notice-dialog__icon{background:#e4f6ee;color:#187355}
.campus-notice-dialog--warning .module-notice-dialog__icon{background:#fff3d6;color:#8b5b00}
.campus-notice-dialog--error .module-notice-dialog__icon{background:#ffebeb;color:#a53131}
.campus-notice-dialog .eyebrow{color:#53728b;font-size:.67rem;font-weight:850;letter-spacing:.1em}
.campus-notice-dialog h2{margin:.45rem 0 .55rem;color:#123555;font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.25}
.campus-notice-dialog p{margin:0;color:#536b7e;line-height:1.6;overflow-wrap:anywhere}
.campus-notice-dialog .module-notice-dialog__actions{display:flex;justify-content:flex-end;margin-top:22px}
.campus-notice-dialog .module-notice-dialog__actions button{min-height:42px;padding:10px 18px;border:0;border-radius:10px;background:#123f68;color:#fff;font-weight:800;cursor:pointer}
.campus-notice-dialog .module-notice-dialog__actions button:hover{background:#0c3152}
body.dark-mode:not(.contrast) .campus-notice-dialog{border-color:#31536b;background:#102e44;color:#e9f4fb}
body.dark-mode:not(.contrast) .campus-notice-dialog h2{color:#f3f8fb}
body.dark-mode:not(.contrast) .campus-notice-dialog p{color:#b9cedc}
body.dark-mode:not(.contrast) .campus-notice-dialog--success .module-notice-dialog__icon{background:#173f36;color:#a9e6c8}
body.dark-mode:not(.contrast) .campus-notice-dialog--warning .module-notice-dialog__icon{background:#4a3a1d;color:#f4d283}
body.dark-mode:not(.contrast) .campus-notice-dialog--error .module-notice-dialog__icon{background:#512d35;color:#ffc5c5}
body.dark-mode:not(.contrast) .campus-notice-dialog .module-notice-dialog__actions button{background:#3d8ac0}
body.contrast .campus-notice-dialog{border:3px solid #000;background:#fff;color:#000}
body.contrast .campus-notice-dialog :is(h2,p,.eyebrow){color:#000}
body.contrast .campus-notice-dialog .module-notice-dialog__icon{border:2px solid #000;background:#fff;color:#000}
body.contrast .campus-notice-dialog .module-notice-dialog__actions button{border:2px solid #000;background:#000;color:#fff}
@media(max-width:520px){.campus-notice-dialog{width:calc(100% - 20px);border-radius:16px}.campus-notice-dialog .module-notice-dialog__body{padding:20px}}
