/* ── Toast notifications ── */
#toast-container {
    position: fixed; top: 12px; right: 12px; z-index: 10000;
    display: flex; flex-direction: column; gap: 8px;
    pointer-events: none; max-width: 320px;
}
.toast {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 14px; border-radius: 8px;
    background: var(--toast-bg); color: var(--text-primary);
    border: 1px solid var(--border); border-left: 3px solid var(--accent);
    box-shadow: var(--toast-shadow), inset 0 1px 0 var(--panel-emboss);
    font-size: 13px; line-height: 1.4;
    pointer-events: auto; cursor: default;
    animation: toast-in 0.25s ease-out;
    transition: transform 0.15s ease, opacity 0.15s ease;
}
.toast-success { border-left-color: #27ae60; }
.toast-error   { border-left-color: #e74c3c; }
.toast-text { flex: 1; min-width: 0; word-break: break-word; }
.toast-dismiss {
    flex-shrink: 0; width: 22px; height: 22px;
    border: none; background: var(--control-bg); border-radius: 4px;
    color: var(--text-muted); font-size: 16px; line-height: 1;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    box-shadow: inset 0 1px 0 var(--panel-emboss);
}
.toast-dismiss:hover { background: var(--control-hover-bg); color: var(--accent); }
.toast-out {
    animation: toast-out 0.2s ease-in forwards;
}
@keyframes toast-in {
    from { opacity: 0; transform: translateX(100%); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes toast-out {
    from { opacity: 1; transform: translateX(0); }
    to   { opacity: 0; transform: translateX(100%); }
}

/* Mobile */
@media (max-width: 768px) {
    #toast-container { right: 8px; left: 8px; max-width: none; }
}
