

/* ---------- TOKENS (override facili) ---------- */
/* ---------- TOKENS GLOBALI ---------- */
:root{
  --radius: 1px;
  --elev-bg: #fff;
  --border: #e5e7eb;
  --heading: #0f172a;
  --muted: #64748b;

  /* ombre più “3D” ma pulite */
  --shadow-sm: 0 1px 2px rgba(17,24,39,.12), 0 1px 1px rgba(17,24,39,.06);
  --shadow-md: 0 8px 22px rgba(17,24,39,.18), 0 4px 10px rgba(17,24,39,.12);
  --shadow-lg: 0 16px 40px rgba(17,24,39,.20), 0 8px 20px rgba(17,24,39,.10);
}

/* NON tocchiamo il font-family: è già Source Sans Pro in style.min.css */

/* ---------- TITOLI & MICRO-TYPO ---------- */
h1,h2,h3,.panel-title {
  color: var(--heading);
  letter-spacing: .2px;
  font-weight: 600 !important;
}
.panel-title { font-size: 13px !important; } /* più compatto ma leggibile */
.help-block, .text-muted { color: var(--muted); }

/* ---------- CONTENITORI (panel / box / tabs -> “cards”) ---------- */
.panel,
.box,
.nav-tabs-custom {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  background: var(--elev-bg);
  box-shadow: var(--shadow-md);
  overflow: visible;
}



/* Intestazioni più sottili, colore legato al tema ma non invasivo */
.panel > .panel-heading,
.box > .box-header,
.nav-tabs-custom > .nav-tabs {
  background: rgba(var(--primary-rgb, 60,141,188), .15) !important;
  border-bottom: 1px solid rgba(var(--primary-rgb, 60,141,188), .28) !important;
  padding: 8px 12px !important;     /* meno spessore */
}

/* Corpo con aria */
.panel .panel-body,
.box .box-body,
.nav-tabs-custom .tab-content {
  padding: 14px !important;
}

/* Tabs squadrate con indicatore colore tema */
.nav-tabs-custom > .nav-tabs > li { border-top: 3px solid #ddd; }
.nav-tabs-custom > .nav-tabs > li > a {
  border-radius: 0 !important;
  color: #334155;
  padding: 10px 14px;
}
.nav-tabs-custom > .nav-tabs > li.active {
  border-top-color: var(--primary, #3c8dbc) !important;
}
.nav-tabs-custom > .nav-tabs > li.active > a,
.nav-tabs-custom > .nav-tabs > li > a:hover {
  background: #fff !important; color: var(--heading);
}

/* ---------- INPUT & FOCUS RING ---------- */
.form-control,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple,
.input-group-addon,
.btn {
  border-radius: var(--radius) !important;
}

.form-control,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .2s ease, border-color .2s ease, transform .05s ease;
  background-color:#fff;
}

.form-control:focus,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: var(--primary, #3c8dbc) !important;
  box-shadow: 0 0 0 3px var(--primary-15, rgba(60,141,188,.15)) !important;
  outline: none;
}

/* ---------- BUTTONS ---------- */
.btn-default {
  background:#fff; color:#111827;
  border:1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.btn-default:hover { filter: brightness(98%); }

.btn-primary,
.skin-blue .btn-primary,
.skin-green .btn-primary,
.skin-red .btn-primary,
.skin-yellow .btn-primary,
.skin-orange .btn-primary {
  background: var(--primary, #3c8dbc) !important;
  border-color: var(--primary, #3c8dbc) !important;
  color:#fff !important;
  box-shadow: 0 8px 18px rgba(var(--primary-rgb,60,141,188), .30);
  transform: translateZ(0);
}
.btn-primary:hover { filter: brightness(96%); transform: translateY(-1px); }
.btn-primary:active { transform: translateY(0); box-shadow: var(--shadow-sm); }

/* ---------- TABLES / DATATABLES ---------- */
.table > thead > tr > th {
  background:#f8fafc; border-bottom:1px solid var(--border);
  color:#334155; font-weight:600;
}
.table > tbody > tr > td { border-top:1px solid var(--border); }
.table-hover > tbody > tr:hover { background:#f1f5f9; }

/* ---------- WIDGETS ---------- */
.info-box, .small-box, .callout, .list-group-item {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
}


/* ---------- MODALS (più profondità) ---------- */
.modal-content {
  border-radius: var(--radius) !important;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
}

/* ---------- DETTAGLI VARI ---------- */
.label, .badge { border-radius: 2px; } /* più squadrati */

/* ====== HEADER TABS (nome modulo) — integrazione con barra, no-effetto “pulsante” ====== */

/* Colora l’intera barra dei tab con un tenue del colore tema */
.nav-tabs-custom > .nav-tabs {
  background: rgba(var(--primary-rgb, 60,141,188), .1) !important;
  border-bottom: 1px solid rgba(var(--primary-rgb, 60,141,188), .25) !important;
  padding: 6px 10px !important;
}

/* Il <li> del titolo modulo NON deve avere la riga arancione in alto */
.nav-tabs-custom > .nav-tabs > li.header,
.nav-tabs-custom > .nav-tabs > li.header.active {
  border-top: none !important;
  background: transparent !important;
  margin: 0 !important;
}

/* Il link del titolo: piatto, allineato, senza bordi/ombre */
.nav-tabs-custom > .nav-tabs > li.header > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #0f172a !important; /* testo scuro, leggibile */
  line-height: 1.2;
}

/* Disattiva ogni hover “pulsante” sul link del titolo */
.nav-tabs-custom > .nav-tabs > li.header > a:hover,
.nav-tabs-custom > .nav-tabs > li.header > a:focus {
  background: transparent !important;
  color: #0f172a !important;
  text-decoration: none;
}

/* Mantieni l’indicatore solo sugli ALTRI tab (non sul titolo) */
.nav-tabs-custom > .nav-tabs > li { border-top: 3px solid #ddd; }
.nav-tabs-custom > .nav-tabs > li.active { border-top-color: var(--primary, #3c8dbc) !important; }
.nav-tabs-custom > .nav-tabs > li.header,
.nav-tabs-custom > .nav-tabs > li.header.active { border-top: none !important; }

/* Integra il pulsante “+” dentro il titolo, senza farlo sembrare staccato */
.nav-tabs-custom > .nav-tabs > li.header > a .btn {
  margin-left: 6px;
  height: 26px; padding: 2px 8px;
  border-radius: 3px !important;
  box-shadow: none !important;
  background: var(--primary, #3c8dbc) !important;
  border-color: var(--primary, #3c8dbc) !important;
  color: #fff !important;
}
.nav-tabs-custom > .nav-tabs > li.header > a .btn:hover {
  filter: brightness(.95);
}

/* Rifinitura: elimina eventuali bordi residui intorno ai tab */
.nav-tabs-custom > .nav-tabs > li > a {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ===========================
   CONTROL SIDEBAR (Plugin)
   tono tenue + attivo coerente
   =========================== */

/* Header "Plugin disponibili": tenue, come un'intestazione */
.control-sidebar h4.text-center{
  background: rgba(var(--primary-rgb,60,141,188), .08) !important;
  /*border-bottom: 1px solid rgba(var(--primary-rgb,60,141,188), .22) !important; */
  color: #0f172a !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  font-weight: 600;
}

/* Contenitore lista */
.control-sidebar .nav.nav-tabs.nav-pills.nav-stacked{
  background: transparent;
  padding: 6px 8px;
  margin: 0;
  border: 0;
}
/* ===== LISTA PLUGIN: stile lista piatta a tutta larghezza ===== */
.control-sidebar .nav.nav-tabs.nav-pills.nav-stacked {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.control-sidebar .nav > li {
  display: block;
  margin: 0;
  border: none !important;
}

/* Stato normale: solo divisorio in basso */
.control-sidebar .nav > li > a {
  display: block;
  padding: 8px 12px;
  border: none !important;
  border-bottom: 1px solid rgba(var(--primary-rgb,60,141,188), .15) !important;
  background: transparent !important;
  color: #334155 !important;
  border-radius: 0 !important;
  width: 100%;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover: evidenziato */
.control-sidebar .nav > li > a:hover {
  background-color: rgba(var(--primary-rgb,60,141,188), .08) !important;
  color: var(--primary, #3c8dbc) !important;
}

/* Attivo: colore più deciso */
.control-sidebar .nav > li.active > a,
.control-sidebar .nav > li.active > a:hover,
.control-sidebar .nav > li.active > a:focus {
  background-color: rgba(var(--primary-rgb,60,141,188), .55) !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* Badge coerenti */
.control-sidebar .nav > li > a .badge {
  background: rgba(var(--primary-rgb,60,141,188), .18) !important;
  color: #0f172a !important;
}
.control-sidebar .nav > li.active > a .badge {
  background: var(--primary, #3c8dbc) !important;
  color: #fff !important;
}

/* Voci “speciali” marcate con .bg-info (Note interne / Info) 
   -> rendile tenui, non blu fisso */
.control-sidebar .nav > li > a.bg-info{
  background: rgba(var(--primary-rgb,60,141,188), .10) !important;
  color: var(--primary, #3c8dbc) !important;
  border-color: rgba(var(--primary-rgb,60,141,188), .14);
}
.control-sidebar .nav > li.active > a.bg-info{
  background: rgba(var(--primary-rgb,60,141,188), .22) !important;
  color: #0f172a !important;
  border-color: rgba(var(--primary-rgb,60,141,188), .30);
}

/* Rimuove eventuali residui di stile bootstrap che la “incollano” al blu */
.control-sidebar .nav > li.active,
.control-sidebar .nav > li > a:focus{
  outline: 0;
  background-image: none;
}

/* ===== HEADER MODALI COERENTI CON IL TEMA ===== */
.modal-header {
  background-color: rgba(var(--primary-rgb,255,94,0), .1) !important; /* tenue come gli altri header */
  border-bottom: 1px solid rgba(var(--primary-rgb,255,94,0), .25) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  padding: 10px 15px !important;
}

/* Titolo del modal */
.modal-title {
  color: #0f172a !important;
  font-weight: 600;
  font-size: 14px;
}

/* Icona nel titolo */
.modal-title i {
  color: var(--primary, #FF5E00);
  margin-right: 6px;
}

/* Pulsante di chiusura coerente */
.modal-header .close {
  color: #64748b;
  opacity: 0.6;
}
.modal-header .close:hover {
  color: var(--primary, #FF5E00);
  opacity: 1;
}

/* ===========================
   BOX HEADER nei MODAL (compatto + coerente col tema)
   =========================== */

/* header più piccolo e con tinta tenue del colore tema */
.modal .box > .box-header,
.modal .box.box-info > .box-header,
.modal .box .box-header.with-border {
  padding: 6px 8px !important;           /* meno alto */
  min-height: 30px;                       /* allinea il contenuto */
  background: rgba(var(--primary-rgb,60,141,188), .08) !important;
  border-bottom: 1px solid rgba(var(--primary-rgb,60,141,188), .22) !important;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

/* titolo più piccolo */
.modal .box .box-title {
  font-size: 12px !important;             /* riduci a piacere: 11–12px */
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  color: #0f172a;
}

/* tool a destra (icona +) compatti e piatti */
.modal .box .box-tools .btn,
.modal .box .btn-box-tool {
  padding: 0 6px !important;
  height: 22px; line-height: 22px;
  border: none !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  border-radius: var(--radius);
}
.modal .box .btn-box-tool .fa { font-size: 12px; }

/* hover del tool: appena accennato con il tema */
.modal .box .box-tools .btn:hover,
.modal .box .btn-box-tool:hover {
  background: rgba(var(--primary-rgb,60,141,188), .10) !important;
  color: var(--primary, #3c8dbc) !important;
}

/* quando il box è "collapsed" mantieni lo stesso header compatto */
.modal .collapsed-box .box-header {
  padding: 6px 8px !important;
  background: rgba(var(--primary-rgb,60,141,188), .08) !important;
  border-bottom: 1px solid rgba(var(--primary-rgb,60,141,188), .22) !important;
}

/* corpo del box nel modal: un filo di respiro, bordi coerenti */
.modal .box .box-body {
  padding: 10px 12px !important;
  border: 1px solid #e5e7eb;             /* si fonde con il tema “card” */
  border-top: none;
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}

/* =========================================================
   NIENTE OMBRA AL BOX INTERNO (tabs Cliente/Fornitore/…)
   quando è dentro un panel/box: mantieni solo l’ombra esterna
   ========================================================= */

/* 1) Contenitore dei tab piatto */
.panel .panel-body > .nav-tabs-custom,
.box  .box-body  > .nav-tabs-custom,
.panel .nav-tabs-custom,
.box   .nav-tabs-custom {
  box-shadow: none !important;      /* via ombra interna */
  border: 0 !important;             /* niente bordo card interno */
  background: transparent !important;
  border-radius: 0 !important;
}

/* 2) Barra delle tab: solo separatore sotto, nessun “card” */
.panel .nav-tabs-custom > .nav-tabs,
.box   .nav-tabs-custom > .nav-tabs {
  background: rgba(var(--primary-rgb,60,141,188), .06) !important;  /* tenue come gli header */
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
  padding: 6px 0 !important;
  margin: 0 !important;
}

/* Mantieni l’indicatore di attivo, ma niente bordo/ombra extra */
.panel .nav-tabs-custom > .nav-tabs > li,
.box   .nav-tabs-custom > .nav-tabs > li { border-top: 3px solid #ddd; }
.panel .nav-tabs-custom > .nav-tabs > li.active,
.box   .nav-tabs-custom > .nav-tabs > li.active {
  border-top-color: var(--primary, #3c8dbc) !important;
}

/* 3) Area contenuti delle tab completamente piatta */
.panel .nav-tabs-custom .tab-content,
.box   .nav-tabs-custom .tab-content {
  padding: 12px 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 4) Se dentro ci sono altri .box o .panel, piattiscili per evitare “matrioske” */
.panel .nav-tabs-custom .box,
.box   .nav-tabs-custom .box,
.panel .nav-tabs-custom .panel,
.box   .nav-tabs-custom .panel {
  box-shadow: none !important;
  border: 1px solid var(--border) !important;   /* opzionale: togli anche questo se vuoi tutto piatto */
  border-radius: var(--radius) !important;
}

/* 5) Piccolo allineamento visivo sulle tab giustificate */
.nav-tabs.nav-justified > li > a { border: 0 !important; background: transparent !important; }

#pulsanti-modulo > form {
    display: inline-block;
}/* ====== NAVBAR: una sola riga sempre ====== */
/* Barra di ricerca: centrata e con larghezza limitata */
header.main-header .navbar {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

/* Manteniamo l'ordine logico dei blocchi */
header.main-header .navbar .sidebar-toggle { order: 0; }
header.main-header .navbar .navbar-left   { order: 1; }
header.main-header .navbar .sidebar-form  { 
  order: 2;
  flex: 0 1 auto;               /* occupa solo lo spazio necessario */
  margin: 0 auto !important;    /* centro orizzontale */
  max-width: 500px;             /* limite massimo a schermo pieno */
  min-width: 320px;             /* limite minimo */
  width: 100%;
  height: 35px !important;
  box-sizing: border-box;
}
header.main-header .navbar .navbar-custom-menu { order: 3; }

/* Input interno: adattabile */
header.main-header .navbar .sidebar-form .input-group {
  display: flex !important;
  align-items: center;
  width: 100% !important;
}
header.main-header .navbar .sidebar-form .form-control {
  flex: 1 1 auto;
  min-width: 0;
  height: 35px !important;
}
header.main-header .navbar .sidebar-form .input-group-btn,
header.main-header .navbar .sidebar-form .btn {
  flex: 0 0 auto;
  height: 35px !important;
}

/* Breakpoint per schermi piccoli: la portiamo a tutta larghezza */
@media (max-width: 992px) {
  header.main-header .navbar .sidebar-form {
    max-width: none;
    margin: 0 10px !important;
  }
}

/* Micro-fix overflow */
header.main-header .navbar *, 
header.main-header .navbar .navbar-custom-menu *{
  min-width:0;
}

/* Stai sopra a modali, sidebar ecc. */
.bootstrap-datetimepicker-widget.dropdown-menu,
.select2-container--open,
.daterangepicker,
.ui-timepicker-container,
.ui-autocomplete {
  z-index: 3000 !important; /* > 1050 (modal Bootstrap/AdminLTE) */
}

/* ===== Kill-switch progressivo NAVBAR (robusto contro regole pregresse) ===== */
/* --- RISPETTA GLI ELEMENTI CON .hide --- */
header.main-header .navbar .navbar-custom-menu { display:block !important; }
/* non forzare i <li> .hide: restano nascosti */
header.main-header .navbar .navbar-custom-menu .nav > li.hide { display:none !important; }
/* rendi visibili solo i <li> non .hide */
header.main-header .navbar .navbar-custom-menu .nav > li:not(.hide) { display:block !important; }

/* --- 1) ≤1200px: nascondi pulsanti minori e compatta --- */
@media (max-width: 1200px){
  /* dentro @media (...) */
header.main-header .navbar .navbar-custom-menu { display:block !important; }
header.main-header .navbar .navbar-custom-menu .nav > li:not(.hide) { display:block !important; }
/* lasciamo che .nav > li.hide continui a essere display:none !important grazie alla regola globale */


  /* spegni icone minori */
  .navbar-custom-menu a[title="Segnalazione bug"],
  .navbar-custom-menu a[title="Stampa"],
  .navbar-custom-menu a[title="Log accessi"]{
    display:none !important;
  }

  /* compatta hit-area */
  .navbar-nav > li > a{ padding-top:8px; padding-bottom:8px; }

  /* restringi un po' la search */
  header.main-header .navbar .sidebar-form{
    min-width: 260px; width: 32vw; max-width: 420px;
  }
}

/* --- 2) ≤992px: tieni SOLO info, scorciatoie, logout --- */
@media (max-width: 992px){
  /* dentro @media (...) */
header.main-header .navbar .navbar-custom-menu { display:block !important; }
header.main-header .navbar .navbar-custom-menu .nav > li:not(.hide) { display:block !important; }
/* lasciamo che .nav > li.hide continui a essere display:none !important grazie alla regola globale */


  /* nascondi TUTTI i link del menu destro... */
  .navbar-custom-menu .nav > li > a{
    display:none !important;
  }
  /* ...poi riaccendi selettivamente questi tre */
  .navbar-custom-menu .nav > li > a[title="Informazioni"],
  .navbar-custom-menu .nav > li > a[title="Scorciatoie"],
  .navbar-custom-menu .nav > li > a[href*="op=logout"]{
    display:block !important;
  }

  /* stringi ancora la search */
  header.main-header .navbar .sidebar-form{
    min-width: 180px; width: 28vw; max-width: 340px;
  }
}

/* --- 3) ≤768px: lascia SOLO il logout; search molto compatta --- */
@media (max-width: 768px){
  /* dentro @media (...) */
header.main-header .navbar .navbar-custom-menu { display:block !important; }
header.main-header .navbar .navbar-custom-menu .nav > li:not(.hide) { display:block !important; }
/* lasciamo che .nav > li.hide continui a essere display:none !important grazie alla regola globale */


  /* nascondi tutti i link... */
  .navbar-custom-menu .nav > li > a{
    display:none !important;
  }
  /* ...tranne il logout (match robusto via href) */
  .navbar-custom-menu .nav > li > a[href*="op=logout"]{
    display:block !important;
  }

  /* nascondi etichetta periodo per recuperare spazio */
  .navbar-left #daterange + li > a.label{
    display:none !important;
  }

  /* search minimal su phone */
  header.main-header .navbar .sidebar-form{
    min-width: 120px; width: 40vw; max-width: 200px;
  }
}

/* spinge il menu destro a destra quando la navbar è flex */
header.main-header .navbar .navbar-custom-menu {
  margin-left: auto; /* allinea a destra */
}