/* ============================== 公共提示组件 ============================== */
.toast-container {
    position: fixed;
    top: 26px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
}

.toast {
    min-width: 240px;
    max-width: 560px;
    padding: 13px 24px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #161e46;
    border: 1px solid #2c3a75;
    color: #dbeaff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
    animation: toast-in .28s ease-out;
}

.toast.hiding {
    animation: toast-out .28s ease-in forwards;
}

.toast i {
    font-size: 16px;
}

.toast-success {
    background: #122b1f;
    border-color: #52c41a;
    color: #b7eb8f;
}

.toast-success i {
    color: #52c41a;
}

.toast-error {
    background: #2b1418;
    border-color: #ff4d4f;
    color: #ffa39e;
}

.toast-error i {
    color: #ff4d4f;
}

.toast-warning {
    background: #2b2212;
    border-color: #fa8c16;
    color: #ffd591;
}

.toast-warning i {
    color: #fa8c16;
}

.toast-info {
    background: #101b3d;
    border-color: #00c6ff;
    color: #a5e5ff;
}

.toast-info i {
    color: #00c6ff;
}

@keyframes toast-in {
    0% {
        opacity: 0;
        transform: translateY(-18px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes toast-out {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-18px);
    }
}
