.app-notifications { position:fixed; inset:0; z-index:1090; display:grid; place-items:center; padding:20px; background:#142b3066; overflow:auto; }
.app-notifications .app-notification { --feedback-color:#166442; --feedback-tint:#e7f6ec; position:relative; width:min(460px,100%); max-height:85dvh; overflow:auto; opacity:1; text-align:center; background:#fff; border:2px solid var(--feedback-color); border-top:7px solid var(--feedback-color); border-radius:16px; padding:28px 24px 24px; box-shadow:0 20px 70px #10292355; color:#203b33; }
.app-notifications .app-notification.error { --feedback-color:#a72130; --feedback-tint:#fde9ec; }
.app-notifications .app-notification.warning { --feedback-color:#805600; --feedback-tint:#fff3d5; }
.app-notification-icon { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 16px; border-radius:50%; background:var(--feedback-tint); color:var(--feedback-color); font-size:2.6rem; font-weight:700; }
.app-body .app-notification h2,.app-notification h2 { margin:0; font-size:1.4rem; font-weight:700; color:var(--feedback-color); }
.app-notification .toast-body { padding:14px 0 20px; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.app-notification .app-feedback-okay { --bs-btn-color:#fff; --bs-btn-bg:var(--feedback-color); --bs-btn-border-color:var(--feedback-color); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--feedback-color); --bs-btn-hover-border-color:var(--feedback-color); min-height:44px; min-width:160px; font-weight:600; }
.app-notification .app-feedback-okay:focus-visible { outline:3px solid var(--feedback-color); outline-offset:3px; }
.app-notification > .btn-close { position:absolute; top:12px; right:12px; }
.app-notification-content { margin:0; }
.app-notification-content ul { padding-left:20px; }
.app-notification-content a { color:#8c2831; }
.app-body .form-control.is-invalid,.app-body .form-select.is-invalid,.auth-body .is-invalid,.select2-selection.is-invalid { border:2px solid #c43f47!important; box-shadow:0 0 0 2px #c43f4714; }
.app-required-label::after { content:' *'; color:#bb3541; font-weight:700; }
.app-alert[hidden],.app-validation-summary[hidden],.alert-success[hidden],.alert-danger[hidden] { display:none!important; }
@media print { .app-notifications { display:none; } }
