.flash {
    position: fixed;
    top: 20px;
    right: 20px;
    min-width: 250px;
    padding: 16px 20px;
    border-radius: 8px;
    color: var(--white-color);
    font-family: sans-serif;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 10000;
    animation: fadeIn 0.3s ease-in-out;
}

.flash.success {
    background-color: var(--success-color);
}

.flash.error {
    background-color: var(--danger-color);
}

.message-text {
    margin-bottom: 8px;
    display: block;
}

.progress-bar {
    height: 4px;
    background-color: rgba(255,255,255,0.7);
    width: 100%;
    animation: shrinkBar 7s linear forwards;
    border-radius: 2px;
}

@keyframes shrinkBar {
    from { width: 100%; }
    to { width: 0; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}