/*!
 * Notyf-compatible lightweight toast styles (self-contained stand-in).
 * 앱 디자인 토큰(--ad-*)을 사용해 통일감을 맞춘 clean 카드 스타일.
 * 공식 notyf 로 교체 시 이 파일을 notyf.min.css 배포본으로 대체하면 됨.
 */
.notyf {
    position: fixed;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    pointer-events: none;
    max-width: 92vw;
}
.notyf--top { top: 24px; }
.notyf--bottom { bottom: 24px; }
.notyf--right { right: 24px; align-items: flex-end; }
.notyf--left { left: 24px; align-items: flex-start; }

.notyf__toast {
    pointer-events: auto;
    box-sizing: border-box;
    display: block;
    max-width: 380px;
    margin: 8px 0;
    padding: 14px 18px;
    border: 1px solid rgba(var(--ad-dark-rgb, 30, 41, 59), .08);
    border-left: 3px solid var(--ad-gray, #64748B);
    border-radius: 10px;
    background: #fff;
    color: var(--ad-dark, #1E293B);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    box-shadow: 0 10px 30px -8px rgba(var(--ad-dark-rgb, 30, 41, 59), .22), 0 2px 6px rgba(var(--ad-dark-rgb, 30, 41, 59), .06);
    word-break: keep-all;
    cursor: pointer;
    opacity: 0;
    transform: translateX(16px) scale(.98);
    transition: opacity .28s cubic-bezier(.21,1.02,.73,1), transform .28s cubic-bezier(.21,1.02,.73,1);
}
.notyf--left .notyf__toast { transform: translateX(-16px) scale(.98); }
.notyf__toast--show { opacity: 1; transform: translateX(0) scale(1); }
.notyf__toast--hide { opacity: 0; transform: translateY(-8px) scale(.98); }

.notyf__wrapper { display: flex; align-items: flex-start; gap: 10px; }
.notyf__icon { flex: 0 0 auto; font-size: 20px; line-height: 1.4; color: var(--ad-gray, #64748B); }
.notyf__icon i { display: block; }
.notyf__message { display: block; padding-top: 1px; }

/* 유형별 액센트(좌측 바 + 아이콘 색) — 배경은 흰색 유지로 깔끔하게 */
.notyf__toast--success { border-left-color: var(--ad-success, #16A34A); }
.notyf__toast--success .notyf__icon { color: var(--ad-success, #16A34A); }
.notyf__toast--error { border-left-color: var(--ad-danger, #EF4444); }
.notyf__toast--error .notyf__icon { color: var(--ad-danger, #EF4444); }
.notyf__toast--warning { border-left-color: var(--ad-warning, #F59E0B); }
.notyf__toast--warning .notyf__icon { color: var(--ad-warning, #F59E0B); }
.notyf__toast--info { border-left-color: var(--ad-info, #3B82F6); }
.notyf__toast--info .notyf__icon { color: var(--ad-info, #3B82F6); }

@media (max-width: 768px) {
    .notyf--right, .notyf--left { left: 12px; right: 12px; align-items: stretch; }
    .notyf__toast { max-width: 100%; }
}
