.alert {
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--border-radius);
    font-size: var(--font-size-base);
    font-weight: 500;
    border: 1px solid transparent;
    border-left-width: 3px;
}

.flash {
    margin-block: var(--space-md);
}

.alert-info {
    background-color: var(--card);
    color: var(--text-body);
    border-color: var(--line);
    border-left-color: var(--text-muted);
}

.alert-success {
    background-color: var(--green-wash);
    color: var(--green-deep);
    border-color: var(--green-wash-line);
    border-left-color: var(--green);
}

.alert-warning {
    background-color: #FBF3E6;
    color: #8A5418;
    border-color: #EBDCC2;
    border-left-color: #C9762F;
}

.alert-error {
    background-color: #FCEDED;
    color: #96161B;
    border-color: #F0CDCE;
    border-left-color: var(--red);
}

.error-card {
    max-width: 32rem;
    margin: var(--space-2xl) auto;
    padding: var(--space-xl);
    background-color: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--border-radius);
    text-align: center;
}

.error-card h2 {
    margin-bottom: var(--space-sm);
}

.error-card p {
    color: var(--text-body);
    margin-bottom: var(--space-lg);
}
