/**
 * VitalsFlow AI - Custom Styles
 * VirtuBox Labs
 */

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: #f8fafc;
}

/* Scanline laser animation for biometric scanning */
@keyframes scan {
    0% {
        top: 10%;
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        top: 90%;
        opacity: 0;
    }
}

.scan-line {
    animation: scan 1.5s linear infinite;
}

/* Dynamic view animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.96);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-zoom-in {
    animation: zoomIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Circular SVG progress transition */
.progress-ring-circle {
    transition: stroke-dashoffset 1s linear, stroke 0.3s ease;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

/* Staggered card animation utilities */
.card-animate {
    opacity: 0;
    animation: fadeIn 0.5s ease-out forwards;
}

.card-delay-1 { animation-delay: 0.05s; }
.card-delay-2 { animation-delay: 0.10s; }
.card-delay-3 { animation-delay: 0.15s; }
.card-delay-4 { animation-delay: 0.20s; }
.card-delay-5 { animation-delay: 0.25s; }
.card-delay-6 { animation-delay: 0.30s; }
.card-delay-7 { animation-delay: 0.35s; }

/* Print styles for clean PDF exports and print dialog */
@media print {
    .no-print {
        display: none !important;
    }
    .print-only {
        display: block !important;
    }
    body {
        background-color: white !important;
    }
    #health-report {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}
