/* ═══════════════════════════════════════════════════════════════════════════════════════════════
 * ATH | CO₂ — limbajul vizual ATH | RATING (12 oct 2026)
 *
 * Referința: documentatie-aplicatii/design-ath/STANDARD-ATH.md (reguli), SPEC-RATING.md (valori),
 * ath-tokens.css (tokenii, copiați în static/css/ — versiunea curentă, din ESG). Modelele deja livrate:
 * ESG `src/styles/ath-esg.css`, CRM `frontend/src/layouts/*`.
 *
 * SURSA UNICĂ de stil pentru CADRU (bara laterală + bara de sus) — aceleași clase `.dash-*` le
 * desenează și șabloanele Jinja (`_dash_sidebar.html`, `_dash_topbar.html`, `_account_menu.html`), și
 * tabloul de bord React (`dashboard-react.js`). Regulile vechi ale cadrului au fost SCOASE din
 * dashboard.css și din `_account_menu.html` (erau dublate și se băteau între ele). Comportamentul e în
 * `static/js/ath-cadru.js`.
 *
 * Fișierul se încarcă ULTIMUL în <head> (base.html, după `head_extra`), deci la specificitate egală bate
 * și dashboard.css, și blocurile <style> ale paginilor. Componentele Bootstrap (.btn, .form-control,
 * .card, .table, .badge, .nav-tabs, .modal, .alert, .dropdown-menu) primesc valorile RATING de aici, ca
 * cele 53 de șabloane să nu fie rescrise una câte una.
 *
 * Ordinea: 1 punțile de tokeni · 2 baza · 3 cadrul · 4 meniurile derulante · 5 antetul de pagină ·
 * 6 componentele · 7 toast / dialoguri · 8 tipărirea.
 * Pragurile (variabilele CSS nu merg în @media, se scriu literal): 640 · 768 · 1024 (sertar) · 1280.
 * ═══════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── 1. Punțile de tokeni ───────────────────────────────────────────────────────────────────────── */
:root {
  /* Pragul sertarului: aceeași valoare ca `PRAG_SERTAR` din ath-cadru.js. În @media se scrie literal
     (1023 / 1024 px) — dacă îl schimbi, schimbă-l în ath-cadru.js și în media query-urile de mai jos. */
  --ath-prag-sertar: 1024px;
  /* Textul estompat: RATING folosește slate-400 (#94a3b8) — doar 2,56:1 pe alb, sub pragul de 3:1.
     Decizia ecosistemului (ESG, CRM): `--ath-text-muted-fg` (#6b677e), aceeași nuanță rece, lizibilă. */
  --ath-text-muted: var(--ath-text-muted-fg);
  --dash-header-h: var(--ath-topbar-h);
  --app-font-family: var(--ath-font-body);

  /* Bootstrap 5.3 citește variabilele de mai jos: fontul, culorile, razele și focusul vin din tokeni. */
  --bs-body-font-family: var(--ath-font-body);
  --bs-body-color: var(--ath-text);
  --bs-body-bg: var(--ath-bg-page);
  --bs-border-color: var(--ath-border);
  --bs-border-radius: var(--ath-radius);
  --bs-border-radius-sm: var(--ath-radius-md);
  --bs-border-radius-lg: var(--ath-radius-lg);
  --bs-primary: var(--ath-primary-600);
  --bs-primary-rgb: 124, 58, 237;
  --bs-link-color: var(--ath-primary-600);
  --bs-link-color-rgb: 124, 58, 237;
  --bs-link-hover-color: var(--ath-primary-active);
  --bs-link-hover-color-rgb: 91, 33, 182;
  --bs-secondary-color: var(--ath-text-secondary);
  --bs-focus-ring-color: rgba(124, 43, 238, 0.25);
}

/* ── 2. Baza ────────────────────────────────────────────────────────────────────────────────────── */
html, body, button, input, select, textarea, .btn, .form-control, .form-select, .dropdown-menu {
  font-family: var(--ath-font-body);
}
body {
  font-feature-settings: "rlig" 1, "calt" 1;
  color: var(--ath-text);
  background-color: var(--ath-bg-page);
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--ath-font-heading);
  letter-spacing: var(--ath-heading-tracking);
}
.text-muted { color: var(--ath-text-muted) !important; }
a { color: var(--ath-primary-600); }
a:hover { color: var(--ath-primary-active); }
/* Bifele și butoanele radio native: violet (în RATING ieșeau albastre — defect de necopiat). */
input[type='checkbox'], input[type='radio'], input[type='range'], progress { accent-color: var(--ath-primary-600); }
/* Focus vizibil — RATING nu are unul global; aici e inelul tokenizat. */
:where(button, a, [role='button'], summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ath-primary-400);
  outline-offset: 2px;
}
::selection { background: var(--ath-primary-100); }
.ath-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ── 3. Cadrul — SPEC-RATING.md §2 ───────────────────────────────────────────────────────────────
   Structura (aceeași în Jinja și React): .dash-shell > aside.dash-sidebar + section.dash-main >
   header.dash-topbar + conținutul. Pagina nu derulează; derulează doar `.dash-main` (bara de sus e
   lipicioasă în ea, deci rămâne pe loc). */
html:has(body.dashboard-body), body.dashboard-body { height: 100%; margin: 0; background: var(--ath-bg-page); overflow: hidden; }
body.dashboard-body > main,
body.dashboard-body main.container-fluid { padding: 0 !important; margin: 0; max-width: none; min-height: 0; background: none; }
body.dashboard-body footer { display: none !important; }

.dash-shell {
  display: flex;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: var(--ath-bg-page);
  color: var(--ath-text);
  font-family: var(--ath-font-body);
}

/* 3.1 Bara laterală — 256 px, gradientul bleumarin, bordura #2a4a82. ≥1024 în flux; sub 1024 sertar. */
.dash-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: var(--ath-z-sidebar);
  display: flex;
  flex-direction: column;
  width: var(--ath-sidebar-w);
  height: 100vh;
  height: 100dvh;
  flex-shrink: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background: var(--ath-nav-grad);
  border-right: 1px solid var(--ath-sidebar-border);
  color: var(--ath-on-nav-95);
  font-family: var(--ath-font-ui);
  transform: translateX(-100%);
  transition: width var(--ath-dur-panel) var(--ath-ease), transform var(--ath-dur-panel) var(--ath-ease);
}
.dash-sidebar.open { transform: translateX(0); }
/* Sub prag, sertarul și suprapunerea trec peste orice element poziționat din conținut (filtrul de an are
   z 60) și peste bara de sus (100); ferestrele de dialog (≥ 1080) rămân deasupra. */
@media (max-width: 1023px) {
  .dash-sidebar { z-index: 1050; }
  .dash-sidebar-overlay.open { z-index: 1040 !important; }
}
@media (min-width: 1024px) {
  .dash-sidebar { position: relative; transform: none; }
  .dash-sidebar.mini { width: var(--ath-sidebar-w-collapsed); }
}
.dash-sidebar.no-transition { transition: none !important; }
@media (prefers-reduced-motion: reduce) { .dash-sidebar { transition: none; } }
.dash-sidebar a, .dash-sidebar a:hover, .dash-sidebar a:focus, .dash-sidebar a:visited { text-decoration: none; }

/* Rândul siglei (64 px): sigla + „ATH | CO2" în stânga, ☰ (≥1024) sau X (sertar) în dreapta. */
.dash-brand {
  position: relative;
  display: flex;
  height: var(--ath-sidebar-logo-h);
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 16px;
}
.dash-brand-link,
.ath-pub-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}
.dash-brand-mark {
  display: flex;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--ath-shadow-md), 0 0 0 1px rgba(255, 255, 255, 0.4);
  transition: transform var(--ath-dur-fast) var(--ath-ease);
}
.dash-brand-link:hover .dash-brand-mark,
.ath-pub-brand:hover .dash-brand-mark { transform: scale(1.1); }
.dash-brand-logo { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.dash-brand-wordmark {
  font-family: var(--ath-font-heading);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  white-space: nowrap;
}
.dash-brand-accent { color: inherit; font-weight: inherit; }
.dash-sidebar-collapse,
.dash-sidebar-close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 6px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--ath-on-nav-60);
  cursor: pointer;
  transition: color var(--ath-dur-fast) var(--ath-ease), background-color var(--ath-dur-fast) var(--ath-ease);
}
.dash-sidebar-close { color: var(--ath-on-nav-70); }
.dash-sidebar-collapse:hover,
.dash-sidebar-close:hover { background: var(--ath-on-nav-hover-bg); color: #fff; }
.dash-sidebar-collapse:focus-visible,
.dash-sidebar-close:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
/* Vizibilitatea STRICT în media query-uri, separat de stilizare (capcana din co2-bara-laterala-prag). */
@media (min-width: 1024px) { .dash-sidebar-close { display: none; } }
@media (max-width: 1023px) { .dash-sidebar-collapse { display: none; } }

/* Navigația: padding 12×10, 2 px între item-uri, derulează vertical. */
.dash-nav {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--ath-nav-item-spacing);
  min-height: 0;
  margin: 0;
  padding: var(--ath-nav-py) var(--ath-nav-px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}
.dash-nav::-webkit-scrollbar { width: 6px; }
.dash-nav::-webkit-scrollbar-track { background: transparent; }
.dash-nav::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 999px; }

/* Item: 31,5 px, padding 6×10, rază 12, Inter 13/19,5/500, pictograma 17 px. */
.dash-nav-item {
  position: relative;
  display: flex;
  width: 100%;
  flex-shrink: 0;
  align-items: center;
  padding: 6px var(--ath-nav-item-px);
  border: 0;
  border-radius: var(--ath-radius);
  background: transparent;
  color: var(--ath-on-nav-95);
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-nav);
  line-height: var(--ath-lh-nav);
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition: all var(--ath-dur-nav) var(--ath-ease);
}
.dash-nav-row { display: flex; min-width: 0; flex: 1; align-items: center; gap: var(--ath-nav-item-gap); }
.dash-nav-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; }
.dash-nav-item:hover { background: var(--ath-on-nav-hover-bg); color: #fff; }
.dash-nav-item:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
/* Activ (`.nav-active` din RATING): gradientul primar + indicatorul alb 4×16 lipit de marginea barei. */
.dash-nav-item.active { background: var(--ath-grad-primary); color: #fff; box-shadow: var(--ath-shadow-nav-active); }
.dash-nav-indicator {
  position: absolute;
  top: 50%;
  left: -10px;
  width: 4px;
  height: 16px;
  border-radius: 0 9999px 9999px 0;
  background: #fff;
  transform: translateY(-50%);
  pointer-events: none;
}
/* Upstream / Downstream: sub-intrările lui „Emisii Scope 3", indentate cu 12 px (regula submeniurilor). */
.dash-nav-item.indent { padding-left: calc(var(--ath-nav-item-px) + 12px); }
.dash-nav-item.indent .dash-nav-indicator { left: -10px; }
.dash-nav-item .tm-sup { font-size: 8px; margin-left: 2px; vertical-align: super; opacity: 0.8; }

/* Pictogramele: lucide 0.378 (ca în RATING), desenate prin mască — iau culoarea textului. */
.dash-sidebar .dash-nav-icon {
  display: inline-block;
  width: var(--ath-nav-icon);
  height: var(--ath-nav-icon);
  flex-shrink: 0;
  opacity: 1;
  color: var(--ath-on-nav-85);
  background: currentColor;
  -webkit-mask: var(--ic) center / contain no-repeat;
  mask: var(--ic) center / contain no-repeat;
  transition: color var(--ath-dur-fast) var(--ath-ease);
}
.dash-sidebar .dash-nav-item:hover .dash-nav-icon,
.dash-sidebar .dash-nav-item.active .dash-nav-icon,
.dash-sidebar .dash-cta .dash-nav-icon { color: #fff; }

/* Caseta „câmpuri obligatorii lipsă" — bannerul de eroare RATING (§4.13), în bară. */
.dash-nav-alert {
  display: flex;
  flex-shrink: 0;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid #fecdd3;
  border-radius: var(--ath-radius);
  background: var(--ath-banner-err-bg);
  color: var(--ath-banner-err-text);
  font-family: var(--ath-font-ui);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  text-decoration: none;
}
.dash-nav-alert:hover { background: #ffe4e6; color: var(--ath-banner-err-text); }
.dash-nav-alert-ic { font-size: 14px; line-height: 16px; flex-shrink: 0; }

/* „Adaugă emisii": acțiunea principală a aplicației, butonul primar RATING, sub meniu. */
.dash-cta {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 12px 12px;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--ath-radius);
  background: var(--ath-grad-primary);
  color: #fff;
  font-family: var(--ath-font-ui);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: var(--ath-btn-tracking);
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: var(--ath-shadow-btn);
  cursor: pointer;
  transition: all var(--ath-dur-panel) var(--ath-ease);
}
.dash-cta:hover, .dash-cta:focus, .dash-cta:visited { color: #fff; text-decoration: none; }
.dash-cta:hover { box-shadow: var(--ath-shadow-btn-hover); transform: translateY(-1px); }
.dash-cta:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
.dash-cta.active { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.6), var(--ath-shadow-btn); }
.dash-sidebar .dash-cta .dash-nav-icon { width: 16px; height: 16px; }
.dash-cta-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Josul barei: Suport / Ticket, copyright, linkurile legale. */
.dash-footer {
  flex-shrink: 0;
  margin: 0;
  padding: 12px;
  border-top: 1px solid var(--ath-on-nav-divider);
  background: none;
}
.dash-footer-actions { display: flex; gap: 8px; margin-top: 4px; }
.dash-footer-btn {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 8px;
  border: 0;
  border-radius: var(--ath-radius-md);
  background: var(--ath-primary-600);
  color: #fff;
  font-family: var(--ath-font-body);
  font-size: 10px;
  line-height: 15px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: var(--ath-shadow-xs);
  cursor: pointer;
  transition: all var(--ath-dur-fast) var(--ath-ease);
}
.dash-footer-btn:hover { background: var(--ath-primary-hover); color: #fff; box-shadow: var(--ath-shadow-md); }
.dash-footer-btn:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
.dash-footer-btn svg { flex-shrink: 0; width: 12px; height: 12px; }
.dash-footer-actions-ic { display: inline-flex; }
.dash-footer-copy { margin-top: 12px; text-align: center; font-family: var(--ath-font-ui); font-size: 12px; line-height: 16px; color: var(--ath-on-nav-40); }
.dash-footer-copy strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: #fff; }
.dash-footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin-top: 12px; padding: 0 8px; }
.dash-footer-legal a { font-family: var(--ath-font-ui); font-size: 11px; line-height: 16.5px; color: var(--ath-on-nav-40); text-decoration: none; }
.dash-footer-legal a:hover { color: #fff; text-decoration: underline; }

/* Pliată (72 px): doar pictograme; ☰ aliniat stânga (x = 16); item-urile centrate (în RATING nu erau). */
@media (min-width: 1024px) {
  .dash-sidebar.mini .dash-brand { justify-content: flex-start; }
  .dash-sidebar.mini .dash-brand-link,
  .dash-sidebar.mini .dash-nav-label,
  .dash-sidebar.mini .dash-cta-text,
  .dash-sidebar.mini .dash-footer-actions-lbl,
  .dash-sidebar.mini .dash-footer-copy,
  .dash-sidebar.mini .dash-footer-legal,
  .dash-sidebar.mini .dash-nav-alert { display: none; }
  .dash-sidebar.mini .dash-nav-item { justify-content: center; padding-left: 0; padding-right: 0; }
  .dash-sidebar.mini .dash-nav-row { flex: 0 0 auto; }
  .dash-sidebar.mini .dash-cta { margin: 0 10px 12px; padding: 8px 0; }
  .dash-sidebar.mini .dash-footer-actions { flex-direction: column; gap: 6px; margin-top: 8px; }
  .dash-sidebar.mini .dash-footer-btn { padding: 8px; border-radius: var(--ath-radius); }
  .dash-sidebar.mini .dash-footer-btn svg { width: 16px; height: 16px; }
}

/* Suprapunerea sertarului (sub 1024 px): rgba(30,27,75,.3) + blur 4 px, z 40 (sub bară, peste antet). */
.dash-sidebar-overlay { display: none; }
@media (max-width: 1023px) {
  .dash-sidebar-overlay.open {
    display: block;
    position: fixed;
    inset: 0;
    z-index: var(--ath-z-drawer-overlay);
    background: var(--ath-overlay-drawer);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    animation: athFade var(--ath-dur-nav) var(--ath-ease);
  }
}
@keyframes athFade { from { opacity: 0; } to { opacity: 1; } }
body.ath-sertar-deschis { overflow: hidden; }

/* 3.2 Coloana principală: bara de sus lipicioasă + conținutul; derulează doar ea. */
.dash-main {
  --dash-pad: var(--ath-content-p);
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0 var(--dash-pad) var(--dash-pad);
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--ath-bg-content-grad), var(--ath-bg-page);
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 43, 238, 0.3) transparent;
}
@media (max-width: 767px) { .dash-main { --dash-pad: 16px; gap: 16px; } }
.dash-main::-webkit-scrollbar { width: 8px; height: 8px; }
.dash-main::-webkit-scrollbar-track { background: transparent; }
.dash-main::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(124, 43, 238, 0.3), rgba(42, 109, 244, 0.3)); border-radius: 999px; }
.dash-view-content { min-width: 0; }
/* Intrarea paginii (framer-motion în RATING): opacitate 0→1, translateY 12px→0, 200 ms. */
.dash-main > .dash-view-content,
.dash-main > .dash-content-stack,
.dash-main > .dash-grid { animation: athPageIn 200ms ease-in-out; }
@keyframes athPageIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .dash-main > * { animation: none !important; } }

/* 3.3 Bara de sus — 64 px, același gradient, linia de 2 px sus, bordura de jos la 10 %. */
.dash-topbar,
.ath-pub-bar {
  position: sticky;
  top: 0;
  /* 100, nu 30 (tokenul RATING): în conținutul CO₂ există elemente poziționate cu z 60 (filtrul de an),
     care altfel trec PESTE bara lipicioasă la derulare (vezi comentariul vechi din dashboard.css, 29 sep). */
  z-index: 100;
  display: flex;
  height: var(--ath-topbar-h);
  min-height: var(--ath-topbar-h);
  flex-shrink: 0;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 calc(-1 * var(--dash-pad, 24px));
  padding: 0 16px;
  background: linear-gradient(135deg, #3d62ab 0%, #17305c 100%);
  border-bottom: 1px solid var(--ath-topbar-border);
  font-family: var(--ath-font-ui);
}
@media (min-width: 768px) { .dash-topbar, .ath-pub-bar { padding: 0 var(--ath-topbar-px); } }
.ath-pub-bar { position: relative; margin: 0; }
.dash-tb-line { position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--ath-topbar-line); opacity: 0.3; pointer-events: none; }
.dash-top-left { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 8px; }
.dash-title-block { display: block; min-width: 0; }
.dash-title {
  display: block;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--ath-font-ui);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: normal;
  color: #fff;
}
@media (min-width: 640px) { .dash-title { font-size: var(--ath-fs-topbar-title); line-height: var(--ath-lh-topbar-title); } }

/* Hamburgerul — stânga barei de sus, doar sub 1024 px (32×32, padding 6, rază 12, Menu 20 px). */
.dash-mobile-toggle.in-topbar {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 6px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--ath-on-nav-70);
  box-shadow: none;
  cursor: pointer;
  transition: color var(--ath-dur-fast) var(--ath-ease), background-color var(--ath-dur-fast) var(--ath-ease);
}
.dash-mobile-toggle.in-topbar:hover { background: var(--ath-on-nav-hover-bg); color: #fff; }
.dash-mobile-toggle.in-topbar:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
@media (min-width: 1024px) { .dash-mobile-toggle.in-topbar { display: none; } }

/* Pastila firmei — doar de la 1280 px (la 1024 în RATING se suprapune peste comutator: defect). */
.dash-company {
  display: none;
  min-width: 0;
  max-width: 300px;
  flex-shrink: 1;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--ath-shadow-xs);
  color: #fff;
  text-align: left;
  text-decoration: none;
  transition: background-color var(--ath-dur-fast) var(--ath-ease), border-color var(--ath-dur-fast) var(--ath-ease);
}
a.dash-company:hover { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.25); color: #fff; }
a.dash-company:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
@media (min-width: 1280px) { .dash-company { display: flex; } }
.dash-company-ic { display: flex; width: 28px; height: 28px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 8px; background: linear-gradient(to bottom right, #7c3aed, #4f46e5); color: #fff; }
.dash-company-txt { display: block; min-width: 0; }
.dash-company-lbl { display: block; font-family: var(--ath-font-ui); font-size: 9px; line-height: 9px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ath-on-nav-50); }
.dash-company-name { display: block; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ath-font-heading); font-size: 12px; line-height: 15px; font-weight: 700; color: #fff; }

/* Grupul din dreapta: 16 px între controale (12 sub 768). Nu se strânge — cedează titlul. */
.dash-top-right,
.dash-topbar-actions { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 12px; }
@media (min-width: 768px) { .dash-top-right { gap: 16px; } }
.dash-top-right > * { flex-shrink: 0; }
.dash-lang-slot:empty, .dash-apps-slot:empty { display: none; }
.dash-lang-slot, .dash-apps-slot, .dash-lang { position: relative; display: inline-flex; align-items: center; }
.dash-tb-logout-form { display: inline-flex; margin: 0; }

/* Butonul „Ghid" (controlul propriu CO₂): pastilă albă ca butoanele RATING de pe bară (36 px, rază 12),
   iar deschis se inversează în violetul plin cu contur alb. Testul test_bara_de_sus_ghid măsoară
   contrastul cu capetele gradientului barei (#3d62ab, #17305c). */
.dash-guide-topbar-btn {
  background: #ffffff;
  border: 1px solid #ffffff;
  color: #1e293b;
  height: 36px;
  min-height: 36px;
  padding: 0 12px;
  box-sizing: border-box;
  border-radius: 12px;
  font-family: var(--ath-font-ui);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: background-color var(--ath-dur-fast) var(--ath-ease), color var(--ath-dur-fast) var(--ath-ease), transform var(--ath-dur-fast) var(--ath-ease);
}
.dash-guide-topbar-btn::before {
  content: '?';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #7c3aed;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.dash-guide-topbar-btn:hover { background: #f3f0ff; color: #6d28d9; }
.dash-guide-topbar-btn:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
.dash-guide-topbar-btn.active {
  background: #7c3aed;
  border-color: #ffffff;
  color: #fff;
}
.dash-guide-topbar-btn.active::before { background: #fff; color: #7c3aed; }
/* „Înapoi la Rapoarte" din raportul GHG — tot un control propriu, același stil de pastilă. */
.dash-topbar .ghg-back-btn {
  display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(255, 255, 255, 0.1); color: #fff;
  font-family: var(--ath-font-ui); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.dash-topbar .ghg-back-btn:hover { background: rgba(255, 255, 255, 0.15); color: #fff; }

/* Selectorul de limbă (steagul): buton-pictogramă 36×36 ca „Aplicațiile ATH" — transparent, contur
   1 px la 20 %, rază 12. Pe paginile de autentificare (fundal deschis) primește butonul secundar RATING. */
.dash-lang-btn {
  display: inline-flex;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--ath-on-nav-80);
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: color var(--ath-dur-fast) var(--ath-ease), background-color var(--ath-dur-fast) var(--ath-ease);
}
.dash-lang-btn:hover { background: var(--ath-on-nav-hover-bg); color: #fff; }
.dash-lang-btn:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
.dash-lang-btn img.emoji, .dash-lang-item img.emoji { display: inline-block; width: 20px !important; height: 20px !important; vertical-align: middle; }
.hidenav-lang-host .dash-lang-btn,
.page-onb .dash-lang-btn {
  background: var(--ath-bg-card);
  box-shadow: 0 0 0 1px var(--ath-border-neutral), var(--ath-shadow-xs);
  color: var(--ath-text-heading-2);
}
.hidenav-lang-host .dash-lang-btn:hover,
.page-onb .dash-lang-btn:hover { background: var(--ath-bg-subtle); }

/* Contul: avatar 36×36 (gradientul „dragon", inițiale Orbitron) + nume/email de la 768 px. */
.dash-account { position: relative; margin: 0; }
.dash-account-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: none;
  color: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}
.dash-account-btn:hover { border-color: transparent; box-shadow: none; }
.dash-account-btn:focus-visible { outline: none; }
.dash-account-btn:focus-visible .dash-account-avatar { box-shadow: var(--ath-focus-ring-on-nav); }
.dash-account-avatar {
  display: flex;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
  background: var(--ath-grad-dragon);
  color: #fff;
  font-family: var(--ath-font-heading);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4), var(--ath-shadow-xs);
  transition: transform var(--ath-dur-fast) var(--ath-ease);
}
.dash-account-btn:hover .dash-account-avatar { transform: scale(1.1); }
.dash-account-meta { display: none; min-width: 0; max-width: 220px; flex-direction: column; text-align: left; }
@media (min-width: 768px) { .dash-account-meta { display: flex; } }
.dash-account-btn:hover .dash-account-meta { opacity: 0.8; }
.dash-account-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ath-font-body); font-size: 14px; line-height: 17.5px; font-weight: 600; color: #fff; }
.dash-account-sub { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ath-font-ui); font-size: 12px; line-height: 15px; color: var(--ath-on-nav-50); }
.dash-account-caret { display: none; }

/* Ieșirea — buton alb 36×36, LogOut 16 px, hover portocaliu + scale(1.1). */
.dash-tb-logout {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #64748b;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4), var(--ath-shadow-xs);
  cursor: pointer;
  transition: transform var(--ath-dur-fast) var(--ath-ease), color var(--ath-dur-fast) var(--ath-ease);
}
.dash-tb-logout:hover { transform: scale(1.1); color: var(--ath-orange); }
.dash-tb-logout:focus-visible { outline: none; box-shadow: var(--ath-focus-ring-on-nav); }
/* Pe telefoanele înguste titlul are prioritate; ieșirea rămâne în meniul contului. */
@media (max-width: 479px) { .dash-tb-logout-form { display: none; } }

/* Bara vizitatorului (documentele legale fără cont): „Conectare" + butonul primar „Creează cont". */
.ath-pub-login { font-family: var(--ath-font-body); font-size: 14px; font-weight: 600; color: var(--ath-on-nav-70); text-decoration: none; }
.ath-pub-login:hover { color: #fff; }
.ath-pub-bar .ath-pub-register { color: #fff; }

/* ── 4. Meniurile derulante (contul, limba; comutatorul are foaia lui) — SPEC §4.9 ─────────────── */
.dash-account-menu,
.dash-lang-dropdown {
  position: absolute;
  top: 44px;
  right: 0;
  z-index: 10000;
  min-width: 240px;
  margin: 0;
  padding: 6px;
  overflow: hidden;
  border: 1px solid var(--ath-border-neutral);
  border-radius: var(--ath-radius-lg);
  background: var(--ath-bg-popover);
  box-shadow: var(--ath-shadow-popover);
  font-family: var(--ath-font-ui);
}
.dash-account-menu { display: none; }
.dash-account.open .dash-account-menu { display: block; }
.dash-lang-dropdown { min-width: 180px; }
.dash-account-head { margin: 0 0 4px; padding: 8px 12px 10px; border-bottom: 1px solid var(--ath-border-light); }
.dash-account-head-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ath-font-body); font-size: 14px; font-weight: 600; color: var(--ath-text-strong); }
.dash-account-head-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--ath-text-muted); }
.dash-account-item,
.dash-lang-item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--ath-radius-sm);
  background: none;
  color: var(--ath-text-heading-2);
  font-family: var(--ath-font-ui);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.dash-account-item:hover,
.dash-lang-item:hover { background: var(--ath-bg-subtle); color: var(--ath-text-strong); text-decoration: none; }
.dash-account-item:focus-visible,
.dash-lang-item:focus-visible { outline: none; background: var(--ath-primary-50); box-shadow: inset 0 0 0 1px var(--ath-primary-300); }
.dash-lang-item.active { background: var(--ath-primary-50); color: var(--ath-primary-hover); font-weight: 600; }
.dash-account-ic { display: inline-flex; width: 16px; color: var(--ath-text-secondary); }
.dash-account-logout, .dash-account-logout .dash-account-ic { color: var(--ath-rose-hover); }
.dash-account-logout:hover { background: var(--ath-banner-err-bg); color: var(--ath-rose-hover); }
.dash-account-sep { height: 1px; margin: 4px 0; background: var(--ath-border-light); }
/* Sub 768 px meniul de aplicații se ancorează de ECRAN, nu de buton (altfel iese din ecran). */
@media (max-width: 767px) {
  .dash-topbar .athsw-menu {
    position: fixed;
    top: calc(var(--ath-topbar-h) + 4px);
    left: 12px;
    right: 12px;
    width: auto;
    max-height: calc(100vh - var(--ath-topbar-h) - 24px);
    overflow-y: auto;
  }
  .dash-account-menu { position: fixed; top: calc(var(--ath-topbar-h) + 4px); left: auto; right: 8px; max-width: calc(100vw - 16px); }
}

/* ── 5. Antetul de pagină (`SectionHeader` din RATING) — h1/h2 Orbitron 24/32 în gradientul „nebula",
       subtitlu Inter 14 în majuscule rășfirate, bara de accent 60×3. CO₂ îl scrie diferit pe fiecare
       pagină; regulile de mai jos prind formele existente fără să rescrie șabloanele. ─────────────── */
.dash-view-content .ath-page-title,
.ath-pagina-baza > .d-flex:first-child h2,
.ath-pagina-baza > div:first-child > div:first-child > h2,
.ath-pagina-baza > h2:first-child {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  font-family: var(--ath-font-heading);
  font-size: var(--ath-fs-page-title);
  line-height: var(--ath-lh-page-title);
  font-weight: 700;
  letter-spacing: 0.025em;
  background: var(--ath-grad-nebula);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.ath-pagina-baza > .d-flex:first-child h2 + p,
.ath-pagina-baza > div:first-child > div:first-child > h2 + p,
.dash-view-content .records-subtitle {
  margin-top: 4px;
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-sm);
  line-height: var(--ath-lh-sm);
  font-weight: 400;
  letter-spacing: var(--ath-label-tracking);
  text-transform: uppercase;
  color: var(--ath-text-muted) !important;
}
.ath-pagina-baza > .d-flex:first-child,
.ath-pagina-baza > h2:first-child { position: relative; padding-bottom: 15px; margin-bottom: 24px !important; }
.ath-pagina-baza > .d-flex:first-child::after,
.ath-pagina-baza > h2:first-child::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: var(--ath-grad-underline);
}
.ath-pagina-baza { display: flex; flex-direction: column; gap: 0; padding: 0; }

/* Înregistrări: în titlu stau și pictograma, și contorul — deci violetul e plin, nu gradient pe text. */
.dash-view-content .records-title {
  font-family: var(--ath-font-heading);
  font-size: var(--ath-fs-page-title);
  line-height: var(--ath-lh-page-title);
  font-weight: 700;
  letter-spacing: 0.025em;
  color: var(--ath-primary-600);
}
.dash-view-content .records-title .records-icon { background: var(--ath-primary-50) !important; border-radius: 8px !important; }
.dash-view-content .records-title .records-icon svg { stroke: var(--ath-primary-600); }
.dash-view-content .records-count { background: var(--ath-primary-600); color: #fff; font-family: var(--ath-font-ui); font-size: 12px; line-height: 16px; padding: 2px 10px; border-radius: 9999px; letter-spacing: 0; }

/* ── 6. Componentele — SPEC §4 ──────────────────────────────────────────────────────────────────── */

/* 6.1 Butoane. Bază: Inter 600 14/20, rază 12. Primar = `.btn-cosmic` (gradient, majuscule). */
.btn {
  --bs-btn-font-family: var(--ath-font-ui);
  --bs-btn-font-weight: 600;
  --bs-btn-border-radius: var(--ath-radius);
  --bs-btn-padding-y: 9px;
  --bs-btn-padding-x: 16px;
  --bs-btn-font-size: var(--ath-fs-sm);
  --bs-btn-line-height: var(--ath-lh-sm);
  --bs-btn-focus-box-shadow: 0 0 0 3px rgba(124, 43, 238, 0.25);
  font-family: var(--ath-font-ui);
  transition: all var(--ath-dur-panel) var(--ath-ease);
}
.btn-sm {
  --bs-btn-padding-y: 4px;
  --bs-btn-padding-x: 10px;
  --bs-btn-font-size: var(--ath-fs-xs);
  --bs-btn-line-height: var(--ath-lh-xs);
  --bs-btn-border-radius: var(--ath-radius-md);
}
.btn-lg { --bs-btn-padding-y: 12px; --bs-btn-padding-x: 24px; --bs-btn-font-size: var(--ath-fs-sm); --bs-btn-border-radius: var(--ath-radius); }
.btn:disabled, .btn.disabled { opacity: 0.5; }
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: transparent;
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: transparent;
  background: var(--ath-grad-primary) !important;
  border-color: transparent !important;
  color: #fff !important;
  letter-spacing: var(--ath-btn-tracking);
  text-transform: uppercase;
  box-shadow: var(--ath-shadow-btn);
}
.btn-primary:hover:not(:disabled) { box-shadow: var(--ath-shadow-btn-hover); transform: translateY(-1px); }
.btn-primary:active:not(:disabled) { transform: none; }
.btn-primary.btn-sm { letter-spacing: 0.05em; }
.btn-secondary, .btn-light, .btn-outline-secondary, .btn-outline-dark {
  --bs-btn-color: var(--ath-text-heading-2);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--ath-border-neutral);
  --bs-btn-hover-color: var(--ath-text-strong);
  --bs-btn-hover-bg: var(--ath-bg-subtle);
  --bs-btn-hover-border-color: var(--ath-border-neutral);
  --bs-btn-active-color: var(--ath-text-strong);
  --bs-btn-active-bg: #f1f5f9;
  --bs-btn-active-border-color: var(--ath-border-neutral);
  --bs-btn-disabled-color: var(--ath-text-secondary);
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: var(--ath-border-neutral);
}
.btn-outline-primary, .btn-outline-info, .btn-link {
  --bs-btn-color: var(--ath-primary-600);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--ath-border-accent);
  --bs-btn-hover-color: var(--ath-primary-600);
  --bs-btn-hover-bg: var(--ath-primary-50);
  --bs-btn-hover-border-color: var(--ath-border-accent);
  --bs-btn-active-color: var(--ath-primary-active);
  --bs-btn-active-bg: var(--ath-primary-100);
  --bs-btn-active-border-color: var(--ath-primary-200);
  --bs-btn-disabled-color: var(--ath-primary-600);
  --bs-btn-disabled-border-color: var(--ath-border-accent);
}
.btn-link { --bs-btn-border-color: transparent; --bs-btn-hover-border-color: transparent; text-decoration: none; }
.btn-danger {
  --bs-btn-color: #fff; --bs-btn-bg: var(--ath-rose); --bs-btn-border-color: var(--ath-rose);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--ath-rose-hover); --bs-btn-hover-border-color: var(--ath-rose-hover);
  --bs-btn-active-bg: #be123c; --bs-btn-active-border-color: #be123c;
}
.btn-outline-danger {
  --bs-btn-color: var(--ath-rose-hover); --bs-btn-bg: #fff1f2; --bs-btn-border-color: #fecdd3;
  --bs-btn-hover-color: var(--ath-rose-hover); --bs-btn-hover-bg: #ffe4e6; --bs-btn-hover-border-color: #fecdd3;
  --bs-btn-active-color: #be123c; --bs-btn-active-bg: #ffe4e6; --bs-btn-active-border-color: #fda4af;
}
.btn-success {
  --bs-btn-color: #fff; --bs-btn-bg: #15803d; --bs-btn-border-color: #15803d;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #166534; --bs-btn-hover-border-color: #166534;
}
.btn-outline-success {
  --bs-btn-color: #15803d; --bs-btn-bg: #fff; --bs-btn-border-color: #bbf7d0;
  --bs-btn-hover-color: #166534; --bs-btn-hover-bg: #f0fdf4; --bs-btn-hover-border-color: #86efac;
}
.btn-warning {
  --bs-btn-color: #713f12; --bs-btn-bg: #fef9c3; --bs-btn-border-color: #fde68a;
  --bs-btn-hover-color: #713f12; --bs-btn-hover-bg: #fef08a; --bs-btn-hover-border-color: #fcd34d;
}
.btn-outline-warning {
  --bs-btn-color: #a16207; --bs-btn-bg: #fff; --bs-btn-border-color: #fde68a;
  --bs-btn-hover-color: #854d0e; --bs-btn-hover-bg: #fefce8; --bs-btn-hover-border-color: #fcd34d;
}
.btn-dark {
  --bs-btn-color: #fff; --bs-btn-bg: var(--ath-primary-hover); --bs-btn-border-color: var(--ath-primary-hover);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--ath-primary-active); --bs-btn-hover-border-color: var(--ath-primary-active);
}

/* 6.2 Câmpuri = `.input-scifi`: 46 px, Exo 2 14/20, rază 12, bordură #dcdae7, focus violet cu inel. */
.form-control, .form-select {
  min-height: var(--ath-control-h);
  padding: 12px 16px;
  border: 1px solid var(--ath-border);
  border-radius: var(--ath-radius);
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--ath-text);
  font-family: var(--ath-font-body);
  font-size: var(--ath-fs-sm);
  line-height: var(--ath-lh-sm);
  transition: border-color var(--ath-dur-panel) var(--ath-ease), box-shadow var(--ath-dur-panel) var(--ath-ease), background-color var(--ath-dur-panel) var(--ath-ease);
}
.form-select { padding-right: 40px; background-position: right 12px center; background-size: 16px 12px; }
.form-control-sm, .form-select-sm { min-height: 34px; padding-top: 6px; padding-bottom: 6px; font-size: 13px; border-radius: var(--ath-radius-md); }
.form-select-sm { padding-right: 32px; }
textarea.form-control { min-height: 96px; }
.form-control::placeholder { color: var(--ath-text-muted); }
.form-control:focus, .form-select:focus {
  border-color: var(--ath-primary);
  background-color: #fff;
  box-shadow: var(--ath-focus-ring);
  outline: none;
}
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--ath-bg-muted); }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--ath-danger); }
.form-control.is-invalid:focus, .form-select.is-invalid:focus { box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12); }
.form-label {
  margin-bottom: 4px;
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-xs);
  line-height: var(--ath-lh-xs);
  font-weight: 600;
  letter-spacing: var(--ath-label-tracking);
  text-transform: uppercase;
  color: var(--ath-text-muted);
}
.form-text { font-family: var(--ath-font-body); font-size: 12px; color: var(--ath-text-muted); }
.form-check-input { border-color: #cbd5e1; }
.form-check-input:checked { background-color: var(--ath-primary-600); border-color: var(--ath-primary-600); }
.form-check-input:focus { border-color: var(--ath-primary-400); box-shadow: 0 0 0 3px rgba(124, 43, 238, 0.15); }
.form-switch .form-check-input:checked { background-color: var(--ath-primary-hover); border-color: var(--ath-primary-hover); }
.input-group-text { border-color: var(--ath-border); border-radius: var(--ath-radius); background: var(--ath-bg-subtle); color: var(--ath-text-secondary); font-size: 14px; }

/* 6.3 Carduri = `.card-cosmic`: rază 12, gradient alb→#ededf2, bordură #dcdae7, umbra de card. */
.card,
.dash-card:not(.dash-scope-card--hero) {
  border: 1px solid var(--ath-border);
  border-radius: var(--ath-radius);
  background: var(--ath-bg-card-grad);
  box-shadow: var(--ath-shadow-card);
  color: var(--ath-text);
}
.card { --bs-card-border-radius: var(--ath-radius); --bs-card-inner-border-radius: calc(var(--ath-radius) - 1px); --bs-card-cap-bg: transparent; --bs-card-border-color: var(--ath-border); overflow: hidden; }
.card-header {
  padding: 16px 24px;
  border-bottom: 1px solid var(--ath-border);
  background: transparent;
  font-family: var(--ath-font-heading);
  font-size: var(--ath-fs-h4);
  line-height: var(--ath-lh-h4);
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--ath-text-heading-2);
}
.card-body { padding: 24px; }
@media (max-width: 639px) { .card-body { padding: 16px; } }
.card-title, .dash-card-title {
  font-family: var(--ath-font-heading);
  letter-spacing: 0.025em;
  color: var(--ath-text-heading-2);
}
.dash-card-title { font-family: var(--ath-font-ui); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: var(--ath-label-tracking); text-transform: uppercase; }
/* Cardurile „hero" întunecate (tabloul de bord): bannerul hero din RATING — rază 16, gradientul
   #0f172a → #1e1b4b → #2e1065, textul alb rămâne. */
.dash-scope-card--hero,
.dash-herobar {
  border: 0;
  border-radius: var(--ath-radius-lg) !important;
  background: linear-gradient(to bottom right, #0f172a, #1e1b4b, #2e1065) !important;
  box-shadow: var(--ath-shadow-card);
}
.shadow-sm { box-shadow: var(--ath-shadow-card) !important; }

/* 6.4 Tabele (forma canonică RATING §4.4): cap cu fundal violet foarte deschis, majuscule estompate,
   rânduri fără zebră, hover discret. */
.table {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-hover-bg: rgba(248, 250, 252, 0.7);
  --bs-table-border-color: var(--ath-border);
  --bs-table-color: var(--ath-text);
  font-family: var(--ath-font-body);
  font-size: var(--ath-fs-sm);
  line-height: var(--ath-lh-sm);
}
.table > thead > tr > th,
.table > thead > tr > td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--ath-border);
  background: var(--ath-bg-thead);
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-xs);
  line-height: var(--ath-lh-xs);
  font-weight: 600;
  letter-spacing: var(--ath-label-tracking);
  text-transform: uppercase;
  color: var(--ath-text-muted);
  vertical-align: middle;
}
.table > tbody > tr > td,
.table > tbody > tr > th { padding: 12px 16px; vertical-align: middle; }
.table-sm > thead > tr > th, .table-sm > tbody > tr > td { padding: 8px 12px; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: transparent; }
.table > tbody > tr:hover > * { --bs-table-bg-state: rgba(248, 250, 252, 0.7); }
.table-light { --bs-table-bg: var(--ath-bg-thead); --bs-table-color: var(--ath-text-muted); }

/* 6.5 Insigne (`Badge` din RATING): pastilă, 12/16, 500; culorile de stare cu contrast ≥ 4,5:1. */
.badge {
  --bs-badge-border-radius: 9999px;
  --bs-badge-font-weight: 600;
  --bs-badge-padding-x: 10px;
  --bs-badge-padding-y: 3px;
  --bs-badge-font-size: 12px;
  font-family: var(--ath-font-ui);
  line-height: 16px;
  letter-spacing: 0.02em;
}
.badge.bg-success, .badge.text-bg-success { background: var(--ath-success-bg) !important; color: var(--ath-success-text) !important; }
.badge.bg-warning, .badge.text-bg-warning { background: var(--ath-warning-bg) !important; color: var(--ath-warning-text) !important; }
.badge.bg-danger, .badge.text-bg-danger { background: var(--ath-danger-bg) !important; color: var(--ath-danger-text) !important; }
.badge.bg-info, .badge.text-bg-info, .badge.bg-primary, .badge.text-bg-primary { background: var(--ath-info-bg) !important; color: var(--ath-info-text) !important; }
.badge.bg-secondary, .badge.text-bg-secondary, .badge.bg-light, .badge.text-bg-light, .badge.bg-dark { background: var(--ath-neutral-bg) !important; color: var(--ath-neutral-text) !important; }
/* Verdele și galbenul de stare scrise ca TEXT pe alb: nuanțele de text ale insignelor (≥ 4,5:1). */
.text-success { color: var(--ath-success-text) !important; }
.text-warning { color: var(--ath-warning-text) !important; }
.text-danger { color: var(--ath-danger-text) !important; }
.text-info { color: var(--ath-info-text) !important; }
.text-primary { color: var(--ath-primary-600) !important; }

/* 6.6 File (`TabNav`): pastile într-un container alb; activa violet plin. */
.nav-tabs, .nav-pills {
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--ath-border-neutral);
  border-radius: var(--ath-radius);
  background: #fff;
}
.nav-tabs { --bs-nav-tabs-border-width: 0; }
.nav-tabs .nav-link, .nav-pills .nav-link {
  margin: 0;
  padding: 8px 16px;
  border: 0;
  border-radius: var(--ath-radius);
  color: var(--ath-text-secondary);
  font-family: var(--ath-font-ui);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}
.nav-tabs .nav-link:hover, .nav-pills .nav-link:hover { background: #f1f5f9; color: var(--ath-text-heading-2); }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link, .nav-pills .nav-link.active { background: var(--ath-primary-600); color: #fff; border: 0; }

/* 6.7 Bannere / alerte (§4.13). */
.alert {
  --bs-alert-border-radius: var(--ath-radius);
  --bs-alert-padding-x: 16px;
  --bs-alert-padding-y: 10px;
  font-family: var(--ath-font-body);
  font-size: 14px;
}
.alert-warning { --bs-alert-bg: var(--ath-banner-warn-bg); --bs-alert-border-color: var(--ath-banner-warn-border); --bs-alert-color: var(--ath-banner-warn-text); }
.alert-info, .alert-primary { --bs-alert-bg: var(--ath-banner-info-bg); --bs-alert-border-color: var(--ath-banner-info-border); --bs-alert-color: #334155; }
.alert-danger { --bs-alert-bg: var(--ath-banner-err-bg); --bs-alert-border-color: var(--ath-banner-err-border); --bs-alert-color: var(--ath-banner-err-text); }
.alert-success { --bs-alert-bg: #f0fdf4; --bs-alert-border-color: #bbf7d0; --bs-alert-color: #15803d; }
.alert-secondary, .alert-light { --bs-alert-bg: var(--ath-bg-subtle); --bs-alert-border-color: var(--ath-border-neutral); --bs-alert-color: var(--ath-text-heading-2); }

/* 6.8 Meniurile derulante Bootstrap. */
.dropdown-menu {
  --bs-dropdown-border-radius: var(--ath-radius-lg);
  --bs-dropdown-border-color: var(--ath-border-neutral);
  --bs-dropdown-box-shadow: var(--ath-shadow-popover);
  --bs-dropdown-link-active-bg: var(--ath-primary-50);
  --bs-dropdown-link-active-color: var(--ath-primary-hover);
  --bs-dropdown-link-hover-bg: var(--ath-bg-subtle);
  padding: 6px;
  box-shadow: var(--ath-shadow-popover);
  font-family: var(--ath-font-ui);
  font-size: 14px;
}
.dropdown-item { border-radius: var(--ath-radius-sm); }

/* 6.9 Modalul Bootstrap (448 px, rază 16, padding 24, titlu Orbitron 18). */
.modal {
  --bs-modal-border-radius: var(--ath-radius-lg);
  --bs-modal-border-color: var(--ath-border-neutral);
  --bs-modal-box-shadow: var(--ath-shadow-popover);
  --bs-modal-padding: 24px;
  --bs-modal-header-padding: 24px 24px 0;
  --bs-modal-header-border-width: 0;
  --bs-modal-footer-border-width: 0;
  --bs-modal-width: 448px;
}
.modal-backdrop { --bs-backdrop-bg: #000; --bs-backdrop-opacity: 0.4; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.modal-title { font-family: var(--ath-font-heading); font-size: var(--ath-fs-h3); line-height: var(--ath-lh-h3); font-weight: 700; color: var(--ath-text-strong); }

/* Modalurile proprii ale paginilor (Înregistrări: editare / import CSV / scanare; Utilizatori: confirmare;
   Formularul: asistentul AI) — suprapunerea și panoul RATING. Comportamentul (Escape, role=dialog) e în pagini. */
.edit-modal-overlay, .scan-modal-overlay, .modal-overlay, .ai-modal-overlay {
  background: var(--ath-overlay-modal) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}
.edit-modal, .scan-modal, .modal-box, .ai-modal {
  border: 1px solid var(--ath-border-neutral) !important;
  border-radius: var(--ath-radius-lg) !important;
  background: var(--ath-bg-popover) !important;
  box-shadow: var(--ath-shadow-popover) !important;
  font-family: var(--ath-font-body);
}
.edit-modal-title, .scan-modal-title, .modal-box .modal-title, .ai-modal-header h3 {
  font-family: var(--ath-font-heading) !important;
  font-size: var(--ath-fs-h3) !important;
  line-height: var(--ath-lh-h3) !important;
  font-weight: 700 !important;
  color: var(--ath-text-strong) !important;
}
.edit-modal-header, .scan-modal-header, .ai-modal-header { background: transparent !important; border-bottom: 1px solid var(--ath-border-light) !important; color: var(--ath-text-strong) !important; }
.edit-modal-close, .scan-modal-close, .ai-modal-close { border-radius: var(--ath-radius) !important; color: var(--ath-text-secondary) !important; background: transparent !important; }
.edit-modal-close:hover, .scan-modal-close:hover, .ai-modal-close:hover { background: var(--ath-bg-subtle) !important; color: var(--ath-text-strong) !important; }
.modal-btn { border-radius: var(--ath-radius) !important; font-family: var(--ath-font-ui) !important; font-weight: 600 !important; }
.modal-btn-cancel { border: 1px solid var(--ath-border-neutral) !important; background: #fff !important; color: var(--ath-text-heading-2) !important; }
.modal-btn-cancel:hover { background: var(--ath-bg-subtle) !important; }

/* ── 7. Toast și mesajele flash — sus-dreapta, 356 px, rază 12, în Exo 2 (în RATING fontul de sistem
       era un defect de necopiat). Culorile `richColors` ale sonner. ─────────────────────────────── */
.dash-toast {
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  width: 356px;
  max-width: calc(100vw - 32px);
  padding: 16px !important;
  border: 1px solid rgba(99, 102, 241, 0.15) !important;
  border-radius: var(--ath-radius) !important;
  box-shadow: var(--ath-shadow-toast) !important;
  font-family: var(--ath-font-body);
  font-size: 13px !important;
  font-weight: 500 !important;
  transform: none;
}
.dash-toast.enter { animation: athToastIn 0.3s var(--ath-ease) forwards !important; }
.dash-toast.exit { animation: athToastOut 0.3s var(--ath-ease) forwards !important; }
.dash-toast.success { background: #ecfdf3 !important; border-color: #bffcd9 !important; color: #008a2e !important; }
.dash-toast.error { background: #fff0f0 !important; border-color: #ffe0e1 !important; color: #e60000 !important; }
.dash-toast.warning { background: #fffcf0 !important; border-color: #fdf5d3 !important; color: #a16207 !important; }
.dash-toast.info { background: #f0f8ff !important; border-color: #d3e0fd !important; color: #0973dc !important; }
.dash-toast-icon { background: transparent !important; color: inherit; }
@keyframes athToastIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@keyframes athToastOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-12px); } }
.app-flash-stack { top: 16px; right: 16px; left: auto; transform: none; width: min(356px, calc(100vw - 32px)); }
.app-flash { border-radius: var(--ath-radius); box-shadow: var(--ath-shadow-toast) !important; font-family: var(--ath-font-body); font-size: 13px; font-weight: 500; animation: athToastIn 0.3s var(--ath-ease); }

/* ── 8. Tipărirea: zona de conținut derulează singură pe ecran; pe hârtie trebuie să curgă. ─────── */
@media print {
  html:has(body.dashboard-body), body.dashboard-body { height: auto; overflow: visible; }
  .dash-shell, .dash-main { display: block; height: auto !important; overflow: visible !important; padding: 0; background: none; }
  .dash-sidebar, .dash-topbar, .dash-sidebar-overlay, .ath-pub-bar { display: none !important; }
  .btn-primary::after { display: none; }
}

/* Pictogramele barei laterale — lucide-react 0.378 (aceeași versiune ca RATING), ca măști SVG. Generate cu
   co2ui/gen/icons.py; numele claselor (icon-grid, icon-list …) rămân cele vechi, folosite de ambele bare. */
.dash-sidebar .dash-nav-icon.icon-grid { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-list { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' x2='21' y1='6' y2='6'/%3E%3Cline x1='8' x2='21' y1='12' y2='12'/%3E%3Cline x1='8' x2='21' y1='18' y2='18'/%3E%3Cline x1='3' x2='3.01' y1='6' y2='6'/%3E%3Cline x1='3' x2='3.01' y1='12' y2='12'/%3E%3Cline x1='3' x2='3.01' y1='18' y2='18'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-globe { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-flame { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-bolt { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-diagram { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='16' y='16' width='6' height='6' rx='1'/%3E%3Crect x='2' y='16' width='6' height='6' rx='1'/%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Cpath d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'/%3E%3Cpath d='M12 12V8'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-arrow-up { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-arrow-down { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-clipboard { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4'/%3E%3Cpath d='M12 16h4'/%3E%3Cpath d='M8 11h.01'/%3E%3Cpath d='M8 16h.01'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-badge { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-cart { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-chart { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' x2='18' y1='20' y2='10'/%3E%3Cline x1='12' x2='12' y1='20' y2='4'/%3E%3Cline x1='6' x2='6' y1='20' y2='14'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-users { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-gear { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-user { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-plus { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-map { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/%3E%3Cpath d='M15 5.764v15'/%3E%3Cpath d='M9 3.236v15'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-file { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-doc { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 5-3-3H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2'/%3E%3Cpath d='M8 18h1'/%3E%3Cpath d='M18.4 9.6a2 2 0 1 1 3 3L17 17l-4 1 1-4Z'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-stack { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-building { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4'/%3E%3Cpath d='M10 10h4'/%3E%3Cpath d='M10 14h4'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-history { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-upload { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' x2='12' y1='3' y2='15'/%3E%3C/svg%3E"); }
.dash-sidebar .dash-nav-icon.icon-sliders { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }


/* ── 6.10 Componentele proprii ale paginilor CO₂, pe aceleași valori (doar culori, raze, fonturi,
        umbre — așezarea rămâne a paginii). Prefixul `.dash-view-content` le ridică deasupra regulilor
        din blocurile <style> ale paginilor. ─────────────────────────────────────────────────────── */
/* Butoane primare. */
.dash-view-content .records-btn-primary,
.dash-view-content .filter-btn-apply,
.dash-view-content .scan-btn-primary,
.dash-view-content .edit-btn-save,
.dash-view-content .uz-btn-primar,
.dash-view-content .add-user-btn,
.dash-main .scan-btn-primary,
.dash-main .edit-btn-save {
  border: 0;
  border-radius: var(--ath-radius);
  background: var(--ath-grad-primary);
  color: #fff;
  font-family: var(--ath-font-ui);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: var(--ath-shadow-btn);
}
.dash-view-content .records-btn-primary:hover,
.dash-view-content .filter-btn-apply:hover,
.dash-view-content .uz-btn-primar:hover,
.dash-view-content .add-user-btn:hover,
.dash-main .scan-btn-primary:hover,
.dash-main .edit-btn-save:hover { background: var(--ath-grad-primary); color: #fff; box-shadow: var(--ath-shadow-btn-hover); transform: translateY(-1px); }
.dash-view-content .uz-btn-primar:disabled { background: #cbd5e1; box-shadow: none; transform: none; }
/* Butoane secundare / contur. */
.dash-view-content .records-btn-secondary,
.dash-view-content .records-btn:not(.records-btn-primary),
.dash-view-content .filter-btn-reset,
.dash-view-content .uz-btn-sec,
.dash-main .scan-btn-secondary,
.dash-main .edit-btn-cancel {
  border: 1px solid var(--ath-border-neutral);
  border-radius: var(--ath-radius);
  background: #fff;
  color: var(--ath-text-heading-2);
  font-family: var(--ath-font-ui);
  font-weight: 600;
  box-shadow: var(--ath-shadow-xs);
}
.dash-view-content .records-btn-secondary:hover,
.dash-view-content .records-btn:not(.records-btn-primary):hover,
.dash-view-content .filter-btn-reset:hover,
.dash-view-content .uz-btn-sec:hover,
.dash-main .scan-btn-secondary:hover,
.dash-main .edit-btn-cancel:hover { background: var(--ath-bg-subtle); border-color: var(--ath-border-neutral); color: var(--ath-text-strong); }
/* Paginarea (contur accent). */
.dash-view-content .pagination-btn { border: 1px solid var(--ath-border-accent); border-radius: var(--ath-radius); background: #fff; color: var(--ath-primary-600); font-family: var(--ath-font-ui); font-weight: 600; }
.dash-view-content .pagination-btn:hover:not(:disabled) { background: var(--ath-primary-50); border-color: var(--ath-border-accent); color: var(--ath-primary-600); }
.dash-view-content .pagination-btn.active, .dash-view-content .pagination-btn[aria-current] { background: var(--ath-primary-600); border-color: var(--ath-primary-600); color: #fff; }
/* Legături-buton. */
.dash-view-content .uz-link-btn { color: var(--ath-primary-600); }

/* Filele subliniate (Utilizatori, Contul meu) — varianta „Subliniat" din `TabNav`. */
.dash-view-content .utab,
.dash-view-content .acct-tab {
  font-family: var(--ath-font-ui);
  font-size: 14px;
  font-weight: 500;
  color: var(--ath-text-muted);
  border-radius: 0;
}
.dash-view-content .utab:hover,
.dash-view-content .acct-tab:hover { color: #475569; background: transparent; }
.dash-view-content .utab.active,
.dash-view-content .acct-tab.active { color: var(--ath-primary-hover); border-bottom-color: var(--ath-primary-600); }

/* Cardurile proprii (Înregistrări, Rapoarte, filtre). */
.dash-view-content .records-filters,
.dash-view-content .records-summary-card,
.dash-view-content .records-table-wrapper,
.dash-view-content .report-card,
.dash-view-content .reports-filter-card {
  border: 1px solid var(--ath-border);
  border-radius: var(--ath-radius);
  background: var(--ath-bg-card-grad);
  box-shadow: var(--ath-shadow-card);
}
.dash-view-content .records-table-wrapper { background: #fff; }
.dash-view-content .summary-card-label { font-family: var(--ath-font-ui); font-weight: 600; letter-spacing: var(--ath-label-tracking); color: var(--ath-text-muted); }
.dash-view-content .summary-card-value { font-family: var(--ath-font-heading); font-weight: 700; }
.dash-view-content .records-summary-card:not(.summary-card-highlight) .summary-card-value { color: var(--ath-text-strong); }
.dash-view-content .summary-card-highlight { border: 0; background: linear-gradient(to bottom right, #0f172a, #1e1b4b, #2e1065); }
.dash-view-content .summary-card-highlight .summary-card-label { color: rgba(255, 255, 255, 0.8); }

/* Tabelul de înregistrări: capul canonic RATING. */
.dash-view-content .records-table thead { background: var(--ath-bg-thead); }
.dash-view-content .records-table th {
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-xs);
  font-weight: 600;
  letter-spacing: var(--ath-label-tracking);
  color: var(--ath-text-muted);
  border-bottom: 1px solid var(--ath-border);
}
.dash-view-content .records-table td { border-bottom-color: var(--ath-border); }

/* Tabelele tabloului de bord (`.dash-table`): capul era un gradient albastru plin. */
.dash-table thead th,
.dash-table thead tr {
  background: var(--ath-bg-thead) !important;
  color: var(--ath-text-muted) !important;
  font-family: var(--ath-font-ui);
  font-size: var(--ath-fs-xs);
  font-weight: 600;
  letter-spacing: var(--ath-label-tracking);
  text-transform: uppercase;
  border-bottom: 1px solid var(--ath-border);
}

/* Formularul de emisii: titlurile de secțiune = titlul de card RATING (h4 Orbitron 14/600 #334155). */
.dash-view-content .section-title {
  font-family: var(--ath-font-heading);
  font-size: var(--ath-fs-h4);
  line-height: var(--ath-lh-h4);
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--ath-text-heading-2);
}

/* Rapoarte: intervalele rapide = cipuri selectabile RATING; acțiunea principală = butonul primar. */
.dash-view-content .preset-btn {
  border: 1px solid var(--ath-border-neutral);
  border-radius: 9999px;
  background: #fff;
  color: var(--ath-text-secondary);
  font-family: var(--ath-font-ui);
  font-weight: 600;
}
.dash-view-content .preset-btn:hover { border-color: var(--ath-primary-300); background: var(--ath-primary-50); color: var(--ath-primary-active); }
.dash-view-content .preset-btn-active { border-color: var(--ath-primary-600); background: var(--ath-primary-50); color: var(--ath-primary-active); }
.dash-view-content .report-btn { border-radius: var(--ath-radius); font-family: var(--ath-font-ui); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }

/* Drepturile de acces (Utilizatori): bifa violet, ca checkbox-ul custom din RATING. */
.perm-chip:hover { border-color: var(--ath-primary-300); background: var(--ath-primary-50); }
.perm-chip input:checked ~ .perm-box { background: var(--ath-primary-600); border-color: var(--ath-primary-600); }
.perm-chip:has(input:checked) { border-color: var(--ath-primary-600); background: var(--ath-primary-50); }
.perm-chip:has(input:checked) .perm-label { color: var(--ath-primary-active); }

/* Tabloul de bord (React): butoanele proprii pe aceleași variante RATING. */
.dash-link-btn { color: var(--ath-primary-600); font-family: var(--ath-font-ui); font-weight: 600; }
.dash-link-btn:hover { color: var(--ath-primary-active); }
.dash-link-btn--rau { color: var(--ath-danger-text); }
.dash-link-btn--rau:hover { color: #7f1d1d; }
.dash-report-btn,
.dash-page-btn,
.sc-gol-btn:not(.sc-gol-btn-principal) {
  border: 1px solid var(--ath-border-accent);
  border-radius: var(--ath-radius);
  background: #fff;
  color: var(--ath-primary-600);
  font-family: var(--ath-font-ui);
  font-weight: 600;
}
.dash-report-btn:hover,
.dash-page-btn:hover:not(:disabled),
.sc-gol-btn:not(.sc-gol-btn-principal):hover { background: var(--ath-primary-50); border-color: var(--ath-border-accent); color: var(--ath-primary-600); }
.dash-page-btn.active { background: var(--ath-primary-600); border-color: var(--ath-primary-600); color: #fff; }
.dash-esg-btn,
.dash-consult-btn,
.sc-gol-btn-principal {
  border: 0;
  border-radius: var(--ath-radius);
  background: var(--ath-grad-primary);
  color: #fff;
  font-family: var(--ath-font-ui);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: var(--ath-shadow-btn);
}
.dash-esg-btn:hover,
.dash-consult-btn:hover,
.sc-gol-btn-principal:hover { background: var(--ath-grad-primary); color: #fff; box-shadow: var(--ath-shadow-btn-hover); }
.dash-period-btn,
.dash-year-btn {
  border: 1px solid var(--ath-border-neutral);
  background: #fff;
  color: var(--ath-text-heading-2);
  font-family: var(--ath-font-ui);
  font-weight: 600;
  box-shadow: var(--ath-shadow-xs);
}
.dash-period-btn:hover,
.dash-year-btn:hover { background: var(--ath-bg-subtle); border-color: var(--ath-border-neutral); }
