html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
    body { font-variant-numeric: tabular-nums; overflow-x: hidden; -webkit-tap-highlight-color: transparent; }

    input[type=range] { -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer; width: 100%; height: 28px; touch-action: pan-y; }
    input[type=range]::-webkit-slider-runnable-track { height: 8px; border-radius: 999px; background: #1e293b; border: 1px solid #334155; }
    input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none; appearance: none; height: 22px; width: 22px; border-radius: 50%;
        background: #3b82f6; border: 3px solid #0f172a; box-shadow: 0 2px 6px rgba(0,0,0,.45);
        margin-top: -8px; transition: transform .1s ease, background .1s ease;
    }
    input[type=range]:active::-webkit-slider-thumb { transform: scale(1.15); background: #60a5fa; }
    input[type=range]::-moz-range-track { height: 8px; border-radius: 999px; background: #1e293b; }
    input[type=range]::-moz-range-thumb { height: 18px; width: 18px; border: 3px solid #0f172a; border-radius: 50%; background: #3b82f6; }

    input[type=number]::-webkit-inner-spin-button,
    input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
    input[type=number] { -moz-appearance: textfield; }

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

    .tab-panel { animation: fade .18s ease-out; }
    @keyframes fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

    /* Mobile: evita zoom automatico do iOS ao focar campo e garante alvo de toque */
    @media (max-width: 640px) {
        input[type=number], input[type=text], select, textarea { font-size: 16px !important; }
        button { touch-action: manipulation; }
        .tab-btn { white-space: nowrap; }
    }
