:root {
    --color-primary: 59 130 246; /* Azul Padrão */
}

body {
    -webkit-tap-highlight-color: transparent;
}

/* Remover setas de inputs number */
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;
}

/* Ajuste para dispositivos móveis com notch */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .pb-safe {
        padding-bottom: env(safe-area-inset-bottom);
    }
}

.no-select {
    user-select: none;
    -webkit-user-select: none;
}

/* Animações suaves */
.fade-in { animation: fadeIn 0.3s ease-out forwards; }
.slide-up { animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-in { animation: fadeInScale 0.3s ease-out forwards; }

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

/* Esconder o marcador padrão do details (Safari/Chrome) */
details > summary {
    list-style: none;
}
details > summary::-webkit-details-marker {
    display: none;
}
/* Rotacionar seta quando aberto */
details[open] summary .seta {
    transform: rotate(180deg);
}