.filtros {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px;
    padding: 16px 18px;
    background: var(--color-superficie);
    border-radius: var(--radio-grande) var(--radio-grande) 0 0;
}
.filtros + .tabla-contenedor { border-radius: 0 0 var(--radio-grande) var(--radio-grande); }
.filtros__fin { margin-left: auto; }

.campo { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.campo label, .campo__etiqueta { font-size: 12px; font-weight: 500; color: var(--color-texto); }
.campo__ayuda { font-size: 12px; color: var(--color-texto-suave); }
.campo__error { font-size: 12px; color: var(--color-peligro); }
.requerido { color: var(--color-peligro); }

.control {
    width: 100%; min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--color-borde-fuerte); border-radius: var(--radio);
    background: var(--color-superficie);
    font-size: 13.5px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.control:focus { outline: 0; border-color: var(--color-primario); box-shadow: 0 0 0 3px var(--color-primario-claro); }
.control::placeholder { color: var(--color-texto-tenue); }
.control[readonly] { background: var(--color-fondo); }
textarea.control { min-height: 84px; resize: vertical; }
select.control { padding-right: 30px; }
.control--invalido { border-color: var(--color-peligro); }

.control-grupo { display: flex; align-items: center; gap: 8px; }
.control-grupo .control { flex: 1; }

.rejilla { display: grid; gap: 16px; grid-template-columns: repeat(12, 1fr); }
.col-12 { grid-column: span 12; }
.col-8 { grid-column: span 8; }
.col-6 { grid-column: span 6; }
.col-4 { grid-column: span 4; }
.col-3 { grid-column: span 3; }
@media (max-width: 720px) {
    .col-8, .col-6, .col-4, .col-3 { grid-column: span 12; }
}

.form-acciones {
    display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px;
    padding-top: 18px; margin-top: 8px;
    border-top: 1px solid var(--color-borde);
}

.form-seccion { margin: 6px 0 2px; font-size: 13px; font-weight: 600; color: var(--color-primario-oscuro); letter-spacing: .4px; text-transform: uppercase; }

.subida {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px;
    padding: 14px; border: 1px dashed var(--color-primario-borde); border-radius: var(--radio);
    background: var(--color-primario-claro);
}
.subida .campo { flex: 1 1 180px; }
.subida input[type=file] { font-size: 12.5px; }

.opciones-si-no { margin: 0; padding: 0; border: 0; }
.opciones-si-no legend { margin-bottom: 6px; padding: 0; }
.opciones-si-no label { display: inline-flex; align-items: center; gap: 6px; margin-right: 18px; font-size: 13.5px; cursor: pointer; }
.opciones-si-no input { accent-color: var(--color-primario); width: 16px; height: 16px; }
