/* dev/css/theme_2026-09-18.css
 * Numele poarta data ultimei modificari, si asta e mecanismul de invalidare a cache-ului:
 * Cloudflare serveste fisierul cu `max-age=14400`, iar link-ul din head.view.php nu are parametru
 * de versiune. Schimbi continutul fara sa schimbi numele si utilizatorii raman pana la patru ore
 * pe foaia veche. Deci: la fiecare modificare, redenumeste fisierul si actualizeaza link-ul.
 * Stratul de tema: token-uri + reguli pe [data-theme="dark"] (paleta Cerneala).
 * Regula: nicio culoare literala in afara celor doua blocuri de mai jos (ThemeCssGuardTest).
 * Fiecare pereche text/fund de mai jos e verificata WCAG 2.1 AA de ThemeContrastTest.
 */
:root {
  color-scheme: light;
  --erp-bg: #ecf0f5;
  --erp-surface: #ffffff;
  --erp-surface-2: #f7f7f7;
  --erp-surface-3: #eceef2;
  --erp-border: #c5cad3;
  --erp-border-hover: #cccccc;
  --erp-row-hover: #eef1f6;
  --erp-row-selected: #dbe6f2;
  --erp-row-selected-text: #1f2933;
  --erp-border-input: #858c96;
  --erp-text: #333333;
  --erp-text-muted: #555555;
  --erp-text-dim: #6b6b6b;
  --erp-link: #2e6f95;
  --erp-ok: #007a43;
  --erp-error: #b3341f;
  --erp-warn: #8a5a00;
  --erp-info: #00738f;
  --erp-focus: #2e6f95;
  /* Fundaluri colorate cu text pe ele: butoane, etichete, casete de pe dashboard. */
  --erp-accent: #3f78b7;
  --erp-accent-hover: #245a7a;
  --erp-on-accent: #ffffff;
  --erp-ok-bg: #0c874b;
  --erp-info-bg: #2a7e9f;
  --erp-warn-bg: #f39c12;
  --erp-on-warn: #1f1f1f;
  --erp-danger-bg: #b3341f;
  --erp-neutral-bg: #555555;
  --erp-accent-press: #2f5c8f;
  --erp-ok-press: #096637;
  --erp-info-press: #1f6178;
  --erp-warn-press: #c87f0a;
  --erp-danger-press: #8c2818;
  /* Header-ul si sidebar-ul AdminLTE. Skin-urile intunecate au acelasi sidebar; difera doar
   * culoarea header-ului, de aceea fiecare skin cu contrast slab are token-ul lui. */
  --erp-navbar: #2e6f95;
  --erp-navbar-text: #ffffff;
  --erp-skin-green: #007a43;
  --erp-skin-red: #c9382a;
  --erp-skin-yellow: #a16207;
  --erp-skin-purple: #605ca8;
  --erp-sidebar-bg: #222d32;
  --erp-sidebar-text: #b8c7ce;
  --erp-sidebar-header: #9db4be;
  --erp-sidebar-header-bg: #1a2226;
  --erp-sidebar-sub-bg: #2c3b41;
  --erp-sidebar-sub-text: #a3b8c2;
}

[data-theme="dark"] {
  color-scheme: dark;
  --erp-bg: #0a0a1e;
  --erp-surface: #16163a;
  --erp-surface-2: #1e1e4a;
  --erp-surface-3: #2a2a5e;
  --erp-border: #3d3d70;
  --erp-border-hover: #5a5a95;
  --erp-row-hover: #1f1f47;
  --erp-row-selected: #2e2e6b;
  --erp-row-selected-text: #f2f2f8;
  --erp-row-ok: #14352c;
  --erp-row-info: #123a4a;
  --erp-row-warn: #3a2f14;
  --erp-row-danger: #452027;
  --erp-border-input: #6a6a99;
  --erp-text: #f2f2f8;
  --erp-text-muted: #a6a6c8;
  --erp-text-dim: #9a9abb;
  --erp-link: #bcd8ff;
  --erp-ok: #7dd8a8;
  --erp-error: #f0928c;
  --erp-warn: #f5c26b;
  --erp-info: #7fd3ee;
  --erp-focus: #f2f2f8;
  --erp-accent: #3f78b7;
  --erp-accent-hover: #dbe9ff;
  --erp-on-accent: #ffffff;
  --erp-ok-bg: #0c874b;
  --erp-info-bg: #2a7e9f;
  --erp-warn-bg: #f39c12;
  --erp-on-warn: #1f1f1f;
  --erp-danger-bg: #b3341f;
  --erp-neutral-bg: #555555;
  --erp-accent-press: #2f5c8f;
  --erp-ok-press: #096637;
  --erp-info-press: #1f6178;
  --erp-warn-press: #c87f0a;
  --erp-danger-press: #8c2818;
  --erp-navbar: #1c1c46;
  --erp-navbar-text: #f2f2f8;
  --erp-sidebar-bg: #1c1c46;
  --erp-sidebar-text: #c8c8de;
  --erp-sidebar-header: #9a9abb;
  --erp-sidebar-header-bg: #12122e;
  --erp-sidebar-sub-bg: #26265a;
  --erp-sidebar-sub-text: #b4b4d0;
}

/* Meniul de tema din header (spec 3.3). Butoanele arata ca link-urile din dropdown. */
.theme-menu .dropdown-menu > li > button {
  display: block;
  width: 100%;
  padding: 3px 20px;
  border: 0;
  background: transparent;
  color: var(--erp-text);
  text-align: left;
  white-space: nowrap;
}
.theme-menu .dropdown-menu > li > button:hover,
.theme-menu .dropdown-menu > li > button:focus-visible {
  background: var(--erp-surface-2);
}
.theme-menu .dropdown-menu > li > button[aria-checked="true"] {
  font-weight: 600;
}
.theme-menu .dropdown-menu > li > button .fa {
  width: 1.4em;
}

/* Contrast AA pe ambele teme (FOS-9465). Regulile de mai jos rescriu culorile AdminLTE si
 * din layout_2020-04-12.css care picau la axe: text secundar, linkuri, butoane si etichete
 * colorate, header si sidebar. Valorile vin numai din token-uri. */
a {
  color: var(--erp-link);
}
a:hover,
a:focus {
  color: var(--erp-accent-hover);
}
.text-muted,
.breadcrumb > .active,
h1 small,
.help-block {
  color: var(--erp-text-muted);
}
a:focus-visible {
  outline: 2px solid var(--erp-focus);
  outline-offset: 2px;
}
.text-primary {
  color: var(--erp-link);
}
.text-success,
.txt-priority-3 {
  color: var(--erp-ok);
}
.text-info {
  color: var(--erp-info);
}
.text-warning {
  color: var(--erp-warn);
}
.text-danger {
  color: var(--erp-error);
}
.no-profile-picture {
  color: var(--erp-text-muted);
}
.form-control {
  border-color: var(--erp-border-input);
}
.form-control:focus {
  border-color: var(--erp-focus);
}

/* Specificitatea .btn.btn-* bate linkurile legacy .dark-mode a si starile lor. */
.btn.btn-primary {
  background-color: var(--erp-accent);
  border-color: var(--erp-accent);
  color: var(--erp-on-accent);
}
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.open > .dropdown-toggle.btn.btn-primary {
  background-color: var(--erp-accent-press);
  border-color: var(--erp-accent-press);
  color: var(--erp-on-accent);
}
.btn.btn-success {
  background-color: var(--erp-ok-bg);
  border-color: var(--erp-ok-bg);
  color: var(--erp-on-accent);
}
.btn.btn-success:hover,
.btn.btn-success:focus,
.btn.btn-success:active,
.btn.btn-success.active,
.open > .dropdown-toggle.btn.btn-success {
  background-color: var(--erp-ok-press);
  border-color: var(--erp-ok-press);
  color: var(--erp-on-accent);
}
/* Egaleaza specificitatea .dark-mode din layout pentru a pastra token-urile AA. */
.btn-info,
[data-theme="dark"] .btn-info {
  background-color: var(--erp-info-bg);
  border-color: var(--erp-info-bg);
  color: var(--erp-on-accent);
}
.btn.btn-info:hover,
.btn.btn-info:focus,
.btn.btn-info:active,
.btn.btn-info.active,
.btn.btn-info.hover,
.open > .dropdown-toggle.btn.btn-info,
[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-info:focus,
[data-theme="dark"] .btn-info:active,
[data-theme="dark"] .btn-info.active,
[data-theme="dark"] .btn-info.hover,
[data-theme="dark"] .open > .dropdown-toggle.btn.btn-info {
  background-color: var(--erp-info-press);
  border-color: var(--erp-info-press);
  color: var(--erp-on-accent);
}
.btn.btn-danger {
  background-color: var(--erp-danger-bg);
  border-color: var(--erp-danger-bg);
  color: var(--erp-on-accent);
}
.btn.btn-danger:hover,
.btn.btn-danger:focus,
.btn.btn-danger:active,
.btn.btn-danger.active,
.open > .dropdown-toggle.btn.btn-danger {
  background-color: var(--erp-danger-press);
  border-color: var(--erp-danger-press);
  color: var(--erp-on-accent);
}
.btn.btn-warning {
  background-color: var(--erp-warn-bg);
  border-color: var(--erp-warn-bg);
  color: var(--erp-on-warn);
}
.btn.btn-warning:hover,
.btn.btn-warning:focus,
.btn.btn-warning:active,
.btn.btn-warning.active,
.open > .dropdown-toggle.btn.btn-warning {
  background-color: var(--erp-warn-press);
  border-color: var(--erp-warn-press);
  color: var(--erp-on-warn);
}
.btn.btn-primary:hover,
.btn.btn-success:hover,
.btn-info:hover,
.btn.btn-danger:hover,
.btn.btn-warning:hover {
  filter: brightness(0.92);
}

.label-primary,
.bg-light-blue,
.bugete-primary,
[data-theme="dark"] .label-primary,
[data-theme="dark"] .bg-light-blue {
  background-color: var(--erp-accent) !important;
  color: var(--erp-on-accent) !important;
}
.label-success,
.bg-green,
.bugete-success,
.bugete-verde {
  background-color: var(--erp-ok-bg) !important;
  color: var(--erp-on-accent) !important;
}
.label-info,
.bg-aqua {
  background-color: var(--erp-info-bg) !important;
  color: var(--erp-on-accent) !important;
}
.label-danger,
.bg-red {
  background-color: var(--erp-danger-bg) !important;
  color: var(--erp-on-accent) !important;
}
.label-default {
  background-color: var(--erp-neutral-bg) !important;
  color: var(--erp-on-accent) !important;
}
.label-warning,
.bg-yellow,
.bg-orange,
.bugete-warning,
.bugete-portocaliu,
.bg-yellow .small-box-footer,
.bg-orange .small-box-footer {
  background-color: var(--erp-warn-bg) !important;
  color: var(--erp-on-warn) !important;
}
.tiles-row {
  background: var(--erp-accent);
}

/* Header-ul pe skin-urile cu contrast slab. Skin-ul purple si cele deschise trec deja. */
.skin-blue .main-header .navbar,
.skin-blue .main-header .logo {
  background-color: var(--erp-navbar);
  color: var(--erp-navbar-text);
}
.skin-green .main-header .navbar,
.skin-green .main-header .logo {
  background-color: var(--erp-skin-green);
}
.skin-red .main-header .navbar,
.skin-red .main-header .logo {
  background-color: var(--erp-skin-red);
}
.skin-yellow .main-header .navbar,
.skin-yellow .main-header .logo {
  background-color: var(--erp-skin-yellow);
}
.skin-purple .main-header .navbar,
.skin-purple .main-header .logo {
  background-color: var(--erp-skin-purple);
}

/* Sidebar-ul: acelasi pe toate skin-urile intunecate. */
.skin-blue .sidebar-menu > li.header,
.skin-black .sidebar-menu > li.header,
.skin-green .sidebar-menu > li.header,
.skin-purple .sidebar-menu > li.header,
.skin-red .sidebar-menu > li.header,
.skin-yellow .sidebar-menu > li.header {
  color: var(--erp-sidebar-header);
  background: var(--erp-sidebar-header-bg);
}
.skin-blue .sidebar-menu .treeview-menu > li > a,
.skin-black .sidebar-menu .treeview-menu > li > a,
.skin-green .sidebar-menu .treeview-menu > li > a,
.skin-purple .sidebar-menu .treeview-menu > li > a,
.skin-red .sidebar-menu .treeview-menu > li > a,
.skin-yellow .sidebar-menu .treeview-menu > li > a {
  color: var(--erp-sidebar-sub-text);
}
.skin-blue .sidebar-menu .treeview-menu > li > a > span.highlight-section,
.skin-black .sidebar-menu .treeview-menu > li > a > span.highlight-section,
.skin-green .sidebar-menu .treeview-menu > li > a > span.highlight-section,
.skin-purple .sidebar-menu .treeview-menu > li > a > span.highlight-section,
.skin-red .sidebar-menu .treeview-menu > li > a > span.highlight-section,
.skin-yellow .sidebar-menu .treeview-menu > li > a > span.highlight-section {
  color: var(--erp-on-accent);
  background-color: var(--erp-accent);
}

/* Fundatia pe intunecat. Componentele vin in T2. */
[data-theme="dark"] body,
[data-theme="dark"] .wrapper,
[data-theme="dark"] .content-wrapper {
  background-color: var(--erp-bg);
  color: var(--erp-text);
}
[data-theme="dark"] .main-header .navbar,
[data-theme="dark"] .main-header .logo {
  background-color: var(--erp-navbar);
  color: var(--erp-navbar-text);
}
/* `.wrapper` e in selector ca sa bata `.dark-mode .skin-black .main-sidebar` din layout css. */
[data-theme="dark"] .wrapper .main-sidebar,
[data-theme="dark"] .wrapper .control-sidebar {
  background-color: var(--erp-sidebar-bg);
  color: var(--erp-text);
}
/* `.skin-black` si `.skin-black-light` au reguli `.dark-mode` cu patru clase in layout css;
   le batem cu aceeasi specificitate, incarcata dupa ele. */
[data-theme="dark"] .skin-black .main-header .navbar,
[data-theme="dark"] .skin-black-light .main-header .navbar,
[data-theme="dark"] .skin-black .main-header > .logo,
[data-theme="dark"] .skin-black-light .main-header > .logo {
  background-color: var(--erp-navbar);
  color: var(--erp-navbar-text);
  border-right-color: var(--erp-border);
}
[data-theme="dark"] .form-control {
  border-color: var(--erp-border-input);
}
[data-theme="dark"] a:focus-visible {
  outline: 2px solid var(--erp-focus);
  outline-offset: 2px;
}
[data-theme="dark"] .main-header .logo img {
  filter: brightness(0) invert(1);
}
[data-theme="dark"] .theme-menu .dropdown-menu {
  background-color: var(--erp-surface);
  border-color: var(--erp-border);
}

/* Cerneala: sidebar-ul, linkurile si butoanele neutre; rescrie regulile .dark-mode din
 * layout_2020-04-12.css care aveau linkuri #67b7e9 pe randuri #585858 (3,2:1). */
[data-theme="dark"] .sidebar-menu > li > a {
  color: var(--erp-sidebar-text);
}
[data-theme="dark"] .main-sidebar .sidebar-menu > li.header {
  color: var(--erp-sidebar-header);
  background: var(--erp-sidebar-header-bg);
}
[data-theme="dark"] .sidebar-menu .treeview-menu {
  background: var(--erp-sidebar-sub-bg);
}
[data-theme="dark"] .sidebar-menu .treeview-menu > li > a {
  color: var(--erp-sidebar-sub-text);
}
[data-theme="dark"] a {
  color: var(--erp-link);
}
[data-theme="dark"] a:hover,
[data-theme="dark"] a:focus {
  color: var(--erp-text);
}
[data-theme="dark"] .btn-default {
  background-color: var(--erp-surface-3);
  color: var(--erp-text);
  border-color: var(--erp-border-input);
}
[data-theme="dark"] .bugete-primary {
  background: var(--erp-accent) !important;
  color: var(--erp-on-accent) !important;
}
[data-theme="dark"] .bugete-success,
[data-theme="dark"] .bugete-verde {
  background: var(--erp-ok-bg) !important;
  color: var(--erp-on-accent) !important;
}
[data-theme="dark"] .tiles-row {
  background: var(--erp-surface-3);
}
/* Culorile de stare din `.dark-mode .text-*` (layout css) sunt sub AA; le suprascriem cu tokenii. */
[data-theme="dark"] .text-primary {
  color: var(--erp-link);
}
[data-theme="dark"] .text-success,
[data-theme="dark"] .txt-priority-3 {
  color: var(--erp-ok);
}
[data-theme="dark"] .text-info {
  color: var(--erp-info);
}
[data-theme="dark"] .text-warning {
  color: var(--erp-warn);
}
[data-theme="dark"] .text-danger {
  color: var(--erp-error);
}
[data-theme="dark"] .text-muted {
  color: var(--erp-text-muted);
}
[data-theme="dark"] .no-profile-picture {
  background-color: var(--erp-surface-3);
  color: var(--erp-text);
}
/* Casetele AdminLTE raman pe griul vechi (#515050) din `.dark-mode .box`; le aducem pe paleta Cerneala. */
[data-theme="dark"] .box,
[data-theme="dark"] .box.dark {
  background-color: var(--erp-surface);
}
[data-theme="dark"] .box-footer {
  background-color: var(--erp-surface-2);
  border-top-color: var(--erp-border);
}
[data-theme="dark"] .table-striped {
  background: var(--erp-surface);
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd),
[data-theme="dark"] .table-transparent > tbody > tr:nth-of-type(odd) {
  background-color: var(--erp-surface-2);
}

/* Tipografie (FOS-9466): o singura familie pe toata aplicatia, corp 15 px, cifre tabulare in
   tabele si campuri, nimic sub 12 px. Source Sans 3 e versiunea curenta a Source Sans Pro
   (AdminLTE), deci desenul ramane cel de azi; fallback-ul foloseste fontul vechi din cache.
   Documentele tiparite (factura_head_*, nota_livrare_head, oferte) isi pastreaza fonturile. */
body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.main-header .logo {
  font-family: 'Source Sans 3', 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
body {
  font-size: 15px;
  line-height: 1.5;
}
/* line-height fix in px pastreaza inaltimea de 34 px a controalelor Bootstrap 3. */
.form-control,
.btn,
.input-group-addon {
  font-size: 15px;
  line-height: 20px;
}
/* FOS-9503: compensarea de mai sus prinde doar clasele Bootstrap. select2 cu selectie unica are
   `height: 34px` explicit, deci a trecut neatins, dar varianta cu selectie multipla isi calculeaza
   inaltimea din continut (`height: auto`, `min-height: 34px`). Cu line-height 22.5 px mostenit de
   la `body`, campul de cautare din interior o duce la 37 px, iar o valoare selectata la 39 px.
   Masurat pe kssdemo: 34 px la controlul nativ langa 37 px la vecin, si grila de filtre se rupe. */
.select2-container .select2-selection--multiple,
.select2-container .select2-selection--multiple .select2-search--inline .select2-search__field,
.select2-container .select2-selection--multiple .select2-selection__choice {
  line-height: 20px;
}
/* FOS-9503: filtrele stau intr-un singur `.row` cu coloane `float: left` si `clear: none`. Regula
   2 de plasare a flotantelor (CSS 2.1 §9.5.1) spune ca, fata de o flotanta anterioara, una noua
   fie incepe sub ea, fie la dreapta ei — deci o singura coloana mai inalta impinge urmatoarea la
   mijlocul randului si lasa banda din stanga goala. Flexbox asaza randurile fara sa depinde de
   inaltimi, deci nici o diferenta ramasa de un pixel nu mai poate rupe grila. */
#filtre-frm .box-body > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
/* FOS-9536: campurile care depind de "Tip document" nu sunt copii directi ai randului de mai sus.
   `snippets/filtre_specs` le invele intr-un `div.specs-form`, fiindca JS-ul paginii il foloseste ca
   tinta de injectare (`$('.specs-form').html(o.html)`), deci wrapper-ul nu poate disparea. Cat timp
   randul era pe flotante, wrapper-ul era inofensiv; ca element flex insa se dimensioneaza dupa
   continut (228 px masurat), asa ca un `col-md-2` din el inseamna 16,66% din 228 px, adica 38 px in
   loc de 172. `display: contents` scoate cutia wrapper-ului din asezare si lasa coloanele sa intre
   direct in rand, pastrand elementul in DOM pentru JS. */
#filtre-frm .box-body > .row > .specs-form {
  display: contents;
}
.input-sm,
.btn-sm,
.btn-xs {
  font-size: 12px;
  line-height: 1.5;
}
.input-lg,
.btn-lg {
  font-size: 18px;
  line-height: 1.3333333;
}
.table > thead > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  line-height: 1.45;
}
.table,
.form-control,
.badge,
.info-box-number,
.small-box .inner h3 {
  font-variant-numeric: tabular-nums;
}
.label {
  font-size: 12px;
}
.main-header .navbar-nav > li > a > .label {
  font-size: 12px;
  padding: 1px 4px;
}

/* FOS-9468: starile de rand. AdminLTE si Bootstrap le fac cu `rgba(0,0,0,.05)` si cu pasteluri
   gandite pentru fundal alb: pe Cerneala hover-ul nu se vede, iar randurile de stare pun text
   deschis pe fundal deschis. Fundalul intra pe celula, nu pe rand, fiindca `.table-striped`
   coloreaza randul si ar acoperi altfel starea. */
.table.table-hover > tbody > tr:hover > td,
.table.table-hover > tbody > tr:hover > th,
table.dataTable.table-hover > tbody > tr:hover > td,
table.dataTable.table-hover > tbody > tr:hover > th {
  background-color: var(--erp-row-hover) !important;
  box-shadow: none !important;
}
[data-theme="dark"] .table > tbody > tr.success > td,
[data-theme="dark"] .table > tbody > tr > td.success {
  background-color: var(--erp-row-ok);
  color: var(--erp-text);
}
[data-theme="dark"] .table > tbody > tr.info > td,
[data-theme="dark"] .table > tbody > tr > td.info {
  background-color: var(--erp-row-info);
  color: var(--erp-text);
}
[data-theme="dark"] .table > tbody > tr.warning > td,
[data-theme="dark"] .table > tbody > tr > td.warning {
  background-color: var(--erp-row-warn);
  color: var(--erp-text);
}
[data-theme="dark"] .table > tbody > tr.danger > td,
[data-theme="dark"] .table > tbody > tr > td.danger {
  background-color: var(--erp-row-danger);
  color: var(--erp-text);
}

/* Selectia bate hover-ul, dungile si starile semantice, inclusiv umbrele inset DataTables. */
.table > tbody > tr.selected > td,
.table > tbody > tr.selected > th,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.selected:hover > td,
.table > tbody > tr.selected:hover > th,
.table > tbody > tr.active:hover > td,
.table > tbody > tr.active:hover > th,
.table.table-hover > tbody > tr:hover > td.active,
.table.table-hover > tbody > tr:hover > th.active,
table.dataTable > tbody > tr.selected > td,
table.dataTable > tbody > tr.selected > th,
table.dataTable > tbody > tr.active > td,
table.dataTable > tbody > tr.active > th,
table.dataTable > tbody > tr > td.active,
table.dataTable > tbody > tr > th.active,
table.dataTable > tbody > tr.selected:hover > td,
table.dataTable > tbody > tr.selected:hover > th,
table.dataTable > tbody > tr.active:hover > td,
table.dataTable > tbody > tr.active:hover > th,
table.dataTable > tbody > tr:hover > td.active,
table.dataTable > tbody > tr:hover > th.active {
  background-color: var(--erp-row-selected) !important;
  color: var(--erp-row-selected-text) !important;
  box-shadow: none !important;
}
/* DataTables coloreaza explicit toate ancorele din randul selectat, inclusiv .btn. */
table.dataTable .btn.btn-primary,
table.dataTable .btn.btn-success,
table.dataTable .btn.btn-info,
table.dataTable .btn.btn-danger {
  color: var(--erp-on-accent);
}
table.dataTable .btn.btn-warning {
  color: var(--erp-on-warn);
}
[data-theme="dark"] table.dataTable .btn.btn-default {
  color: var(--erp-text);
}
/* Linkurile simple mostenesc selectia; butoanele isi pastreaza propriul contrast AA. */
.table > tbody > tr.selected > td a:not(.btn),
.table > tbody > tr.selected > th a:not(.btn),
.table > tbody > tr.active > td a:not(.btn),
.table > tbody > tr.active > th a:not(.btn),
.table > tbody > tr > td.active a:not(.btn),
.table > tbody > tr > th.active a:not(.btn),
table.dataTable > tbody > tr.selected > td a:not(.btn),
table.dataTable > tbody > tr.selected > th a:not(.btn),
table.dataTable > tbody > tr.active > td a:not(.btn),
table.dataTable > tbody > tr.active > th a:not(.btn),
table.dataTable > tbody > tr > td.active a:not(.btn),
table.dataTable > tbody > tr > th.active a:not(.btn) {
  color: inherit !important;
}

/* FOS-9468: callout-uri si alerte. AdminLTE pune text alb pe fundal saturat -- 2,1:1 pe warning,
   2,2:1 pe info -- iar view-urile folosesc callout-ul de 1331 de ori. Fundalurile trec pe
   token-urile de stare, verificate AA de ThemeContrastTest. `!important` e necesar fiindca
   regulile AdminLTE il poarta deja. */
.callout.callout-danger {
  background-color: var(--erp-danger-bg) !important;
  border-color: var(--erp-border);
  color: var(--erp-on-accent) !important;
}
.callout.callout-warning {
  background-color: var(--erp-warn-bg) !important;
  border-color: var(--erp-border);
  color: var(--erp-on-warn) !important;
}
.callout.callout-info {
  background-color: var(--erp-info-bg) !important;
  border-color: var(--erp-border);
  color: var(--erp-on-accent) !important;
}
.callout.callout-success {
  background-color: var(--erp-ok-bg) !important;
  border-color: var(--erp-border);
  color: var(--erp-on-accent) !important;
}

/* Alerte AA pe ambele teme; suprascriu culorile !important din AdminLTE. */
.alert.alert-success {
  background-color: var(--erp-ok-bg) !important;
  border-color: var(--erp-ok-press);
  color: var(--erp-on-accent) !important;
}
.alert.alert-info {
  background-color: var(--erp-info-bg) !important;
  border-color: var(--erp-info-press);
  color: var(--erp-on-accent) !important;
}
.alert.alert-warning {
  background-color: var(--erp-warn-bg) !important;
  border-color: var(--erp-warn-press);
  color: var(--erp-on-warn) !important;
}
.alert.alert-danger {
  background-color: var(--erp-danger-bg) !important;
  border-color: var(--erp-danger-press);
  color: var(--erp-on-accent) !important;
}
.alert.alert-success a,
.alert.alert-success .alert-link,
.alert.alert-info a,
.alert.alert-info .alert-link,
.alert.alert-warning a,
.alert.alert-warning .alert-link,
.alert.alert-danger a,
.alert.alert-danger .alert-link {
  color: inherit !important;
}

/* Butonul neutru pe Cerneala: Bootstrap ii da hover #e6e6e6, adica un flash alb pe fundal inchis. */
[data-theme="dark"] .btn-default:hover,
[data-theme="dark"] .btn-default:focus,
[data-theme="dark"] .btn-default:active,
[data-theme="dark"] .btn-default.active,
[data-theme="dark"] .open > .dropdown-toggle.btn-default {
  background-color: var(--erp-surface-3);
  border-color: var(--erp-border-hover);
  color: var(--erp-text);
}
