@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
    --bank-blue: #002B87;
    --bank-blue-dark: #001F66;
    --bank-bg: #F4F6FA;
    --brand-red: #E11927;
    --brand-orange: #F36C21;
    --brand-black: #0B0F19;
    --brand-blue: #0047CC;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #E2E8F0;
    color: #0F172A;
    -webkit-tap-highlight-color: transparent;
}

.font-mono {
    font-family: 'JetBrains Mono', monospace;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Auto-expand estricto sin resize manual */
textarea.auto-expand {
    resize: none !important;
    overflow: hidden !important;
    box-sizing: border-box;
    min-height: 42px;
    line-height: 1.4;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

textarea::-webkit-resizer {
    display: none;
}

/* Efecto láser sobrio */
@keyframes scanLine {
    0% {
        top: 0%;
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}

.scan-effect-line::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 43, 135, 0.15);
    backdrop-filter: blur(1px);
    z-index: 20;
}

.scan-effect-line::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2.5px;
    background: #E11927;
    box-shadow: 0 0 14px 3px rgba(225, 25, 39, 0.9);
    animation: scanLine 1.3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    z-index: 25;
}

/* Animación láser continuo para la mini pantalla de cámara */
@keyframes cameraLaserSweep {
    0% { top: 12%; opacity: 0.3; }
    50% { opacity: 1; }
    100% { top: 88%; opacity: 0.3; }
}

.camera-scanner-laser {
    position: absolute;
    left: 5%;
    right: 5%;
    height: 2px;
    background: #E11927;
    box-shadow: 0 0 10px 2px rgba(225, 25, 39, 0.95);
    animation: cameraLaserSweep 1.6s ease-in-out infinite alternate;
    z-index: 25;
    pointer-events: none;
}
