/* combo-v2: campo della combobox condivisa (.blazor-combo-box, DxComboBox di BlazorComboBoxInput) esteso a tutto il sito di test.
   Riferimento: docs/PropostaCombobox.html. Il popup (nh-combo-dd) resta in detail-v2.css, sezione g).
   Tutto sotto body.test-environment: in produzione il file e' inerte. Per tornare indietro: togliere il <link> in App.razor.
   Esclusi (restano come prima): righe filtro delle tabelle (.smart-table-filter-control e contenitori filtro), Assenze
   (.absences-*), celle di tabella e pager, e le schede .work-surface--half, che hanno gia' le loro regole in detail-v2.css.
   Dentro i form v2 (.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) la combo tiene altezza, raggio, rientro
   e stati disattivato/sola lettura di forms-v2.css, cosi' resta allineata a input e date vicini: li' riceve solo bordo,
   focus e freccia. Fuori dai form v2 vale il campo da 44px. */

/* ---------- Campo (ovunque, tranne disattivato/sola lettura) ---------- */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *):not(.dxbl-disabled):not(.dxbl-readonly) {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--muted);
  background: #fff;
  transition: border-color .12s, box-shadow .12s;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *):not(.dxbl-disabled):not(.dxbl-readonly):hover {
  border-color: var(--primary);
}

/* Anello a 4px sia a campo chiuso con il cursore dentro, sia ad elenco aperto (il focus resta nel campo). */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *):not(.dxbl-disabled):not(.dxbl-readonly):focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .2);
}

/* Freccia nel campo, senza riquadro ne' divisore. */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *) :is(.dxbl-btn-group-right, .dxbl-edit-btn-dropdown) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *) .dxbl-edit-btn-dropdown {
  color: var(--text-muted, #475569);
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *) .dxbl-edit-btn-dropdown:is(:hover, :focus-visible) {
  color: var(--primary);
}

/* ---------- Misure da 44px: solo fuori dai form v2 (dentro valgono i 34px di forms-v2.css) ---------- */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *):not(.dxbl-disabled):not(.dxbl-readonly) {
  min-height: 44px;
  border-radius: 10px;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *) :is(input, .dxbl-text-edit-input) {
  min-height: 42px;
  padding: 0 14px;
  color: var(--text);
  font-size: 15px;
  font-weight: 500;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *) .dxbl-edit-btn-dropdown {
  min-width: 44px;
}

/* ---------- Sola lettura / disattivata fuori dai form v2: riquadro tenue come nelle schede (detail-v2.css, sezione c) ---------- */
/* !important: site.css forza questi campi a testo nudo (sfondo trasparente, peso 400) con !important. */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *):is(.dxbl-disabled, .dxbl-readonly) {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 0 !important;
  border-radius: 10px;
  background: var(--surface-soft) !important;
  box-shadow: none;
  color: var(--text) !important;
  opacity: 1 !important;
  cursor: default;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *):is(.dxbl-disabled, .dxbl-readonly) :is(input, .dxbl-text-edit-input) {
  background: transparent !important;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
  font-weight: 650 !important;
  cursor: default;
}

body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *):is(.dxbl-disabled, .dxbl-readonly) :is(.dxbl-btn-group-right, .dxbl-edit-btn-dropdown) {
  display: none !important;
}

/* Raggiungibile da tastiera anche in lettura: solo il contorno. */
body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *).dxbl-readonly:focus-within {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ---------- Mobile: 16px evita lo zoom automatico di iOS al tocco (nei form v2 l'input e' a 14px e resta com'e') ---------- */
@media (max-width: 560px) {
  body.test-environment .blazor-combo-box.dxbl-text-edit:not(.smart-table-filter-control, [class*="absences-"][class*="-combo"], .work-surface--half *, .smart-table-header-filters *, .smart-table-filter-row *, .smart-table-filter-bar *, .absences-form-grid *, .absences-day-table *, td *, th *, [class*="pager"] *, :is(.nh-form, .settings-form-grid, .form-grid, .commesse-form-grid) *) :is(input, .dxbl-text-edit-input) {
    font-size: 16px;
  }
}
