/* ============================================================
   CEMARK skin 2026 — portal clienti (v2/) si admin (v2/admin/)
   Se incarca DUPA temele existente (gebo / Bootstrap 2) si le
   suprascrie doar vizual: paleta UE (albastru + auriu), fonturi
   moderne, colturi rotunjite, umbre fine. Zero schimbari de markup.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --sk-bg: #f4f7fd;
  --sk-card: #ffffff;
  --sk-ink: #0e1f47;
  --sk-text: #223257;
  --sk-dim: #51618a;
  --sk-faint: #8391b0;
  --sk-blue: #123c96;
  --sk-blue-2: #2160d3;
  --sk-gold: #f2b705;
  --sk-grad: linear-gradient(92deg, #123c96 0%, #2160d3 100%);
  --sk-stroke: #e1e8f5;
  --sk-stroke-2: #cdd9ee;
  --sk-tint: #eaf1fb;
  --sk-shadow: 0 8px 26px rgba(14, 31, 71, 0.07);
  --sk-shadow-lg: 0 20px 55px rgba(14, 31, 71, 0.13);
}

/* ---------- baza ---------- */
body {
  background: var(--sk-bg) !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
  color: var(--sk-text);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, .heading {
  font-family: "Space Grotesk", "Inter", sans-serif !important;
  color: var(--sk-ink);
  letter-spacing: -0.3px;
}
a { color: var(--sk-blue-2); }
a:hover { color: var(--sk-blue); }

/* ---------- bara de sus ---------- */
.navbar-inner,
.navbar .navbar-inner,
.navbar-fixed-top .navbar-inner {
  background: var(--sk-grad) !important;
  background-image: var(--sk-grad) !important;
  border: 0 !important;
  box-shadow: 0 6px 22px rgba(18, 60, 150, 0.30) !important;
  filter: none !important;
}
.navbar .brand {
  color: #fff !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  letter-spacing: 0.4px;
}
.navbar .brand .sml_t { color: rgba(255, 255, 255, 0.65) !important; font-weight: 400; }
.navbar .nav > li > a {
  color: #fff !important; text-shadow: none !important;
  transition: background 0.2s;
}
.navbar .nav > li > a:hover, .navbar .nav li.dropdown.open > .dropdown-toggle {
  background: rgba(255, 255, 255, 0.14) !important;
  border-radius: 9px;
  color: #fff !important;
}
.navbar .divider-vertical { border-color: rgba(255, 255, 255, 0.18) !important; background: none !important; }
.navbar .badge {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.30);
  border-radius: 999px !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.navbar .dropdown-menu {
  border-radius: 12px !important;
  border: 1px solid var(--sk-stroke) !important;
  box-shadow: var(--sk-shadow-lg) !important;
  padding: 6px !important;
}
.navbar .dropdown-menu li > a {
  border-radius: 8px !important; color: var(--sk-text) !important;
  padding: 7px 12px !important;
}
.navbar .dropdown-menu li > a:hover {
  background: var(--sk-tint) !important; color: var(--sk-blue) !important;
  filter: none !important;
}

/* ---------- breadcrumbs ---------- */
.breadCrumb, #jCrumbs {
  background: var(--sk-card) !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 12px !important;
  box-shadow: var(--sk-shadow) !important;
}
.breadCrumb ul li a { color: var(--sk-dim) !important; }
.breadCrumb ul li a:hover { color: var(--sk-blue) !important; }

/* ---------- sidebar ---------- */
.sidebar_inner, .sidebar { background: transparent !important; border: 0 !important; }
.sidebar .accordion-group, .accordion-group {
  background: var(--sk-card) !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 14px !important;
  box-shadow: var(--sk-shadow) !important;
  overflow: hidden;
  margin-bottom: 12px !important;
}
.accordion-heading { background: transparent !important; border: 0 !important; }
.accordion-heading .accordion-togglelink, .accordion-heading a {
  color: var(--sk-ink) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
.accordion-inner { border-top: 1px solid var(--sk-stroke) !important; }
.sidebar .nav-list > li > a, .nav-list > li > a {
  color: var(--sk-dim) !important;
  border-radius: 9px !important;
  margin: 1px 6px !important;
  text-shadow: none !important;
  transition: background 0.18s, color 0.18s;
}
.sidebar .nav-list > li > a:hover, .nav-list > li > a:hover {
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
}
.sidebar .nav-list > li.active > a, .nav-list > li.active > a {
  background: var(--sk-grad) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(18, 60, 150, 0.30) !important;
  border: 0 !important;
}
.sidebar .nav-list .badge, .nav-list .badge {
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
  border-radius: 999px !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}
.sidebar .nav-list > li.active > a .badge { background: rgba(255,255,255,0.2) !important; color: #fff !important; }
.sidebar_info {
  background: var(--sk-card) !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 14px !important;
  box-shadow: var(--sk-shadow) !important;
  color: var(--sk-dim) !important;
}

/* panoul 3389 (style_switcher) */
.style_switcher {
  background: var(--sk-grad) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: var(--sk-shadow-lg) !important;
  border: 0 !important;
}
.style_switcher a { color: #fff !important; text-decoration: underline; }

/* ---------- continut / titluri ---------- */
.heading {
  font-size: 22px !important;
  font-weight: 700 !important;
  border: 0 !important;
  padding-bottom: 10px !important;
  position: relative;
}
.heading::after {
  content: ""; display: block; width: 44px; height: 3px;
  border-radius: 3px; background: var(--sk-grad); margin-top: 8px;
}

/* ---------- tabele ---------- */
.table {
  background: var(--sk-card) !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 12px !important;
  box-shadow: var(--sk-shadow);
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
}
.table th,
table.table thead th,
table.dTableR thead th,
.dTableR th.sorting, .dTableR th.sorting_asc, .dTableR th.sorting_desc {
  /* doar background-color, ca sa NU stergem sagetile de sortare (background-image) */
  background-color: var(--sk-tint) !important;
  color: var(--sk-ink) !important;
  font-weight: 600 !important;
  border-color: var(--sk-stroke) !important;
  text-shadow: none !important;
  font-size: 12.5px;
  letter-spacing: 0.2px;
}
.table th, .table td { border-left: 0 !important; border-right: 0 !important; }
.table td { border-color: var(--sk-stroke) !important; color: var(--sk-text); vertical-align: middle !important; }
.table-striped tbody tr:nth-child(odd) td { background: #fafcff !important; }
.table tbody tr:hover td { background: #f1f6ff !important; }
.table a { color: var(--sk-blue-2); font-weight: 500; }
.table-bordered { border: 1px solid var(--sk-stroke) !important; }

/* sortare DataTables */
.dTableR th.sorting, .dTableR th.sorting_asc, .dTableR th.sorting_desc { background-position: right 12px center !important; }

/* controale DataTables */
.dataTables_wrapper .dataTables_filter input,
.dataTables_filter input {
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 10px !important;
  padding: 6px 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.dataTables_filter input:focus {
  border-color: var(--sk-blue-2) !important;
  box-shadow: 0 0 0 3px rgba(33, 96, 211, 0.14) !important;
  outline: none !important;
}
.dataTables_length select {
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 10px !important;
  padding: 5px 8px !important;
  background: #fff !important;
}
.dataTables_info { color: var(--sk-faint) !important; }
.dataTables_processing {
  background: #fff !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 12px !important;
  box-shadow: var(--sk-shadow-lg) !important;
  color: var(--sk-blue) !important;
  font-weight: 600;
}

/* paginare */
.pagination ul { box-shadow: none !important; border-radius: 10px; }
.pagination ul > li > a, .pagination ul > li > span {
  border-color: var(--sk-stroke) !important;
  color: var(--sk-dim) !important;
  background: #fff !important;
  padding: 5px 12px !important;
  transition: background 0.15s, color 0.15s;
}
.pagination ul > li > a:hover { background: var(--sk-tint) !important; color: var(--sk-blue) !important; }
.pagination ul > li.active > a, .pagination ul > li.active > span {
  background: var(--sk-grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.pagination ul > li:first-child > a { border-radius: 10px 0 0 10px !important; }
.pagination ul > li:last-child > a { border-radius: 0 10px 10px 0 !important; }

/* ---------- butoane ---------- */
.btn {
  border-radius: 10px !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  background-image: none !important;
  background: #fff;
  border: 1px solid var(--sk-stroke-2);
  color: var(--sk-blue);
  box-shadow: 0 2px 8px rgba(14, 31, 71, 0.05) !important;
  transition: transform 0.14s, box-shadow 0.18s, background 0.18s;
}
.btn:hover { background: var(--sk-tint); color: var(--sk-blue); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary, .btn-inverse, .btn-success, .btn-info {
  background: var(--sk-grad) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(18, 60, 150, 0.28) !important;
}
.btn-primary:hover, .btn-inverse:hover, .btn-success:hover, .btn-info:hover {
  box-shadow: 0 9px 22px rgba(18, 60, 150, 0.40) !important;
  color: #fff !important;
}
.btn-danger, .btn-warning {
  background: linear-gradient(92deg, #b91c1c, #dc2626) !important;
  border: 0 !important; color: #fff !important;
}
.btn-mini { border-radius: 8px !important; }

/* ---------- formulare ---------- */
input[type="text"], input[type="password"], input[type="email"],
input[type="number"], textarea, select, .uneditable-input {
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--sk-ink) !important;
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="number"]:focus, textarea:focus, select:focus {
  border-color: var(--sk-blue-2) !important;
  box-shadow: 0 0 0 3px rgba(33, 96, 211, 0.14) !important;
  outline: none !important;
}
label { color: var(--sk-dim); }
.input-prepend .add-on, .input-append .add-on {
  background: var(--sk-tint) !important;
  border: 1px solid var(--sk-stroke-2) !important;
  color: var(--sk-blue) !important;
  border-radius: 10px 0 0 10px !important;
  text-shadow: none !important;
}
.input-prepend input { border-radius: 0 10px 10px 0 !important; }

/* chosen */
.chzn-container .chzn-single {
  background: #fff !important; background-image: none !important;
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--sk-ink) !important;
}
.chzn-container .chzn-drop {
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: var(--sk-shadow-lg) !important;
}
.chzn-container .chzn-results .highlighted {
  background: var(--sk-grad) !important; color: #fff !important;
}

/* ---------- alerte / etichete ---------- */
.alert {
  border-radius: 12px !important;
  border: 1px solid var(--sk-stroke) !important;
  text-shadow: none !important;
  box-shadow: var(--sk-shadow);
}
.alert-info { background: var(--sk-tint) !important; color: var(--sk-blue) !important; border-color: var(--sk-stroke-2) !important; }
.alert-success { background: #ecfdf3 !important; color: #15803d !important; border-color: #bbe7cc !important; }
.alert-error, .alert-danger { background: #fef2f2 !important; color: #b91c1c !important; border-color: #f3c6c6 !important; }
.badge, .label { text-shadow: none !important; border-radius: 999px !important; }
.badge-success, .label-success { background: #16a34a !important; }
.badge-important, .label-important { background: #dc2626 !important; }

/* accordion / module generice */
.module, .box, .well {
  background: var(--sk-card) !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 14px !important;
  box-shadow: var(--sk-shadow) !important;
}

/* qtip tooltips */
.qtip-default {
  border-radius: 10px !important;
  border: 1px solid var(--sk-stroke) !important;
  background: var(--sk-ink) !important;
  color: #fff !important;
}

/* ============================================================
   LOGIN — acelasi stil cu pagina publica (EU, deschis, profi)
   ============================================================ */
body.login_page {
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(33, 96, 211, 0.12), transparent 60%),
    radial-gradient(700px 420px at -8% 55%, rgba(242, 183, 5, 0.08), transparent 60%),
    linear-gradient(180deg, #f7faff 0%, #eef3fb 100%) !important;
}
.login_box {
  background: #fff !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 18px !important;
  box-shadow: var(--sk-shadow-lg) !important;
  overflow: hidden;
  padding-bottom: 6px !important;
}
.login_box::before {
  content: ""; display: block; height: 4px;
  background: linear-gradient(90deg, var(--sk-blue), var(--sk-blue-2) 60%, var(--sk-gold));
}
.login_box h4 {
  font-family: "Space Grotesk", sans-serif !important;
  color: var(--sk-ink) !important;
  font-size: 20px !important;
  letter-spacing: -0.3px;
}
.login_box .alert-login {
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 12px !important;
  margin: 10px 18px !important;
}
.login_box .cnt_b { background: transparent !important; border: 0 !important; }
.login_box .formRow { border: 0 !important; }
.login_box .input-prepend { display: flex; }
.login_box .input-prepend .add-on {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: auto !important;
}
.login_box input[type="text"], .login_box input[type="password"] {
  height: 42px !important;
  font-size: 15px !important;
  flex: 1;
}
.login_box .btm_b {
  background: transparent !important;
  border-top: 1px solid var(--sk-stroke) !important;
  padding: 14px 18px !important;
}
.login_box .btm_b .btn {
  height: 42px; padding: 0 26px !important; font-size: 15px !important;
}
.login_box .links_b { background: transparent !important; border: 0 !important; }
.login_box .links_b a { color: var(--sk-blue-2) !important; font-weight: 600; }

/* footer-ul cu timer/debug din subsol */
#footer, .footer_debug {
  color: var(--sk-faint) !important;
}

/* ============================================================
   RUNDA 2 (QA pagina-cu-pagina)
   ============================================================ */

/* --- navbar: brandul nu se mai rupe, totul pe un singur rand --- */
.navbar-inner > .container-fluid {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 14px;
  min-height: 52px;
}
.navbar .container-fluid > .badge + .badge { margin-left: 0 !important; }
.navbar .brand { margin-right: 4px !important; }
.navbar .brand {
  white-space: nowrap !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-size: 18px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 8px 10px 8px 0 !important;
  flex-shrink: 0;
}
.navbar .brand .sml_t {
  font-size: 11px !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  padding: 2px 9px;
  white-space: nowrap;
}
.navbar .container-fluid > .badge { flex-shrink: 0; white-space: nowrap; }
.navbar .nav.user_menu {
  margin-left: auto !important;
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  float: none !important;
}
.navbar .nav.user_menu > li { display: flex; align-items: center; float: none !important; }
.navbar select.chzn_a, .navbar select#id_a5pp {
  width: 200px !important;
  height: 32px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  padding: 0 8px !important;
  margin: 0 !important;
}
.navbar select.chzn_a option, .navbar select#id_a5pp option { color: var(--sk-ink); background: #fff; }
.navbar .btn_menu { display: none !important; }

/* --- sidebar: eticheta + badge aliniate si la texte pe doua randuri --- */
.nav-list > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px;
  line-height: 1.35 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.nav-list > li > a .badge {
  float: none !important;
  flex-shrink: 0;
  margin-left: auto !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
}
.accordion-heading .accordion-togglelink {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-size: 13.5px !important;
}
.accordion-heading .badge-success { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* --- vcard: paginile de vizualizare si formularele de editare --- */
.vcard {
  background: #fff !important;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 14px !important;
  box-shadow: var(--sk-shadow) !important;
  padding: 8px 12px 12px !important;
  margin-bottom: 16px;
}
.vcard ul {
  font-size: 13.5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.vcard li {
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  padding: 8px 10px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--sk-stroke) !important;
  background: transparent !important;
}
.vcard li:last-child { border-bottom: 0 !important; }
.vcard li.v-heading {
  background: var(--sk-tint) !important;
  border-radius: 9px !important;
  border-bottom: 0 !important;
  margin: 12px 0 4px !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--sk-ink) !important;
  letter-spacing: 0.2px;
}
.vcard li.v-heading:first-child { margin-top: 0 !important; }
.vcard li.v-heading span { color: var(--sk-faint); font-weight: 400; font-family: "Inter", sans-serif !important; }
.vcard .item-key {
  flex: 0 0 clamp(105px, 32%, 175px); /* in coloane inguste (span4) eticheta se strange */
  color: var(--sk-faint) !important;
  font-size: 12.5px !important;
}
/* badge-uri/pill-uri in valorile vcard nu mai ies din card */
.vcard .vcard-item .badge, .vcard .vcard-item .label {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}
.vcard .vcard-item {
  flex: 1;
  color: var(--sk-ink) !important;
  font-weight: 500;
  font-size: 13.5px !important;
  overflow-wrap: anywhere;
  min-width: 0;
}
/* inputurile din formulare au stiluri inline din 2013 (11px/14px/200px) — le batem */
.vcard input[type="text"], .vcard input[type="password"] {
  height: 38px !important;
  width: min(340px, 100%) !important;
  font-size: 14px !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
}
.vcard textarea {
  width: min(340px, 100%) !important;
  min-height: 90px;
  font-size: 14px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
}
.vcard select {
  height: 38px !important;
  font-size: 14px !important;
  min-width: 200px;
  padding: 0 8px !important;
}
.vcard .chzn-container { font-size: 13.5px !important; }

/* --- butoane: inaltimi si fonturi uniforme --- */
.btn { padding: 8px 16px !important; font-size: 13.5px !important; line-height: 1.35 !important; }
.btn-small { padding: 6px 13px !important; font-size: 13px !important; }
.btn-mini { padding: 4px 10px !important; font-size: 12px !important; }
.btn-large, .btn-lg { padding: 12px 24px !important; font-size: 15px !important; }
.btn-group { display: inline-flex; gap: 6px; }
.btn [class^="icon-"], .btn [class*=" icon-"] { margin-top: 1px; }

/* --- panoul de statistici / debug din stanga-jos --- */
.sidebar_info { padding: 14px 16px !important; font-size: 12px !important; }
.sidebar_info > span[style] {
  display: block;
  color: #b91c1c !important;
  background: #fef2f2;
  border: 1px solid #f3c6c6;
  border-radius: 9px;
  padding: 7px 10px;
  font-size: 11.5px !important;
  line-height: 1.4;
  margin-bottom: 10px;
}
.sidebar_info .unstyled { margin: 0 !important; }
.sidebar_info .unstyled li {
  display: flex !important;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 3px 0 !important;
}
.sidebar_info .unstyled strong { color: var(--sk-dim) !important; font-weight: 500 !important; }
.sidebar_info .act, .sidebar_info .act-success {
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
  border-radius: 999px !important;
  padding: 2px 9px !important;
  font-weight: 600 !important;
  font-size: 11.5px !important;
  text-shadow: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* --- carduri de continut si spatii --- */
.main_content { padding: 18px 22px !important; }
.row-fluid .heading { margin-top: 4px; }
.sepH_b { margin-bottom: 14px !important; }

/* x-editable / linkuri editabile din tabele */
.editable-click, a.editable-click {
  border-bottom: 1px dashed var(--sk-stroke-2) !important;
  color: var(--sk-blue-2) !important;
}

/* iconite vechi glyphicons pe fundal albastru raman albe */
.navbar [class^="icon-"], .navbar [class*=" icon-"] { filter: brightness(4); }

/* --- FIX SUPRAPUNERE: navbar-ul e fixed, continutul trebuie impins sub el --- */
#maincontainer { padding-top: 66px !important; }
/* sidebar-ul e fixed cu top:40px (inaltimea vechiului navbar) — il coboram sub cel nou */
.sidebar { top: 66px !important; }
.sidebar_switch { top: 72px !important; }
body.login_page #maincontainer { padding-top: 0 !important; }
.navbar-fixed-top { z-index: 1030; }
.navbar-inner > .container-fluid { padding-left: 18px !important; padding-right: 18px !important; }
/* badge-urile din navbar au margin-top:12px inline din template — le centram */
.navbar .container-fluid > .badge { margin-top: 0 !important; align-self: center; }
.navbar .nav.user_menu > li > a { padding-top: 10px !important; padding-bottom: 10px !important; }

/* --- panoul de performanta (fostul debug) --- */
.sidebar_info { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.perf_panel {
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 14px;
  box-shadow: var(--sk-shadow);
  padding: 14px;
}
.perf_head {
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--sk-faint);
  margin-bottom: 10px;
}
.perf_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.perf_cell {
  background: var(--sk-bg);
  border: 1px solid var(--sk-stroke);
  border-radius: 10px;
  padding: 8px 10px;
}
.perf_val {
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--sk-ink);
  line-height: 1.2;
}
.perf_lbl {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--sk-faint);
  margin-top: 2px;
}

/* ============================================================
   RUNDA 3 — fixuri din auditul complet pagina-cu-pagina
   ============================================================ */

/* tipografie uniforma si pe controalele de formular (BS2 le dadea Helvetica) */
input, button, select, textarea { font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important; }

/* --- LOGIN: centrare corecta + linkul "Ati uitat parola?" vizibil --- */
body.login_page {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  margin: 0 !important;
  padding: 24px 16px;
  box-sizing: border-box;
}
body.login_page .login_box {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 auto !important;
  width: min(420px, 100%) !important;
}
.login_box .links_b {
  position: static !important;
  bottom: auto !important;
  width: auto !important;
  padding: 12px 18px 16px !important;
  font-size: 13px !important;
  text-align: center;
}
.login_box .cnt_b { width: auto !important; padding: 20px 18px 6px !important; margin: 0 !important; }
.login_box .formRow { margin-bottom: 14px !important; }
.login_box .formRow:last-child { margin-bottom: 0 !important; }
.login_box .input-prepend { margin-bottom: 0 !important; }
.login_box .input-prepend input { margin-bottom: 0 !important; }
.login_box h4 { margin: 24px 18px 8px !important; }

/* --- breadcrumbs: fara sprite-uri PNG din 2012 --- */
.breadCrumb ul {
  height: auto !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  width: auto !important; /* jBreadCrumb seteaza inline o latime uriasa (mii de px) pt animatie */
  max-width: 100%;
  overflow: hidden;
}
.breadCrumb ul li { width: auto !important; }
.breadCrumb ul li {
  background: none !important;
  height: auto !important;
  line-height: 24px !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.breadCrumb ul li + li::before { content: "\203A"; color: var(--sk-faint); margin: 0 9px; }
.breadCrumb .chevronOverlay { display: none !important; }

/* --- navbar: distinctie badge aplicatie + selectul de client lizibil --- */
.navbar .container-fluid > .badge { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.navbar .container-fluid > .badge.badge-important { box-shadow: inset 0 0 0 1px rgba(242, 183, 5, 0.5) !important; }
@media (max-width: 1150px) { .navbar .container-fluid > .badge { display: none !important; } }
.navbar select.chzn_a, .navbar select#id_a5pp { font-size: 13px !important; max-width: 230px !important; }
.navbar [class^="splashy-"], .navbar [class*=" splashy-"] { filter: brightness(2.6) saturate(0.4); }

/* --- sidebar: numele clientului din heading, hover, badge-uri goale --- */
.sidebar .accordion-heading .badge, .accordion-heading .accordion-togglelink .badge {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
  border: 1px solid var(--sk-stroke-2) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  padding: 4px 10px !important;
  text-shadow: none !important;
}
.sidebar .accordion-heading a:hover, .sidebar .accordion-heading .accordion-togglelink:hover {
  background: var(--sk-tint) !important;
  color: var(--sk-blue) !important;
}
.accordion-heading .badge:empty, .nav-list .badge:empty { display: none !important; }
.sidebar_switch { opacity: 0.5; filter: grayscale(1) brightness(1.35); }
.sidebar_switch:hover { opacity: 0.9; }
.style_switcher { border-radius: 14px 0 0 14px !important; }

/* --- dashboard: graficele stau in carduri albe --- */
#barras, #piechart, #curve_chart {
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 14px;
  box-shadow: var(--sk-shadow);
  padding: 10px;
  overflow-x: auto;
}
#barras { margin-top: 0 !important; }

/* --- tabele: actiuni pe randuri cu tinte de click decente --- */
.table td > a.sepV_a, .table td a[onclick] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
}
.table td > a.sepV_a:hover, .table td a[onclick]:hover { background: var(--sk-tint); }
/* linkurile de descarcare (Print Pdf / Print doc) devin butoane pill */
.dTableR td div > a[target="_blank"], .dTableR td > a[target="_blank"] {
  display: inline-block;
  padding: 4px 13px;
  border: 1px solid var(--sk-stroke-2);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: #fff;
  color: var(--sk-blue);
  white-space: nowrap;
  transition: background 0.15s;
}
.dTableR td div > a[target="_blank"]:hover, .dTableR td > a[target="_blank"]:hover {
  background: var(--sk-tint);
  text-decoration: none;
}
/* celulele goale primesc un dash discret in loc de gauri albe */
.dTableR tbody td:empty::before { content: "\2013"; color: var(--sk-faint); }
/* tabele late: scroll orizontal in interiorul cardului, nu pe pagina */
.dataTables_wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* granite pentru grupurile de coloane (Performante cu/fara stulp) */
.dTableR thead th[colspan] { border-left: 1px solid var(--sk-stroke-2) !important; text-align: center; }
/* miniaturi de imagini in tabele (modele etichete) */
.dTableR td img {
  max-width: 170px;
  max-height: 120px !important;
  height: auto;
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 10px;
  background: #fff;
  padding: 4px;
  box-shadow: var(--sk-shadow);
}

/* --- calculatorul din sidebarul client --- */
#calc .btn-large { padding: 8px 0 !important; width: 42px; font-size: 14px !important; text-align: center; }
#calc .control-group { display: flex; gap: 6px; margin-bottom: 6px; }
#calc input[type="text"] { width: calc(100% - 52px) !important; height: 34px !important; }

/* --- jQuery-UI (Aristo) adus in paleta --- */
.ui-widget { font-family: "Inter", sans-serif !important; }
.ui-dialog, .ui-datepicker {
  border-radius: 14px !important;
  border: 1px solid var(--sk-stroke) !important;
  box-shadow: var(--sk-shadow-lg) !important;
  background: #fff !important;
}
.ui-widget-header {
  background: var(--sk-grad) !important;
  background-image: var(--sk-grad) !important;
  border: 0 !important;
  color: #fff !important;
  text-shadow: none !important;
  border-radius: 12px 12px 0 0 !important;
}
.ui-state-default, .ui-widget-content .ui-state-default {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 8px !important;
  color: var(--sk-text) !important;
}
.ui-state-active, .ui-widget-content .ui-state-active,
.ui-state-hover, .ui-widget-content .ui-state-hover {
  background: var(--sk-tint) !important;
  background-image: none !important;
  color: var(--sk-blue) !important;
}

/* --- dialogurile smoke.js (confirmari) --- */
.smoke-base { background: rgba(14, 31, 71, 0.45) !important; }
.smoke-base .dialog-inner {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 22px !important;
  box-shadow: var(--sk-shadow-lg) !important;
}
.smoke { background: transparent !important; color: var(--sk-ink) !important; font-size: 15.5px !important; font-weight: 500 !important; }
.dialog-buttons .btn + .btn { margin-left: 8px; }

/* --- dashboard-ul portalului de clienti (welcome) --- */
.welcome_card {
  background: var(--sk-grad);
  color: #fff;
  border-radius: 16px;
  padding: 26px 28px;
  box-shadow: 0 14px 36px rgba(18, 60, 150, 0.30);
  margin-bottom: 18px;
}
.welcome_card h3 {
  color: #fff !important;
  font-size: 23px !important;
  margin: 0 0 8px !important;
}
.welcome_card p { color: rgba(255, 255, 255, 0.88); margin: 0; max-width: 78ch; font-size: 14.5px; }
.welcome_card strong { color: #fff; }
.quick_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.quick_tile {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 14px;
  padding: 20px;
  box-shadow: var(--sk-shadow);
  transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.quick_tile:hover {
  box-shadow: var(--sk-shadow-lg);
  transform: translateY(-3px);
  border-color: rgba(33, 96, 211, 0.35);
  text-decoration: none;
}
.quick_nr {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 27px;
  color: var(--sk-ink);
  line-height: 1.15;
}
.quick_lbl { font-size: 13.5px; color: var(--sk-dim); font-weight: 500; }
.quick_go { font-size: 12.5px; color: var(--sk-blue-2); font-weight: 600; margin-top: 8px; }
@media (max-width: 900px) { .quick_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .quick_grid { grid-template-columns: 1fr; } }

/* ============================================================
   RUNDA 4 — sobru si aliniat (feedback dashboard admin)
   ============================================================ */

/* selectul de firma din navbar: pill ALB cu text bleumarin — lizibil pe albastru */
.navbar select.chzn_a, .navbar select#id_a5pp {
  background: #fff !important;
  color: var(--sk-ink) !important;
  border: 0 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
/* glyph-urile din navbar devin albe; sprite-urile "boxed" (splashy) ar deveni
   patrate albe cu filtrul asta — pe acelea le ascundem de tot */
.navbar [class^="icon-"], .navbar [class*=" icon-"] {
  filter: brightness(0) invert(1) !important;
}
.navbar .user_menu [class^="splashy-"], .navbar .user_menu [class*=" splashy-"] {
  display: none !important;
}
/* pill-ul de versiune mai discret, separare mai clara */
.navbar-inner > .container-fluid { gap: 16px; }
.navbar .brand .sml_t {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.20);
  font-weight: 500 !important;
}

/* sidebar: itemii de meniu pe UN SINGUR rand, aliniati */
.nav-list > li > a {
  font-size: 13px !important;
  white-space: nowrap !important;
  padding: 8px 12px !important;
  letter-spacing: -0.1px;
}
.nav-list > li > a .badge { font-size: 10.5px !important; padding: 2px 8px !important; }
.accordion-heading .accordion-togglelink { padding: 10px 14px !important; }
.accordion-inner { padding: 6px 4px !important; }

/* sidebar-ul fix devine scrollabil — panoul de performanta nu mai e taiat */
.sidebar {
  bottom: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--sk-stroke-2) transparent;
}
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background: var(--sk-stroke-2); border-radius: 3px; }
.sidebar .antiScroll, .sidebar .antiscroll-inner, .sidebar .antiscroll-content { height: auto !important; overflow: visible !important; }

/* panoul de performanta: compact si lizibil */
.sidebar_info { padding: 10px 12px 16px !important; }
.perf_panel { padding: 11px 12px; }
.perf_head { font-size: 10px; letter-spacing: 1px; margin-bottom: 8px; }
.perf_grid { gap: 6px; }
.perf_cell { padding: 6px 9px; }
.perf_val { font-size: 13.5px; }
.perf_lbl { font-size: 9.5px; letter-spacing: 0.4px; }

/* colturi mai sobre, mai putin "bubble" — aspect enterprise
   (selectorii dublati acopera si regulile mai specifice de mai sus) */
.accordion-group, .sidebar .accordion-group, .sidebar #side_accordion .accordion-group,
.module, .box, .well, .vcard, .perf_panel,
.breadCrumb, #jCrumbs, .sidebar_info .perf_panel, .duo-card,
.sidebar_info, #barras, #piechart, #curve_chart, .welcome_card {
  border-radius: 10px !important;
}
.table { border-radius: 8px !important; }
.btn { border-radius: 8px !important; }
.btn-mini { border-radius: 7px !important; }
.field input, .field select, input[type="text"], input[type="password"],
input[type="email"], input[type="number"], textarea, select {
  border-radius: 8px !important;
}
.navbar .dropdown-menu { border-radius: 10px !important; }
.perf_cell { border-radius: 8px; }
.quick_tile { border-radius: 10px; }
.login_box { border-radius: 14px !important; }
.alert { border-radius: 10px !important; }
.dop-card, .label-card { border-radius: 12px; }

/* ============================================================
   RUNDA 5 — header curat, login rafinat, breadcrumbs unitare
   ============================================================ */

/* HEADER: numele firmei apare deja in selectul din dreapta — badge-ul verde
   duplicat din stanga dispare; ramane doar chip-ul aplicatiei, intarit */
.navbar .container-fluid > .badge.badge-success { display: none !important; }
.navbar .container-fluid > .badge.badge-important {
  background: rgba(255, 255, 255, 0.20) !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  padding: 5px 12px 5px 10px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
}
.navbar .container-fluid > .badge.badge-important::before {
  content: "";
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--sk-gold);
  flex-shrink: 0;
}
.navbar .nav.user_menu > li > a { font-weight: 500; font-size: 13.5px; }

/* BREADCRUMBS: tipografie unitara, fara crumb-uri goale */
#jCrumbs { padding: 9px 16px !important; margin-bottom: 16px; }
.breadCrumb ul li:not(:has(a)) { display: none !important; } /* elimina "›" agatat dupa ultimul element */
.breadCrumb ul li a {
  color: var(--sk-dim) !important;
  font-size: 13px !important;
  font-weight: 500;
  text-decoration: none;
}
.breadCrumb ul li a:hover { color: var(--sk-blue) !important; }
.breadCrumb ul li.last a, .breadCrumb ul li:last-child a {
  color: var(--sk-ink) !important;
  font-weight: 600 !important;
}
.breadCrumb ul li + li::before { content: "\203A"; color: var(--sk-stroke-2); margin: 0 10px; font-size: 14px; }
.breadCrumb ul li .icon-home { opacity: 0.65; }

/* LOGIN: mai aerisit, mai putin "chenar in chenar" */
.login_box .alert-login {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--sk-faint) !important;
  text-align: center;
  font-size: 13px !important;
  margin: 2px 18px 0 !important;
  padding: 4px 0 0 !important;
}
.login_box h4 { text-align: center !important; font-size: 21px !important; margin: 26px 18px 2px !important; }
.login_box input[type="text"], .login_box input[type="password"] {
  height: 44px !important;
  font-size: 15px !important;
  box-sizing: border-box !important; /* BS2 e content-box si umfla inaltimea */
}
.login_box .input-prepend .add-on { min-width: 44px; }
.login_box .btm_b { border-top: 0 !important; padding: 6px 18px 18px !important; }
.login_box .btm_b .btn {
  width: 100% !important;
  float: none !important;
  height: 46px;
  font-size: 15px !important;
}
.login_box .links_b { padding-top: 0 !important; }

/* ============================================================
   RUNDA 6 — navbar FARA suprapuneri + widgetul Chosen lizibil
   ============================================================ */

/* brandul isi cuprinde tot continutul: pill-ul versiunii nu mai iese din box
   (inainte boxul era 210px, pill-ul iesea 19px si calca peste chip-ul aplicatiei) */
.navbar .brand { width: max-content !important; max-width: none !important; }

/* selectul de firma e inlocuit la runtime de pluginul CHOSEN — pe ala il stilizam:
   pill ALB solid, text bleumarin, nu text negru pe bara albastra */
.navbar .chzn-container { margin: 0 !important; vertical-align: middle; }
/* selector cu ID — tema veche are reguli mai specifice pe .chzn-single */
.navbar #id_a5pp_chzn .chzn-single,
.navbar div[id$="_chzn"] .chzn-single,
.navbar .chzn-container .chzn-single {
  background: #fff !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 9px !important;
  height: 32px !important;
  line-height: 32px !important;
  padding: 0 26px 0 12px !important;
  color: var(--sk-ink) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
  text-shadow: none !important;
}
.navbar #id_a5pp_chzn .chzn-single span,
.navbar div[id$="_chzn"] .chzn-single span,
.navbar .chzn-container .chzn-single span {
  color: var(--sk-ink) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 32px !important;
}
.navbar .chzn-container .chzn-single div { top: 4px !important; }
.navbar .chzn-container-active .chzn-single,
.navbar .chzn-container .chzn-single:hover {
  background: var(--sk-tint) !important;
}
/* panoul deschis al chosen-ului */
.navbar .chzn-container .chzn-drop {
  border: 1px solid var(--sk-stroke) !important;
  border-radius: 10px !important;
  box-shadow: var(--sk-shadow-lg) !important;
  margin-top: 6px;
  overflow: hidden;
}
.navbar .chzn-container .chzn-search input {
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 8px !important;
  background-image: none !important;
}
.navbar .chzn-container .chzn-results li { font-size: 13px; color: var(--sk-text); }
.navbar .chzn-container .chzn-results .highlighted {
  background: var(--sk-grad) !important;
  background-image: var(--sk-grad) !important;
  color: #fff !important;
}
/* ============================================================
   RUNDA 7 — butoane Browse + dashboard: KPI si cardul firmei
   ============================================================ */

/* inputurile de fisiere: butonul "Browse/Choose file" stilizat ca .btn */
input[type="file"] {
  border: 1px dashed var(--sk-stroke-2) !important;
  border-radius: 8px !important;
  background: var(--sk-bg) !important;
  padding: 5px !important;
  height: auto !important;
  font-size: 13px !important;
  color: var(--sk-dim) !important;
  cursor: pointer;
  max-width: 100%;
}
input[type="file"]::file-selector-button {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #fff;
  background: var(--sk-grad);
  border: 0;
  border-radius: 7px;
  padding: 7px 14px;
  margin-right: 10px;
  cursor: pointer;
  transition: box-shadow 0.15s;
}
input[type="file"]::file-selector-button:hover { box-shadow: 0 5px 14px rgba(18, 60, 150, 0.30); }
input[type="file"]:focus { border-color: var(--sk-blue-2) !important; box-shadow: 0 0 0 3px rgba(33, 96, 211, 0.14) !important; outline: none !important; }

/* banda KPI de pe dashboard */
.kpi_grid { margin-bottom: 20px; }
.kpi_grid .quick_tile { cursor: default; padding: 16px 18px; }
.kpi_grid .quick_tile:hover { transform: none; box-shadow: var(--sk-shadow); border-color: var(--sk-stroke); }

/* cardul cu esentialul firmei (sub donut) */
.firm_card {
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 10px;
  box-shadow: var(--sk-shadow);
  padding: 16px 16px 12px;
  margin-top: 16px;
}
.firm_head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding-bottom: 10px; margin-bottom: 6px;
  border-bottom: 1px solid var(--sk-stroke);
}
.firm_name {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700; font-size: 15px; color: var(--sk-ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.firm_head .label { flex-shrink: 0; }
.firm_row {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--sk-bg);
  font-size: 12.5px;
}
.firm_row:last-of-type { border-bottom: 0; }
.firm_k { flex: 0 0 118px; color: var(--sk-faint); }
.firm_v { flex: 1; min-width: 0; color: var(--sk-ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.firm_mono { font-family: "Consolas", "Menlo", monospace; font-size: 12px; }
.firm_v input[type="text"] {
  width: 100% !important;
  height: 30px !important;
  font-size: 11.5px !important;
  font-family: "Consolas", monospace !important;
  color: var(--sk-dim) !important;
  background: var(--sk-bg) !important;
  padding: 0 9px !important;
  cursor: copy;
}
.firm_more {
  display: inline-block; margin-top: 10px;
  font-size: 12.5px; font-weight: 600; color: var(--sk-blue-2);
}
.firm_more:hover { text-decoration: underline; }

/* ============================================================
   RUNDA 8 — iconuri SVG in meniu si breadcrumbs, trenduri KPI,
   profile in cardul firmei, copy-to-clipboard, formulare
   ============================================================ */

/* --- iconuri moderne (SVG mask, colorate cu currentColor) --- */
.nav-list > li > a { justify-content: flex-start !important; }
.nav-list > li > a::before, .sk-ico::before {
  content: "";
  width: 16px; height: 16px; flex: 0 0 16px;
  background: currentColor;
  opacity: 0.72;
  -webkit-mask: var(--ico) no-repeat center / contain;
  mask: var(--ico) no-repeat center / contain;
}
.nav-list > li.active > a::before { opacity: 1; }
/* mapare pe href — fara nicio modificare de template */
.nav-list a[href*="page=decl"]   { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=pleg"]   { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=smodel"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 3v18'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=profil"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpath d='M3.3 7l8.7 5 8.7-5M12 22V12'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=pserie"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=pmodel"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=org"]    { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=zpl"]    { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4L11 3H4v7l9.6 10.4a2 2 0 0 0 2.8 0l4.2-4.2a2 2 0 0 0 0-2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=z2c"]    { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 5v14M8 5v14M12 5v14M17 5v14M20 5v14'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=barcode"]{ --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 5v14M8 5v14M12 5v14M17 5v14M20 5v14'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=client"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=user"]   { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.nav-list a[href*="page=utiliz"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.nav-list a[href*="changelog"]   { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E"); }

/* heading-urile din sidebar (Dashboard / Ultimele Erori): sprite vechi -> SVG */
.sidebar .accordion-heading i[class^="icon-"] { display: none !important; }
.sidebar .accordion-heading a[href*="page=main"]::before,
.sidebar .accordion-heading a[href*="page=err"]::before {
  content: "";
  width: 16px; height: 16px; flex: 0 0 16px;
  background: currentColor; opacity: 0.72;
  -webkit-mask: var(--ico) no-repeat center / contain;
  mask: var(--ico) no-repeat center / contain;
}
.sidebar .accordion-heading a[href*="page=main"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E"); }
.sidebar .accordion-heading a[href*="page=err"]  { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E"); }

/* breadcrumb: casuta sprite -> SVG */
.breadCrumb ul li .icon-home { display: none !important; }
.breadCrumb ul li:first-child a::before {
  content: "";
  display: inline-block;
  width: 15px; height: 15px;
  vertical-align: -2px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* --- trend pe KPI --- */
.kpi_trend {
  display: inline-block;
  margin-left: 8px;
  font-family: "Inter", sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  vertical-align: 4px;
}
.kpi_trend.up   { color: #15803d; background: #ecfdf3; }
.kpi_trend.down { color: #b91c1c; background: #fef2f2; }
.kpi_trend.flat { color: var(--sk-faint); background: var(--sk-bg); }
.kpi_grid .quick_lbl small { color: var(--sk-faint); font-size: 11px; }

/* --- profilele active in cardul firmei --- */
.firm_sect {
  font-family: "Space Grotesk", sans-serif;
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 1.1px; text-transform: uppercase;
  color: var(--sk-faint);
  margin: 12px 0 7px;
  padding-top: 10px;
  border-top: 1px solid var(--sk-stroke);
}
.firm_profiles { display: flex; flex-wrap: wrap; gap: 6px; }
.prof_chip {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 500; color: var(--sk-text);
  background: var(--sk-bg);
  border: 1px solid var(--sk-stroke);
  border-radius: 999px;
  padding: 4px 5px 4px 11px;
  max-width: 100%;
}
.prof_chip b {
  background: var(--sk-tint);
  color: var(--sk-blue);
  font-weight: 700; font-size: 11px;
  border-radius: 999px;
  padding: 2px 8px;
}
.prof_none { font-size: 12.5px; color: var(--sk-faint); }

/* --- butonul de copy pe linkul de import --- */
.firm_link { display: flex !important; align-items: center; gap: 6px; }
.firm_link input { flex: 1; }
.copy_btn {
  flex: 0 0 30px;
  width: 30px; height: 30px;
  display: inline-grid; place-items: center;
  border: 1px solid var(--sk-stroke-2);
  border-radius: 8px;
  background: #fff;
  color: var(--sk-blue);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.copy_btn svg { width: 15px; height: 15px; }
.copy_btn .ic_check { display: none; }
.copy_btn:hover { background: var(--sk-tint); }
.copy_btn.ok { background: #ecfdf3; border-color: #bbe7cc; color: #15803d; }
.copy_btn.ok .ic_copy { display: none; }
.copy_btn.ok .ic_check { display: block; }

/* --- bara de limba a documentelor (lista declaratii) --- */
.doclang_bar {
  display: flex; align-items: center; gap: 10px;
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 10px;
  box-shadow: var(--sk-shadow);
  padding: 10px 14px;
  margin-bottom: 14px;
}
.doclang_bar label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: var(--sk-dim);
  margin: 0; cursor: pointer;
}
.doclang_bar label svg { width: 16px; height: 16px; color: var(--sk-blue-2); }
.doclang_bar select {
  height: 34px !important;
  font-size: 13.5px !important;
  font-weight: 600;
  color: var(--sk-ink) !important;
  min-width: 150px;
  padding: 0 10px !important;
}

/* cardul noului donut de pe dashboard */
#pie180 {
  background: #fff;
  border: 1px solid var(--sk-stroke);
  border-radius: 10px;
  box-shadow: var(--sk-shadow);
  padding: 10px;
}

/* numaratorile din meniul lateral: mereu lipite de marginea dreapta, la linie.
   Itemii cu text lung (Organisme Notificate) impingeau badge-ul in afara
   boxului — font si spatii mai stranse ca totul sa incapa pe un rand. */
.nav-list > li > a {
  font-size: 12.5px !important;
  letter-spacing: -0.2px;
  gap: 8px !important;
  padding: 8px 10px !important;
}
.nav-list > li > a .badge {
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: center;
  min-width: 20px;
  font-size: 10px !important;
  padding: 2px 7px !important;
  flex-shrink: 0;
}
/* eticheta itemului: ocupa spatiul ramas si se scurteaza cu elipsa daca nu incape
   -> badge-ul cade intotdeauna pe aceeasi verticala, la marginea dreapta */
.nav-list > li > a .mi_t {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- formulare mai fine --- */
/* formularul nu se mai intinde pe tot ecranul — coloana compacta, echilibrata */
.vcard { max-width: 880px; }
fieldset { border: 0 !important; }
/* valorile/campurile stau pe flex: grupurile cu unitati se aliniaza natural */
.vcard .vcard-item {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
/* add-on-urile (Ug, W/(m2K), Rw, tr...) devin chips de unitate, la aceeasi inaltime */
.vcard .add-on, .vcard .input-append .add-on, .vcard .input-prepend .add-on {
  display: inline-flex !important;
  align-items: center;
  height: 38px !important;
  padding: 0 10px !important;
  background: var(--sk-tint) !important;
  border: 1px solid var(--sk-stroke-2) !important;
  border-radius: 8px !important;
  color: var(--sk-blue) !important;
  font-size: 12px !important;
  font-weight: 600;
  text-shadow: none !important;
  box-sizing: border-box;
}
.vcard .input-append, .vcard .input-prepend {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
}
.vcard .input-append input, .vcard .input-prepend input { margin: 0 !important; }
/* inputurile din grupuri raman la latimi rezonabile */
.vcard .input-append input[type="text"], .vcard .input-prepend input[type="text"] {
  width: clamp(110px, 18vw, 220px) !important;
}
.vcard li:not(.v-heading):hover { background: #fafcff !important; }
.vcard input[type="text"]:hover, .vcard textarea:hover, .vcard select:hover { border-color: var(--sk-stroke-2); }
.vcard textarea { resize: vertical; }
.vcard li.v-heading { font-size: 13.5px !important; }
.vcard .item-key { font-weight: 500; }

/* siguranta pe ecrane inguste: chip-ul aplicatiei dispare primul
   (regula vine ULTIMA ca sa bata display-ul flex din Runda 5) */
@media (max-width: 980px) {
  .navbar .container-fluid > .badge,
  .navbar .container-fluid > .badge.badge-important { display: none !important; }
  .navbar .brand .sml_t { display: none !important; }
}
