/* Norma única de controles. Se carga la última para ganar a las hojas de cada pantalla.
   Alto 40 px, radio 8 px, texto 14 px.
   Acción principal en verde. Secundaria con borde. Peligro en rojo.
   No aplica a casillas, radios, archivos ni al mapa. */

.btn,
a.btn,
button.btn {
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.btn-add-ficha,
button.btn-add-ficha {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    padding: 0 !important;
    font-size: 24px !important;
}

.results-list .result-actions .btn,
.verificacion-actions .btn {
    height: auto !important;
    min-height: 32px !important;
    max-height: none !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
    text-align: center !important;
}

@media (min-width: 769px) {
    .solicitud-actions {
        flex-wrap: nowrap !important;
    }

    .solicitud-actions .btn {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: max-content !important;
    }
}

.btn-primary,
.btn-success,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-success:hover,
.btn-success:active,
.btn-success:focus {
    background: #28a745 !important;
    color: #fff !important;
    border: none !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-success:hover,
.btn-success:active {
    background: #218838 !important;
}

.btn-secondary,
.btn-outline {
    background: #fff !important;
    color: #1e7e34 !important;
    border: 1px solid #28a745 !important;
}

.btn-secondary:hover,
.btn-outline:hover {
    background: #e9f7ee !important;
    color: #1e7e34 !important;
}

.btn-danger,
.btn-danger:hover,
.btn-danger:active {
    background: #dc3545 !important;
    color: #fff !important;
    border: none !important;
}

.btn-danger:hover,
.btn-danger:active {
    background: #c82333 !important;
}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
select,
.form-input,
.form-select,
.u-control,
.u-formkit .u-control {
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

textarea,
textarea.u-control,
.form-textarea,
.u-control--textarea,
.u-formkit textarea,
.u-formkit .u-control--textarea {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 96px !important;
    max-height: none !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

textarea.chat-input {
    min-height: 44px !important;
    max-height: 100px !important;
    padding: 10px 16px !important;
    border-radius: 24px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}
