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; }

.fade-in { animation: fadeIn 0.2s ease-out; }
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.custom-checkbox {
    width: 1.2rem;
    height: 1.2rem;
    accent-color: #374151;
    cursor: pointer;
}

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ---- SISTEMA DE TEMAS (Default: Roxo / Fiel: Preto) ---- */
/* Default (Roxo) */
.tema-principal-bg { @apply bg-purple-700; }
.tema-secundario-bg { @apply bg-purple-900; }
.tema-botao-bg { @apply bg-purple-600; }
.tema-texto { @apply text-purple-700; }
.tema-logo-color { @apply text-purple-200; }
.tema-barra-bg { @apply bg-purple-600; }
.tema-badge-color { @apply text-purple-700 bg-purple-100; }
.tema-focus:focus { @apply ring-2 ring-purple-500; }

/* Modo Fiel (Preto e Branco) - Ativado via classe .modo-fiel no body */
body.modo-fiel .tema-principal-bg { background-color: #000000 !important; }
body.modo-fiel .tema-secundario-bg { background-color: #111827 !important; }
body.modo-fiel .tema-botao-bg { background-color: #374151 !important; }
body.modo-fiel .tema-texto { color: #000000 !important; }
body.modo-fiel .tema-logo-color { color: #D1D5DB !important; }
body.modo-fiel .tema-barra-bg { background-color: #111827 !important; }
body.modo-fiel .tema-badge-color { background-color: #E5E7EB !important; color: #000000 !important; }
body.modo-fiel .tema-focus:focus { --tw-ring-color: #374151 !important; box-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;}