/* ============================================================================
   ACEF - forms.css : inputs, filtros, selector de formato y columnas, ajustes.
   Paleta corporativa CEF / Udima.
   ========================================================================== */

.input {
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  padding: .5rem .65rem; font-size: .85rem; font-family: inherit; color: var(--text);
  background: #fff; transition: border-color .12s, box-shadow .12s; min-width: 0;
}
.input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(125,196,0,.18); }
input[type="password"].input, .login-form input {
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  padding: .6rem .7rem; font-size: .9rem; font-family: inherit; width: 100%;
}
.login-form input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(125,196,0,.18); }

.filters { padding: .9rem 1rem; }
.filters-row { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.filters-row .input { flex: 1 1 160px; }
.filters-row .input[type="date"] { flex: 0 0 auto; }

.field-label { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); font-weight: 600; margin: 1.1rem 0 .5rem; }
.field-label:first-child { margin-top: 0; }

/* --- Selector de formato -------------------------------------------------- */
.format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
@media (max-width: 640px) { .format-grid { grid-template-columns: 1fr 1fr; } }
.format-opt { cursor: pointer; }
.format-opt input { position: absolute; opacity: 0; }
.format-card {
  display: flex; flex-direction: column; gap: .15rem; border: 1.5px solid var(--border);
  border-radius: var(--radius-sm); padding: .6rem .8rem; transition: border-color .12s, background .12s;
}
.format-card strong { font-size: .9rem; }
.format-card em { font-style: normal; font-size: .72rem; color: var(--muted); }
.format-opt input:checked + .format-card { border-color: var(--accent); background: var(--accent-soft); }
.format-opt input:focus-visible + .format-card { box-shadow: 0 0 0 3px rgba(125,196,0,.2); }

/* --- Selector de columnas ------------------------------------------------- */
.cols-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem .8rem; }
@media (max-width: 800px) { .cols-grid { grid-template-columns: 1fr 1fr; } }
.col-check { display: flex; align-items: center; gap: .4rem; font-size: .82rem; color: var(--text-soft); cursor: pointer; }

.export-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.2rem; }

/* --- Ajustes -------------------------------------------------------------- */
.conn-status { margin-top: .8rem; font-size: .85rem; color: var(--text-soft); }
.env-grid { display: flex; flex-direction: column; gap: .5rem; max-width: 360px; }
.env-row { display: flex; align-items: center; justify-content: space-between; padding: .4rem 0; border-bottom: 1px dashed var(--border); font-size: .85rem; }
