/* Custom Design Styles */
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'Fira Code', monospace;
    
    /* Paleta base (el color de marca se aplica desde la config del ISP) */
    --nexus-green-50: #ecfdf5;
    --nexus-green-100: #d1fae5;
    --nexus-green-400: #34d399;
    --nexus-green-500: #10b981;
    --nexus-green-600: #059669;
    --nexus-green-700: #047857;
    
    --nexus-dark: #090d14;
    --nexus-card: #0f172a;
    --nexus-card-hover: #1e293b;
    --nexus-border: #1e293b;
}

body {
    font-family: var(--font-sans);
    background-color: var(--nexus-dark);
    color: #f8fafc;
}

.font-mono-code {
    font-family: var(--font-mono);
}

/* Custom Scrollbar - Grey & Green */
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track {
    background: #0f172a;
}
::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #10b981;
}

/* Terminal Styling */
.terminal-window {
    background-color: #05080f;
    border: 1px solid #1e293b;
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.6);
}

.terminal-header {
    background-color: #0f172a;
    border-bottom: 1px solid #1e293b;
}

.terminal-body {
    font-family: var(--font-mono);
    white-space: pre-wrap;
    word-break: break-all;
    line-height: 1.5;
}

/* Pulse animation */
@keyframes pulse-emerald {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
}

.animate-pulse-green {
    animation: pulse-emerald 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Toast Notifications */
#toast-container {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.toast {
    animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    transition: all 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(15px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ================= PRINT STYLES FOR INVOICE ================= */
@media print {
    body * {
        visibility: hidden;
    }
    
    #invoiceViewModal,
    #invoiceViewModal * {
        visibility: visible;
    }
    
    .no-print {
        display: none !important;
    }

    #invoiceViewModal {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: auto;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    #invoiceViewModal > div {
        max-width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    #printableInvoiceArea {
        padding: 0 !important;
        background: #ffffff !important;
        color: #0f172a !important;
        border: none !important;
        width: 100% !important;
    }
}
