/* Tailwind config and normal CSS are handled by CDN. 
   We only add any required overrides or print rules here. */

@keyframes smooth-appear {
    0% { opacity: 0.8; }
    100% { opacity: 1; }
}

body {
    animation: smooth-appear 0.3s ease-out forwards;
}

/* Type selector button smooth transitions */
.type-btn {
    transition: background-color 0.2s ease, color 0.2s ease,
                border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Form fade+slide on type switch */
@keyframes form-enter {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.form-transition-enter {
    animation: form-enter 0.22s ease-out forwards;
}

@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    @page {
        margin: 0;
        size: auto;
    }

    html,
    body {
        height: auto;
        overflow: hidden !important;
    }

    body {
        margin: 0;
        padding: 0;
        background-color: white;
    }

    .no-print {
        display: none !important;
    }

    .print\:p-0 {
        padding: 0 !important;
    }

    #invoice-modal {
        position: absolute;
        left: 0;
        top: 0;
        margin: 0;
        background: transparent;
        display: block !important;
        padding: 0;
        height: auto;
        overflow: hidden;
        page-break-inside: avoid;
        page-break-after: avoid;
    }

    body>*:not(#invoice-modal) {
        display: none !important;
    }

    #invoice-modal>div {
        max-width: 100%;
        max-height: none;
        box-shadow: none;
        overflow: visible;
    }
}