/* HrApp — overrides pentru câmpuri, tabele, butoane, badge (referință: Content/css-temp/core.css, tema Sneat/Bootstrap 5).
 * Încărcați după ~/assets/css/site.css (și după Bootstrap), fără a modifica site.css.
 */
@import url("https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap");

/*
 * site.css: .app-touch-target forțează ~44px — pe .btn-sm păstrăm înălțimea compactă Bootstrap (ca „Adaugă adresă”).
 */
.btn.app-touch-target.btn-sm {
  min-height: unset;
  min-width: unset;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

:root {
  /* Stivă font — Public Sans + sistem (Bootstrap: --bs-body-font-family folosește --bs-font-sans-serif) */
  --bs-font-sans-serif: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu",
    "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  /* Etichete — core.css */
  --app-label-color: #566a7f;

  /* Câmpuri — borduri (hover / focus fără ring) */
  --app-input-border: #d9dee3;
  --app-input-border-hover: #7a838b;
  --app-input-focus-border: #696cff;
  --app-input-bg: #fff;
  --app-input-bg-disabled: #eceef1;
  --app-input-bg-readonly: #f5f5f8;
  --app-input-color: #697a8d;
  --app-input-placeholder: #b4bdc6;
  --app-input-radius: 0.375rem;
  --app-input-danger: #ff3e1d;
  --app-input-success: #71dd37;
  --app-input-file-btn-hover: #f2f2f2;
  --app-input-transition: border-color 0.15s ease-in-out;

  /* Card / modal — aliniere core.css (css-temp) */
  --app-sneat-card-radius: 0.5rem;
  --app-sneat-card-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
  --app-sneat-card-border: #d9dee3;
  --app-sneat-modal-shadow: 0 2px 16px 0 rgba(67, 89, 113, 0.45);
  --app-sneat-modal-shadow-sm-up: 0 2px 20px 0 rgba(67, 89, 113, 0.45);
  --app-sneat-backdrop: #435971;

  /* Tema Bootstrap — utilitare .bg-*, .text-*, .link-*, componente care citesc --bs-*-rgb */
  --bs-primary: #696cff;
  --bs-primary-rgb: 105, 108, 255;
  --bs-secondary: #8592a3;
  --bs-secondary-rgb: 133, 146, 163;
  --bs-success: #71dd37;
  --bs-success-rgb: 113, 221, 55;
  --bs-info: #03c3ec;
  --bs-info-rgb: 3, 195, 236;
  --bs-warning: #ffab00;
  --bs-warning-rgb: 255, 171, 0;
  --bs-danger: #ff3e1d;
  --bs-danger-rgb: 255, 62, 29;
  --bs-light: #dbdee0;
  --bs-light-rgb: 219, 222, 224;
  --bs-dark: #2b2c40;
  --bs-dark-rgb: 43, 44, 64;

  /* Tabele — core.css (Sneat): bordură #d9dee3, hover/stripe/active pe gri corporativ */
  --app-table-border-color: #d9dee3;
  --app-table-striped-bg: #f9fafb;
  --app-table-active-bg: rgba(67, 89, 113, 0.1);
  --app-table-hover-bg: rgba(67, 89, 113, 0.06);
}

/*
 * Utilitare .text-bg-* (Bootstrap 5.2+) — pachetul ~/lib/bootstrap/dist/css/bootstrap.min.css din proiect
 * nu le include; fără aceste reguli, badge-urile cu text-bg-primary / text-bg-secondary etc. nu au fundal.
 * Culori din :root (--bs-*-rgb), aliniate cu tema Sneat din acest fișier.
 */
.text-bg-primary {
  color: #fff !important;
  background-color: rgb(var(--bs-primary-rgb)) !important;
}
.text-bg-secondary {
  color: #fff !important;
  background-color: rgb(var(--bs-secondary-rgb)) !important;
}
.text-bg-success {
  color: #fff !important;
  background-color: rgb(var(--bs-success-rgb)) !important;
}
.text-bg-danger {
  color: #fff !important;
  background-color: rgb(var(--bs-danger-rgb)) !important;
}
.text-bg-info {
  color: #fff !important;
  background-color: rgb(var(--bs-info-rgb)) !important;
}
.text-bg-warning {
  color: #212529 !important;
  background-color: rgb(var(--bs-warning-rgb)) !important;
}

/* Badge-uri rotunde warning: text alb (inclusiv unde există .text-dark pe același element) */
.badge.text-bg-warning.rounded-pill {
  color: #fff !important;
}

.text-bg-light {
  color: #212529 !important;
  background-color: rgb(var(--bs-light-rgb)) !important;
}
.text-bg-dark {
  color: #fff !important;
  background-color: rgb(var(--bs-dark-rgb)) !important;
}

/* SweetAlert2 — buton confirm la ștergeri / Elimină (aliniat la --app-input-danger) */
.swal2-popup .swal2-styled.swal2-confirm {
  background-color: #ff3e1d !important;
  border-color: #ff3e1d !important;
}

.swal2-popup .swal2-styled.swal2-confirm:hover {
  background-color: #e63518 !important;
  border-color: #e63518 !important;
}

.swal2-popup .swal2-styled.swal2-confirm:focus,
.swal2-popup .swal2-styled.swal2-confirm:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 62, 29, 0.35) !important;
}

/* SweetAlert2 — flux REGES: buton OK primary (nu roșu de ștergere) */
.swal2-popup.swal-reges-ok .swal2-styled.swal2-confirm {
  background-color: rgb(var(--bs-primary-rgb)) !important;
  border-color: rgb(var(--bs-primary-rgb)) !important;
  color: #fff !important;
}

.swal2-popup.swal-reges-ok .swal2-styled.swal2-confirm:hover {
  filter: brightness(0.92);
  border-color: rgb(var(--bs-primary-rgb)) !important;
}

.swal2-popup.swal-reges-ok .swal2-styled.swal2-confirm:focus,
.swal2-popup.swal-reges-ok .swal2-styled.swal2-confirm:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.35) !important;
}

/*
 * Tooltip Bootstrap — același design ca la Angajați → listă → Acțiuni (Detalii / Editare):
 * fundal corporativ Sneat (--app-sneat-backdrop), Public Sans, umbră ușoară, opacitate 1.
 */
.tooltip {
  font-family: var(--bs-font-sans-serif);
}

[data-bs-toggle="tooltip"] {
  cursor: pointer;
}

.tooltip.show {
  opacity: 1;
}

.tooltip-inner {
  max-width: 260px;
  padding: 0.4rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  background-color: var(--app-sneat-backdrop);
  border-radius: var(--app-input-radius);
  box-shadow: 0 0.125rem 0.5rem rgba(67, 89, 113, 0.35);
}

.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--app-sneat-backdrop) !important;
}

.bs-tooltip-end .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--app-sneat-backdrop) !important;
}

.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--app-sneat-backdrop) !important;
}

.bs-tooltip-start .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--app-sneat-backdrop) !important;
}

/* Lățime maximă conținut principal — peste site.css (1400px); păstrăm centrare + lățime 100% pe ecrane înguste */
.app-content-inner {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --app-input-transition: none;
  }
}

/* —— Bază: input (text, password, number, date, search, email, url, tel, range ca form-control, etc.), textarea —— */
.form-control {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border: 1px solid var(--app-input-border);
  border-radius: var(--app-input-radius);
  transition: var(--app-input-transition);
  box-shadow: none;
}

.form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active) {
  border: 1px solid var(--app-input-border-hover);
}

.form-control:focus,
.form-control:focus-visible {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.form-control:active:not(:disabled):not([readonly]) {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
}

.form-control::placeholder {
  color: var(--app-input-placeholder);
  opacity: 1;
}

.form-control:disabled {
  color: var(--app-input-color);
  background-color: var(--app-input-bg-disabled);
  opacity: 1;
  cursor: not-allowed;
}

.form-control[readonly]:not(:disabled) {
  background-color: var(--app-input-bg-readonly);
  cursor: default;
  opacity: 1;
}

.form-control[type="file"] {
  overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control::file-selector-button {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border-color: inherit;
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active)::file-selector-button {
  background-color: var(--app-input-file-btn-hover);
}

@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}

/* —— Textarea —— */
textarea.form-control {
  min-height: calc(1.53em + 0.875rem + 2px);
}

/* —— Dimensiuni sm / lg (core.css) —— */
.form-control-sm {
  border-radius: 0.25rem;
}

.form-control-lg {
  border-radius: 0.5rem;
}

textarea.form-control-sm {
  min-height: calc(1.53em + 0.5rem + 2px);
}

textarea.form-control-lg {
  min-height: calc(1.53em + 1.5rem + 2px);
}

/* —— Select —— */
.form-select {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border: 1px solid var(--app-input-border);
  border-radius: var(--app-input-radius);
  transition: var(--app-input-transition);
  box-shadow: none;
}

.form-select:hover:not(:disabled):not(:focus):not(:active) {
  border: 1px solid var(--app-input-border-hover);
}

.form-select:focus,
.form-select:focus-visible {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.form-select:active:not(:disabled) {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
}

.form-select:disabled {
  color: var(--app-input-color);
  background-color: var(--app-input-bg-disabled);
  cursor: not-allowed;
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
  padding-right: 0.875rem;
  background-image: none;
}

.form-select-sm {
  border-radius: 0.25rem;
}

.form-select-lg {
  border-radius: 0.5rem;
}

/* —— Plaintext —— */
.form-control-plaintext {
  color: var(--app-input-color);
}

.form-control-plaintext:focus {
  outline: 0;
}

/* —— Grupuri de input —— */
.input-group-text {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border-color: var(--app-input-border);
}

.input-group > .form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active),
.input-group > .form-select:hover:not(:disabled):not(:focus):not(:active) {
  z-index: 2;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus {
  z-index: 5;
}

/* Login form - addon-urile urmeaza starea campului activ */
#login-form .input-group > .input-group-text {
  transition: var(--app-input-transition);
}

#login-form .input-group:has(.form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active))
  > .input-group-text {
  border-color: var(--app-input-border-hover);
}

#login-form .input-group:has(.form-control:focus),
#login-form .input-group:has(.form-control:focus-visible),
#login-form .input-group:has(.form-control:active:not(:disabled):not([readonly])) {
  z-index: 5;
}

#login-form .input-group:has(.form-control:focus) > .input-group-text,
#login-form .input-group:has(.form-control:focus-visible) > .input-group-text,
#login-form .input-group:has(.form-control:active:not(:disabled):not([readonly])) > .input-group-text {
  border-color: var(--app-input-focus-border);
}

#login-form .input-group:has(.form-control.is-invalid) > .input-group-text,
#login-form .input-group:has(.form-control.is-valid) > .input-group-text {
  z-index: 4;
}

#login-form .input-group:has(.form-control.is-invalid) > .input-group-text {
  border-color: var(--app-input-danger);
}

#login-form .input-group:has(.form-control.is-valid) > .input-group-text {
  border-color: var(--app-input-success);
}

/* —— Validare Bootstrap + HTML5 (tema Sneat din core.css) —— */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--app-input-success);
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus,
.was-validated .form-control:valid:focus-visible,
.form-control.is-valid:focus-visible {
  border: 1px solid var(--app-input-success);
  box-shadow: none;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--app-input-danger);
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus-visible,
.form-control.is-invalid:focus-visible {
  border: 1px solid var(--app-input-danger);
  box-shadow: none;
}

/* FormValidation — mesaje eroare: culoare aplicație (#ff3e1d), nu Bootstrap #dc3545
   (FV pune adesea .invalid-feedback pe același nod cu .fv-plugins-message-container, nu pe copil) */
.fv-plugins-message-container.fv-plugins-message-container--enabled.invalid-feedback,
.fv-plugins-message-container.fv-plugins-message-container--enabled .invalid-feedback,
.fv-plugins-message-container.fv-plugins-message-container--enabled .fv-help-block:not(.text-success) {
  color: var(--app-input-danger) !important;
}

.was-validated .form-select:valid,
.form-select.is-valid {
  border-color: var(--app-input-success);
}

.was-validated .form-select:valid:focus,
.form-select.is-valid:focus,
.was-validated .form-select:valid:focus-visible,
.form-select.is-valid:focus-visible {
  border: 1px solid var(--app-input-success);
  box-shadow: none;
}

.was-validated .form-select:invalid,
.form-select.is-invalid {
  border-color: var(--app-input-danger);
}

.was-validated .form-select:invalid:focus,
.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus-visible,
.form-select.is-invalid:focus-visible {
  border: 1px solid var(--app-input-danger);
  box-shadow: none;
}

.was-validated .input-group .form-control:invalid ~ .input-group-text,
.input-group .form-control.is-invalid ~ .input-group-text,
.was-validated .input-group .form-select:invalid ~ .input-group-text,
.input-group .form-select.is-invalid ~ .input-group-text {
  border-color: var(--app-input-danger);
}

.was-validated .input-group .form-control:valid ~ .input-group-text,
.input-group .form-control.is-valid ~ .input-group-text,
.was-validated .input-group .form-select:valid ~ .input-group-text,
.input-group .form-select.is-valid ~ .input-group-text {
  border-color: var(--app-input-success);
}

.was-validated .input-group .form-control:invalid:focus,
.input-group .form-control.is-invalid:focus {
  box-shadow: none;
}

.was-validated .input-group .form-control:invalid:focus ~ .input-group-text,
.input-group .form-control.is-invalid:focus ~ .input-group-text {
  border-color: var(--app-input-danger);
}

/* focus-visible: fără ring — tratat în regulile de mai sus (border 1px solid) */

/* —— Checkbox / radio —— */
.form-check-input {
  border: 1px solid var(--app-input-border);
  transition: var(--app-input-transition);
  box-shadow: none;
}

.form-check-input:hover:not(:disabled):not(:focus):not(:active) {
  border: 1px solid var(--app-input-border-hover);
}

.form-check-input:focus,
.form-check-input:focus-visible {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.form-check-input:active:not(:disabled) {
  filter: brightness(0.95);
}

.form-check-input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.was-validated .form-check-input:invalid,
.form-check-input.is-invalid {
  border-color: var(--app-input-danger);
}

.was-validated .form-check-input:invalid:focus,
.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus-visible,
.form-check-input.is-invalid:focus-visible {
  border: 1px solid var(--app-input-danger);
  box-shadow: none;
}

.was-validated .form-check-input:valid,
.form-check-input.is-valid {
  border-color: var(--app-input-success);
}

.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus,
.was-validated .form-check-input:valid:focus-visible,
.form-check-input.is-valid:focus-visible {
  border: 1px solid var(--app-input-success);
  box-shadow: none;
}

/*
 * Checkbox Sneat — același aspect ca Account / Login → Remember me
 * Folosiți: form-check app-form-check (nu pentru .form-switch — acolo e app-form-switch).
 */
.form-check.app-form-check:not(.form-switch) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.form-check.app-form-check:not(.form-switch) .form-check-input {
  margin-top: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.form-check.app-form-check:not(.form-switch) .form-check-label {
  margin-bottom: 0;
  color: var(--app-input-color);
  cursor: pointer;
}

.form-check.app-form-check:not(.form-switch) .form-check-input.is-invalid ~ .form-check-label,
.form-check.app-form-check:not(.form-switch) .form-check-input.is-valid ~ .form-check-label,
.was-validated .form-check.app-form-check:not(.form-switch) .form-check-input:invalid ~ .form-check-label,
.was-validated .form-check.app-form-check:not(.form-switch) .form-check-input:valid ~ .form-check-label {
  color: var(--app-text);
}

.form-check.app-form-check:not(.form-switch) .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.form-check.app-form-check:not(.form-switch) .form-check-input:focus,
.form-check.app-form-check:not(.form-switch) .form-check-input:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

/* —— Range —— */
.form-range:focus {
  outline: 0;
}

.form-range:disabled {
  pointer-events: none;
}

/* —— Floating labels —— */
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.75;
}

.form-floating > .form-control:focus,
.form-floating > .form-control:focus-visible,
.form-floating > .form-select:focus,
.form-floating > .form-select:focus-visible {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
}

.form-floating > .form-control.is-invalid:focus,
.form-floating > .form-control.is-invalid:focus-visible,
.form-floating > .form-select.is-invalid:focus,
.form-floating > .form-select.is-invalid:focus-visible {
  border: 1px solid var(--app-input-danger);
  box-shadow: none;
}

.form-floating > .form-control.is-valid:focus,
.form-floating > .form-control.is-valid:focus-visible,
.form-floating > .form-select.is-valid:focus,
.form-floating > .form-select.is-valid:focus-visible {
  border: 1px solid var(--app-input-success);
  box-shadow: none;
}

/* —— Căutare navbar (site.css definește placeholder; întărim consistența) —— */
.app-search .form-control::placeholder {
  color: var(--app-input-placeholder);
}

/* Header: același tip de câmp ca BirthPlace (form-control rounded-3), icon în interior; lățime mai mare pe desktop */
.app-topbar-search-outer {
  max-width: min(42rem, 100%);
}

.app-topbar-search-field > .app-awesomplete {
  position: relative;
  z-index: 0;
  width: 100%;
}

/* Iconul e primul copil, dar .app-awesomplete urmează în DOM și acoperă zona stângă — ridicăm pictograma deasupra */
.app-topbar-search-field .app-topbar-search-icon {
  z-index: 3;
}

.app-topbar-search-field .form-control {
  min-width: 0;
}

.app-topbar-search-field .form-control.app-topbar-search-input {
  min-height: 2.75rem;
}

/* Header: butoane notificări + profil — același limbaj vizual ca .form-control */
button.app-topbar-input-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.65rem;
  padding-right: 0.65rem;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border: 1px solid var(--app-input-border);
  box-shadow: none;
  transition: var(--app-input-transition);
  cursor: pointer;
  -webkit-appearance: button;
  appearance: button;
}

button.app-topbar-input-toggle:hover:not(:disabled) {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border-color: var(--app-input-border-hover);
}

button.app-topbar-input-toggle:focus,
button.app-topbar-input-toggle:focus-visible {
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  border-color: var(--app-input-focus-border);
  outline: 0;
  box-shadow: none;
}

button.app-topbar-input-toggle:active:not(:disabled) {
  border-color: var(--app-input-focus-border);
}

.app-topbar .dropdown.show > button.app-topbar-input-toggle[data-bs-toggle="dropdown"] {
  border-color: var(--app-input-focus-border);
}

button.app-topbar-input-toggle.app-topbar-input-toggle--profile {
  justify-content: flex-start;
}

/* Spațiu între badge-ul notificăril și butonul profil */
.app-topbar .app-notifications-dropdown {
  margin-right: 15px;
}

/* —— Grup special aplicație: fără ring; bordură focus ca mai sus —— */
.input-group-app .form-control:focus,
.input-group-app .form-control:focus-visible,
.input-group-app .form-control:active:not(:disabled):not([readonly]) {
  border: 1px solid var(--app-input-focus-border);
  box-shadow: none;
}

.input-group-app .form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active) {
  border: 1px solid var(--app-input-border-hover);
}

/* —— Etichete — design .form-label din core.css (inclusiv text-transform:uppercase pe .form-label + .col-form-label) —— */
.form-label {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--app-label-color);
  text-transform: uppercase;
  letter-spacing: inherit;
}

.form-label-lg {
  font-size: 1rem;
}

.form-label-sm {
  font-size: 0.75rem;
}

.col-form-label {
  padding-top: calc(0.4375rem + 1px);
  padding-bottom: calc(0.4375rem + 1px);
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.53;
  color: var(--app-label-color);
  text-transform: uppercase;
  letter-spacing: inherit;
}

.col-form-label-lg {
  padding-top: calc(0.75rem + 1px);
  padding-bottom: calc(0.75rem + 1px);
  font-size: 1rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.75rem;
}

.form-label.invalid,
form .form-label.is-invalid {
  border-color: var(--app-input-danger);
  box-shadow: 0 0 0 2px rgba(255, 62, 29, 0.4) !important;
}

/* Liste filtre: site.css avea stil propriu — aliniem la core (același fișier, după site.css) */
.app-filter-card .form-label,
.employee-list-filters .form-label,
.contract-list-filters .form-label,
.leave-request-filters .form-label,
.leave-entitlement-filters .form-label {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--app-label-color);
  text-transform: uppercase;
  letter-spacing: inherit;
}

/* ========== Tabele — referință Content/css-temp/core.css (Sneat): .table, .table-hover, .table-responsive, text-nowrap ========== */
/* Bază: variabile Sneat pe .table (Bootstrap 5.1 folosește --bs-table-* pe celule prin moștenire) */
.table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--app-table-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: var(--app-table-striped-bg);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: var(--app-table-active-bg);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: var(--app-table-hover-bg);
  vertical-align: middle;
  border-color: var(--bs-table-border-color);
}

.table > :not(caption) > * > * {
  padding: 0.625rem 1.25rem;
}

.table-sm > :not(caption) > * > * {
  padding: 0.3125rem 0.625rem;
}

/* Hover pe rând: același efect ca .table-hover (inclus pentru .table.table-hover), fără a modifica markup */
.table > tbody > tr:hover {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}

/* .table-responsive — același comportament ca în Bootstrap / core (scroll orizontal + touch) */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* text-nowrap — utilitar Bootstrap; în core.css este white-space: nowrap !important; nu duplicăm (păstrăm sursa Bootstrap) */

/* ========== Butoane — Bootstrap 5.1 are culori fixe pe .btn-*; aliniere Sneat (css-temp/core.css) ========== */
.btn-check:focus + .btn,
.btn:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.btn-primary {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-primary:hover {
  color: #fff;
  background-color: #5f61e6;
  border-color: #5f61e6;
}
.btn-check:focus + .btn-primary,
.btn-primary:focus {
  color: #fff;
  background-color: #5f61e6;
  border-color: #5f61e6;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);
}
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #5558d8;
  border-color: #5053cc;
}
.btn-check:checked + .btn-primary:focus,
.btn-check:active + .btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);
}
.btn-primary:disabled,
.btn-primary.disabled {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-secondary {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-secondary:hover {
  color: #fff;
  background-color: #747f8f;
  border-color: #747f8f;
}
.btn-check:focus + .btn-secondary,
.btn-secondary:focus {
  color: #fff;
  background-color: #747f8f;
  border-color: #747f8f;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.5);
}
.btn-check:checked + .btn-secondary,
.btn-check:active + .btn-secondary,
.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6d7886;
  border-color: #677180;
}
.btn-check:checked + .btn-secondary:focus,
.btn-check:active + .btn-secondary:focus,
.btn-secondary:active:focus,
.btn-secondary.active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.5);
}
.btn-secondary:disabled,
.btn-secondary.disabled {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

.btn-success {
  color: #fff;
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}
.btn-success:hover {
  color: #fff;
  background-color: #65c932;
  border-color: #65c932;
}
.btn-check:focus + .btn-success,
.btn-success:focus {
  color: #fff;
  background-color: #65c932;
  border-color: #65c932;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.5);
}
.btn-check:checked + .btn-success,
.btn-check:active + .btn-success,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #5fbc2d;
  border-color: #5ab32b;
}
.btn-check:checked + .btn-success:focus,
.btn-check:active + .btn-success:focus,
.btn-success:active:focus,
.btn-success.active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.5);
}
.btn-success:disabled,
.btn-success.disabled {
  color: #fff;
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}

.btn-info {
  color: #000;
  background-color: var(--bs-info);
  border-color: var(--bs-info);
}
.btn-info:hover {
  color: #000;
  background-color: #02b0d4;
  border-color: #02b0d4;
}
.btn-check:focus + .btn-info,
.btn-info:focus {
  color: #000;
  background-color: #02b0d4;
  border-color: #02b0d4;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-info-rgb), 0.5);
}
.btn-check:checked + .btn-info,
.btn-check:active + .btn-info,
.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
  color: #000;
  background-color: #02a0c4;
  border-color: #0296b8;
}
.btn-check:checked + .btn-info:focus,
.btn-check:active + .btn-info:focus,
.btn-info:active:focus,
.btn-info.active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-info-rgb), 0.5);
}
.btn-info:disabled,
.btn-info.disabled {
  color: #000;
  background-color: var(--bs-info);
  border-color: var(--bs-info);
}

.btn-warning {
  color: #000;
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
}
.btn-warning:hover {
  color: #000;
  background-color: #f0a000;
  border-color: #f0a000;
}
.btn-check:focus + .btn-warning,
.btn-warning:focus {
  color: #000;
  background-color: #f0a000;
  border-color: #f0a000;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-warning-rgb), 0.5);
}
.btn-check:checked + .btn-warning,
.btn-check:active + .btn-warning,
.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
  color: #000;
  background-color: #e09600;
  border-color: #d68f00;
}
.btn-check:checked + .btn-warning:focus,
.btn-check:active + .btn-warning:focus,
.btn-warning:active:focus,
.btn-warning.active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-warning-rgb), 0.5);
}
.btn-warning:disabled,
.btn-warning.disabled {
  color: #000;
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
}

.btn-danger {
  color: #fff;
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}
.btn-danger:hover {
  color: #fff;
  background-color: #e63518;
  border-color: #e63518;
}
.btn-check:focus + .btn-danger,
.btn-danger:focus {
  color: #fff;
  background-color: #e63518;
  border-color: #e63518;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.5);
}
.btn-check:checked + .btn-danger,
.btn-check:active + .btn-danger,
.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #d32f0f;
  border-color: #c82d0e;
}
.btn-check:checked + .btn-danger:focus,
.btn-check:active + .btn-danger:focus,
.btn-danger:active:focus,
.btn-danger.active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.5);
}
.btn-danger:disabled,
.btn-danger.disabled {
  color: #fff;
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}

.btn-light {
  color: #697a8d;
  background-color: var(--bs-light);
  border-color: var(--bs-light);
}
.btn-light:hover {
  color: #697a8d;
  background-color: #cfd3d6;
  border-color: #cfd3d6;
}
.btn-check:focus + .btn-light,
.btn-light:focus {
  color: #697a8d;
  background-color: #cfd3d6;
  border-color: #cfd3d6;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-light-rgb), 0.5);
}
.btn-check:checked + .btn-light,
.btn-check:active + .btn-light,
.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
  color: #697a8d;
  background-color: #c3c7c9;
  border-color: #c3c7c9;
}
.btn-check:checked + .btn-light:focus,
.btn-check:active + .btn-light:focus,
.btn-light:active:focus,
.btn-light.active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-light-rgb), 0.5);
}
.btn-light:disabled,
.btn-light.disabled {
  color: #697a8d;
  background-color: var(--bs-light);
  border-color: var(--bs-light);
}

.btn-dark {
  color: #fff;
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}
.btn-dark:hover {
  color: #fff;
  background-color: #242536;
  border-color: #242536;
}
.btn-check:focus + .btn-dark,
.btn-dark:focus {
  color: #fff;
  background-color: #242536;
  border-color: #242536;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-dark-rgb), 0.5);
}
.btn-check:checked + .btn-dark,
.btn-check:active + .btn-dark,
.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1f2030;
  border-color: #1c1d2b;
}
.btn-check:checked + .btn-dark:focus,
.btn-check:active + .btn-dark:focus,
.btn-dark:active:focus,
.btn-dark.active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-dark-rgb), 0.5);
}
.btn-dark:disabled,
.btn-dark.disabled {
  color: #fff;
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}

.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-check:focus + .btn-outline-primary,
.btn-outline-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);
}
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-check:checked + .btn-outline-primary:focus,
.btn-check:active + .btn-outline-primary:focus,
.btn-outline-primary:active:focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.5);
}
.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
  color: var(--bs-primary);
  background-color: transparent;
}

.btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-check:focus + .btn-outline-secondary,
.btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.5);
}
.btn-check:checked + .btn-outline-secondary,
.btn-check:active + .btn-outline-secondary,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-outline-secondary.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-check:checked + .btn-outline-secondary:focus,
.btn-check:active + .btn-outline-secondary:focus,
.btn-outline-secondary:active:focus,
.btn-outline-secondary.active:focus,
.btn-outline-secondary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-secondary-rgb), 0.5);
}
.btn-outline-secondary:disabled,
.btn-outline-secondary.disabled {
  color: var(--bs-secondary);
  background-color: transparent;
}

/* Login - butonul de toggle parola este afisat in interiorul inputului */
#login-form .app-login-password-input {
  font-size: 17px;
  padding-left: 0;
  padding-right: 3rem;
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

#login-form input[name="Email"] {
  font-size: 17px;
  padding-left: 3px;
}

#login-form .app-login-password-input.is-valid,
#login-form .was-validated .app-login-password-input:valid,
#login-form .app-login-password-input.is-invalid,
#login-form .was-validated .app-login-password-input:invalid {
  padding-right: 4.75rem;
  background-position: right 2.4rem center;
}

#login-form .input-group > .app-login-toggle-pass--sync {
  position: absolute;
  top: 1px;
  right: 0.2rem;
  z-index: 6;
  width: 2rem;
  height: 43px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--app-input-color);
  background: transparent;
  border: 0 !important;
  border-radius: 0;
}

#login-form .input-group > .app-login-toggle-pass--sync:hover,
#login-form .input-group > .app-login-toggle-pass--sync:focus,
#login-form .input-group > .app-login-toggle-pass--sync:focus-visible,
#login-form .input-group > .app-login-toggle-pass--sync:active {
  color: var(--app-input-color);
  background: transparent;
  border: 0 !important;
  box-shadow: none;
  outline: 0;
}

#login-form .input-group:has(.form-control:hover:not(:disabled):not([readonly]):not(:focus):not(:active)) .input-group-text i,
#login-form .input-group:has(.form-control:focus) .input-group-text i,
#login-form .input-group:has(.form-control:focus-visible) .input-group-text i,
#login-form .input-group:has(.form-control:active:not(:disabled):not([readonly])) .input-group-text i {
  color: var(--app-input-color);
}

#login-form .input-group:has(.form-control.is-valid) .input-group-text i,
#login-form .input-group:has(.form-control.is-invalid) .input-group-text i {
  color: var(--app-input-color);
}

#login-form .fv-plugins-icon-check,
#login-form .fv-plugins-icon-valid,
#login-form .fv-plugins-message-container--enabled .fv-help-block,
#login-form .fv-plugins-message-container--enabled .invalid-feedback[data-field][data-validator="callback"].text-success,
#login-form .valid-feedback,
#login-form .text-success {
  color: #71dd37;
}

#login-form .fv-plugins-icon-xmark,
#login-form .fv-plugins-icon-invalid,
#login-form .fv-plugins-message-container .fv-help-block,
#login-form .fv-plugins-message-container .invalid-feedback,
#login-form .invalid-feedback,
#login-form .text-danger {
  color: #ff3e1d;
}

#login-form .fv-plugins-bootstrap5-row-valid .form-control,
#login-form .fv-plugins-bootstrap5-row-valid .form-select,
#login-form .fv-plugins-bootstrap5-row-valid .input-group .input-group-text {
  border-color: #71dd37;
}

#login-form .fv-plugins-bootstrap5-row-invalid .form-control,
#login-form .fv-plugins-bootstrap5-row-invalid .form-select,
#login-form .fv-plugins-bootstrap5-row-invalid .input-group .input-group-text {
  border-color: #ff3e1d;
}

#employee-list-filters-form .app-filter-search-group,
#contract-list-filters-form .app-filter-search-group,
#reports-contract-filters-form .app-filter-search-group {
  background-color: var(--app-input-bg);
  border: 1px solid var(--app-input-border);
  border-radius: 0.25rem;
  transition: var(--app-input-transition);
}

#employee-list-filters-form .app-filter-search-group .input-group-text,
#employee-list-filters-form .app-filter-search-group .form-control,
#contract-list-filters-form .app-filter-search-group .input-group-text,
#contract-list-filters-form .app-filter-search-group .form-control {
  background-color: transparent;
}

#employee-list-filters-form .app-filter-search-group .input-group-text,
#contract-list-filters-form .app-filter-search-group .input-group-text,
#reports-contract-filters-form .app-filter-search-group .input-group-text {
  color: var(--app-input-color);
  transition: var(--app-input-transition);
}

#employee-list-filters-form .app-filter-search-group .form-control,
#contract-list-filters-form .app-filter-search-group .form-control,
#reports-contract-filters-form .app-filter-search-group .form-control {
  color: var(--app-input-color);
  padding-left: 0;
  font-size: 0.875rem;
}

#employee-list-filters-form .app-filter-search-group:hover,
#contract-list-filters-form .app-filter-search-group:hover,
#reports-contract-filters-form .app-filter-search-group:hover {
  border-color: var(--app-input-border-hover);
}

#employee-list-filters-form .app-filter-search-group:focus-within,
#contract-list-filters-form .app-filter-search-group:focus-within,
#reports-contract-filters-form .app-filter-search-group:focus-within {
  border-color: var(--app-input-focus-border);
}

#employee-list-filters-form .app-filter-search-group:hover .input-group-text i,
#employee-list-filters-form .app-filter-search-group:focus-within .input-group-text i,
#contract-list-filters-form .app-filter-search-group:hover .input-group-text i,
#contract-list-filters-form .app-filter-search-group:focus-within .input-group-text i,
#reports-contract-filters-form .app-filter-search-group:hover .input-group-text i,
#reports-contract-filters-form .app-filter-search-group:focus-within .input-group-text i {
  color: var(--app-input-color);
}

#employee-filters-advanced-toggle:focus,
#employee-filters-advanced-toggle:focus-visible,
#employee-filters-advanced-toggle[aria-expanded="true"],
#contract-advanced-filters-toggle:focus,
#contract-advanced-filters-toggle:focus-visible,
#contract-advanced-filters-toggle[aria-expanded="true"] {
  border: 0;
  box-shadow: none;
  outline: 0;
}

#employee-filters-advanced-toggle[aria-expanded="true"],
#contract-advanced-filters-toggle[aria-expanded="true"] {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

#employee-list-filters-form .btn-link.text-secondary:focus,
#employee-list-filters-form .btn-link.text-secondary:focus-visible,
#employee-list-filters-form .btn-link.text-secondary:active,
#contract-list-filters-form .btn-link.text-secondary:focus,
#contract-list-filters-form .btn-link.text-secondary:focus-visible,
#contract-list-filters-form .btn-link.text-secondary:active,
#reports-contract-filters-form .btn-link.text-secondary:focus,
#reports-contract-filters-form .btn-link.text-secondary:focus-visible,
#reports-contract-filters-form .btn-link.text-secondary:active,
#notification-filters-form .btn-link.text-secondary:focus,
#notification-filters-form .btn-link.text-secondary:focus-visible,
#notification-filters-form .btn-link.text-secondary:active,
#documents-expiring-filters-form .btn-link.text-secondary:focus,
#documents-expiring-filters-form .btn-link.text-secondary:focus-visible,
#documents-expiring-filters-form .btn-link.text-secondary:active,
#certifications-registry-filter-form .btn-link.text-secondary:focus,
#certifications-registry-filter-form .btn-link.text-secondary:focus-visible,
#certifications-registry-filter-form .btn-link.text-secondary:active,
#dependents-registry-filter-form .btn-link.text-secondary:focus,
#dependents-registry-filter-form .btn-link.text-secondary:focus-visible,
#dependents-registry-filter-form .btn-link.text-secondary:active,
#certifications-expiring-filter-form .btn-link.text-secondary:focus,
#certifications-expiring-filter-form .btn-link.text-secondary:focus-visible,
#certifications-expiring-filter-form .btn-link.text-secondary:active,
#leave-requests-filter-form .btn-link.text-secondary:focus,
#leave-requests-filter-form .btn-link.text-secondary:focus-visible,
#leave-requests-filter-form .btn-link.text-secondary:active,
#leave-entitlements-registry-filter-form .btn-link.text-secondary:focus,
#leave-entitlements-registry-filter-form .btn-link.text-secondary:focus-visible,
#leave-entitlements-registry-filter-form .btn-link.text-secondary:active,
#leave-approvals-filter-form .btn-link.text-secondary:focus,
#leave-approvals-filter-form .btn-link.text-secondary:focus-visible,
#leave-approvals-filter-form .btn-link.text-secondary:active,
#audit-index-filter-form .btn-link.text-secondary:focus,
#audit-index-filter-form .btn-link.text-secondary:focus-visible,
#audit-index-filter-form .btn-link.text-secondary:active,
#audit-employee-filter-form .btn-link.text-secondary:focus,
#audit-employee-filter-form .btn-link.text-secondary:focus-visible,
#audit-employee-filter-form .btn-link.text-secondary:active,
#positions-index-filter-form .btn-link.text-secondary:focus,
#positions-index-filter-form .btn-link.text-secondary:focus-visible,
#positions-index-filter-form .btn-link.text-secondary:active,
#org-units-index-filter-form .btn-link.text-secondary:focus,
#org-units-index-filter-form .btn-link.text-secondary:focus-visible,
#org-units-index-filter-form .btn-link.text-secondary:active,
#work-locations-index-filter-form .btn-link.text-secondary:focus,
#work-locations-index-filter-form .btn-link.text-secondary:focus-visible,
#work-locations-index-filter-form .btn-link.text-secondary:active {
  border: 1px solid var(--app-input-focus-border);
  border-radius: 0.375rem;
  box-shadow: none;
  outline: 0;
}

#employee-filters-advanced #f-hire-from.flatpickr-input + .form-control,
#employee-filters-advanced #f-hire-to.flatpickr-input + .form-control,
#contract-advanced-filters #filter-start-from.flatpickr-input + .form-control,
#contract-advanced-filters #filter-start-to.flatpickr-input + .form-control,
#contract-advanced-filters #filter-end-from.flatpickr-input + .form-control,
#contract-advanced-filters #filter-end-to.flatpickr-input + .form-control,
#notification-filters-form #nf-from.flatpickr-input + .form-control,
#notification-filters-form #nf-to.flatpickr-input + .form-control,
#audit-index-filter-form #auditFrom.flatpickr-input + .form-control,
#audit-index-filter-form #auditTo.flatpickr-input + .form-control,
#audit-employee-filter-form #auditFromEm.flatpickr-input + .form-control,
#audit-employee-filter-form #auditToEm.flatpickr-input + .form-control,
#leave-approvals-filter-form #laReqFrom.flatpickr-input + .form-control,
#leave-approvals-filter-form #laReqTo.flatpickr-input + .form-control,
#leave-requests-filter-form #lrSubFrom.flatpickr-input + .form-control,
#leave-requests-filter-form #lrSubTo.flatpickr-input + .form-control,
#leave-requests-filter-form #lrReqFrom.flatpickr-input + .form-control,
#leave-requests-filter-form #lrReqTo.flatpickr-input + .form-control {
  min-height: calc(1.53em + 0.5rem + 2px);
  padding: 0.25rem 2.25rem 0.25rem 0.5rem;
  font-size: 0.875rem;
  font-family: inherit;
  font-style: normal;
  color: var(--app-input-color);
  background-color: var(--app-input-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23697a8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2' ry='2'/%3E%3Cline x1='16' y1='2.8' x2='16' y2='7'/%3E%3Cline x1='8' y1='2.8' x2='8' y2='7'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.6rem center;
  background-size: 1rem 1rem;
  border: 1px solid var(--app-input-border);
  border-radius: 0.3rem;
  cursor: pointer;
}

#employee-filters-advanced #f-hire-from.flatpickr-input + .form-control:hover,
#employee-filters-advanced #f-hire-to.flatpickr-input + .form-control:hover,
#contract-advanced-filters #filter-start-from.flatpickr-input + .form-control:hover,
#contract-advanced-filters #filter-start-to.flatpickr-input + .form-control:hover,
#contract-advanced-filters #filter-end-from.flatpickr-input + .form-control:hover,
#contract-advanced-filters #filter-end-to.flatpickr-input + .form-control:hover,
#notification-filters-form #nf-from.flatpickr-input + .form-control:hover,
#notification-filters-form #nf-to.flatpickr-input + .form-control:hover,
#audit-index-filter-form #auditFrom.flatpickr-input + .form-control:hover,
#audit-index-filter-form #auditTo.flatpickr-input + .form-control:hover,
#audit-employee-filter-form #auditFromEm.flatpickr-input + .form-control:hover,
#audit-employee-filter-form #auditToEm.flatpickr-input + .form-control:hover,
#leave-approvals-filter-form #laReqFrom.flatpickr-input + .form-control:hover,
#leave-approvals-filter-form #laReqTo.flatpickr-input + .form-control:hover,
#leave-requests-filter-form #lrSubFrom.flatpickr-input + .form-control:hover,
#leave-requests-filter-form #lrSubTo.flatpickr-input + .form-control:hover,
#leave-requests-filter-form #lrReqFrom.flatpickr-input + .form-control:hover,
#leave-requests-filter-form #lrReqTo.flatpickr-input + .form-control:hover {
  border-color: var(--app-input-border-hover);
}

#employee-filters-advanced #f-hire-from.flatpickr-input + .form-control:focus,
#employee-filters-advanced #f-hire-from.flatpickr-input + .form-control:focus-visible,
#employee-filters-advanced #f-hire-to.flatpickr-input + .form-control:focus,
#employee-filters-advanced #f-hire-to.flatpickr-input + .form-control:focus-visible,
#contract-advanced-filters #filter-start-from.flatpickr-input + .form-control:focus,
#contract-advanced-filters #filter-start-from.flatpickr-input + .form-control:focus-visible,
#contract-advanced-filters #filter-start-to.flatpickr-input + .form-control:focus,
#contract-advanced-filters #filter-start-to.flatpickr-input + .form-control:focus-visible,
#contract-advanced-filters #filter-end-from.flatpickr-input + .form-control:focus,
#contract-advanced-filters #filter-end-from.flatpickr-input + .form-control:focus-visible,
#contract-advanced-filters #filter-end-to.flatpickr-input + .form-control:focus,
#contract-advanced-filters #filter-end-to.flatpickr-input + .form-control:focus-visible,
#notification-filters-form #nf-from.flatpickr-input + .form-control:focus,
#notification-filters-form #nf-from.flatpickr-input + .form-control:focus-visible,
#notification-filters-form #nf-to.flatpickr-input + .form-control:focus,
#notification-filters-form #nf-to.flatpickr-input + .form-control:focus-visible,
#audit-index-filter-form #auditFrom.flatpickr-input + .form-control:focus,
#audit-index-filter-form #auditFrom.flatpickr-input + .form-control:focus-visible,
#audit-index-filter-form #auditTo.flatpickr-input + .form-control:focus,
#audit-index-filter-form #auditTo.flatpickr-input + .form-control:focus-visible,
#audit-employee-filter-form #auditFromEm.flatpickr-input + .form-control:focus,
#audit-employee-filter-form #auditFromEm.flatpickr-input + .form-control:focus-visible,
#audit-employee-filter-form #auditToEm.flatpickr-input + .form-control:focus,
#audit-employee-filter-form #auditToEm.flatpickr-input + .form-control:focus-visible,
#leave-approvals-filter-form #laReqFrom.flatpickr-input + .form-control:focus,
#leave-approvals-filter-form #laReqFrom.flatpickr-input + .form-control:focus-visible,
#leave-approvals-filter-form #laReqTo.flatpickr-input + .form-control:focus,
#leave-approvals-filter-form #laReqTo.flatpickr-input + .form-control:focus-visible,
#leave-requests-filter-form #lrSubFrom.flatpickr-input + .form-control:focus,
#leave-requests-filter-form #lrSubFrom.flatpickr-input + .form-control:focus-visible,
#leave-requests-filter-form #lrSubTo.flatpickr-input + .form-control:focus,
#leave-requests-filter-form #lrSubTo.flatpickr-input + .form-control:focus-visible,
#leave-requests-filter-form #lrReqFrom.flatpickr-input + .form-control:focus,
#leave-requests-filter-form #lrReqFrom.flatpickr-input + .form-control:focus-visible,
#leave-requests-filter-form #lrReqTo.flatpickr-input + .form-control:focus,
#leave-requests-filter-form #lrReqTo.flatpickr-input + .form-control:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

#login-form .app-login-submit {
  min-height: 2.875rem;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

#login-form .app-login-submit i {
  font-size: 1.15rem;
}

.btn-outline-success {
  color: var(--bs-success);
  border-color: var(--bs-success);
}
.btn-outline-success:hover {
  color: #fff;
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}
.btn-check:focus + .btn-outline-success,
.btn-outline-success:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.5);
}
.btn-check:checked + .btn-outline-success,
.btn-check:active + .btn-outline-success,
.btn-outline-success:active,
.btn-outline-success.active,
.btn-outline-success.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}
.btn-check:checked + .btn-outline-success:focus,
.btn-check:active + .btn-outline-success:focus,
.btn-outline-success:active:focus,
.btn-outline-success.active:focus,
.btn-outline-success.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.5);
}
.btn-outline-success:disabled,
.btn-outline-success.disabled {
  color: var(--bs-success);
  background-color: transparent;
}

.btn-outline-info {
  color: var(--bs-info);
  border-color: var(--bs-info);
}
.btn-outline-info:hover {
  color: #fff;
  background-color: var(--bs-info);
  border-color: var(--bs-info);
}
.btn-check:focus + .btn-outline-info,
.btn-outline-info:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-info-rgb), 0.5);
}
.btn-check:checked + .btn-outline-info,
.btn-check:active + .btn-outline-info,
.btn-outline-info:active,
.btn-outline-info.active,
.btn-outline-info.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-info);
  border-color: var(--bs-info);
}
.btn-check:checked + .btn-outline-info:focus,
.btn-check:active + .btn-outline-info:focus,
.btn-outline-info:active:focus,
.btn-outline-info.active:focus,
.btn-outline-info.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-info-rgb), 0.5);
}
.btn-outline-info:disabled,
.btn-outline-info.disabled {
  color: var(--bs-info);
  background-color: transparent;
}

/* Acțiuni info (icon): pe notifications / leave approvals hover-ul global #000 face iconul negru pe fundal info — alb pentru contrast. */
.notification-center-page .btn-outline-info:hover,
.notification-center-page .btn-outline-info:active,
.notification-center-page .btn-outline-info.active,
.leave-approvals-table .btn-outline-info:hover,
.leave-approvals-table .btn-outline-info:active,
.leave-approvals-table .btn-outline-info.active,
.leave-approval-card-mobile .btn-outline-info:hover,
.leave-approval-card-mobile .btn-outline-info:active,
.leave-approval-card-mobile .btn-outline-info.active {
  color: #fff;
}

.btn-outline-warning {
  color: var(--bs-warning);
  border-color: var(--bs-warning);
}
.btn-outline-warning:hover {
  color: #000;
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
}
.btn-check:focus + .btn-outline-warning,
.btn-outline-warning:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-warning-rgb), 0.5);
}
.btn-check:checked + .btn-outline-warning,
.btn-check:active + .btn-outline-warning,
.btn-outline-warning:active,
.btn-outline-warning.active,
.btn-outline-warning.dropdown-toggle.show {
  color: #000;
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
}
.btn-check:checked + .btn-outline-warning:focus,
.btn-check:active + .btn-outline-warning:focus,
.btn-outline-warning:active:focus,
.btn-outline-warning.active:focus,
.btn-outline-warning.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-warning-rgb), 0.5);
}
.btn-outline-warning:disabled,
.btn-outline-warning.disabled {
  color: var(--bs-warning);
  background-color: transparent;
}

.btn-outline-danger {
  color: var(--bs-danger);
  border-color: var(--bs-danger);
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}
.btn-check:focus + .btn-outline-danger,
.btn-outline-danger:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.5);
}
.btn-check:checked + .btn-outline-danger,
.btn-check:active + .btn-outline-danger,
.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-outline-danger.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}
.btn-check:checked + .btn-outline-danger:focus,
.btn-check:active + .btn-outline-danger:focus,
.btn-outline-danger:active:focus,
.btn-outline-danger.active:focus,
.btn-outline-danger.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.5);
}
.btn-outline-danger:disabled,
.btn-outline-danger.disabled {
  color: var(--bs-danger);
  background-color: transparent;
}

.btn-outline-light {
  color: var(--bs-light);
  border-color: var(--bs-light);
}
.btn-outline-light:hover {
  color: #697a8d;
  background-color: var(--bs-light);
  border-color: var(--bs-light);
}
.btn-check:focus + .btn-outline-light,
.btn-outline-light:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-light-rgb), 0.5);
}
.btn-check:checked + .btn-outline-light,
.btn-check:active + .btn-outline-light,
.btn-outline-light:active,
.btn-outline-light.active,
.btn-outline-light.dropdown-toggle.show {
  color: #697a8d;
  background-color: var(--bs-light);
  border-color: var(--bs-light);
}
.btn-check:checked + .btn-outline-light:focus,
.btn-check:active + .btn-outline-light:focus,
.btn-outline-light:active:focus,
.btn-outline-light.active:focus,
.btn-outline-light.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-light-rgb), 0.5);
}
.btn-outline-light:disabled,
.btn-outline-light.disabled {
  color: var(--bs-light);
  background-color: transparent;
}

.btn-outline-dark {
  color: var(--bs-dark);
  border-color: var(--bs-dark);
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}
.btn-check:focus + .btn-outline-dark,
.btn-outline-dark:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-dark-rgb), 0.5);
}
.btn-check:checked + .btn-outline-dark,
.btn-check:active + .btn-outline-dark,
.btn-outline-dark:active,
.btn-outline-dark.active,
.btn-outline-dark.dropdown-toggle.show {
  color: #fff;
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
}
.btn-check:checked + .btn-outline-dark:focus,
.btn-check:active + .btn-outline-dark:focus,
.btn-outline-dark:active:focus,
.btn-outline-dark.active:focus,
.btn-outline-dark.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-dark-rgb), 0.5);
}
.btn-outline-dark:disabled,
.btn-outline-dark.disabled {
  color: var(--bs-dark);
  background-color: transparent;
}

.btn-link {
  font-weight: 400;
  color: var(--bs-primary);
  text-decoration: underline;
}
.btn-link:hover {
  color: #5f61e6;
}
.btn-link:disabled,
.btn-link.disabled {
  color: var(--bs-secondary);
}

/* Dimensiuni sm/lg — aceleași breakpoint-uri ca Bootstrap; culorile moștenesc variantele de mai sus */
.btn-lg,
.btn-group-lg > .btn {
  border-radius: 0.3rem;
}

.btn-sm,
.btn-group-sm > .btn {
  border-radius: 0.2rem;
}

/* ========== Badge — core.css (Sneat): același „schelet” pentru .badge și .badge-app; .rounded-pill din Bootstrap ========== */
.badge,
.badge-app {
  padding: 0.52em 0.593em;
  font-size: 0.8125em;
  font-weight: 500;
  line-height: 1;
  border-radius: 0.25rem;
  letter-spacing: normal;
}

.badge-app--warning {
  background-color: rgba(var(--bs-warning-rgb), 0.18) !important;
  color: var(--bs-warning) !important;
}

/*
 * Badge .rounded-pill + text-bg-* — schelet Sneat (padding pill), peste tot în aplicație.
 */
.badge.rounded-pill {
  padding: 0.52em 0.875em;
  font-size: 0.8125em;
  font-weight: 500;
  line-height: 1;
}

.employee-list-table tbody td,
.employee-list-mobile-card,
.employee-list-mobile-card .small,
.employee-list-mobile-card .text-secondary,
.employee-list-mobile-card .text-dark {
  font-size: 17px;
  font-style: normal;
  color: var(--bs-secondary);
}

.employee-list-table thead th {
  font-size: 0.9rem;
}

.employee-list-table thead .bx-info-circle,
.employee-list-table thead .bxs-check-shield {
  font-size: 20px;
  cursor: pointer;
}

.employee-row-action {
  color: var(--bs-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  cursor: pointer;
}

.employee-row-action i {
  font-size: 25px;
}

.employee-row-action .bx-id-card {
  color: var(--bs-info);
}

.employee-row-action .bx-edit-alt {
  color: var(--bs-primary);
}

.employee-row-action:hover,
.employee-row-action:focus,
.employee-row-action:focus-visible {
  color: var(--bs-primary);
  text-decoration: none;
  box-shadow: none;
  outline: 0;
}

#employee-create-form .form-control.is-invalid,
#employee-create-form .was-validated .form-control:invalid,
#employee-create-form .form-select.is-invalid,
#employee-create-form .was-validated .form-select:invalid {
  border-color: #ff3e1d;
}

#employee-create-form .invalid-feedback,
#employee-create-form .text-danger,
#employee-create-form .fv-plugins-message-container .fv-help-block,
#employee-create-form .fv-plugins-icon-invalid,
#employee-create-form .fv-plugins-icon-xmark {
  color: #ff3e1d;
}

#employee-create-form .employee-create-birthdate.flatpickr-input + .form-control,
#employee-create-form .employee-create-birthdate,
#employee-create-form .employee-create-birthdate-alt {
  background-color: #fff;
  color: var(--app-input-color);
  cursor: pointer;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23697a8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2' ry='2'/%3E%3Cline x1='16' y1='2.8' x2='16' y2='7'/%3E%3Cline x1='8' y1='2.8' x2='8' y2='7'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
}

#employee-create-form .employee-create-birthdate::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
}

#employee-create-form .employee-create-birthdate:hover,
#employee-create-form .employee-create-birthdate.flatpickr-input + .form-control:hover,
#employee-create-form .employee-create-birthdate-alt:hover {
  border-color: var(--app-input-border-hover);
}

#employee-create-form .employee-create-birthdate:focus,
#employee-create-form .employee-create-birthdate:focus-visible,
#employee-create-form .employee-create-birthdate.flatpickr-input + .form-control:focus,
#employee-create-form .employee-create-birthdate.flatpickr-input + .form-control:focus-visible,
#employee-create-form .employee-create-birthdate-alt:focus,
#employee-create-form .employee-create-birthdate-alt:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

#employee-create-form .employee-create-actions .btn.btn-light.border.rounded-3.d-none.d-sm-inline-flex {
  align-items: center;
  justify-content: center;
}

#employee-edit-form .form-control.is-invalid,
#employee-edit-form .was-validated .form-control:invalid,
#employee-edit-form .form-select.is-invalid,
#employee-edit-form .was-validated .form-select:invalid {
  border-color: #ff3e1d;
}

#employee-edit-form .invalid-feedback,
#employee-edit-form .text-danger,
#employee-edit-form .fv-plugins-message-container .fv-help-block,
#employee-edit-form .fv-plugins-icon-invalid,
#employee-edit-form .fv-plugins-icon-xmark {
  color: #ff3e1d;
}

#employee-edit-form .employee-edit-birthdate.flatpickr-input + .form-control,
#employee-edit-form .employee-edit-birthdate,
#employee-edit-form .employee-edit-birthdate-alt {
  background-color: #fff;
  color: var(--app-input-color);
  cursor: pointer;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23697a8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2' ry='2'/%3E%3Cline x1='16' y1='2.8' x2='16' y2='7'/%3E%3Cline x1='8' y1='2.8' x2='8' y2='7'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
}

#employee-edit-form .employee-edit-birthdate::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
}

#employee-edit-form .employee-edit-birthdate:hover,
#employee-edit-form .employee-edit-birthdate.flatpickr-input + .form-control:hover,
#employee-edit-form .employee-edit-birthdate-alt:hover {
  border-color: var(--app-input-border-hover);
}

#employee-edit-form .employee-edit-birthdate:focus,
#employee-edit-form .employee-edit-birthdate:focus-visible,
#employee-edit-form .employee-edit-birthdate.flatpickr-input + .form-control:focus,
#employee-edit-form .employee-edit-birthdate.flatpickr-input + .form-control:focus-visible,
#employee-edit-form .employee-edit-birthdate-alt:focus,
#employee-edit-form .employee-edit-birthdate-alt:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.employee-personal-cnp-icon {
  font-size: 18px;
  cursor: pointer;
}

.employee-edit-info-icon {
  font-size: 16px;
  cursor: pointer;
}


.employee-list-page .badge.rounded-pill.text-bg-secondary {
  cursor: pointer;
}

#employee-list-filters-form .border-light,
#contract-list-filters-form .border-light,
#reports-contract-filters-form .border-light,
.notification-center-page .border-light,
.documents-expiring-page .border-light,
.certifications-index-page .border-light,
.dependents-index-page .border-light,
.certifications-expiring-page .border-light,
.leave-requests-filter-page .border-light,
.leave-approvals-filter-page .border-light,
.audit-index-filter-page .border-light,
.positions-index-filter-page .border-light,
.org-units-index-filter-page .border-light,
.work-locations-index-filter-page .border-light,
.leave-entitlements-registry-filter-page .border-light {
  border-color: #d9dee3 !important;
}

#employee-list-filters-form .row.g-3.align-items-end,
#contract-list-filters-form .row.g-3.align-items-end,
#reports-contract-filters-form .row.g-3.align-items-end,
#leave-requests-filter-form .row.g-3.align-items-end,
#leave-approvals-filter-form .row.g-3.align-items-end,
#audit-index-filter-form .row.g-2.g-md-3.align-items-end,
#audit-employee-filter-form .row.g-2.g-md-3.align-items-end,
#positions-index-filter-form .row.g-2.g-md-3.align-items-end,
#org-units-index-filter-form .row.g-2.g-md-3.align-items-end,
#work-locations-index-filter-form .row.g-2.g-md-3.align-items-end,
#leave-entitlements-registry-filter-form .row.g-2.g-md-3.align-items-end {
  margin-bottom: 0.75rem;
}

.app-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-empty-state__icon > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.employee-list-empty .app-empty-state__icon,
.notification-center-empty .app-empty-state__icon,
.compliance-documents-empty .app-empty-state__icon,
.certifications-registry-empty .app-empty-state__icon,
.dependents-registry-empty .app-empty-state__icon,
.audit-registry-empty .app-empty-state__icon,
.leave-requests-empty .app-empty-state__icon,
.contract-list-empty .app-empty-state__icon {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

/* .rounded-pill: raza pill vine din Bootstrap (50rem !important) */

/* ========== Card — referință Content/css-temp/core.css ========== */
/* Umbră Sneat pe toate card-urile */
.card {
  background-color: #fff;
  border: 0 solid var(--app-sneat-card-border);
  border-radius: var(--app-sneat-card-radius);
  box-shadow: var(--app-sneat-card-shadow);
}

.card > .list-group:first-child {
  border-top-left-radius: var(--app-sneat-card-radius);
  border-top-right-radius: var(--app-sneat-card-radius);
}

.card > .list-group:last-child {
  border-bottom-right-radius: var(--app-sneat-card-radius);
  border-bottom-left-radius: var(--app-sneat-card-radius);
}

/* Card-uri principale HrApp: rază din tema aplicației (site.css :root --app-radius), aceeași umbră Sneat */
.card.card-app {
  border-radius: var(--app-radius);
  /* Bootstrap .shadow-sm folosește !important — trebuie pentru a aplica umbră Sneat */
  box-shadow: var(--app-sneat-card-shadow) !important;
}

/* Card cu utilitar shadow-sm în markup: păstrăm umbră Sneat în loc de umbra Bootstrap */
.card.shadow-sm {
  box-shadow: var(--app-sneat-card-shadow) !important;
}

.card.card-app > .list-group:first-child {
  border-top-left-radius: var(--app-radius);
  border-top-right-radius: var(--app-radius);
}

.card.card-app > .list-group:last-child {
  border-bottom-right-radius: var(--app-radius);
  border-bottom-left-radius: var(--app-radius);
}

.card.card-app .card-img-overlay {
  border-radius: var(--app-radius);
}

.card.card-app .card-img,
.card.card-app .card-img-top {
  border-top-left-radius: var(--app-radius);
  border-top-right-radius: var(--app-radius);
}

.card.card-app .card-img,
.card.card-app .card-img-bottom {
  border-bottom-right-radius: var(--app-radius);
  border-bottom-left-radius: var(--app-radius);
}

.card-body {
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem;
  color: inherit;
}

.card-title {
  margin-bottom: 0.875rem;
}

.card-subtitle {
  margin-top: calc(-0.5 * 0.875rem);
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: 1.5rem;
}

.card-header {
  padding: 1.5rem 1.5rem;
  margin-bottom: 0;
  color: inherit;
  background-color: transparent;
  border-bottom: 0 solid var(--app-sneat-card-border);
}

.card-header:first-child {
  border-radius: var(--app-sneat-card-radius) var(--app-sneat-card-radius) 0 0;
}

.card-header-tabs {
  margin-right: calc(-0.5 * 1.5rem);
  margin-bottom: calc(-1 * 1.5rem);
  margin-left: calc(-0.5 * 1.5rem);
  border-bottom: 0;
}

.card-header-tabs .nav-link.active {
  background-color: #fff;
  border-bottom-color: #fff;
}

.card-header-pills {
  margin-right: calc(-0.5 * 1.5rem);
  margin-left: calc(-0.5 * 1.5rem);
}

.card-footer {
  padding: 1.5rem 1.5rem;
  color: inherit;
  background-color: transparent;
  border-top: 0 solid var(--app-sneat-card-border);
}

.card-footer:last-child {
  border-radius: 0 0 var(--app-sneat-card-radius) var(--app-sneat-card-radius);
}

.card-img-overlay {
  padding: 1.5rem;
  border-radius: var(--app-sneat-card-radius);
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--app-sneat-card-radius);
  border-top-right-radius: var(--app-sneat-card-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--app-sneat-card-radius);
  border-bottom-left-radius: var(--app-sneat-card-radius);
}

.card-group > .card {
  margin-bottom: 0.8125rem;
}

@media (min-width: 576px) {
  .card-group > .card {
    margin-bottom: 0;
  }

  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }

  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }

  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }

  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

/* ========== Modal — referință Content/css-temp/core.css ========== */
.modal {
  z-index: 1090;
}

.modal-backdrop {
  z-index: 1089;
  background-color: var(--app-sneat-backdrop);
}

.modal.fade .modal-dialog {
  transition: transform 0.15s ease-out;
  transform: translateY(-100px) scale(0.8);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: translateY(0) scale(1);
}

.modal-dialog {
  margin: 1.5rem;
}

.modal-dialog-scrollable {
  height: calc(100% - 3rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3rem);
}

.modal-content:not(.app-modal) {
  color: inherit;
  background-color: #fff;
  border: 0 solid transparent;
  border-radius: 0.5rem;
  box-shadow: var(--app-sneat-modal-shadow);
  outline: 0;
}

.modal-header:not(.app-modal__header) {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.5rem 0.25rem;
  border-bottom: 0 solid transparent;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.modal-header:not(.app-modal__header) .btn-close {
  padding: 0.125rem 0.75rem;
  margin: -0.125rem -0.75rem -0.125rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.53;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1.5rem;
}

.modal-footer:not(.app-modal__footer) {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 1.25rem;
  background-color: transparent;
  border-top: 0 solid transparent;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.modal-footer:not(.app-modal__footer) > * {
  margin: 0.25rem;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 35rem;
    margin: 1.75rem auto;
  }

  .modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
  }

  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }

  .modal-content:not(.app-modal) {
    box-shadow: var(--app-sneat-modal-shadow-sm-up);
  }

  .modal-sm {
    max-width: 22.5rem;
  }
}

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 50rem;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.modal-fullscreen .modal-content {
  border-radius: 0;
}

.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

/* —— Responsive: font minim pe ecrane înguste (page-auth.css / iOS zoom) —— */
@media (max-width: 575.98px) {
  .form-control:not(.form-control-sm),
  .form-select:not(.form-select-sm) {
    font-size: 1rem;
  }
}

/* =============================================================================
   Toast-uri — HrApp (unificat: .app-toast--{variant} + --app-toast-bg-* / --app-toast-shadow-*)
   - hrAppShowGeneralFormErrorToast → #appToastContainerGeneral
   - hrAppShowToast → #appToastContainer
   Variant: primary | success | info | warning | danger (text alb + btn-close-white)
   ============================================================================= */

:root {
  --app-toast-radius: 0.5rem;
  --app-toast-bg-primary: rgba(105, 108, 255, 0.85);
  --app-toast-shadow-primary: 0 0.25rem 1rem rgba(105, 108, 255, 0.4);
  --app-toast-bg-success: rgba(113, 221, 55, 0.85);
  --app-toast-shadow-success: 0 0.25rem 1rem rgba(113, 221, 55, 0.4);
  --app-toast-bg-info: rgba(3, 195, 236, 0.85);
  --app-toast-shadow-info: 0 0.25rem 1rem rgba(3, 195, 236, 0.4);
  --app-toast-bg-warning: rgba(255, 171, 0, 0.85);
  --app-toast-shadow-warning: 0 0.25rem 1rem rgba(255, 171, 0, 0.4);
  --app-toast-bg-danger: rgba(255, 62, 29, 0.85);
  --app-toast-shadow-danger: 0 0.25rem 1rem rgba(255, 62, 29, 0.4);
}

/* Corp: același strat colorat ca părintele (fără fundal alb) */
#appToastContainerGeneral .toast.app-toast .toast-body,
#appToastContainer .toast.app-toast .toast-body,
.app-toast-container--general .toast.app-toast .toast-body {
  background-color: transparent !important;
  color: inherit !important;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 0.85rem;
  padding-right: 0.85rem;
}

.toast.app-toast.app-toast--primary {
  background-color: var(--app-toast-bg-primary) !important;
  box-shadow: var(--app-toast-shadow-primary) !important;
  border-radius: var(--app-toast-radius);
  overflow: hidden;
  border: 0 !important;
  color: #fff;
}

.toast.app-toast.app-toast--success {
  background-color: var(--app-toast-bg-success) !important;
  box-shadow: var(--app-toast-shadow-success) !important;
  border-radius: var(--app-toast-radius);
  overflow: hidden;
  border: 0 !important;
  color: #fff;
}

.toast.app-toast.app-toast--info {
  background-color: var(--app-toast-bg-info) !important;
  box-shadow: var(--app-toast-shadow-info) !important;
  border-radius: var(--app-toast-radius);
  overflow: hidden;
  border: 0 !important;
  color: #fff;
}

.toast.app-toast.app-toast--warning {
  background-color: var(--app-toast-bg-warning) !important;
  box-shadow: var(--app-toast-shadow-warning) !important;
  border-radius: var(--app-toast-radius);
  overflow: hidden;
  border: 0 !important;
  color: #fff;
}

.toast.app-toast.app-toast--danger {
  background-color: var(--app-toast-bg-danger) !important;
  box-shadow: var(--app-toast-shadow-danger) !important;
  border-radius: var(--app-toast-radius);
  overflow: hidden;
  border: 0 !important;
  color: #fff;
}

.toast.app-toast .btn-close {
  opacity: 0.92;
}

.toast.app-toast .btn-close:hover {
  opacity: 1;
}

/* —— asp-validation-summary: fără erori = validation-summary-valid; cu erori = validation-summary-errors.
   Clasele fixe alert alert-danger rămân mereu pe div — altfel „cutie roșie goală” când totul e valid. —— */
.validation-summary-valid {
  display: none !important;
}

.employee-details-tabs-card .card-header {
  border-radius: var(--app-radius);
}

.employee-details-tab-panel .card-header {
  border-radius: var(--app-radius) var(--app-radius) 0 0 !important;
}

.employee-details-hiredate__icon {
  font-size: 20px;
}

.employee-details-hiredate__label {
  color: var(--bs-secondary);
  font-size: 1rem;
  letter-spacing: 0.06em;
}

.employee-details-hiredate__value {
  font-size: 1rem;
  letter-spacing: 0.01em;
}

/* Flatpickr — câmpuri dată (design unitar: icon calendar, hover/focus ca input Sneat; marcați input[type=date] cu .app-fp-date) */
.app-fp-date.flatpickr-input + .form-control,
.app-fp-date,
.app-fp-date-alt {
  background-color: #fff;
  color: var(--app-input-color);
  cursor: pointer;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23697a8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2' ry='2'/%3E%3Cline x1='16' y1='2.8' x2='16' y2='7'/%3E%3Cline x1='8' y1='2.8' x2='8' y2='7'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
}

.app-fp-date::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
}

.app-fp-date:hover,
.app-fp-date.flatpickr-input + .form-control:hover,
.app-fp-date-alt:hover {
  border-color: var(--app-input-border-hover);
}

.app-fp-date:focus,
.app-fp-date:focus-visible,
.app-fp-date.flatpickr-input + .form-control:focus,
.app-fp-date.flatpickr-input + .form-control:focus-visible,
.app-fp-date-alt:focus,
.app-fp-date-alt:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.app-fp-date.flatpickr-input.is-invalid + .form-control,
.app-fp-date-alt.is-invalid {
  border-color: var(--app-input-danger);
}

.app-fp-date.flatpickr-input.is-invalid + .form-control:focus,
.app-fp-date.flatpickr-input + .form-control.is-invalid:focus,
.app-fp-date.flatpickr-input + .form-control.is-invalid:focus-visible,
.app-fp-date-alt.is-invalid:focus,
.app-fp-date-alt.is-invalid:focus-visible {
  border-color: var(--app-input-danger);
  box-shadow: none;
  outline: 0;
}

/*
 * Switch Sneat — form-check.form-switch.app-form-switch
 * (fost app-contact-primary-switch pe contact/adresă; același design peste tot în app)
 */
.form-check.form-switch.app-form-switch .form-check-input,
.form-check.form-switch.app-form-switch .form-check-label {
  cursor: pointer;
}

.form-check.form-switch.app-form-switch {
  min-height: 1.5rem;
  padding-left: 2.75rem;
}

.form-check.form-switch.app-form-switch .form-check-input {
  margin-top: 0;
  margin-left: -2.75rem;
  width: 2.5rem;
  height: 1.5rem;
  background-color: #fff;
  border-color: var(--app-input-border);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23a8b1bd'/%3E%3C/svg%3E");
  background-position: left center;
  box-shadow: none;
}

.form-check.form-switch.app-form-switch .form-check-input:hover:not(:focus):not(:active) {
  border-color: var(--app-input-border-hover);
}

.form-check.form-switch.app-form-switch .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffffff'/%3E%3C/svg%3E");
  background-position: right center;
}

.form-check.form-switch.app-form-switch .form-check-input:focus,
.form-check.form-switch.app-form-switch .form-check-input:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

.form-check.form-switch.app-form-switch .form-check-label {
  color: var(--app-label-color);
}

#employeeContactModal .btn-close:focus,
#employeeContactModal .btn-close:focus-visible,
#employeeContactModal .btn-close:active {
  box-shadow: none;
  outline: 0;
  border: 0;
}

.modal-dialog-scrollable .modal-content {
  display: flex;
  flex-direction: column;
}

.modal-dialog-scrollable .modal-content > form,
.modal-dialog-scrollable .modal-content > .modal-body,
.modal-dialog-scrollable .modal-content > [id$='ModalBody'] > form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.modal-dialog-scrollable .modal-content > form .modal-body,
.modal-dialog-scrollable .modal-content > [id$='ModalBody'] > form .modal-body,
.modal-dialog-scrollable .modal-content > .modal-body {
  overflow-y: auto;
}

/* Contract create/edit — EndDate + flatpickr (stări invalid / FV; aspect .app-fp-date pe inputuri) */
#contract-create-form .form-control.is-invalid,
#contract-create-form .form-select.is-invalid,
#contract-edit-form .form-control.is-invalid,
#contract-edit-form .form-select.is-invalid {
  border-color: #ff3e1d;
}

#contract-create-form .invalid-feedback,
#contract-create-form .text-danger,
#contract-create-form .fv-plugins-message-container .fv-help-block,
#contract-create-form .fv-plugins-icon-invalid,
#contract-edit-form .invalid-feedback,
#contract-edit-form .text-danger,
#contract-edit-form .fv-plugins-message-container .fv-help-block,
#contract-edit-form .fv-plugins-icon-invalid {
  color: #ff3e1d;
}

/*
 * FormValidation + Bootstrap 5: mesajele din .fv-plugins-message-container nu sunt frați ~ ai
 * câmpului .is-invalid, deci regula implicită Bootstrap (.is-invalid ~ .invalid-feedback) nu se
 * aplică și feedback-ul rămâne display:none. Forțăm afișarea când rândul e marcat invalid de FV.
 */
#contract-create-form .fv-plugins-bootstrap5-row-invalid .fv-plugins-message-container .invalid-feedback,
#contract-create-form .fv-plugins-bootstrap5-row-invalid .fv-plugins-message-container .fv-help-block,
#contract-edit-form .fv-plugins-bootstrap5-row-invalid .fv-plugins-message-container .invalid-feedback,
#contract-edit-form .fv-plugins-bootstrap5-row-invalid .fv-plugins-message-container .fv-help-block {
  display: block !important;
}

#contract-create-form .contract-fp-time.flatpickr-input + .form-control,
#contract-create-form .contract-fp-time,
#contract-create-form .contract-fp-time-alt,
#contract-edit-form .contract-fp-time.flatpickr-input + .form-control,
#contract-edit-form .contract-fp-time,
#contract-edit-form .contract-fp-time-alt {
  background-color: #fff;
  color: var(--app-input-color);
  cursor: pointer;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23697a8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
}

#contract-create-form .contract-fp-time:hover,
#contract-create-form .contract-fp-time.flatpickr-input + .form-control:hover,
#contract-create-form .contract-fp-time-alt:hover,
#contract-edit-form .contract-fp-time:hover,
#contract-edit-form .contract-fp-time.flatpickr-input + .form-control:hover,
#contract-edit-form .contract-fp-time-alt:hover {
  border-color: var(--app-input-border-hover);
}

#contract-create-form .contract-fp-time:focus,
#contract-create-form .contract-fp-time:focus-visible,
#contract-create-form .contract-fp-time.flatpickr-input + .form-control:focus,
#contract-create-form .contract-fp-time.flatpickr-input + .form-control:focus-visible,
#contract-create-form .contract-fp-time-alt:focus,
#contract-create-form .contract-fp-time-alt:focus-visible,
#contract-edit-form .contract-fp-time:focus,
#contract-edit-form .contract-fp-time:focus-visible,
#contract-edit-form .contract-fp-time.flatpickr-input + .form-control:focus,
#contract-edit-form .contract-fp-time.flatpickr-input + .form-control:focus-visible,
#contract-edit-form .contract-fp-time-alt:focus,
#contract-edit-form .contract-fp-time-alt:focus-visible {
  border-color: var(--app-input-focus-border);
  box-shadow: none;
  outline: 0;
}

#contract-create-form .contract-fp-time.flatpickr-input.is-invalid + .form-control,
#contract-create-form .contract-fp-time-alt.is-invalid,
#contract-edit-form .contract-fp-time.flatpickr-input.is-invalid + .form-control,
#contract-edit-form .contract-fp-time-alt.is-invalid {
  border-color: #ff3e1d;
}

/* Modal profil muncă (contract) — aceleași stări invalid ca pe create/edit CIM */
#workProfileForm .form-control.is-invalid,
#workProfileForm .form-select.is-invalid {
  border-color: #ff3e1d;
}
#workProfileForm .contract-fp-time.flatpickr-input.is-invalid + .form-control,
#workProfileForm .contract-fp-time-alt.is-invalid {
  border-color: #ff3e1d;
}

/* —— Profil: card Parolă + 2FA (Account/Profile) — tab-uri verticale stânga (Sneat nav-align-left) —— */
.profile-security-tabs {
  border: 1px solid var(--app-sneat-card-border);
  box-shadow: var(--app-sneat-card-shadow), 0 0.25rem 1rem rgba(var(--bs-primary-rgb), 0.08);
  overflow: hidden;
  background-color: #fff;
}

.profile-security-tabs > .card-body {
  background-color: #fff;
}

.profile-security-tabs .nav-align-left {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 12rem;
}

.profile-security-tabs .nav-align-left.nav-tabs-shadow {
  box-shadow: inset 0 0 0 1px rgba(67, 89, 113, 0.06);
}

@media (min-width: 768px) {
  .profile-security-tabs .nav-align-left {
    flex-direction: row;
  }
}

.profile-security-tabs .nav-align-left > .nav-tabs {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  border-bottom: 1px solid var(--app-sneat-card-border);
  background-color: rgba(var(--bs-primary-rgb), 0.04);
  padding: 0.5rem 0;
  gap: 0;
}

@media (min-width: 768px) {
  .profile-security-tabs .nav-align-left > .nav-tabs {
    width: 13.5rem;
    max-width: 42%;
    flex-shrink: 0;
    border-bottom: none;
    border-right: 1px solid var(--app-sneat-card-border);
    padding: 0.75rem 0;
  }
}

.profile-security-tabs .nav-align-left > .nav-tabs .nav-item {
  width: 100%;
  margin-bottom: 0;
}

.profile-security-tabs .nav-align-left > .nav-tabs .nav-link {
  color: var(--bs-secondary);
  border: none;
  border-radius: 0;
  font-weight: 500;
  margin: 0;
  border-bottom: 3px solid transparent;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

@media (min-width: 768px) {
  .profile-security-tabs .nav-align-left > .nav-tabs .nav-link {
    border-bottom: none;
    border-right: 3px solid transparent;
  }
}

.profile-security-tabs .nav-align-left > .nav-tabs .nav-link:hover:not(.active) {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.08);
}

.profile-security-tabs .nav-align-left > .nav-tabs .nav-link.active {
  color: var(--bs-primary);
  font-weight: 600;
  background-color: #fff;
  border-bottom-color: var(--bs-primary);
}

@media (min-width: 768px) {
  .profile-security-tabs .nav-align-left > .nav-tabs .nav-link.active {
    border-bottom-color: transparent;
    border-right-color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.06);
  }
}

.profile-security-tabs .nav-align-left > .tab-content {
  flex: 1 1 auto;
  min-width: 0;
  background-color: #fff;
}

/* Cerere concediu: tooltip sărbători legale — listează dd.MM.yyyy – LocalName pe linii separate */
.tooltip.lr-legal-holiday-tooltip .tooltip-inner {
  white-space: pre-line;
  text-align: left;
  max-width: min(22rem, 92vw);
}


