/* Giữ thông báo dạng khối nếu JavaScript không chạy. */
.validation.validation-summary-errors { padding: 16px 20px; border: 1px solid #edc7cc; border-radius: 14px; background: #fff5f5; color: #8e2534; margin-bottom: 22px; }
.validation.validation-summary-errors ul { margin: 0; padding-left: 18px; }
.unit-notification { position: fixed; z-index: 100; top: 112px; right: 24px; width: min(430px, calc(100% - 32px)); display: grid; grid-template-columns: 38px minmax(0,1fr) 36px; gap: 12px; padding: 18px; background: #fff; color: #173745; border: 1px solid #e7d6db; border-left: 4px solid #bd4053; border-radius: 16px; box-shadow: 0 12px 48px #102d4b26; animation: notification-arrive .22s ease-out both; }
.unit-notification[hidden], .notification-source[hidden] { display: none !important; }
.notification-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #fff0f2; color: #ad3043; }
.notification-icon svg { width: 22px; height: 22px; }
.notification-content { min-width: 0; }
.notification-title { display: block; font-size: .94rem; margin: 0 0 5px; }
.notification-messages { max-height: min(40vh,320px); overflow-y: auto; overflow-wrap: anywhere; font-size: .86rem; font-weight: 400; line-height: 1.6; color: #536575; margin: 0; padding-left: 18px; }
.notification-messages:has(li:only-child) { list-style: none; padding-left: 0; }
.notification-messages li + li { margin-top: 6px; }
.notification-close { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: #536575; padding: 8px; }
.notification-close:hover { background: #edf2f6; }
.notification-close svg { width: 18px; height: 18px; }
.unit-notification.is-success { border-color: #cce4dd; border-left-color: #258366; }
.is-success .notification-icon { background: #eaf7f1; color: #217656; }
@keyframes notification-arrive { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@media(max-width:700px) { .unit-notification { top: 14px; right: 16px; gap: 9px; padding: 14px; } }
@media(prefers-reduced-motion:reduce) { .unit-notification { animation: none; } }
@media print { .unit-notification { display: none; } }
