.alert {
    margin: 0 0 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid transparent;
    border-radius: 10px;
    font-weight: 500;
}

.alert-error { border-color: #fecdca; background: #fef3f2; color: #912018; }
.alert-success { border-color: #abefc6; background: #ecfdf3; color: #05603a; }
.alert-info { border-color: #b2ddff; background: #eff8ff; color: #175cd3; }
.alert-warning { border-color: #fedf89; background: #fffaeb; color: #854a0e; }

@media (prefers-color-scheme: dark) {
    .alert-error { border-color: #b42318; background: #55160c; color: #fda29b; }
    .alert-success { border-color: #087443; background: #053321; color: #6ce9a6; }
    .alert-info { border-color: #175cd3; background: #102a56; color: #b2ddff; }
    .alert-warning { border-color: #b54708; background: #4e1d09; color: #fedf89; }
}