/* ============================================================
   CRM/ERP Aziendale — Custom CSS
   ============================================================ */

/* Toolbar */
.toolbar {
  background: var(--bs-body-bg);
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: 0;
}

/* Cards */
.card {
  border-radius: .75rem;
}

/* Tables */
.table > :not(caption) > * > * {
  padding: .6rem .5rem;
}

/* Sidebar active state enhancement */
.page-sidebar .nav-link.active {
  font-weight: 600;
}

/* Sidebar title label */
.sidebar-title {
  padding: .25rem .75rem;
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Ghost buttons */
.btn-ghost-secondary {
  color: var(--bs-secondary);
  background: transparent;
  border: none;
}
.btn-ghost-secondary:hover {
  background: var(--bs-secondary-bg-subtle);
  color: var(--bs-secondary-emphasis);
}
.btn-ghost-danger {
  color: var(--bs-danger);
  background: transparent;
  border: none;
}
.btn-ghost-danger:hover {
  background: var(--bs-danger-bg-subtle);
}

/* Avatar placeholder */
.avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 600;
  line-height: 1;
}

/* Badge subtle (Bootstrap 5.3 compat) */
.bg-primary-subtle { background-color: rgba(var(--bs-primary-rgb), .12) !important; }
.bg-success-subtle { background-color: rgba(var(--bs-success-rgb), .12) !important; }
.bg-danger-subtle  { background-color: rgba(var(--bs-danger-rgb), .12) !important; }
.bg-warning-subtle { background-color: rgba(var(--bs-warning-rgb), .12) !important; }
.bg-info-subtle    { background-color: rgba(var(--bs-info-rgb), .12) !important; }
.bg-secondary-subtle { background-color: rgba(var(--bs-secondary-rgb), .12) !important; }

/* KPI cards hover */
.card:hover {
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.08) !important;
  transition: box-shadow .2s ease;
}

/* Pagination */
.pagination .page-link {
  border-radius: .375rem !important;
  margin: 0 1px;
}

/* Form labels */
.form-label.fw-medium {
  font-size: .875rem;
  margin-bottom: .35rem;
}

/* Responsive table text */
@media (max-width: 576px) {
  .table td, .table th {
    font-size: .8rem;
  }
}

/* Status badge in sidebar */
.status-online  { --bs-badge-bg: #198754; }
.status-offline { --bs-badge-bg: #6c757d; }

/* Content area */
.content {
  padding-top: 0;
}

/* ============================================================
   THEME SWITCHER
   ============================================================ */

/* Palette tokens — sovrascrivono le variabili Bootstrap */
:root,
[data-bs-theme="light"] {
  --crm-accent: #0d6efd;      /* bootstrap default blue */
}

/* Temi colore sidebar */
[data-sidebar="dark"] .page-sidebar {
  background: #1e2330 !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
}
[data-sidebar="dark"] .page-sidebar .nav-link,
[data-sidebar="dark"] .page-sidebar .sidebar-title,
[data-sidebar="dark"] .page-sidebar .sidebar-text {
  color: rgba(255,255,255,.65) !important;
}
[data-sidebar="dark"] .page-sidebar .nav-link:hover,
[data-sidebar="dark"] .page-sidebar .nav-link.active {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
[data-sidebar="dark"] .page-sidebar .nav-link.active {
  background: rgba(var(--bs-primary-rgb),.25) !important;
  color: var(--bs-primary) !important;
}

/* Palette: indigo */
[data-palette="indigo"] {
  --bs-primary: #6366f1;
  --bs-primary-rgb: 99,102,241;
  --bs-link-color: #6366f1;
}
/* Palette: emerald */
[data-palette="emerald"] {
  --bs-primary: #10b981;
  --bs-primary-rgb: 16,185,129;
  --bs-link-color: #10b981;
}
/* Palette: rose */
[data-palette="rose"] {
  --bs-primary: #f43f5e;
  --bs-primary-rgb: 244,63,94;
  --bs-link-color: #f43f5e;
}
/* Palette: amber */
[data-palette="amber"] {
  --bs-primary: #f59e0b;
  --bs-primary-rgb: 245,158,11;
  --bs-link-color: #f59e0b;
}
/* Palette: blue (default) */
[data-palette="blue"] {
  --bs-primary: #0d6efd;
  --bs-primary-rgb: 13,110,253;
  --bs-link-color: #0d6efd;
}

/* Theme switcher widget */
.theme-switcher {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.theme-dot {
  width: 22px; height: 22px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform .15s, border-color .15s;
  flex-shrink: 0;
}
.theme-dot:hover { transform: scale(1.2); }
.theme-dot.active { border-color: var(--bs-body-color) !important; transform: scale(1.15); }
.theme-dot[data-palette="blue"]   { background: #0d6efd; }
.theme-dot[data-palette="indigo"] { background: #6366f1; }
.theme-dot[data-palette="emerald"]{ background: #10b981; }
.theme-dot[data-palette="rose"]   { background: #f43f5e; }
.theme-dot[data-palette="amber"]  { background: #f59e0b; }

/* Dark mode toggle pill */
.dark-toggle {
  display: inline-flex; align-items: center; gap: .4rem;
  cursor: pointer; font-size: .78rem; user-select: none;
}
.dark-toggle-track {
  width: 36px; height: 20px;
  background: var(--bs-secondary-bg);
  border-radius: 999px;
  border: 1px solid var(--bs-border-color);
  position: relative; transition: background .2s;
}
.dark-toggle-thumb {
  width: 14px; height: 14px;
  background: var(--bs-secondary);
  border-radius: 50%;
  position: absolute; top: 2px; left: 2px;
  transition: left .2s, background .2s;
}
[data-bs-theme="dark"] .dark-toggle-track { background: #6366f1; border-color: #6366f1; }
[data-bs-theme="dark"] .dark-toggle-thumb { background: #fff; left: 18px; }

/* ── Logo sidebar ── */
.sidebar-logo-img {
  filter: none;
  transition: filter .2s;
}
/* In dark sidebar: rendi il logo bianco */
[data-sidebar="dark"] .sidebar-logo-img {
  filter: brightness(0) invert(1);
}
/* Il nome app accanto al logo */
.aside-logo .sidebar-text {
  color: var(--bs-body-color);
}
[data-sidebar="dark"] .aside-logo .sidebar-text {
  color: #fff !important;
}
