/* ================================================================
   alerts.css
   ================================================================ */
.alert {
  display: flex; align-items: flex-start; gap: .6rem;
  padding: .8rem 1rem; border-radius: var(--r-md);
  font-size: .9rem; margin-bottom: var(--sp-lg); border: 1px solid transparent;
}
.alert i { font-size: 1.15rem; flex-shrink: 0; margin-top: 1px; }
.alert-success { background: var(--success-bg); color: var(--success); border-color: rgba(45,106,79,.25); }
.alert-error   { background: var(--danger-bg);  color: var(--danger);  border-color: rgba(192,57,43,.25); }
.alert-info    { background: var(--info-bg);    color: var(--info);    border-color: rgba(30,95,143,.22); }
.alert-warning { background: var(--warning-bg); color: var(--warning); border-color: rgba(183,134,11,.25); }

.toast-wrap { position: fixed; right: 16px; bottom: 16px; z-index: 9999; display: flex; flex-direction: column; gap: .5rem; }
.toast {
  background: var(--dark); color: #fff; padding: .7rem 1rem; border-radius: var(--r-md);
  box-shadow: var(--shadow-lg); font-size: .88rem; display: flex; align-items: center; gap: .5rem;
  animation: toast-in .2s ease;
}
.toast.success { border-left: 3px solid var(--success); }
.toast.error { border-left: 3px solid var(--danger); }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.emergency-banner {
  background: var(--emergency); color: #fff; padding: .7rem 1rem; border-radius: var(--r-md);
  display: flex; align-items: center; gap: .6rem; margin-bottom: var(--sp-lg); font-weight: 600;
  animation: pulse-bg 2s infinite;
}
@keyframes pulse-bg { 0%,100% { box-shadow: 0 0 0 0 rgba(139,0,0,.4); } 50% { box-shadow: 0 0 0 6px rgba(139,0,0,0); } }
