.toast-container {
position: fixed;
bottom: 1.5rem;
right: 1.5rem;
z-index: var(--z-toast);
display: flex;
flex-direction: column;
gap: 0.5rem;
pointer-events: none;
}
.toast {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 1rem;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: var(--border-radius-md);
box-shadow: var(--shadow-lg);
pointer-events: auto;
animation: slideIn 0.25s ease;
max-width: 360px;
}
@keyframes slideIn {
from {
opacity: 0;
transform: translateX(100%);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.toast.hiding {
animation: slideOut 0.25s ease forwards;
}
@keyframes slideOut {
to {
opacity: 0;
transform: translateX(100%);
}
}
.toast-icon {
width: 20px;
height: 20px;
flex-shrink: 0;
}
.toast-content {
flex: 1;
min-width: 0;
}
.toast-title {
font-size: 0.875rem;
font-weight: 600;
color: var(--text-primary);
}
.toast-message {
font-size: 0.8125rem;
color: var(--text-secondary);
margin-top: 0.125rem;
}
.toast-close {
width: 20px;
height: 20px;
color: var(--text-muted);
flex-shrink: 0;
}
.toast-close:hover {
color: var(--text-primary);
}
.toast.success {
border-left: 3px solid var(--accent-success);
}
.toast.success .toast-icon {
color: var(--accent-success);
}
.toast.error {
border-left: 3px solid var(--accent-danger);
}
.toast.error .toast-icon {
color: var(--accent-danger);
}
.toast.warning {
border-left: 3px solid var(--accent-warning);
}
.toast.warning .toast-icon {
color: var(--accent-warning);
}
.toast.info {
border-left: 3px solid var(--accent-primary);
}
.toast.info .toast-icon {
color: var(--accent-primary);
}