/* ==========================================================
   EMTEL Forms v2.2.38
   Campos, labels, filtros y toolbars operativas.
   ========================================================== */
input, select, textarea {
  min-height: var(--control-height-md);
  border-radius: var(--radius-control);
  border: 1px solid var(--color-border);
  background: #fff;
  color: var(--color-text);
  padding: var(--control-pad-y) var(--control-pad-x);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: 1.25;
}
input::placeholder, textarea::placeholder { color: #94a3b8; }
input:focus, select:focus, textarea:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgba(36, 182, 238, .15);
}
select { cursor: pointer; }
textarea { min-height: 88px; }

.field { display: grid; gap: .38rem; min-width: 0; }
.field.compact input,
.field.compact select,
.field.compact textarea {
  min-height: var(--control-height-sm);
  padding-block: .58rem;
}
.field-grid,
.finance-form-grid,
.teacher-payment-dossier .field-grid,
.shipping-new-form {
  display: grid;
  gap: .9rem;
}
.field-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid.cols-3,
.finance-form-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }

.form-section,
.finance-form-card,
.teacher-payment-dossier,
.shipping-new-card {
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-card);
}
.finance-form-card,
.shipping-new-card {
  background: linear-gradient(135deg, rgba(248,250,252,.98), rgba(255,255,255,.96));
}

.teacher-pay-toolbar.refined-toolbar,
.compact-finance-toolbar,
.shipping-toolbar,
.refined-toolbar,
.hr-toolbar {
  display: grid;
  align-items: end;
  gap: .75rem;
  padding: .86rem;
  border: 1px solid var(--color-border-soft);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, var(--color-surface-soft));
}
.teacher-pay-toolbar.refined-toolbar { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.compact-finance-toolbar { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
.shipping-toolbar { grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(145px, .8fr)); }
.hr-toolbar { grid-template-columns: minmax(240px, 1.35fr) repeat(2, minmax(150px, .8fr)); }

.inline-control { display: flex; gap: .55rem; align-items: center; }
.inline-control input { flex: 1; min-width: 0; }
.toggle-line { display: flex; align-items: center; gap: .6rem; padding: .5rem 0 .9rem; }
.toggle-line input { width: 18px; height: 18px; min-height: 18px; }

@media (max-width: 980px) {
  .field-grid.cols-2,
  .field-grid.cols-3,
  .field-grid.cols-4,
  .finance-form-grid.cols-3,
  .teacher-pay-toolbar.refined-toolbar,
  .compact-finance-toolbar,
  .shipping-toolbar,
  .hr-toolbar { grid-template-columns: 1fr 1fr; }
  .span-2, .span-3 { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .field-grid.cols-2,
  .field-grid.cols-3,
  .field-grid.cols-4,
  .finance-form-grid.cols-3,
  .teacher-pay-toolbar.refined-toolbar,
  .compact-finance-toolbar,
  .shipping-toolbar,
  .hr-toolbar { grid-template-columns: 1fr; }
}
