/* --- Pantalla de Configuración --- */
#predefined-resources,
#custom-resources-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem;
}

.add-resource-form {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
}

.add-resource-form input[type="text"] {
    flex-grow: 1;
    margin: 0; /* Resetea el margen del forms.css */
}

.add-resource-form .btn {
    flex-shrink: 0;
    padding: 0.75rem; /* Asegura que la altura coincida con el input */
}

/* --- Pantalla de Seguimiento --- */
#resource-tracker-container {
    display: grid;
    grid-template-columns: 1fr; /* Una columna siempre */
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.resource-item {
    background-color: var(--section-deep);
    border-radius: var(--border-radius-lg);
    padding: 0.5rem;
    text-align: center;
    border: 1px solid var(--border-color);
    box-shadow: var(--box-shadow-sm);
    animation: fadeIn 0.4s ease-out; /* Animación de main.css */
}

.resource-item h3 {
    font-size: 1.5rem;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem; /* Aumentado para que no se pegue al círculo */
}

.resource-icon {
    font-size: 1.2em;
    line-height: 1;
}

/* Estilo para los círculos de color generados al azar */
.color-circle-icon {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.3);
    flex-shrink: 0; /* Evita que se deforme */
}

.resource-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.quantity {
    font-size: clamp(2.5rem, 15vw, 3.5rem);
    font-weight: bold;
    color: var(--text-color-light);
    min-width: 2.5ch;
    user-select: none;
}
.quantity.negative {
    color: var(--danger-color-light);
}

.btn-stepper {
    --stepper-size: 3rem;
    width: var(--stepper-size);
    height: var(--stepper-size);
    border-radius: 50%;
    font-size: 1.2rem;
    padding: 0;
    flex-shrink: 0;
}