.toast {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    color: white;
    font-size: 0.875rem;
    font-weight: 500;
    z-index: 1000;
    animation: slideUp 0.3s ease-out;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.toast.success { background: #10b981; }
.toast.error { background: #ef4444; }
.toast.warning { background: #f59e0b; }

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(1rem);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.app-layout {
    min-height: 100vh;
    background: var(--gris-100);
    width: 100%;
}

.barra-superior {
    height: 4px;
    background: var(--enaex-rojo);
    width: 100%;
}

.contenedor {
    display: flex;
    width: 100%;
    min-width: 0;
}

main {
    flex: 1;
    min-width: 0;
    min-height: calc(100vh - 4px);
    width: 100%;
    overflow-x: hidden;
}

@media print {
    .sidebar,
    .sidebar-overlay,
    .topbar-global,
    .conn-banner,
    .toast,
    .toast-container,
    .barra-superior,
    .historial-export-acciones,
    .btn-exportar-mini,
    .paginacion,
    .paginacion-tabla,
    .desvios-subgrupo-pager,
    button {
        display: none !important;
    }

    html, body, .app-layout, main {
        background: #fff !important;
        overflow: visible !important;
    }

    main {
        min-height: 0;
    }

    .seccion-card,
    .historial-tabla-wrapper,
    .tabla-scroll {
        box-shadow: none !important;
        overflow: visible !important;
    }

    tr,
    .constante-item,
    .cobranza-fila,
    .observacion-item,
    .resp-card {
        break-inside: avoid;
    }

    a {
        text-decoration: none;
        color: inherit;
    }
}
