/* Shared feedback: transient notifications and persistent contextual notices. */
.admin-feedback-host { position: fixed; z-index: 1090; inset-block-start: max(12px, env(safe-area-inset-top)); inset-inline: 12px; display: grid; justify-items: center; gap: 8px; max-height: min(58vh, 32rem); overflow-y: auto; pointer-events: none; }
.admin-feedback-card { --feedback-accent: #1d4e89; width: min(100%, 560px); overflow: hidden; pointer-events: auto; border: 1px solid #dce5f0; border-radius: 16px; background: #fafcff; color: #172033; box-shadow: 0 12px 36px #12233c26, 0 2px 8px #12233c0d; animation: feedback-enter 220ms ease-out both; }
.admin-feedback-card[data-kind="success"] { --feedback-accent: #166534; }
.admin-feedback-card[data-kind="warning"] { --feedback-accent: #854d0e; }
.admin-feedback-card[data-kind="error"] { --feedback-accent: #9f1239; }
.admin-feedback-main { display: flex; align-items: flex-start; gap: 10px; padding: 12px 8px 10px 14px; }
.admin-feedback-icon { flex: 0 0 24px; display: grid; place-items: center; width: 24px; height: 24px; margin-block-start: 2px; border: 2px solid currentColor; border-radius: 50%; color: var(--feedback-accent); font-size: 15px; font-weight: 800; line-height: 1; }
.admin-feedback-copy { flex: 1 1 auto; min-width: 0; padding-block-start: 1px; }
.admin-feedback-title { display: block; color: var(--feedback-accent); font-size: .82rem; line-height: 1.35; font-weight: 750; }
.admin-feedback-message { margin-block-start: 3px; font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap; }
.admin-feedback-count { display: block; margin-block-start: 3px; color: var(--feedback-accent); font-size: .75rem; }
.admin-feedback-close { flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; margin-block: -5px; border: 0; border-radius: 10px; background: transparent; color: var(--feedback-accent); font-size: 1.35rem; line-height: 1; cursor: pointer; }
.admin-feedback-close:hover { background: color-mix(in srgb, var(--feedback-accent) 10%, transparent); }
.admin-feedback-close:focus-visible { outline: 3px solid var(--feedback-accent); outline-offset: -3px; }
.admin-feedback-track { height: 3px; background: color-mix(in srgb, var(--feedback-accent) 12%, transparent); }
.admin-feedback-progress { height: 100%; background: var(--feedback-accent); transform-origin: left center; }
[dir="rtl"] .admin-feedback-progress { transform-origin: right center; }
[data-bs-theme="dark"] .admin-feedback-card { background: #172033; color: #f1f5f9; border-color: #35435a; box-shadow: 0 12px 36px #0008; --feedback-accent: #93c5fd; }
[data-bs-theme="dark"] .admin-feedback-card[data-kind="success"] { --feedback-accent: #86efac; }
[data-bs-theme="dark"] .admin-feedback-card[data-kind="warning"] { --feedback-accent: #fcd34d; }
[data-bs-theme="dark"] .admin-feedback-card[data-kind="error"] { --feedback-accent: #fda4af; }
/* Contextual notices and field summaries remain in place until the page changes. */
.alert { border-radius: 14px; border-inline-start-width: 4px; box-shadow: 0 4px 16px #12233c0b; overflow-wrap: anywhere; }
.alert-success { --bs-alert-color: #166534; --bs-alert-bg: #f0faf3; --bs-alert-border-color: #a7d8b2; }
.alert-danger { --bs-alert-color: #9f1239; --bs-alert-bg: #fff4f6; --bs-alert-border-color: #f3bac8; }
.alert-warning { --bs-alert-color: #854d0e; --bs-alert-bg: #fff9eb; --bs-alert-border-color: #e9d19a; }
.alert-info { --bs-alert-color: #1d4e89; --bs-alert-bg: #f1f7ff; --bs-alert-border-color: #bad3f1; }
[data-bs-theme="dark"] .alert-success { --bs-alert-color: #c5f8d2; --bs-alert-bg: #173526; --bs-alert-border-color: #35734a; }
[data-bs-theme="dark"] .alert-danger { --bs-alert-color: #ffd5de; --bs-alert-bg: #41212e; --bs-alert-border-color: #955267; }
[data-bs-theme="dark"] .alert-warning { --bs-alert-color: #ffe8a8; --bs-alert-bg: #3a301c; --bs-alert-border-color: #8c743b; }
[data-bs-theme="dark"] .alert-info { --bs-alert-color: #d2e7ff; --bs-alert-bg: #1c304a; --bs-alert-border-color: #4e729d; }
.admin-message-dialog { border-radius: 16px; box-shadow: 0 20px 60px #12233c40; }
.admin-message-dialog h2 { display: flex; align-items: center; gap: 10px; color: var(--admin-ink); font-weight: 750; }
.admin-message-dialog h2::before { content: '!'; flex: 0 0 26px; display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #854d0e; border-radius: 50%; color: #854d0e; font-size: .9rem; line-height: 1; }
[data-bs-theme="dark"] .admin-message-dialog h2::before { border-color: #fcd34d; color: #fcd34d; }
@keyframes feedback-enter { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .admin-feedback-card { animation: none; } .admin-feedback-progress { transition: none !important; } }
