:root {
    --bg-color: #F2F2F7;
    --card-bg: #FFFFFF;
    --card-lighter: #F2F2F7;
    --text-main: #000000;
    --text-muted: #8E8E93;
    --border-color: rgba(60, 60, 67, 0.1);
    --nav-bg: rgba(255, 255, 255, 0.85);
}
html.dark {
    --bg-color: #000000;
    --card-bg: #1C1C1E;
    --card-lighter: #2C2C2E;
    --text-main: #FFFFFF;
    --text-muted: #8E8E93;
    --border-color: rgba(84, 84, 88, 0.65);
    --nav-bg: rgba(28, 28, 30, 0.85);
}
body { background-color: var(--bg-color); color: var(--text-main); -webkit-tap-highlight-color: transparent; transition: background-color 0.3s ease, color 0.3s ease; }
::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { appearance: textfield; -moz-appearance: textfield; }
.sheet-overlay { transition: opacity 0.3s ease; opacity: 0; pointer-events: none; }
.sheet-overlay.active { opacity: 1; pointer-events: auto; }
.sheet-content { transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.1); transform: translateY(100%); }
.sheet-overlay.active .sheet-content { transform: translateY(0); }
/* Desactiva la selección de texto y el menú emergente de Android/iOS */
* {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* Vuelve a habilitarlo solo en los inputs para que puedas escribir el login y precios */
input, textarea {
    -webkit-user-select: auto;
    user-select: auto;
}