/* ============================================================================
   jqgrid-modern.css — Restyle moderno di free-jqGrid SENZA toccare il JS.
   - Colori PARAMETRICI dai --bh-* (config/assets_head.php da T_SITE).
   - Icone sprite jQuery UI rimappate a FontAwesome (gia' caricato), piu' grandi.
   - Solo forma/spaziatura/ombre: nessuna funzionalita' della griglia cambia.
   Caricato DOPO ui.jqgrid.css/jquery-ui per vincere sulle regole di default.
   ============================================================================ */

/* ---- Contenitore griglia: card arrotondata, bordo soft, ombra ---- */
.ui-jqgrid { border: 0 !important; font-family: var(--bh-font, inherit); }
.ui-jqgrid.ui-widget {
  border: 1px solid var(--bh-border, #e7eaec) !important;
  border-radius: var(--bh-card-radius, 12px);
  overflow: hidden;
  box-shadow: 0 6px 20px -12px rgba(15, 23, 42, .18);
  background: #fff;
}
.ui-jqgrid .ui-jqgrid-view { font-size: 13px; }
.ui-jqgrid .ui-jqgrid-hdiv { border: 0 !important; border-radius: 0 !important; }
.ui-jqgrid .ui-jqgrid-bdiv { border: 0 !important; }

/* ---- Titolo / caption ---- */
.ui-jqgrid .ui-jqgrid-titlebar {
  background: #fff !important; border: 0 !important;
  border-bottom: 1px solid var(--bh-border, #e7eaec) !important;
  color: var(--bh-title-text, #2b333c) !important;
  padding: 12px 14px; font-weight: 600;
}

/* ---- Intestazioni colonne ---- */
.ui-jqgrid .ui-jqgrid-htable th,
.ui-jqgrid .ui-jqgrid-labels th.ui-th-column,
.ui-jqgrid .ui-jqgrid-labels th.ui-th-column-header {
  background: color-mix(in srgb, var(--bh-primary, #1ab394) 6%, #f6f8f9) !important;
  border-top: 0 !important;
  border-color: var(--bh-border, #e7eaec) !important;
  color: #3a4750 !important; font-weight: 600;
  padding: 11px 8px; white-space: nowrap;
}
.ui-jqgrid .ui-jqgrid-sortable { font-weight: 600; }
/* riga della toolbar di ricerca (filterToolbar) */
.ui-jqgrid .ui-search-toolbar th { background: #fbfcfd !important; padding: 6px 6px; }
.ui-jqgrid .ui-search-toolbar input,
.ui-jqgrid .ui-search-toolbar select {
  border: 1px solid #d7dde2 !important; border-radius: var(--bh-field-radius, 6px) !important;
  padding: 4px 8px; font-size: 13px; width: 100%; box-sizing: border-box;
}

/* ---- Righe corpo ---- */
.ui-jqgrid tr.jqgrow td {
  border-color: color-mix(in srgb, var(--bh-border, #e7eaec) 70%, transparent) !important;
  padding: 9px 8px; vertical-align: middle; height: auto;
}
.ui-jqgrid tr.jqgrow:nth-of-type(even) td { background-color: rgba(15, 23, 42, .016); }
.ui-jqgrid tr.jqgrow:hover td {
  background: color-mix(in srgb, var(--bh-primary, #1ab394) 9%, transparent) !important;
}
/* riga selezionata: tinta brand parametrica, testo invariato */
.ui-jqgrid tr.ui-state-highlight td,
.ui-jqgrid tr.jqgrow.ui-state-select td,
.ui-jqgrid tr.ui-state-hover td {
  background: color-mix(in srgb, var(--bh-primary, #1ab394) 16%, transparent) !important;
  color: inherit !important; border-color: transparent !important;
}

/* ---- Pager ---- */
.ui-jqgrid .ui-jqgrid-pager, .ui-jqgrid .ui-pager-control {
  background: #fff !important; border: 0 !important;
  border-top: 1px solid var(--bh-border, #e7eaec) !important;
  height: auto; padding: 5px 8px;
}
/* CENTRATURA VERTICALE: tutte le tabelle/righe/celle del pager (interna ed esterna). */
.ui-jqgrid-pager .ui-pager-control,
.ui-jqgrid-pager .ui-pager-control > tbody > tr > td,
.ui-jqgrid-pager table.ui-pg-table,
.ui-jqgrid-pager table.ui-pg-table > tbody > tr > td,
.ui-jqgrid-pager td[id$="_left"], .ui-jqgrid-pager td[id$="_center"], .ui-jqgrid-pager td[id$="_right"] {
  vertical-align: middle !important;
  height: auto !important;
}
.ui-jqgrid-pager .ui-pager-control { width: 100%; }
/* ANTI-SOVRAPPOSIZIONE: la navtable (gruppo bottoni a sinistra) e' float:left e
   sfora la sua cella (1/3), finendo sopra la navigazione pagine centrale. Soluzione
   robusta: la riga del pager diventa FLEX (left | center | right) -> niente overlap,
   il centro si restringe se serve, e niente celle a larghezza fissa. */
.ui-jqgrid-pager .ui-pager-control > table { width: 100% !important; }
.ui-jqgrid-pager .ui-pager-control > table > tbody,
.ui-jqgrid-pager .ui-pager-control > table > tbody > tr {
  display: flex !important; width: 100% !important; align-items: center;
}
.ui-jqgrid-pager td[id$="_left"]   { display: flex !important; align-items: center; flex: 0 1 auto; justify-content: flex-start; min-width: 0; }
.ui-jqgrid-pager td[id$="_center"] { display: flex !important; align-items: center; flex: 1 1 auto; justify-content: center; min-width: 0; white-space: nowrap; }
.ui-jqgrid-pager td[id$="_right"]  { display: flex !important; align-items: center; flex: 0 0 auto; justify-content: flex-end; white-space: nowrap; }
.ui-jqgrid-pager td[id$="_left"] > .navtable { float: none !important; }
.ui-jqgrid .ui-pg-table td { padding: 1px; }
/* STABILITA' pager: i bottoni NON si devono spostare all'hover. jqGrid aggiunge
   .ui-state-hover (bordo 1px + gradiente + peso) cambiando le dimensioni: qui
   fissiamo box/bordo/peso IDENTICI in ogni stato (bordo trasparente riservato),
   cosi' all'hover cambia SOLO il colore di sfondo. Niente reflow, niente salti. */
.ui-jqgrid .ui-pg-button,
.ui-jqgrid .ui-pg-button.ui-state-hover,
.ui-jqgrid .ui-pg-button.ui-state-focus,
.ui-jqgrid .ui-pg-button:hover,
.ui-jqgrid .ui-pg-button:focus {
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  padding: 3px 6px !important;   /* IDENTICO in ogni stato: free-jqGrid all'hover fa
                                    "padding:0" (riga 137 ui.jqgrid.css) -> e' la causa dei salti */
  margin: 0 !important;
  font-weight: normal !important;
  text-shadow: none !important;
  background-image: none !important;
  box-sizing: border-box !important;
  outline: none !important;
  vertical-align: middle !important;
  transition: background-color .12s ease, color .12s ease !important;
}
.ui-jqgrid .ui-pg-button:hover,
.ui-jqgrid .ui-pg-button.ui-state-hover {
  background-color: color-mix(in srgb, var(--bh-primary, #1ab394) 12%, transparent) !important;
}
.ui-pg-button.ui-state-disabled, .ui-pg-button.ui-state-disabled:hover {
  background-color: transparent !important;
}
/* ICONA del bottone: MARGINE IDENTICO in ogni stato. jqGrid all'hover cambia il
   margine dell'icona (margin-left 2px->0 sui normali, +3px sui disabilitati): e' la
   causa del "si stringe di 2px e spinge gli altri". Lo blocchiamo fisso a 2px. */
.ui-jqgrid .ui-pg-table .ui-pg-button .ui-icon,
.ui-jqgrid .ui-pg-table .ui-pg-button:hover .ui-icon,
.ui-jqgrid .ui-pg-table .ui-pg-button.ui-state-hover .ui-icon,
.ui-jqgrid .ui-pg-table .ui-pg-button.ui-state-disabled .ui-icon,
.ui-jqgrid .ui-pg-table .ui-pg-button.ui-state-disabled:hover .ui-icon {
  margin: 2px !important;
}
.ui-jqgrid .ui-pg-table .ui-pg-button .ui-separator,
.ui-jqgrid .ui-pg-table .ui-pg-button:hover .ui-separator,
.ui-jqgrid .ui-pg-table .ui-pg-button.ui-state-disabled:hover .ui-separator {
  margin: 0 4px !important;
}
/* tutti i bottoni del pager: contenuto centrato verticalmente, compatto e stabile */
.ui-pg-button .ui-pg-div { display: inline-flex; align-items: center; gap: 4px; line-height: 1; white-space: nowrap; }
.ui-pg-button.ui-state-disabled { opacity: .35; }
.ui-jqgrid .ui-pg-input, .ui-jqgrid .ui-pg-selbox {
  border: 1px solid #d7dde2 !important; border-radius: 6px !important; padding: 3px 6px; height: auto;
}

/* ---- Pulsanti inlineNav / navButton custom (Copy field, Excel) ---- */
.ui-jqgrid .navtable .ui-pg-button { padding: 3px 5px; }
.ui-jqgrid .navtable .ui-pg-button .ui-pg-div { gap: 4px; }
/* piccolo respiro tra il gruppo bottoni e le frecce di pagina */
.ui-jqgrid .ui-pg-table .ui-separator { margin: 0 4px; }

/* ============================================================================
   ICONE: sprite jQuery UI .ui-icon -> FontAwesome (piu' grandi e nitide).
   Vale anche nei dialog di ricerca/edit (.ui-jqdialog).
   ============================================================================ */
.ui-jqgrid .ui-icon, .ui-jqdialog .ui-icon, .ui-jqgrid-pager .ui-icon {
  background: none !important; background-image: none !important;
  text-indent: 0 !important; overflow: visible !important;
  width: auto !important; height: auto !important;
  font-family: "FontAwesome" !important; font-style: normal; font-weight: normal;
  font-size: 12px; line-height: 1; color: #5a6b78;
  display: inline-flex; align-items: center; vertical-align: middle; -webkit-font-smoothing: antialiased;
}
.ui-jqgrid .ui-pg-div .ui-icon, .ui-pg-button .ui-icon { font-size: 12px; margin: 0; }
.ui-pg-button:hover .ui-icon { color: var(--bh-primary, #1ab394); }

/* navigazione pagine */
.ui-icon-seek-first:before { content: "\f049"; }   /* fast-backward */
.ui-icon-seek-prev:before  { content: "\f053"; }   /* chevron-left */
.ui-icon-seek-next:before  { content: "\f054"; }   /* chevron-right */
.ui-icon-seek-end:before   { content: "\f050"; }   /* fast-forward */
/* azioni CRUD / toolbar */
.ui-icon-plus:before    { content: "\f067"; }
.ui-icon-pencil:before  { content: "\f040"; }
.ui-icon-trash:before   { content: "\f1f8"; }
.ui-icon-scissors:before { content: "\f1f8"; }  /* del nel FORM usa scissors: mostro il cestino */
.ui-icon-search:before  { content: "\f002"; }
.ui-icon-refresh:before { content: "\f021"; }
.ui-icon-disk:before    { content: "\f0c7"; }
.ui-icon-document:before{ content: "\f15b"; }
.ui-icon-print:before   { content: "\f02f"; }
.ui-icon-calendar:before{ content: "\f073"; }
.ui-icon-newwin:before  { content: "\f08e"; }
.ui-icon-cancel:before, .ui-icon-close:before, .ui-icon-closethick:before { content: "\f00d"; }
.ui-icon-check:before   { content: "\f00c"; }
.ui-icon-arrowreturnthick-1-w:before { content: "\f112"; }
/* icone dei pulsanti custom della navbar griglia */
.ui-icon-copy:before          { content: "\f0c5"; }   /* Copy field */
.ui-icon-arrowstop-1-s:before { content: "\f019"; }   /* Excel/CSV: download/export */
.ui-icon-arrowstop-1-n:before { content: "\f01b"; }   /* upload */
.ui-icon-arrowthick-1-e:before{ content: "\f1d8"; }   /* Mail/Sms/Push: invia */
.ui-icon-arrowthick-1-w:before{ content: "\f0a8"; }
.ui-icon-mail-closed:before   { content: "\f0e0"; }
.ui-icon-comment:before       { content: "\f075"; }
/* icone DEDICATE dei pulsanti footer (una diversa per pulsante) */
.ui-icon-copy:before     { content: "\f0c5"; }   /* Copy field: copia */
.ui-icon-bh-excel:before { content: "\f1c3"; }   /* Excel: foglio Excel */
.ui-icon-bh-csv:before   { content: "\f0ce"; }   /* CSV: tabella */
.ui-icon-bh-pdf:before   { content: "\f1c1"; }   /* Pdf: file PDF */
.ui-icon-bh-mail:before  { content: "\f0e0"; }   /* Mail: busta */
.ui-icon-bh-sms:before   { content: "\f075"; }   /* Sms: fumetto */
.ui-icon-bh-push:before  { content: "\f0f3"; }   /* Push: campanello */
/* ordinamento colonne */
.ui-icon-triangle-1-n:before, .ui-icon-asc:before  { content: "\f0d8"; }
.ui-icon-triangle-1-s:before, .ui-icon-desc:before { content: "\f0d7"; }
.ui-icon-triangle-1-e:before { content: "\f0da"; }
.ui-icon-triangle-1-w:before { content: "\f0d9"; }
/* triangoli "circle" (subgrid / tree / column chooser) */
.ui-icon-circle-triangle-e:before { content: "\f0da"; }
.ui-icon-circle-triangle-w:before { content: "\f0d9"; }
.ui-icon-circle-triangle-n:before { content: "\f0d8"; }
.ui-icon-circle-triangle-s:before { content: "\f0d7"; }
.ui-icon-caret-1-n:before { content: "\f0d8"; }
.ui-icon-caret-1-s:before { content: "\f0d7"; }
.ui-icon-gripsmall-diagonal-se:before { content: ""; } /* maniglia resize: nessuna glifo */

/* ---- Dialog jqGrid (ricerca avanzata, edit form) in stile card ---- */
.ui-jqdialog .ui-jqdialog-titlebar {
  background: #fff !important; border: 0 !important;
  border-bottom: 1px solid var(--bh-border, #e7eaec) !important;
  color: var(--bh-title-text, #2b333c) !important; padding: 12px 14px;
}
.ui-jqdialog .ui-widget-content { border-radius: var(--bh-card-radius, 12px); }
.ui-jqdialog .EditTable td.EditButton input,
.ui-jqdialog .ui-jqdialog-content input[type=button] {
  border-radius: var(--bh-btn-radius, 8px);
}
