/* ProFactura — PROFESSIONAL LIGHT PREMIUM — inspired by Xero/Holded/Stripe 2025 */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");

/* ── Tokens ── */
:root {
  --sidebar-width: 260px; --topbar-height: 0px;
  --accent: #0ea5e9; --accent-dark: #0284c7; --accent-glow: rgba(14,165,233,0.12);
  --gold: #f59e0b; --gold-dim: rgba(245,158,11,0.12);
  --success: #10b981; --danger: #ef4444; --info: #3b82f6; --warning: #f59e0b;
  --t1: #0f172a; --t2: #475569; --t3: #94a3b8;
  --radius: 12px; --radius-sm: 8px; --radius-xs: 6px;
  --transition: all 0.18s ease;
  --bg-body: #f1f5f9;
  --bg-sidebar: #ffffff;
  --bg-card: #ffffff;
  --bg-card-hover: #fafbff;
  --bg-input: #f8fafc;
  --border: #e2e8f0;
  --border-hover: #0ea5e9;
  --shadow-soft: 0 1px 3px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.05), 0 20px 40px rgba(0,0,0,0.08);
  --text-primary: var(--t1); --text-secondary: var(--t2); --text-muted: var(--t3);
}

/* ── Dark Mode ── */










*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 14px; -webkit-font-smoothing: antialiased; }

body {
  font-family: "Inter", system-ui, sans-serif;
  min-height: 100vh;
  background-color: var(--bg-body);
  color: var(--t1);
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-dark); }
.cg-wrapper { display: flex; min-height: 100vh; }

/* ══════════════════════════════════════
   SIDEBAR — Dark navy, like Stripe/Xero
══════════════════════════════════════ */
.cg-sidebar {
  position: fixed; top: 0; left: 0; width: 260px; height: 100vh;
  background: #0f172a;
  border-right: 1px solid rgba(255,255,255,0.04);
  display: flex; flex-direction: column;
  z-index: 1000; overflow-y: auto; overflow-x: hidden;
  transition: transform 0.3s ease;
}

.cg-sidebar-brand {
  padding: 20px 16px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  display: flex; align-items: center; gap: 11px;
}
.cg-sidebar-brand-logo {
  width: 36px; height: 36px; border-radius: 9px;
  background: linear-gradient(135deg, #0ea5e9, #0284c7);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 900; color: #fff; flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(14,165,233,0.4);
}
.cg-sidebar-brand-text { font-size: 14px; font-weight: 700; color: #f8fafc; line-height: 1.2; }
.cg-sidebar-brand-text small { display: block; font-size: 10px; font-weight: 400; color: #64748b; text-transform: uppercase; letter-spacing: 0.8px; margin-top: 1px; }

.cg-sidebar-nav { flex: 1; padding: 10px 8px; }
.cg-nav-section { margin-bottom: 2px; }
.cg-nav-section-title { font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.1px; color: #334155; padding: 10px 10px 4px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; user-select: none; border-radius: 6px; transition: color 0.15s; }
.cg-nav-section-title:hover { color: #64748b; }
.cg-nav-section-title::after { content: "\F282"; font-family: "bootstrap-icons"; font-size: 9px; transition: transform 0.2s; }
.cg-nav-section.open .cg-nav-section-title::after { transform: rotate(180deg); }
.cg-nav-sub { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.cg-nav-section.open .cg-nav-sub { max-height: 400px; }

.cg-nav-link {
  display: flex; align-items: center; gap: 9px;
  padding: 8px 10px; border-radius: 7px;
  color: #94a3b8; font-size: 13px; font-weight: 500;
  transition: all 0.15s; cursor: pointer; text-decoration: none;
}
.cg-nav-link i { font-size: 14px; width: 17px; text-align: center; flex-shrink: 0; }
.cg-nav-link:hover { background: rgba(255,255,255,0.06); color: #e2e8f0; }
.cg-nav-link.active {
  background: rgba(14,165,233,0.15);
  color: #38bdf8;
  font-weight: 600;
}
.cg-nav-link.active i { color: #38bdf8; }
.cg-nav-link .cg-nav-icon { width: 17px; text-align: center; flex-shrink: 0; }
.cg-nav-sub { padding-left: 8px; }
.cg-nav-sub .cg-nav-link { font-size: 12.5px; padding: 7px 10px; }

.cg-sidebar-footer { padding: 10px 10px 14px; border-top: 1px solid rgba(255,255,255,0.05); }
.cg-user-card { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.05); transition: background 0.15s; cursor: default; }
.cg-user-card:hover { background: rgba(255,255,255,0.07); }
.cg-user-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(14,165,233,0.4); }
.cg-user-info { flex: 1; min-width: 0; }
.cg-user-name { font-size: 12px; font-weight: 600; color: #f1f5f9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cg-user-role { font-size: 10px; color: #475569; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 1px; }

/* ══ Theme toggle ══ */



/* ══════════════════════════════════════
   MAIN CONTENT — Clean & airy
══════════════════════════════════════ */
.cg-main { flex: 1; margin-left: 260px; padding: 28px 32px; min-height: 100vh; }

.cg-topbar { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.cg-topbar-title { font-size: 22px; font-weight: 800; color: var(--t1); letter-spacing: -0.3px; }
.cg-topbar-subtitle { font-size: 13px; color: var(--t2); margin-top: 3px; }
.cg-topbar-actions { display: flex; align-items: center; gap: 8px; }

/* ══════════════════════════════════════
   CARDS — White elevated, like Stripe
══════════════════════════════════════ */
.cg-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  animation: fadeUp 0.25s ease both;
}
.cg-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.cg-card-h {
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
  background: var(--bg-card);
}
.cg-card-h .fw-bold { font-size: 14px; font-weight: 700; color: var(--t1); }
.cg-card-b { padding: 20px; }

/* ══════════════════════════════════════
   KPI CARDS — Clean metric tiles
══════════════════════════════════════ */
.cg-kpi {
  padding: 20px;
  border-radius: var(--radius);
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
  transition: all 0.2s ease;
  animation: fadeUp 0.25s ease both;
  position: relative;
  overflow: hidden;
  cursor: default;
}
.cg-kpi::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  opacity: 0;
  transition: opacity 0.2s;
}
.cg-kpi:hover::before { opacity: 1; }
.cg-kpi:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: #cbd5e1; }
.cg-kpi .label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; color: var(--t2); margin-bottom: 8px; }
.cg-kpi .value { font-size: 24px; font-weight: 800; color: var(--t1); font-variant-numeric: tabular-nums; letter-spacing: -0.5px; }
.cg-kpi .hint { font-size: 11.5px; color: var(--t2); margin-top: 6px; }
.cg-kpi:nth-child(1){animation-delay:.04s}.cg-kpi:nth-child(2){animation-delay:.08s}.cg-kpi:nth-child(3){animation-delay:.12s}.cg-kpi:nth-child(4){animation-delay:.16s}.cg-kpi:nth-child(5){animation-delay:.20s}.cg-kpi:nth-child(6){animation-delay:.24s}

/* ══ List ══ */
.cg-list > * + * { border-top: 1px solid var(--border); }
.cg-list-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; transition: all 0.15s; }
.cg-list-row:hover { transform: translateX(2px); }
.cg-list-icon { width: 36px; height: 36px; border-radius: 9px; background: var(--accent-glow); display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; color: var(--accent); }
.cg-list-main { flex: 1; min-width: 0; }
.cg-list-title { font-size: 13px; font-weight: 600; color: var(--t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cg-list-sub { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.cg-list-date { font-size: 12px; color: var(--t2); }
.cg-list-amount { flex: 0 0 auto; width: 130px; text-align: right; font-weight: 700; font-size: 14px; color: var(--t1); font-variant-numeric: tabular-nums; }

/* ══ Pills ══ */
.cg-pill { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.2px; }
.cg-pill-ok,.cg-pill-success { background: #dcfce7; color: #15803d; }
.cg-pill-warn,.cg-pill-warning { background: #fef3c7; color: #b45309; }
.cg-pill-danger { background: #fee2e2; color: #dc2626; }
.cg-pill-info { background: #dbeafe; color: #1d4ed8; }
.cg-pill-soft { background: #f1f5f9; color: var(--t2); }
.cg-pill-gold { background: #fef3c7; color: #b45309; }






/* ══ Forms ══ */
.form-control,.form-select { background: var(--bg-input) !important; border: 1px solid var(--border) !important; color: var(--t1) !important; border-radius: var(--radius-xs) !important; padding: 10px 14px; font-size: 13px; font-family: inherit; transition: all .15s; }
.form-control:focus,.form-select:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px var(--accent-glow) !important; outline: none; }
.form-control::placeholder { color: var(--t3) !important; }
.form-label { font-size: 12px; font-weight: 600; color: var(--t2); margin-bottom: 6px; }

/* ══ Buttons ══ */
.btn { border-radius: var(--radius-xs); font-size: 13px; font-weight: 600; padding: 9px 18px; transition: all .18s; font-family: inherit; }
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; font-weight: 700 !important; box-shadow: 0 2px 8px rgba(14,165,233,.35); }
.btn-primary:hover { background: var(--accent-dark) !important; border-color: var(--accent-dark) !important; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(14,165,233,.4) !important; }
.btn-success { background: #10b981 !important; border-color: #10b981 !important; color: #fff !important; font-weight: 700 !important; box-shadow: 0 2px 8px rgba(16,185,129,.3); }
.btn-success:hover { background: #059669 !important; border-color: #059669 !important; transform: translateY(-1px); }
.btn-outline-light { border: 1px solid var(--border) !important; color: var(--t2) !important; background: var(--bg-card) !important; }
.btn-outline-light:hover { border-color: #cbd5e1 !important; color: var(--t1) !important; background: var(--bg-card-hover) !important; }
.btn-outline-danger { border-color: #fca5a5 !important; color: #dc2626 !important; background: transparent !important; }
.btn-outline-danger:hover { background: #fee2e2 !important; }
.btn-outline-success { border-color: #6ee7b7 !important; color: #059669 !important; background: transparent !important; }
.btn-outline-success:hover { background: #dcfce7 !important; }
.btn-outline-info { border-color: #93c5fd !important; color: #2563eb !important; background: transparent !important; }
.btn-outline-info:hover { background: #dbeafe !important; }
.btn-outline-warning { border-color: #fcd34d !important; color: #b45309 !important; background: transparent !important; }
.btn-outline-warning:hover { background: #fef3c7 !important; }











/* ══ Tables ══ */
.table { --bs-table-bg: transparent !important; --bs-table-color: var(--t1) !important; --bs-table-border-color: var(--border) !important; color: var(--t1) !important; border-color: var(--border) !important; }
.table thead th { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--t2) !important; border-bottom: 1px solid var(--border) !important; padding: 12px 16px; background: var(--bg-card) !important; position: sticky; top: 0; z-index: 10; white-space: nowrap; }
.table tbody td { padding: 13px 16px; border-bottom: 1px solid var(--border) !important; font-size: 13px; vertical-align: middle; color: var(--t1) !important; }
.table tbody tr:hover { background: #f8fafc !important; }

.table tbody tr:last-child td { border-bottom: none !important; }
.table code { color: #0284c7 !important; background: #e0f2fe; padding: 2px 6px; border-radius: 4px; font-size: 12px; }


/* ══ Alerts ══ */
.alert { border-radius: var(--radius-sm); font-size: 13px; }
.alert-success { background: #dcfce7; border-color: #bbf7d0; color: #15803d; }
.alert-danger { background: #fee2e2; border-color: #fecaca; color: #dc2626; }
.alert-warning { background: #fef3c7; border-color: #fde68a; color: #b45309; }
.alert-info { background: #dbeafe; border-color: #bfdbfe; color: #1d4ed8; }





/* ══ Modals ══ */
.modal-content { background: var(--bg-card) !important; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; box-shadow: 0 20px 60px rgba(0,0,0,.15) !important; }
.modal-header { border-bottom: 1px solid var(--border) !important; padding: 18px 22px; }
.modal-body { padding: 22px; }
.modal-footer { border-top: 1px solid var(--border) !important; padding: 14px 22px; }
.modal-title { font-size: 15px; font-weight: 700; color: var(--t1); }


/* ══ Misc ══ */
.cg-lang-switch { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--bg-card); border: 1px solid var(--border); font-size: 11px; font-weight: 600; color: var(--t2); cursor: pointer; transition: all .15s; }
.cg-lang-switch:hover { border-color: #cbd5e1; color: var(--t1); }
.cg-tax-box { padding: 14px; border-radius: var(--radius-sm); background: var(--bg-card); border: 1px solid var(--border); text-align: center; box-shadow: var(--shadow-soft); }
.cg-tax-box .xs-label { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.6px; color: var(--t2); margin-bottom: 5px; font-weight: 600; }
.cg-tax-box .h5 { font-size: 19px; font-weight: 800; margin: 0; font-variant-numeric: tabular-nums; color: var(--t1); }
.cg-tax-box-accent { background: #fef3c7; border-color: #fde68a; }

.cg-login-wrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: #f1f5f9; }
.cg-login-box { width: 100%; max-width: 400px; padding: 16px 16px 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 4px 6px rgba(0,0,0,.05), 0 20px 60px rgba(0,0,0,.08); animation: fadeUp .35s ease both; overflow: hidden; }
.cg-login-body { padding: 28px 36px 36px; }
.cg-login-brand { text-align: center; padding: 32px 36px 28px; background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 100%); }
.cg-login-brand .logo { width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(135deg,#0ea5e9,#0284c7); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 900; color: #fff; margin-bottom: 16px; box-shadow: 0 6px 20px rgba(14,165,233,.35); }
.cg-login-brand h1 { font-size: 22px; font-weight: 800; margin: 0 0 5px; color: #f1f5f9; }
.cg-login-brand p { font-size: 13px; color: rgba(255,255,255,0.55); margin: 0; }
.cg-sidebar-toggle { display: none; position: fixed; top: 14px; left: 14px; z-index: 1100; width: 40px; height: 40px; border-radius: 10px; background: #0f172a; border: none; color: #fff; font-size: 18px; cursor: pointer; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
@media(max-width:991px){.cg-sidebar{transform:translateX(-100%)}.cg-sidebar.open{transform:translateX(0)}.cg-sidebar-toggle{display:flex}.cg-main{margin-left:0;padding:20px 16px;padding-top:62px}}
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.cg-upload-box { border: 1px solid var(--border); background: var(--bg-card); border-radius: var(--radius); padding: 14px; }
.cg-file-pill { padding: 4px 11px; border-radius: 999px; border: 1px solid var(--border); background: #f1f5f9; color: var(--t2); font-weight: 600; font-size: 11px; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cg-preview img { width: 120px; height: auto; border-radius: var(--radius-sm); border: 1px solid var(--border); margin-top: 8px; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.cg-card { animation: fadeUp .25s ease both; }
.form-check-input { background-color: #e2e8f0 !important; border-color: #cbd5e1 !important; }
.form-check-input:checked { background-color: var(--accent) !important; border-color: var(--accent) !important; }
.form-check-label { color: var(--t1) !important; font-size: 13px; }

.text-white-50 { color: var(--t2) !important; }
.form-text { color: var(--t3) !important; }
.pagination .page-link { background: var(--bg-card); border-color: var(--border); color: var(--t2); font-size: 13px; transition: all .15s; }
.pagination .page-link:hover { background: #f1f5f9; color: var(--accent); border-color: #cbd5e1; }
.pagination .page-item.active .page-link { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 700; }


.cg-period-selector { display: flex; align-items: center; gap: 8px; }
.cg-period-selector select { min-width: 120px; }

/* ═══════════════════════════════════════════════════════════
   PATCH 2215 — Sidebar redesign + Alert fix
═══════════════════════════════════════════════════════════ */

/* ── ALERT: force readable text in light mode ────────────── */
.alert { color: inherit; }
.alert-warning,
.alert-warning *,
.alert-warning p,
.alert-warning span,
.alert-warning a { color: #92400e !important; }
.alert-warning .bi { color: #d97706 !important; }
.alert-success, .alert-success *, .alert-success p, .alert-success span { color: #065f46 !important; }
.alert-danger,  .alert-danger *,  .alert-danger p,  .alert-danger span  { color: #991b1b !important; }
.alert-info,    .alert-info *,    .alert-info p,    .alert-info span    { color: #1e3a8a !important; }





/* ── SIDEBAR REDESIGN ────────────────────────────────────── */
.cg-sidebar {
  background: linear-gradient(180deg, #0f172a 0%, #1a1f35 100%) !important;
  border-right: 1px solid rgba(255,255,255,0.05) !important;
  box-shadow: 2px 0 20px rgba(0,0,0,0.15) !important;
}

/* Accent line at top */
.cg-sidebar::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #0ea5e9, #6366f1, #0ea5e9);
  z-index: 1;
}

/* Brand area */
.cg-sidebar-brand {
  padding: 26px 18px 18px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  background: rgba(14,165,233,0.04);
}
.cg-sidebar-brand-logo {
  width: 40px !important; height: 40px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #0ea5e9, #6366f1) !important;
  box-shadow: 0 4px 16px rgba(14,165,233,0.4) !important;
  font-size: 20px !important;
  color: #fff !important;
}
.cg-sidebar-brand-text { color: #f8fafc !important; font-size: 15px !important; font-weight: 700 !important; }
.cg-sidebar-brand-text small { color: #64748b !important; }

/* Section titles */
.cg-nav-section-title { color: #334155 !important; font-size: 9px !important; letter-spacing: 1.4px !important; padding: 12px 12px 4px !important; }
.cg-nav-section-title:hover { color: #64748b !important; }

/* Nav links */
.cg-nav-link { color: #94a3b8 !important; border-radius: 8px !important; padding: 9px 12px !important; margin-bottom: 1px; }
.cg-nav-link:hover { background: rgba(255,255,255,0.06) !important; color: #e2e8f0 !important; }

/* Active link — blue pill */
.cg-nav-link.active {
  background: rgba(14,165,233,0.15) !important;
  color: #38bdf8 !important;
  font-weight: 600 !important;
  border-left: 3px solid #0ea5e9 !important;
  padding-left: 9px !important;
  box-shadow: inset 0 0 12px rgba(14,165,233,0.06);
}

/* Footer */
.cg-sidebar-footer { border-top: 1px solid rgba(255,255,255,0.06) !important; }
.cg-user-card { background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.07) !important; }
.cg-user-card:hover { background: rgba(255,255,255,0.07) !important; }
.cg-user-name { color: #f1f5f9 !important; }
.cg-user-role { color: #475569 !important; }
.cg-user-avatar { border-color: rgba(14,165,233,0.5) !important; }

/* Selectors inside sidebar (ANO/MES) */
.cg-sidebar .form-control,
.cg-sidebar .form-select {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #e2e8f0 !important;
  font-size: 12px !important;
}
.cg-sidebar label,
.cg-sidebar .form-label { color: #64748b !important; font-size: 9px !important; text-transform: uppercase; letter-spacing: 0.8px; }


/* ═══════════════════════════════════════════════════════════
   PATCH 2220 — Sidebar LIGHT to match white body
═══════════════════════════════════════════════════════════ */

/* Sidebar — bianca con bordo destro sottile come Holded/FreshBooks */
.cg-sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e2e8f0 !important;
  box-shadow: 1px 0 0 #e2e8f0, 2px 0 12px rgba(0,0,0,0.04) !important;
}
.cg-sidebar::before { display: none !important; }

/* Brand */
.cg-sidebar-brand {
  background: #fff !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 20px 18px 16px !important;
}
.cg-sidebar-brand-text { color: #0f172a !important; }
.cg-sidebar-brand-text small { color: #94a3b8 !important; }

/* Section titles */
.cg-nav-section-title { color: #94a3b8 !important; }
.cg-nav-section-title:hover { color: #64748b !important; }

/* Nav links */
.cg-nav-link { color: #475569 !important; }
.cg-nav-link:hover { background: #f1f5f9 !important; color: #0f172a !important; }

/* Active */
.cg-nav-link.active {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border-left: 3px solid #3b82f6 !important;
  box-shadow: none !important;
}
.cg-nav-link.active i { color: #3b82f6 !important; }

/* User card footer */
.cg-sidebar-footer { border-top: 1px solid #f1f5f9 !important; }
.cg-user-card { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; }
.cg-user-card:hover { background: #f1f5f9 !important; }
.cg-user-name { color: #0f172a !important; }
.cg-user-role { color: #94a3b8 !important; }
.cg-user-avatar { border-color: rgba(59,130,246,0.4) !important; }

/* Selectors ANO/MES inside sidebar */
.cg-sidebar .form-control,
.cg-sidebar .form-select {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  font-size: 12px !important;
}
.cg-sidebar label,
.cg-sidebar .form-label { color: #94a3b8 !important; }

/* Theme toggle light mode look */




/* ═══════════════════════════════════════════════════════════
   PATCH 2230 — Sidebar premium + Alert definitivo
═══════════════════════════════════════════════════════════ */

/* ── Alert disclaimer (inline style rimosso dal PHP) ─────── */
.cg-ai-disclaimer {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  color: #78350f !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 11.5px !important;
  line-height: 1.6 !important;
}
.cg-ai-disclaimer span,
.cg-ai-disclaimer * { color: #78350f !important; }
.cg-disclaimer-link { color: #b45309 !important; text-decoration: underline !important; font-weight: 600 !important; }
.cg-disclaimer-link:hover { color: #92400e !important; }




/* ── Sidebar PREMIUM light ───────────────────────────────── */
.cg-sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e8ecf0 !important;
  box-shadow: 4px 0 24px rgba(15,23,42,0.08), 1px 0 0 #f1f5f9 !important;
}
.cg-sidebar::before { display: none !important; }

/* Brand — strip colorata in cima */
.cg-sidebar-brand {
  background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 100%) !important;
  border-bottom: none !important;
  padding: 20px 18px 18px !important;
}
.cg-sidebar-brand-logo {
  background: rgba(255,255,255,0.2) !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
.cg-sidebar-brand-logo span,
.cg-sidebar-brand-logo { color: #fff !important; }
.cg-sidebar-brand-text { color: #fff !important; font-size: 15px !important; font-weight: 700 !important; }
.cg-sidebar-brand-text small { color: rgba(255,255,255,0.65) !important; }

/* Year/Month selectors sub-header */
.cg-sidebar > div:not(.cg-sidebar-brand):not(.cg-sidebar-nav):not(.cg-sidebar-footer) {
  border-bottom: 1px solid #f1f5f9;
  padding: 10px 16px;
  background: #f8fafc;
}

/* Section titles */
.cg-nav-section-title {
  color: #9ca3af !important;
  font-size: 9px !important;
  letter-spacing: 1.4px !important;
}
.cg-nav-section-title:hover { color: #6b7280 !important; }

/* Nav links */
.cg-nav-link {
  color: #374151 !important;
  border-radius: 8px !important;
  margin-bottom: 1px !important;
  font-size: 13px !important;
  padding: 9px 12px !important;
  font-weight: 500 !important;
}
.cg-nav-link i { color: #9ca3af !important; font-size: 14px !important; }
.cg-nav-link:hover { background: #f3f4f6 !important; color: #111827 !important; }
.cg-nav-link:hover i { color: #374151 !important; }

/* Active — pill piena blu */
.cg-nav-link.active {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-weight: 600 !important;
  border-left: 3px solid #2563eb !important;
  padding-left: 9px !important;
  box-shadow: none !important;
}
.cg-nav-link.active i { color: #2563eb !important; }

/* Footer */
.cg-sidebar-footer { background: #f9fafb !important; border-top: 1px solid #f1f5f9 !important; }
.cg-user-card { background: #fff !important; border: 1px solid #e5e7eb !important; box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important; }
.cg-user-card:hover { background: #f9fafb !important; }
.cg-user-name { color: #111827 !important; font-weight: 600 !important; }
.cg-user-role { color: #9ca3af !important; }
.cg-user-avatar { border-color: #dbeafe !important; }

/* ANO/MES selectors */
.cg-sidebar .form-control,
.cg-sidebar .form-select {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
  font-size: 12px !important;
  border-radius: 6px !important;
}
.cg-sidebar label,
.cg-sidebar .form-label {
  color: #9ca3af !important;
  font-size: 9px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  font-weight: 700 !important;
}

/* Theme toggle */




/* ═══════════════════════════════════════════════════════════
   PATCH 2240 — Section icon + sidebar depth
═══════════════════════════════════════════════════════════ */

/* Emoji icon in section title */
.cg-sec-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  font-size: 13px;
  margin-right: 6px;
  border-radius: 6px;
  background: #f1f5f9;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Section title — more like a real menu header */
.cg-nav-section-title {
  display: flex !important;
  align-items: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  color: #6b7280 !important;
  text-transform: none !important;
  padding: 8px 10px 6px !important;
  border-radius: 8px !important;
  margin-top: 6px !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s !important;
}
.cg-nav-section-title:hover {
  background: #f3f4f6 !important;
  color: #374151 !important;
}
.cg-nav-section-title:hover .cg-sec-icon { background: #e5e7eb !important; }

/* Sidebar — more depth */
.cg-sidebar {
  background: #fafafa !important;
  box-shadow: 2px 0 0 #e5e7eb, 4px 0 20px rgba(0,0,0,0.06) !important;
}

/* Nav sub — slight indent, feels nested */
.cg-nav-sub { padding-left: 4px !important; }
.cg-nav-sub .cg-nav-link { font-size: 12.5px !important; padding: 7px 10px 7px 12px !important; color: #4b5563 !important; }
.cg-nav-sub .cg-nav-link i { color: #9ca3af !important; }
.cg-nav-sub .cg-nav-link:hover { background: #f3f4f6 !important; color: #111827 !important; }
.cg-nav-sub .cg-nav-link:hover i { color: #374151 !important; }
.cg-nav-sub .cg-nav-link.active { background: #eff6ff !important; color: #1d4ed8 !important; border-left: 2px solid #3b82f6 !important; }
.cg-nav-sub .cg-nav-link.active i { color: #3b82f6 !important; }

/* Nav padding */
.cg-sidebar-nav { padding: 8px 10px !important; }


/* ═══════════════════════════════════════════════════════════
   PATCH FINAL — Sidebar sempre bianca, definitiva, no dark mode
═══════════════════════════════════════════════════════════ */
.cg-sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e5e7eb !important;
  box-shadow: 2px 0 12px rgba(0,0,0,0.05) !important;
}
.cg-sidebar::before { display: none !important; }
.cg-sidebar-brand {
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%) !important;
  border-bottom: none !important;
}
.cg-sidebar-brand-text { color: #fff !important; }
.cg-sidebar-brand-text small { color: rgba(255,255,255,0.65) !important; }
.cg-sidebar-brand-logo {
  background: rgba(255,255,255,0.2) !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
}
.cg-nav-section-title {
  color: #9ca3af !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 10px 10px 4px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.cg-nav-section-title:hover { color: #6b7280 !important; background: #f9fafb !important; }
.cg-nav-link { color: #374151 !important; }
.cg-nav-link i { color: #9ca3af !important; }
.cg-nav-link:hover { background: #f3f4f6 !important; color: #111827 !important; }
.cg-nav-link:hover i { color: #4b5563 !important; }
.cg-nav-link.active {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-weight: 600 !important;
  border-left: 3px solid #3b82f6 !important;
  padding-left: 9px !important;
}
.cg-nav-link.active i { color: #2563eb !important; }
.cg-nav-sub .cg-nav-link { color: #4b5563 !important; font-size: 12.5px !important; }
.cg-sidebar-footer { background: #f9fafb !important; border-top: 1px solid #f1f5f9 !important; }
.cg-user-name { color: #111827 !important; }
.cg-user-role { color: #9ca3af !important; }
.cg-user-card { background: #fff !important; border: 1px solid #e5e7eb !important; }
.cg-user-card:hover { background: #f9fafb !important; }
.cg-user-avatar { border-color: #bfdbfe !important; }
.cg-sidebar label, .cg-sidebar .form-label { color: #9ca3af !important; }
.cg-sidebar .form-control, .cg-sidebar .form-select {
  background: #f9fafb !important;
  border-color: #e5e7eb !important;
  color: #111827 !important;
}
.cg-sec-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; font-size: 12px;
  border-radius: 5px; background: #f3f4f6; flex-shrink: 0;
}

