/* OnNoc — Sprint 5: toast unificado + skeleton de tabela */

.icarus-toast-host {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10050;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    pointer-events: none;
    max-width: min(420px, calc(100vw - 32px));
}

.icarus-toast {
    pointer-events: auto;
    padding: 11px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    animation: icarus-toast-in 0.2s ease;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

@keyframes icarus-toast-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.icarus-toast--ok {
    background: var(--green-bg);
    color: color-mix(in srgb, var(--green) 70%, var(--text-primary));
    border-color: color-mix(in srgb, var(--green) 28%, var(--border));
}

.icarus-toast--err {
    background: var(--red-bg);
    color: var(--red);
    border-color: color-mix(in srgb, var(--red) 28%, var(--border));
}

.icarus-toast--info {
    background: var(--blue-bg);
    color: color-mix(in srgb, var(--blue) 75%, var(--text-primary));
    border-color: color-mix(in srgb, var(--blue) 28%, var(--border));
}

.icarus-toast--warn {
    background: var(--yellow-bg);
    color: color-mix(in srgb, #b45309 85%, var(--text-primary));
    border-color: color-mix(in srgb, var(--yellow) 30%, var(--border));
}

@media (min-width: 768px) {
    .icarus-toast-host {
        left: auto;
        right: 24px;
        transform: none;
        align-items: flex-end;
    }
}

/* Skeleton de linhas de tabela (listas lentas) */
.icarus-table-skeleton td {
    padding: 14px 16px;
}

.icarus-table-skeleton__bar {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(
        90deg,
        var(--bg-hover) 25%,
        color-mix(in srgb, var(--border) 80%, var(--bg-hover)) 50%,
        var(--bg-hover) 75%
    );
    background-size: 200% 100%;
    animation: skeletonShimmer 1.2s ease-in-out infinite;
}
