﻿@tailwind base;
@tailwind components;
@tailwind utilities;

* {
    font-family: 'Poppins', system-ui, sans-serif;
}

.fontsMono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

/* ── Datepicker animations ───────────────────────────────────── */

.dp-popup.dp-open {
    animation: dp-fade-in 0.15s ease-out;
}

@keyframes dp-fade-in {
    from {
        opacity: 0;
        transform: translateY(-4px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.dp-wrapper {
    display: inline-block;
    width: 100%;
}

/* Skeleton loading animation */
.skeleton {
    background: linear-gradient(90deg, hsl(var(--muted)) 25%, hsl(var(--muted) / 0.5) 50%, hsl(var(--muted)) 75%);
    background-size: 200% 100%;
    animation: skeleton-pulse 1.5s ease-in-out infinite;
    border-radius: 0.375rem;
}

@keyframes skeleton-pulse {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* ── Z-Report print styles ───────────────────────────────────────── */

#zreport-print-area {
    display: none;
}

@media print {
    body.printing-zreport > *:not(#zreport-print-area) {
        display: none !important;
    }

    body.printing-zreport #zreport-print-area {
        display: block !important;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
        font-size: 12px;
    }

        body.printing-zreport #zreport-print-area .flex {
            display: flex;
        }

        body.printing-zreport #zreport-print-area .justify-between {
            justify-content: space-between;
        }

        body.printing-zreport #zreport-print-area .text-center {
            text-align: center;
        }

        body.printing-zreport #zreport-print-area .font-bold {
            font-weight: bold;
        }

        body.printing-zreport #zreport-print-area .fontsMono {
            font-family: 'Courier New', monospace;
        }

        body.printing-zreport #zreport-print-area .break-words {
            word-break: break-word;
        }

        body.printing-zreport #zreport-print-area .flex-1 {
            flex: 1;
        }

        body.printing-zreport #zreport-print-area .shrink-0 {
            flex-shrink: 0;
        }

        body.printing-zreport #zreport-print-area .text-right {
            text-align: right;
        }

        body.printing-zreport #zreport-print-area .border-t.border-dashed {
            border-top: 1px dashed #333;
        }

        body.printing-zreport #zreport-print-area .text-muted-foreground {
            color: #555;
        }


        body.printing-zreport #zreport-print-area .max-w-xs {
            max-width: 100%;
        }

        body.printing-zreport #zreport-print-area .text-xs {
            font-size: 12px;
        }

        body.printing-zreport #zreport-print-area .rounded-lg,
        body.printing-zreport #zreport-print-area .border-border,
        body.printing-zreport #zreport-print-area .shadow-sm,
        body.printing-zreport #zreport-print-area .bg-background {
            border: none;
            box-shadow: none;
            background: white;
        }
}
