@media print {
    @page {
        margin: 1.2cm;
        size: A4;
    }

    html, body {
        background: white !important;
        overflow: visible !important;
    }

    header,
    footer,
    main {
        display: none !important;
    }

    #printReport {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .print-grid-2 {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .print-border {
        border: 2px solid #1e293b;
    }

    .page-break-avoid {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

#printReport {
    display: none;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

.hidden {
    display: none !important;
}

@media print {
    .hidden.print-show-on-print {
        display: block !important;
    }
}

body {
    overflow-x: hidden;
}

.card-title {
    word-wrap: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.stat-value {
    word-break: break-word;
    overflow-wrap: anywhere;
}

@media (max-width: 639px) {
    .stat-value {
        font-size: 1rem;
        line-height: 1.25rem;
    }
}

:focus-visible {
    outline: 2px solid #10b981;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
