/* =====================================================================
   BI/Analytics Corp. — Stili globali condivisi
   ===================================================================== */

:root {
  --bs-body-font-family: 'Nunito', -apple-system, BlinkMacSystemFont, sans-serif;
  --bs-body-bg: #F4F6FB;
  --bs-body-color: #0F1F3A;
  --brand: #2E5BFF;
  --brand-dark: #1E3FB8;
  --brand-soft: #E6ECFF;
  --accent: #0EA5A8;
  --accent-soft: #DCF4F5;
  --text-muted-2: #5A6B85;
  --text-soft: #8A97AD;
  --border: #E4E8EF;
  --border-soft: #EEF1F6;
}

body {
  font-family: var(--bs-body-font-family);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

/* ---- Navbar ---- */
.navbar-brand-logo {
  width: 34px; height: 34px; border-radius: 8px;
  background: linear-gradient(135deg, #2E5BFF 0%, #6B8DFF 100%);
  display: inline-grid; place-items: center;
  color: white; font-weight: 800; font-size: 15px; letter-spacing: -0.02em;
  box-shadow: 0 4px 12px rgba(46, 91, 255, 0.25);
}
.navbar.dashboard-nav {
  background: #fff !important;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 3px rgba(15, 31, 58, 0.04);
}
.navbar.dashboard-nav .nav-link {
  color: var(--text-muted-2);
  font-weight: 500; font-size: 14px;
  padding: 8px 14px !important;
  border-radius: 8px;
  transition: all 0.15s;
}
.navbar.dashboard-nav .nav-link:hover {
  color: var(--brand); background: var(--brand-soft);
}
.navbar.dashboard-nav .nav-link.active {
  color: var(--brand) !important;
  background: var(--brand-soft);
  font-weight: 600;
}
.navbar-search {
  background: #F4F6FB;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 14px;
  min-width: 260px;
}
.avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, #0EA5A8, #6BC9CB);
  color: white; font-weight: 700; font-size: 14px;
  display: grid; place-items: center;
  cursor: pointer;
}
.dropdown-menu {
  border-radius: 10px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(15,31,58,0.1);
  padding: 6px; font-size: 14px;
}
.dropdown-item {
  border-radius: 6px; padding: 7px 10px;
}
.dropdown-item.active {
  background: var(--brand-soft); color: var(--brand); font-weight: 600;
}

/* ---- Breadcrumb ---- */
.breadcrumb-bi {
  font-size: 13px; margin: 16px 0 8px;
}
.breadcrumb-bi a {
  color: var(--text-muted-2); text-decoration: none;
}
.breadcrumb-bi a:hover { color: var(--brand); }
.breadcrumb-bi .sep { color: var(--text-soft); margin: 0 6px; }
.breadcrumb-bi .current { color: var(--bs-body-color); font-weight: 600; }

/* ---- Live tag (pulse) ---- */
.live-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--brand-soft); color: var(--brand-dark);
  font-size: 12px; font-weight: 600;
  padding: 4px 11px; border-radius: 999px;
}
.live-tag .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 3px rgba(46, 91, 255, 0.18);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(46,91,255,0.18); }
  50%      { box-shadow: 0 0 0 5px rgba(46,91,255,0.08); }
}

/* ---- Bottoni comuni ---- */
.btn-soft {
  border: 1px solid var(--border); background: #fff;
  color: var(--bs-body-color);
  padding: 8px 16px; border-radius: 8px;
  font-size: 14px; font-weight: 500;
  cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
}
.btn-soft:hover { border-color: var(--brand); color: var(--brand); }

.btn-primary-bi {
  background: var(--brand); color: white !important;
  border: none; padding: 9px 18px; border-radius: 8px;
  font-size: 14px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  cursor: pointer; text-decoration: none;
}
.btn-primary-bi:hover { background: var(--brand-dark); }

.btn-export {
  background: #fff; color: var(--text-muted-2);
  border: 1px solid var(--border);
  padding: 8px 14px; border-radius: 8px;
  font-size: 13px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  cursor: pointer; transition: all 0.15s;
}
.btn-export:hover {
  border-color: var(--brand); color: var(--brand); background: var(--brand-soft);
}
