/* =====================================================================
   NoiSmi - tema grafico Sindacato Medici Italiani
   Colori istituzionali: blu SMI #0A3A8C, blu notte #0B2554
   ===================================================================== */
:root {
  --smi-blu: #0A3A8C;
  --smi-blu-scuro: #0B2554;
  --smi-blu-chiaro: #E6EDF8;
  --smi-sfondo: #EEF2F8;
  --smi-verde: #1E9E4A;
  --smi-rosso: #D7262E;
}

/* ---------- sfondo generale e filo tricolore in alto ---------- */
.fi-body { background-color: var(--smi-sfondo) !important; }
.fi-body::before {
  content: ""; position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 50;
  background: linear-gradient(90deg, var(--smi-verde) 0 33.3%, #ffffff 33.3% 66.6%, var(--smi-rosso) 66.6% 100%);
}

/* ---------- barra laterale blu ---------- */
.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav {
  background: linear-gradient(180deg, var(--smi-blu-scuro) 0%, var(--smi-blu) 100%) !important;
}
.fi-sidebar-header {
  box-shadow: none !important; border: 0 !important;
  --tw-ring-color: transparent !important;
  padding-top: 1.25rem; padding-bottom: 1.25rem; height: auto !important;
}
.fi-sidebar-header .fi-logo { height: 3.5rem !important; }
.fi-sidebar-group-label,
.fi-sidebar-group-collapse-button,
.fi-sidebar-group-collapse-button svg { color: rgba(255, 255, 255, 0.55) !important; }
.fi-sidebar-group-label { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.7rem !important; }
.fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar-item-button .fi-sidebar-item-icon { color: rgba(255, 255, 255, 0.85) !important; }
.fi-sidebar-item-button:hover,
.fi-sidebar-item-button:focus-visible { background-color: rgba(255, 255, 255, 0.10) !important; }
.fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar-item.fi-active .fi-sidebar-item-button { background-color: #ffffff !important; }
.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: var(--smi-blu) !important; font-weight: 600; }
.fi-sidebar .fi-icon-btn, .fi-sidebar .fi-icon-btn svg { color: rgba(255, 255, 255, 0.8) !important; }

/* ---------- barra superiore ---------- */
.fi-topbar > nav {
  background-color: #ffffff !important;
  border-bottom: 1px solid #D6DEEB;
  box-shadow: 0 1px 3px rgba(11, 37, 84, 0.06) !important;
}

/* ---------- titoli di pagina ---------- */
.fi-header-heading { color: var(--smi-blu-scuro) !important; }

/* ---------- riquadri e sezioni ---------- */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-fo-tabs {
  border-radius: 0.85rem !important;
  box-shadow: 0 1px 2px rgba(11, 37, 84, 0.06), 0 4px 14px rgba(11, 37, 84, 0.06) !important;
  --tw-ring-color: #D6DEEB !important;
}
.fi-section-header { background-color: var(--smi-blu-chiaro); border-radius: 0.85rem 0.85rem 0 0; }
.fi-section-header-heading { color: var(--smi-blu-scuro) !important; }

/* ---------- tabelle ---------- */
.fi-ta-header-cell,
.fi-ta-table thead tr { background-color: var(--smi-blu-chiaro) !important; }
.fi-ta-header-cell-label,
.fi-ta-header-cell button span { color: var(--smi-blu-scuro) !important; font-weight: 700 !important; }
.fi-ta-row:nth-child(even) { background-color: #F6F8FC; }
.fi-ta-row:hover { background-color: #E3EBF7 !important; }
.fi-ta-filters-above-content-ctn,
.fi-ta-header-ctn { background-color: #FBFCFE; }

/* ---------- numeri della dashboard ---------- */
.fi-wi-stats-overview-stat { border-top: 5px solid var(--smi-blu); }
.fi-wi-stats-overview-stat:nth-child(2) { border-top-color: var(--smi-verde); }
.fi-wi-stats-overview-stat:nth-child(3) { border-top-color: #3B82F6; }
.fi-wi-stats-overview-stat:nth-child(4) { border-top-color: #E8A317; }
.fi-wi-stats-overview-stat:nth-child(5) { border-top-color: var(--smi-rosso); }
.fi-wi-stats-overview-stat-value { color: var(--smi-blu-scuro) !important; }

/* ---------- pagina di accesso ---------- */
.fi-simple-layout {
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.10) 0, transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.08) 0, transparent 45%),
    linear-gradient(135deg, var(--smi-blu-scuro) 0%, var(--smi-blu) 60%, #1B56B8 100%) !important;
}
.fi-simple-main {
  border-radius: 1.25rem !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.30) !important;
  border-top: 5px solid transparent;
  border-image: linear-gradient(90deg, var(--smi-verde) 0 33.3%, #ffffff 33.3% 66.6%, var(--smi-rosso) 66.6% 100%) 1;
}
.fi-simple-header .fi-logo { height: 7rem !important; }
.fi-simple-header-heading { color: var(--smi-blu-scuro) !important; }
.noismi-login-sottotitolo {
  text-align: center; margin-top: -0.5rem; margin-bottom: 0.25rem;
  color: #5B6B85; font-size: 0.95rem; letter-spacing: 0.02em;
}
.noismi-login-piede {
  text-align: center; color: rgba(255, 255, 255, 0.75); font-size: 0.8rem; margin-top: 1.5rem;
}

/* ---------- tabelle compatte (più colonne visibili a pagina intera) ---------- */
.fi-ta-header-cell { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; padding-left: 0.6rem !important; padding-right: 0.6rem !important; }
.fi-ta-text { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; padding-left: 0.6rem !important; padding-right: 0.6rem !important; }
.fi-ta-text-item-label, .fi-ta-header-cell-label { font-size: 0.82rem !important; }
.fi-ta-text .fi-badge { font-size: 0.72rem !important; }
.fi-ta-actions { padding-left: 0.4rem !important; padding-right: 0.6rem !important; }
