@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=VT323&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Orbitron:wght@400;700;900&family=Roboto+Mono:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;500;700&family=Righteous&display=swap");
@import "/css/plugins/select2.min-5e1c9ddec2882e3699c58872ba233762.css";
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.2;
  color: #1A1A1A;
}

h1, .h1 {
  font-size: 2rem;
}

h2, .h2 {
  font-size: 1.5rem;
}

h3, .h3 {
  font-size: 1.25rem;
}

h4, .h4 {
  font-size: 1.125rem;
}

h5, .h5 {
  font-size: 1rem;
}

h6, .h6 {
  font-size: 0.875rem;
}

@media (max-width: 575px) {
  h1, .h1 {
    font-size: 1.7rem;
  }
  h2, .h2 {
    font-size: 1.275rem;
  }
  h3, .h3 {
    font-size: 1.125rem;
  }
}
.display-1, .display-2, .display-3, .display-4 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 400;
  line-height: 1.1;
}

.display-1 {
  font-size: 4rem;
}

.display-2 {
  font-size: 3.5rem;
}

.display-3 {
  font-size: 3rem;
}

.display-4 {
  font-size: 2.5rem;
}

@media (max-width: 575px) {
  .display-1 {
    font-size: 3rem;
  }
  .display-2 {
    font-size: 2.75rem;
  }
  .display-3 {
    font-size: 2.25rem;
  }
  .display-4 {
    font-size: 2rem;
  }
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
p:last-child {
  margin-bottom: 0;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

small, .small {
  font-size: 0.875rem;
  font-weight: 400;
}

.x-small {
  font-size: 0.75rem;
}

strong, .strong, b {
  font-weight: 700;
}

em, .em, i {
  font-style: italic;
}

.underline {
  text-decoration: underline;
}

.line-through {
  text-decoration: line-through;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-justify {
  text-align: justify;
}

@media (min-width: 576px) {
  .text-sm-center {
    text-align: center;
  }
  .text-sm-right {
    text-align: right;
  }
  .text-sm-left {
    text-align: left;
  }
}
@media (min-width: 768px) {
  .text-md-center {
    text-align: center;
  }
  .text-md-right {
    text-align: right;
  }
  .text-md-left {
    text-align: left;
  }
}
@media (min-width: 992px) {
  .text-lg-center {
    text-align: center;
  }
  .text-lg-right {
    text-align: right;
  }
  .text-lg-left {
    text-align: left;
  }
}
.text-wrap {
  white-space: normal;
}

.text-nowrap {
  white-space: nowrap;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-break {
  word-wrap: break-word;
  word-break: break-word;
}

.font-weight-light {
  font-weight: 300;
}

.font-weight-regular {
  font-weight: 400;
}

.font-weight-medium {
  font-weight: 500;
}

.font-weight-semibold {
  font-weight: 600;
}

.font-weight-bold {
  font-weight: 700;
}

.font-italic {
  font-style: italic;
}

.font-normal {
  font-style: normal;
}

.text-primary {
  color: #349422 !important;
}

.text-secondary {
  color: #1A1A1A !important;
}

.text-success {
  color: #22C55E !important;
}

.text-danger {
  color: #EF4444 !important;
}

.text-warning {
  color: #F59E0B !important;
}

.text-info {
  color: #3B82F6 !important;
}

.text-light {
  color: #F9FAFB !important;
}

.text-dark {
  color: #1F2937 !important;
}

.text-white {
  color: #FFFFFF !important;
}

.text-muted {
  color: #6B7280 !important;
}

.text-black-50 {
  color: rgba(26, 26, 26, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
ul ul, ul ol, ol ul, ol ol {
  margin-bottom: 0;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline li {
  display: inline-block;
}
.list-inline li:not(:last-child) {
  margin-right: 0.5rem;
}

a {
  color: #349422;
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: #2a7a1b;
  text-decoration: underline;
}
a.link-secondary {
  color: #1A1A1A;
}
a.link-secondary:hover {
  color: #1F2937;
}
a.link-success {
  color: #22C55E;
}
a.link-success:hover {
  color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
a.link-danger {
  color: #EF4444;
}
a.link-danger:hover {
  color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}

.error, .vertical-error-message {
  color: #EF4444;
  font-weight: 700;
  font-size: 12px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.blockquote {
  margin-bottom: 1rem;
  padding: 1rem;
  border-left: 4px solid #349422;
  background-color: rgba(52, 148, 34, 0.05);
}
.blockquote p {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
.blockquote footer, .blockquote .blockquote-footer {
  font-size: 0.875rem;
  color: #6B7280;
}
.blockquote footer::before, .blockquote .blockquote-footer::before {
  content: "— ";
}

/*
 * Structure Components
 *
 * Elementos estruturais base do sistema como grid, containers e layouts.
 */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

body {
  background-color: #fff;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1A1A1A;
  line-height: 1.5;
  font-size: 1rem;
  position: relative;
  overflow-x: hidden;
}

.main-background {
  background-color: #f3f3f3;
}

.background-white {
  background-color: #FFFFFF !important;
}

.main-content {
  flex: 1;
  width: calc(100% - 260px);
  left: 260px;
  position: relative;
  top: 0px;
  min-height: 100vh;
}

.fragment-container {
  padding-bottom: 150px;
}

.fragment-container-2x {
  padding-bottom: 300px;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 992px) {
  .container {
    padding: 0 1.5rem;
  }
}
.container--sm {
  max-width: 540px;
}
.container--md {
  max-width: 720px;
}
.container--lg {
  max-width: 960px;
}
.container--xl {
  max-width: 1200px;
}
.container--fluid {
  max-width: none;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
}
.row .col {
  flex: 1 0 0%;
  padding: 0 0.5rem;
}
.row .col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}
.row .col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}
.row .col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.row .col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}
.row .col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}
.row .col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.row .col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}
.row .col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}
.row .col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.row .col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}
.row .col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}
.row .col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (min-width: 576px) {
  .row .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .row .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .row .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .row .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .row .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .row .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .row .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .row .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .row .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .row .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .row .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .row .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .row .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .row .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .row .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .row .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .row .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .row .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .row .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .row .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .row .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .row .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .row .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .row .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .row .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .row .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .row .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .row .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .row .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .row .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .row .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .row .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .row .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .row .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .row .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .row .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.grid {
  display: grid;
  gap: 1rem;
}
.grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 575px) {
  .grid--2col {
    grid-template-columns: 1fr;
  }
}
.grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 768px) {
  .grid--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .grid--3col {
    grid-template-columns: 1fr;
  }
}
.grid--4col {
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 992px) {
  .grid--4col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .grid--4col {
    grid-template-columns: 1fr;
  }
}
.grid--gap-sm {
  gap: 0.5rem;
}
.grid--gap-md {
  gap: 1rem;
}
.grid--gap-lg {
  gap: 1.5rem;
}

.progress {
  height: 10px;
  background-color: #F3F4F6;
  border-radius: 0;
  overflow: hidden;
}
.progress__bar {
  height: 100%;
  background-color: #349422;
  transition: width 0.3s ease;
}
.progress--sm {
  height: 6px;
}
.progress--lg {
  height: 16px;
}
.progress--success .progress__bar {
  background-color: #22C55E;
}
.progress--warning .progress__bar {
  background-color: #F59E0B;
}
.progress--danger .progress__bar {
  background-color: #EF4444;
}

.content-wrapper {
  margin-left: 0 !important;
  transition: none;
}
.content-wrapper--with-sidebar {
  margin-left: 260px;
  transition: margin-left 0.3s;
}
@media (min-width: 768px) {
  .content-wrapper--with-sidebar {
    margin-left: 0;
  }
}
.content-wrapper--with-sidebar.sidebar-collapsed {
  margin-left: 70px;
}
@media (min-width: 768px) {
  .content-wrapper--with-sidebar.sidebar-collapsed {
    margin-left: 0;
  }
}

.menu-toggle {
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #FFFFFF;
}
.menu-toggle i {
  font-size: 1.25rem;
  transition: transform 0.3s ease;
}
.menu-toggle.collapsed i {
  transform: rotate(180deg);
}

.floating-action {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1030;
}
.floating-action__btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #349422;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(26, 26, 26, 0.2);
  border: none;
  cursor: pointer;
  transition: background-color transform box-shadow;
}
.floating-action__btn:hover {
  background-color: #2a7a1b;
  box-shadow: 0 6px 15px rgba(26, 26, 26, 0.25);
  transform: translateY(-2px);
}
.floating-action__btn:active {
  transform: translateY(0);
}
.floating-action--sm .floating-action__btn {
  width: 40px;
  height: 40px;
  font-size: 0.875rem;
}
.floating-action--lg .floating-action__btn {
  width: 64px;
  height: 64px;
  font-size: 1.5rem;
}
.floating-action--secondary .floating-action__btn {
  background-color: #1A1A1A;
}
.floating-action--secondary .floating-action__btn:hover {
  background-color: #1F2937;
}
.floating-action--success .floating-action__btn {
  background-color: #22C55E;
}
.floating-action--success .floating-action__btn:hover {
  background-color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
.floating-action--danger .floating-action__btn {
  background-color: #EF4444;
}
.floating-action--danger .floating-action__btn:hover {
  background-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.floating-action__menu {
  position: absolute;
  bottom: 64px;
  right: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity visibility transform;
}
.floating-action__menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.floating-action__item {
  display: flex;
  align-items: center;
}
.floating-action__item .btn {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.25rem;
}
.floating-action__item-label {
  background-color: #374151;
  color: #FFFFFF;
  padding: 0.25rem 0.5rem;
  border-radius: 0;
  font-size: 0.75rem;
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.2);
  white-space: nowrap;
}

.page-header {
  margin-bottom: 1.5rem;
}
.page-header__title {
  font-size: 1.5rem;
  color: #1F2937;
  margin-bottom: 0.25rem;
}
.page-header__subtitle {
  color: #6B7280;
  font-size: 1.125rem;
}
.page-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-header--with-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-section {
  margin-bottom: 2rem;
}
.page-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.page-section__title {
  font-size: 1.25rem;
  color: #1F2937;
}
.page-section__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-section__content {
  margin-bottom: 1.5rem;
}

.page-footer {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}
.page-footer__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.split-screen {
  display: flex;
  height: 100vh;
}
.split-screen__left, .split-screen__right {
  flex: 1;
  overflow-y: auto;
}
@media (min-width: 768px) {
  .split-screen {
    flex-direction: column;
    height: auto;
  }
  .split-screen__left, .split-screen__right {
    width: 100%;
    height: auto;
  }
}

.page-columns {
  display: flex;
  gap: 1.5rem;
}
.page-columns__sidebar {
  width: 280px;
  flex-shrink: 0;
}
.page-columns__content {
  flex: 1;
}
@media (min-width: 992px) {
  .page-columns {
    flex-direction: column;
  }
  .page-columns__sidebar {
    width: 100%;
  }
}

.two-column-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .two-column-layout {
    grid-template-columns: 1fr;
  }
}

.three-column-layout {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .three-column-layout {
    grid-template-columns: 1fr 2fr;
  }
  .three-column-layout__third {
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .three-column-layout {
    grid-template-columns: 1fr;
  }
  .three-column-layout__third {
    grid-column: auto;
  }
}

/* Espaçamentos */
.mt-10 {
  margin-top: 0.625rem;
}

.mt-3 {
  margin-top: 1rem;
}

.me-4 {
  margin-right: 1.5rem;
}

.me-2 {
  margin-right: 0.5rem;
}

.me-1 {
  margin-right: 0.25rem;
}

.ms-1 {
  margin-left: 0.25rem;
}

.ms-2 {
  margin-left: 0.5rem;
}

.mb-20 {
  margin-bottom: 1.25rem;
}

.mg-20 {
  margin: 1.25rem;
}

.mg-r-5 {
  margin-right: 0.3125rem;
}

.pd-0 {
  padding: 0;
}

.pt-10 {
  padding-top: 10px;
}

.pd-t-20 {
  padding-top: 1.25rem;
}

.pd-b-20 {
  padding-bottom: 1.25rem;
}

.pb-20 {
  padding-bottom: 1.25rem !important;
}

.pt-20 {
  padding-top: 1.25rem;
}

.pd-20 {
  padding: 20px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-20 {
  padding-left: 20px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-30 {
  margin-left: 30px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

mb-10 {
  margin-bottom: 10px;
}

.h-90 {
  height: 90% !important;
}

.h-95 {
  height: 95% !important;
}

.rc-flex {
  display: flex !important;
}
.rc-flex-space-between {
  display: flex !important;
  justify-content: space-between;
}
.rc-flex-space-around {
  justify-content: space-around;
}

.cursor {
  cursor: pointer;
}

/*
 * Bootstrap Focus Shadow Overrides
 * Remove todas as box-shadows do Bootstrap quando elementos recebem foco
 */
.btn:focus, .btn:focus-visible, .btn.focus {
  outline: 0;
  box-shadow: none !important;
}

.btn-primary:focus, .btn-primary:focus-visible, .btn-primary.focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:focus,
.btn-secondary:focus-visible,
.btn-secondary.focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-success:focus,
.btn-success:focus-visible,
.btn-success.focus,
.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.btn-danger:focus,
.btn-danger:focus-visible,
.btn-danger.focus,
.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.btn-warning:focus,
.btn-warning:focus-visible,
.btn-warning.focus,
.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.btn-info:focus,
.btn-info:focus-visible,
.btn-info.focus,
.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.btn-light:focus,
.btn-light:focus-visible,
.btn-light.focus,
.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.btn-dark:focus,
.btn-dark:focus-visible,
.btn-dark.focus,
.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible,
.btn-outline-secondary.focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.btn-outline-success:focus,
.btn-outline-success:focus-visible,
.btn-outline-success.focus,
.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.btn-outline-danger:focus,
.btn-outline-danger:focus-visible,
.btn-outline-danger.focus,
.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.btn-outline-warning:focus,
.btn-outline-warning:focus-visible,
.btn-outline-warning.focus,
.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.btn-outline-info:focus,
.btn-outline-info:focus-visible,
.btn-outline-info.focus,
.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.btn-outline-light:focus,
.btn-outline-light:focus-visible,
.btn-outline-light.focus,
.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.btn-outline-dark:focus,
.btn-outline-dark:focus-visible,
.btn-outline-dark.focus,
.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.btn-link:focus,
.btn-link:focus-visible,
.btn-link.focus,
.btn-link:not(:disabled):not(.disabled):active:focus,
.btn-link:not(:disabled):not(.disabled).active:focus {
  box-shadow: none !important;
}

.form-control:focus, .form-control:focus-visible, .form-control.focus,
.form-select:focus,
.form-select:focus-visible,
.form-select.focus {
  box-shadow: none !important;
}

.form-check-input:focus, .form-check-input:focus-visible, .form-check-input:checked:focus {
  box-shadow: none !important;
}

.input-group .form-control:focus,
.input-group .form-select:focus,
.input-group .input-group-text:focus {
  box-shadow: none !important;
}

.dropdown-toggle:focus, .dropdown-toggle:focus-visible, .dropdown-toggle::after:focus {
  box-shadow: none !important;
}

.nav-link:focus, .nav-link:focus-visible {
  box-shadow: none !important;
}

.nav-tabs .nav-link:focus, .nav-tabs .nav-link:focus-visible, .nav-tabs .nav-link.active:focus {
  box-shadow: none !important;
}

.nav-pills .nav-link:focus, .nav-pills .nav-link:focus-visible, .nav-pills .nav-link.active:focus {
  box-shadow: none !important;
}

.modal-content:focus, .modal-content:focus-visible {
  box-shadow: none !important;
}

.modal-header .btn-close:focus, .modal-header .btn-close:focus-visible {
  box-shadow: none !important;
}

.btn-close:focus, .btn-close:focus-visible {
  box-shadow: none !important;
}

.accordion-button:focus, .accordion-button:focus-visible, .accordion-button:not(.collapsed):focus {
  box-shadow: none !important;
}

.page-link:focus, .page-link:focus-visible {
  box-shadow: none !important;
}

.list-group-item:focus, .list-group-item:focus-visible, .list-group-item.active:focus {
  box-shadow: none !important;
}

.card:focus, .card:focus-visible {
  box-shadow: none !important;
}

.badge:focus, .badge:focus-visible {
  box-shadow: none !important;
}

.alert .btn-close:focus {
  box-shadow: none !important;
}

.offcanvas:focus, .offcanvas:focus-visible {
  box-shadow: none !important;
}

.toast .btn-close:focus {
  box-shadow: none !important;
}

[data-bs-toggle=popover]:focus, [data-bs-toggle=popover]:focus-visible,
[data-bs-toggle=tooltip]:focus,
[data-bs-toggle=tooltip]:focus-visible {
  box-shadow: none !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
  box-shadow: none !important;
}

.form-file-input:focus, .form-file-input:focus-visible {
  box-shadow: none !important;
}

.form-range:focus, .form-range:focus-visible {
  box-shadow: none !important;
}
.form-range:focus::-webkit-slider-thumb, .form-range:focus-visible::-webkit-slider-thumb {
  box-shadow: none !important;
}
.form-range:focus::-moz-range-thumb, .form-range:focus-visible::-moz-range-thumb {
  box-shadow: none !important;
}

.form-switch .form-check-input:focus, .form-switch .form-check-input:focus-visible, .form-switch .form-check-input:checked:focus {
  box-shadow: none !important;
}

.form-floating > .form-control:focus,
.form-floating > .form-select:focus {
  box-shadow: none !important;
}

.was-validated .form-control:valid:focus,
.was-validated .form-control:invalid:focus,
.was-validated .form-select:valid:focus,
.was-validated .form-select:invalid:focus,
.was-validated .form-check-input:valid:focus,
.was-validated .form-check-input:invalid:focus {
  box-shadow: none !important;
}

.was-validated .input-group > .form-control:focus,
.was-validated .input-group > .form-select:focus, .input-group.has-validation > .form-control:focus,
.input-group.has-validation > .form-select:focus {
  box-shadow: none !important;
}

.breadcrumb-item a:focus {
  box-shadow: none !important;
}

.spinner-border:focus,
.spinner-grow:focus {
  box-shadow: none !important;
}

.carousel-control-prev:focus, .carousel-control-prev:focus-visible,
.carousel-control-next:focus,
.carousel-control-next:focus-visible {
  box-shadow: none !important;
}

.carousel-indicators button:focus, .carousel-indicators button:focus-visible {
  box-shadow: none !important;
}

/*
 * Utility Classes
 *
 * Classes utilitárias para uso em todo o sistema.
 */
.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-grid {
  display: grid !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-grid {
    display: grid !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
}
.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mr-3 {
  margin-right: 1rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.ml-3 {
  margin-left: 1rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mr-4 {
  margin-right: 1.5rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4 {
  margin-left: 1.5rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.m-5 {
  margin: 2rem !important;
}

.mt-5 {
  margin-top: 2rem !important;
}

.mr-5 {
  margin-right: 2rem !important;
}

.mb-5 {
  margin-bottom: 2rem !important;
}

.ml-5 {
  margin-left: 2rem !important;
}

.mx-5 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.my-5 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pr-3 {
  padding-right: 1rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pl-3 {
  padding-left: 1rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pr-4 {
  padding-right: 1.5rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4 {
  padding-left: 1.5rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.p-5 {
  padding: 2rem !important;
}

.pt-5 {
  padding-top: 2rem !important;
}

.pr-5 {
  padding-right: 2rem !important;
}

.pb-5 {
  padding-bottom: 2rem !important;
}

.pl-5 {
  padding-left: 2rem !important;
}

.px-5 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.py-5 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.p-auto {
  padding: auto !important;
}

.pt-auto {
  padding-top: auto !important;
}

.pr-auto {
  padding-right: auto !important;
}

.pb-auto {
  padding-bottom: auto !important;
}

.pl-auto {
  padding-left: auto !important;
}

.px-auto {
  padding-right: auto !important;
  padding-left: auto !important;
}

.py-auto {
  padding-top: auto !important;
  padding-bottom: auto !important;
}

.w-25 {
  width: 25% !important;
}

.h-25 {
  height: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.h-50 {
  height: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.h-75 {
  height: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.h-100 {
  height: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1030 !important;
}

.fixed-bottom {
  position: fixed !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 1030 !important;
}

.border {
  border: 2px solid #E5E7EB !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: 1px solid #E5E7EB !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right {
  border-right: 1px solid #E5E7EB !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: 1px solid #E5E7EB !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left {
  border-left: 1px solid #E5E7EB !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #349422 !important;
}

.border-secondary {
  border-color: #1A1A1A !important;
}

.border-success {
  border-color: #22C55E !important;
}

.border-danger {
  border-color: #EF4444 !important;
}

.border-warning {
  border-color: #F59E0B !important;
}

.border-info {
  border-color: #3B82F6 !important;
}

.border-light {
  border-color: #F9FAFB !important;
}

.border-dark {
  border-color: #374151 !important;
}

.rounded {
  border-radius: 0 !important;
}

.rounded-sm {
  border-radius: 0 !important;
}

.rounded-lg {
  border-radius: 0 !important;
}

.rounded-xl {
  border-radius: 0 !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-top {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-right {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-left {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.bg-primary {
  background-color: #349422 !important;
}

.bg-secondary {
  background-color: #1A1A1A !important;
}

.bg-success {
  background-color: #22C55E !important;
}

.bg-danger {
  background-color: #EF4444 !important;
}

.bg-warning {
  background-color: #F59E0B !important;
}

.bg-info {
  background-color: #3B82F6 !important;
}

.bg-light {
  background-color: #F9FAFB !important;
}

.bg-dark {
  background-color: #374151 !important;
}

.bg-white {
  background-color: #FFFFFF !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.bg-soft-primary {
  background-color: rgba(52, 148, 34, 0.1) !important;
}

.bg-soft-secondary {
  background-color: rgba(26, 26, 26, 0.1) !important;
}

.bg-soft-success {
  background-color: rgba(34, 197, 94, 0.1) !important;
}

.bg-soft-danger {
  background-color: rgba(239, 68, 68, 0.1) !important;
}

.bg-soft-warning {
  background-color: rgba(245, 158, 11, 0.1) !important;
}

.bg-soft-info {
  background-color: rgba(59, 130, 246, 0.1) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.shadow-none {
  box-shadow: none !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(26, 26, 26, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(26, 26, 26, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(26, 26, 26, 0.175) !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cursor-pointer {
  cursor: pointer !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.lv-parcial-overlay-container {
  position: fixed;
  top: 0;
  right: 0;
  width: 50%;
  height: 100vh;
  background-color: white;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  z-index: 1050;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  display: none;
}

.lv-parcial-overlay-container.show {
  transform: translateX(0);
  display: block;
}

.lv-parcial-dimmed-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1049;
  display: none;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.lv-parcial-dimmed-background.show {
  opacity: 1 !important;
  display: block !important;
}

body.no-scroll {
  overflow: hidden;
}

/* Main Footer Styles */
.main-footer {
  background-color: #2f193d;
  color: #ffffff;
  padding: 3rem 0 0;
  font-family: "Nunito Sans", sans-serif;
  position: absolute;
  width: 100%;
}

.footer-container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}

/* Logo Section */
.footer-logo {
  flex: 1;
  min-width: 250px;
  margin-bottom: 1.5rem;
}

.footer-logo p {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  max-width: 300px;
}

/* Links Section */
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.footer-links-column {
  min-width: 160px;
}

.footer-links-column h4 {
  font-family: "Rubik", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 1.25rem;
  color: #ffffff;
}

.footer-links-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links-column ul li {
  margin-bottom: 0.75rem;
}

.footer-links-column ul li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.3s ease;
}

.footer-links-column ul li a:hover {
  color: #ffffff;
  text-decoration: none;
}

/* Bottom Section */
.footer-bottom {
  margin-top: 3rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom-container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.footer-bottom p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.social-links {
  display: flex;
  gap: 1rem;
}

.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: all 0.3s ease;
}

.social-links a:hover {
  background-color: #0e6875;
  transform: translateY(-3px);
}

.social-links svg {
  width: 18px;
  height: 18px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    gap: 2rem;
  }
  .footer-logo {
    text-align: center;
    margin: 0 auto;
  }
  .footer-logo p {
    margin: 1rem auto;
  }
  .footer-links {
    justify-content: space-around;
    width: 100%;
  }
  .footer-bottom-container {
    flex-direction: column;
    text-align: center;
  }
  .social-links {
    margin-top: 1rem;
    justify-content: center;
  }
}
@media (max-width: 576px) {
  .footer-links {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
    text-align: center;
  }
  .footer-links-column {
    width: 100%;
  }
}
/*
 * Editorial Corporate Buttons Component
 * Bootstrap btn btn-* overrides + utilities
 */
.btn:focus {
  outline: none !important;
  box-shadow: none !important;
}

.btn:focus-visible {
  outline: 2px solid #1A1A1A !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid transparent;
  text-decoration: none;
  box-shadow: none;
  position: relative;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: 0.3px;
}
.btn:disabled, .btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.btn--sm, .btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  min-height: 32px;
}
.btn--lg, .btn-lg {
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  min-height: 48px;
}
.btn--block, .btn-block {
  display: flex;
  width: 100%;
}
.btn--icon-only {
  width: 40px;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn:hover:not(:disabled) {
  transform: translateY(-2px);
  text-decoration: none;
}
.btn:active:not(:disabled) {
  transform: translateY(1px);
  transition-duration: 0.1s;
}

.btn-100 {
  width: 100% !important;
}

.btn-primary {
  background-color: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}
.btn-primary:hover {
  background-color: #374151;
  border-color: #374151;
  color: #FFFFFF;
}
.btn-primary:active {
  background-color: #1F2937;
  border-color: #1F2937;
}

.btn-default, .btn-secondary {
  background-color: #FFFFFF;
  color: #1A1A1A;
  border-color: #E5E7EB;
  border-width: 1.5px;
}
.btn-default:hover, .btn-secondary:hover {
  background-color: #FAFAFA;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.btn-default:active, .btn-secondary:active {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
}

.btn-success {
  background-color: #22C55E;
  color: #FFFFFF;
  border-color: #22C55E;
}
.btn-success:hover {
  background-color: #16A34A;
  border-color: #16A34A;
  color: #FFFFFF;
}
.btn-success:active {
  background-color: rgb(18.9675675676, 140.5324324324, 63.8);
  border-color: rgb(18.9675675676, 140.5324324324, 63.8);
}

.btn-danger {
  background-color: #EF4444;
  color: #FFFFFF;
  border-color: #EF4444;
}
.btn-danger.border {
  border: 2px solid #EF4444 !important;
}
.btn-danger:hover {
  background-color: #DC2626;
  border-color: #DC2626;
  color: #FFFFFF;
}
.btn-danger:active {
  background-color: rgb(200.2083333333, 32.2916666667, 32.2916666667);
  border-color: rgb(200.2083333333, 32.2916666667, 32.2916666667);
}

.btn-warning {
  background-color: #F59E0B;
  color: #1A1A1A;
  border-color: #F59E0B;
}
.btn-warning:hover {
  background-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
  border-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
  color: #FFFFFF;
}
.btn-warning:active {
  background-color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
  border-color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}

.btn-info {
  background-color: #3B82F6;
  color: #FFFFFF;
  border-color: #3B82F6;
}
.btn-info:hover {
  background-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  border-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  color: #FFFFFF;
}
.btn-info:active {
  background-color: rgb(10.0317073171, 89.1707317073, 218.4682926829);
  border-color: rgb(10.0317073171, 89.1707317073, 218.4682926829);
}

.btn-ghost, .btn-light {
  background-color: transparent;
  color: #6B7280;
  border-color: transparent;
}
.btn-ghost:hover, .btn-light:hover {
  background-color: #F9FAFB;
  color: #1A1A1A;
}
.btn-ghost:active, .btn-light:active {
  background-color: #F3F4F6;
}

.btn-link {
  background-color: transparent;
  color: #1A1A1A;
  padding: 0.375rem 0.5rem;
  border: none;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.btn-link:hover {
  color: #6B7280;
  text-decoration: underline;
  transform: none;
  background-color: transparent;
}
.btn-link:active {
  color: #4B5563;
  transform: none;
}

.btn-text {
  background-color: transparent;
  color: #4B5563;
  border: none;
  padding: 0.375rem 0.75rem;
}
.btn-text:hover {
  background-color: #F9FAFB;
  color: #1A1A1A;
}
.btn-text:active {
  background-color: #F3F4F6;
}

.btn-outline, .btn-outline-primary {
  background-color: transparent;
  border: 1.5px solid #1A1A1A;
  color: #1A1A1A;
}
.btn-outline:hover, .btn-outline-primary:hover {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.btn-outline:active, .btn-outline-primary:active {
  background-color: #1F2937;
}

.btn-outline-secondary {
  background-color: transparent;
  border: 1.5px solid #E5E7EB;
  color: #4B5563;
}
.btn-outline-secondary:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.btn-outline-secondary:active {
  background-color: #F3F4F6;
}

.btn-outline-danger {
  background-color: transparent;
  border: 1.5px solid #EF4444;
  color: #EF4444;
}
.btn-outline-danger:hover {
  background-color: #EF4444;
  border-color: #EF4444;
  color: #FFFFFF;
}
.btn-outline-danger:active {
  background-color: #DC2626;
}

.btn-outline-success {
  background-color: transparent;
  border: 1.5px solid #22C55E;
  color: #22C55E;
}
.btn-outline-success:hover {
  background-color: #22C55E;
  border-color: #22C55E;
  color: #FFFFFF;
}
.btn-outline-success:active {
  background-color: #16A34A;
}

.btn-outline-warning {
  background-color: transparent;
  border: 1.5px solid #F59E0B;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.btn-outline-warning:hover {
  background-color: #F59E0B;
  border-color: #F59E0B;
  color: #1A1A1A;
}
.btn-outline-warning:active {
  background-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}

.btn-outline-info {
  background-color: transparent;
  border: 1.5px solid #3B82F6;
  color: #3B82F6;
}
.btn-outline-info:hover {
  background-color: #3B82F6;
  border-color: #3B82F6;
  color: #FFFFFF;
}
.btn-outline-info:active {
  background-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
}

.icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 1px solid #E5E7EB;
  background-color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}
.icon-btn:focus {
  outline: none;
}
.icon-btn:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: 2px;
}
.icon-btn:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
  background-color: #FAFAFA;
}
.icon-btn:active {
  background-color: #F9FAFB;
  color: #1A1A1A;
}
.icon-btn--sm {
  width: 32px;
  height: 32px;
  font-size: 0.875rem;
}
.icon-btn--lg {
  width: 48px;
  height: 48px;
  font-size: 1.25rem;
}
.icon-btn--primary {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.icon-btn--primary:hover {
  background-color: #374151;
  border-color: #374151;
  color: #FFFFFF;
}
.icon-btn--primary:active {
  background-color: #1F2937;
}
.icon-btn--secondary {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  color: #4B5563;
}
.icon-btn--secondary:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.icon-btn--secondary:active {
  background-color: #F3F4F6;
}
.icon-btn--ghost {
  background-color: transparent;
  border-color: transparent;
  color: #6B7280;
}
.icon-btn--ghost:hover {
  background-color: #F9FAFB;
  border-color: transparent;
  color: #1A1A1A;
}
.icon-btn--ghost:active {
  background-color: #F3F4F6;
}

.fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  border-radius: 0;
  background-color: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1030;
  transition: all 0.2s ease;
  border: none;
  font-size: 1.5rem;
}
.fab:focus {
  outline: none;
}
.fab:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: 4px;
}
.fab:hover {
  background-color: #374151;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  transform: scale(1.05);
}
.fab:active {
  transform: scale(0.95);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.btn-group {
  display: inline-flex;
  border-radius: 0;
  box-shadow: none;
}
.btn-group .btn {
  box-shadow: none;
  border-radius: 0;
  margin-left: -1px;
}
.btn-group .btn:first-child {
  margin-left: 0;
}
.btn-group .btn:hover, .btn-group .btn:focus {
  z-index: 1;
}
.btn-group-vertical {
  flex-direction: column;
}
.btn-group-vertical .btn {
  margin-left: 0;
  margin-top: -1px;
}
.btn-group-vertical .btn:first-child {
  margin-top: 0;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.375rem 0.75rem !important;
  font-size: 0.8125rem !important;
  border-radius: 0 !important;
  min-height: 32px;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.875rem 1.5rem !important;
  font-size: 1rem !important;
  border-radius: 0 !important;
  min-height: 48px;
}

.btn.is-loading, .btn--loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
.btn.is-loading::after, .btn--loading::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 50%;
  left: 50%;
  margin-left: -0.5rem;
  margin-top: -0.5rem;
  border: 2px solid currentColor;
  border-radius: 50%;
  border-right-color: transparent;
  animation: button-spin 0.6s linear infinite;
}
.btn.btn-primary.is-loading::after, .btn.btn-success.is-loading::after, .btn.btn-danger.is-loading::after, .btn.btn-info.is-loading::after {
  border-color: #FFFFFF;
  border-right-color: transparent;
}

@keyframes button-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 575px) {
  .btn {
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
  }
  .btn--lg, .btn-lg {
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
  }
  .btn--sm, .btn-sm {
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
  }
  .fab {
    bottom: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
  }
  .icon-btn {
    width: 36px;
    height: 36px;
  }
  .btn-group {
    flex-direction: column;
    width: 100%;
  }
  .btn-group .btn {
    border-radius: 0;
    margin-left: 0;
    margin-top: -1px;
  }
  .btn-group .btn:first-child {
    margin-top: 0;
  }
}
.btn-remove-filter {
  background: transparent;
  border: none;
  color: #1A1A1A;
}

/*
 * Alerts - Editorial Corporate Style
 * Design limpo com cores pastéis e bordas laterais
 */
.alert {
  display: flex;
  align-items: flex-start;
  padding: 14px 18px;
  margin-bottom: 12px;
  border-radius: 0;
  position: relative;
  transition: all 0.2s ease;
  cursor: default;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  border: none;
  border-left: 3px solid #D1D5DB;
  background: #FAFAFA;
}
.alert:hover {
  transform: none;
}

.alert-icon {
  width: 20px;
  height: 20px;
  margin-right: 12px;
  margin-top: 1px;
  flex-shrink: 0;
}
.alert-icon svg {
  width: 20px;
  height: 20px;
}
.alert-icon i {
  font-size: 18px;
}
.alert-icon.alert-icon-circle {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.alert-icon.alert-icon-circle svg {
  width: 16px;
  height: 16px;
}

.alert-content {
  flex: 1;
  min-width: 0;
}

.alert-title {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 2px;
}

.alert-message {
  font-size: 13px;
  color: #4B5563;
  line-height: 1.5;
}

.alert-badge {
  margin-left: 12px;
  padding: 4px 12px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.2s ease;
  cursor: pointer;
  border: none;
  background: #1A1A1A;
  color: #FFFFFF;
}
.alert-badge:hover {
  background: #374151;
}

.alert-close,
.btn-close {
  width: 20px;
  height: 20px;
  margin-left: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s;
  background: none;
  border: none;
  padding: 0;
  color: #4B5563;
}
.alert-close:hover,
.btn-close:hover {
  opacity: 1;
}
.alert-close svg,
.btn-close svg {
  width: 14px;
  height: 14px;
}
.alert-close::before, .alert-close::after,
.btn-close::before,
.btn-close::after {
  display: none;
}

.alert-success {
  background: #DCFCE7;
  border-left-color: #22C55E;
}
.alert-success .alert-icon {
  color: #22C55E;
}
.alert-success .alert-title {
  color: #166534;
}
.alert-success .alert-message {
  color: rgb(17.4390243902, 80.0609756098, 41.2195121951);
}
.alert-success .alert-badge {
  background: #22C55E;
  color: #FFFFFF;
}

.alert-danger,
.alert-error {
  background: #FEE2E2;
  border-left-color: #EF4444;
}
.alert-danger .alert-icon,
.alert-error .alert-icon {
  color: #EF4444;
}
.alert-danger .alert-title,
.alert-error .alert-title {
  color: #991B1B;
}
.alert-danger .alert-message,
.alert-error .alert-message {
  color: rgb(131.325, 23.175, 23.175);
}
.alert-danger .alert-badge,
.alert-error .alert-badge {
  background: #EF4444;
  color: #FFFFFF;
}

.alert-warning {
  background: #FEF3C7;
  border-left-color: #F59E0B;
}
.alert-warning .alert-icon {
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.alert-warning .alert-title {
  color: #92400E;
}
.alert-warning .alert-message {
  color: rgb(122.73125, 53.8, 11.76875);
}
.alert-warning .alert-badge {
  background: #F59E0B;
  color: #1A1A1A;
}

.alert-info {
  background: #DBEAFE;
  border-left-color: #3B82F6;
}
.alert-info .alert-icon {
  color: #3B82F6;
}
.alert-info .alert-title {
  color: #1E40AF;
}
.alert-info .alert-message {
  color: rgb(26.2682926829, 56.0390243902, 153.2317073171);
}
.alert-info .alert-badge {
  background: #3B82F6;
  color: #FFFFFF;
}

.alert-primary {
  background: #F9FAFB;
  border-left-color: #1A1A1A;
}
.alert-primary .alert-icon {
  color: #1A1A1A;
}
.alert-primary .alert-title {
  color: #1A1A1A;
}
.alert-primary .alert-message {
  color: #4B5563;
}
.alert-primary .alert-badge {
  background: #1A1A1A;
  color: #FFFFFF;
}

.alert-secondary,
.alert-default {
  background: #FAFAFA;
  border-left-color: #D1D5DB;
}
.alert-secondary .alert-icon,
.alert-default .alert-icon {
  color: #6B7280;
}
.alert-secondary .alert-title,
.alert-default .alert-title {
  color: #4B5563;
}
.alert-secondary .alert-message,
.alert-default .alert-message {
  color: #6B7280;
}
.alert-secondary .alert-badge,
.alert-default .alert-badge {
  background: #6B7280;
  color: #FFFFFF;
}

.alert-dark {
  background: #1A1A1A;
  border-left-color: #1A1A1A;
  color: #FFFFFF;
}
.alert-dark .alert-title {
  color: #FFFFFF;
}
.alert-dark .alert-message {
  color: rgba(255, 255, 255, 0.8);
}
.alert-dark .alert-close {
  color: #FFFFFF;
}
.alert-dark .alert-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}

.alert-success-dark {
  background: #22C55E;
  border-left-color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
  color: #FFFFFF;
}
.alert-success-dark .alert-title,
.alert-success-dark .alert-message {
  color: #FFFFFF;
}
.alert-success-dark .alert-icon {
  color: #FFFFFF;
}
.alert-success-dark .alert-close {
  color: #FFFFFF;
}

.alert-danger-dark {
  background: #EF4444;
  border-left-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
  color: #FFFFFF;
}
.alert-danger-dark .alert-title,
.alert-danger-dark .alert-message {
  color: #FFFFFF;
}
.alert-danger-dark .alert-icon {
  color: #FFFFFF;
}
.alert-danger-dark .alert-close {
  color: #FFFFFF;
}

.alert-info-dark {
  background: #3B82F6;
  border-left-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  color: #FFFFFF;
}
.alert-info-dark .alert-title,
.alert-info-dark .alert-message {
  color: #FFFFFF;
}
.alert-info-dark .alert-icon {
  color: #FFFFFF;
}
.alert-info-dark .alert-close {
  color: #FFFFFF;
}

.alert-warning-dark {
  background: #F59E0B;
  border-left-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
  color: #1A1A1A;
}
.alert-warning-dark .alert-title,
.alert-warning-dark .alert-message {
  color: #1A1A1A;
}
.alert-warning-dark .alert-icon {
  color: #1A1A1A;
}
.alert-warning-dark .alert-close {
  color: #1A1A1A;
}

.alert-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-left: 3px solid #D1D5DB;
  padding: 16px;
  margin-bottom: 12px;
  border-radius: 0;
  display: block;
  box-shadow: none;
}

.alert-card-header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.alert-card-icon {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
}
.alert-card-icon.success {
  background: #DCFCE7;
  color: #22C55E;
}
.alert-card-icon.error, .alert-card-icon.danger {
  background: #FEE2E2;
  color: #EF4444;
}
.alert-card-icon.warning {
  background: #FEF3C7;
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.alert-card-icon.info {
  background: #DBEAFE;
  color: #3B82F6;
}
.alert-card-icon svg {
  width: 20px;
  height: 20px;
}
.alert-card-icon i {
  font-size: 18px;
}

.alert-card-content {
  flex: 1;
}

.alert-card-title {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 4px;
}

.alert-card-message {
  font-size: 13px;
  color: #4B5563;
  margin-bottom: 12px;
  margin-left: 44px;
  line-height: 1.5;
}

.alert-card-actions {
  display: flex;
  gap: 8px;
  margin-left: 44px;
}

.alert-card-action {
  padding: 6px 12px;
  border-radius: 0;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  background: transparent;
}
.alert-card-action.primary {
  background: #1A1A1A;
  color: #FFFFFF;
}
.alert-card-action.primary:hover {
  background: #374151;
}
.alert-card-action.secondary {
  color: #1A1A1A;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.alert-card-action.secondary:hover {
  color: #6B7280;
}

.alert-card.alert-card-success {
  border-left-color: #22C55E;
}

.alert-card.alert-card-danger,
.alert-card.alert-card-error {
  border-left-color: #EF4444;
}

.alert-card.alert-card-warning {
  border-left-color: #F59E0B;
}

.alert-card.alert-card-info {
  border-left-color: #3B82F6;
}

.alert-progress {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-left: 3px solid #3B82F6;
  padding: 16px;
  margin-bottom: 12px;
  border-radius: 0;
}

.progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.progress-title {
  font-size: 14px;
  font-weight: 500;
  color: #1A1A1A;
}

.progress-percentage {
  font-size: 13px;
  color: #6B7280;
}

.progress-bar {
  height: 4px;
  background: #F3F4F6;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 8px;
}

.progress-fill {
  height: 100%;
  background: #1A1A1A;
  transition: width 0.3s ease;
}

.progress-actions {
  display: flex;
  gap: 8px;
  font-size: 13px;
}
.progress-actions a {
  color: #1A1A1A;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.progress-actions a:hover {
  color: #6B7280;
}

.alert-user {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-left: 3px solid #D1D5DB;
  padding: 12px 16px;
  margin-bottom: 8px;
  border-radius: 0;
  display: flex;
  align-items: center;
}

.user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 0;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  margin-right: 12px;
}
.user-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.user-content {
  flex: 1;
}

.user-name {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A1A;
}

.user-action {
  font-size: 13px;
  color: #4B5563;
}

.user-time {
  font-size: 12px;
  color: #9CA3AF;
  margin-left: 8px;
}

.user-badge {
  padding: 4px 8px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 500;
  background: #F9FAFB;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
  margin-left: 12px;
}

.alert-inline {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-left: 3px solid #D1D5DB;
  border-radius: 0;
  margin-bottom: 12px;
}
.alert-inline .alert-icon {
  margin-top: 1px;
  margin-right: 0;
}
.alert-inline.alert-warning {
  background: #FEF3C7;
  border-color: transparent;
  border-left-color: #F59E0B;
}
.alert-inline.alert-danger {
  background: #FEE2E2;
  border-color: transparent;
  border-left-color: #EF4444;
}
.alert-inline.alert-success {
  background: #DCFCE7;
  border-color: transparent;
  border-left-color: #22C55E;
}
.alert-inline.alert-primary, .alert-inline.alert-info {
  background: #DBEAFE;
  border-color: transparent;
  border-left-color: #3B82F6;
}

.alert-inline-content {
  flex: 1;
}

.alert-inline-title {
  font-weight: 600;
  font-size: 14px;
  color: #1A1A1A;
  margin-bottom: 4px;
}

.alert-inline-message {
  font-size: 14px;
  color: #4B5563;
  line-height: 1.5;
}

.alert.alert-dismissible {
  padding-right: 48px;
}
.alert.alert-dismissible .btn-close {
  position: absolute;
  top: 14px;
  right: 14px;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fadeOut {
  to {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.alert-animated {
  animation: slideIn 0.3s ease-out;
}

.alert-removing {
  animation: fadeOut 0.3s ease-out forwards;
}

.alert-toast {
  position: fixed;
  top: 20px;
  right: 20px;
  min-width: 300px;
  max-width: 400px;
  z-index: 1050;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #E5E7EB;
}

@media (max-width: 576px) {
  .alert {
    font-size: 13px;
    padding: 12px 14px;
  }
  .alert-title {
    font-size: 13px;
  }
  .alert-message {
    font-size: 12px;
  }
  .alert-badge {
    font-size: 11px;
    padding: 3px 8px;
  }
  .alert-card {
    padding: 12px;
  }
  .alert-card-message,
  .alert-card-actions {
    margin-left: 0;
  }
  .user-avatar {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }
  .alert-toast {
    left: 16px;
    right: 16px;
    min-width: auto;
    max-width: none;
  }
}
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6, .alert p {
  margin: 0;
}

.alert-group .alert {
  margin-bottom: 8px;
}
.alert-group .alert:last-child {
  margin-bottom: 0;
}

.alert-stack {
  position: relative;
}
.alert-stack .alert {
  position: relative;
  margin-bottom: 0;
}
.alert-stack .alert:not(:first-child) {
  margin-top: -8px;
  opacity: 0.95;
}
.alert-stack .alert:nth-child(2) {
  transform: scale(0.98);
}
.alert-stack .alert:nth-child(3) {
  transform: scale(0.96);
}

.alert-icon-success::before {
  content: "\f26b";
  font-family: "bootstrap-icons";
}

.alert-icon-danger::before,
.alert-icon-error::before {
  content: "\f33b";
}

.alert-icon-warning::before {
  content: "\f33c";
  font-family: "bootstrap-icons";
}

.alert-icon-info::before {
  content: "\f431";
  font-family: "bootstrap-icons";
}

.lv-conf-temp-email-badge {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 2px;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  position: relative;
  background-color: #1A1A1A;
  color: #FFFFFF;
  border: 1px solid #1F2937;
}
.lv-conf-temp-email-badge:hover {
  transform: translateY(-2px);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15);
}
.lv-conf-temp-email-badge::after {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 4px;
  height: 4px;
  background-color: rgba(0, 0, 0, 0.2);
}
.lv-conf-temp-email-badge.primary {
  background-color: #349422;
  color: #FFFFFF;
  border: 1px solid #2a7a1b;
}
.lv-conf-temp-email-badge.secondary {
  background-color: #1A1A1A;
  color: #FFFFFF;
  border: 1px solid #1F2937;
}
.lv-conf-temp-email-badge.tertiary {
  background-color: #9CA3AF;
  color: #349422;
  border: 1px solid #4B5563;
}
.lv-conf-temp-email-badge.success {
  background-color: #22C55E;
  color: #FFFFFF;
  border: 1px solid rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
.lv-conf-temp-email-badge.info {
  background-color: #3B82F6;
  color: #FFFFFF;
  border: 1px solid rgb(11.1512195122, 99.1219512195, 242.8487804878);
}
.lv-conf-temp-email-badge.warning {
  background-color: #F59E0B;
  color: #1A1A1A;
  border: 1px solid rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.lv-conf-temp-email-badge.danger {
  background-color: #EF4444;
  color: #FFFFFF;
  border: 1px solid rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.lv-conf-temp-email-badge.admin {
  background-color: #9d4edd;
  color: #FFFFFF;
  border: 1px solid rgb(132.8151658768, 39.9620853081, 208.0379146919);
}
.lv-conf-temp-email-badge.user {
  background-color: #4B5563;
  color: #FFFFFF;
  border: 1px solid rgb(53.0172413793, 60.0862068966, 69.9827586207);
}
.lv-conf-temp-email-badge.guest {
  background-color: #8aa899;
  color: #FFFFFF;
  border: 1px solid rgb(108.75, 146.25, 127.5);
}
.lv-conf-temp-email-badge.active {
  background-color: #03b898;
  color: #FFFFFF;
  border: 1px solid rgb(2.1818181818, 133.8181818182, 110.5454545455);
}
.lv-conf-temp-email-badge.pending {
  background-color: #9CA3AF;
  color: #349422;
  border: 1px solid #4B5563;
}
.lv-conf-temp-email-badge.inactive {
  background-color: #c77dff;
  color: #FFFFFF;
  border: 1px solid rgb(177.0307692308, 74, 255);
}
.lv-conf-temp-email-badge.cancelled {
  background-color: #913152;
  color: #FFFFFF;
  border: 1px solid rgb(106.881443299, 36.118556701, 60.4432989691);
}
.lv-conf-temp-email-badge.candidato {
  background-color: #1A1A1A;
  color: #FFFFFF;
  border: 1px solid #1F2937;
}
.lv-conf-temp-email-badge.entrevista {
  background-color: #4B5563;
  color: #FFFFFF;
  border: 1px solid #1A1A1A;
}
.lv-conf-temp-email-badge.resultado {
  background-color: #3B82F6;
  color: #FFFFFF;
  border: 1px solid rgb(11.1512195122, 99.1219512195, 242.8487804878);
}
.lv-conf-temp-email-badge.sistema {
  background-color: #4a3f81;
  color: #FFFFFF;
  border: 1px solid rgb(54.34375, 46.265625, 94.734375);
}
.lv-conf-temp-email-badge.purple {
  background-color: #349422;
  color: #FFFFFF;
  border: 1px solid #2a7a1b;
}
.lv-conf-temp-email-badge.teal {
  background-color: #1A1A1A;
  color: #FFFFFF;
  border: 1px solid #1F2937;
}
.lv-conf-temp-email-badge.yellow {
  background-color: #9CA3AF;
  color: #349422;
  border: 1px solid #4B5563;
}
.lv-conf-temp-email-badge.coral {
  background-color: #EF4444;
  color: #FFFFFF;
  border: 1px solid rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.lv-conf-temp-email-badge.blue {
  background-color: #3B82F6;
  color: #FFFFFF;
  border: 1px solid rgb(11.1512195122, 99.1219512195, 242.8487804878);
}
.lv-conf-temp-email-badge.navy {
  background-color: #1a3a6c;
  color: #FFFFFF;
  border: 1px solid rgb(16.1044776119, 35.9253731343, 66.8955223881);
}
.lv-conf-temp-email-badge.mint {
  background-color: #61e8a1;
  color: #1F2937;
  border: 1px solid rgb(52.4806629834, 225.5193370166, 134.5138121547);
}
.lv-conf-temp-email-badge.magenta {
  background-color: #d81b60;
  color: #FFFFFF;
  border: 1px solid rgb(170.6666666667, 21.3333333333, 75.8518518519);
}
.lv-conf-temp-email-badge.orange {
  background-color: #ff8847;
  color: #FFFFFF;
  border: 1px solid rgb(255, 103.0163043478, 20);
}
.lv-conf-temp-email-badge.sm {
  font-size: 10px;
  padding: 3px 8px;
}
.lv-conf-temp-email-badge.lg {
  font-size: 14px;
  padding: 6px 12px;
}
.lv-conf-temp-email-badge.outline {
  background-color: transparent;
}
.lv-conf-temp-email-badge.outline.primary {
  color: #349422;
}
.lv-conf-temp-email-badge.outline.secondary {
  color: #1A1A1A;
}
.lv-conf-temp-email-badge.outline.tertiary {
  color: #4B5563;
}
.lv-conf-temp-email-badge.outline.success {
  color: #22C55E;
}
.lv-conf-temp-email-badge.outline.info {
  color: #3B82F6;
}
.lv-conf-temp-email-badge.outline.warning {
  color: #F59E0B;
}
.lv-conf-temp-email-badge.outline.danger {
  color: #EF4444;
}
.lv-conf-temp-email-badge.striped {
  position: relative;
  overflow: hidden;
}
.lv-conf-temp-email-badge.striped::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1) 5px, transparent 5px, transparent 10px);
  z-index: 0;
}
.lv-conf-temp-email-badge.striped > * {
  position: relative;
  z-index: 1;
}
.lv-conf-temp-email-badge.pixel {
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 95% 100%, 0 100%);
}
.lv-conf-temp-email-badge.pulse {
  animation: badge-pulse 2s infinite;
}
@keyframes badge-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@media (max-width: 768px) {
  .lv-conf-temp-email-badge {
    font-size: 11px;
    padding: 4px 8px;
  }
  .lv-conf-temp-email-badge.lg {
    font-size: 13px;
  }
  .lv-conf-temp-email-badge.sm {
    font-size: 9px;
    padding: 2px 6px;
  }
}

.lv-conf-temp-email-badge-icon {
  margin-right: 5px;
}

.lv-conf-temp-email-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background-color: #EF4444;
  color: #FFFFFF;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgb(234.9802955665, 21.0197044335, 21.0197044335);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
}

.lv-conf-temp-email-badge-group {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lv-conf-temp-email-badge-group .lv-conf-temp-email-badge {
  margin: 0;
}

/*
 * Editorial Corporate Forms Component
 * Design limpo, minimalista e sofisticado
 */
.form-group {
  margin-bottom: 1rem;
  position: relative;
}

.form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 0.8125rem;
  color: #4B5563;
  letter-spacing: 0.3px;
}
.form-label.required::after {
  content: " *";
  color: #EF4444;
  margin-left: 2px;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.625rem 0.875rem;
  font-size: 0.9375rem;
  color: #1A1A1A;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  transition: all 0.2s ease;
  line-height: 1.5;
}
.form-control::placeholder {
  color: #9CA3AF;
  opacity: 1;
}
.form-control:focus {
  outline: none;
  border-color: #1A1A1A;
  background-color: #FFFFFF;
}
.form-control:hover:not(:focus):not(:disabled) {
  border-color: #D1D5DB;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  color: #9CA3AF;
  cursor: not-allowed;
  opacity: 1;
}
.form-control.is-valid {
  border-color: #22C55E;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322C55E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
}
.form-control.is-valid:focus {
  border-color: #22C55E;
}
.form-control.is-invalid {
  border-color: #EF4444;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='15' y1='9' x2='9' y2='15'%3E%3C/line%3E%3Cline x1='9' y1='9' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
}
.form-control.is-invalid:focus {
  border-color: #EF4444;
}
.form-control.form-control-sm {
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
}
.form-control.form-control-lg {
  padding: 0.875rem 1rem;
  font-size: 1rem;
}

textarea.form-control {
  min-height: 6rem;
  resize: vertical;
  line-height: 1.6;
}

.form-select {
  display: block;
  width: 100%;
  padding: 0.625rem 2.5rem 0.625rem 0.875rem;
  font-size: 0.9375rem;
  color: #1A1A1A;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M3.5 4.5L6 7l2.5-2.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 12px;
  transition: all 0.2s ease;
  line-height: 1.5;
}
.form-select:focus {
  outline: none;
  border-color: #1A1A1A;
}
.form-select:hover:not(:focus):not(:disabled) {
  border-color: #D1D5DB;
}
.form-select:disabled {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  color: #9CA3AF;
  cursor: not-allowed;
  opacity: 1;
}
.form-select.form-select-sm {
  padding: 0.375rem 2.25rem 0.375rem 0.625rem;
  font-size: 0.8125rem;
}
.form-select.form-select-lg {
  padding: 0.875rem 2.75rem 0.875rem 1rem;
  font-size: 1rem;
}

.form-check {
  display: block;
  min-height: 1.25rem;
  padding-left: 1.75rem;
  margin-bottom: 0.625rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.75rem;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  vertical-align: top;
  border: 1px solid #E5E7EB;
  background-color: #FFFFFF;
  appearance: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.form-check .form-check-input:checked {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
}
.form-check .form-check-input:focus {
  outline: none;
  border-color: #1A1A1A;
}
.form-check .form-check-input:hover:not(:disabled) {
  border-color: #D1D5DB;
}
.form-check .form-check-input:disabled {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  cursor: not-allowed;
  opacity: 0.6;
}
.form-check .form-check-input:disabled ~ .form-check-label {
  color: #9CA3AF;
  cursor: not-allowed;
}
.form-check .form-check-label {
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
  line-height: 1.5;
}
.form-check.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 1rem;
}
.form-check.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.5rem;
  margin-left: 0;
}

.form-check-input[type=checkbox] {
  border-radius: 0;
}
.form-check-input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M5 10l3 3l7-7'/%3E%3C/svg%3E");
  background-size: 0.875rem;
  background-position: center;
  background-repeat: no-repeat;
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M5 10h10'/%3E%3C/svg%3E");
  background-size: 0.875rem;
  background-position: center;
  background-repeat: no-repeat;
}

.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input[type=radio]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='4' fill='%23fff'/%3E%3C/svg%3E");
  background-size: 1rem;
  background-position: center;
  background-repeat: no-repeat;
}

.form-switch {
  padding-left: 3rem;
  min-height: 1.5rem;
}
.form-switch .form-check-input {
  width: 2.5rem;
  height: 1.375rem;
  margin-left: -3rem;
  margin-top: 0.0625rem;
  border-radius: 2rem;
  border: 1px solid #E5E7EB;
  background-color: #F3F4F6;
  background-image: none !important;
  appearance: none;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}
.form-switch .form-check-input::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #FFFFFF;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
}
.form-switch .form-check-input::after {
  display: none !important;
}
.form-switch .form-check-input:hover:not(:disabled) {
  border-color: #D1D5DB;
}
.form-switch .form-check-input:checked {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
}
.form-switch .form-check-input:checked::before {
  transform: translateX(1.125rem);
}
.form-switch .form-check-input:focus {
  outline: none;
  border-color: #1A1A1A;
  box-shadow: none;
}
.form-switch .form-check-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.form-switch .form-check-input:disabled::before {
  box-shadow: none;
}
.form-switch .form-check-label {
  cursor: pointer;
  user-select: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .form-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus {
  z-index: 3;
  border-right: 1px solid #1A1A1A;
}
.input-group .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #4B5563;
  text-align: center;
  white-space: nowrap;
  background-color: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 0;
}
.input-group .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
.input-group .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 0.875rem;
  border: 1px solid #E5E7EB;
  border-radius: 0;
}
.input-group > .btn:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
.input-group > .btn:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -1px;
}
.input-group > .btn:hover {
  z-index: 3;
}
.input-group > .btn:focus {
  z-index: 3;
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.form-range::-webkit-slider-thumb {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: -0.4375rem;
  background-color: #1A1A1A;
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  appearance: none;
  cursor: pointer;
}
.form-range::-webkit-slider-thumb:hover {
  background-color: #374151;
}
.form-range::-webkit-slider-thumb:active {
  background-color: #1F2937;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.25rem;
  color: transparent;
  cursor: pointer;
  background-color: #E5E7EB;
  border-color: transparent;
  border-radius: 0;
}
.form-range::-moz-range-thumb {
  width: 1.125rem;
  height: 1.125rem;
  background-color: #1A1A1A;
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  cursor: pointer;
}
.form-range::-moz-range-thumb:hover {
  background-color: #374151;
}
.form-range::-moz-range-thumb:active {
  background-color: #1F2937;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.25rem;
  cursor: pointer;
  background-color: #E5E7EB;
  border-color: transparent;
  border-radius: 0;
}
.form-range:focus {
  outline: none;
}
.form-range:focus::-webkit-slider-thumb {
  border-color: #1A1A1A;
}
.form-range:focus::-moz-range-thumb {
  border-color: #1A1A1A;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: #D1D5DB;
}
.form-range:disabled::-moz-range-thumb {
  background-color: #D1D5DB;
}

.search-field {
  position: relative;
}
.search-field .form-control {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.search-field__icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  pointer-events: none;
  font-size: 1rem;
}
.search-field__clear {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.25rem;
  border: none;
  background: none;
  color: #6B7280;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  transition: all 0.2s ease;
  border-radius: 0;
}
.search-field__clear:hover {
  color: #1A1A1A;
  background-color: #F9FAFB;
}
.search-field__clear:focus {
  outline: 2px solid #1A1A1A;
  color: #1A1A1A;
}

.form-text {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
  line-height: 1.4;
}

.valid-feedback,
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
}
.was-validated .valid-feedback,
.was-validated .invalid-feedback {
  display: block;
}

.valid-feedback {
  color: #22C55E;
}

.invalid-feedback {
  color: #EF4444;
}

.valid-tooltip,
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.5rem 0.75rem;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  border-radius: 0;
  line-height: 1.4;
}

.valid-tooltip {
  color: #FFFFFF;
  background-color: #22C55E;
}

.invalid-tooltip {
  color: #FFFFFF;
  background-color: #EF4444;
}

.form-section {
  margin-bottom: 1.5rem;
  padding: 0;
  background-color: #FFFFFF;
  border-radius: 0;
  border: 1px solid #E5E7EB;
}
.form-section .section-title {
  font-weight: 600;
  font-size: 1rem;
  color: #1A1A1A;
  margin: 0;
  padding: 1rem 1.25rem;
  background-color: #FAFAFA;
  border-bottom: 1px solid #E5E7EB;
  border-radius: 0 0 0 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.form-section .section-body {
  padding: 1.5rem 1.25rem;
}
.form-section .section-footer {
  padding: 1rem 1.25rem;
  background-color: #FAFAFA;
  border-top: 1px solid #E5E7EB;
  border-radius: 0 0 0 0;
}

.compound-field {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.compound-field.compound-field-2 {
  grid-template-columns: repeat(2, 1fr);
}
.compound-field.compound-field-3 {
  grid-template-columns: repeat(3, 1fr);
}
.compound-field.compound-field-4 {
  grid-template-columns: repeat(4, 1fr);
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}
.form-actions.form-actions-left {
  justify-content: flex-start;
}
.form-actions.form-actions-center {
  justify-content: center;
}
.form-actions.form-actions-spread {
  justify-content: space-between;
}

.required-mark {
  color: #EF4444;
  margin-left: 2px;
}

.field-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin-left: 0.25rem;
  color: #6B7280;
  cursor: help;
  border-radius: 50%;
  font-size: 0.75rem;
  vertical-align: middle;
}
.field-help:hover {
  color: #1A1A1A;
}

.input-icon {
  position: relative;
}
.input-icon.input-icon-left .form-control {
  padding-left: 2.5rem;
}
.input-icon.input-icon-left .input-icon__icon {
  left: 0.875rem;
}
.input-icon.input-icon-right .form-control {
  padding-right: 2.5rem;
}
.input-icon.input-icon-right .input-icon__icon {
  right: 0.875rem;
}
.input-icon .input-icon__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  pointer-events: none;
  font-size: 1rem;
}

.input-with-icon {
  position: relative;
}
.input-with-icon .input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}
.input-with-icon .form-control {
  padding-left: 42px;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

@media (max-width: 768px) {
  .compound-field {
    grid-template-columns: 1fr;
  }
  .form-actions {
    flex-direction: column-reverse;
  }
  .form-actions button,
  .form-actions .btn {
    width: 100%;
  }
  .form-check-inline {
    display: flex;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 576px) {
  .form-control,
  .form-select {
    font-size: 1rem;
  }
}
.input-group.comp-input {
  margin-bottom: 1rem;
}
.input-group.comp-input .input-group-text {
  background-color: #FAFAFA;
  border: 1px solid #E5E7EB;
}
.input-group.comp-input .form-control {
  border: 1px solid #E5E7EB;
}
.input-group.comp-input .form-control:focus {
  border-color: #1A1A1A;
  z-index: 5;
}
.input-group.comp-input .input-group-text:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group.comp-input .btn:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  z-index: 5;
}
.input-group.comp-input.is-invalid .input-group-text,
.input-group.comp-input.is-invalid .form-control,
.input-group.comp-input.is-invalid .select2-selection {
  border-color: #EF4444;
}
.input-group.comp-input.is-valid .input-group-text,
.input-group.comp-input.is-valid .form-control,
.input-group.comp-input.is-valid .select2-selection {
  border-color: #22C55E;
}

.form-file {
  position: relative;
}
.form-file .form-file-input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.form-file .form-file-label {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  color: #4B5563;
  background-color: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.form-file .form-file-label:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}
.form-file .form-file-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.form-file .form-file-button {
  margin-left: auto;
  padding-left: 1rem;
  color: #1A1A1A;
  font-weight: 600;
}

.field-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6B7280;
  margin-top: 6px;
}
.field-hint i {
  font-size: 11px;
}

.form-section-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: #1A1A1A;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.form-section-title i {
  color: #6B7280;
}

.form-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 0;
  font-size: 14px;
  margin-bottom: 20px;
  border-left: 3px solid;
}
.form-alert i {
  font-size: 18px;
  flex-shrink: 0;
}
.form-alert span {
  line-height: 1.4;
}

.form-alert-success {
  background-color: rgba(34, 197, 94, 0.08);
  color: #16A34A;
  border-left-color: #22C55E;
}

.form-alert-error {
  background-color: rgba(239, 68, 68, 0.08);
  color: #DC2626;
  border-left-color: #EF4444;
}

.form-alert-info {
  background-color: rgba(59, 130, 246, 0.08);
  color: rgb(10.0317073171, 89.1707317073, 218.4682926829);
  border-left-color: #3B82F6;
}

.form-alert-warning {
  background-color: rgba(245, 158, 11, 0.08);
  color: rgb(147.937007874, 95.188976378, 6.062992126);
  border-left-color: #F59E0B;
}

/*
 * Editorial Corporate Cards Component
 * Design limpo, minimalista e sofisticado
 */
.card {
  background-color: #FFFFFF;
  border-radius: 0;
  margin-bottom: 1.5rem;
  border: 1px solid #E5E7EB;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: all 0.2s ease;
}
.card.card--flat, .card--flat {
  box-shadow: none;
  border: 1px solid #E5E7EB;
}
.card.card--raised, .card--raised {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.card.card--hover:hover, .card--hover:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: #1A1A1A;
}
.card.card--clickable, .card--clickable {
  cursor: pointer;
}
.card.card--clickable:active, .card--clickable:active {
  transform: translateY(0);
  box-shadow: none;
}
.card.card--sm .card-body, .card.card--sm .card__body, .card--sm .card-body, .card--sm .card__body {
  padding: 0.5rem;
}
.card.card--md .card-body, .card.card--md .card__body, .card--md .card-body, .card--md .card__body {
  padding: 1rem;
}
.card.card--lg .card-body, .card.card--lg .card__body, .card--lg .card-body, .card--lg .card__body {
  padding: 1.5rem;
}
.card.card--active, .card--active {
  border-color: #1A1A1A;
  background-color: #FAFAFA;
  box-shadow: 0 0 0 2px rgba(26, 26, 26, 0.1);
}
.card.card--disabled, .card--disabled {
  opacity: 0.5;
  pointer-events: none;
  background-color: #FAFAFA;
}
.card.card--loading, .card--loading {
  position: relative;
  overflow: hidden;
}
.card.card--loading::after, .card--loading::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}
.card.card--primary, .card--primary {
  border-color: #1A1A1A;
  border-left: 3px solid #1A1A1A;
}
.card.card--secondary, .card--secondary {
  border-color: #D1D5DB;
  border-left: 3px solid #D1D5DB;
}
.card.card--tertiary, .card--tertiary {
  border-color: #E5E7EB;
  border-left: 3px solid #E5E7EB;
}
.card.card--success, .card--success {
  border-color: #22C55E;
  border-left: 3px solid #22C55E;
  background-color: rgba(34, 197, 94, 0.04);
}
.card.card--warning, .card--warning {
  border-color: #F59E0B;
  border-left: 3px solid #F59E0B;
  background-color: rgba(245, 158, 11, 0.04);
}
.card.card--danger, .card--danger {
  border-color: #EF4444;
  border-left: 3px solid #EF4444;
  background-color: rgba(239, 68, 68, 0.04);
}
.card.card--info, .card--info {
  border-color: #3B82F6;
  border-left: 3px solid #3B82F6;
  background-color: rgba(59, 130, 246, 0.04);
}

.card-header, .card__header {
  padding: 1rem 1.25rem;
  background-color: #FAFAFA;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.card-header.no-border, .card-header--no-border, .card__header.no-border, .card__header--no-border {
  border-bottom: none;
}
.card-header.transparent, .card-header--transparent, .card__header.transparent, .card__header--transparent {
  background-color: transparent;
}

.card-title, .card__title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.card-subtitle, .card__subtitle {
  font-size: 0.8125rem;
  color: #6B7280;
  margin-top: 0.25rem;
  font-weight: 400;
}

.card-body, .card__body {
  padding: 1.5rem 1.25rem;
  flex: 1 1 auto;
}
.card-body.no-padding, .card-body--no-padding, .card__body.no-padding, .card__body--no-padding {
  padding: 0;
}
.card-body.compact, .card-body--compact, .card__body.compact, .card__body--compact {
  padding: 1rem;
}
.card-body.large, .card-body--large, .card__body.large, .card__body--large {
  padding: 2rem 1.5rem;
}

.card-footer, .card__footer {
  padding: 1rem 1.25rem;
  background-color: #FAFAFA;
  border-top: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.card-footer.no-border, .card-footer--no-border, .card__footer.no-border, .card__footer--no-border {
  border-top: none;
}
.card-footer.transparent, .card-footer--transparent, .card__footer.transparent, .card__footer--transparent {
  background-color: transparent;
}
.card-footer.centered, .card-footer--centered, .card__footer.centered, .card__footer--centered {
  justify-content: center;
}
.card-footer.right, .card-footer--right, .card__footer.right, .card__footer--right {
  justify-content: flex-end;
}

.card-divider, .card__divider {
  height: 1px;
  margin: 1rem 0;
  background-color: #F3F4F6;
  border: none;
}

.card-img, .card-img-top, .card-img-bottom, .card__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.card-img.top, .card-img--top, .card-img-top.top, .card-img-top--top, .card-img-bottom.top, .card-img-bottom--top, .card__image.top, .card__image--top {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.card-img.bottom, .card-img--bottom, .card-img-top.bottom, .card-img-top--bottom, .card-img-bottom.bottom, .card-img-bottom--bottom, .card__image.bottom, .card__image--bottom {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.card-img.fixed-height, .card-img--fixed-height, .card-img-top.fixed-height, .card-img-top--fixed-height, .card-img-bottom.fixed-height, .card-img-bottom--fixed-height, .card__image.fixed-height, .card__image--fixed-height {
  height: 200px;
}

.card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0;
  font-size: 1.5rem;
}
.card__icon--primary, .card__icon.primary {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.card__icon--secondary, .card__icon.secondary {
  background-color: #F9FAFB;
  color: #4B5563;
}
.card__icon--tertiary, .card__icon.tertiary {
  background-color: #FAFAFA;
  color: #6B7280;
}
.card__icon--success, .card__icon.success {
  background-color: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.card__icon--warning, .card__icon.warning {
  background-color: rgba(245, 158, 11, 0.1);
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.card__icon--danger, .card__icon.danger {
  background-color: rgba(239, 68, 68, 0.1);
  color: #EF4444;
}
.card__icon--info, .card__icon.info {
  background-color: rgba(59, 130, 246, 0.1);
  color: #3B82F6;
}
.card__icon--circle, .card__icon.circle {
  border-radius: 50%;
}

.card__badge {
  padding: 0.25rem 0.625rem;
  border-radius: 0;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1;
}
.card__badge--primary, .card__badge.bg-primary {
  background-color: #1A1A1A;
  color: #FFFFFF;
}
.card__badge--secondary, .card__badge.bg-secondary {
  background-color: #6B7280;
  color: #FFFFFF;
}
.card__badge--tertiary, .card__badge.bg-tertiary {
  background-color: #F3F4F6;
  color: #1A1A1A;
}
.card__badge--outline, .card__badge.outline {
  background-color: transparent;
  border: 1px solid currentColor;
}
.card__badge--success, .card__badge.bg-success {
  background-color: #22C55E;
  color: #FFFFFF;
}
.card__badge--warning, .card__badge.bg-warning {
  background-color: #F59E0B;
  color: #1A1A1A;
}
.card__badge--danger, .card__badge.bg-danger {
  background-color: #EF4444;
  color: #FFFFFF;
}
.card__badge--info, .card__badge.bg-info {
  background-color: #3B82F6;
  color: #FFFFFF;
}
.card__badge--light, .card__badge.light {
  background-color: #F9FAFB;
  color: #4B5563;
  border: 1px solid #E5E7EB;
}
.card__badge--dark, .card__badge.dark {
  background-color: #1A1A1A;
  color: #FFFFFF;
}

.card-group {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
}
.card-group .card {
  flex: 1 0 0%;
  margin-bottom: 0;
}

.card-deck {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
}
.card-deck .card {
  margin-bottom: 0;
}

.card-columns {
  column-count: 3;
  column-gap: 1rem;
}
.card-columns .card {
  display: inline-block;
  width: 100%;
  margin-bottom: 1rem;
  break-inside: avoid;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
.card--path, .card.path {
  background: linear-gradient(to right, #1A1A1A 3px, transparent 3px);
}
.card--path.complete, .card.path.complete {
  background: linear-gradient(to right, #22C55E 3px, transparent 3px);
}
.card--path.current, .card.path.current {
  background: linear-gradient(to right, #1A1A1A 3px, transparent 3px);
  box-shadow: 0 0 0 2px rgba(26, 26, 26, 0.15);
}

.card--metric, .card.metric {
  text-align: center;
}
.card--metric .card__metric-value, .card.metric .card__metric-value {
  font-size: 2.5rem;
  font-weight: 300;
  color: #1A1A1A;
  line-height: 1;
  margin: 0.5rem 0;
}
.card--metric .card__metric-label, .card.metric .card__metric-label {
  font-size: 0.8125rem;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.card--metric .card__metric-change, .card.metric .card__metric-change {
  font-size: 0.875rem;
  margin-top: 0.5rem;
  font-weight: 600;
}
.card--metric .card__metric-change.positive, .card.metric .card__metric-change.positive {
  color: #22C55E;
}
.card--metric .card__metric-change.positive::before, .card.metric .card__metric-change.positive::before {
  content: "▲ ";
}
.card--metric .card__metric-change.negative, .card.metric .card__metric-change.negative {
  color: #EF4444;
}
.card--metric .card__metric-change.negative::before, .card.metric .card__metric-change.negative::before {
  content: "▼ ";
}

.card--list .card__list, .card.list .card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.card--list .card__list .card__list-item, .card.list .card__list .card__list-item {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.card--list .card__list .card__list-item:hover, .card.list .card__list .card__list-item:hover {
  background-color: #FAFAFA;
}
.card--list .card__list .card__list-item:last-child, .card.list .card__list .card__list-item:last-child {
  border-bottom: none;
}
.card--list .card__list .card__list-item.active, .card.list .card__list .card__list-item.active {
  background-color: #F9FAFB;
  border-left: 3px solid #1A1A1A;
  padding-left: calc(1.25rem - 3px);
  font-weight: 600;
}
.card--list .card__list .card__list-item.disabled, .card.list .card__list .card__list-item.disabled {
  opacity: 0.5;
  pointer-events: none;
  background-color: #FAFAFA;
}

.card__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.card__actions--right {
  justify-content: flex-end;
}
.card__actions--center {
  justify-content: center;
}
.card__actions--between {
  justify-content: space-between;
}

.card--highlight {
  border-top: 3px solid #1A1A1A;
}
.card--highlight.success {
  border-top-color: #22C55E;
}
.card--highlight.warning {
  border-top-color: #F59E0B;
}
.card--highlight.danger {
  border-top-color: #EF4444;
}
.card--highlight.info {
  border-top-color: #3B82F6;
}

.card--expandable .card-header, .card--expandable .card__header {
  cursor: pointer;
  user-select: none;
}
.card--expandable .card-header::after, .card--expandable .card__header::after {
  content: "\f282";
  font-family: "bootstrap-icons";
  font-size: 1rem;
  transition: transform 0.2s ease;
}
.card--expandable .card-header.expanded::after, .card--expandable .card__header.expanded::after {
  transform: rotate(180deg);
}
.card--expandable .card-body, .card--expandable .card__body {
  max-height: 0;
  overflow: hidden;
  padding: 0 1.25rem;
  transition: all 0.3s ease;
}
.card--expandable .card-body.expanded, .card--expandable .card__body.expanded {
  max-height: 2000px;
  padding: 1.5rem 1.25rem;
}

.card--status {
  border-left-width: 4px;
  border-left-style: solid;
}
.card--status.status-new {
  border-left-color: #3B82F6;
}
.card--status.status-in-progress {
  border-left-color: #F59E0B;
}
.card--status.status-completed {
  border-left-color: #22C55E;
}
.card--status.status-blocked {
  border-left-color: #EF4444;
}

@media (max-width: 575px) {
  .card {
    margin-bottom: 1rem;
  }
  .card-header, .card__header,
  .card-body, .card__body,
  .card-footer, .card__footer {
    padding: 1rem;
  }
  .card-title, .card__title {
    font-size: 0.875rem;
  }
  .card-columns {
    column-count: 1;
  }
  .card__metric-value {
    font-size: 2rem !important;
  }
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 2;
  }
}
@media (min-width: 768px) {
  .card-deck {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  }
}
@media (min-width: 992px) {
  .card-columns {
    column-count: 3;
  }
}
/*
 * Select2 - Editorial Corporate Style
 * Design limpo, minimalista e sofisticado
 */
body.select2-open {
  overflow-x: hidden;
}

.select2-container {
  width: 100% !important;
}

.select2-container .select2-selection {
  border: 1px solid #E5E7EB;
  border-radius: 0;
  transition: all 0.2s ease;
  background-color: #FFFFFF;
  box-shadow: none;
}

.select2-container .select2-selection:hover:not(.select2-selection--disabled) {
  border-color: #D1D5DB;
}

.select2-container .select2-selection--single {
  height: 42px;
  padding: 0;
  display: flex;
  align-items: center;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  color: #1A1A1A;
  padding: 0 36px 0 12px;
  line-height: 1;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
}

.select2-container .select2-selection--single .select2-selection__placeholder {
  color: #9CA3AF;
  opacity: 1;
}

.select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 12px;
  width: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.select2-container .select2-selection--single .select2-selection__arrow b {
  display: none;
}

.select2-container .select2-selection--single::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M3.5 4.5L6 7l2.5-2.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
  pointer-events: none;
}

.select2-container .select2-selection--multiple {
  min-height: 42px;
  padding: 4px 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.select2-container .select2-selection--multiple .select2-selection__choice {
  background-color: #F9FAFB;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  margin: 2px;
  padding: 4px 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  line-height: 1.25;
  gap: 6px;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove {
  color: #6B7280;
  font-size: 0.875rem;
  line-height: 1;
  order: 1;
  transition: color 0.2s ease;
  opacity: 0.7;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #EF4444;
  opacity: 1;
}

.select2-container .select2-selection--multiple .select2-search__field {
  margin: 2px;
  padding: 4px;
  font-size: 0.9375rem;
  line-height: 1;
}

.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
  border-color: #1A1A1A;
  box-shadow: none;
  outline: none;
}

.select2-container--disabled .select2-selection {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  color: #9CA3AF;
  cursor: not-allowed;
  opacity: 1;
}

.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-dropdown {
  border: 1px solid #E5E7EB;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background-color: #FFFFFF;
  margin-top: 2px;
}

.select2-search--dropdown {
  padding: 10px;
  border-bottom: 1px solid #F3F4F6;
  background-color: #FAFAFA;
}

.select2-search--dropdown .select2-search__field {
  width: 100%;
  height: 36px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 0 12px;
  font-size: 0.9375rem;
  line-height: 1;
  transition: all 0.2s ease;
  background-color: #FFFFFF;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: #1A1A1A;
  outline: none;
  box-shadow: none;
}

.select2-search--dropdown .select2-search__field::placeholder {
  color: #9CA3AF;
}

.select2-results {
  padding: 0;
}

.select2-results__options {
  max-height: 250px;
  overflow-y: auto;
  padding: 4px 0;
}

.select2-results__option {
  padding: 10px 14px;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #1A1A1A;
  cursor: pointer;
  transition: background-color 0.15s ease;
  display: flex;
  align-items: center;
}

.select2-results__option:hover {
  background-color: #F9FAFB;
}

.select2-results__option[aria-selected=true] {
  background-color: #F9FAFB;
  color: #1A1A1A;
  font-weight: 500;
  position: relative;
}

.select2-results__option[aria-selected=true]::before {
  content: "✓";
  position: absolute;
  right: 14px;
  color: #1A1A1A;
  font-weight: 700;
  font-size: 1rem;
}

.select2-results__option--highlighted[aria-selected] {
  background-color: #1A1A1A;
  color: #FFFFFF;
}

.select2-results__option--highlighted[aria-selected][aria-selected=true] {
  background-color: #1A1A1A;
  color: #FFFFFF;
  font-weight: 500;
}

.select2-results__group {
  padding: 10px 14px;
  font-weight: 600;
  font-size: 0.75rem;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: #F9FAFB;
  border-bottom: 1px solid #F3F4F6;
}

.select2-results__message {
  padding: 1rem 14px;
  text-align: center;
  color: #6B7280;
  font-size: 0.9375rem;
}

.select2-container--default .select2-results__option--disabled,
.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #9CA3AF;
  cursor: not-allowed;
  opacity: 0.6;
  background-color: transparent;
}

.select2-container--default .select2-results__option--disabled:hover,
.select2-container--default .select2-results__option[aria-disabled=true]:hover {
  background-color: transparent;
}

.select2-container--small .select2-selection--single {
  height: 32px;
  font-size: 0.8125rem;
}

.select2-container--large .select2-selection--single {
  height: 48px;
  font-size: 1rem;
}

.select2-container .select2-selection__clear {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  color: #9CA3AF;
  cursor: pointer;
  transition: color 0.2s ease;
  padding: 0.25rem;
  border-radius: 0;
}

.select2-container .select2-selection__clear:hover {
  color: #EF4444;
  background-color: rgba(239, 68, 68, 0.1);
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #FAFAFA;
  cursor: not-allowed;
}

.select2-container--default .select2-selection--single .select2-selection__rendered[title] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  height: auto;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-dropdown {
  animation: select2SlideDown 0.15s ease-out;
}

@keyframes select2SlideDown {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.select2-results__options {
  scrollbar-width: thin;
  scrollbar-color: #D1D5DB #F9FAFB;
}
.select2-results__options::-webkit-scrollbar {
  width: 6px;
}
.select2-results__options::-webkit-scrollbar-track {
  background: #F9FAFB;
  border-radius: 0;
}
.select2-results__options::-webkit-scrollbar-thumb {
  background: #D1D5DB;
  border-radius: 0;
}
.select2-results__options::-webkit-scrollbar-thumb:hover {
  background: #9CA3AF;
}

@media (max-width: 768px) {
  .select2-dropdown {
    width: 100% !important;
    left: 0 !important;
  }
  .select2-results__options {
    max-height: 240px;
  }
  .select2-results__option {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 576px) {
  .select2-container .select2-selection--single {
    font-size: 1rem;
  }
  .select2-search--dropdown .select2-search__field {
    font-size: 1rem;
  }
}
.input-group > .select2-container {
  flex: 1 1 auto;
  width: 1% !important;
}
.input-group > .select2-container .select2-selection {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .select2-container:not(:last-child) .select2-selection {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}

.input-group > .select2-container:not(:first-child) .select2-selection {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.select2-container--open .select2-dropdown {
  z-index: 1056;
}

.select2-container--open.select2-container--above .select2-dropdown {
  border-bottom: 1px solid #E5E7EB;
}

.select2-container--open.select2-container--below .select2-dropdown {
  border-top: 1px solid #E5E7EB;
}

.is-invalid + .select2-container .select2-selection,
.was-validated .form-select:invalid + .select2-container .select2-selection {
  border-color: #EF4444;
}

.is-valid + .select2-container .select2-selection,
.was-validated .form-select:valid + .select2-container .select2-selection {
  border-color: #22C55E;
}

.select2-container + .invalid-feedback,
.select2-container + .valid-feedback {
  display: block;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #1A1A1A;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  cursor: default;
  padding-left: 0;
}

.select2-container--default .select2-results__option--loading {
  padding: 1rem;
  text-align: center;
  color: #6B7280;
}
.select2-container--default .select2-results__option--loading::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid #E5E7EB;
  border-top-color: #1A1A1A;
  border-radius: 50%;
  animation: select2Spinner 0.6s linear infinite;
  margin-left: 0.5rem;
  vertical-align: middle;
}

@keyframes select2Spinner {
  to {
    transform: rotate(360deg);
  }
}
.select2-container--default .select2-selection--multiple {
  max-height: 200px;
  overflow-y: auto;
}

.select2-selection__choice-counter {
  background-color: #1A1A1A;
  color: #FFFFFF;
  border-radius: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  margin: 0.125rem;
  display: inline-flex;
  align-items: center;
}

.select2-results__option[role=group] {
  padding: 0;
}

.select2-results__option--group {
  padding-left: 0;
}

.select2-results__option[role=option] {
  padding-left: 1.5rem;
}

.select2-container .select2-selection:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: 2px;
}

.select2-results__option:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: -2px;
}

[dir=rtl] .select2-container .select2-selection--single::after {
  left: 0.875rem;
  right: auto;
}
[dir=rtl] .select2-container .select2-selection--single {
  padding: 0.625rem 0.875rem 0.625rem 2.5rem;
}
[dir=rtl] .select2-container .select2-selection__clear {
  left: 2.25rem;
  right: auto;
}
[dir=rtl] .select2-results__option[aria-selected=true]::before {
  left: 0.875rem;
  right: auto;
}
[dir=rtl] .select2-results__option[role=option] {
  padding-right: 1.5rem;
  padding-left: 0.875rem;
}

/* Reset e variáveis */
:root {
  --color-primary: #1A1A1A;
  --color-primary-hover: #374151;
  --color-success: #22C55E;
  --color-warning: #F59E0B;
  --color-danger: #EF4444;
  --color-info: #3B82F6;
  --color-purple: #5243aa;
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #6B7280;
  --color-text-subtle: #9CA3AF;
  --color-border: #E5E7EB;
  --color-border-light: #F3F4F6;
  --color-bg-subtle: #F9FAFB;
  --color-bg-hover: #FAFAFA;
  --shadow-sm: 0 1px 2px rgba(9, 30, 66, 0.06);
  --shadow-md: 0 2px 4px rgba(9, 30, 66, 0.08);
  --shadow-lg: 0 8px 16px rgba(9, 30, 66, 0.12);
  --transition-fast: 0.15s ease;
}

/* Container principal */
.jobs-list-container {
  background: #ffffff;
  border-radius: 4px;
  overflow: visible;
  box-shadow: var(--shadow-sm);
  position: relative;
  border-bottom: 3px solid #e5e7eb;
  width: 100%;
  max-width: 100%;
}

/* Header da lista */
.list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  margin-bottom: 8px;
}

.list-header-left,
.list-footer-left {
  font-size: 14px;
  color: var(--color-text-secondary);
  font-weight: 500;
}

/* Grid System - AJUSTADO PARA NÃO ULTRAPASSAR */
.jobs-list-header,
.job-row {
  display: grid;
  grid-template-columns: 90px minmax(180px, 2fr) 100px 110px 90px minmax(320px, 3fr) 110px; /* ações */
  align-items: center;
  column-gap: 12px;
  padding: 0 20px;
  width: 100%;
  max-width: 100%;
}

/* Header da tabela */
.jobs-list-header {
  background: var(--color-bg-subtle);
  border-bottom: 2px solid var(--color-border);
  padding: 12px 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-text-secondary);
}

.jobs-list-header > div {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Body da lista */
.jobs-list-body {
  background: #ffffff;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

/* Linhas de vagas */
.job-row {
  padding: 20px;
  border-bottom: 1px solid var(--color-border-light);
  transition: all var(--transition-fast);
  position: relative;
}

.job-row:hover {
  background: var(--color-bg-hover);
  box-shadow: inset 3px 0 0 var(--color-primary);
}

.job-row:hover .candidates-metrics {
  transform: translateX(2px);
}

.job-row:last-child {
  border-bottom: none;
}

.job-row > div {
  overflow: hidden;
  min-width: 0; /* Importante para truncar texto */
}

/* Coluna Status */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  max-width: 100%;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-active {
  background: rgba(0, 135, 90, 0.1);
  color: var(--color-success);
}

.status-active .status-dot {
  background: var(--color-success);
  animation: pulse 2s infinite;
}

.status-inactive {
  background: rgba(151, 160, 175, 0.1);
  color: var(--color-text-subtle);
}

.status-inactive .status-dot {
  background: var(--color-text-subtle);
}

.status-finished {
  background: rgba(255, 153, 31, 0.1);
  color: var(--color-warning);
}

.status-finished .status-dot {
  background: var(--color-warning);
}

/* Coluna Título */
.col-title {
  min-width: 0;
  max-width: 100%;
}

.job-title-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.job-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--transition-fast);
}

.job-title-link:hover .job-title {
  color: var(--color-primary);
}

.job-time-created {
  font-size: 11px;
  color: var(--color-text-subtle);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Coluna Tipo */
.type-badge {
  display: inline-block;
  padding: 4px 8px;
  background: var(--color-bg-subtle);
  color: var(--color-text-secondary);
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Coluna Localização */
.col-location {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.location-icon {
  font-size: 13px;
  opacity: 0.7;
  flex-shrink: 0;
}

.col-location span {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Coluna Salário */
.col-salary {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* COLUNA CANDIDATOS - OTIMIZADA */
.col-candidates {
  display: flex;
  align-items: center;
  overflow: visible !important;
  min-width: 0;
}

.candidates-metrics {
  display: flex;
  gap: 6px;
  width: 100%;
  transition: transform var(--transition-fast);
}

.metric-card {
  flex: 1;
  background: linear-gradient(135deg, #ffffff, #fafbfc);
  border: 1px solid var(--color-border-light);
  border-radius: 6px;
  padding: 6px 8px;
  position: relative;
  min-width: 0;
  transition: all var(--transition-fast);
  overflow: hidden;
}

.metric-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  opacity: 0.8;
  border-radius: 6px 6px 0 0;
}

.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: currentColor;
  background: #ffffff;
  z-index: 10;
}

/* Cores das métricas */
.metric-primary {
  color: var(--color-primary);
  background: linear-gradient(135deg, rgba(0, 82, 204, 0.03), rgba(0, 82, 204, 0.08));
}

.metric-primary:hover {
  background: rgba(0, 82, 204, 0.1);
}

.metric-secondary {
  color: var(--color-success);
  background: linear-gradient(135deg, rgba(0, 135, 90, 0.03), rgba(0, 135, 90, 0.08));
}

.metric-secondary:hover {
  background: rgba(0, 135, 90, 0.1);
}

.metric-tertiary {
  color: var(--color-purple);
  background: linear-gradient(135deg, rgba(82, 67, 170, 0.03), rgba(82, 67, 170, 0.08));
}

.metric-tertiary:hover {
  background: rgba(82, 67, 170, 0.1);
}

.metric-success {
  color: var(--color-success);
  background: linear-gradient(135deg, rgba(0, 135, 90, 0.03), rgba(0, 135, 90, 0.08));
}

.metric-success:hover {
  background: rgba(0, 135, 90, 0.1);
}

.metric-danger {
  color: var(--color-danger);
  background: linear-gradient(135deg, rgba(222, 53, 11, 0.03), rgba(222, 53, 11, 0.08));
}

.metric-danger:hover {
  background: rgba(222, 53, 11, 0.1);
}

.metric-number {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  gap: 3px;
  color: inherit;
}

.metric-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.8;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.metric-indicator {
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 14px;
  opacity: 0.5;
  animation: float 2s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
/* Coluna Ações */
.col-actions {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  align-items: center;
  overflow: visible !important;
  position: relative;
}

.action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
  flex-shrink: 0;
}

.action-btn:hover {
  background: #ffffff;
  border-color: var(--color-border);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-md);
}

.action-btn:active {
  transform: scale(0.95);
}

.action-btn i {
  font-size: 13px;
}

.action-btn a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* Dropdown Bootstrap Override */
.col-actions .dropdown {
  position: static;
}

.col-actions .dropdown-menu {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 1050;
  min-width: 180px;
  margin-top: 2px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  box-shadow: var(--shadow-lg);
  padding: 4px;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 3px;
  font-size: 13px;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast);
  cursor: pointer;
  background: transparent;
  border: none;
  width: 100%;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--color-bg-subtle);
  color: var(--color-text-primary);
  text-decoration: none;
}

.dropdown-item.active,
.dropdown-item:active {
  color: var(--color-text-primary);
  background-color: var(--color-bg-subtle);
}

.dropdown-item i {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.dropdown-item.text-danger {
  color: var(--color-danger) !important;
}

.dropdown-item.text-danger:hover {
  background: rgba(222, 53, 11, 0.08);
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid var(--color-border-light);
}

/* Paginação */
.pagination-modern {
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-item {
  display: inline-block;
}

.page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: 3px;
  color: var(--color-text-primary);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  background: #ffffff;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.page-link:hover {
  background: var(--color-bg-subtle);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.page-item.active .page-link {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

.page-item.disabled .page-link {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Footer */
.list-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding: 16px 20px;
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 80px 24px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 4px;
}

.empty-state-icon {
  font-size: 56px;
  color: var(--color-border);
  margin-bottom: 24px;
}

.empty-state-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 12px;
}

.empty-state-description {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin: 0 0 32px;
  line-height: 1.6;
}

/* Animações */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
/* Responsividade */
@media (max-width: 1600px) {
  .jobs-list-header,
  .job-row {
    grid-template-columns: 85px minmax(160px, 2fr) 90px 100px 80px minmax(280px, 3fr) 100px; /* ações */
    column-gap: 10px;
  }
  .metric-card {
    padding: 5px 6px;
  }
  .metric-number {
    font-size: 14px;
  }
  .metric-label {
    font-size: 8px;
  }
}
@media (max-width: 1400px) {
  .jobs-list-header,
  .job-row {
    grid-template-columns: 80px minmax(140px, 2fr) 85px 95px 75px minmax(260px, 2fr) 95px; /* ações */
    column-gap: 8px;
  }
}
@media (max-width: 1200px) {
  .jobs-list-body {
    overflow-x: auto;
  }
  .jobs-list-header,
  .job-row {
    min-width: 1100px;
  }
}
@media (max-width: 992px) {
  .jobs-list-header,
  .job-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }
  .jobs-list-header {
    display: none;
  }
  .job-row > div::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--color-text-secondary);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 4px;
  }
  .candidates-metrics {
    flex-direction: column;
    gap: 8px;
  }
  .metric-card {
    width: 100%;
  }
  .col-actions {
    justify-content: flex-start;
  }
}
/* Tooltips opcionais */
.metric-card[title] {
  cursor: help;
}

/* ========================================
   VIEW TOGGLE - Switch List/Cards
   ======================================== */
.view-toggle {
  display: flex;
  align-items: center;
  background: var(--color-bg-subtle);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

.view-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.view-toggle-btn:hover {
  color: var(--color-text-primary);
  background: rgba(0, 0, 0, 0.04);
}

.view-toggle-btn.active {
  background: #ffffff;
  color: var(--color-primary);
  box-shadow: var(--shadow-sm);
}

.view-toggle-btn i {
  font-size: 16px;
}

/* ========================================
   CARDS VIEW
   ======================================== */
.jobs-cards-container {
  background: transparent;
}

.jobs-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  padding: 0;
}

.job-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
  transition: all var(--transition-fast);
  display: flex;
  flex-direction: column;
}

.job-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* Card Header */
.job-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-light);
}

.job-card__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.job-card__status .status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.job-card__status--active {
  background: rgba(0, 135, 90, 0.1);
  color: var(--color-success);
}

.job-card__status--active .status-dot {
  background: var(--color-success);
  animation: pulse 2s infinite;
}

.job-card__status--inactive {
  background: rgba(151, 160, 175, 0.1);
  color: var(--color-text-subtle);
}

.job-card__status--inactive .status-dot {
  background: var(--color-text-subtle);
}

.job-card__status--finished {
  background: rgba(255, 153, 31, 0.1);
  color: var(--color-warning);
}

.job-card__status--finished .status-dot {
  background: var(--color-warning);
}

.job-card__actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.job-card__action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.job-card__action-btn:hover {
  background: #ffffff;
  color: var(--color-text-primary);
}

.job-card__action-btn i {
  font-size: 14px;
}

/* Card Body */
.job-card__body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: background var(--transition-fast);
}

.job-card__body:hover {
  background: var(--color-bg-hover);
  text-decoration: none;
  color: inherit;
}

.job-card__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 12px 0;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--transition-fast);
}

.job-card__body:hover .job-card__title {
  color: var(--color-primary);
}

.job-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.job-card__meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

.job-card__meta-item i {
  font-size: 13px;
  opacity: 0.7;
}

.job-card__time {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--color-text-subtle);
  margin-top: auto;
  padding-top: 8px;
}

.job-card__time i {
  font-size: 12px;
}

/* Card Footer - Metrics */
.job-card__footer {
  padding: 12px 16px;
  background: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-light);
}

.job-card__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.job-card__metric {
  text-align: center;
  padding: 8px 4px;
  background: #ffffff;
  border-radius: 6px;
  border: 1px solid var(--color-border-light);
  transition: all var(--transition-fast);
}

.job-card__metric:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.job-card__metric-value {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
}

.job-card__metric-label {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-text-subtle);
}

/* Metric Colors */
.job-card__metric--primary {
  border-color: rgba(0, 82, 204, 0.2);
}

.job-card__metric--primary .job-card__metric-value {
  color: var(--color-primary);
}

.job-card__metric--secondary {
  border-color: rgba(0, 135, 90, 0.2);
}

.job-card__metric--secondary .job-card__metric-value {
  color: var(--color-success);
}

.job-card__metric--success {
  border-color: rgba(0, 135, 90, 0.2);
}

.job-card__metric--success .job-card__metric-value {
  color: var(--color-success);
}

.job-card__metric--danger {
  border-color: rgba(222, 53, 11, 0.2);
}

.job-card__metric--danger .job-card__metric-value {
  color: var(--color-danger);
}

/* Cards Responsive */
@media (max-width: 768px) {
  .jobs-cards-grid {
    grid-template-columns: 1fr;
  }
  .job-card__metrics {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .view-toggle {
    display: none;
  }
}
/*
 * Navigation Components
 *
 * Componentes de navegação unificados para todo o sistema,
 * incluindo navbar principal e menus laterais/configuração.
 */
.navbar {
  background-color: #fff;
  padding: 0.5rem 0;
  position: fixed;
  width: calc(100% - 300px);
  left: 300px;
  height: 50px;
  z-index: 999;
  transition: all 0.3s;
  border-bottom: 1px solid #E5E7EB;
}
.navbar.full-width {
  left: 60px;
  width: calc(100% - 60px);
}
.navbar .nav-link {
  background: transparent;
  color: #1A1A1A;
}
@media (min-width: 992px) {
  .navbar {
    padding: 0.5rem 0;
  }
}
.navbar--transparent {
  background-color: transparent;
  box-shadow: none;
}
.navbar--light {
  background-color: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
}
.navbar--light .nav-link {
  color: #4B5563;
}
.navbar--light .nav-link:hover, .navbar--light .nav-link.active {
  color: #FFFFFF;
}
.navbar--light .navbar-brand {
  color: #1F2937;
}
.navbar--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.navbar--sticky {
  position: sticky;
  top: 0;
}

.navbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.navbar-brand {
  font-weight: 700;
  color: #FFFFFF;
  font-size: 1.5rem;
  margin-right: 2rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: opacity 0.2s;
}
.navbar-brand img {
  height: 32px;
  margin-right: 0.5rem;
  transition: transform 0.3s;
}
.navbar-brand:hover {
  color: #FFFFFF;
  text-decoration: none;
  opacity: 0.9;
}
.navbar-brand:hover img {
  transform: scale(1.05);
}

.navbar-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.25rem;
}
@media (min-width: 992px) {
  .navbar-nav {
    gap: 0.5rem;
  }
}
@media (max-width: 575px) {
  .navbar-nav {
    flex-direction: column;
    width: 100%;
    padding: 0.5rem 0;
    gap: 0;
  }
}

.nav-link {
  color: #1A1A1A;
  background-color: #f4f5f7;
  padding: 0.5rem 1rem;
  position: relative;
  transition: all 0.3s;
  font-size: 0.875rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  font-weight: 500;
  border-radius: 0 !important;
}
.nav-link.tab:hover {
  color: #1A1A1A;
  text-decoration: none;
  background: #f4f5f7;
}
.nav-link:hover {
  color: #FFFFFF;
  text-decoration: none;
}
.nav-link.active {
  color: #FFFFFF !important;
  background-color: transparent;
  font-weight: 600;
}
.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 1rem;
  right: 1rem;
  height: 3px;
  background-color: #FFFFFF;
  border-radius: 3px 3px 0 0;
}
.nav-link .nav-icon {
  font-size: 1.125rem;
  margin-right: 0.25rem;
}
@media (max-width: 575px) {
  .nav-link {
    padding: 0.5rem 0.25rem;
    border-radius: 0;
  }
  .nav-link.active::after {
    left: 0;
    right: 0;
    bottom: 0;
  }
}

.navbar-toggler {
  display: none;
  background: none;
  border: none;
  color: #FFFFFF;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 0;
  transition: background-color 0.2s;
}
.navbar-toggler:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
@media (max-width: 575px) {
  .navbar-toggler {
    display: block;
  }
}

.navbar-collapse {
  display: flex;
  flex: 1;
}
@media (max-width: 575px) {
  .navbar-collapse {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #1A1A1A;
    padding: 0.5rem 0;
    border-radius: 0 0 0 0;
    box-shadow: 0 8px 16px rgba(26, 26, 26, 0.15);
    z-index: 1000;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .navbar-collapse.show {
    display: block;
  }
}

.search-box {
  position: relative;
  margin: 0 1rem;
  background-color: rgb(226, 226, 226);
  border-radius: 2rem;
  padding: 0.25rem 0.5rem;
  transition: background-color 0.2s;
  height: 30px;
  margin: 1rem;
}
.search-box:hover, .search-box:focus-within {
  background-color: rgba(107, 114, 128, 0.15);
}
.search-box i {
  color: #1A1A1A;
}
.search-box input {
  background: transparent;
  border: none;
  color: #1A1A1A;
  padding: 0 0.25rem;
  width: 200px;
}
.search-box input::placeholder {
  color: rgba(26, 26, 26, 0.7);
}
.search-box input:focus {
  outline: none;
}
@media (max-width: 575px) {
  .search-box {
    width: 100%;
    margin: 0.5rem 0;
  }
  .search-box input {
    width: 100%;
  }
}

.profile-img {
  border: 2px solid rgba(255, 255, 255, 0.3);
  transition: all 0.2s;
  object-fit: cover;
}
.profile-img:hover {
  border-color: #FFFFFF;
  transform: scale(1.05);
}

.nav-icon {
  font-size: 1.25rem;
  position: relative;
}

.dropdown-toggle {
  cursor: pointer;
}
.dropdown-toggle::after {
  margin-left: 0.25rem;
  vertical-align: middle;
  transition: transform 0.2s;
}
.dropdown-toggle[aria-expanded=true]::after {
  transform: rotate(180deg);
}

.dropdown-menu {
  margin-top: 0.5rem;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(26, 26, 26, 0.12);
  padding: 0.25rem;
  animation: dropdown-fade-in 0.3s forwards;
  transform-origin: top center;
}
@keyframes dropdown-fade-in {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.dropdown-item {
  padding: 0.5rem 1rem;
  color: #1A1A1A;
  border-radius: 0;
  display: flex;
  align-items: center;
  transition: all 0.2s;
}
.dropdown-item i, .dropdown-item .bi {
  margin-right: 0.5rem;
  font-size: 1.125rem;
  color: #6B7280;
  transition: color 0.2s;
}
.dropdown-item:hover {
  background-color: #e8f5e4;
  color: #2a7a1b;
}
.dropdown-item:hover i, .dropdown-item:hover .bi {
  color: #349422;
}
.dropdown-item:active {
  background-color: rgb(216.1486486486, 238.1081081081, 209.3918918919);
}
.dropdown-item.active {
  background-color: rgba(52, 148, 34, 0.1);
  color: #2a7a1b;
}
.dropdown-item.active i, .dropdown-item.active .bi {
  color: #349422;
}

.dropdown-divider {
  margin: 0.25rem 0;
  border-top: 1px solid #F3F4F6;
}

.badge {
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  letter-spacing: 0.3px;
}
.badge.bg-primary {
  background-color: #349422 !important;
}
.badge.bg-danger {
  background-color: #EF4444 !important;
}

.notification-dropdown {
  min-width: 320px;
  padding: 0;
  max-height: none;
  overflow: visible;
}
@media (max-width: 575px) {
  .notification-dropdown {
    min-width: 280px;
    right: -50px;
  }
  .notification-dropdown::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 70px;
    width: 16px;
    height: 16px;
    background: #FFFFFF;
    transform: rotate(45deg);
    border-top: 1px solid #F3F4F6;
    border-left: 1px solid #F3F4F6;
  }
}
.notification-dropdown h6 {
  font-weight: 600;
}

.notification-item {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #F9FAFB;
  transition: background-color 0.2s;
  display: flex;
  align-items: flex-start;
  text-decoration: none !important;
}
.notification-item:last-child {
  border-bottom: none;
}
.notification-item:hover {
  background-color: #F9FAFB;
}
.notification-item.unread {
  background-color: rgba(52, 148, 34, 0.05);
}
.notification-item.unread:hover {
  background-color: rgba(52, 148, 34, 0.08);
}

.notification-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
}
.notification-icon.bg-light-primary {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}

.notification-details {
  flex: 1;
  min-width: 0;
}
.notification-details p {
  margin-bottom: 3px;
  line-height: 1.4;
}
.notification-details p.text-muted {
  font-size: 0.75rem;
}
.notification-details p:last-child {
  margin-bottom: 0;
}

.dropdown-menu-end {
  right: 0;
  left: auto;
}

.position-relative.dropdown {
  position: relative;
}

.dropdown-toggle#notificationDropdown::after {
  display: none;
}

@media (max-width: 992px) {
  .nav-link {
    padding: 0.25rem 0.5rem;
  }
  .search-box {
    width: 160px;
  }
  .search-box input {
    width: 120px;
  }
}
.navbar .dropdown-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s;
}
.navbar .dropdown-menu.show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.navbar .nav-item:hover .dropdown-menu:not(.notification-dropdown) {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.add-button {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #349422;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(52, 148, 34, 0.4);
  transition: all 0.3s;
  z-index: 1030;
}
.add-button i {
  font-size: 24px;
}
.add-button:hover {
  background-color: rgb(44.7142857143, 127.2637362637, 29.2362637363);
  box-shadow: 0 6px 16px rgba(52, 148, 34, 0.5);
  transform: translateY(-3px) scale(1.05);
  color: #FFFFFF;
}
.add-button:active {
  transform: translateY(0) scale(0.98);
}
@media (max-width: 575px) {
  .add-button {
    bottom: 1.5rem;
    right: 1.5rem;
    width: 48px;
    height: 48px;
  }
  .add-button i {
    font-size: 20px;
  }
}

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  color: rgb(244, 244, 244);
  font-weight: 600;
  top: 5px;
}

/** campanhas botão navbar **/
/* Remove seta padrão apenas neste dropdown */
.dropdown-retro-campanha .dropdown-toggle::after {
  display: none !important;
}

/* Menu dropdown profissional */
.dropdown-retro-campanha .dropdown-menu {
  margin-top: 0.75rem;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
  overflow: hidden;
  padding: 0.5rem 0 !important;
  z-index: 1020;
  background: #FFFFFF !important;
  min-width: 380px !important;
}

.dropdown-retro-campanha .dropdown-item {
  padding: 1rem 1.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  border-bottom: 1px solid #F3F4F6;
  transition: all 0.2s ease;
  background-color: transparent !important;
  border: none !important;
  color: #1A1A1A !important;
  font-weight: 500;
  font-size: 0.95rem;
  position: relative;
  overflow: hidden;
}

.dropdown-retro-campanha .dropdown-item:last-child {
  border-bottom: none;
}

.dropdown-retro-campanha .dropdown-item:hover {
  background: #e8f5e4 !important;
  color: #2a7a1b !important;
  transform: translateX(4px);
}

.dropdown-retro-campanha .dropdown-item:hover::before {
  left: 100%;
}

/* Estilo dos ícones profissional */
.dropdown-retro-campanha .icon-wrapper {
  background: #e8f5e4 !important;
  border: 1px solid rgba(52, 148, 34, 0.15) !important;
  border-radius: 0 !important;
  transition: all 0.2s ease;
  box-shadow: none;
  width: 42px !important;
  height: 42px !important;
}

.dropdown-retro-campanha .dropdown-item:hover .icon-wrapper {
  background: #349422 !important;
  border-color: #2a7a1b !important;
  box-shadow: none;
  transform: scale(1.05);
}

/* Cores dos ícones seguindo o padrão do site */
.dropdown-retro-campanha .bi-gear-fill {
  color: #349422 !important;
  font-size: 1.1rem;
}

.dropdown-retro-campanha .bi-envelope-fill {
  color: #349422 !important;
  font-size: 1.1rem;
}

.dropdown-retro-campanha .bi-chat-text-fill {
  color: #349422 !important;
  font-size: 1.1rem;
}

.dropdown-retro-campanha .bi-whatsapp {
  color: #349422 !important;
  font-size: 1.1rem;
}

.dropdown-retro-campanha .dropdown-item:hover .bi-gear-fill,
.dropdown-retro-campanha .dropdown-item:hover .bi-envelope-fill,
.dropdown-retro-campanha .dropdown-item:hover .bi-chat-text-fill,
.dropdown-retro-campanha .dropdown-item:hover .bi-whatsapp {
  color: #FFFFFF !important;
}

/* Textos profissionais */
.dropdown-retro-campanha .text-content {
  flex: 1;
  margin-left: 0.5rem;
}

.dropdown-retro-campanha .text-content h6 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #1A1A1A;
  font-size: 0.95rem;
  letter-spacing: 0.3px;
  line-height: 1.3;
}

.dropdown-retro-campanha .text-content small {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #6B7280;
  font-weight: 400;
  font-size: 0.82rem;
  line-height: 1.4;
  display: block;
}

.dropdown-retro-campanha .dropdown-item:hover .text-content h6 {
  color: #2a7a1b;
}

.dropdown-retro-campanha .dropdown-item:hover .text-content small {
  color: #2a7a1b;
}

/* Divisores profissionais */
.dropdown-retro-campanha .dropdown-divider {
  border-top: 1px solid #F3F4F6 !important;
  margin: 0.5rem 0 !important;
  opacity: 1 !important;
  position: relative;
}

.dropdown-retro-campanha .dropdown-divider::after {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(52, 148, 34, 0.2), transparent);
}

/* Ícone da seta customizado profissional */
.dropdown-retro-campanha .dropdown-toggle-icon {
  font-size: 0.85rem;
  transition: all 0.3s ease;
  margin-left: 1rem;
  background: rgba(255, 255, 255, 0.2);
  padding: 0.3rem;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
 * Icon Sidebar - Editorial Corporate Style
 * Paleta: Slate Blue sofisticado
 */
.icon-sidebar {
  width: 64px;
  background: #F9FAFB;
  display: flex;
  flex-direction: column;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1001;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}

#left-menu-sidebar {
  margin-left: 64px;
}

.icon-sidebar-header {
  padding: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 64px;
  border-bottom: 1px solid #4B5563;
}

.sidebar-logo {
  width: 32px;
  height: 32px;
}

.icon-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}

.icon-group {
  display: flex;
  flex-direction: column;
}

.icon-item {
  width: 64px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1A1A1A;
  text-decoration: none;
  transition: all 0.2s ease;
  position: relative;
  cursor: pointer;
}
.icon-item i {
  font-size: 20px;
}
.icon-item:hover {
  color: #F9FAFB;
  background: #1A1A1A;
  text-decoration: none;
}
.icon-item.active {
  color: #F9FAFB;
  background: #1A1A1A;
}
.icon-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  background: #1A1A1A;
}

.add-button {
  margin-top: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 0;
  margin-left: 12px;
  margin-right: 12px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.add-button:hover {
  background: rgba(255, 255, 255, 0.15);
}

.icon-separator {
  height: 1px;
  background: #4B5563;
  margin: 16px 12px;
}

.icon-footer {
  padding: 8px 0;
  border-top: 1px solid #4B5563;
}

.icon-item:hover::after {
  content: attr(title);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 8px;
  padding: 6px 12px;
  background: #1A1A1A;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  border-radius: 0;
  white-space: nowrap;
  z-index: 1000;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.notification-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #FC8181;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 0;
  min-width: 16px;
  text-align: center;
}

.icon-item:active {
  transform: scale(0.95);
}

/*
 * Badge Components
 *
 * Estilo unificado para badges, etiquetas e marcadores utilizados no sistema.
 * Fornece várias variações de estilo, tamanho e estado.
 */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0;
  transition: color 0.3s, background-color 0.3s;
}
.badge-status {
  border-radius: 0;
  padding: 0.25rem 0.5rem;
}
.badge-status-active {
  background-color: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.badge-status-pending {
  background-color: rgba(245, 158, 11, 0.1);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.badge-status-rejected {
  background-color: rgba(239, 68, 68, 0.1);
  color: #EF4444;
}
.badge-status-hold {
  background-color: rgba(107, 114, 128, 0.1);
  color: #6B7280;
}
.badge-count {
  border-radius: 50%;
  width: 22px;
  height: 22px;
  padding: 0;
}
.badge-count.badge-sm {
  width: 18px;
  height: 18px;
  font-size: 0.75rem;
}
.badge-count.badge-lg {
  width: 28px;
  height: 28px;
  font-size: 0.875rem;
}
.badge-filter {
  padding: 0.25rem 1rem;
  border-radius: 0;
  background-color: #F9FAFB;
  color: #4B5563;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.3s;
  font-size: 0.75rem;
}
.badge-filter:hover {
  background-color: #F3F4F6;
}
.badge-filter.active {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
  border-color: rgba(52, 148, 34, 0.3);
}
.badge-filter-removable {
  padding-right: 0.25rem;
}
.badge-filter-removable .badge-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.25rem;
  border-radius: 50%;
  background-color: rgba(26, 26, 26, 0.1);
  color: #6B7280;
  font-size: 10px;
  transition: all 0.3s;
}
.badge-filter-removable .badge-remove:hover {
  background-color: rgba(26, 26, 26, 0.2);
  color: #374151;
}
.badge-filter-removable.active .badge-remove {
  background-color: rgba(52, 148, 34, 0.2);
  color: #349422;
}
.badge-filter-removable.active .badge-remove:hover {
  background-color: rgba(52, 148, 34, 0.3);
}
.badge-skill {
  background-color: rgba(75, 85, 99, 0.1);
  color: #4B5563;
  border-radius: 0;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}
.badge-skill:nth-child(3n+1) {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.badge-skill:nth-child(3n+2) {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.badge-skill:nth-child(3n+3) {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.badge-primary {
  background-color: #349422;
  color: #FFFFFF;
}
.badge-secondary {
  background-color: #1A1A1A;
  color: #FFFFFF;
}
.badge-success {
  background-color: #22C55E;
  color: #FFFFFF;
}
.badge-danger {
  background-color: #EF4444;
  color: #FFFFFF;
}
.badge-warning {
  background-color: #F59E0B;
  color: #1F2937;
}
.badge-info {
  background-color: #3B82F6;
  color: #FFFFFF;
}
.badge-light {
  background-color: #F9FAFB;
  color: #374151;
}
.badge-dark {
  background-color: #374151;
  color: #FFFFFF;
}
.badge-soft-primary {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.badge-soft-secondary {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.badge-soft-success {
  background-color: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.badge-soft-danger {
  background-color: rgba(239, 68, 68, 0.1);
  color: #EF4444;
}
.badge-soft-warning {
  background-color: rgba(245, 158, 11, 0.1);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.badge-soft-info {
  background-color: rgba(59, 130, 246, 0.1);
  color: #3B82F6;
}
.badge-outline-primary {
  background-color: transparent;
  border: 1px solid #349422;
  color: #349422;
}
.badge-outline-secondary {
  background-color: transparent;
  border: 1px solid #1A1A1A;
  color: #1A1A1A;
}
.badge-outline-success {
  background-color: transparent;
  border: 1px solid #22C55E;
  color: #22C55E;
}
.badge-outline-danger {
  background-color: transparent;
  border: 1px solid #EF4444;
  color: #EF4444;
}
.badge-outline-warning {
  background-color: transparent;
  border: 1px solid #F59E0B;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.badge-sm {
  padding: 0.125rem 0.25rem;
  font-size: 0.7rem;
}
.badge-lg {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.badge-clickable {
  cursor: pointer;
}
.badge-clickable:hover {
  opacity: 0.9;
}
.badge-clickable:active {
  opacity: 0.8;
}
.badge i, .badge .bi, .badge .fa {
  margin-right: 3px;
  font-size: 0.85em;
}
.badge-icon-only i, .badge-icon-only .bi, .badge-icon-only .fa {
  margin-right: 0;
}
.badge-corner {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(30%, -30%);
}
.badge-top-right {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
}
.badge-bottom-right {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
}
.badge-bottom-left {
  position: absolute;
  bottom: 0.25rem;
  left: 0.25rem;
}
.badge-top-left {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
}

.badge-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}

.applicant-filters {
  margin-bottom: 1rem;
}
.applicant-filters .filter-group {
  margin-bottom: 0.5rem;
}
.applicant-filters .filter-group-title {
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  margin-bottom: 0.25rem;
  color: #4B5563;
  font-size: 0.875rem;
}
.applicant-filters .filter-group-title .clear-filters {
  color: #349422;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 400;
}
.applicant-filters .filter-group-title .clear-filters:hover {
  text-decoration: underline;
}
.applicant-filters .filter-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0.5rem;
}
.applicant-filters .filter-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0;
  background-color: #F9FAFB;
  color: #4B5563;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.3s;
  user-select: none;
}
.applicant-filters .filter-badge:hover {
  background-color: #F3F4F6;
}
.applicant-filters .filter-badge.active {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.applicant-filters .filter-badge.has-count .badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.25rem;
  font-size: 10px;
  border-radius: 50%;
  background-color: rgba(75, 85, 99, 0.1);
}
.applicant-filters .filter-badge.has-count .badge-count.active {
  background-color: rgba(52, 148, 34, 0.2);
}
.applicant-filters .experience-badge.junior {
  background-color: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.applicant-filters .experience-badge.junior.active {
  background-color: rgba(34, 197, 94, 0.2);
}
.applicant-filters .experience-badge.pleno {
  background-color: rgba(59, 130, 246, 0.1);
  color: #3B82F6;
}
.applicant-filters .experience-badge.pleno.active {
  background-color: rgba(59, 130, 246, 0.2);
}
.applicant-filters .experience-badge.senior {
  background-color: rgba(245, 158, 11, 0.1);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.applicant-filters .experience-badge.senior.active {
  background-color: rgba(245, 158, 11, 0.2);
}
.applicant-filters .experience-badge.specialist {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.applicant-filters .experience-badge.specialist.active {
  background-color: rgba(52, 148, 34, 0.2);
}
.applicant-filters .location-badge i {
  margin-right: 3px;
  font-size: 0.85em;
}
.applicant-filters .contract-badge.clt {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.applicant-filters .contract-badge.clt.active {
  background-color: rgba(26, 26, 26, 0.2);
}
.applicant-filters .contract-badge.pj {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.applicant-filters .contract-badge.pj.active {
  background-color: rgba(52, 148, 34, 0.2);
}
.applicant-filters .contract-badge.freelancer {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.applicant-filters .contract-badge.freelancer.active {
  background-color: rgba(52, 148, 34, 0.2);
}
.applicant-filters .language-badge {
  position: relative;
  padding-right: 25px;
}
.applicant-filters .language-badge .language-level {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 2px;
}
.applicant-filters .language-badge .language-level .level-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.3;
}
.applicant-filters .language-badge .language-level .level-dot.active {
  opacity: 1;
}
.applicant-filters .salary-filter {
  padding: 0.25rem 0;
}
.applicant-filters .salary-filter .range-slider {
  padding: 0.25rem 0;
  margin: 0 0.25rem;
}
.applicant-filters .salary-filter .range-values {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #6B7280;
  margin-top: 3px;
}
.applicant-filters .selected-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0.5rem 0;
}
.applicant-filters .selected-filters .selected-filter {
  display: flex;
  align-items: center;
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
  border-radius: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.applicant-filters .selected-filters .selected-filter .remove-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.25rem;
  border-radius: 50%;
  background-color: rgba(52, 148, 34, 0.2);
  color: #349422;
  font-size: 10px;
  transition: all 0.3s;
}
.applicant-filters .selected-filters .selected-filter .remove-filter:hover {
  background-color: rgba(52, 148, 34, 0.3);
}
.applicant-filters .selected-filters .clear-all {
  color: #6B7280;
  font-size: 0.75rem;
  background-color: #F9FAFB;
  border-radius: 0;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  transition: all 0.3s;
}
.applicant-filters .selected-filters .clear-all:hover {
  background-color: #F3F4F6;
  color: #374151;
}

@media (max-width: 575px) {
  .badge-filter, .badge-skill {
    font-size: 0.75rem;
    padding: 0.125rem 0.25rem;
  }
  .applicant-filters .filter-badge {
    font-size: 0.75rem;
    padding: 0.125rem 0.25rem;
  }
}
/*
 * Sidebar Menu Component
 *
 * Componente para navegação lateral em páginas de configuração e dashboards.
 * Fornece uma navegação clara e consistente com vários níveis e estados.
 */
.sidebar-menu {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}
.sidebar-menu__header {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #6B7280;
  font-weight: 500;
  padding: 0.25rem 1rem;
  margin-bottom: 0.25rem;
  letter-spacing: 0.03em;
}
.sidebar-menu__item {
  margin-bottom: 2px;
}
.sidebar-menu__item:last-child {
  margin-bottom: 0;
}
.sidebar-menu__link {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  color: #4B5563;
  text-decoration: none;
  border-left: 3px solid transparent;
  border-radius: 0 0 0 0;
  transition: all 0.3s;
  font-weight: 500;
  position: relative;
}
.sidebar-menu__link:hover {
  background-color: #F9FAFB;
  color: #1A1A1A;
  text-decoration: none;
}
.sidebar-menu__link--active, .sidebar-menu__link.active {
  border-bottom: 3px solid #349422;
  background-color: transparent;
  border-radius: 0;
  color: #2a7a1b;
  font-weight: 600;
}
.sidebar-menu__link--active .sidebar-menu__icon, .sidebar-menu__link.active .sidebar-menu__icon {
  color: #349422;
}
.sidebar-menu__link--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.sidebar-menu__link--disabled:hover {
  background-color: transparent;
}
.sidebar-menu__icon {
  font-size: 1.125rem;
  min-width: 24px;
  text-align: center;
  margin-right: 0.5rem;
  color: #6B7280;
  transition: color 0.3s;
}
.sidebar-menu__text {
  flex: 1;
}
.sidebar-menu__badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 50%;
  background-color: #F3F4F6;
  color: #4B5563;
}
.sidebar-menu__badge--primary {
  background-color: #349422;
  color: #FFFFFF;
}
.sidebar-menu__badge--success {
  background-color: #22C55E;
  color: #FFFFFF;
}
.sidebar-menu__badge--warning {
  background-color: #F59E0B;
  color: #1F2937;
}
.sidebar-menu__badge--danger {
  background-color: #EF4444;
  color: #FFFFFF;
}
.sidebar-menu__arrow {
  margin-left: 0.5rem;
  font-size: 0.875rem;
  transition: transform 0.3s;
  color: #9CA3AF;
}
.sidebar-menu__arrow--expanded {
  transform: rotate(90deg);
}
.sidebar-menu__submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s;
}
.sidebar-menu__submenu--expanded {
  max-height: 500px;
}
.sidebar-menu__submenu .sidebar-menu__link {
  padding-left: calc(1rem + 24px + 0.5rem);
  font-weight: 400;
  font-size: 0.875rem;
}
.sidebar-menu__divider {
  height: 1px;
  margin: 1rem 0;
  background-color: #F3F4F6;
  border: none;
}
.sidebar-menu--condensed .sidebar-menu__link {
  padding: 0.25rem 0.5rem;
}
.sidebar-menu--condensed .sidebar-menu__header {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.sidebar-menu--borderless .sidebar-menu__link {
  border-left: none;
  border-radius: 0;
}
.sidebar-menu--borderless .sidebar-menu__link--active, .sidebar-menu--borderless .sidebar-menu__link.active {
  background-color: #e8f5e4;
}

.sidebar-container {
  background-color: #FFFFFF;
  border-radius: 0;
  box-shadow: #349422;
  padding: 1rem;
  height: 100%;
}
.sidebar-container--transparent {
  background-color: transparent;
  box-shadow: none;
  padding: 0;
}

@media (min-width: 768px) {
  .sidebar-container {
    margin-bottom: 1rem;
  }
}
/* Footer Interno */
.lv-footer-intern {
  background-color: #ffffff;
  border-top: 1px solid #e5e7eb;
  padding: 16px 0;
  margin-top: auto;
  width: calc(100% - 320px);
  left: 320px;
  position: relative;
}

.lv-footer-intern-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.lv-footer-intern-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

/* Links do footer */
.lv-footer-intern-links {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.lv-footer-intern-link {
  color: #6b7280;
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.lv-footer-intern-link:hover {
  color: #0070f0;
}

/* Separador */
.lv-footer-intern-separator {
  width: 1px;
  height: 16px;
  background-color: #e5e7eb;
}

/* Informações da direita */
.lv-footer-intern-info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.lv-footer-intern-text {
  color: #9ca3af;
  font-size: 12px;
  font-weight: 400;
}

/* Badge de versão */
.lv-footer-intern-version {
  background-color: #f3f4f6;
  color: #6b7280;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}

/* Status indicator */
.lv-footer-intern-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
}

.lv-footer-intern-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #10b981;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}
/* Ícones inline SVG */
.lv-footer-intern-icon {
  width: 14px;
  height: 14px;
  opacity: 0.5;
}

/* Responsividade */
@media (max-width: 768px) {
  .lv-footer-intern-content {
    justify-content: center;
    text-align: center;
  }
  .lv-footer-intern-links {
    order: 2;
    justify-content: center;
    gap: 16px;
  }
  .lv-footer-intern-info {
    order: 1;
    width: 100%;
    justify-content: center;
  }
  .lv-footer-intern-separator {
    display: none;
  }
}
/* Tema escuro (opcional) */
@media (prefers-color-scheme: dark) {
  body {
    background-color: #111827;
  }
  .lv-footer-intern {
    background-color: #1f2937;
    border-top-color: #374151;
  }
  .lv-footer-intern-link {
    color: #9ca3af;
  }
  .lv-footer-intern-link:hover {
    color: #60a5fa;
  }
  .lv-footer-intern-separator {
    background-color: #374151;
  }
  .lv-footer-intern-text {
    color: #6b7280;
  }
  .lv-footer-intern-version {
    background-color: #374151;
    color: #9ca3af;
  }
}
.mention-editor-wrapper {
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  background: white;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.mention-editor-wrapper.focused {
  border-color: #4c9aff;
  box-shadow: 0 0 0 2px rgba(76, 154, 255, 0.2);
}

.mention-editor-toolbar {
  display: none;
  align-items: center;
  padding: 9px;
  border-bottom: 1px solid #ebecf0;
  background: #fafbfc;
  gap: 2px;
  flex-wrap: wrap;
}

.mention-editor-wrapper.toolbar-active .mention-editor-toolbar {
  display: flex;
}

.mention-toolbar-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #42526e;
  cursor: pointer;
  border-radius: 3px;
  font-size: 14px;
  transition: all 0.1s;
  position: relative;
}

.mention-toolbar-btn:hover {
  background: #ebecf0;
  color: #091e42;
}

.mention-toolbar-btn.active {
  background: #e3e6ea;
  color: #0052cc;
}

.mention-toolbar-separator {
  width: 1px;
  height: 24px;
  background: #dfe1e6;
  margin: 0 4px;
}

.mention-editor-content {
  min-height: 150px;
  max-height: 400px;
  overflow-y: auto;
  padding: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: #172b4d;
  outline: none;
  word-wrap: break-word;
}

.mention-editor-content:focus {
  outline: none;
}

.mention-editor-content:empty:before {
  content: attr(data-placeholder);
  color: #6b778c;
  position: absolute;
  pointer-events: none;
}

.mention-editor-content p {
  margin: 0 0 10px 0;
}

.mention-editor-content p:last-child {
  margin-bottom: 0;
}

/* Tags de menção */
.mention-tag {
  color: #0052cc;
  background: #deebff;
  padding: 2px 6px;
  border-radius: 3px;
  display: inline-block;
  margin: 0 2px;
  cursor: pointer;
  user-select: none;
  font-weight: 500;
}

.mention-tag:hover {
  background: #cfe2ff;
}

/* Tags de vagas/currículos */
.hashtag-tag {
  color: #00875a;
  background: #e3fcef;
  padding: 2px 6px;
  border-radius: 3px;
  display: inline-block;
  margin: 0 2px;
  cursor: pointer;
  user-select: none;
  font-weight: 500;
}

.hashtag-tag:hover {
  background: #c3f0d8;
}

/* Dropdown universal */
.mention-dropdown {
  position: fixed;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  box-shadow: 0 8px 16px -4px rgba(9, 30, 66, 0.25), 0 0 0 1px rgba(9, 30, 66, 0.08);
  max-height: 300px;
  overflow-y: auto;
  z-index: 10000;
  display: none;
  min-width: 350px;
}

.mention-dropdown.show {
  display: block;
}

.mention-dropdown-header {
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: #5e6c84;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #f4f5f7;
  border-bottom: 1px solid #ebecf0;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mention-dropdown-header i {
  margin-right: 8px;
  font-size: 14px;
}

.dropdown-type-badge {
  background: #0052cc;
  color: white;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
}

.dropdown-type-badge.job {
  background: #00875a;
}

.dropdown-type-badge.cv {
  background: #6554c0;
}

.mention-dropdown-loading {
  padding: 20px;
  text-align: center;
  color: #6b778c;
}

.mention-item {
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: background 0.1s;
  min-height: 56px;
  border-bottom: 1px solid #f4f5f7;
}

.mention-item:last-child {
  border-bottom: none;
}

.mention-item:hover,
.mention-item.selected {
  background: #f4f5f7;
}

.mention-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

.mention-avatar.initials {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  font-weight: 600;
}

.item-icon {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 18px;
}

.item-icon.job {
  background: #e3fcef;
  color: #00875a;
}

.item-icon.cv {
  background: #eae6ff;
  color: #6554c0;
}

.mention-info {
  flex: 1;
  min-width: 0;
}

.mention-name {
  font-size: 14px;
  color: #172b4d;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mention-email,
.mention-meta {
  font-size: 12px;
  color: #6b778c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mention-extra {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.mention-badge {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
}

.badge-active {
  background: #e3fcef;
  color: #00875a;
}

.badge-pending {
  background: #fff0b3;
  color: #7a4100;
}

.badge-closed {
  background: #ffebe6;
  color: #bf2600;
}

.no-results {
  padding: 20px;
  color: #6b778c;
  font-size: 13px;
  text-align: center;
}

.font-size-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: none;
  z-index: 1000;
}

.font-size-dropdown.show {
  display: block;
}

.font-size-option {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
  color: #172b4d;
  white-space: nowrap;
}

.font-size-option:hover {
  background: #f4f5f7;
}

/* Emoji Picker */
.emoji-picker {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  box-shadow: 0 8px 16px -4px rgba(9, 30, 66, 0.25);
  display: none;
  z-index: 1001;
  width: 320px;
  max-height: 300px;
  overflow-y: auto;
}

.emoji-picker.show {
  display: block;
}

.emoji-categories {
  display: flex;
  border-bottom: 1px solid #ebecf0;
  background: #fafbfc;
  padding: 4px;
  position: sticky;
  top: 0;
  z-index: 10;
}

.emoji-category-btn {
  flex: 1;
  padding: 6px;
  border: none;
  background: transparent;
  color: #6b778c;
  cursor: pointer;
  font-size: 16px;
  border-radius: 3px;
}

.emoji-category-btn:hover {
  background: #ebecf0;
}

.emoji-category-btn.active {
  background: #0052cc;
  color: white;
}

.emoji-grid {
  padding: 8px;
  max-height: 250px;
  overflow-y: auto;
}

.emoji-category-section {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
}

.emoji-item {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 3px;
  font-size: 20px;
  transition: all 0.1s;
}

.emoji-item:hover {
  background: #f4f5f7;
  transform: scale(1.2);
}

.emoji-category-title {
  grid-column: 1/-1;
  font-size: 11px;
  font-weight: 600;
  color: #6b778c;
  text-transform: uppercase;
  padding: 8px 0 4px 0;
  border-bottom: 1px solid #ebecf0;
  margin-bottom: 8px;
}

/* Link dropdown */
.link-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  box-shadow: 0 8px 16px -4px rgba(9, 30, 66, 0.25);
  display: none;
  z-index: 1001;
  width: 280px;
  padding: 12px;
}

.link-dropdown.show {
  display: block;
}

.link-dropdown-input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  font-size: 13px;
  margin-bottom: 8px;
}

.link-dropdown-input:focus {
  outline: none;
  border-color: #4c9aff;
  box-shadow: 0 0 0 2px rgba(76, 154, 255, 0.2);
}

.link-dropdown-buttons {
  display: flex;
  gap: 6px;
}

.link-dropdown-btn {
  padding: 4px 12px;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  font-size: 12px;
  cursor: pointer;
  background: white;
}

.link-dropdown-btn.primary {
  background: #0052cc;
  color: white;
  border-color: #0052cc;
}

.link-dropdown-btn:hover {
  background: #f4f5f7;
}

.link-dropdown-btn.primary:hover {
  background: #0747a6;
}

/* Tags de link */
.link-tag {
  color: #0052cc;
  text-decoration: underline;
  cursor: pointer;
  position: relative;
  pointer-events: auto;
}

.link-tag:hover {
  color: #0747a6;
  background: #deebff;
  padding: 2px 4px;
  border-radius: 3px;
}

.info-box strong {
  color: #0052cc;
}

.info-box ul {
  margin: 8px 0 0 0;
  padding-left: 20px;
}

.info-box li {
  margin: 4px 0;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.comments-container {
  background: white;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.comments-header {
  background: var(--background-light);
  border-bottom: 1px solid var(--border-color);
  padding: 16px 20px;
}

.comments-header h5 {
  margin: 0;
  font-weight: 600;
  color: var(--text-primary);
  font-size: 14px;
}

.comments-content--max-container {
  max-height: 800px;
  overflow-y: auto;
}

.comments-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}
.comments-empty-state__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.comments-empty-state__icon i {
  font-size: 28px;
  color: #9ca3af;
}
.comments-empty-state__text {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
}

.comment-item {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease;
}

.comment-item:hover {
  background-color: #f8f9fa;
}

.comment-item:last-child {
  border-bottom: none;
}

.comment-header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.comment-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 12px;
  margin-right: 12px;
  flex-shrink: 0;
}

.comment-meta {
  flex: 1;
}

.comment-author {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
  margin-right: 8px;
}

.comment-badge {
  display: inline-block;
  padding: 2px 8px;
  background: var(--primary-color);
  color: white;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  margin-right: 8px;
}

.comment-date {
  font-size: 12px;
  color: var(--text-secondary);
}

.comment-body {
  margin-left: 44px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.comment-actions {
  margin-left: 44px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.comment-reactions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.reaction-group {
  display: inline-flex;
  align-items: center;
  background: var(--background-light);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  padding: 4px 8px;
  font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.reaction-group:hover {
  background: #e8f0fe;
  border-color: var(--primary-color);
}

.reaction-group.active {
  background: #e8f0fe;
  border-color: var(--primary-color);
  color: var(--primary-color);
}

.reaction-emoji {
  margin-right: 4px;
  font-size: 14px;
}

.comment-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

.btn-comment-action {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.btn-comment-action:hover {
  background: var(--background-light);
  color: var(--text-primary);
}

.new-comment-section {
  padding: 16px 20px;
  background: white;
  border-top: 1px solid var(--border-color);
}

.new-comment-form {
  display: flex;
  gap: 12px;
}

.new-comment-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--success-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 12px;
  flex-shrink: 0;
}

.comment-input-group {
  flex: 1;
}

.comment-textarea {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
}

.comment-textarea:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(11, 87, 208, 0.2);
}

.comment-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}

.comments-emoji-picker {
  display: flex;
  gap: 4px;
}

.emoji-btn {
  background: none;
  border: none;
  font-size: 16px;
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.emoji-btn:hover {
  background: var(--background-light);
}

.btn-submit {
  background: var(--primary-color);
  border: none;
  color: white;
  padding: 6px 16px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn-submit:hover {
  background: #0847ba;
}

.btn-submit:disabled {
  background: var(--border-color);
  cursor: not-allowed;
}

.hashtag {
  color: var(--success-color);
  font-weight: 500;
}

.mention {
  color: var(--primary-color);
  font-weight: 500;
}

.tabs-nav {
  display: flex;
  border-bottom: 1px solid var(--border-color);
  background: var(--background-light);
}

.tab-btn {
  background: none;
  border: none;
  padding: 12px 16px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}

.tab-btn.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
  background: white;
}

.tab-btn:hover:not(.active) {
  background: rgba(11, 87, 208, 0.04);
}

/* Reaction Add Button */
.reaction-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  width: 24px;
  height: 24px;
  font-size: 10px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 4px;
  position: relative;
}

.reaction-add-btn:hover {
  background: var(--background-light);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Emoji Picker Dropdown */
.comments-emoji-picker-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  width: 320px;
  z-index: 1000;
  display: none;
  margin-top: 4px;
}

.comments-emoji-picker-dropdown.show {
  display: block;
}

.emoji-dropdown-header {
  padding: 12px 16px 8px;
  border-bottom: 1px solid var(--border-color);
}

.emoji-dropdown-search {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  outline: none;
}

.emoji-dropdown-search:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(11, 87, 208, 0.2);
}

.emoji-dropdown-content {
  max-height: 280px;
  overflow-y: auto;
  padding: 12px;
}

.emoji-row {
  margin-bottom: 12px;
}

.emoji-row-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.emoji-row-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.emoji-dropdown-item {
  background: none;
  border: none;
  padding: 6px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.emoji-dropdown-item:hover {
  background: var(--background-light);
  transform: scale(1.1);
}

.emoji-categories-tabs {
  display: flex;
  padding: 8px 12px;
  border-bottom: 1px solid var(--border-color);
  background: var(--background-light);
  gap: 2px;
}

.emoji-category-tab {
  background: none;
  border: none;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-secondary);
  transition: all 0.2s ease;
}

.emoji-category-tab:hover {
  background: rgba(11, 87, 208, 0.08);
}

.emoji-category-tab.active {
  background: var(--primary-color);
  color: white;
}

/* Reaction Animation */
@keyframes reactionAdded {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.reaction-group.new {
  animation: reactionAdded 0.3s ease-out;
}

/* Reaction Add Button */
.reaction-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  width: 24px;
  height: 24px;
  font-size: 10px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 4px;
  position: relative;
}

.reaction-add-btn:hover {
  background: var(--background-light);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Emoji Picker Dropdown */
.comments-emoji-picker-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  width: 320px;
  z-index: 1000;
  display: none;
  margin-top: 4px;
}

.comments-emoji-picker-dropdown.show {
  display: block;
}

.emoji-dropdown-header {
  padding: 12px 16px 8px;
  border-bottom: 1px solid var(--border-color);
}

.emoji-dropdown-search {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  outline: none;
}

.emoji-dropdown-search:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(11, 87, 208, 0.2);
}

.emoji-dropdown-content {
  max-height: 280px;
  overflow-y: auto;
  padding: 12px;
}

.emoji-row {
  margin-bottom: 12px;
}

.emoji-row-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.emoji-row-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.emoji-dropdown-item {
  background: none;
  border: none;
  padding: 6px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.emoji-dropdown-item:hover {
  background: var(--background-light);
  transform: scale(1.1);
}

.emoji-categories-tabs {
  display: flex;
  padding: 8px 12px;
  border-bottom: 1px solid var(--border-color);
  background: var(--background-light);
  gap: 2px;
}

.emoji-category-tab {
  background: none;
  border: none;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-secondary);
  transition: all 0.2s ease;
}

.emoji-category-tab:hover {
  background: rgba(11, 87, 208, 0.08);
}

.emoji-category-tab.active {
  background: var(--primary-color);
  color: white;
}

/* Apenas para feedback visual ao arrastar */
.mention-editor-content.drag-over {
  background: #e3fcef;
  border-color: #36B37E;
}

/* Opcional - estilizar imagens */
.mention-editor-content img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  margin: 4px 0;
  border-radius: 4px;
}

/** images **/
.editor-image-wrapper {
  position: relative;
  display: inline-block;
  margin: 4px 0;
  cursor: pointer;
  max-width: 100%;
}

.editor-image-wrapper img {
  max-width: 100%;
  height: auto;
  display: block;
  transition: all 0.2s;
}

.editor-image-wrapper.selected {
  outline: 2px solid #0052CC;
  outline-offset: 2px;
}

.editor-image-wrapper.has-border img {
  border: 2px solid #DFE1E6;
  border-radius: 4px;
}

.editor-image-wrapper.align-left {
  float: left;
  margin-right: 12px;
}

.editor-image-wrapper.align-right {
  float: right;
  margin-left: 12px;
}

.editor-image-wrapper.align-center {
  display: block;
  margin: 12px auto;
  text-align: center;
  width: fit-content;
}

/* Handles de redimensionamento */
.image-resize-handle {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #0052CC;
  border: 2px solid #fff;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.2s;
  cursor: nwse-resize;
  z-index: 10;
}

.editor-image-wrapper:hover .image-resize-handle,
.editor-image-wrapper.resizing .image-resize-handle,
.editor-image-wrapper.selected .image-resize-handle {
  opacity: 1;
}

.image-resize-handle.tl {
  top: -6px;
  left: -6px;
  cursor: nw-resize;
}

.image-resize-handle.tr {
  top: -6px;
  right: -6px;
  cursor: ne-resize;
}

.image-resize-handle.bl {
  bottom: -6px;
  left: -6px;
  cursor: sw-resize;
}

.image-resize-handle.br {
  bottom: -6px;
  right: -6px;
  cursor: se-resize;
}

/* Toolbar de imagem */
.image-toolbar {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #DFE1E6;
  border-radius: 6px;
  padding: 4px;
  display: flex;
  gap: 2px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}

.image-toolbar.show {
  opacity: 1;
  visibility: visible;
}

.image-toolbar-btn {
  border: none;
  background: transparent;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: #42526E;
  transition: all 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
}

.image-toolbar-btn:hover {
  background: #F4F5F7;
  color: #091E42;
}

.image-toolbar-btn.active {
  background: #E9F2FF;
  color: #0052CC;
}

.image-toolbar-btn.danger:hover {
  background: #FFEBE6;
  color: #DE350B;
}

.image-toolbar-separator {
  width: 1px;
  height: 24px;
  background: #DFE1E6;
  margin: 0 4px;
  align-self: center;
}

/* Diálogo de link para imagem */
.image-link-dialog {
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #DFE1E6;
  border-radius: 6px;
  padding: 12px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  z-index: 1001;
  min-width: 280px;
  display: none;
}

.image-link-dialog.show {
  display: block;
}

.image-link-input {
  width: 100%;
  padding: 6px 10px;
  border: 2px solid #DFE1E6;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 8px;
  transition: border-color 0.2s;
}

.image-link-input:focus {
  outline: none;
  border-color: #0052CC;
}

.image-link-buttons {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.image-link-btn {
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.image-link-btn.primary {
  background: #0052CC;
  color: #fff;
}

.image-link-btn.primary:hover {
  background: #0747A6;
}

.image-link-btn.cancel {
  background: #F4F5F7;
  color: #42526E;
}

.image-link-btn.cancel:hover {
  background: #EBECF0;
}

/* Overlay durante redimensionamento */
.resize-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  cursor: nwse-resize;
  display: none;
}

.resize-overlay.active {
  display: block;
}

/* Tooltip de dimensões */
.size-tooltip {
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(9, 30, 66, 0.9);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}

.editor-image-wrapper.resizing .size-tooltip {
  opacity: 1;
}

.mention-editor-content .mention-editor-content.drag-over {
  background: #F4F5F7;
  border: 2px dashed #0052CC;
}
.mention-editor-content .mention-editor-content img {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.mention-editor-content .attachment,
.mention-editor-content .file-attachment {
  display: none !important;
}

.ai-dialog-1 {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
}

.ai-avatar-1 {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffd93d 0%, #ff9a56 100%);
  border: 4px solid #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
.ai-avatar-1 img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.ai-bubble-1 {
  position: relative;
  background: #ffffff;
  border: 4px solid #2d2d2d;
  border-radius: 24px;
  padding: 24px 28px;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.2);
  max-width: 500px;
  flex: 1;
}

/* Triângulo do balão (esquerda) */
.ai-bubble-1::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 30px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 20px 15px 0;
  border-color: transparent #2d2d2d transparent transparent;
}

.ai-bubble-1::after {
  content: "";
  position: absolute;
  left: -12px;
  top: 34px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 16px 11px 0;
  border-color: transparent #ffffff transparent transparent;
}

.ai-bubble-title-1 {
  font-size: 18px;
  font-weight: 700;
  color: #2d2d2d;
  margin-bottom: 8px;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive;
}

.ai-bubble-text-1 {
  font-size: 15px;
  color: #4a4a4a;
  line-height: 1.6;
  margin-bottom: 12px;
}

.ai-dots-1 {
  display: flex;
  gap: 6px;
}

.ai-dot-1 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffd93d;
  animation: dotPulse 1.4s infinite;
}

.ai-dot-1:nth-child(2) {
  animation-delay: 0.2s;
}

.ai-dot-1:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes dotPulse {
  0%, 60%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  30% {
    opacity: 1;
    transform: scale(1.2);
  }
}
/* ============================================ */
/* ESTILO 2 - BALÃO MODERNO ARREDONDADO */
/* ============================================ */
.ai-dialog-2 {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
}

.ai-avatar-2 {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 8px 24px rgba(102, 126, 234, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.ai-avatar-2::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 18px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  opacity: 0;
  animation: pulse 2s infinite;
  z-index: -1;
}

@keyframes pulse {
  0%, 100% {
    opacity: 0;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(1.1);
  }
}
.ai-avatar-2 img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
}

.ai-bubble-2 {
  position: relative;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  border-bottom-left-radius: 4px;
  padding: 20px 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  max-width: 500px;
  flex: 1;
}

.ai-bubble-2::before {
  content: "";
  position: absolute;
  left: -8px;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 8px 0;
  border-color: transparent #ffffff transparent transparent;
  z-index: 2;
}

.ai-bubble-2::after {
  content: "";
  position: absolute;
  left: -9px;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 9px 9px 0;
  border-color: transparent #e0e0e0 transparent transparent;
  z-index: 1;
}

.ai-bubble-header-2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.ai-badge-2 {
  background: #667eea;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.ai-time-2 {
  font-size: 12px;
  color: #6c757d;
  margin-left: auto;
}

.ai-bubble-title-2 {
  font-size: 16px;
  font-weight: 600;
  color: #212529;
  margin-bottom: 8px;
}

.ai-bubble-text-2 {
  font-size: 14px;
  color: #495057;
  line-height: 1.6;
}

/* ============================================ */
/* ESTILO 3 - BALÃO CHAT MESSENGER */
/* ============================================ */
.ai-dialog-3 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
}

.ai-avatar-3 {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0d6efd 0%, #0dcaf0 100%);
  box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ai-avatar-3 img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.ai-chat-container-3 {
  flex: 1;
}

.ai-name-3 {
  font-size: 13px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 6px;
}

.ai-bubble-3 {
  background: #0d6efd;
  color: white;
  border-radius: 18px;
  border-top-left-radius: 4px;
  padding: 14px 18px;
  max-width: 450px;
  box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
}

.ai-bubble-text-3 {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.ai-typing-3 {
  display: flex;
  gap: 4px;
}

.ai-typing-dot-3 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  animation: typing 1.4s infinite;
}

.ai-typing-dot-3:nth-child(2) {
  animation-delay: 0.2s;
}

.ai-typing-dot-3:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typing {
  0%, 60%, 100% {
    opacity: 0.3;
  }
  30% {
    opacity: 1;
  }
}
/* ============================================ */
/* ESTILO 4 - BALÃO 3D COM SOMBRA (NEUMÓRFICO) */
/* ============================================ */
.ai-dialog-4 {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
}

.ai-avatar-4 {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6b6b 0%, #ffd93d 100%);
  border: 4px solid #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}
.ai-avatar-4 img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.ai-bubble-4 {
  position: relative;
  background: linear-gradient(145deg, #ffffff, #f5f5f5);
  border-radius: 20px;
  padding: 24px 28px;
  max-width: 500px;
  flex: 1;
  box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.15), -4px -4px 12px rgba(255, 255, 255, 0.7);
}

.ai-bubble-4::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 24px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 16px 12px 0;
  border-color: transparent #f5f5f5 transparent transparent;
  filter: drop-shadow(-3px 3px 4px rgba(0, 0, 0, 0.1));
}

.ai-icon-4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #ff6b6b, #ffd93d);
  border-radius: 50%;
  margin-bottom: 12px;
}

.ai-icon-4 i {
  font-size: 16px;
  color: white;
}

.ai-bubble-title-4 {
  font-size: 17px;
  font-weight: 700;
  color: #2d2d2d;
  margin-bottom: 8px;
}

.ai-bubble-text-4 {
  font-size: 14px;
  color: #4a4a4a;
  line-height: 1.6;
}

/* ============================================ */
/* ESTILO 5 - BALÃO RETRÔ VINTAGE (ANOS 70/80) */
/* ============================================ */
.ai-dialog-5 {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
}

.ai-avatar-5 {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f9a825 0%, #f57c00 100%);
  border: 4px solid #2d2d2d;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.ai-avatar-5::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.1) 5px, rgba(255, 255, 255, 0.1) 10px);
  border-radius: 16px;
  pointer-events: none;
}

.ai-avatar-5 img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.ai-bubble-5 {
  position: relative;
  background: linear-gradient(135deg, #fff9c4 0%, #ffe082 100%);
  border: 4px solid #2d2d2d;
  border-radius: 16px;
  padding: 24px 28px;
  max-width: 500px;
  flex: 1;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
}

.ai-bubble-5::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 24px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 20px 12px 0;
  border-color: transparent #2d2d2d transparent transparent;
}

.ai-bubble-5::after {
  content: "";
  position: absolute;
  left: -12px;
  top: 28px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 16px 8px 0;
  border-color: transparent #fff9c4 transparent transparent;
}

.ai-bubble-header-5 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.ai-badge-5 {
  background: #2d2d2d;
  color: #ffd93d;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
}

.ai-bubble-title-5 {
  font-size: 18px;
  font-weight: 700;
  color: #2d2d2d;
  margin-bottom: 8px;
  font-family: "Courier New", monospace;
  text-transform: uppercase;
}

.ai-bubble-text-5 {
  font-size: 15px;
  color: #3d3d3d;
  line-height: 1.6;
  font-family: "Courier New", monospace;
}

.ai-retro-line {
  height: 2px;
  background: #2d2d2d;
  margin: 12px 0;
}

/* ============================================ */
/* RESPONSIVIDADE - TODOS OS ESTILOS */
/* ============================================ */
@media (max-width: 768px) {
  .ai-dialog-1,
  .ai-dialog-2,
  .ai-dialog-3,
  .ai-dialog-4,
  .ai-dialog-5 {
    padding: 12px;
    gap: 12px;
  }
  .ai-avatar-1,
  .ai-avatar-5 {
    width: 60px;
    height: 60px;
  }
  .ai-avatar-2 {
    width: 56px;
    height: 56px;
  }
  .ai-avatar-4 {
    width: 56px;
    height: 56px;
  }
  .ai-bubble-1,
  .ai-bubble-2,
  .ai-bubble-3,
  .ai-bubble-4,
  .ai-bubble-5 {
    max-width: 100%;
  }
  .ai-bubble-title-1,
  .ai-bubble-title-5 {
    font-size: 16px;
  }
  .ai-bubble-text-1,
  .ai-bubble-text-2,
  .ai-bubble-text-3,
  .ai-bubble-text-4,
  .ai-bubble-text-5 {
    font-size: 13px;
  }
}
@media (max-width: 576px) {
  .ai-dialog-1,
  .ai-dialog-2,
  .ai-dialog-3,
  .ai-dialog-4,
  .ai-dialog-5 {
    padding: 8px;
    gap: 8px;
  }
  .ai-avatar-1,
  .ai-avatar-5 {
    width: 52px;
    height: 52px;
  }
  .ai-bubble-1,
  .ai-bubble-5 {
    padding: 16px 20px;
  }
  .ai-bubble-2,
  .ai-bubble-4 {
    padding: 16px 18px;
  }
  .ai-bubble-3 {
    padding: 12px 16px;
  }
}
/* ============================================ */
/* UTILITÁRIOS E ACESSIBILIDADE */
/* ============================================ */
/* Remove animações para acessibilidade */
@media (prefers-reduced-motion: reduce) {
  .ai-avatar-1,
  .ai-avatar-4 {
    animation: none;
  }
  .ai-dot-1,
  .ai-typing-dot-3 {
    animation: none;
    opacity: 1;
  }
  .ai-avatar-2::before {
    animation: none;
  }
}
/* Print friendly */
@media print {
  .ai-dialog-1,
  .ai-dialog-2,
  .ai-dialog-3,
  .ai-dialog-4,
  .ai-dialog-5 {
    break-inside: avoid;
    padding: 10px;
  }
  .ai-bubble-1,
  .ai-bubble-2,
  .ai-bubble-3,
  .ai-bubble-4,
  .ai-bubble-5 {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  .ai-dots-1,
  .ai-typing-3 {
    display: none;
  }
}
.lv-rank-score__card {
  background: white;
  border-radius: 3px;
  border: 1px solid #dfe1e6;
  overflow: hidden;
  margin-bottom: 20px;
}
.lv-rank-score__header {
  padding: 20px;
  border-bottom: 1px solid #f4f5f7;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lv-rank-score__title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.lv-rank-score__title h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #172b4d;
}
.lv-rank-score__title i {
  font-size: 18px;
  color: #5e6c84;
}
.lv-rank-score__rank-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.lv-rank-score__rank-badge--diamond {
  background: #e0f2fe;
  color: #0c4a6e;
}
.lv-rank-score__rank-badge--platinum {
  background: #f5f5f5;
  color: #404040;
}
.lv-rank-score__rank-badge--gold {
  background: #fef3c7;
  color: #92400e;
}
.lv-rank-score__rank-badge--silver {
  background: #f1f5f9;
  color: #334155;
}
.lv-rank-score__rank-badge--bronze {
  background: #fed7aa;
  color: #7c2d12;
}
.lv-rank-score__rank-badge--iron {
  background: #f4f5f7;
  color: #42526e;
}
.lv-rank-score__body {
  padding: 20px;
}
.lv-rank-score__score-section {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.lv-rank-score__score-circle {
  width: 80px;
  height: 80px;
  min-width: 80px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 3px solid;
  font-weight: 700;
}
.lv-rank-score__score-circle--diamond {
  background: linear-gradient(135deg, #e0f2fe, #bae6fd);
  border-color: #0ea5e9;
  color: #0c4a6e;
}
.lv-rank-score__score-circle--platinum {
  background: linear-gradient(135deg, #f5f5f5, #e5e5e5);
  border-color: #a3a3a3;
  color: #404040;
}
.lv-rank-score__score-circle--gold {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-color: #f59e0b;
  color: #92400e;
}
.lv-rank-score__score-circle--silver {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
  border-color: #64748b;
  color: #334155;
}
.lv-rank-score__score-circle--bronze {
  background: linear-gradient(135deg, #fed7aa, #fdba74);
  border-color: #ea580c;
  color: #7c2d12;
}
.lv-rank-score__score-circle--iron {
  background: linear-gradient(135deg, #f4f5f7, #dfe1e6);
  border-color: #8993a4;
  color: #42526e;
}
.lv-rank-score__score-number {
  font-size: 32px;
  line-height: 1;
}
.lv-rank-score__score-max {
  font-size: 11px;
  opacity: 0.7;
}
.lv-rank-score__score-info {
  flex: 1;
}
.lv-rank-score__score-label {
  font-size: 13px;
  color: #5e6c84;
  margin-bottom: 4px;
  font-weight: 500;
}
.lv-rank-score__score-description {
  font-size: 14px;
  color: #172b4d;
  font-weight: 600;
  margin-bottom: 8px;
}
.lv-rank-score__xp-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #5e6c84;
}
.lv-rank-score__xp-info i {
  font-size: 14px;
}
.lv-rank-score__xp-value {
  font-weight: 700;
  color: #172b4d;
}
.lv-rank-score__progress-item {
  margin-bottom: 16px;
}
.lv-rank-score__progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.lv-rank-score__progress-label {
  font-size: 12px;
  font-weight: 600;
  color: #5e6c84;
}
.lv-rank-score__progress-value {
  font-size: 12px;
  font-weight: 700;
  color: #172b4d;
}
.lv-rank-score__progress-bar {
  height: 8px;
  background: #f4f5f7;
  border-radius: 4px;
  overflow: hidden;
}
.lv-rank-score__progress-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s;
}
.lv-rank-score__progress-fill--high {
  background: linear-gradient(90deg, #00875a, #006644);
}
.lv-rank-score__progress-fill--medium {
  background: linear-gradient(90deg, #0052cc, #0747a6);
}
.lv-rank-score__progress-fill--low {
  background: linear-gradient(90deg, #ff991f, #ff8b00);
}
.lv-rank-score__progress-fill--very-low {
  background: linear-gradient(90deg, #8993a4, #6b7280);
}
.lv-rank-score__stars-section {
  margin-bottom: 20px;
}
.lv-rank-score__star-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 8px 0;
}
.lv-rank-score__star-item:last-child {
  margin-bottom: 0;
}
.lv-rank-score__star-label {
  font-size: 12px;
  font-weight: 600;
  color: #5e6c84;
  min-width: 80px;
}
.lv-rank-score__stars-container {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}
.lv-rank-score__stars {
  display: flex;
  gap: 2px;
}
.lv-rank-score__star {
  font-size: 18px;
  color: #dfe1e6;
}
.lv-rank-score__star--filled {
  color: #f59e0b;
}
.lv-rank-score__star--half {
  color: #f59e0b;
}
.lv-rank-score__star-value {
  font-size: 12px;
  font-weight: 700;
  color: #172b4d;
  margin-left: 8px;
  min-width: 30px;
  text-align: right;
}
.lv-rank-score__medals-section {
  padding: 16px;
  background: #fafbfc;
  border-radius: 3px;
  margin-bottom: 20px;
}
.lv-rank-score__medals-title {
  font-size: 12px;
  font-weight: 700;
  color: #5e6c84;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.lv-rank-score__medals-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 8px;
}
.lv-rank-score__medal-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  transition: all 0.2s;
}
.lv-rank-score__medal-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.lv-rank-score__medal-icon {
  font-size: 28px;
  margin-bottom: 6px;
}
.lv-rank-score__medal-icon--diamond {
  color: #0ea5e9;
}
.lv-rank-score__medal-icon--platinum {
  color: #a3a3a3;
}
.lv-rank-score__medal-icon--gold {
  color: #f59e0b;
}
.lv-rank-score__medal-icon--silver {
  color: #64748b;
}
.lv-rank-score__medal-icon--bronze {
  color: #ea580c;
}
.lv-rank-score__medal-count {
  font-size: 16px;
  font-weight: 700;
  color: #172b4d;
  margin-bottom: 2px;
}
.lv-rank-score__medal-label {
  font-size: 10px;
  color: #8993a4;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
}
.lv-rank-score__achievements-section {
  margin-bottom: 16px;
}
.lv-rank-score__section-header {
  font-size: 11px;
  font-weight: 700;
  color: #8993a4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.lv-rank-score__achievement-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  margin-right: 4px;
  margin-bottom: 4px;
  border: 1px solid;
  transition: all 0.2s;
}
.lv-rank-score__achievement-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.lv-rank-score__achievement-badge i {
  font-size: 12px;
}
.lv-rank-score__achievement-badge--diamond {
  background: #e0f2fe;
  border-color: #0ea5e9;
  color: #0c4a6e;
}
.lv-rank-score__achievement-badge--platinum {
  background: #f5f5f5;
  border-color: #a3a3a3;
  color: #404040;
}
.lv-rank-score__achievement-badge--gold {
  background: #fef3c7;
  border-color: #f59e0b;
  color: #92400e;
}
.lv-rank-score__achievement-badge--silver {
  background: #f1f5f9;
  border-color: #64748b;
  color: #334155;
}
.lv-rank-score__achievement-badge--bronze {
  background: #fed7aa;
  border-color: #ea580c;
  color: #7c2d12;
}
.lv-rank-score__achievement-badge--alert {
  background: #ffebe6;
  border-color: #de350b;
  color: #de350b;
}
.lv-rank-score__achievement-badge--warning {
  background: #fff4e6;
  border-color: #ff991f;
  color: #ff991f;
}
.lv-rank-score__info-note {
  background: #deebff;
  border-left: 3px solid #0052cc;
  padding: 12px 16px;
  border-radius: 3px;
  margin-top: 16px;
}
.lv-rank-score__info-note-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #0747a6;
  margin-bottom: 6px;
}
.lv-rank-score__info-note-title i {
  font-size: 14px;
}
.lv-rank-score__info-note-content {
  font-size: 12px;
  color: #0747a6;
  line-height: 1.5;
  margin: 0;
}
.lv-rank-score__info-note-content strong {
  font-weight: 700;
}
.lv-rank-score__medal-tier-list {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.lv-rank-score__medal-tier-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
}
.lv-rank-score__medal-tier-item i {
  font-size: 13px;
}
.lv-rank-score__medal-tier-item--diamond {
  color: #0ea5e9;
}
.lv-rank-score__medal-tier-item--platinum {
  color: #a3a3a3;
}
.lv-rank-score__medal-tier-item--gold {
  color: #f59e0b;
}
.lv-rank-score__medal-tier-item--silver {
  color: #64748b;
}
.lv-rank-score__medal-tier-item--bronze {
  color: #ea580c;
}

@keyframes pulse-wave {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes ripple-effect {
  0% {
    transform: scale(0.5);
    opacity: 1;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}
@keyframes glow-pulse {
  0%, 100% {
    box-shadow: 0 0 4px var(--dot-shadow), 0 0 8px var(--dot-shadow), 0 0 12px var(--dot-shadow);
  }
  50% {
    box-shadow: 0 0 8px var(--dot-shadow), 0 0 16px var(--dot-shadow), 0 0 24px var(--dot-shadow);
  }
}
.pulse-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pulse-dot::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
  animation: pulse-wave 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.pulse-dot::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: inherit;
  z-index: 2;
}

.ripple-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: inherit;
}
.ripple-dot::before, .ripple-dot::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid;
  border-color: inherit;
  animation: ripple-effect 2s ease-out infinite;
}
.ripple-dot::after {
  animation-delay: 1s;
}
.ripple-dot .core {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: inherit;
  z-index: 2;
}

.glow-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: inherit;
  animation: glow-pulse 2s ease-in-out infinite;
}

.dot-green {
  background: #10B981;
  --dot-shadow: rgba(16, 185, 129, 0.4);
}
.dot-green.ripple-dot {
  border-color: #10B981;
}

.dot-blue {
  background: #3B82F6;
  --dot-shadow: rgba(59, 130, 246, 0.4);
}
.dot-blue.ripple-dot {
  border-color: #3B82F6;
}

.dot-pink {
  background: #EC4899;
  --dot-shadow: rgba(236, 72, 153, 0.4);
}
.dot-pink.ripple-dot {
  border-color: #EC4899;
}

.dot-orange {
  background: #F59E0B;
  --dot-shadow: rgba(245, 158, 11, 0.4);
}
.dot-orange.ripple-dot {
  border-color: #F59E0B;
}

.dot-purple {
  background: #8B5CF6;
  --dot-shadow: rgba(139, 92, 246, 0.4);
}
.dot-purple.ripple-dot {
  border-color: #8B5CF6;
}

.dot-yellow {
  background: #EAB308;
  --dot-shadow: rgba(234, 179, 8, 0.4);
}
.dot-yellow.ripple-dot {
  border-color: #EAB308;
}

.dot-red {
  background: #EF4444;
  --dot-shadow: rgba(239, 68, 68, 0.4);
}
.dot-red.ripple-dot {
  border-color: #EF4444;
}

.dot-gray {
  background: #64748B;
  --dot-shadow: rgba(100, 116, 139, 0.4);
}
.dot-gray.ripple-dot {
  border-color: #64748B;
}

.dot-xs {
  width: 8px;
  height: 8px;
}
.dot-xs::after {
  width: 4px;
  height: 4px;
}

.dot-sm {
  width: 12px;
  height: 12px;
}
.dot-sm::after {
  width: 6px;
  height: 6px;
}

.dot-md {
  width: 16px;
  height: 16px;
}
.dot-md::after {
  width: 8px;
  height: 8px;
}

.dot-lg {
  width: 20px;
  height: 20px;
}
.dot-lg::after {
  width: 10px;
  height: 10px;
}

.dot-xl {
  width: 24px;
  height: 24px;
}
.dot-xl::after {
  width: 12px;
  height: 12px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-radius: 100px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 2px solid;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  cursor: default;
}
.status-pill::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.5s;
}
.status-pill:hover::before {
  left: 100%;
}

.pill-green {
  background: #ECFDF5;
  color: #059669;
  border-color: #A7F3D0;
}

.pill-blue {
  background: #EFF6FF;
  color: #2563EB;
  border-color: #BFDBFE;
}

.pill-pink {
  background: #FDF2F8;
  color: #DB2777;
  border-color: #FBCFE8;
}

.pill-orange {
  background: #FFFBEB;
  color: #D97706;
  border-color: #FDE68A;
}

.pill-purple {
  background: #F5F3FF;
  color: #7C3AED;
  border-color: #DDD6FE;
}

.pill-yellow {
  background: #FEFCE8;
  color: #CA8A04;
  border-color: #FEF08A;
}

.pill-red {
  background: #FEF2F2;
  color: #DC2626;
  border-color: #FECACA;
}

.pill-gray {
  background: #F8FAFC;
  color: #475569;
  border-color: #CBD5E1;
}

.pulse-dot.static::before, .pulse-dot.static::after,
.ripple-dot.static::before,
.ripple-dot.static::after,
.glow-dot.static::before,
.glow-dot.static::after {
  animation: none !important;
}

.pulse-dot.fast::before, .pulse-dot.fast::after,
.ripple-dot.fast::before,
.ripple-dot.fast::after,
.glow-dot.fast::before,
.glow-dot.fast::after {
  animation-duration: 1s !important;
}

.pulse-dot.slow::before, .pulse-dot.slow::after,
.ripple-dot.slow::before,
.ripple-dot.slow::after,
.glow-dot.slow::before,
.glow-dot.slow::after {
  animation-duration: 3s !important;
}

.dot-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.dot-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.floating-preview-btn {
  position: fixed;
  right: 1.5rem;
  bottom: 2rem;
  background-color: #349422;
  color: #FFFFFF;
  padding: 0.5rem 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(52, 148, 34, 0.3);
  cursor: pointer;
  z-index: 1030;
  transition: all 0.3s ease;
}
.floating-preview-btn span {
  margin-left: 0.5rem;
  font-weight: 500;
}
.floating-preview-btn i {
  font-size: 1.25rem;
}
.floating-preview-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(52, 148, 34, 0.4);
}
.floating-preview-btn:active {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(52, 148, 34, 0.3);
}
@media (min-width: 768px) {
  .floating-preview-btn {
    padding: 0.5rem;
  }
  .floating-preview-btn span {
    display: none;
  }
}

.preview-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(31, 41, 55, 0.5);
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.preview-overlay.active {
  opacity: 1;
  visibility: visible;
}
.preview-overlay.active .preview-overlay__content {
  transform: translateY(0) scale(1);
}
.preview-overlay__content {
  background-color: #FFFFFF;
  border-radius: 0;
  width: 700px;
  max-width: 90%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  transform: translateY(30px) scale(0.95);
  transition: all 0.3s ease;
  box-shadow: 0 10px 25px rgba(26, 26, 26, 0.2);
}
@media (min-width: 768px) {
  .preview-overlay__content {
    max-width: 95%;
    max-height: 95vh;
  }
}
.preview-overlay__header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.preview-overlay__header h4 {
  margin: 0;
  font-weight: 600;
  color: #1F2937;
}
.preview-overlay__close {
  background: none;
  border: none;
  color: #6B7280;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.preview-overlay__close:hover {
  background-color: #F9FAFB;
  color: #1F2937;
}
.preview-overlay__body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
.preview-overlay__body .job-card {
  border: 1px solid #F3F4F6;
  box-shadow: none;
}
.preview-overlay__body .job-footer {
  border-top: 1px solid #F3F4F6;
  padding-top: 1rem;
  margin-top: 1rem;
}
.preview-overlay__footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.benefits-section {
  border-top: 1px solid #F3F4F6;
  padding-top: 1rem;
}
.benefits-section h5 {
  font-weight: 600;
  color: #1F2937;
  margin-bottom: 0.5rem;
}
.benefits-section .benefit-tag {
  background-color: rgba(52, 148, 34, 0.1);
  color: #349422;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.benefits-section .benefit-tag:nth-child(2n) {
  background-color: rgba(32, 178, 170, 0.1);
  color: #20B2AA;
}
.benefits-section .benefit-tag:nth-child(3n) {
  background-color: rgba(255, 112, 67, 0.1);
  color: #FF7043;
}

.exp-r-card {
  border: 1px solid #e4e5e7;
  border-radius: 8px;
  background-color: #ffffff;
  margin-bottom: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.exp-r-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e4e5e7;
  background-color: #ffffff;
}

.exp-r-card-header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #349422;
  display: flex;
  align-items: center;
}

.exp-r-card-header h4 .bi {
  margin-right: 8px;
  font-size: 18px;
  color: #349422;
}

.exp-r-card-body {
  padding: 20px;
}

.exp-r-empty {
  text-align: center;
  padding: 40px 20px;
}

.exp-r-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #e8f5e4;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.exp-r-empty-icon i {
  font-size: 24px;
  color: #349422;
}

.exp-r-empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #001e00;
  margin-bottom: 8px;
}

.exp-r-empty-text {
  color: #5e6d55;
  max-width: 400px;
  margin: 0 auto 20px;
  font-size: 14px;
  line-height: 1.5;
}

.exp-r-empty .btn-primary {
  background-color: #349422;
  border-color: #349422;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 20px;
}

.exp-r-empty .btn-primary:hover {
  background-color: #349422;
  border-color: #349422;
}

.exp-r-empty .btn-primary .bi {
  margin-right: 6px;
}

/* Item de experiência - estilo cartão do Upwork */
.exp-r-item {
  border: 1px solid #e8f5e4;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.exp-r-item:last-child {
  margin-bottom: 0;
}

.exp-r-item:hover {
  box-shadow: 0 2px 8px #e8f5e4;
}

.exp-r-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px;
  background-color: #fafafa;
  border-bottom: 1px solid #e4e5e7;
}

.exp-r-item-logo {
  width: 40px;
  height: 40px;
  background-color: #e8f5e4;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
}

.exp-r-item-logo i {
  font-size: 20px;
  color: #FFFFFF;
}

.exp-r-item-details {
  flex: 1;
}

.exp-r-item-role {
  font-size: 16px;
  font-weight: 600;
  color: #001e00;
  margin: 0 0 4px 0;
}

.exp-r-item-company {
  font-size: 14px;
  color: #5e6d55;
  margin-bottom: 4px;
}

.exp-r-item-date {
  font-size: 13px;
  color: #5e6d55;
  display: flex;
  align-items: center;
}

.exp-r-item-date i {
  margin-right: 4px;
  font-size: 12px;
  color: #349422;
}

.exp-r-item-actions {
  margin-left: 8px;
}

.exp-r-item-actions .btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: transparent;
  border: none;
  color: #9aaa97;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.exp-r-item-actions .btn-icon:hover {
  background-color: #f2f2f2;
  color: #d93848; /* Vermelho para ações de exclusão */
}

.exp-r-item-body {
  padding: 16px;
  background-color: #ffffff;
}

.exp-r-item-body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #5e6d55;
}

/* Estado de carregamento - estilo Upwork */
.exp-r-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
}

.exp-r-loading .spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #e8f5e4;
  border-radius: 50%;
  border-top-color: #349422;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

.exp-r-loading p {
  color: #5e6d55;
  font-size: 14px;
}

/* Animações */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsividade */
@media (max-width: 576px) {
  .exp-r-card-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .exp-r-card-header h4 {
    margin-bottom: 12px;
  }
  .exp-r-item-header {
    flex-direction: column;
  }
  .exp-r-item-logo {
    margin-bottom: 12px;
  }
  .exp-r-item-actions {
    position: absolute;
    top: 12px;
    right: 12px;
  }
}
/* Novos estilos integrados de resume-experiences.html */
/* Header Card */
.experience-header-card {
  background: #0052cc;
  border: none;
  border-radius: 3px;
  color: white;
  margin-bottom: 1.5rem;
}
.experience-header-card .card-body {
  padding: 1.75rem;
}

.experience-header-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.experience-header-subtitle {
  opacity: 0.9;
  margin-top: 0.5rem;
  font-size: 0.95rem;
}

/* Stats Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.stat-card {
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  padding: 1.25rem;
  transition: all 0.2s ease;
}
.stat-card:hover {
  border-color: #0052cc;
  box-shadow: 0 2px 8px rgba(0, 82, 204, 0.15);
  transform: translateY(-1px);
}

.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}
.stat-icon.blue {
  background-color: #deebff;
  color: #0052cc;
}
.stat-icon.teal {
  background-color: #e6fcff;
  color: #00a3bf;
}
.stat-icon.green {
  background-color: #e3fcef;
  color: #006644;
}
.stat-icon.orange {
  background-color: #fff4e6;
  color: #ff8b00;
}

.stat-label {
  font-size: 0.8rem;
  color: #6b778c;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}

.stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #172b4d;
  margin: 0;
}

/* Main Content Card */
.content-card {
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  box-shadow: 0 1px 1px rgba(9, 30, 66, 0.08);
}

.content-card-header {
  padding: 1.5rem;
  border-bottom: 1px solid #dfe1e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.content-card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #172b4d;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.badge-count {
  background-color: #dfe1e6;
  color: #172b4d;
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 12px;
  font-weight: 600;
}

.content-card-body {
  padding: 1.5rem;
}

/* Experience Item */
.exp-item, .edu-item {
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: all 0.2s ease;
  position: relative;
}
.exp-item:hover, .edu-item:hover {
  background: #fafbfc;
  border-color: #0052cc;
  box-shadow: 0 2px 8px rgba(9, 30, 66, 0.08);
}
.exp-item:hover::before, .edu-item:hover::before {
  opacity: 1;
}
.exp-item::before, .edu-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #0052cc;
  border-radius: 3px 0 0 3px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.exp-item-header, .edu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.exp-item-main, .edu-item-main {
  display: flex;
  gap: 1rem;
  flex: 1;
}

.exp-item-icon, .edu-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  background: #0052cc;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.exp-item-content, .edu-item-content {
  flex: 1;
  min-width: 0;
}

.exp-item-role, .edu-item-course {
  font-size: 1.05rem;
  font-weight: 600;
  color: #172b4d;
  margin-bottom: 0.25rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.exp-item-role:hover, .edu-item-course:hover {
  color: #0052cc;
}

.exp-item-company, .edu-item-school {
  color: #5e6c84;
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.exp-item-meta, .edu-item-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.exp-meta-item, .edu-meta-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: #6b778c;
}
.exp-meta-item i, .edu-meta-item i {
  font-size: 0.9rem;
}

.badge-current {
  background-color: #e3fcef;
  color: #006644;
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 12px;
  font-weight: 600;
}

.duration-badge {
  background-color: #deebff;
  color: #0052cc;
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 12px;
  font-weight: 600;
}

.exp-item-actions, .edu-item-actions {
  display: flex;
  gap: 0.25rem;
}

.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  color: #6b778c;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  cursor: pointer;
}
.btn-icon:hover {
  background-color: #f4f5f7;
  color: #172b4d;
}
.btn-icon.btn-delete:hover {
  background-color: #ffebe6;
  color: #de350b;
}

.exp-item-description {
  color: #5e6c84;
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 4rem 2rem;
}

.empty-state-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #f4f5f7;
  color: #9aa5b1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  margin: 0 auto 1.5rem;
}

.empty-state-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #172b4d;
  margin-bottom: 0.5rem;
}

.empty-state-text {
  color: #6b778c;
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Tips Card */
.tips-card {
  background: #fffae6;
  border: 1px solid #ffc400;
  border-radius: 3px;
  padding: 1.25rem;
}

.tips-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #172b4d;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tips-list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 0.875rem;
  color: #5e6c84;
}
.tips-list li {
  margin-bottom: 0.5rem;
}

.educ-r-card {
  border: 1px solid #e4e5e7;
  border-radius: 8px;
  background-color: #ffffff;
  margin-bottom: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.educ-r-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e4e5e7;
  background-color: #ffffff;
}

.educ-r-card-header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #349422; /* Verde Upwork */
  display: flex;
  align-items: center;
}

.educ-r-card-header h4 .bi {
  margin-right: 8px;
  font-size: 18px;
  color: #349422;
}

.educ-r-card-header .btn-primary {
  background-color: #349422;
  border-color: #349422;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  padding: 6px 16px;
  transition: background-color 0.2s;
}

.educ-r-card-header .btn-primary:hover {
  background-color: #2a7a1b;
  border-color: #2a7a1b;
}

.educ-r-card-header .btn .bi {
  margin-right: 6px;
  font-size: 16px;
}

/* Corpo do card */
.educ-r-card-body {
  padding: 20px;
}

/* Estado vazio - estilo Upwork minimalista */
.educ-r-empty {
  text-align: center;
  padding: 40px 20px;
}

.educ-r-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #e8f5e4;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.educ-r-empty-icon i {
  font-size: 24px;
  color: #349422;
}

.educ-r-empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #001e00;
  margin-bottom: 8px;
}

.educ-r-empty-text {
  color: #5e6d55;
  max-width: 400px;
  margin: 0 auto 20px;
  font-size: 14px;
  line-height: 1.5;
}

/* Item de educação - estilo cartão do Upwork */
.educ-r-item {
  border: 1px solid #e4e5e7;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.educ-r-item:last-child {
  margin-bottom: 0;
}

.educ-r-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.educ-r-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px;
  background-color: #fafafa;
  border-bottom: 1px solid #e4e5e7;
}

.educ-r-item-logo {
  width: 40px;
  height: 40px;
  background-color: #e8f5e4;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
}

.educ-r-item-logo i {
  font-size: 20px;
  color: #FFFFFF;
}

.educ-r-item-details {
  flex: 1;
}

.educ-r-item-degree {
  font-size: 16px;
  font-weight: 600;
  color: #001e00;
  margin: 0 0 4px 0;
}

.educ-r-item-school {
  font-size: 14px;
  color: #5e6d55;
  margin-bottom: 4px;
}

.educ-r-item-date {
  font-size: 13px;
  color: #5e6d55;
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}

.educ-r-item-date i {
  margin-right: 4px;
  font-size: 12px;
  color: #349422;
}

.educ-r-item-status {
  margin-top: 4px;
}

/* Badges de status */
.educ-r-status-badge {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 12px;
  background-color: #f2f2f2;
  color: #5e6d55;
}

.educ-r-status-badge i {
  margin-right: 4px;
  font-size: 11px;
}

.educ-r-status-badge.in-progress {
  background-color: #fff8e6;
  color: #9d6a00;
}

.educ-r-status-badge.completed {
  background-color: #e8f5e4;
  color: #349422;
}

.educ-r-status-badge.started {
  background-color: #e7f5ff;
  color: #0a66c2;
}

.educ-r-status-badge.interrupted {
  background-color: #ffeeee;
  color: #b71c1c;
}

.educ-r-item-actions {
  margin-left: 8px;
}

.educ-r-item-actions .btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: transparent;
  border: none;
  color: #9aaa97;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.educ-r-item-actions .btn-icon:hover {
  background-color: #f2f2f2;
  color: #d93848; /* Vermelho para ações de exclusão */
}

/* Estado de carregamento - estilo Upwork */
.educ-r-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
}

.educ-r-loading .spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #e8f5e4;
  border-radius: 50%;
  border-top-color: #349422;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

.educ-r-loading p {
  color: #5e6d55;
  font-size: 14px;
}

/* Animações */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsividade */
@media (max-width: 576px) {
  .educ-r-card-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .educ-r-card-header h4 {
    margin-bottom: 12px;
  }
  .educ-r-item-header {
    flex-direction: column;
  }
  .educ-r-item-logo {
    margin-bottom: 12px;
  }
  .educ-r-item-actions {
    position: absolute;
    top: 12px;
    right: 12px;
  }
}
/* Novos estilos integrados de resume-education.html */
/* Header Card */
.education-header-card {
  background: #0052cc;
  border: none;
  border-radius: 3px;
  color: white;
  margin-bottom: 1.5rem;
}
.education-header-card .card-body {
  padding: 1.75rem;
}

.education-header-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.education-header-subtitle {
  opacity: 0.9;
  margin-top: 0.5rem;
  font-size: 0.95rem;
}

/* Stats Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.stat-card {
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  padding: 1.25rem;
  transition: all 0.2s ease;
}
.stat-card:hover {
  border-color: #0052cc;
  box-shadow: 0 2px 8px rgba(0, 82, 204, 0.15);
  transform: translateY(-1px);
}

.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}
.stat-icon.blue {
  background-color: #deebff;
  color: #0052cc;
}
.stat-icon.green {
  background-color: #e3fcef;
  color: #006644;
}
.stat-icon.orange {
  background-color: #fff4e6;
  color: #ff8b00;
}
.stat-icon.purple {
  background-color: #eae6ff;
  color: #5243aa;
}

.stat-label {
  font-size: 0.8rem;
  color: #6b778c;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}

.stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #172b4d;
  margin: 0;
}

/* Main Content Card */
.content-card {
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 3px;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 2px rgba(9, 30, 66, 0.08);
}

.content-card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #dfe1e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f4f5f7;
}

.content-card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #172b4d;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

.content-card-body {
  padding: 0;
}

/* Education Items */
.edu-item {
  padding: 1.5rem;
  border-bottom: 1px solid #dfe1e6;
  transition: background-color 0.2s ease;
}
.edu-item:last-child {
  border-bottom: none;
}
.edu-item:hover {
  background-color: #fafbfc;
}

.edu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.edu-item-main {
  display: flex;
  gap: 1.25rem;
}

.edu-item-icon {
  width: 48px;
  height: 48px;
  background: #f4f5f7;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #42526e;
  flex-shrink: 0;
}

.edu-item-course {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0052cc;
  margin: 0 0 0.25rem 0;
  cursor: pointer;
}
.edu-item-course:hover {
  text-decoration: underline;
}

.edu-item-school {
  font-size: 1rem;
  color: #172b4d;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.edu-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.edu-meta-item {
  font-size: 0.85rem;
  color: #6b778c;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.edu-meta-item i {
  font-size: 1rem;
}

.badge-status {
  padding: 0.2rem 0.6rem;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}
.badge-status.in-progress {
  background: #fff0b3;
  color: #89632a;
}
.badge-status.completed {
  background: #e3fcef;
  color: #006644;
}
.badge-status.interrupted {
  background: #ffebe6;
  color: #bf2600;
}

/* Actions */
.edu-item-actions {
  display: flex;
  gap: 0.5rem;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.edu-item:hover .edu-item-actions {
  opacity: 1;
}

.btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 3px;
  border: none;
  background: transparent;
  color: #42526e;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.btn-icon:hover {
  background: #ebecf0;
  color: #172b4d;
}
.btn-icon.btn-delete:hover {
  background: #ffebe6;
  color: #de350b;
}

/* Empty State */
.empty-state {
  padding: 4rem 2rem;
  text-align: center;
}

.empty-state-icon {
  font-size: 4rem;
  color: #dfe1e6;
  margin-bottom: 1.5rem;
}

.empty-state-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #172b4d;
  margin-bottom: 0.5rem;
}

.empty-state-text {
  color: #6b778c;
  max-width: 400px;
  margin: 0 auto 1.5rem;
}

/* Tips Card */
.tips-card {
  background: #f4f5f7;
  border-radius: 3px;
  padding: 1.5rem;
  height: 100%;
}

.tips-title {
  font-weight: 600;
  color: #172b4d;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tips-list {
  padding-left: 1.25rem;
  margin: 0;
}
.tips-list li {
  font-size: 0.9rem;
  color: #42526e;
  margin-bottom: 0.5rem;
}
.tips-list li:last-child {
  margin-bottom: 0;
}

/* Badge Count */
.badge-count {
  background: #dfe1e6;
  color: #42526e;
  padding: 0.1rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* Modal Styles - SCOPED to educ-r-card */
.educ-r-card .required-mark {
  color: #de350b;
  margin-left: 2px;
}
.educ-r-card .form-label {
  font-weight: 600;
  color: #42526e;
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}
.educ-r-card .form-control, .educ-r-card .form-select {
  border-color: #dfe1e6;
  background-color: #fafbfc;
  font-size: 0.95rem;
}
.educ-r-card .form-control:focus, .educ-r-card .form-select:focus {
  background-color: white;
  border-color: #4c9aff;
  box-shadow: 0 0 0 1px #4c9aff;
}

/*
 * Estilo profissional para a seção de importação de LinkedIn
 * Prefixo: li-r para evitar conflitos
 */
.li-r-import-section {
  border-radius: 8px;
  border: 1px solid #e4e5e7;
  background-color: #fcfcfc;
  margin-bottom: 24px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.li-r-import-header {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  background-color: #f9f9f9;
  border-bottom: 1px solid #e4e5e7;
}

.li-r-import-logo {
  background-color: #0a66c2; /* Cor oficial do LinkedIn */
  width: 36px;
  height: 36px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  flex-shrink: 0;
}

.li-r-import-logo i {
  color: white;
  font-size: 20px;
}

.li-r-import-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333333;
}

.li-r-import-content {
  padding: 20px;
}

.li-r-import-text {
  margin-bottom: 16px;
}

.li-r-import-text p {
  margin: 0;
  color: #666666;
  font-size: 14px;
  line-height: 1.5;
}

/* Estilização moderna para o campo de upload */
.li-r-import-dropzone {
  border: 2px dashed #d4d7dc;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  background-color: #fcfcfc;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
}

.li-r-import-dropzone:hover {
  border-color: #0a66c2;
  background-color: #f8f9fa;
}

.li-r-import-dropzone.drag-over {
  border-color: #0a66c2;
  background-color: #f0f7ff;
}

.li-r-import-dropzone-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
}

.li-r-import-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #eef3f8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.li-r-import-icon i {
  font-size: 24px;
  color: #0a66c2;
}

.li-r-import-label {
  font-weight: 500;
  margin-bottom: 4px;
  color: #333333;
  font-size: 15px;
}

.li-r-import-sublabel {
  font-size: 13px;
  color: #666666;
  margin-bottom: 12px;
}

.li-r-file-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.li-r-browse-button {
  padding: 6px 14px;
  background-color: transparent;
  color: #0a66c2;
  border: 1px solid #0a66c2;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
}

.li-r-browse-button:hover {
  background-color: rgba(10, 102, 194, 0.05);
}

.li-r-browse-button i {
  margin-right: 6px;
  font-size: 14px;
}

/* Estado de upload */
.li-r-upload-status {
  margin-top: 12px;
  padding: 0 4px;
}

.li-r-status-progress {
  display: flex;
  align-items: center;
  margin-top: 16px;
}

.li-r-progress-bar-container {
  flex: 1;
  height: 4px;
  background-color: #e4e5e7;
  border-radius: 2px;
  overflow: hidden;
  margin-right: 12px;
}

.li-r-progress-bar {
  height: 100%;
  background-color: #0a66c2;
  width: 0%;
  transition: width 0.3s ease;
}

.li-r-progress-text {
  font-size: 12px;
  color: #666666;
  white-space: nowrap;
}

/* Status alerts */
.li-r-status-alert {
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  display: flex;
  align-items: flex-start;
  margin-top: 12px;
}

.li-r-status-alert i {
  margin-right: 8px;
  font-size: 16px;
  margin-top: 1px;
}

.li-r-status-alert.success {
  background-color: #ecf8ef;
  color: #0e7c2e;
}

.li-r-status-alert.error {
  background-color: #ffeeee;
  color: #d93848;
}

.li-r-status-alert.info {
  background-color: #eff8ff;
  color: #0a66c2;
}

/* Responsivo */
@media (max-width: 576px) {
  .li-r-import-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .li-r-import-logo {
    margin-bottom: 10px;
  }
}
:root {
  --dt-bg-color: #FFFFFF;
  --dt-text-color: #1A1A1A;
  --dt-secondary-text: #6B7280;
  --dt-border-color: #E5E7EB;
  --dt-hover-bg: #F9FAFB;
  --dt-header-bg: #F9FAFB;
  --dt-primary-color: #349422;
  --dt-primary-hover: #2a7a1b;
  /* Status Colors */
  --dt-status-done: #22C55E;
  --dt-status-todo: #3B82F6;
  --dt-status-progress: #00B8D9;
  --dt-status-review: #6554C0;
  --dt-status-blocked: #EF4444;
  /* Spacing */
  --dt-padding-cell: 8px 12px;
  --dt-padding-header: 10px 12px;
}

/* Table Layout */
div.dataTables_wrapper {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  color: var(--dt-text-color);
  background-color: var(--dt-bg-color);
  padding: 0;
  margin-bottom: 20px;
  font-size: 14px;
}

/* Controls Wrapper */
div.dataTables_wrapper div.row:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 8px 0;
}

/* Table Container */
div.dataTables_scroll,
div.dataTables_wrapper div.dataTables_scrollBody {
  border: none;
  border-radius: 3px;
  overflow: visible;
}

/* Clean Table Design */
table.dataTable {
  width: 100% !important;
  margin: 0 !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  clear: both;
  border-collapse: separate;
  border-spacing: 0;
  background-color: var(--dt-bg-color);
  border: 1px solid var(--dt-border-color);
  border-radius: 3px;
  box-shadow: 0 1px 1px rgba(9, 30, 66, 0.08);
}

/* Reset Table Cell Styles */
table.dataTable,
table.dataTable th,
table.dataTable td {
  box-sizing: border-box;
}

/* Header Styling */
table.dataTable thead th,
table.dataTable thead td {
  padding: var(--dt-padding-header);
  font-weight: 600;
  color: var(--dt-text-color);
  background-color: var(--dt-header-bg);
  border-bottom: 2px solid var(--dt-border-color);
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  position: relative;
  white-space: nowrap;
  text-align: left;
}

/* Cell Styling */
table.dataTable tbody th,
table.dataTable tbody td {
  padding: var(--dt-padding-cell);
  vertical-align: middle;
  border-bottom: 1px solid var(--dt-border-color);
  color: var(--dt-text-color);
  font-size: 14px;
  line-height: 1.42857143;
}

/* Row Styling */
table.dataTable tbody tr {
  background-color: var(--dt-bg-color);
  transition: background-color 0.1s;
}

/* Row Hover Effect */
table.dataTable tbody tr:hover {
  background-color: var(--dt-hover-bg);
}

/* Last Row No Border */
table.dataTable tbody tr:last-child th,
table.dataTable tbody tr:last-child td {
  border-bottom: none;
}

/* Sorting Controls */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
  cursor: pointer;
  padding-right: 24px;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after {
  display: none; /* Hide default icons */
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
  background-repeat: no-repeat;
  background-position: center right;
}

table.dataTable thead .sorting {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 4L11 8H5L8 4Z" fill="%23C1C7D0"/><path d="M8 12L5 8H11L8 12Z" fill="%23C1C7D0"/></svg>');
}

table.dataTable thead .sorting_asc {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 4L11 8H5L8 4Z" fill="%230747A6"/><path d="M8 12L5 8H11L8 12Z" fill="%23C1C7D0"/></svg>');
}

table.dataTable thead .sorting_desc {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 4L11 8H5L8 4Z" fill="%23C1C7D0"/><path d="M8 12L5 8H11L8 12Z" fill="%230747A6"/></svg>');
}

/* Entry Length Selector */
div.dataTables_length {
  margin-bottom: 1rem !important;
  display: flex;
  align-items: center;
}

div.dataTables_length label {
  display: flex;
  align-items: center;
  margin: 0;
  font-weight: 400;
  color: var(--dt-secondary-text);
  font-size: 14px;
}

div.dataTables_length select {
  margin: 0 5px;
  padding: 4px 24px 4px 8px;
  min-height: 32px;
  font-size: 14px;
  background-color: var(--dt-bg-color);
  background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 10L12 15L17 10H7Z" fill="%235E6C84"/></svg>');
  background-repeat: no-repeat;
  background-position: right 4px center;
  background-size: 16px;
  border: 2px solid var(--dt-border-color);
  border-radius: 3px;
  color: var(--dt-text-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color 0.2s;
}

div.dataTables_length select:focus {
  outline: none;
  border-color: #4C9AFF;
  box-shadow: 0 0 0 2px rgba(76, 154, 255, 0.2);
}

/* Search Box Styling */
div.dataTables_filter {
  margin-bottom: 0;
  display: flex;
  align-items: center;
}

div.dataTables_filter label {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  font-weight: 400;
  color: var(--dt-secondary-text);
}

div.dataTables_filter input {
  margin-left: 5px;
  padding: 6px 10px;
  min-height: 32px;
  min-width: 200px;
  font-size: 14px;
  border: 2px solid var(--dt-border-color);
  border-radius: 3px;
  background-color: var(--dt-bg-color);
  color: var(--dt-text-color);
  transition: border-color 0.2s;
}

div.dataTables_filter input:focus {
  outline: none;
  border-color: #4C9AFF;
  box-shadow: 0 0 0 2px rgba(76, 154, 255, 0.2);
}

/* Pagination Controls */
div.dataTables_paginate {
  margin-top: 12px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.dataTables_wrapper div.dataTables_info {
  padding-top: 12px;
  color: var(--dt-secondary-text);
  font-size: 14px;
}

div.dataTables_paginate .paginate_button {
  min-width: 32px;
  height: 32px;
  padding: 0 5px;
  margin: 0 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 3px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s;
  font-size: 14px;
}

div.dataTables_paginate .paginate_button:hover {
  background-color: #349422 !important;
  color: #FFFFFF !important;
}

div.dataTables_paginate .paginate_button.current {
  font-weight: 700;
  background-color: #349422 !important;
  color: #FFFFFF !important;
}

div.dataTables_paginate .paginate_button.disabled {
  color: var(--dt-secondary-text) !important;
  cursor: not-allowed;
  opacity: 0.5;
}

div.dataTables_paginate .paginate_button.previous:before {
  content: "←";
  margin-right: 5px;
}

div.dataTables_paginate .paginate_button.next:after {
  content: "→";
  margin-left: 5px;
}

div.dataTables_paginate span .paginate_button {
  min-width: 32px;
}

/* Status Styling - Similar to Jira */
.dt-status {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.33;
  text-transform: uppercase;
  max-width: 100px;
  text-align: center;
  justify-content: center;
}

.dt-status.done {
  background-color: #E3FCEF;
  color: var(--dt-status-done);
}

.dt-status.to-do {
  background-color: #DEEBFF;
  color: var(--dt-status-todo);
}

.dt-status.in-progress {
  background-color: #E6FCFF;
  color: var(--dt-status-progress);
}

.dt-status.review {
  background-color: #EAE6FF;
  color: var(--dt-status-review);
}

.dt-status.blocked {
  background-color: #FFEBE6;
  color: var(--dt-status-blocked);
}

/* Action Buttons */
.dt-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.dt-action-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F4F5F7;
  color: #42526E;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}

.dt-action-btn:hover {
  background-color: #DFE1E6;
}

.dt-action-btn.edit {
  color: #0052CC;
}

.dt-action-btn.delete {
  color: #FF5630;
}

.dt-action-btn.show {
  color: #00B8D9;
}

/* Key/ID Styling */
.dt-key {
  font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace;
  color: #0052CC;
  font-size: 12px;
  padding: 2px 4px;
  background-color: rgba(9, 30, 66, 0.04);
  border-radius: 3px;
  text-align: center;
  max-width: 120px;
  margin: 0 auto;
}

/* Priority Indicators */
.dt-priority {
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}

.dt-priority.highest {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3L2 11H14L8 3Z" fill="%23FF5630"/></svg>');
}

.dt-priority.high {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3L2 11H14L8 3Z" fill="%23FF7452"/></svg>');
}

.dt-priority.medium {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 6H14V10H2V6Z" fill="%23FFAB00"/></svg>');
}

.dt-priority.low {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 13L14 5H2L8 13Z" fill="%2336B37E"/></svg>');
}

.dt-priority.lowest {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 13L14 5H2L8 13Z" fill="%2357D9A3"/></svg>');
}

/* User Profile Styling */
.dt-user {
  display: flex;
  align-items: center;
}

.dt-user-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 8px;
  background-color: #DFE1E6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #42526E;
  font-weight: 600;
  font-size: 12px;
}

.dt-user-avatar img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
}

.dt-user-name {
  font-size: 14px;
  color: var(--dt-text-color);
}

/* Empty Table State */
table.dataTable td.dataTables_empty {
  padding: 24px;
  text-align: center;
  color: var(--dt-secondary-text);
}

/* Stripe Effect */
table.dataTable.stripe tbody tr.odd {
  background-color: #FAFBFC;
}

/* Style for small tables */
.table-sm.dataTable thead th,
.table-sm.dataTable tbody td {
  padding: 4px 8px;
  font-size: 13px;
}

/* Processing Indicator */
div.dataTables_processing {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(9, 30, 66, 0.25);
  padding: 12px;
  z-index: 100;
}

/* Responsive Design for Mobile */
@media screen and (max-width: 767px) {
  div.dataTables_wrapper div.dataTables_length,
  div.dataTables_wrapper div.dataTables_filter,
  div.dataTables_wrapper div.dataTables_info,
  div.dataTables_wrapper div.dataTables_paginate {
    text-align: left;
    margin-bottom: 8px;
  }
  div.dataTables_wrapper div.dataTables_filter input {
    min-width: 120px;
  }
  div.dataTables_paginate .paginate_button {
    min-width: 28px;
    height: 28px;
    padding: 0 4px;
  }
  table.dataTable thead th,
  table.dataTable tbody td {
    padding: 6px 8px;
  }
}
/* Issue Type Icons (matching Jira) */
.dt-issue-type {
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

.dt-issue-type.epic {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M7.99999 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 7.99999 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 7.99999 0Z" fill="%23904EE2"/></svg>');
}

.dt-issue-type.story {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M0 1.77778C0 0.790861 0.790861 0 1.77778 0H14.2222C15.2091 0 16 0.790861 16 1.77778V14.2222C16 15.2091 15.2091 16 14.2222 16H1.77778C0.790861 16 0 15.2091 0 14.2222V1.77778Z" fill="%2336B37E"/></svg>');
}

.dt-issue-type.task {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 0L16 8L8 16L0 8L8 0Z" fill="%234C9AFF"/></svg>');
}

.dt-issue-type.bug {
  background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0Z" fill="%23FF5630"/></svg>');
}

/* Helper Classes */
.dt-text-truncate {
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dt-center {
  text-align: center !important;
}

.dt-right {
  text-align: right !important;
}

/* Data Cell with Icon */
.dt-icon-cell {
  display: flex;
  align-items: center;
}

.dt-icon-cell .dt-icon {
  margin-right: 8px;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Timeline date format */
.dt-date {
  font-size: 12px;
  color: var(--dt-secondary-text);
  white-space: nowrap;
}

.dt-date.recent {
  color: #0052CC;
}

/* Applying specific styling for your approver column */
.dt-approver {
  display: flex;
  align-items: center;
}

.dt-approver-icon {
  margin-right: 8px;
  color: var(--dt-status-done);
}

/* Fix for button styles to match Jira actions */
.dt-btn {
  background: none;
  border: none;
  padding: 4px;
  margin: 0 2px;
  cursor: pointer;
  color: #42526E;
  border-radius: 3px;
}

.dt-btn:hover {
  background-color: rgba(9, 30, 66, 0.08);
}

.dt-btn.edit {
  color: #0052CC;
}

.dt-btn.email {
  color: #00B8D9;
}

.dt-btn.delete {
  color: #FF5630;
}

.table > :not(:last-child) > :last-child > * {
  border-bottom: none !important;
}

table.dataTable.no-footer {
  border-bottom: 1px solid rgb(223, 225, 230) !important;
}

/* Fix for filter inputs */
table.dataTable thead th input[type=text] {
  width: 100%;
  padding: 4px;
  box-sizing: border-box;
  border: 1px solid #DFE1E6;
  border-radius: 3px;
}

.paginate_button .current {
  background-color: #349422 !important;
  color: #FFFFFF !important;
}

.custom-checkbox,
.custom-radio {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  display: inline-block;
  user-select: none;
  margin-bottom: 0.75rem;
  line-height: 18px;
  font-size: 0.95rem;
}
.custom-checkbox input,
.custom-radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.custom-checkbox input:checked ~ .checkmark,
.custom-radio input:checked ~ .checkmark {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
}
.custom-checkbox input:checked ~ .checkmark:after,
.custom-radio input:checked ~ .checkmark:after {
  opacity: 1;
}
.custom-checkbox input:focus ~ .checkmark,
.custom-radio input:focus ~ .checkmark {
  box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25);
}
.custom-checkbox input:disabled ~ .checkmark,
.custom-radio input:disabled ~ .checkmark {
  opacity: 0.5;
  cursor: not-allowed;
}
.custom-checkbox .checkmark,
.custom-radio .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: white;
  border: 2px solid #ccc;
  border-radius: 0;
  transition: all 0.2s ease-in-out;
}
.custom-checkbox .checkmark:after,
.custom-radio .checkmark:after {
  content: "";
  position: absolute;
  opacity: 0;
  transition: opacity 0.2s;
}
.custom-checkbox:hover input ~ .checkmark,
.custom-radio:hover input ~ .checkmark {
  border-color: #1A1A1A;
}
.custom-checkbox.success input:checked ~ .checkmark,
.custom-radio.success input:checked ~ .checkmark {
  background-color: #22C55E;
  border-color: #22C55E;
}
.custom-checkbox.danger input:checked ~ .checkmark,
.custom-radio.danger input:checked ~ .checkmark {
  background-color: #EF4444;
  border-color: #EF4444;
}

.custom-checkbox .checkmark:after {
  left: 5px;
  top: 1px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.custom-radio .checkmark {
  border-radius: 50%;
}
.custom-radio .checkmark:after {
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: white;
}

.custom-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 22px;
  margin-bottom: 0.75rem;
}
.custom-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.custom-switch input:checked + .switch-slider {
  background-color: #1A1A1A;
}
.custom-switch input:checked + .switch-slider:before {
  transform: translateX(22px);
}
.custom-switch input:focus + .switch-slider {
  box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25);
}
.custom-switch input:disabled + .switch-slider {
  opacity: 0.5;
  cursor: not-allowed;
}
.custom-switch .switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.2s;
  border-radius: 22px;
}
.custom-switch .switch-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: 0.2s;
  border-radius: 50%;
}
.custom-switch.success input:checked + .switch-slider {
  background-color: #22C55E;
}
.custom-switch.danger input:checked + .switch-slider {
  background-color: #EF4444;
}

@keyframes checkmark-pop {
  0% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.custom-checkbox input:checked ~ .checkmark:after,
.custom-radio input:checked ~ .checkmark:after {
  animation: checkmark-pop 0.3s ease-in-out;
}

.checkbox-group,
.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}
.checkbox-group .custom-checkbox,
.checkbox-group .custom-radio,
.radio-group .custom-checkbox,
.radio-group .custom-radio {
  margin-right: 1rem;
  margin-bottom: 0.5rem;
}

.input-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #495057;
}
.input-label.required:after {
  content: " *";
  color: #EF4444;
}

.custom-checkbox.lg,
.custom-radio.lg {
  padding-left: 32.5px;
}
.custom-checkbox.lg .checkmark,
.custom-radio.lg .checkmark {
  height: 22.5px;
  width: 22.5px;
}
.custom-checkbox.lg.custom-checkbox .checkmark:after,
.custom-radio.lg.custom-checkbox .checkmark:after {
  left: 6px;
  top: 2px;
  width: 8px;
  height: 12px;
}
.custom-checkbox.lg.custom-radio .checkmark:after,
.custom-radio.lg.custom-radio .checkmark:after {
  top: 5px;
  left: 5px;
  width: 8px;
  height: 8px;
}
.custom-checkbox.sm,
.custom-radio.sm {
  padding-left: 22.4px;
  line-height: 14.4px;
}
.custom-checkbox.sm .checkmark,
.custom-radio.sm .checkmark {
  height: 14.4px;
  width: 14.4px;
}
.custom-checkbox.sm.custom-checkbox .checkmark:after,
.custom-radio.sm.custom-checkbox .checkmark:after {
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
}
.custom-checkbox.sm.custom-radio .checkmark:after,
.custom-radio.sm.custom-radio .checkmark:after {
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
}

/* Estilos básicos do datepicker */
.ui-datepicker {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  width: 250px;
  padding: 0;
  display: none;
  z-index: 1000 !important;
  font-size: 14px;
  /* Cabeçalho */
  /* Navegação */
  /* Calendário */
}
.ui-datepicker .ui-datepicker-header {
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  padding: 10px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ui-datepicker .ui-datepicker-title {
  text-align: center;
  margin: 0;
  line-height: 1.5;
  font-weight: 500;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  overflow: hidden;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  color: transparent;
  position: relative;
}
.ui-datepicker .ui-datepicker-prev span:before,
.ui-datepicker .ui-datepicker-next span:before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}
.ui-datepicker .ui-datepicker-prev {
  left: 5px;
}
.ui-datepicker .ui-datepicker-prev span:before {
  transform: rotate(-135deg);
}
.ui-datepicker .ui-datepicker-next {
  right: 5px;
}
.ui-datepicker .ui-datepicker-next span:before {
  transform: rotate(45deg);
}
.ui-datepicker .ui-datepicker-calendar {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.ui-datepicker .ui-datepicker-calendar th {
  text-align: center;
  padding: 8px 0;
  font-weight: normal;
  color: #666;
  border: none;
  font-size: 12px;
}
.ui-datepicker .ui-datepicker-calendar td {
  text-align: center;
  padding: 0;
  border: none;
}
.ui-datepicker .ui-datepicker-calendar td a, .ui-datepicker .ui-datepicker-calendar td span {
  display: block;
  padding: 8px 0;
  text-align: center;
  text-decoration: none;
  margin: 1px;
  border-radius: 4px;
  color: #1A1A1A;
}
.ui-datepicker .ui-datepicker-calendar td a.ui-state-default, .ui-datepicker .ui-datepicker-calendar td span.ui-state-default {
  background: transparent;
  border: none;
}
.ui-datepicker .ui-datepicker-calendar td a:hover, .ui-datepicker .ui-datepicker-calendar td span:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a {
  background-color: #F9FAFB;
  font-weight: bold;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a {
  background-color: #1A1A1A;
  color: white;
}
.ui-datepicker .ui-datepicker-calendar td.ui-state-disabled span {
  color: #D1D5DB;
  opacity: 0.7;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month a {
  color: #D1D5DB;
}

/* Input de data */
input.hasDatepicker,
input.date {
  padding-right: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
  cursor: pointer;
}

/* Animação de entrada simples */
.ui-datepicker.ui-widget {
  animation: datepicker-fadein 0.2s ease-out;
}

@keyframes datepicker-fadein {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Ajustes para dispositivos móveis */
@media (max-width: 480px) {
  .ui-datepicker {
    width: 280px;
  }
  .ui-datepicker .ui-datepicker-calendar td a, .ui-datepicker .ui-datepicker-calendar td span {
    padding: 10px 0;
  }
}
.rc-menu-content-breadcrump {
  font-size: 12px;
  position: relative;
}

/* Divisor colorido corporativo para a parte superior */
.lv-division-colorbar {
  height: 3px;
  background: linear-gradient(90deg, #0176d3 0%, #014486 100%);
  border: none;
  margin: 0;
  padding: 0;
  opacity: 1;
}

/* Container principal */
.lv-steps-container {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.5rem 0;
  background: #e5e7ed;
}

.lv-steps-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #ecebea;
}

/* Botões de navegação */
.lv-steps-nav {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background-color: white;
  color: #706e6b;
  border: 1px solid #dddbda;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
  z-index: 2;
  box-shadow: none;
}

.lv-steps-nav:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-color: #0176d3;
  color: #0176d3;
  background: #f3f8fe;
}

.lv-steps-nav:active {
  transform: none;
  box-shadow: none;
  background: #ecf3fb;
}

.lv-steps-nav.lv-steps-prev {
  margin-left: 0.5rem;
}

.lv-steps-nav.lv-steps-next {
  margin-right: 0.5rem;
}

.lv-steps-nav:disabled,
.lv-steps-nav.disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
  background: #f3f2f2;
}

/* Área de scroll */
.lv-steps-scroll {
  flex: 1;
  overflow-x: auto;
  position: relative;
  padding: 0.5rem 0;
}

.lv-steps-scroll::-webkit-scrollbar {
  height: 6px;
  width: 6px;
  background: #f3f2f2;
}

.lv-steps-scroll::-webkit-scrollbar-thumb {
  background: #c9c7c5;
  border-radius: 3px;
}

.lv-steps-scroll::-webkit-scrollbar-thumb:hover {
  background: #706e6b;
}

/* Wrapper dos passos */
.lv-steps-wrapper {
  display: flex;
  gap: 12px;
  padding: 0 1rem;
  min-width: max-content;
}

/* Passo individual */
.lv-steps-step {
  min-width: 160px;
  background-color: white;
  border-radius: 4px;
  border: 2px solid #f1efef;
  background: #f1efef;
  padding: 12px;
  transition: all 0.15s ease;
  position: relative;
  cursor: pointer !important;
}

.lv-steps-step:hover {
  background-color: rgba(1, 118, 211, 0.05);
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-color: #c9c7c5;
}

/* Passo ativo */
.lv-steps-step.active {
  border-color: #0176d3;
  background-color: #f3f8fe;
  box-shadow: 0 0 0 2px rgba(1, 118, 211, 0.1);
}

.lv-steps-step.active .lv-steps-title {
  color: #0176d3;
  font-weight: 700;
}

.lv-steps-step.active .lv-steps-count {
  background-color: #0176d3;
  color: white;
  border-color: #0176d3;
}

.lv-steps-step.active .lv-steps-icon {
  color: #0176d3;
  border-color: #0176d3;
  background: #f3f8fe;
}

.lv-steps-step.active .lv-steps-progress {
  width: 70%;
}

/* Cabeçalho do passo */
.lv-steps-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Ícone do passo */
.lv-steps-icon {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid #dddbda;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #080707;
  font-size: 1rem;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

/* Título do passo */
.lv-steps-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #080707;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  transition: color 0.15s ease;
}

/* Contador do passo */
.lv-steps-count {
  background-color: #ecebea;
  color: #080707;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  min-width: 24px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  border: 1px solid #c9c7c5;
}

/* Barra de progresso */
.lv-steps-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 0;
  background-color: #0176d3;
  transition: width 0.5s ease;
  border-radius: 0 0 0 4px;
}

/* Ícones específicos */
.icon-resume,
.icon-interview,
.icon-test,
.icon-offer,
.icon-step {
  width: 16px;
  height: 16px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Responsividade */
@media (max-width: 768px) {
  .lv-steps-step {
    min-width: 140px;
    padding: 10px;
  }
  .lv-steps-icon {
    width: 28px;
    height: 28px;
  }
  .lv-steps-title {
    font-size: 0.8125rem;
  }
  .lv-steps-count {
    min-width: 20px;
    height: 18px;
    font-size: 0.6875rem;
    padding: 1px 6px;
  }
  .lv-steps-nav {
    width: 28px;
    height: 28px;
  }
}
@media (max-width: 576px) {
  .lv-steps-container {
    padding: 0.25rem 0;
  }
  .lv-steps-scroll {
    padding: 0.25rem 0;
  }
  .lv-steps-step {
    min-width: 120px;
    padding: 8px;
  }
  .lv-steps-wrapper {
    gap: 8px;
    padding: 0 0.5rem;
  }
  .lv-steps-nav {
    width: 28px;
    height: 28px;
  }
  .lv-steps-nav svg {
    width: 16px;
    height: 16px;
  }
  .lv-steps-nav.lv-steps-prev {
    margin-left: 0.25rem;
  }
  .lv-steps-nav.lv-steps-next {
    margin-right: 0.25rem;
  }
}
/* Configuração */
.lv-steps-step {
  position: relative;
  cursor: move;
}

.lv-steps-step[data-fixed=true] {
  cursor: default;
}

.lv-steps-config {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 24px;
  height: 24px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #dddbda;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 10;
  padding: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.lv-steps-config:hover {
  transform: rotate(90deg);
  background: #0176d3;
  color: white;
  border-color: #0176d3;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lv-steps-config svg {
  width: 14px;
  height: 14px;
}

/* Drag and drop */
.lv-steps-step.ui-sortable-helper {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  opacity: 0.95;
}

.lv-steps-placeholder {
  background: rgba(1, 118, 211, 0.1);
  border: 2px dashed #0176d3;
  width: 150px;
  border-radius: 4px;
  visibility: visible !important;
}

.lv-steps-fragment {
  background-color: #f3f2f2;
  background-image: none;
  background-size: 0;
  border-bottom: 3px solid #0176d3;
  border-top: 1px solid #dddbda;
}

/* Header da Página */
.lv-hiring-app-header {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.lv-hiring-app-header-top {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  padding: 30px;
  position: relative;
}

.lv-hiring-app-header-top::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(#1A1A1A 1px, transparent 1px), linear-gradient(to right, #1A1A1A 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.1;
}

.lv-hiring-app-title {
  font-family: "Space Mono", monospace;
  font-size: 2rem;
  font-weight: 700;
  color: white;
  margin: 0;
  position: relative;
  z-index: 1;
}

.lv-hiring-app-subtitle {
  color: #1A1A1A;
  font-size: 1.1rem;
  margin-top: 8px;
  position: relative;
  z-index: 1;
}

/* Toolbar Integrada */
.lv-hiring-app-toolbar {
  padding: 10px 15px;
}

/* ===================================
   TOOLBAR DE COMUNICAÇÃO - Editorial Corporate
=================================== */
/* Toolbar Container */
.comm-toolbar {
  background: #FFFFFF;
  border: none;
  position: relative;
  padding: 12px 0;
}

/* Toolbar Content */
.comm-toolbar-content {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Action Groups */
.comm-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.comm-action-group {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  background: transparent;
  border: none;
  position: relative;
}

.comm-action-group-label {
  display: none;
}

/* Botões Editorial Corporate (Kanban Style) */
.comm-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 11px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
  overflow: hidden;
}
.comm-btn i {
  font-size: 14px;
  color: #6B7280;
  transition: color 0.15s ease;
}
.comm-btn span {
  color: #4B5563;
}

.comm-btn:hover {
  background: #F9FAFB;
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.comm-btn:hover i {
  color: #1A1A1A;
}
.comm-btn:hover span {
  color: #1A1A1A;
}

.comm-btn:active {
  background: #F3F4F6;
}

/* Botões Primários */
.comm-btn-primary {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.comm-btn-primary i {
  color: #FFFFFF;
}
.comm-btn-primary span {
  color: #FFFFFF;
}

.comm-btn-primary:hover {
  background: #374151;
  border-color: #374151;
  color: #FFFFFF;
}

/* Botão Success */
.comm-btn--success {
  background: #22C55E;
  border-color: #22C55E;
  color: #FFFFFF;
}
.comm-btn--success i {
  color: #FFFFFF;
}
.comm-btn--success span {
  color: #FFFFFF;
}

.comm-btn--success:hover {
  background: #16A34A;
  border-color: #16A34A;
  color: #FFFFFF;
}

/* Contador de Selecionados */
.comm-selected-counter {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #1A1A1A;
  color: #FFFFFF;
  border-radius: 4px;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 11px;
}

.comm-selected-counter i {
  font-size: 12px;
  color: #FFFFFF;
}

.comm-selected-count {
  font-size: 12px;
  font-weight: 700;
}

/* Badge Novo */
.comm-new-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #EF4444;
  color: #FFFFFF;
  padding: 2px 5px;
  border-radius: 4px;
  font-size: 8px;
  font-weight: 700;
}

/* Divider */
.comm-divider {
  width: 1px;
  height: 24px;
  background: #E5E7EB;
  margin: 0 4px;
}

/* Botões de Ação */
.comm-toolbar-secondary {
  display: flex;
  gap: 6px;
  align-items: center;
}

.comm-btn-approve {
  background: #22C55E;
  border-color: #22C55E;
  color: #FFFFFF;
}
.comm-btn-approve i {
  color: #FFFFFF;
}

.comm-btn-approve:hover {
  background: #16A34A;
  border-color: #16A34A;
  color: #FFFFFF;
}
.comm-btn-approve:hover i {
  color: #FFFFFF;
}

.comm-btn-reject {
  background: #EF4444;
  border-color: #EF4444;
  color: #FFFFFF;
}
.comm-btn-reject i {
  color: #FFFFFF;
}

.comm-btn-reject:hover {
  background: #DC2626;
  border-color: #DC2626;
  color: #FFFFFF;
}
.comm-btn-reject:hover i {
  color: #FFFFFF;
}

/* Estados Desabilitados */
.comm-btn:disabled,
.comm-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  background: #F9FAFB;
  border-color: #E5E7EB;
  color: #D1D5DB;
}
.comm-btn:disabled i,
.comm-btn[disabled] i {
  color: #D1D5DB;
}
.comm-btn:disabled span,
.comm-btn[disabled] span {
  color: #D1D5DB;
}

.comm-btn:disabled:hover,
.comm-btn[disabled]:hover {
  background: #F9FAFB;
  border-color: #E5E7EB;
  color: #D1D5DB;
}

.comm-btn-approve:disabled,
.comm-btn-approve[disabled],
.comm-btn-reject:disabled,
.comm-btn-reject[disabled] {
  background: #F3F4F6;
  border-color: #E5E7EB;
  color: #D1D5DB;
}

/* Responsividade */
@media (max-width: 768px) {
  .comm-toolbar {
    padding: 12px 16px;
  }
  .comm-toolbar-content {
    gap: 12px;
  }
  .comm-btn {
    padding: 6px 10px;
    font-size: 10px;
  }
  .comm-btn span {
    display: none;
  }
  .comm-btn i {
    font-size: 16px;
  }
  .comm-divider {
    display: none;
  }
}
/* Seção de Filtros */
.lv-hiring-app-filters {
  background: white;
  border-radius: 12px;
  padding: 25px;
  margin-bottom: 25px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--grey-light);
}

.lv-hiring-app-filter-row {
  display: grid;
  grid-template-columns: 2fr repeat(4, 1fr);
  gap: 20px;
  align-items: end;
}

.lv-hiring-app-filter-group {
  position: relative;
}

.lv-hiring-app-filter-label {
  display: block;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--grey-dark);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Search Input Melhorado */
.search-input-group {
  position: relative;
  display: flex;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid #6B7280;
  transition: all 0.3s ease;
  overflow: hidden;
}

.search-input-group input {
  border: none;
}

/* Select Customizado */
.lv-hiring-app-filter-group select {
  width: 100%;
  padding: 12px 16px;
  background: var(--light);
  border: 2px solid var(--grey-light);
  border-radius: 10px;
  font-size: 15px;
  color: var(--primary);
  font-family: "Rubik", sans-serif;
  cursor: pointer;
  transition: all 0.3s;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232f193d' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}

.lv-hiring-app-filter-group select:hover {
  border-color: #1A1A1A;
}

.lv-hiring-app-filter-group select:focus {
  outline: none;
  border-color: #1A1A1A;
  box-shadow: 0 0 0 3px rgba(14, 104, 117, 0.1);
}

/* Checkbox Melhorado */
.lv-hiring-app-select-all {
  background: var(--light);
  padding: 15px 20px;
  border-radius: 10px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--grey-light);
}

.lv-hiring-app-select-all label {
  font-weight: 600;
  color: var(--primary);
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.lv-hiring-app-select-all .form-check-input {
  width: 20px;
  height: 20px;
  border: 2px solid var(--grey);
  border-radius: 4px;
  background: white;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
  background-image: none !important;
}
.lv-hiring-app-select-all .form-check-input:hover {
  border-color: #1A1A1A;
  transform: scale(1.05);
}
.lv-hiring-app-select-all .form-check-input:checked {
  background: #1A1A1A;
  border-color: #1A1A1A;
}
.lv-hiring-app-select-all .form-check-input:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  font-size: 14px;
  animation: checkmark 0.3s ease;
}

@keyframes checkmark {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
/* Lista de Candidatos */
.lv-hiring-app-candidate-list {
  background: white;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--grey-light);
}

/* Card de Candidato Redesenhado */
.lv-hiring-app-candidate-card {
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: auto auto 1fr 120px 120px 80px auto;
  gap: 20px;
  align-items: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.lv-hiring-app-candidate-card:hover {
  border-color: #1A1A1A;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.lv-hiring-app-candidate-card.selected {
  background: linear-gradient(135deg, rgba(14, 104, 117, 0.03), rgba(217, 196, 17, 0.03));
  border-color: #1A1A1A;
}

.lv-hiring-app-candidate-card--approved {
  background: linear-gradient(135deg, rgba(76, 175, 80, 0.05), rgba(76, 175, 80, 0.02));
  border-color: #4CAF50;
}

/* Ribbon de Aprovado */
.lv-hiring-app-approval-ribbon {
  position: absolute;
  top: -2px;
  right: 20px;
  background: #4CAF50;
  color: white;
  padding: 6px 20px;
  font-family: "Space Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.lv-hiring-app-approval-ribbon::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 10px 0 0;
  border-color: #388E3C transparent transparent transparent;
}

.lv-hiring-app-approval-ribbon::after {
  content: "";
  position: absolute;
  bottom: -6px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 0 10px;
  border-color: #388E3C transparent transparent transparent;
}

/* Avatar Melhorado */
.lv-hiring-app-avatar {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #1A1A1A, var(--tertiary));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Space Mono", monospace;
  font-weight: 700;
  font-size: 20px;
  color: white;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.lv-hiring-app-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.lv-hiring-app-avatar span {
  position: relative;
  z-index: 1;
}

/* Informações do Candidato */
.lv-hiring-app-info {
  flex: 1;
}

.lv-hiring-app-name {
  font-family: "Space Mono", monospace;
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
  margin: 0 0 4px 0;
  cursor: pointer;
  transition: color 0.2s;
}

.lv-hiring-app-name:hover {
  color: #1A1A1A;
}

.lv-hiring-app-location {
  font-size: 14px;
  color: var(--grey-dark);
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lv-hiring-app-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.tag {
  background: var(--tertiary);
  color: var(--primary);
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Space Mono", monospace;
}

.tag i {
  font-size: 10px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.tag i:hover {
  opacity: 1;
}

/* Source Badge */
.lv-hiring-app-source {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--light);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary);
}

.lv-hiring-app-source svg {
  color: #1A1A1A;
}

/* Status Badge Melhorado */
.lv-hiring-app-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
}

.lv-hiring-app-status.status-new {
  background: rgba(52, 152, 219, 0.1);
  color: #3498db;
}

.lv-hiring-app-status.status-analysis {
  background: rgba(243, 156, 18, 0.1);
  color: #f39c12;
}

.lv-hiring-app-status.status-interview {
  background: rgba(155, 89, 182, 0.1);
  color: #9b59b6;
}

.lv-hiring-app-status.status-approved {
  background: rgba(76, 175, 80, 0.1);
  color: #4CAF50;
}

/* Attachment Indicator */
.lv-hiring-app-attachment {
  width: 40px;
  height: 40px;
  background: var(--light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grey-dark);
}

/* Actions Dropdown Melhorado */
.lv-hiring-app-actions .dropdown {
  position: relative;
}

.btn-retro {
  background: #1A1A1A;
  color: var(--primary);
  border: 2px solid var(--primary);
  padding: 10px 20px;
  border-radius: 8px;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.btn-retro:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.15);
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border: 2px solid var(--primary);
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  padding: 8px;
  min-width: 200px;
  margin-top: 8px;
  z-index: 1000;
}

.dropdown-item {
  display: block;
  padding: 10px 16px;
  color: var(--primary);
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s;
  font-weight: 500;
}

.dropdown-item:hover {
  background: var(--light);
  color: #1A1A1A;
}

/* Skeleton Loading */
.lv-hiring-app-skeleton {
  background: white;
  opacity: 0.7;
}

.skeleton-pulse {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

.skeleton-line {
  height: 12px;
  border-radius: 6px;
  margin-bottom: 8px;
}

.skeleton-line-title {
  height: 16px;
  width: 180px;
}

.skeleton-line-short {
  width: 120px;
}

.skeleton-box {
  width: 100px;
  height: 36px;
  border-radius: 8px;
}

.skeleton-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.skeleton-button {
  width: 120px;
  height: 40px;
  border-radius: 8px;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* Empty State Melhorado */
.lv-hiring-app-empty {
  text-align: center;
  padding: 80px 40px;
}

.lv-hiring-app-empty-icon {
  width: 120px;
  height: 120px;
  background: var(--light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 30px;
  color: var(--grey);
}

.lv-hiring-app-empty-icon svg {
  width: 60px;
  height: 60px;
}

.lv-hiring-app-empty-title {
  font-family: "Space Mono", monospace;
  font-size: 24px;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 12px;
}

.lv-hiring-app-empty-text {
  font-size: 16px;
  color: var(--grey-dark);
  max-width: 400px;
  margin: 0 auto 30px;
  line-height: 1.6;
}

.lv-hiring-app-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #1A1A1A;
  color: var(--primary);
  border: 2px solid var(--primary);
  border-radius: 8px;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
}

.lv-hiring-app-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.15);
}

/* Paginação Estilo Mailchimp */
.lv-hiring-app-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  padding: 20px 30px;
  background: #f3f3f3;
  border-radius: 10px;
}

.lv-hiring-app-pagination-info {
  font-size: 14px;
  color: var(--grey-dark);
  font-weight: 500;
}

.lv-hiring-app-pagination-controls {
  display: flex;
  gap: 8px;
  align-items: center;
}

.lv-hiring-app-pagination-btn {
  padding: 8px 16px;
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 8px;
  color: var(--primary);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Space Mono", monospace;
}

.lv-hiring-app-pagination-btn:hover:not(.disabled) {
  border-color: #1A1A1A;
  background: var(--light);
}

.lv-hiring-app-pagination-btn-active {
  background: #1A1A1A;
  color: white;
  border-color: #1A1A1A;
}

.lv-hiring-app-pagination-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Responsividade */
@media (max-width: 1200px) {
  .lv-hiring-app-candidate-card {
    grid-template-columns: auto auto 1fr auto;
    grid-template-rows: auto auto;
  }
  .lv-hiring-app-source,
  .lv-hiring-app-status,
  .lv-hiring-app-attachment {
    grid-column: span 1;
  }
}
@media (max-width: 768px) {
  .lv-hiring-app-filter-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .lv-hiring-app-candidate-card {
    grid-template-columns: auto 1fr;
    gap: 15px;
    padding: 15px;
  }
  .lv-hiring-app-info,
  .lv-hiring-app-source,
  .lv-hiring-app-status,
  .lv-hiring-app-attachment,
  .lv-hiring-app-actions {
    grid-column: span 2;
  }
  .lv-hiring-app-pagination {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
  }
  .lv-hiring-app-pagination-controls {
    justify-content: center;
  }
}
/* Animações de Entrada */
.lv-hiring-app-candidate-card {
  animation: fadeInUp 0.5s ease forwards;
  opacity: 0;
}

.lv-hiring-app-candidate-card:nth-child(1) {
  animation-delay: 0.05s;
}

.lv-hiring-app-candidate-card:nth-child(2) {
  animation-delay: 0.1s;
}

.lv-hiring-app-candidate-card:nth-child(3) {
  animation-delay: 0.15s;
}

.lv-hiring-app-candidate-card:nth-child(4) {
  animation-delay: 0.2s;
}

.lv-hiring-app-candidate-card:nth-child(5) {
  animation-delay: 0.25s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
  from {
    opacity: 0;
    transform: translateY(20px);
  }
}
/* ===================================
              TABELA DE CANDIDATOS
           =================================== */
/* Container da Tabela */
.lv-hiring-table-container {
  background: white;
  border: 2px solid #e1e4e8;
  overflow: hidden;
}

/* Header com Busca Global */
.lv-hiring-table-header {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  padding: 20px;
  position: relative;
}

.lv-hiring-table-header::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(#1A1A1A 1px, transparent 1px), linear-gradient(to right, #1A1A1A 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.1;
  top: 0;
  left: 0;
}

/* ===================================
   BUSCADOR NA TOOLBAR - Editorial Corporate
=================================== */
/* Container do Buscador */
.lv-hiring-search-bar {
  position: relative;
  flex: 1;
  max-width: 400px;
  min-width: 250px;
}

/* Input de Busca */
.lv-hiring-search-input {
  width: 100%;
  padding: 10px 16px 10px 42px;
  background: #FAFAFA;
  border: 1px solid #D1D5DB;
  border-radius: 0;
  font-size: 13px;
  color: #1A1A1A;
  font-family: "Space Mono", monospace;
  transition: all 0.2s ease;
  height: 100%;
}

.lv-hiring-search-input:focus {
  outline: none;
  border-color: #1A1A1A;
  background: #FFFFFF;
}

.lv-hiring-search-input::placeholder {
  color: #9CA3AF;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Ícone de Busca */
.lv-hiring-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  font-size: 16px;
  pointer-events: none;
}

/* Ajustes na Toolbar para acomodar o buscador - Editorial Corporate */
.comm-toolbar-content {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  padding: 16px 0;
}

/* Ordem dos elementos na toolbar */
.comm-toolbar-content > * {
  flex-shrink: 0;
}

/* Responsividade */
@media (max-width: 1200px) {
  .lv-hiring-search-bar {
    order: -1;
    flex: 1 1 100%;
    max-width: none;
    margin-bottom: 12px;
  }
}
@media (max-width: 768px) {
  .comm-toolbar-content {
    flex-direction: column;
    gap: 12px;
  }
  .lv-hiring-search-bar {
    width: 100%;
    max-width: none;
    margin-bottom: 0;
  }
  .lv-hiring-search-input {
    font-size: 16px;
  }
}
/* Estados do Buscador - Editorial Corporate */
.lv-hiring-search-bar.has-value .lv-hiring-search-input {
  border-color: #1A1A1A;
  background: #FFFFFF;
}

/* Botão de limpar */
.lv-hiring-search-clear {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6B7280;
  cursor: pointer;
  padding: 5px;
  display: none;
  transition: color 0.2s;
}

.lv-hiring-search-bar.has-value .lv-hiring-search-clear {
  display: block;
}

.lv-hiring-search-clear:hover {
  color: #1A1A1A;
}

/* Integração com os outros elementos da toolbar - Editorial Corporate */
.comm-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.comm-toolbar-secondary {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* Garante alinhamento vertical consistente */
.lv-hiring-search-bar,
.comm-btn,
.comm-action-group {
  height: 44px;
}

.comm-btn {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
}

/* Contador de selecionados - Editorial Corporate */
.comm-selected-info {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #1A1A1A;
  color: #FFFFFF;
  border-radius: 0;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  height: auto;
}

/* Tabela Principal */
.lv-hiring-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "Rubik", sans-serif;
}

/* Header da Tabela */
.lv-hiring-table thead {
  background: var(--light);
  border-bottom: 2px solid var(--grey-light);
}

.lv-hiring-table th {
  padding: 0;
  font-weight: 600;
  text-align: left;
  position: sticky;
  top: 0;
  z-index: 10;
  background: #f3f3f3;
  border-bottom: 2px solid #e1e4e8;
}

/* Célula do Header com Filtro */
.lv-table-header-cell {
  padding: 15px;
}

.lv-table-header-label {
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  color: var(--grey-dark);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-table-header-label i {
  font-size: 14px;
  color: #1A1A1A;
}

/* Select All Checkbox */
.lv-table-select-all {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lv-table-checkbox {
  width: 22px;
  height: 22px;
  border: 2px solid var(--grey);
  border-radius: 4px;
  background: white;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
}

.lv-table-checkbox:hover {
  border-color: #1A1A1A;
  transform: scale(1.05);
}

.lv-table-checkbox.checked {
  background: #1A1A1A;
  border-color: #1A1A1A;
}

.lv-table-checkbox.checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  font-size: 14px;
}

/* Filtros Inline */
.lv-table-filter-select {
  width: 100%;
  padding: 8px 12px;
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 8px;
  font-size: 14px;
  color: var(--primary);
  cursor: pointer;
  transition: all 0.3s;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232f193d' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 35px;
}

.lv-table-filter-select:hover {
  border-color: #1A1A1A;
}

.lv-table-filter-select:focus {
  outline: none;
  border-color: #1A1A1A;
  box-shadow: 0 0 0 3px rgba(14, 104, 117, 0.1);
}

/* Body da Tabela */
.lv-hiring-table tbody tr {
  border-bottom: 1px solid #e1e4e8;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.lv-hiring-table tbody tr:hover {
  background: rgba(14, 104, 117, 0.02);
}

.lv-hiring-table tbody tr.selected {
  background: linear-gradient(90deg, rgba(14, 104, 117, 0.05) 0%, rgba(217, 196, 17, 0.05) 100%);
}

.lv-hiring-table tbody tr.approved {
  background: linear-gradient(90deg, rgba(76, 175, 80, 0.05) 0%, rgba(76, 175, 80, 0.02) 100%);
}

.lv-hiring-table td {
  padding: 16px 15px;
  vertical-align: middle;
}

/* Célula de Checkbox */
.lv-table-cell-checkbox {
  width: 50px;
  text-align: center;
}

/* Sistema de Favoritos (Estrelas) */
.lv-table-rating {
  display: flex;
  gap: 4px;
  justify-content: center;
}

.lv-star {
  font-size: 18px;
  color: var(--grey-light);
  cursor: pointer;
  transition: all 0.2s;
}

.lv-star:hover,
.lv-star.hover {
  color: #ff8847;
  transform: scale(1.1);
}

.lv-star.filled {
  color: #ff8847;
}

/* Célula de Candidato */
.lv-table-candidate-cell {
  display: flex;
  align-items: center;
  gap: 15px;
}

.lv-table-avatar {
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, #1A1A1A, var(--tertiary));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Space Mono", monospace;
  font-weight: 700;
  font-size: 16px;
  color: white;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.lv-table-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.lv-table-candidate-info {
  flex: 1;
}

.lv-table-candidate-name {
  font-weight: 600;
  color: var(--primary);
  font-size: 15px;
  margin-bottom: 2px;
  cursor: pointer;
  transition: color 0.2s;
}

.lv-table-candidate-name:hover {
  color: #1A1A1A;
}

.lv-table-candidate-contact {
  font-size: 13px;
  color: var(--grey-dark);
  display: flex;
  align-items: center;
  gap: 12px;
}

.lv-table-candidate-contact i {
  font-size: 12px;
  color: #1A1A1A;
}

/* Tags Editáveis */
.lv-table-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-height: 30px;
}

.lv-table-tag {
  background: #1A1A1A;
  color: #FFFFFF;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  font-family: "Space Mono", monospace;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
}

.lv-table-tag:hover {
  background: #4B5563;
  color: white;
}

.lv-table-tag-remove {
  cursor: pointer;
  font-size: 14px;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.lv-table-tag-remove:hover {
  opacity: 1;
}

/* Input de Nova Tag */
.lv-table-tag-input {
  border: 2px dashed var(--grey-light);
  background: transparent;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-family: "Space Mono", monospace;
  color: var(--primary);
  width: 100px;
  transition: all 0.2s;
}

.lv-table-tag-input:focus {
  outline: none;
  border-color: #1A1A1A;
  background: var(--light);
}

.lv-table-add-tag {
  background: transparent;
  border: 2px dashed var(--grey-light);
  color: var(--grey-dark);
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.lv-table-add-tag:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
  background: var(--light);
}

/* Aderência */
.lv-table-adherence {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lv-adherence-bar {
  width: 100px;
  height: 8px;
  background: var(--grey-light);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.lv-adherence-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
  position: relative;
  overflow: hidden;
}

.lv-adherence-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.lv-adherence-fill.low {
  background: #f44336;
  width: 30%;
}

.lv-adherence-fill.medium {
  background: #ff9800;
  width: 60%;
}

.lv-adherence-fill.high {
  background: #4caf50;
  width: 90%;
}

.lv-adherence-value {
  font-size: 12px;
  font-weight: 700;
  margin-left: 10px;
  font-family: "Space Mono", monospace;
}

.lv-adherence-value.low {
  color: #f44336;
}

.lv-adherence-value.medium {
  color: #ff9800;
}

.lv-adherence-value.high {
  color: #4caf50;
}

/* Data de Inscrição */
.lv-table-date {
  font-size: 14px;
  color: var(--grey-dark);
  text-align: center;
}

.lv-table-date-day {
  font-weight: 700;
  color: var(--primary);
}

.lv-table-date-time {
  font-size: 12px;
  color: var(--grey);
}

/* Status Badge */
.lv-table-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.lv-table-status.new {
  background: rgba(52, 152, 219, 0.1);
  color: #3498db;
}

.lv-table-status.analysis {
  background: rgba(243, 156, 18, 0.1);
  color: #f39c12;
}

.lv-table-status.interview {
  background: rgba(155, 89, 182, 0.1);
  color: #9b59b6;
}

.lv-table-status.approved {
  background: rgba(76, 175, 80, 0.1);
  color: #4CAF50;
}

/* Origem */
.lv-table-source {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  justify-content: center;
}

.lv-table-source i {
  font-size: 16px;
  color: #1A1A1A;
}

/* Loading Skeleton */
.lv-table-skeleton {
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.skeleton-row td {
  padding: 20px 15px;
}

.skeleton-box {
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
}

/* Empty State */
.lv-table-empty {
  padding: 80px 40px;
  text-align: center;
}

.lv-table-empty-icon {
  font-size: 48px;
  color: var(--grey-light);
  margin-bottom: 20px;
}

.lv-table-empty-title {
  font-family: "Space Mono", monospace;
  font-size: 24px;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 12px;
}

.lv-table-empty-text {
  font-size: 16px;
  color: var(--grey-dark);
  max-width: 400px;
  margin: 0 auto;
}

/* Responsividade */
@media (max-width: 1200px) {
  .lv-hiring-table {
    font-size: 14px;
  }
  .lv-table-candidate-contact {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  /* Transforma em cards no mobile */
  .lv-hiring-table thead {
    display: none;
  }
  .lv-hiring-table tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 2px solid var(--grey-light);
    border-radius: 12px;
    padding: 15px;
  }
  .lv-hiring-table td {
    display: block;
    padding: 8px 0;
    border: none;
  }
  .lv-hiring-table td:before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--grey-dark);
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    text-transform: uppercase;
  }
}
/* Container para search bar e filtro */
.lv-hiring-search-container {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Ajuste na search bar para flex */
.lv-hiring-search-bar {
  flex: 1;
  position: relative;
}

/* Botão de filtro moderno/corporativo */
.lv-hiring-filter-btn-modern {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  background-color: #f3f3f3;
  color: #495057;
  border: 2px solid #e1e4e8;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.lv-hiring-filter-btn-modern:hover {
  background-color: #e9ecef;
  border-color: #adb5bd;
  color: #212529;
}

.lv-hiring-filter-btn-modern:active {
  background-color: #dee2e6;
}

/* Estado quando há filtros ativos */
.lv-hiring-filter-btn-modern.active {
  background-color: #0056b3;
  color: white;
  border-color: #0056b3;
}

.lv-hiring-filter-btn-modern.active .filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: white;
  color: #0056b3;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  margin-left: 8px;
}

/* Versão apenas ícone (mais minimalista) */
.lv-hiring-filter-btn-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: #6c757d;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.lv-hiring-filter-btn-icon:hover {
  background-color: #f8f9fa;
  color: #495057;
  border-color: #adb5bd;
}

.lv-hiring-filter-btn-icon.active {
  background-color: #0056b3;
  color: white;
  border-color: #0056b3;
}

/* Indicador de filtros ativos (bolinha vermelha) */
.lv-hiring-filter-btn-icon.has-filters::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  width: 12px;
  height: 12px;
  background-color: #dc3545;
  border-radius: 50%;
  border: 2px solid white;
}

/* Responsividade */
@media (max-width: 768px) {
  .lv-hiring-filter-btn-modern .filter-label {
    display: none;
  }
  .lv-hiring-filter-btn-modern {
    padding: 12px;
  }
}
/* Colunas ordenáveis */
.lv-table-header-cell.lv-sortable {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease;
}

.lv-table-header-cell.lv-sortable:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

.lv-table-header-cell.lv-sortable .lv-table-header-label {
  position: relative;
  padding-right: 20px;
}

/* Ícone de ordenação */
.lv-sort-icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #adb5bd;
  font-size: 12px;
  transition: all 0.2s ease;
}

/* Estado padrão (não ordenado) */
.lv-sortable .lv-sort-icon i::before {
  content: "\f282"; /* bi-chevron-expand */
}

/* Estado ordenação ascendente */
.lv-sortable.lv-sort-asc .lv-sort-icon {
  color: #0056b3;
}

.lv-sortable.lv-sort-asc .lv-sort-icon i::before {
  content: "\f286"; /* bi-chevron-up */
}

/* Estado ordenação descendente */
.lv-sortable.lv-sort-desc .lv-sort-icon {
  color: #0056b3;
}

.lv-sortable.lv-sort-desc .lv-sort-icon i::before {
  content: "\f280"; /* bi-chevron-down */
}

/* Indicador visual adicional para coluna ativa */
.lv-sortable.lv-sort-asc,
.lv-sortable.lv-sort-desc {
  background-color: rgba(0, 86, 179, 0.04);
}

/* Alternativa com ícones de seta mais sutis */
.lv-sort-indicator {
  display: inline-flex;
  flex-direction: column;
  margin-left: 6px;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.lv-sortable:hover .lv-sort-indicator {
  opacity: 0.8;
}

.lv-sort-indicator span {
  font-size: 8px;
  line-height: 1;
  color: #6c757d;
}

.lv-sortable.lv-sort-asc .lv-sort-indicator .sort-up,
.lv-sortable.lv-sort-desc .lv-sort-indicator .sort-down {
  color: #0056b3;
  opacity: 1;
}

/* Versão alternativa com design mais minimalista */
.lv-sort-minimal {
  margin-left: 8px;
  font-size: 10px;
  color: #6c757d;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.lv-sortable:hover .lv-sort-minimal {
  opacity: 0.5;
}

.lv-sortable.lv-sort-asc .lv-sort-minimal,
.lv-sortable.lv-sort-desc .lv-sort-minimal {
  opacity: 1;
  color: #0056b3;
}

/* ===================================
   STEP INFO - Titulo da Etapa
=================================== */
/* Step Info - Editorial Corporate (Kanban Style) */
.step-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.step-info__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Space Mono", monospace;
  color: #1A1A1A;
  white-space: nowrap;
}

.step-info__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 8px;
  background: #F3F4F6;
  color: #4B5563;
  font-size: 11px;
  font-weight: 600;
  font-family: "Space Mono", monospace;
  border-radius: 4px;
}

/* ===================================
   VIEW SWITCH - Troca de Visualizacao
=================================== */
.view-switch {
  display: flex;
  align-items: center;
  gap: 10px;
}

.view-switch__label {
  font-family: "Space Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--grey-dark);
  font-weight: 600;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.view-switch__buttons {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #dfe1e6;
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

.view-switch__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  border: none;
  border-radius: 4px;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  color: #5e6c84;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  text-decoration: none;
}

.view-switch__btn i {
  font-size: 14px;
}

.view-switch__btn:hover {
  background: #f4f5f7;
  color: #172b4d;
  text-decoration: none;
}

.view-switch__btn.active {
  background: #0052cc;
  color: #fff;
}

.view-switch__btn.active:hover {
  background: #0747a6;
  color: #fff;
  text-decoration: none;
}

/* Responsividade do Switch */
@media (max-width: 992px) {
  .step-info__title {
    font-size: 14px;
  }
  .step-info__count {
    min-width: 24px;
    height: 22px;
    font-size: 11px;
  }
  .view-switch__label {
    display: none;
  }
  .view-switch__btn {
    padding: 6px 10px;
  }
  .view-switch__btn span {
    display: none;
  }
}
@media (max-width: 768px) {
  .step-info {
    order: -1;
    flex: 1 1 100%;
    margin-bottom: 10px;
    justify-content: center;
  }
  .step-info__title {
    font-size: 13px;
  }
  .view-switch {
    order: -1;
    flex: 1 1 100%;
    justify-content: center;
    margin-bottom: 10px;
  }
}
/* ===================================
   STATUS BADGES - Badges de status do candidato
=================================== */
.ats-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.ats-status-badge--pendent {
  background: rgba(255, 153, 31, 0.15);
  color: #ff991f;
}

.ats-status-badge--progress {
  background: rgba(0, 82, 204, 0.1);
  color: #0052cc;
}

.ats-status-badge--approved {
  background: rgba(0, 135, 90, 0.1);
  color: #00875a;
}

.ats-status-badge--reproved {
  background: rgba(222, 53, 11, 0.1);
  color: #de350b;
}

/* Stage Badge */
.ats-stage-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(107, 119, 140, 0.1);
  color: #6b778c;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

/* ===================================
   BOTÕES ESCUROS E ICONES - Editorial Corporate
=================================== */
/* Botões Escuros para Comunicação */
.comm-btn--dark {
  background: #374151;
  border-color: #374151;
  color: #FFFFFF;
}
.comm-btn--dark i {
  color: #FFFFFF;
}
.comm-btn--dark span {
  color: #FFFFFF;
}

.comm-btn--dark:hover {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.comm-btn--dark:hover i {
  color: #FFFFFF;
}
.comm-btn--dark:hover span {
  color: #FFFFFF;
}

.comm-btn--dark:disabled,
.comm-btn--dark[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
  background: #D1D5DB;
  border-color: #D1D5DB;
  color: #F3F4F6;
}
.comm-btn--dark:disabled i,
.comm-btn--dark[disabled] i {
  color: #F3F4F6;
}
.comm-btn--dark:disabled span,
.comm-btn--dark[disabled] span {
  color: #F3F4F6;
}

/* Botões apenas com ícone */
.comm-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}
.comm-btn-icon i {
  font-size: 18px;
}

.comm-btn-icon:hover {
  background: #F9FAFB;
  border-color: #1A1A1A;
  color: #1A1A1A;
}

.comm-btn-icon:active {
  background: #F3F4F6;
}

/* Spacer Flex */
.comm-spacer {
  flex: 1;
  min-width: 20px;
}

/* ===================================
   FILTRO DE COLUNAS - Editorial Corporate
=================================== */
.comm-column-filter {
  position: static;
}

.column-filter-dropdown {
  position: fixed;
  top: auto;
  right: 20px;
  margin-top: 8px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  min-width: 220px;
  z-index: 9999;
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.column-filter-dropdown.show {
  display: block;
  opacity: 1;
  visibility: visible;
}

.column-filter-header {
  padding: 12px 16px;
  border-bottom: 1px solid #F3F4F6;
  font-family: "Space Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6B7280;
}

.column-filter-body {
  padding: 8px 0;
  max-height: 300px;
  overflow-y: auto;
}

.column-filter-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.15s ease;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  color: #4B5563;
}
.column-filter-item:hover {
  background: #FAFAFA;
}
.column-filter-item input[type=checkbox] {
  width: 16px;
  height: 16px;
  border: 2px solid #D1D5DB;
  border-radius: 3px;
  cursor: pointer;
  accent-color: #1A1A1A;
}
.column-filter-item span {
  flex: 1;
}

/* ===================================
   PAINEL DE TAGS - Editorial Corporate
=================================== */
.tags-panel {
  background: #FAFAFA;
  border-top: 1px solid #F3F4F6;
  border-bottom: 1px solid #F3F4F6;
  padding: 0;
  margin: 0 -15px;
  animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tags-panel-content {
  padding: 16px 20px;
}

.tags-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.tags-panel-title {
  font-family: "Space Mono", monospace;
  font-size: 13px;
  font-weight: 600;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tags-panel-title i {
  font-size: 16px;
  color: #6B7280;
}
.tags-panel-title #tagsSelectedCount {
  background: #1A1A1A;
  color: #FFFFFF;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
}

.tags-panel-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.15s ease;
}
.tags-panel-close:hover {
  background: #F3F4F6;
  color: #1A1A1A;
}
.tags-panel-close i {
  font-size: 16px;
}

.tags-panel-body {
  margin-bottom: 16px;
}

.tags-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.tags-input {
  flex: 1;
  padding: 10px 14px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  color: #1A1A1A;
  transition: all 0.15s ease;
}
.tags-input:focus {
  outline: none;
  border-color: #1A1A1A;
}
.tags-input::placeholder {
  color: #D1D5DB;
}

.tags-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #1A1A1A;
  border: none;
  border-radius: 4px;
  color: #FFFFFF;
  cursor: pointer;
  transition: all 0.15s ease;
}
.tags-add-btn:hover {
  background: #374151;
}
.tags-add-btn i {
  font-size: 18px;
}

.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 36px;
}

.tag-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  color: #4B5563;
  animation: fadeIn 0.2s ease-out;
}
.tag-item .tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background: transparent;
  border: none;
  color: #D1D5DB;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.15s ease;
}
.tag-item .tag-remove:hover {
  background: #EF4444;
  color: #FFFFFF;
}
.tag-item .tag-remove i {
  font-size: 10px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.tags-panel-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #F3F4F6;
}

/* Botões do painel de tags */
.tags-panel .btn-action {
  padding: 10px 20px;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #4B5563;
}
.tags-panel .btn-action:hover {
  background: #F9FAFB;
  border-color: #1A1A1A;
}

.tags-panel .btn-approve {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tags-panel .btn-approve:hover {
  background: #374151;
}
.tags-panel .btn-approve i {
  font-size: 14px;
}

/* ===================================
   SIDEBAR TOGGLE - Editorial Corporate
=================================== */
/* Botão de toggle ativo */
#btn-toggle-sidebar.active {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}

/* Sidebar oculta */
.ats-pipeline--hidden {
  display: none !important;
}

/* Layout principal quando sidebar está oculta */
.hiring-layout__sidebar.hidden {
  display: none;
}

.hiring-layout__content.full-width {
  max-width: 100%;
}

/* Animação suave para toggle */
.hiring-layout__sidebar {
  transition: width 0.2s ease, margin 0.2s ease, opacity 0.2s ease;
}

/* Estado quando content está full */
.hiring-main-content--full {
  width: 100% !important;
  max-width: 100% !important;
}

/*
 * Division Component
 *
 * Componente de divisores customizáveis para separar conteúdo
 * de forma visual e consistente com o design system.
 */
.lv-division {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #f0f2f5;
  margin: 1.5rem 0;
  position: relative;
  clear: both;
  border: none;
}
.lv-division-sm {
  margin: 0.75rem 0;
}
.lv-division-md {
  margin: 1.5rem 0;
}
.lv-division-lg {
  margin: 2.5rem 0;
}
.lv-division-thin {
  height: 1px;
}
.lv-division-medium {
  height: 2px;
}
.lv-division-thick {
  height: 4px;
}
.lv-division-primary {
  background-color: #2f193d;
}
.lv-division-secondary {
  background-color: #0e6875;
}
.lv-division-tertiary {
  background-color: #ff7043;
}
.lv-division-success {
  background-color: #28a745;
}
.lv-division-danger {
  background-color: #dc3545;
}
.lv-division-warning {
  background-color: #ffc107;
}
.lv-division-info {
  background-color: #17a2b8;
}
.lv-division-light {
  background-color: #f8f9fa;
}
.lv-division-dark {
  background-color: #343a40;
}
.lv-division-white {
  background-color: #ffffff;
}
.lv-division-custom {
  background-color: var(--division-color, #f0f2f5);
}
.lv-division-text {
  display: flex;
  align-items: center;
  text-align: center;
  height: auto;
  background: none;
  border: none;
  margin: 2rem 0;
}
.lv-division-text::before, .lv-division-text::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #f0f2f5;
}
.lv-division-text span {
  padding: 0 1rem;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}
.lv-division-text.lv-division-primary::before, .lv-division-text.lv-division-primary::after {
  background-color: #2f193d;
}
.lv-division-text.lv-division-secondary::before, .lv-division-text.lv-division-secondary::after {
  background-color: #0e6875;
}
.lv-division-text.lv-division-tertiary::before, .lv-division-text.lv-division-tertiary::after {
  background-color: #ff7043;
}
.lv-division-text.lv-division-success::before, .lv-division-text.lv-division-success::after {
  background-color: #28a745;
}
.lv-division-text.lv-division-danger::before, .lv-division-text.lv-division-danger::after {
  background-color: #dc3545;
}
.lv-division-text.lv-division-warning::before, .lv-division-text.lv-division-warning::after {
  background-color: #ffc107;
}
.lv-division-text.lv-division-info::before, .lv-division-text.lv-division-info::after {
  background-color: #17a2b8;
}
.lv-division-text.lv-division-light::before, .lv-division-text.lv-division-light::after {
  background-color: #f8f9fa;
}
.lv-division-text.lv-division-dark::before, .lv-division-text.lv-division-dark::after {
  background-color: #343a40;
}
.lv-division-text.lv-division-white::before, .lv-division-text.lv-division-white::after {
  background-color: #ffffff;
}
.lv-division-dashed {
  background: none;
  height: 0;
  border-top: 1px dashed #dee2e6;
}
.lv-division-dotted {
  background: none;
  height: 0;
  border-top: 1px dotted #dee2e6;
}
.lv-division-double {
  background: none;
  height: 4px;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
}
.lv-division-gradient {
  background: linear-gradient(90deg, transparent, #2f193d, transparent);
}
.lv-division-gradient-left {
  background: linear-gradient(90deg, #2f193d, transparent);
}
.lv-division-gradient-right {
  background: linear-gradient(90deg, transparent, #2f193d);
}
.lv-division-gradient-primary {
  background: linear-gradient(90deg, transparent, #2f193d, transparent);
}
.lv-division-gradient-primary-left {
  background: linear-gradient(90deg, #2f193d, transparent);
}
.lv-division-gradient-primary-right {
  background: linear-gradient(90deg, transparent, #2f193d);
}
.lv-division-gradient-secondary {
  background: linear-gradient(90deg, transparent, #0e6875, transparent);
}
.lv-division-gradient-secondary-left {
  background: linear-gradient(90deg, #0e6875, transparent);
}
.lv-division-gradient-secondary-right {
  background: linear-gradient(90deg, transparent, #0e6875);
}
.lv-division-gradient-tertiary {
  background: linear-gradient(90deg, transparent, #ff7043, transparent);
}
.lv-division-gradient-tertiary-left {
  background: linear-gradient(90deg, #ff7043, transparent);
}
.lv-division-gradient-tertiary-right {
  background: linear-gradient(90deg, transparent, #ff7043);
}
.lv-division-gradient-success {
  background: linear-gradient(90deg, transparent, #28a745, transparent);
}
.lv-division-gradient-success-left {
  background: linear-gradient(90deg, #28a745, transparent);
}
.lv-division-gradient-success-right {
  background: linear-gradient(90deg, transparent, #28a745);
}
.lv-division-gradient-danger {
  background: linear-gradient(90deg, transparent, #dc3545, transparent);
}
.lv-division-gradient-danger-left {
  background: linear-gradient(90deg, #dc3545, transparent);
}
.lv-division-gradient-danger-right {
  background: linear-gradient(90deg, transparent, #dc3545);
}
.lv-division-gradient-warning {
  background: linear-gradient(90deg, transparent, #ffc107, transparent);
}
.lv-division-gradient-warning-left {
  background: linear-gradient(90deg, #ffc107, transparent);
}
.lv-division-gradient-warning-right {
  background: linear-gradient(90deg, transparent, #ffc107);
}
.lv-division-gradient-info {
  background: linear-gradient(90deg, transparent, #17a2b8, transparent);
}
.lv-division-gradient-info-left {
  background: linear-gradient(90deg, #17a2b8, transparent);
}
.lv-division-gradient-info-right {
  background: linear-gradient(90deg, transparent, #17a2b8);
}
.lv-division-gradient-light {
  background: linear-gradient(90deg, transparent, #f8f9fa, transparent);
}
.lv-division-gradient-light-left {
  background: linear-gradient(90deg, #f8f9fa, transparent);
}
.lv-division-gradient-light-right {
  background: linear-gradient(90deg, transparent, #f8f9fa);
}
.lv-division-gradient-dark {
  background: linear-gradient(90deg, transparent, #343a40, transparent);
}
.lv-division-gradient-dark-left {
  background: linear-gradient(90deg, #343a40, transparent);
}
.lv-division-gradient-dark-right {
  background: linear-gradient(90deg, transparent, #343a40);
}
.lv-division-gradient-white {
  background: linear-gradient(90deg, transparent, #ffffff, transparent);
}
.lv-division-gradient-white-left {
  background: linear-gradient(90deg, #ffffff, transparent);
}
.lv-division-gradient-white-right {
  background: linear-gradient(90deg, transparent, #ffffff);
}
.lv-division-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  height: auto;
  position: relative;
}
.lv-division-icon::before, .lv-division-icon::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #f0f2f5;
}
.lv-division-icon .icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  margin: 0 0.5rem;
  color: #6c757d;
  border: 1px solid #f0f2f5;
  z-index: 1;
}
.lv-division-icon.lv-division-primary::before, .lv-division-icon.lv-division-primary::after {
  background-color: #2f193d;
}
.lv-division-icon.lv-division-primary .icon-container {
  color: #2f193d;
  border-color: #2f193d;
}
.lv-division-icon.lv-division-secondary::before, .lv-division-icon.lv-division-secondary::after {
  background-color: #0e6875;
}
.lv-division-icon.lv-division-secondary .icon-container {
  color: #0e6875;
  border-color: #0e6875;
}
.lv-division-icon.lv-division-tertiary::before, .lv-division-icon.lv-division-tertiary::after {
  background-color: #ff7043;
}
.lv-division-icon.lv-division-tertiary .icon-container {
  color: #ff7043;
  border-color: #ff7043;
}
.lv-division-icon.lv-division-success::before, .lv-division-icon.lv-division-success::after {
  background-color: #28a745;
}
.lv-division-icon.lv-division-success .icon-container {
  color: #28a745;
  border-color: #28a745;
}
.lv-division-icon.lv-division-danger::before, .lv-division-icon.lv-division-danger::after {
  background-color: #dc3545;
}
.lv-division-icon.lv-division-danger .icon-container {
  color: #dc3545;
  border-color: #dc3545;
}
.lv-division-icon.lv-division-warning::before, .lv-division-icon.lv-division-warning::after {
  background-color: #ffc107;
}
.lv-division-icon.lv-division-warning .icon-container {
  color: #ffc107;
  border-color: #ffc107;
}
.lv-division-icon.lv-division-info::before, .lv-division-icon.lv-division-info::after {
  background-color: #17a2b8;
}
.lv-division-icon.lv-division-info .icon-container {
  color: #17a2b8;
  border-color: #17a2b8;
}
.lv-division-icon.lv-division-light::before, .lv-division-icon.lv-division-light::after {
  background-color: #f8f9fa;
}
.lv-division-icon.lv-division-light .icon-container {
  color: #f8f9fa;
  border-color: #f8f9fa;
}
.lv-division-icon.lv-division-dark::before, .lv-division-icon.lv-division-dark::after {
  background-color: #343a40;
}
.lv-division-icon.lv-division-dark .icon-container {
  color: #343a40;
  border-color: #343a40;
}
.lv-division-icon.lv-division-white::before, .lv-division-icon.lv-division-white::after {
  background-color: #ffffff;
}
.lv-division-icon.lv-division-white .icon-container {
  color: #ffffff;
  border-color: #ffffff;
}
.lv-division-retro {
  height: 12px;
  background: repeating-linear-gradient(90deg, #2f193d, #2f193d 20px, #0e6875 20px, #0e6875 40px, #ff7043 40px, #ff7043 60px);
  border-radius: 0;
  opacity: 1;
}
.lv-division-retro-vibrant {
  height: 12px;
  background: repeating-linear-gradient(90deg, #3a1f4b, #3a1f4b 20px, #0e7d8c, #0e7d8c 40px, #ff5722, #ff5722 60px);
  border: none;
  opacity: 1;
}
.lv-division-colorbar {
  height: 8px;
  background: repeating-linear-gradient(90deg, #04be9e, #04be9e 20px, #ffc658, #ffc658 40px);
  border: none;
  opacity: 1;
}
.lv-division-wave {
  height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z' fill='%23f0f2f5'%3E%3C/path%3E%3C/svg%3E");
  background-size: 1200px 100%;
  background-repeat: no-repeat;
  border: none;
}
.lv-division-shadow {
  height: 20px;
  border: none;
  box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.1);
  background-color: transparent;
}
.lv-division-zigzag {
  height: 8px;
  background: linear-gradient(45deg, #f0f2f5 25%, transparent 25%) 0 0, linear-gradient(-45deg, #f0f2f5 25%, transparent 25%) 0 0;
  background-size: 8px 8px;
  border: none;
}
.lv-division-decorative {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  height: auto;
}
.lv-division-decorative::before, .lv-division-decorative::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #f0f2f5;
}
.lv-division-decorative .decorative-symbol {
  margin: 0 1rem;
  font-size: 1.5rem;
  color: #6c757d;
}
.lv-division-spacer {
  background: none;
  height: 0;
  visibility: hidden;
}

@media (max-width: 575px) {
  .lv-division-sm {
    margin: 0.5rem 0;
  }
  .lv-division-md {
    margin: 1rem 0;
  }
  .lv-division-lg {
    margin: 1.5rem 0;
  }
  .lv-division-text span {
    font-size: 0.75rem;
    padding: 0 0.5rem;
  }
  .lv-division-icon .icon-container {
    width: 24px;
    height: 24px;
  }
}
/* Dropdowns - Estilo Salesforce */
.dropdown {
  position: relative;
}

/* Remove a seta padrão do Bootstrap */
.dropdown-toggle::after {
  display: none !important;
}

/* Botão dropdown - Salesforce Style */
.btn-retro {
  font-weight: 400;
  padding: 0 1rem;
  height: 32px;
  cursor: pointer;
  transition: all 0.1s ease;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #DDDBDA;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  min-width: 200px;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  background-color: #FFFFFF;
  color: #181818;
}

.btn-retro:hover {
  background-color: #F4F6F9;
  border-color: #0176D3;
  color: #0176D3;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.07);
}

.btn-retro:active {
  background-color: #E8F3FF;
  box-shadow: none;
  border-color: #014486;
}

.btn-retro:focus {
  outline: none;
  border-color: #0176D3;
  box-shadow: 0 0 0 3px rgba(1, 118, 211, 0.1);
}

/* Variações de cor - Salesforce Style */
.btn-retro-primary {
  background-color: #0176D3;
  color: #FFFFFF;
  border-color: #0176D3;
}

.btn-retro-primary:hover {
  background-color: #014486;
  color: #FFFFFF;
  border-color: #014486;
}

.btn-retro-primary:active {
  background-color: #0D5CAB;
  border-color: #0D5CAB;
}

.btn-retro-secondary {
  background-color: #FFFFFF;
  color: #181818;
  border-color: #DDDBDA;
}

.btn-retro-secondary:hover {
  background-color: #F4F6F9;
  border-color: #0176D3;
  color: #0176D3;
}

.btn-retro-outline {
  background-color: #FFFFFF;
  color: #0176D3;
  border: 1px solid #0176D3;
}

.btn-retro-outline:hover {
  background-color: #E8F3FF;
  color: #014486;
  border-color: #014486;
}

/* Botão arredondado - Salesforce Style */
.btn-retro-rounded {
  border-radius: 100px;
}

/* Menu dropdown - Salesforce Style */
.dropdown-menu {
  margin-top: 4px;
  border: 1px solid #DDDBDA;
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  padding: 0;
  z-index: 1020;
  background-color: #FFFFFF;
  min-width: 200px;
}

.dropdown-item {
  padding: 0.5rem 1rem;
  border: none;
  transition: all 0.1s ease;
  font-size: 0.8125rem;
  color: #181818;
  cursor: pointer;
  background-color: transparent;
  display: flex;
  align-items: center;
}

.dropdown-item:hover {
  background-color: #F4F6F9;
  color: #0176D3;
  text-decoration: none;
}

.dropdown-item:active {
  background-color: #E8F3FF;
  color: #014486;
}

.dropdown-item:focus {
  outline: none;
  background-color: #F4F6F9;
  box-shadow: inset 3px 0 0 #0176D3;
}

/* Separador entre items */
.dropdown-divider {
  height: 0;
  margin: 0.25rem 0;
  overflow: hidden;
  border-top: 1px solid #ECEBEA;
}

/* Dropdown de etapas - Salesforce Style */
.dropdown-stages .dropdown-item {
  padding-left: 2.5rem;
  position: relative;
}

.dropdown-stages .dropdown-item::before {
  content: attr(data-stage);
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-color: #0176D3;
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 600;
}

.dropdown-stages .dropdown-item:hover::before {
  background-color: #014486;
}

/* Animação do ícone - Salesforce Style */
.dropdown-icon {
  transition: transform 0.1s ease;
  margin-left: 0.5rem;
  color: #706E6B;
  font-size: 0.75rem;
}

.show .dropdown-icon,
.dropdown.show .dropdown-icon {
  transform: rotate(180deg);
}

/* Menu dropdown com checkbox - Salesforce Style */
.dropdown-checkbox {
  min-width: 240px;
}

.dropdown-checkbox .form-check {
  padding: 0.5rem 1rem;
  margin: 0;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

.dropdown-checkbox .form-check:hover {
  background-color: #F4F6F9;
}

.dropdown-checkbox .form-check:active {
  background-color: #E8F3FF;
}

.dropdown-checkbox .form-check-input {
  width: 16px;
  height: 16px;
  border: 1px solid #DDDBDA;
  border-radius: 0.25rem;
  background-color: #FFFFFF;
  cursor: pointer;
  transition: all 0.1s ease;
  margin-right: 0.5rem;
  margin-top: 0.125rem;
}

.dropdown-checkbox .form-check-input:checked {
  background-color: #0176D3;
  border-color: #0176D3;
}

.dropdown-checkbox .form-check-input:hover {
  border-color: #0176D3;
  box-shadow: 0 0 0 3px rgba(1, 118, 211, 0.1);
}

.dropdown-checkbox .form-check-input:focus {
  outline: none;
  border-color: #0176D3;
  box-shadow: 0 0 0 3px rgba(1, 118, 211, 0.1);
}

.dropdown-checkbox .form-check-label {
  cursor: pointer;
  width: 100%;
  font-size: 0.8125rem;
  color: #181818;
  font-weight: 400;
}

/* Estados especiais dos items */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #E8F3FF;
  color: #014486;
}

.dropdown-item.disabled {
  color: #706E6B;
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

/* Dropdown com ícones - Salesforce Style */
.dropdown-item i,
.dropdown-item svg {
  width: 16px;
  height: 16px;
  margin-right: 0.5rem;
  color: #706E6B;
}

.dropdown-item:hover i,
.dropdown-item:hover svg {
  color: #0176D3;
}

/* Header dentro do dropdown */
.dropdown-header {
  display: block;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #706E6B;
  text-transform: uppercase;
  letter-spacing: 0.0625rem;
  white-space: nowrap;
  background-color: #FAFAF9;
  border-bottom: 1px solid #ECEBEA;
}

/* Dropdown com busca - Salesforce Style */
.dropdown-search {
  padding: 0.5rem;
  border-bottom: 1px solid #ECEBEA;
  background-color: #FAFAF9;
}

.dropdown-search input {
  width: 100%;
  padding: 0.25rem 0.5rem 0.25rem 1.75rem;
  height: 28px;
  border: 1px solid #DDDBDA;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  transition: all 0.1s ease;
  background-color: #FFFFFF;
}

.dropdown-search input:focus {
  outline: none;
  border-color: #0176D3;
  box-shadow: 0 0 0 3px rgba(1, 118, 211, 0.1);
}

.dropdown-search input::placeholder {
  color: #706E6B;
}

.dropdown-search .search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #706E6B;
  font-size: 0.75rem;
}

/* Badges dentro de dropdown items */
.dropdown-item .badge {
  margin-left: auto;
  padding: 2px 6px;
  font-size: 0.625rem;
  font-weight: 600;
  border-radius: 100px;
  background-color: #E8F3FF;
  color: #0176D3;
  border: 1px solid #0176D3;
}

.dropdown-item:hover .badge {
  background-color: #0176D3;
  color: #FFFFFF;
}

/* Status dots em dropdown items */
.dropdown-item .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 0.5rem;
  display: inline-block;
}

.dropdown-item .status-dot.success {
  background-color: #2E844A;
}

.dropdown-item .status-dot.warning {
  background-color: #FE9339;
}

.dropdown-item .status-dot.error {
  background-color: #C23934;
}

.dropdown-item .status-dot.info {
  background-color: #0176D3;
}

/* Responsive */
@media (max-width: 576px) {
  .dropdown-menu {
    min-width: 160px;
  }
  .btn-retro {
    min-width: auto;
    font-size: 0.75rem;
    height: 28px;
    padding: 0 0.75rem;
  }
  .dropdown-item {
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
  }
}
/**
 * Editorial Corporate Toast Component
 * Design angular, minimalista e sofisticado
 * Compatível com Hotwire e estilo EC
 * v2.0 - Editorial Corporate Style
 */
:root {
  --toast-transition-speed: 0.3s;
  --toast-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
  --toast-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  --toast-shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.18);
}

/* ===== CONTAINER PRINCIPAL ===== */
.retro-toast-container {
  position: fixed;
  z-index: 9999;
  padding: 24px;
  pointer-events: none;
  max-width: 420px;
  width: 100%;
}

/* ===== POSIÇÕES DO CONTAINER ===== */
.retro-toast-container.top-right {
  top: 24px;
  right: 24px;
}

.retro-toast-container.top-left {
  top: 24px;
  left: 24px;
}

.retro-toast-container.top-center {
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.retro-toast-container.bottom-right {
  bottom: 24px;
  right: 24px;
}

.retro-toast-container.bottom-left {
  bottom: 24px;
  left: 24px;
}

.retro-toast-container.bottom-center {
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

/* ===== TOAST PRINCIPAL - Editorial Corporate Style ===== */
.retro-toast {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  box-shadow: var(--toast-shadow);
  margin-bottom: 12px;
  overflow: hidden;
  pointer-events: auto;
  transition: all var(--toast-transition-speed) var(--toast-transition-timing);
  transform: translateX(100%);
  opacity: 0;
  min-width: 340px;
  max-width: 420px;
  position: relative;
}
.retro-toast::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #D1D5DB;
  transition: background-color var(--toast-transition-speed) ease;
}

/* ===== ANIMAÇÕES ===== */
.retro-toast.retro-toast-show {
  transform: translateX(0);
  opacity: 1;
}

.retro-toast.retro-toast-exit {
  transform: translateX(100%);
  opacity: 0;
  margin-bottom: 0;
  max-height: 0;
  padding: 0;
}

/* Animações para posições left */
.retro-toast-container.top-left .retro-toast,
.retro-toast-container.bottom-left .retro-toast {
  transform: translateX(-100%);
}

.retro-toast-container.top-left .retro-toast.retro-toast-show,
.retro-toast-container.bottom-left .retro-toast.retro-toast-show {
  transform: translateX(0);
}

.retro-toast-container.top-left .retro-toast.retro-toast-exit,
.retro-toast-container.bottom-left .retro-toast.retro-toast-exit {
  transform: translateX(-100%);
}

/* Animações para posições center */
.retro-toast-container.top-center .retro-toast,
.retro-toast-container.bottom-center .retro-toast {
  transform: translateY(-20px);
}

.retro-toast-container.top-center .retro-toast.retro-toast-show,
.retro-toast-container.bottom-center .retro-toast.retro-toast-show {
  transform: translateY(0);
}

.retro-toast-container.top-center .retro-toast.retro-toast-exit,
.retro-toast-container.bottom-center .retro-toast.retro-toast-exit {
  transform: translateY(-20px);
}

/* ===== TIPOS DE TOAST - Editorial Corporate Colors ===== */
.retro-toast.success::before {
  background-color: #22C55E;
}

.retro-toast.error::before {
  background-color: #EF4444;
}

.retro-toast.warning::before {
  background-color: #F59E0B;
}

.retro-toast.info::before {
  background-color: #3B82F6;
}

/* ===== HEADER DO TOAST ===== */
.retro-toast-header {
  display: flex;
  align-items: center;
  padding: 14px 16px 10px 20px;
  background: transparent;
  border: none;
}

/* ===== ÍCONE - Editorial Corporate Style ===== */
.retro-toast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 12px;
  border-radius: 0;
  font-size: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.retro-toast.success .retro-toast-icon {
  background: rgba(34, 197, 94, 0.1);
  color: #16A34A;
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.retro-toast.error .retro-toast-icon {
  background: rgba(239, 68, 68, 0.1);
  color: #DC2626;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.retro-toast.warning .retro-toast-icon {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(147.937007874, 95.188976378, 6.062992126);
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.retro-toast.info .retro-toast-icon {
  background: rgba(59, 130, 246, 0.1);
  color: rgb(10.0317073171, 89.1707317073, 218.4682926829);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

/* ===== TÍTULO ===== */
.retro-toast-title {
  flex: 1;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1A1A1A;
  line-height: 1.4;
  padding-right: 8px;
  letter-spacing: 0.2px;
}

/* ===== BOTÃO FECHAR - Editorial Style ===== */
.retro-toast-close {
  background: none;
  border: 1px solid transparent;
  color: #D1D5DB;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.retro-toast-close:hover {
  background: #F9FAFB;
  border-color: #F3F4F6;
  color: #1A1A1A;
}
.retro-toast-close:focus {
  outline: none;
}
.retro-toast-close:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: 2px;
}

/* ===== BODY/MENSAGEM ===== */
.retro-toast-body {
  padding: 0 16px 14px 60px;
  color: #6B7280;
  font-size: 0.75rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.6;
  word-wrap: break-word;
}

/* Se não tem ícone, ajustar padding */
.retro-toast:not(.has-icon) .retro-toast-body {
  padding-left: 20px;
}

/* ===== PROGRESS BAR - Editorial Style ===== */
.retro-toast-progress {
  height: 3px;
  background: #F9FAFB;
  position: relative;
  overflow: hidden;
}

.retro-toast-progress-bar {
  height: 100%;
  width: 100%;
  transition: width linear;
  transform-origin: left;
}

.retro-toast.success .retro-toast-progress-bar {
  background: #22C55E;
}

.retro-toast.error .retro-toast-progress-bar {
  background: #EF4444;
}

.retro-toast.warning .retro-toast-progress-bar {
  background: #F59E0B;
}

.retro-toast.info .retro-toast-progress-bar {
  background: #3B82F6;
}

/* ===== HOVER EFFECTS ===== */
.retro-toast:hover {
  box-shadow: var(--toast-shadow-hover);
  transform: translateY(-2px);
}
.retro-toast:hover .retro-toast-icon {
  transform: scale(1.05);
}

.retro-toast.retro-toast-show:hover {
  transform: translateX(0) translateY(-2px);
}

.retro-toast-container.top-left .retro-toast.retro-toast-show:hover,
.retro-toast-container.bottom-left .retro-toast.retro-toast-show:hover {
  transform: translateX(0) translateY(-2px);
}

.retro-toast-container.top-center .retro-toast.retro-toast-show:hover,
.retro-toast-container.bottom-center .retro-toast.retro-toast-show:hover {
  transform: translateY(-2px);
}

/* ===== VARIANTES ADICIONAIS - Editorial Corporate ===== */
.retro-toast.success.toast-filled {
  background: rgba(34, 197, 94, 0.05);
  border-color: rgba(34, 197, 94, 0.15);
}

.retro-toast.error.toast-filled {
  background: rgba(239, 68, 68, 0.05);
  border-color: rgba(239, 68, 68, 0.15);
}

.retro-toast.warning.toast-filled {
  background: rgba(245, 158, 11, 0.05);
  border-color: rgba(245, 158, 11, 0.15);
}

.retro-toast.info.toast-filled {
  background: rgba(59, 130, 246, 0.05);
  border-color: rgba(59, 130, 246, 0.15);
}

.retro-toast.toast-dark {
  background: #1A1A1A;
  border-color: #374151;
}
.retro-toast.toast-dark .retro-toast-title {
  color: #FFFFFF;
}
.retro-toast.toast-dark .retro-toast-body {
  color: #E5E7EB;
}
.retro-toast.toast-dark .retro-toast-close {
  color: #D1D5DB;
}
.retro-toast.toast-dark .retro-toast-close:hover {
  background: #374151;
  color: #FFFFFF;
}
.retro-toast.toast-dark .retro-toast-progress {
  background: #374151;
}
.retro-toast.toast-dark.success .retro-toast-icon {
  background: rgba(34, 197, 94, 0.2);
  color: #22C55E;
  border-color: rgba(34, 197, 94, 0.3);
}
.retro-toast.toast-dark.error .retro-toast-icon {
  background: rgba(239, 68, 68, 0.2);
  color: rgb(243.0197044335, 114.9802955665, 114.9802955665);
  border-color: rgba(239, 68, 68, 0.3);
}
.retro-toast.toast-dark.warning .retro-toast-icon {
  background: rgba(245, 158, 11, 0.2);
  color: #F59E0B;
  border-color: rgba(245, 158, 11, 0.3);
}
.retro-toast.toast-dark.info .retro-toast-icon {
  background: rgba(59, 130, 246, 0.2);
  color: rgb(107.7609756098, 161.0975609756, 248.2390243902);
  border-color: rgba(59, 130, 246, 0.3);
}

.retro-toast.toast-minimal {
  border: none;
  box-shadow: none;
  background: transparent;
}
.retro-toast.toast-minimal::before {
  width: 3px;
}
.retro-toast.toast-minimal .retro-toast-header {
  padding-left: 16px;
}
.retro-toast.toast-minimal .retro-toast-body {
  padding-left: 56px;
}
.retro-toast.toast-minimal:hover {
  background: #FAFAFA;
}

.retro-toast-actions {
  display: flex;
  gap: 8px;
  padding: 0 16px 14px 60px;
  margin-top: -4px;
}

.retro-toast-action {
  padding: 6px 12px;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  border: 1px solid #E5E7EB;
  background: transparent;
  color: #1A1A1A;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
}
.retro-toast-action:hover {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.retro-toast-action--primary {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.retro-toast-action--primary:hover {
  background: #374151;
  border-color: #374151;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 575px) {
  .retro-toast-container {
    left: 12px !important;
    right: 12px !important;
    top: 12px !important;
    bottom: auto !important;
    max-width: none;
    width: auto;
    padding: 12px;
    transform: none !important;
  }
  .retro-toast-container.bottom-right, .retro-toast-container.bottom-left, .retro-toast-container.bottom-center {
    top: auto !important;
    bottom: 12px !important;
  }
  .retro-toast {
    min-width: auto;
    max-width: none;
    width: 100%;
  }
  .retro-toast-header {
    padding: 12px 14px 8px 16px;
  }
  .retro-toast-body {
    padding: 0 14px 12px 52px;
    font-size: 0.8125rem;
  }
  .retro-toast-title {
    font-size: 0.8125rem;
  }
  .retro-toast-icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    font-size: 12px;
  }
  .retro-toast-actions {
    padding: 0 14px 12px 52px;
  }
}
/* ===== ACESSIBILIDADE ===== */
@media (prefers-reduced-motion: reduce) {
  .retro-toast {
    transition: opacity 0.2s ease;
  }
  .retro-toast.retro-toast-show {
    transform: translateX(0);
  }
  .retro-toast.retro-toast-exit {
    transform: translateX(0);
    opacity: 0;
  }
  .retro-toast-icon {
    transition: none;
  }
}
/* ===== HIGH CONTRAST MODE ===== */
@media (prefers-contrast: high) {
  .retro-toast {
    border: 2px solid #1A1A1A;
  }
  .retro-toast::before {
    width: 6px;
  }
  .retro-toast-close {
    border: 1px solid #6B7280;
  }
  .retro-toast-icon {
    border-width: 2px;
  }
}
/* ===== DARK MODE SUPPORT ===== */
@media (prefers-color-scheme: dark) {
  .retro-toast:not(.toast-dark) {
    background: #1F2937;
    border-color: #4B5563;
  }
  .retro-toast:not(.toast-dark) .retro-toast-title {
    color: #FFFFFF;
  }
  .retro-toast:not(.toast-dark) .retro-toast-body {
    color: #E5E7EB;
  }
  .retro-toast:not(.toast-dark) .retro-toast-close {
    color: #D1D5DB;
  }
  .retro-toast:not(.toast-dark) .retro-toast-close:hover {
    background: #374151;
    color: #FFFFFF;
  }
  .retro-toast:not(.toast-dark) .retro-toast-progress {
    background: #374151;
  }
  .retro-toast:not(.toast-dark).success .retro-toast-icon {
    background: rgba(34, 197, 94, 0.15);
    color: #22C55E;
  }
  .retro-toast:not(.toast-dark).error .retro-toast-icon {
    background: rgba(239, 68, 68, 0.15);
    color: rgb(243.0197044335, 114.9802955665, 114.9802955665);
  }
  .retro-toast:not(.toast-dark).warning .retro-toast-icon {
    background: rgba(245, 158, 11, 0.15);
    color: #F59E0B;
  }
  .retro-toast:not(.toast-dark).info .retro-toast-icon {
    background: rgba(59, 130, 246, 0.15);
    color: rgb(107.7609756098, 161.0975609756, 248.2390243902);
  }
}
/* ===== PRINT STYLES ===== */
@media print {
  .retro-toast-container {
    display: none !important;
  }
}
/* ===== UTILIDADES ===== */
.retro-toast-no-animation {
  transition: none !important;
}

.retro-toast-compact {
  min-width: 280px;
}
.retro-toast-compact .retro-toast-header {
  padding: 10px 12px 6px 16px;
}
.retro-toast-compact .retro-toast-body {
  padding: 0 12px 10px 52px;
}
.retro-toast-compact .retro-toast-icon {
  width: 24px;
  height: 24px;
}

.retro-toast-wide {
  max-width: 500px;
}

/* ===== LOADING STATE ===== */
.retro-toast-loading .retro-toast-progress-bar {
  background: linear-gradient(90deg, #F3F4F6, #F9FAFB, #F3F4F6);
  background-size: 200% 100%;
  animation: retro-toast-loading 1.5s ease-in-out infinite;
}

@keyframes retro-toast-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* ===== STACKED TOASTS ===== */
.retro-toast-container.stacked .retro-toast {
  margin-bottom: 8px;
}
.retro-toast-container.stacked .retro-toast:nth-child(n+2) {
  opacity: 0.9;
  transform: scale(0.98);
}
.retro-toast-container.stacked .retro-toast:nth-child(n+3) {
  opacity: 0.8;
  transform: scale(0.96);
}

/* ===== CUSTOM SCROLLBAR ===== */
.retro-toast-body::-webkit-scrollbar {
  width: 4px;
}

.retro-toast-body::-webkit-scrollbar-track {
  background: transparent;
}

.retro-toast-body::-webkit-scrollbar-thumb {
  background: #E5E7EB;
  border-radius: 0;
}

.retro-toast-body::-webkit-scrollbar-thumb:hover {
  background: #D1D5DB;
}

/* Workflow CSS - Editorial Corporate Style */
:root {
  --primary-blue: #1A1A1A;
  --light-blue: #F9FAFB;
  --border-color: #E5E7EB;
  --text-primary: #1A1A1A;
  --text-secondary: #6B7280;
  --hover-bg: #F9FAFB;
  --success-color: #22C55E;
  --warning-color: #F59E0B;
  --danger-color: #EF4444;
}

/* Layout principal */
.content-wrapper {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 1rem;
  margin: 0 auto;
}

/* Sidebar de fluxos */
.flows-sidebar {
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  height: fit-content;
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-color);
}

.sidebar-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.new-flow-btn {
  background: var(--primary-blue);
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
  cursor: pointer;
  margin-bottom: 1rem;
}

.new-flow-btn:hover {
  background: #0747a6;
  transform: translateY(-1px);
  color: white;
}

/* Cards de fluxos */
.flow-card {
  border: 2px solid var(--border-color);
  border-radius: 6px;
  padding: 1rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  background: white;
}

.flow-card:hover {
  border-color: var(--primary-blue);
  background: var(--light-blue);
}

.flow-card.selected {
  border-color: var(--primary-blue);
  background: var(--light-blue);
  box-shadow: 0 0 0 2px rgba(0, 82, 204, 0.2);
}

.flow-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.flow-name {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 0.95rem;
  margin: 0;
}

.flow-badges {
  display: flex;
  gap: 0.25rem;
}

.flow-badge {
  padding: 0.125rem 0.5rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
}

.badge-default {
  background: var(--border-color);
  color: var(--text-secondary);
}

.badge-active {
  background: #e3fcef;
  color: var(--success-color);
}

.badge-best {
  background: #fff4e6;
  color: var(--warning-color);
}

.flow-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.flow-steps-count {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* Área do workflow */
.workflow-area {
  background: white;
  border-radius: 0px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  min-height: 600px;
}

.workflow-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-color);
}

.workflow-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.workflow-controls {
  display: flex;
  gap: 0.75rem;
}

.control-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.control-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.workflow-name-input {
  width: 200px;
}

/* Estilos para alertas customizados */
.workflow-alert {
  margin-bottom: 1.5rem;
}

.alert-icon {
  margin-right: 0.5rem;
}

.alert-text {
  margin-bottom: 0;
  margin-top: 0.25rem;
}

/* Container do workflow */
.workflow-container {
  position: relative;
  padding-left: 0;
}

.workflow-container-kanban {
  max-width: none;
}

.workflow-container::before {
  display: none;
}

.workflow-steps {
  position: relative;
}

.sortable-steps {
  position: relative;
}

/* Etapas do workflow */
.workflow-step {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  margin-bottom: 0.75rem;
  background: white;
  transition: all 0.2s ease;
  position: relative;
}

.workflow-step:hover {
  border-color: var(--primary-blue);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.workflow-step.selected {
  border-color: var(--primary-blue);
  background: var(--light-blue);
}

.workflow-step:last-child {
  margin-bottom: 0.75rem;
}

/* Números das etapas */
.step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary-blue);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.step-number-disabled {
  background: #6c757d;
}

/* Conteúdo das etapas */
.step-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.step-name {
  font-weight: 500;
  color: var(--text-primary);
  min-height: 24px;
  padding: 2px 4px;
  border-radius: 4px;
  outline: none;
  margin: 0;
}

.step-name:focus {
  background-color: #f8f9fa;
  border-bottom: 2px solid var(--primary-blue);
}

.step-type {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.step-badge {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 4px;
  background-color: #f0f2f5;
  color: #6c757d;
  width: fit-content;
}

/* Ações das etapas */
.step-actions {
  display: flex;
  gap: 0.5rem;
}

.step-action-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0.25rem;
}

.step-action-btn:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

.step-actions .handle {
  cursor: move;
}

.step-actions .delete-btn:hover {
  color: var(--danger-color);
}

/* Etapas fixas */
.workflow-step[data-fixed=true],
.fixed-step {
  background: #f8f9fa;
  border-color: #e9ecef;
}

.workflow-step[data-fixed=true] .step-number,
.fixed-step .step-number {
  background: #6c757d;
}

.workflow-step[data-fixed=true]:after,
.workflow-step[data-fixed=true]:before,
.workflow-step[data-fixed=true].last-step::before {
  display: none;
}

/* Botão adicionar etapa */
.add-step-btn {
  width: 100%;
  padding: 1rem;
  border: 2px dashed var(--border-color);
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.add-step-btn:hover {
  border-color: var(--primary-blue);
  color: var(--primary-blue);
  background: var(--light-blue);
}

/* Drag and Drop */
.workflow-step.dndDraggingSource {
  opacity: 0.3;
  transform: scale(0.95);
}

.dndPlaceholder {
  display: block !important;
  background-color: rgba(0, 82, 204, 0.1);
  border: 3px dashed var(--primary-blue);
  border-radius: 8px;
  margin: 0.5rem 0 0.75rem 0;
  min-height: 70px;
  position: relative;
  box-shadow: 0 0 15px rgba(0, 82, 204, 0.2);
  animation: pulse-placeholder 1.5s infinite alternate;
}

.dndPlaceholder::after {
  content: "Solte aqui";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--primary-blue);
  font-weight: 500;
  font-style: italic;
}

@keyframes pulse-placeholder {
  from {
    background-color: rgba(0, 82, 204, 0.05);
    box-shadow: 0 0 10px rgba(0, 82, 204, 0.1);
  }
  to {
    background-color: rgba(0, 82, 204, 0.15);
    box-shadow: 0 0 20px rgba(0, 82, 204, 0.3);
  }
}
.workflow-step.highlight-new .step-content {
  animation: pulse-border 1s ease;
}

@keyframes pulse-border {
  0% {
    border-color: var(--border-color);
  }
  50% {
    border-color: var(--primary-blue);
  }
  100% {
    border-color: var(--border-color);
  }
}
/* Estado vazio */
.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-secondary);
}

.empty-state i {
  font-size: 4rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}

.empty-state h5 {
  margin-bottom: 0.5rem;
  color: var(--text-primary);
}

.empty-icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background-color: #f8f9fa;
  border-radius: 50%;
}

/* Arrastar elementos */
[dnd-draggable] {
  cursor: move;
  transition: transform 0.2s, opacity 0.2s;
}

[dnd-draggable]:hover .handle {
  color: var(--primary-blue);
}

/* Responsividade */
@media (max-width: 768px) {
  .content-wrapper {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .workflow-controls {
    flex-direction: column;
    gap: 0.5rem;
  }
  .control-group {
    width: 100%;
  }
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
.skeleton {
  position: relative;
  overflow: hidden;
  background-color: #e0e0e0;
  border-radius: 0;
}
.skeleton::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}
.skeleton--static::after {
  content: none;
}
.skeleton--circle {
  border-radius: 50%;
}
.skeleton--rounded {
  border-radius: 0;
}
.skeleton--pill {
  border-radius: 2rem;
}

.skeleton-text {
  height: 1em;
  margin-bottom: 0.25rem;
  width: 100%;
}
.skeleton-text--title {
  height: 1.5em;
  margin-bottom: 0.5rem;
}
.skeleton-text--heading {
  height: 1.8em;
  margin-bottom: 1rem;
}
.skeleton-text--subtitle {
  width: 70%;
}
.skeleton-text--small {
  width: 40%;
  height: 0.8em;
}
.skeleton-text--last {
  margin-bottom: 0;
}

.skeleton-image {
  width: 100%;
  height: 150px;
  margin-bottom: 0.5rem;
}
.skeleton-image--avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.skeleton-image--avatar-lg {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
.skeleton-image--thumbnail {
  width: 80px;
  height: 60px;
}

.skeleton-button {
  height: 38px;
  width: 120px;
  border-radius: 0;
}
.skeleton-button--sm {
  height: 30px;
  width: 80px;
}
.skeleton-button--lg {
  height: 48px;
  width: 160px;
}
.skeleton-button--icon {
  width: 38px;
  border-radius: 50%;
}

.skeleton-card {
  background-color: #FFFFFF;
  border-radius: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  padding: 1rem;
  margin-bottom: 1rem;
}
.skeleton-card__header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
.skeleton-card__body {
  margin-bottom: 1rem;
}
.skeleton-card__footer {
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}

.skeleton-list-item {
  display: flex;
  margin-bottom: 0.5rem;
}
.skeleton-list-item__avatar {
  margin-right: 0.5rem;
}
.skeleton-list-item__content {
  flex: 1;
}

.skeleton-grid {
  display: grid;
  gap: 1rem;
}
.skeleton-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 575px) {
  .skeleton-grid--2col {
    grid-template-columns: 1fr;
  }
}
.skeleton-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 768px) {
  .skeleton-grid--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .skeleton-grid--3col {
    grid-template-columns: 1fr;
  }
}
.skeleton-grid--4col {
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 992px) {
  .skeleton-grid--4col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .skeleton-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .skeleton-grid--4col {
    grid-template-columns: 1fr;
  }
}

.skeleton-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.25rem;
}
.skeleton-table td {
  padding: 0.5rem 1rem;
}

/** steps **/
/* Estilos específicos para as abas */
.tabs-container {
  background-color: var(--white);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--card-shadow);
  padding: 0;
  overflow: hidden;
  padding: 10px;
  border: 2px solid #e0e0e0;
}

.tabs-header {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--gray-200);
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.tabs-header::-webkit-scrollbar {
  display: none;
}

.tab-item {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  min-width: 150px;
  gap: 12px;
  position: relative;
  border-right: 1px solid var(--gray-200);
}

.tab-item:last-child {
  border-right: none;
}

.tab-item--active {
  background-color: #f0f8ff;
}

.tab-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.tab-content {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.tab-text {
  height: 30px;
  flex: 1;
  min-width: 80px;
}

.tab-badge {
  width: 24px;
  height: 20px;
  border-radius: 10px;
  flex-shrink: 0;
}

/* Navegação */
.nav-arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
}

/* Versão real para comparação (comentada) */
.real-tabs {
  margin-top: 40px;
  opacity: 0.3;
  pointer-events: none;
}

.loading-overlay {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* Spinner */
.loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #f3f4f6;
  border-top-color: #0066cc;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Texto */
.loading-text {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #6b7280;
  letter-spacing: 0.3px;
}

/* Variação com pulse (opcional) */
.loading-spinner.pulse {
  animation: spin 0.8s linear infinite, pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.question-options .form-check-input[type=radio],
.quiz-options .form-check-input[type=radio] {
  width: 1.5em;
  height: 1.5em;
  border: 2px solid #349422;
  background-color: white;
  appearance: none;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.question-options .form-check-input[type=radio]:hover,
.quiz-options .form-check-input[type=radio]:hover {
  border-color: rgb(37.4285714286, 106.5274725275, 24.4725274725);
}
.question-options .form-check-input[type=radio]:checked,
.quiz-options .form-check-input[type=radio]:checked {
  background-color: #349422;
  border-color: #349422;
}
.question-options .form-check-input[type=radio]:checked::before,
.quiz-options .form-check-input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5em;
  height: 0.5em;
  background-color: white;
  border-radius: 50%;
}
.question-options .form-check-label,
.quiz-options .form-check-label {
  margin-left: 0.5em;
  font-weight: 500;
  font-size: 1.1em;
  cursor: pointer;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 2px solid #e2e0dc;
}

.filter-header h5 {
  margin: 0;
  color: #2f193d;
  font-weight: 600;
  font-family: "Space Mono", monospace;
}

.filter-header .btn-primary {
  background-color: #2f193d;
  color: #ffffff;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-family: "Space Mono", monospace;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
  transition: all 0.2s;
}

.filter-header .btn-primary:hover {
  background-color: #0e6875;
  transform: translateY(-2px);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
}

.filter-section {
  padding: 1rem;
  border-bottom: 1px solid #e2e0dc;
}

.filter-section:last-child {
  border-bottom: none;
}

.filter-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
  color: #2f193d;
  cursor: pointer;
  margin-bottom: 0.75rem;
  font-family: "Space Mono", monospace;
}

.filter-body {
  padding-left: 0.25rem;
}

.search-filter {
  position: relative;
  margin-bottom: 1rem;
}

.search-filter i {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #2f193d;
}

.search-filter input {
  width: 100%;
  padding: 0.5rem 0.5rem 0.5rem 2rem;
  border: 1px solid #2f193d;
  border-radius: 4px;
  font-size: 0.875rem;
}

.users-container {
  max-height: 250px;
  overflow-y: auto;
}

.user-info {
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}

.user-avatar, .user-avatar-placeholder {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 0.5rem;
  background-color: #0e6875;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}

.user-name {
  font-size: 0.875rem;
  color: #333;
}

/* Estilização dos checkboxes customizados */
.lv-sideoptions-checkbox {
  position: relative;
  padding-left: 28px;
  margin-bottom: 0.75rem;
  cursor: pointer;
}

.lv-sideoptions-checkbox:last-child {
  margin-bottom: 0;
}

.lv-sideoptions-checkbox__input {
  position: absolute;
  opacity: 0;
}

.lv-sideoptions-checkbox__checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #ffffff;
  border: 2px solid #2f193d;
  border-radius: 4px;
  transition: all 0.2s;
}

.lv-sideoptions-checkbox__input:checked ~ .lv-sideoptions-checkbox__checkmark {
  background-color: #2f193d;
}

.lv-sideoptions-checkbox__checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.lv-sideoptions-checkbox__input:checked ~ .lv-sideoptions-checkbox__checkmark:after {
  display: block;
}

.lv-sideoptions-checkbox__checkmark:after {
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.lv-sideoptions-checkbox__label {
  font-size: 0.875rem;
  color: #333;
  line-height: 1.4;
}

input[type=radio] + .lv-sideoptions-checkbox__checkmark {
  border-radius: 50%;
}

input[type=radio]:checked ~ .lv-sideoptions-checkbox__checkmark:after {
  left: 6px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
  border: none;
}

.profile-img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  object-fit: cover;
  display: inline-block;
  border: 2px solid #ccc;
}
.profile-img.sm {
  width: 50px;
  height: 50px;
}
.profile-img.md {
  width: 100px;
  height: 100px;
}
.profile-img.lg {
  width: 150px;
  height: 150px;
}
.profile-img.xl {
  width: 200px;
  height: 200px;
}

.custom-editor-content {
  padding: 15px;
  min-height: 200px;
  outline: none;
  overflow-y: auto;
}

.custom-editor-content:empty:before {
  content: attr(data-placeholder);
  color: #aaa;
}

.lv-conf-temp-email-badge:hover {
  background-color: #e3bf00;
  transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Estilos compactos para seção de aceite de candidatos */
.retro-candidates-container {
  margin-bottom: 30px;
}

.candidates-card {
  width: 100%;
  max-width: 500px; /* Limita largura para ser mais compacta */
}

.retro-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px 10px;
  position: relative;
}

.retro-card-title {
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 1rem;
  color: #349422;
}

.retro-badge-container {
  margin-left: auto;
}

.retro-notification-badge {
  background-color: #1A1A1A;
  color: white;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Space Mono", monospace;
  font-weight: 700;
  font-size: 11px;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
  animation: pulse-gentle 2s infinite;
}

@keyframes pulse-gentle {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}
.retro-candidates-scroll {
  max-height: 300px; /* Altura máxima para scroll */
  overflow-y: auto;
  padding-right: 5px;
}

/* Estilização do scrollbar */
.retro-candidates-scroll::-webkit-scrollbar {
  width: 6px;
}

.retro-candidates-scroll::-webkit-scrollbar-track {
  background: var(--light);
  border-radius: 3px;
}

.retro-candidates-scroll::-webkit-scrollbar-thumb {
  background: #1A1A1A;
  border-radius: 3px;
  border: 1px solid var(--light);
}

.retro-candidates-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--tertiary-dark);
}

.retro-candidates-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 5px;
}

.retro-candidate-item {
  display: flex;
  align-items: center;
  padding: 12px;
  background-color: white;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  transition: all 0.2s ease;
  position: relative;
}

.retro-candidate-item:hover {
  border-color: #1A1A1A;
  box-shadow: 2px 2px 0 rgba(14, 104, 117, 0.1);
  transform: translateY(-1px);
}

.candidate-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
  border: 2px solid var(--tertiary-dark);
}

.avatar-initials {
  color: white;
  font-family: "Space Mono", monospace;
  font-weight: 700;
  font-size: 14px;
}

.candidate-info {
  flex: 1;
  min-width: 0; /* Para truncar texto se necessário */
}

.candidate-name {
  font-family: "Space Mono", monospace;
  font-size: 0.9rem;
  font-weight: 600;
  color: #349422;
  margin: 0 0 2px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-position {
  color: #1A1A1A;
  font-size: 0.8rem;
  margin: 0 0 4px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.candidate-meta {
  display: flex;
  gap: 12px;
  font-size: 0.75rem;
  color: var(--grey-dark);
}

.candidate-date,
.candidate-location {
  font-family: "Space Mono", monospace;
}

.candidate-actions {
  display: flex;
  gap: 4px;
  margin-left: 8px;
}

.retro-btn-mini {
  width: 30px;
  height: 30px;
  border: 1px solid;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  padding: 0;
}

.retro-btn-mini:hover {
  transform: translateY(-1px);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
}

.retro-btn-mini:active {
  transform: translateY(0);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
}

.retro-btn-accept {
  background-color: var(--mint);
  border-color: var(--emerald);
  color: #349422;
}

.retro-btn-accept:hover {
  background-color: var(--emerald);
  color: white;
}

.retro-btn-reject {
  background-color: #1A1A1A;
  border-color: var(--burgundy);
  color: white;
}

.retro-btn-reject:hover {
  background-color: var(--burgundy);
}

.retro-btn-view {
  background-color: var(--secondary);
  border-color: var(--secondary-dark);
  color: #349422;
}

.retro-btn-view:hover {
  background-color: var(--secondary-dark);
  color: white;
}

.retro-candidates-footer {
  padding: 15px 20px 20px;
  border-top: 1px solid #E5E7EB;
  text-align: center;
}

.retro-btn-compact {
  padding: 8px 16px;
  border: 2px solid #349422;
  border-radius: 6px;
  background-color: white;
  color: #349422;
  font-family: "Space Mono", monospace;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.retro-btn-compact:hover {
  background-color: var(--light);
  transform: translateY(-1px);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Animações para remoção de candidatos */
.retro-candidate-item {
  transition: all 0.3s ease;
}

.retro-candidate-item.removing {
  opacity: 0;
  transform: translateX(100%);
}

/* Responsive design compacto */
@media (max-width: 768px) {
  .candidates-card {
    max-width: 100%;
  }
  .retro-candidate-item {
    padding: 10px;
  }
  .candidate-avatar {
    width: 35px;
    height: 35px;
    margin-right: 10px;
  }
  .avatar-initials {
    font-size: 12px;
  }
  .candidate-name {
    font-size: 0.85rem;
  }
  .candidate-position {
    font-size: 0.75rem;
  }
  .candidate-meta {
    font-size: 0.7rem;
    gap: 8px;
  }
  .retro-btn-mini {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }
  .retro-candidates-scroll {
    max-height: 250px;
  }
}
/* Estado vazio */
.candidates-empty {
  text-align: center;
  padding: 30px 20px;
  color: var(--grey-dark);
  font-style: italic;
}

.candidates-empty i {
  font-size: 2rem;
  color: #E5E7EB;
  margin-bottom: 10px;
  display: block;
}

/*
 * Modal Component
 *
 * Modais estilo Salesforce/Jira - Clean e corporativo
 */
.modal {
  z-index: 1050;
}
.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(1px);
}
.modal-backdrop.show {
  opacity: 1;
}
.modal-dialog {
  margin: 1.75rem auto;
}
.modal-content {
  border: none;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.15), 0 0 1px 0 rgba(0, 0, 0, 0.1);
  overflow: visible;
}
.modal-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e5e5e5;
  background-color: #fff;
  align-items: center;
  min-height: 60px;
}
.modal-header .modal-title {
  font-weight: 600;
  font-size: 1.125rem;
  color: #080707;
  line-height: 1.5;
  margin: 0;
}
.modal-header .btn-close {
  padding: 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
  opacity: 0.65;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23706e6b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: none;
  border-radius: 3px;
  transition: all 0.15s ease-in-out;
  width: 32px;
  height: 32px;
}
.modal-header .btn-close:hover {
  opacity: 1;
  background-color: #f3f2f2;
}
.modal-header .btn-close:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(48, 160, 69, 0.4);
}
.modal-header .btn-close:active {
  background-color: #e5e5e5;
}
.modal-body {
  padding: 1.5rem;
  background-color: #fff;
  max-height: calc(100vh - 210px);
  overflow-y: auto;
}
.modal-body::-webkit-scrollbar {
  width: 8px;
}
.modal-body::-webkit-scrollbar-track {
  background: #f8f8f8;
  border-radius: 4px;
}
.modal-body::-webkit-scrollbar-thumb {
  background: #c9c7c5;
  border-radius: 4px;
}
.modal-body::-webkit-scrollbar-thumb:hover {
  background: #706e6b;
}
.modal-body #image-container-copper {
  width: 100%;
  min-height: 300px;
  max-height: 450px;
  overflow: hidden;
  border-radius: 4px;
  background-color: #fafaf9;
  border: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.modal-body #image-container-copper img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
}
.modal-footer {
  padding: 0.75rem 1.5rem;
  border-top: 1px solid #e5e5e5;
  background-color: #fafaf9;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  min-height: 60px;
}
.modal-footer .btn {
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  transition: all 0.15s ease-in-out;
  min-width: 80px;
  text-align: center;
}
.modal-footer .btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(48, 160, 69, 0.4);
}
.modal-footer .btn-outline-secondary {
  background-color: #fff;
  border: 1px solid #c9c7c5;
  color: #080707;
}
.modal-footer .btn-outline-secondary:hover {
  background-color: #f3f2f2;
  border-color: #706e6b;
  color: #080707;
}
.modal-footer .btn-outline-secondary:active {
  background-color: #e5e5e5;
}
.modal-footer .btn-primary {
  background-color: #349422;
  border: 1px solid #349422;
  color: #fff;
}
.modal-footer .btn-primary:hover {
  background-color: rgb(40.3428571429, 114.821978022, 26.378021978);
  border-color: rgb(40.3428571429, 114.821978022, 26.378021978);
}
.modal-footer .btn-primary:active {
  background-color: rgb(34.5142857143, 98.232967033, 22.567032967);
}
.modal-footer .btn-danger {
  background-color: #ea001e;
  border: 1px solid #ea001e;
  color: #fff;
}
.modal-footer .btn-danger:hover {
  background-color: #d50019;
  border-color: #d50019;
}
.modal-footer .btn-danger:active {
  background-color: #ba0517;
}

.modal-sm {
  max-width: 480px;
}

.modal-md {
  max-width: 640px;
}

.modal-lg {
  max-width: 800px;
}

.modal-xl {
  max-width: 1024px;
}

.modal-xxl {
  max-width: 1280px;
}

.modal.fade .modal-dialog {
  transform: scale(0.95) translateY(-20px);
  opacity: 0;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}
.modal.fade.show .modal-dialog {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.modal-cropper .modal-body {
  padding: 1rem;
  background-color: #fafaf9;
}
.modal-cropper .cropper-container {
  height: 400px;
  width: 100%;
  background-color: #fff;
  border-radius: 4px;
}
.modal-cropper .cropper-view-box {
  border-radius: 50%;
  outline: 2px solid rgba(52, 148, 34, 0.9);
  box-shadow: 0 0 0 9999em rgba(0, 0, 0, 0.5);
}
.modal-cropper .cropper-face {
  background-color: transparent !important;
}
.modal-cropper .cropper-line,
.modal-cropper .cropper-point {
  background-color: #349422;
}
.modal-cropper .cropper-point {
  width: 8px;
  height: 8px;
  opacity: 0.9;
}
.modal-cropper .cropper-line {
  opacity: 0.6;
}

.avatar-input-file {
  position: relative;
  cursor: pointer;
  display: inline-block;
}
.avatar-input-file .icon-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border: 2px solid #e5e5e5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: all 0.15s ease-in-out;
  cursor: pointer;
}
.avatar-input-file .icon-wrapper i {
  color: #706e6b;
  font-size: 14px;
}
.avatar-input-file .icon-wrapper:hover {
  background-color: #349422;
  border-color: #349422;
  transform: scale(1.05);
}
.avatar-input-file .icon-wrapper:hover i {
  color: #fff;
}
.avatar-input-file .icon-wrapper:active {
  transform: scale(0.98);
}

.modal.loading {
  pointer-events: none;
}
.modal.loading .modal-content {
  position: relative;
}
.modal.loading .modal-content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 4px;
}

.img-loading {
  position: relative;
}
.img-loading::after {
  content: "Carregando...";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(8, 7, 7, 0.85);
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  font-size: 0.875rem;
  font-weight: 500;
}

.modal-body-scroll {
  max-height: 60vh;
  overflow-y: auto;
}

.modal-section {
  margin-bottom: 1.5rem;
}
.modal-section:last-child {
  margin-bottom: 0;
}
.modal-section .section-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #3e3e3c;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.modal-section .section-content {
  background-color: #fafaf9;
  padding: 1rem;
  border-radius: 3px;
  border: 1px solid #e5e5e5;
}

@media (max-width: 576px) {
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  .modal-content {
    max-height: calc(100vh - 1rem);
  }
  .modal-header {
    padding: 0.75rem 1rem;
    min-height: 52px;
  }
  .modal-header .modal-title {
    font-size: 1rem;
  }
  .modal-header .btn-close {
    width: 28px;
    height: 28px;
  }
  .modal-body {
    padding: 1rem;
    max-height: calc(100vh - 140px);
  }
  .modal-body #image-container-copper {
    min-height: 250px;
    max-height: 300px;
  }
  .modal-footer {
    padding: 0.75rem 1rem;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .modal-footer .btn {
    flex: 1;
    min-width: calc(50% - 0.25rem);
  }
  .modal-cropper .cropper-container {
    height: 280px;
  }
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
  }
  .modal-sm {
    max-width: 400px;
  }
}
@media (min-width: 768px) {
  .modal-dialog {
    max-width: 600px;
  }
  .modal-md {
    max-width: 640px;
  }
  .modal-lg {
    max-width: 800px;
  }
}
@media (min-width: 992px) {
  .modal-xl {
    max-width: 1024px;
  }
  .modal-xxl {
    max-width: 1280px;
  }
}
.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

#left-menu-sidebar {
  /* Badge de Notificação */
  /* Submenu */
  /* Seção Vagas Recentes */
  /* Item bloqueado por plano */
  /* Scrollbar */
  /* Responsivo - handled by _mobile-topbar.scss for <=768px */
  /* Existing styles preservation */
}
#left-menu-sidebar .admin-container {
  display: flex;
}
#left-menu-sidebar .sidebar {
  width: 200px;
  background: #171a1e;
  position: fixed;
  z-index: 1000;
  height: 100vh;
  top: 0px;
}
#left-menu-sidebar .sidebar-nav {
  padding: 0;
  height: calc(100vh - 60px);
  overflow-y: auto;
}
#left-menu-sidebar .nav-main {
  list-style: none;
  padding: 16px 0;
  margin: 0;
}
#left-menu-sidebar .nav-main li {
  margin: 0;
}
#left-menu-sidebar .nav-main a {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 100;
  transition: all 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
}
#left-menu-sidebar .nav-main a:hover {
  background: #171a1e;
  color: #fff;
  font-style: italic;
  font-weight: 600;
  text-decoration: none;
}
#left-menu-sidebar .nav-main a.active {
  background: #171a1e;
  color: #fff;
  font-weight: bold;
  font-style: italic;
}
#left-menu-sidebar .nav-main a i:first-child {
  width: 18px;
  margin-right: 12px;
  text-align: center;
  font-size: 16px;
  flex-shrink: 0;
}
#left-menu-sidebar .nav-main a span {
  flex: 1;
}
#left-menu-sidebar .notification-link {
  position: relative;
}
#left-menu-sidebar .notification-badge {
  background-color: #ef4444;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  margin-left: 8px;
  flex-shrink: 0;
}
#left-menu-sidebar .has-submenu .submenu-toggle {
  justify-content: space-between;
}
#left-menu-sidebar .has-submenu .submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  background: #171a1e;
  transition: max-height 0.3s ease;
}
#left-menu-sidebar .has-submenu.open .submenu {
  max-height: 200px;
}
#left-menu-sidebar .has-submenu .submenu-toggle .bi-chevron-down {
  transition: transform 0.3s ease;
  font-size: 12px;
  margin-left: auto;
}
#left-menu-sidebar .has-submenu.open .submenu-toggle .bi-chevron-down {
  transform: rotate(180deg);
}
#left-menu-sidebar .submenu a {
  padding: 10px 20px 10px 50px;
  font-size: 13px;
  color: #9ca3af;
}
#left-menu-sidebar .submenu a:hover {
  background: #171a1e;
  color: #e2e8f0;
}
#left-menu-sidebar .recent-section {
  margin-top: 24px;
  padding: 0 20px;
}
#left-menu-sidebar .section-title {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
#left-menu-sidebar .recent-jobs {
  margin-bottom: 16px;
}
#left-menu-sidebar .job-item {
  padding: 10px 0;
  border-bottom: 1px solid #1e3b49;
  cursor: pointer;
  transition: all 0.2s ease;
}
#left-menu-sidebar .job-item:hover {
  background: #171a1e;
  margin: 0 -20px;
  padding-left: 20px;
  padding-right: 20px;
}
#left-menu-sidebar .job-item:last-child {
  border-bottom: none;
}
#left-menu-sidebar .job-title {
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 3px;
  line-height: 1.3;
}
#left-menu-sidebar .job-title a {
  color: #fff !important;
}
#left-menu-sidebar .job-meta {
  color: #fff;
  font-size: 10px;
}
#left-menu-sidebar .view-all {
  color: #60a5fa;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: color 0.2s ease;
}
#left-menu-sidebar .view-all:hover {
  color: #93c5fd;
  text-decoration: none;
}
#left-menu-sidebar .nav-locked {
  opacity: 0.5;
}
#left-menu-sidebar .nav-locked-link {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  color: #9ca3af;
  text-decoration: none;
  font-size: 13px;
  font-weight: 100;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
#left-menu-sidebar .nav-locked-link:hover {
  text-decoration: none;
  color: #9ca3af;
}
#left-menu-sidebar .nav-locked-link i:first-child {
  width: 18px;
  margin-right: 12px;
  text-align: center;
  font-size: 16px;
  flex-shrink: 0;
}
#left-menu-sidebar .nav-locked-link span:first-of-type {
  flex: 1;
}
#left-menu-sidebar .nav-plan-badge {
  background: #fef3c7;
  color: #b45309;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-left: 8px;
  flex-shrink: 0;
}
#left-menu-sidebar .sidebar-nav::-webkit-scrollbar {
  width: 6px;
}
#left-menu-sidebar .sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}
#left-menu-sidebar .sidebar-nav::-webkit-scrollbar-thumb {
  background: #4a5568;
  border-radius: 3px;
}
#left-menu-sidebar .sidebar-nav::-webkit-scrollbar-thumb:hover {
  background: #718096;
}
#left-menu-sidebar .ui-dialog-titlebar {
  display: none;
}
#left-menu-sidebar .notification {
  background-color: #fff !important;
  color: black;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  height: fit-content;
  position: fixed;
  z-index: 1000;
}

.mobile-topbar {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: #F9FAFB;
  z-index: 1100;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.mobile-topbar__toggle {
  background: none;
  border: none;
  color: #1A1A1A;
  font-size: 24px;
  padding: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-topbar__logo {
  display: flex;
  align-items: center;
}
.mobile-topbar__logo img {
  width: 28px;
  height: 28px;
}
.mobile-topbar__action {
  color: #1A1A1A;
  font-size: 20px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
}
.mobile-topbar__action:hover {
  text-decoration: none;
  color: #1A1A1A;
}
.mobile-topbar__back {
  color: #1A1A1A;
  font-size: 20px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.mobile-topbar__back:hover {
  text-decoration: none;
  color: #1A1A1A;
}
.mobile-topbar__title {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  letter-spacing: 0.02em;
}

.mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1049;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.sidebar-mobile-header {
  display: none;
}

.sidebar-mobile-footer {
  display: none;
}

.nav-main--mobile-extra {
  display: none !important;
}

.nav-separator {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 8px 20px;
}

@media (max-width: 768px) {
  .mobile-topbar {
    display: flex;
  }
  .icon-sidebar {
    display: none !important;
  }
  #left-menu-sidebar {
    margin-left: 0;
  }
  #left-menu-sidebar .sidebar {
    width: 280px;
    left: -280px;
    top: 0;
    height: 100vh;
    z-index: 1050;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
  }
  #left-menu-sidebar .sidebar-nav {
    flex: 1;
    overflow-y: auto;
    padding-top: 8px;
    height: auto;
  }
  #left-menu-sidebar .nav-main a {
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 400;
  }
  #left-menu-sidebar .nav-main a i:first-child {
    font-size: 18px;
    width: 24px;
    margin-right: 14px;
  }
  #left-menu-sidebar .nav-main a.active {
    background: rgba(255, 255, 255, 0.08);
  }
  #left-menu-sidebar .nav-main a:hover {
    background: rgba(255, 255, 255, 0.05);
  }
  .sidebar-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
  }
  .sidebar-mobile-header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }
  .sidebar-mobile-header__logo img {
    width: 28px;
    height: 28px;
  }
  .sidebar-mobile-header__logo span {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
  }
  .sidebar-mobile-header__logo:hover {
    text-decoration: none;
  }
  .sidebar-mobile-header__close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    padding: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sidebar-mobile-header__close:hover {
    color: #fff;
  }
  .nav-main--mobile-extra {
    display: block !important;
    padding-top: 0;
  }
  .sidebar-mobile-footer {
    display: flex;
    flex-direction: column;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
  }
  .sidebar-mobile-footer a {
    display: flex;
    align-items: center;
    padding: 12px 24px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s ease;
  }
  .sidebar-mobile-footer a i {
    width: 24px;
    margin-right: 14px;
    font-size: 16px;
    text-align: center;
  }
  .sidebar-mobile-footer a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    text-decoration: none;
  }
  .main-content {
    width: 100% !important;
    left: 0 !important;
    padding-top: 56px;
  }
  .mobile-menu-open .mobile-overlay {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-menu-open #left-menu-sidebar .sidebar {
    left: 0;
  }
}
.btn-mobile-filter {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #FFFFFF;
  border: 1px solid #1A1A1A;
  color: #1A1A1A;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.btn-mobile-filter i {
  font-size: 13px;
}

.mobile-filter-close {
  display: none;
  width: 100%;
  padding: 18px 20px;
  background: #1A1A1A;
  border: none;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  align-items: center;
  gap: 8px;
  text-align: left;
}
.mobile-filter-close i {
  font-size: 14px;
}

@media (max-width: 768px) {
  .btn-mobile-filter {
    display: inline-flex;
  }
  .jobs-filter-col {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0;
  }
  .jobs-filter-col.mobile-filter-open {
    transform: translateY(0);
  }
  .jobs-filter-col.mobile-filter-open .mobile-filter-close {
    display: flex;
  }
  .jobs-filter-col #job-filter-menu {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: auto;
    border-right: none;
    overflow-y: auto;
  }
  .lv-applicants-sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100vh !important;
    z-index: 1200;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-right: none !important;
    overflow-y: auto !important;
  }
  .lv-applicants-sidebar.mobile-filter-open {
    transform: translateY(0);
    display: flex !important;
  }
  .lv-applicants-sidebar.mobile-filter-open .mobile-filter-close {
    display: flex;
  }
  .jobs-content-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .jobs-header-section {
    padding: 14px 16px !important;
    gap: 12px !important;
    border-bottom-width: 1px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .jobs-header-left {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100%;
  }
  .jobs-header-left .d-flex {
    flex-direction: column;
    gap: 8px !important;
  }
  .jobs-header-left .search-field {
    min-width: 0 !important;
    width: 100%;
  }
  .jobs-header-left #jobSortSelect {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100%;
  }
  .jobs-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .jobs-header-right .view-toggle {
    display: none !important;
  }
  .jobs-header-right .btn-drafts {
    padding: 8px 12px;
  }
  .jobs-header-right .btn-drafts span {
    display: none;
  }
  .jobs-header-right .btn-primary {
    margin-left: auto;
  }
  .jobs-header-right .btn-primary span {
    display: none;
  }
  .jobs-list-container {
    border: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
  }
  .jobs-list-body {
    overflow-x: hidden !important;
  }
  .jobs-list-header {
    display: none !important;
  }
  .job-row {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 16px !important;
    gap: 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    grid-template-columns: none !important;
  }
  .job-row:hover {
    box-shadow: none !important;
    background: #FAFAFA !important;
  }
  .job-row > div::before {
    display: none !important;
  }
  .job-row .col-status {
    margin-bottom: 6px;
  }
  .job-row .col-status .status-badge {
    font-size: 9px;
    padding: 2px 6px;
  }
  .job-row .col-title {
    margin-bottom: 8px;
  }
  .job-row .col-title .job-title-link {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .job-row .col-title .job-title {
    font-size: 15px !important;
    font-weight: 600;
    color: #1A1A1A;
    line-height: 1.3;
  }
  .job-row .col-title .job-time-created {
    font-size: 11px;
    color: #9CA3AF;
  }
  .job-row .col-type,
  .job-row .col-location,
  .job-row .col-salary {
    display: none !important;
  }
  .job-row .col-candidates {
    margin-bottom: 10px;
  }
  .job-row .col-candidates .candidates-metrics {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    border: 1px solid #F3F4F6;
  }
  .job-row .col-candidates .metric-card {
    flex: 1;
    text-align: center;
    padding: 8px 4px !important;
    border-right: 1px solid #F3F4F6;
    width: auto !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
  }
  .job-row .col-candidates .metric-card:last-child {
    border-right: none;
  }
  .job-row .col-candidates .metric-card .metric-number {
    font-size: 16px !important;
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1;
  }
  .job-row .col-candidates .metric-card .metric-label {
    font-size: 8px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9CA3AF;
    margin-top: 2px;
  }
  .job-row .col-candidates .metric-card .metric-indicator {
    display: none;
  }
  .job-row .col-actions {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
  }
  .lv-jobs-cards {
    padding: 0 !important;
  }
  .lv-jobs-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .lv-job {
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-job__accent {
    display: none;
  }
  .lv-job__main {
    padding: 16px;
  }
  .lv-job__header {
    margin-bottom: 6px;
  }
  .lv-job__title {
    font-size: 15px;
  }
  .lv-job__metrics {
    grid-template-columns: repeat(4, 1fr);
  }
  .lv-job__metric {
    border-right: 1px solid #F3F4F6;
  }
  .lv-job__metric:last-child {
    border-right: none;
  }
  .lv-job__footer {
    padding: 10px 16px;
  }
  .lv-job__btn-primary {
    font-size: 11px;
  }
  .list-footer {
    flex-direction: column;
    gap: 12px;
    text-align: center;
    padding: 16px !important;
  }
  .pagination-modern {
    flex-wrap: wrap;
    justify-content: center;
  }
  .lv-applicants-layout {
    flex-direction: column !important;
  }
  .lv-applicants-main {
    width: 100% !important;
  }
  .lv-applicants-main > .row.pd-20 {
    padding: 14px 16px !important;
  }
  .lv-applicants-main > .row.pd-20 .col-lg-8,
  .lv-applicants-main > .row.pd-20 .col-lg-4 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
  }
  .lv-applicants-main > .row.pd-20 .col-lg-8:first-child,
  .lv-applicants-main > .row.pd-20 .col-lg-4:first-child {
    margin-bottom: 10px;
  }
  .lv-applicants-main > .row.pd-20 .search-field {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .lv-applicants-main > .row.pd-20 .form-select {
    width: 100%;
  }
  .lv-applicants-main > .row.pd-20 .view-toggle {
    display: none !important;
  }
  .applicant-card {
    border-top: none !important;
    border-bottom: 1px solid #F3F4F6 !important;
  }
  .applicant-card .card-content {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 14px 16px;
    gap: 0;
  }
  .applicant-card .avatar-section {
    flex-shrink: 0;
    margin-right: 12px;
  }
  .applicant-card .avatar-section .avatar {
    width: 40px;
    height: 40px;
  }
  .applicant-card .info-section {
    flex: 1;
    min-width: 0;
  }
  .applicant-card .primary-info {
    margin-bottom: 6px;
  }
  .applicant-card .name-row {
    margin-bottom: 2px;
  }
  .applicant-card .name-row a {
    font-size: 14px;
    font-weight: 600;
  }
  .applicant-card .objective-highlight {
    font-size: 11px;
    margin-bottom: 4px;
  }
  .applicant-card .tag-container {
    margin-bottom: 4px;
  }
  .applicant-card .tag-container .tag {
    font-size: 9px;
    padding: 1px 5px;
  }
  .applicant-card .secondary-info {
    display: none;
  }
  .applicant-card .skills-section {
    display: none;
  }
  .applicant-card .metrics-section {
    display: none;
  }
  .applicant-card .actions-section {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #F9FAFB;
  }
  .applicant-card .actions-section .btn-compact {
    padding: 6px 8px;
    font-size: 13px;
  }
  .lv-applicant-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .lv-applicant-card {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-applicant-card::before {
    display: none;
  }
  .lv-applicant-card__header {
    padding: 14px 16px 8px;
  }
  .lv-applicant-card__body {
    padding: 0 16px 10px;
  }
  .lv-applicant-card__meta-item {
    font-size: 11px;
  }
  .lv-applicant-card__footer {
    padding: 10px 16px;
  }
  .applicants-pagination {
    padding: 16px !important;
  }
  .applicants-pagination .pagination {
    flex-wrap: wrap;
  }
  .applicants-pagination .pagination .page-link {
    padding: 6px 10px;
    font-size: 12px;
  }
  .applicants-pagination .text-center {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .job-row .col-candidates .candidates-metrics .metric-card .metric-number {
    font-size: 14px !important;
  }
  .job-row .col-candidates .candidates-metrics .metric-card .metric-label {
    font-size: 7px !important;
  }
  .applicant-card .avatar-section .avatar {
    width: 36px;
    height: 36px;
  }
  .applicant-card .name-row a {
    font-size: 13px;
  }
  .applicant-card .tag-container {
    display: none;
  }
  .applicant-card .actions-section .btn-compact:not(.btn-view):not(.btn-add-to-job) {
    display: none;
  }
}
.hiring-mobile-only {
  display: none;
}

.hiring-desktop-only {
  display: block;
}

@media (max-width: 768px) {
  .hiring-mobile-only {
    display: block;
  }
  .hiring-desktop-only {
    display: none !important;
  }
  .job-header__container {
    padding: 10px 16px !important;
    gap: 8px !important;
  }
  .job-header__left {
    width: 100% !important;
  }
  .job-header__title-row {
    gap: 6px !important;
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .job-header__title {
    font-size: 14px !important;
    max-width: none !important;
    flex: 1;
    min-width: 0;
  }
  .job-header__code {
    font-size: 11px !important;
    padding: 1px 6px !important;
  }
  .view-switch {
    display: none !important;
  }
  .job-header__view-btn {
    display: none !important;
  }
  .job-header__right {
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .job-header__nav {
    flex: 1;
    gap: 0 !important;
  }
  .job-header__nav-item {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
  .job-header__nav-item span {
    display: none;
  }
  .job-header__nav-item i {
    font-size: 16px !important;
  }
  .job-header__divider {
    display: none !important;
  }
  .job-header__actions {
    display: none !important;
  }
  .hiring-layout {
    flex-direction: column !important;
  }
  .hiring-layout__sidebar {
    display: none !important;
  }
  .hiring-layout__content {
    width: 100% !important;
  }
  .hiring-mobile-steps {
    display: flex;
    gap: 6px;
    padding: 10px 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-bottom: 1px solid #F3F4F6;
    background: #FFFFFF;
    scrollbar-width: none;
  }
  .hiring-mobile-steps::-webkit-scrollbar {
    display: none;
  }
  .hiring-mobile-step {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #F3F4F6;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    transition: all 0.15s ease;
  }
  .hiring-mobile-step:hover {
    text-decoration: none;
    border-color: #D1D5DB;
    color: #1A1A1A;
  }
  .hiring-mobile-step.active {
    background: #1A1A1A;
    border-color: #1A1A1A;
    color: #FFFFFF;
  }
  .hiring-mobile-step--new {
    border-color: #ff991f;
    color: #974f0c;
  }
  .hiring-mobile-step--new.active {
    background: #ff991f;
    border-color: #ff991f;
    color: #FFFFFF;
  }
  .hiring-mobile-step--start {
    border-color: #0052cc;
    color: #0052cc;
  }
  .hiring-mobile-step--start.active {
    background: #0052cc;
    border-color: #0052cc;
    color: #FFFFFF;
  }
  .hiring-mobile-step--final {
    border-color: #00875a;
    color: #006644;
  }
  .hiring-mobile-step--final.active {
    background: #00875a;
    border-color: #00875a;
    color: #FFFFFF;
  }
  .hiring-mobile-step--reproved {
    border-color: #de350b;
    color: #bf2600;
  }
  .hiring-mobile-step--reproved.active {
    background: #de350b;
    border-color: #de350b;
    color: #FFFFFF;
  }
  .hiring-mobile-step__name {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.02em;
  }
  .hiring-mobile-step__count {
    font-size: 10px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.08);
    padding: 1px 6px;
    min-width: 18px;
    text-align: center;
  }
  .hiring-mobile-step.active .hiring-mobile-step__count {
    background: rgba(255, 255, 255, 0.25);
  }
  .hiring-mobile-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid #F3F4F6;
    background: #FFFFFF;
  }
  .hiring-mobile-search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #F3F4F6;
    background: #FAFAFA;
  }
  .hiring-mobile-search i {
    color: #D1D5DB;
    font-size: 14px;
    flex-shrink: 0;
  }
  .hiring-mobile-search input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 13px;
    color: #1A1A1A;
    width: 100%;
  }
  .hiring-mobile-search input::placeholder {
    color: #D1D5DB;
  }
  .hiring-mobile-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #1A1A1A;
    background: #1A1A1A;
    color: #FFFFFF;
    cursor: pointer;
    flex-shrink: 0;
  }
  .hiring-mobile-btn i {
    font-size: 16px;
  }
  .hiring-mobile-actions {
    display: flex;
    gap: 6px;
  }
  .hiring-mobile-bulk {
    display: none !important;
  }
  .ats-table-wrapper {
    display: none !important;
  }
  .ats-card-container {
    border: none !important;
    border-radius: 0 !important;
  }
  .ats-card-header {
    padding: 10px 16px !important;
  }
  .ats-card-header__right .ats-card-header__sort span:first-child {
    display: none;
  }
  .ats-card {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
  }
  .ats-card .ats-card__checkbox {
    display: none !important;
  }
  .ats-card .ats-card__content {
    flex: 1;
    min-width: 0;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 16px !important;
    align-items: center !important;
  }
  .ats-card .ats-card__user {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-bottom: 2px;
  }
  .ats-card .ats-card__name {
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  .ats-card .ats-card__user-info .ats-card__email,
  .ats-card .ats-card__user-info .ats-card__phone {
    display: none !important;
  }
  .ats-card .ats-card__field[data-column=tags],
  .ats-card .ats-card__field[data-column=channel],
  .ats-card .ats-card__field[data-column=email],
  .ats-card .ats-card__field[data-column=phone] {
    display: none !important;
  }
  .ats-card .ats-card__field[data-column=score],
  .ats-card .ats-card__field[data-column=date],
  .ats-card .ats-card__field[data-column=match] {
    min-width: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .ats-card .ats-card__field[data-column=score] .ats-card__field-label,
  .ats-card .ats-card__field[data-column=date] .ats-card__field-label,
  .ats-card .ats-card__field[data-column=match] .ats-card__field-label {
    font-size: 9px;
  }
  .ats-card .ats-card__indicators {
    flex: 1 1 100%;
  }
  .ats-card .ats-card__actions {
    flex-shrink: 0;
    align-self: flex-start;
    padding-top: 2px;
  }
  .ats-pagination {
    display: none !important;
  }
  .ats-card-header {
    display: none !important;
  }
  .ats-info-banner {
    margin: 0 !important;
    padding: 10px 16px !important;
    border-radius: 0 !important;
    border-left-width: 3px !important;
  }
  .hiring-scroll-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    gap: 8px;
    color: #9CA3AF;
    font-size: 12px;
    font-weight: 500;
  }
  .hiring-scroll-loader .spinner-border {
    width: 16px;
    height: 16px;
    border-width: 2px;
  }
  .hiring-scroll-end {
    text-align: center;
    padding: 16px;
    color: #D1D5DB;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .live-meeting-banner__inner {
    flex-direction: column !important;
    padding: 10px 16px !important;
    gap: 8px !important;
  }
  .live-meeting-banner__btn {
    width: 100%;
    justify-content: center;
  }
  .live-meeting-banner__divider {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .hiring-mobile-step {
    padding: 5px 10px;
  }
  .hiring-mobile-step__name {
    font-size: 10px;
  }
  .hiring-mobile-step__count {
    font-size: 9px;
    padding: 1px 4px;
  }
  .hiring-mobile-search input {
    font-size: 12px;
  }
  .hiring-mobile-bulk__btn {
    padding: 5px 8px;
    font-size: 10px;
  }
}
.lv-disc-nav {
  background: #FFFFFF;
  border-bottom: 2px solid #e1e4e8;
  padding: 20px 0;
  top: 0;
}

.lv-disc-nav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-disc-nav-brand {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.lv-disc-nav-menu {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lv-disc-nav-item {
  position: relative;
}

.lv-disc-nav-link {
  display: block;
  padding: 12px 25px;
  background: #FFFFFF;
  border: 2px solid #1A1A1A;
  color: #1A1A1A;
  text-decoration: none;
  font-family: "Courier Prime", monospace;
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  margin-left: -2px;
}

.lv-disc-nav-link:first-child {
  margin-left: 0;
}

.lv-disc-nav-link:hover {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.15);
  text-decoration: none;
}

.lv-disc-nav-link.active {
  background: #1A1A1A;
  color: #FFFFFF;
  border-bottom: 2px solid #9CA3AF;
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.15);
}

.lv-autocomplete-container {
  position: relative;
  width: 100%;
}

.lv-ac {
  position: relative;
  width: 100%;
}

.lv-ac__dropdown {
  position: absolute;
  z-index: 1060;
  width: 100%;
  max-height: 240px;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-top: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  top: 100%;
  left: 0;
  display: none;
}
.lv-ac__dropdown--open {
  display: block;
}

.lv-ac__dropdown::-webkit-scrollbar {
  width: 4px;
}

.lv-ac__dropdown::-webkit-scrollbar-track {
  background: #FAFAFA;
}

.lv-ac__dropdown::-webkit-scrollbar-thumb {
  background: #E5E7EB;
}
.lv-ac__dropdown::-webkit-scrollbar-thumb:hover {
  background: #D1D5DB;
}

.lv-ac__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  cursor: pointer;
  transition: background 0.1s ease;
  border-bottom: 1px solid #F9FAFB;
}
.lv-ac__item:last-child {
  border-bottom: none;
}
.lv-ac__item--active, .lv-ac__item:hover {
  background: #FAFAFA;
}
.lv-ac__item--current {
  background: #F9FAFB;
  border-left: 2px solid #1A1A1A;
  padding-left: calc(0.875rem - 2px);
}
.lv-ac__item--current .lv-ac__item-name {
  font-weight: 700;
}

.lv-ac__item-photo {
  width: 32px;
  height: 32px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid #F3F4F6;
}

.lv-ac__item-avatar {
  width: 32px;
  height: 32px;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.lv-ac__item-info {
  flex: 1;
  min-width: 0;
}

.lv-ac__item-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lv-ac__item-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lv-ac__item-role {
  font-size: 0.625rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border: 1px solid #F3F4F6;
  background: #FAFAFA;
  white-space: nowrap;
  flex-shrink: 0;
}

.lv-ac__highlight {
  background: rgba(52, 148, 34, 0.12);
  color: inherit;
  padding: 0;
  font-weight: 700;
}

.lv-ac__empty {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0.875rem;
  color: #9CA3AF;
  font-size: 0.8125rem;
}
.lv-ac__empty i {
  font-size: 0.875rem;
  color: #D1D5DB;
}

.lv-ac__display {
  width: 100%;
}

.lv-ac__selected {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.375rem 0.625rem;
  background: #FAFAFA;
  border: 1px solid #E5E7EB;
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.lv-ac__selected:hover {
  border-color: #D1D5DB;
}
.lv-ac__selected:hover .lv-ac__selected-clear {
  opacity: 1;
}

.lv-ac__selected-photo {
  width: 28px;
  height: 28px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid #F3F4F6;
}

.lv-ac__selected-avatar {
  width: 28px;
  height: 28px;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.lv-ac__selected-info {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-ac__selected-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lv-ac__selected-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lv-ac__selected-clear {
  width: 24px;
  height: 24px;
  background: transparent;
  border: 1px solid #E5E7EB;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: all 0.15s ease;
  font-size: 0.875rem;
  flex-shrink: 0;
}
.lv-ac__selected-clear:hover {
  background: #F3F4F6;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.lv-horizontal-filters {
  background: #ffffff;
  border-bottom: 3px solid #e1e4e8;
  padding: 20px;
  margin-bottom: 20px;
  position: fixed;
  width: calc(100% - 300px);
  z-index: 999;
}

#lv-horizontal-filters-container {
  position: relative;
  top: 80px;
}

/* Barra de Filtros */
.lv-filters-bar {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Busca Geral */
.lv-filter-search-general {
  position: relative;
  flex: 1;
  max-width: 300px;
}

.lv-filter-search-general i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 14px;
}

.lv-filter-search-input {
  width: 100%;
  padding: 8px 12px 8px 36px;
  border: 1px solid #e1e4e8;
  border-radius: 2px;
  font-size: 14px;
  background: #f3f3f3;
  transition: all 0.2s;
}

.lv-filter-search-input:focus {
  outline: none;
  border-color: #1A1A1A;
  background: #ffffff;
}

/* Container dos Filtros */
.lv-filters-container {
  display: flex;
  gap: 8px;
  flex: 1;
}

/* Dropdown de Filtro */
.lv-filter-dropdown {
  position: relative;
}

.lv-filter-text {
  color: #6b7280;
  font-weight: 500;
  font-size: 12px;
}

.lv-filter-selected {
  color: #111827;
  font-weight: 600;
}

.lv-filter-badge {
  background: #3b82f6;
  color: white;
  padding: 0 6px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lv-filter-btn i {
  font-size: 10px;
  color: #6b7280;
  transition: transform 0.2s;
}

.lv-filter-btn[aria-expanded=true] i {
  transform: rotate(180deg);
}

/* Dropdown Menu */
.lv-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  padding: 4px;
  min-width: 200px;
  z-index: 1000;
  opacity: 0;
  transform: translateY(-8px);
  transition: all 0.15s;
  pointer-events: none;
}

.lv-dropdown-menu.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.lv-dropdown-large {
  min-width: 280px;
}

/* Busca no Dropdown */
.lv-dropdown-search {
  position: relative;
  padding: 4px;
  margin-bottom: 4px;
}

.lv-dropdown-search i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 13px;
}

.lv-dropdown-search-input {
  width: 100%;
  padding: 6px 10px 6px 32px;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
  font-size: 13px;
  background: #f3f3f3;
}

.lv-dropdown-search-input:focus {
  outline: none;
  border-color: #1A1A1A;
  background: white;
}

/* Scroll Container */
.lv-dropdown-scroll {
  max-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Itens do Dropdown */
.lv-dropdown-item {
  padding: 2px 4px;
  border-radius: 4px;
}

.lv-dropdown-item:hover {
  background: #f9fafb;
}

.lv-dropdown-divider {
  height: 1px;
  background: #e5e7eb;
  margin: 4px 0;
}

/* Labels */
.lv-radio-label,
.lv-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  cursor: pointer;
  font-size: 13px;
  color: #374151;
  user-select: none;
}

/* Radio Customizado */
.lv-radio-input {
  position: absolute;
  opacity: 0;
}

.lv-radio-custom {
  width: 16px;
  height: 16px;
  border: 2px solid #d1d5db;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  flex-shrink: 0;
}

.lv-radio-input:checked ~ .lv-radio-custom {
  border-color: #3b82f6;
}

.lv-radio-input:checked ~ .lv-radio-custom::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #3b82f6;
  border-radius: 50%;
}

/* Checkbox Customizado */
.lv-checkbox-input {
  position: absolute;
  opacity: 0;
}

.lv-checkbox-custom {
  width: 16px;
  height: 16px;
  border: 2px solid #d1d5db;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  flex-shrink: 0;
}

.lv-checkbox-custom i {
  font-size: 10px;
  color: white;
  opacity: 0;
  transform: scale(0);
  transition: all 0.15s;
}

.lv-checkbox-input:checked ~ .lv-checkbox-custom {
  background: #3b82f6;
  border-color: #3b82f6;
}

.lv-checkbox-input:checked ~ .lv-checkbox-custom i {
  opacity: 1;
  transform: scale(1);
}

/* Info de Usuário */
.lv-user-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.lv-user-avatar,
.lv-user-avatar-placeholder {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex-shrink: 0;
}

.lv-user-avatar {
  object-fit: cover;
}

.lv-user-avatar-placeholder {
  background: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  color: #6b7280;
}

.lv-user-name {
  color: #111827;
}

/* Ações */
.lv-filters-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

/* Esconde texto em telas pequenas */
@media (max-width: 1024px) {
  .lv-btn-text {
    display: none;
  }
}
/* Filtros Ativos */
.lv-active-filters {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #f3f4f6;
}

.lv-filter-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.lv-filter-pill {
  background: #eff6ff;
  color: #1e40af;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lv-pill-remove {
  background: none;
  border: none;
  color: #3b82f6;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  margin-left: 2px;
}

.lv-pill-remove:hover {
  color: #1e40af;
}

/* Responsividade */
@media (max-width: 768px) {
  .lv-filters-bar {
    flex-wrap: wrap;
  }
  .lv-filter-search-general {
    order: -1;
    flex-basis: 100%;
    max-width: none;
    margin-bottom: 8px;
  }
  .lv-filters-container {
    flex-wrap: wrap;
    flex-basis: 100%;
  }
  .lv-filter-btn {
    flex: 1;
  }
}
/* Busca geral */
.lv-filter-search-general {
  position: relative;
  min-width: 250px;
}

.lv-filter-search-general i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
}

/* Estrutura principal */
.lv-filters-bar {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 0px;
  background: #fff;
  border-radius: 8px;
}

.lv-filters-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.lv-filters-container {
  display: flex;
  gap: 12px;
}

/* Ações dos filtros (próximo aos filtros) */
.lv-filter-actions {
  display: flex;
  gap: 8px;
  padding-left: 12px;
  border-left: 1px solid #e0e0e0;
}

/* Ações gerais (distante dos filtros) */
.lv-general-actions {
  display: flex;
  gap: 12px;
  margin-left: auto;
}

/* Link de rascunhos */
.lv-link-drafts {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  color: #666;
  text-decoration: none;
  transition: color 0.2s;
}

.lv-link-drafts:hover {
  color: #0066cc;
}

/* Seção de filtros ativos */
.lv-active-filters {
  margin-top: 12px;
  padding: 12px 16px;
  background: #f8f9fa;
  border-radius: 8px;
}

.lv-active-filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.lv-active-filters-label {
  font-size: 13px;
  color: #666;
  font-weight: 500;
}

.lv-clear-all-filters {
  font-size: 13px;
  color: #0066cc;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
}

.lv-clear-all-filters:hover {
  color: #0052a3;
}

/* Tags de filtros */
.lv-filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lv-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 20px;
  font-size: 13px;
}

.lv-tag-label {
  color: #666;
}

.lv-tag-value {
  color: #333;
  font-weight: 500;
}

.lv-tag-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  background: #f0f0f0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s;
}

.lv-tag-remove:hover {
  background: #e0e0e0;
}

.lv-tag-remove i {
  font-size: 10px;
  color: #666;
}

/* Bootstrap Icons fallback se não carregar */
.bi-x::before {
  content: "×";
  font-size: 14px;
  font-weight: bold;
}

/* Responsividade */
@media (max-width: 1200px) {
  .lv-filters-bar {
    flex-wrap: wrap;
  }
  .lv-general-actions {
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
    margin-top: 12px;
  }
}
/* Estilos dos dropdowns de filtro */
.lv-filter-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}

.lv-filter-btn:hover {
  border-color: #999;
}

.lv-filter-text {
  color: #666;
  font-size: 13px;
}

.lv-filter-selected {
  color: #333;
  font-weight: 500;
}

.lv-dropdown-menu {
  margin-top: 4px;
  padding: 8px;
  min-width: 200px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Componente Genérico para Estado Vazio */
.lv-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
}

.lv-empty-state-icon {
  width: 72px;
  height: 72px;
  background: #f3f4f6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.lv-empty-state-icon i {
  font-size: 32px;
  color: #9ca3af;
}

.lv-empty-state-title {
  font-size: 16px;
  font-weight: 500;
  color: #4b5563;
  margin-bottom: 8px;
}

.lv-empty-state-description {
  font-size: 14px;
  color: #6b7280;
  max-width: 360px;
  line-height: 1.5;
}

/* Variações de Tema */
.lv-empty-state--primary .lv-empty-state-icon {
  background: #eff6ff;
}

.lv-empty-state--primary .lv-empty-state-icon i {
  color: #3b82f6;
}

.lv-empty-state--success .lv-empty-state-icon {
  background: #f0fdf4;
}

.lv-empty-state--success .lv-empty-state-icon i {
  color: #22c55e;
}

.lv-empty-state--warning .lv-empty-state-icon {
  background: #fefce8;
}

.lv-empty-state--warning .lv-empty-state-icon i {
  color: #eab308;
}

.lv-empty-state--info .lv-empty-state-icon {
  background: #f3f0ff;
}

.lv-empty-state--info .lv-empty-state-icon i {
  color: #8b5cf6;
}

/* Variações de Tamanho */
.lv-empty-state--small {
  padding: 32px 20px;
}

.lv-empty-state--small .lv-empty-state-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
}

.lv-empty-state--small .lv-empty-state-icon i {
  font-size: 24px;
}

.lv-empty-state--small .lv-empty-state-title {
  font-size: 14px;
}

.lv-empty-state--small .lv-empty-state-description {
  font-size: 13px;
}

/* Variação com Borda */
.lv-empty-state--bordered {
  border: 2px dashed #e5e7eb;
  border-radius: 12px;
  background: #fafafa;
}

/* Variação Inline (para listas) */
.lv-empty-state--inline {
  padding: 24px 16px;
}

.lv-empty-state--inline .lv-empty-state-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
}

.lv-empty-state--inline .lv-empty-state-icon i {
  font-size: 20px;
}

.lv-add-tojob-stepper {
  background: #FFFFFF;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border-bottom: 1px solid #E5E7EB;
}

.lv-add-tojob-step {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: default;
}

.lv-add-tojob-step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #FFFFFF;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.8125rem;
  border: 1.5px solid #D1D5DB;
  transition: all 0.2s;
}

.lv-add-tojob-step-text {
  font-size: 0.8125rem;
  color: #9CA3AF;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}

.lv-add-tojob-step.active .lv-add-tojob-step-number {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}

.lv-add-tojob-step.active .lv-add-tojob-step-text {
  color: #1A1A1A;
  font-weight: 600;
}

.lv-add-tojob-step-connector {
  width: 40px;
  height: 1px;
  background: #E5E7EB;
}

.lv-add-tojob-content-wrapper {
  padding: 24px;
  min-height: 500px;
}

.lv-add-tojob-search-wrapper {
  margin-bottom: 20px;
}

.lv-add-tojob-search-group {
  position: relative;
}

.lv-add-tojob-search-input {
  width: 100%;
  padding: 10px 44px 10px 14px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  font-size: 0.875rem;
  background: #FFFFFF;
  color: #1A1A1A;
  transition: border-color 0.15s;
}
.lv-add-tojob-search-input:focus {
  outline: none;
  border-color: #1A1A1A;
}
.lv-add-tojob-search-input::placeholder {
  color: #9CA3AF;
}

.lv-add-tojob-search-btn {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 42px;
  background: #1A1A1A;
  color: #FFFFFF;
  border: 1px solid #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
  font-size: 0.875rem;
}
.lv-add-tojob-search-btn:hover {
  background: #1F2937;
}

.lv-add-tojob-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lv-add-tojob-item {
  background: #FFFFFF;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #F3F4F6;
  transition: background 0.15s;
}
.lv-add-tojob-item:first-child {
  border-top: 1px solid #E5E7EB;
}
.lv-add-tojob-item:last-child {
  border-bottom: 1px solid #E5E7EB;
}
.lv-add-tojob-item:hover {
  background: #F9FAFB;
}

.lv-add-tojob-item-content {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;
}

.lv-add-tojob-item-icon {
  width: 40px;
  height: 40px;
  background: #1A1A1A;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 1rem;
  flex-shrink: 0;
}

.lv-add-tojob-item-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.lv-add-tojob-item-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  line-height: 1.3;
}

.lv-add-tojob-item-meta {
  font-size: 0.75rem;
  color: #6B7280;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.lv-add-tojob-item-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.lv-add-tojob-item-meta i {
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.btn-select-job {
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #1A1A1A;
  padding: 6px 16px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.btn-select-job:hover {
  background: #1A1A1A;
  color: #FFFFFF;
}

.lv-add-tojob-empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #9CA3AF;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
}
.lv-add-tojob-empty-state i {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
  display: block;
  color: #D1D5DB;
}
.lv-add-tojob-empty-state p {
  font-size: 0.8125rem;
  margin: 0;
  letter-spacing: 0.01em;
}

.lv-add-tojob-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1A1A1A;
  background: none;
  border: none;
  font-weight: 500;
  margin-bottom: 20px;
  cursor: pointer;
  font-size: 0.8125rem;
  padding: 0;
  letter-spacing: 0.01em;
}
.lv-add-tojob-back-btn:hover {
  text-decoration: underline;
}

.lv-add-tojob-card-header {
  padding: 14px 20px;
  border-bottom: 1px solid #F3F4F6;
}

.lv-add-tojob-card-title {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.lv-add-tojob-card-body {
  padding: 20px;
}

.lv-add-tojob-details-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.lv-add-tojob-detail {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lv-add-tojob-detail-label {
  font-size: 0.6875rem;
  color: #9CA3AF;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.lv-add-tojob-detail-value {
  font-size: 0.875rem;
  color: #1A1A1A;
  font-weight: 500;
}

.lv-add-tojob-status-badge {
  display: inline-block;
  padding: 2px 10px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid;
}
.lv-add-tojob-status-badge.active {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}

.lv-add-tojob-candidate-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #F3F4F6;
}

.lv-add-tojob-candidate-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #E5E7EB;
}

.lv-add-tojob-candidate-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  line-height: 1.3;
}

.lv-add-tojob-candidate-role {
  font-size: 0.75rem;
  color: #6B7280;
}

.lv-add-tojob-form-group {
  margin-bottom: 20px;
}
.lv-add-tojob-form-group:last-child {
  margin-bottom: 0;
}

.lv-add-tojob-label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  display: block;
}

.lv-add-tojob-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  font-size: 0.875rem;
  color: #1A1A1A;
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
  transition: border-color 0.15s;
}
.lv-add-tojob-textarea:focus {
  outline: none;
  border-color: #1A1A1A;
}
.lv-add-tojob-textarea::placeholder {
  color: #9CA3AF;
}

.lv-add-tojob-help-text {
  font-size: 0.6875rem;
  color: #9CA3AF;
  margin-top: 6px;
}

.lv-add-tojob-tags-wrapper {
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  transition: border-color 0.15s;
}
.lv-add-tojob-tags-wrapper:focus-within {
  border-color: #1A1A1A;
}

.lv-add-tojob-tags-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  min-height: 42px;
  cursor: text;
}

.lv-add-tojob-tags-input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.875rem;
  color: #1A1A1A;
  flex: 1;
  min-width: 120px;
  padding: 2px 0;
}
.lv-add-tojob-tags-input::placeholder {
  color: #D1D5DB;
}

.lv-add-tojob-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  padding: 2px 6px 2px 8px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1A1A1A;
  line-height: 1.4;
  white-space: nowrap;
}

.lv-add-tojob-tag-text {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lv-add-tojob-tag-remove {
  background: none;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0 2px;
  display: flex;
  align-items: center;
}
.lv-add-tojob-tag-remove:hover {
  color: #1A1A1A;
}

.lv-add-tojob-checkbox-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lv-add-tojob-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #1A1A1A;
}

.lv-add-tojob-checkbox-label {
  font-size: 0.8125rem;
  color: #4B5563;
  cursor: pointer;
  margin: 0;
}

.lv-add-tojob-skeleton-item {
  background: #FFFFFF;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #F3F4F6;
}
.lv-add-tojob-skeleton-item:first-child {
  border-top: 1px solid #E5E7EB;
}

.lv-add-tojob-skeleton-icon,
.lv-add-tojob-skeleton-title,
.lv-add-tojob-skeleton-meta,
.lv-add-tojob-skeleton-button {
  background: linear-gradient(90deg, #F3F4F6 25%, #F9FAFB 50%, #F3F4F6 75%);
  background-size: 200% 100%;
  animation: lv-add-tojob-skeleton-loading 1.5s infinite;
}

.lv-add-tojob-skeleton-icon {
  width: 40px;
  height: 40px;
}

.lv-add-tojob-skeleton-content {
  flex: 1;
  margin: 0 16px;
}

.lv-add-tojob-skeleton-title {
  height: 16px;
  width: 200px;
  margin-bottom: 6px;
}

.lv-add-tojob-skeleton-meta {
  height: 12px;
  width: 140px;
}

.lv-add-tojob-skeleton-button {
  width: 80px;
  height: 28px;
}

@keyframes lv-add-tojob-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.lv-add-tojob-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  margin-top: 4px;
}

.lv-add-tojob-pager-info {
  font-size: 0.6875rem;
  color: #9CA3AF;
  letter-spacing: 0.02em;
}

.lv-add-tojob-pager-nav {
  display: flex;
  gap: 0;
}

.lv-add-tojob-pager-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #E5E7EB;
  margin-left: -1px;
  background: #FFFFFF;
  color: #1A1A1A;
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.12s, color 0.12s;
  cursor: pointer;
}
.lv-add-tojob-pager-btn:first-child {
  margin-left: 0;
}
.lv-add-tojob-pager-btn:hover:not(.disabled):not(.active) {
  background: #F9FAFB;
  color: #1A1A1A;
}
.lv-add-tojob-pager-btn.active {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
  z-index: 1;
  font-weight: 600;
}
.lv-add-tojob-pager-btn.disabled {
  color: #D1D5DB;
  cursor: default;
  pointer-events: none;
}
.lv-add-tojob-pager-btn i {
  font-size: 0.625rem;
}

.lv-add-tojob-confirmation {
  animation: lv-add-tojob-fadeIn 0.25s ease;
}

@keyframes lv-add-tojob-fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .lv-add-tojob-details-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .lv-add-tojob-content-wrapper {
    padding: 16px;
  }
  .lv-add-tojob-stepper {
    padding: 16px;
  }
}
:root {
  --lv-primary: #349422;
  --lv-primary-hover: #e8f5e4;
  --lv-success: #22C55E;
  --lv-success-hover: #16A34A;
  --lv-secondary: #6B7280;
  --lv-light: #F9FAFB;
  --lv-border: #E5E7EB;
  --lv-text-primary: #1A1A1A;
  --lv-text-secondary: #6B7280;
  --lv-shadow: 0 8px 16px -4px rgba(9, 30, 66, 0.25);
  --lv-radius: 0;
  --lv-radius-sm: 0;
}

/* Modal principal */
.lv-ai-job-generate .modal-dialog {
  max-width: 1200px;
  margin: 1.5rem auto;
}

.lv-ai-job-generate .modal-content {
  border: none;
  border-radius: var(--lv-radius);
  box-shadow: var(--lv-shadow);
  overflow: hidden;
  height: 85vh;
  display: flex;
  flex-direction: column;
}

/* Header do modal */
.lv-ai-job-generate .modal-header {
  background: #FFFFFF;
  color: #349422;
  border-bottom: 3px solid #dfe1e6;
  padding: 1.25rem 2rem;
  flex-shrink: 0;
}

.lv-ai-job-generate .modal-title {
  font-size: 1.25rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lv-ai-job-generate .btn-close {
  filter: brightness(0) invert(1);
  opacity: 0.8;
}

.lv-ai-job-generate .btn-close:hover {
  opacity: 1;
}

/* Body do modal - Layout de duas colunas */
.lv-ai-job-generate .modal-body {
  padding: 0;
  background-color: #fafbfc;
  flex: 1;
  overflow: hidden;
  display: flex;
}

/* Coluna esquerda - Input */
.lv-ai-job-generate-input-column {
  width: 40%;
  background: white;
  border-right: 1px solid var(--lv-border);
  display: flex;
  flex-direction: column;
}

.lv-ai-job-generate-input-header {
  background: var(--lv-light);
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--lv-border);
  flex-shrink: 0;
}

.lv-ai-job-generate-input-header h6 {
  margin: 0;
  color: var(--lv-text-primary);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-ai-job-generate-input-content {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.lv-ai-job-generate-input-content .form-label {
  color: var(--lv-text-primary);
  font-weight: 500;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-ai-job-generate-input-content .form-control {
  border: 2px solid var(--lv-border);
  border-radius: var(--lv-radius-sm);
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  resize: vertical;
  flex: 1;
  min-height: 200px;
}

.lv-ai-job-generate-input-content .form-control:focus {
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

.lv-ai-job-generate-input-content .form-text {
  color: var(--lv-text-secondary);
  font-size: 0.875rem;
  margin-top: 0.75rem;
  margin-bottom: 1rem;
}

/* Botões de ação na coluna esquerda */
.lv-ai-job-generate-input-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1rem;
}

/* Coluna direita - Output */
.lv-ai-job-generate-output-column {
  width: 60%;
  display: flex;
  flex-direction: column;
  background: white;
}

.lv-ai-job-generate-output-header {
  background: var(--lv-light);
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--lv-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.lv-ai-job-generate-output-header h6 {
  margin: 0;
  color: var(--lv-text-primary);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-ai-job-generate-output-content {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}

/* Estados do output */
.lv-ai-job-generate-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  color: var(--lv-text-secondary);
}

.lv-ai-job-generate-empty-state i {
  font-size: 4rem;
  margin-bottom: 1rem;
  opacity: 0.3;
}

.lv-ai-job-generate-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}

.lv-ai-job-generate-loading .spinner-border {
  color: #349422;
  margin-bottom: 1rem;
}

.lv-ai-job-generate-result {
  height: 100%;
  overflow-y: auto;
}

.lv-ai-job-generate-result .job-description {
  color: var(--lv-text-primary);
  line-height: 1.6;
  font-size: 0.95rem;
}

.lv-ai-job-generate-result h6 {
  color: #349422;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--lv-light);
}

.lv-ai-job-generate-result h6:first-child {
  margin-top: 0;
}

.lv-ai-job-generate-result ul {
  padding-left: 1.25rem;
}

.lv-ai-job-generate-result li {
  margin-bottom: 0.5rem;
}

/* Botões */
.lv-ai-job-generate .btn {
  padding: 0.75rem 1.5rem;
  font-weight: 500;
  border-radius: var(--lv-radius-sm);
  transition: all 0.2s ease;
  border: none;
  font-size: 0.95rem;
}

.lv-ai-job-generate .btn-primary {
  background-color: #349422;
  color: white;
}

.lv-ai-job-generate .btn-primary:hover:not(:disabled) {
  background-color: #e8f5e4;
  transform: translateY(-1px);
}

.lv-ai-job-generate .btn-success {
  background-color: var(--lv-success);
  color: white;
}

.lv-ai-job-generate .btn-success:hover {
  background-color: var(--lv-success-hover);
  transform: translateY(-1px);
}

.lv-ai-job-generate .btn-outline-secondary {
  border: 2px solid var(--lv-border);
  color: var(--lv-text-secondary);
}

.lv-ai-job-generate .btn-outline-secondary:hover {
  background-color: var(--lv-light);
  border-color: var(--lv-secondary);
  color: var(--lv-text-primary);
}

/* Badge de status */
.lv-ai-job-generate-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  background: rgba(0, 135, 90, 0.1);
  color: var(--lv-success);
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Footer do modal */
.lv-ai-job-generate .modal-footer {
  background-color: #fafbfc;
  border-top: 1px solid var(--lv-border);
  padding: 1.25rem 2rem;
  justify-content: space-between;
  flex-shrink: 0;
}

.lv-ai-job-generate-footer-actions {
  display: flex;
  gap: 0.75rem;
}

/* Animações */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-in {
  animation: fadeIn 0.3s ease-out;
}

/* Responsividade */
@media (max-width: 992px) {
  .lv-ai-job-generate .modal-dialog {
    max-width: 95%;
    margin: 1rem auto;
  }
  .lv-ai-job-generate .modal-body {
    flex-direction: column;
    overflow-y: auto;
  }
  .lv-ai-job-generate-input-column,
  .lv-ai-job-generate-output-column {
    width: 100%;
  }
  .lv-ai-job-generate-input-column {
    border-right: none;
    border-bottom: 1px solid var(--lv-border);
    min-height: 300px;
  }
  .lv-ai-job-generate-output-column {
    min-height: 400px;
  }
  .lv-ai-job-generate-footer-actions {
    flex-direction: column;
    width: 100%;
  }
}
@media (max-width: 576px) {
  .lv-ai-job-generate .modal-dialog {
    margin: 0.5rem;
  }
  .lv-ai-job-generate .modal-header,
  .lv-ai-job-generate .modal-footer {
    padding: 1rem 1.5rem;
  }
  .lv-ai-job-generate-input-content {
    padding: 1rem;
  }
  .lv-ai-job-generate-output-content {
    padding: 1rem;
  }
}
/*
 * Configuration Menu - Editorial Corporate Style
 * Design limpo, minimalista e sofisticado
 */
#configuration-menu {
  max-width: 280px;
  flex: 0 0 280px;
  height: -webkit-fill-available;
  background: #FFFFFF;
  border-right: 1px solid #F3F4F6;
}

.lv-menu-config-menu {
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  background: #FFFFFF;
}

.lv-menu-config-header {
  background: #FFFFFF;
  color: #1A1A1A;
  padding: 1.5rem 1rem 1.125rem;
  border-bottom: 1px solid #F3F4F6;
  position: relative;
}

.lv-menu-config-title {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1A1A1A;
}

.lv-menu-config-subtitle {
  font-size: 0.8125rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
  font-weight: 400;
}

.lv-menu-config-body {
  padding: 0;
}

.lv-menu-config-section {
  border-bottom: 1px solid #F3F4F6;
  background: #FFFFFF;
  padding-bottom: 0.5rem;
}
.lv-menu-config-section:last-child {
  border-bottom: none;
}

.lv-menu-config-section-header {
  display: flex;
  align-items: center;
  padding: 1.25rem 1rem 0.5rem;
  margin-bottom: 0;
}

.lv-menu-config-section-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 0;
  background: #F9FAFB;
  color: #1A1A1A;
  margin-right: 0.75rem;
  font-size: 0.75rem;
}

.lv-menu-config-section-title {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #D1D5DB;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0;
}
.lv-menu-config-section-title--admin {
  color: #b45309;
}

.lv-menu-config-nav {
  list-style: none;
  padding: 0 0.5rem;
  margin: 0;
}

.lv-menu-config-nav-item {
  margin-bottom: 2px;
}

.lv-menu-config-nav-link {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.75rem;
  color: #4B5563;
  font-weight: 400;
  text-decoration: none;
  transition: all 0.15s ease;
  font-size: 0.875rem;
  position: relative;
  border-radius: 0;
  border-left: 2px solid transparent;
}
.lv-menu-config-nav-link:hover {
  color: #1A1A1A;
  background-color: #FAFAFA;
  text-decoration: none;
  border-left-color: #E5E7EB;
}
.lv-menu-config-nav-link.active {
  color: #1A1A1A;
  font-weight: 600;
  background-color: #F9FAFB;
  border-left-color: #1A1A1A;
}

.lv-menu-config-nav-icon {
  margin-right: 0.75rem;
  font-size: 1rem;
  color: #9CA3AF;
  min-width: 18px;
  text-align: center;
  transition: color 0.15s ease;
}
.lv-menu-config-nav-link:hover .lv-menu-config-nav-icon {
  color: #4B5563;
}
.lv-menu-config-nav-link.active .lv-menu-config-nav-icon {
  color: #1A1A1A;
}

.lv-menu-config-nav-text {
  flex: 1;
  transition: transform 0.15s ease;
}
.lv-menu-config-nav-link:hover .lv-menu-config-nav-text {
  transform: translateX(1px);
}
.lv-menu-config-nav-locked:hover .lv-menu-config-nav-text {
  transform: none;
}

.lv-menu-config-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 0;
  background: #F3F4F6;
  color: #4B5563;
  font-size: 0.6875rem;
  font-weight: 600;
  margin-left: 0.5rem;
}
.lv-menu-config-nav-badge.lv-menu-config-badge-success {
  background: rgba(34, 197, 94, 0.15);
  color: #22C55E;
}
.lv-menu-config-nav-badge.lv-menu-config-badge-warning {
  background: rgba(245, 158, 11, 0.15);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.lv-menu-config-nav-badge.lv-menu-config-badge-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #EF4444;
}
.lv-menu-config-nav-badge.lv-menu-config-badge-plan {
  background: #fef3c7;
  color: #b45309;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-radius: 3px;
  gap: 0.1875rem;
  white-space: nowrap;
}
.lv-menu-config-nav-badge.lv-menu-config-badge-plan i {
  font-size: 0.5rem;
}

.lv-menu-config-nav-locked {
  opacity: 0.55;
  cursor: default;
}
.lv-menu-config-nav-locked:hover {
  background-color: transparent;
  border-left-color: transparent;
  color: #4B5563;
}
.lv-menu-config-nav-locked .lv-menu-config-nav-icon {
  color: #D1D5DB;
}

.lv-menu-config-section--admin {
  border-bottom: none;
  border-top: 2px solid #fef3c7;
  margin-top: 0.25rem;
}

.lv-menu-config-badge-admin {
  background: #fef3c7;
  color: #b45309;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-radius: 3px;
}

.lv-menu-config-nav-arrow {
  margin-left: 0.5rem;
  font-size: 0.75rem;
  color: #D1D5DB;
  transition: transform 0.15s ease, color 0.15s ease;
}
.lv-menu-config-nav-link:hover .lv-menu-config-nav-arrow {
  transform: translateX(2px);
  color: #6B7280;
}

.lv-menu-config-footer {
  padding: 1.25rem 1rem;
  background: #FAFAFA;
  border-top: 1px solid #F3F4F6;
}

.lv-menu-config-help-link {
  display: inline-flex;
  align-items: center;
  color: #1A1A1A;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-size: 0.8125rem;
  font-weight: 500;
  gap: 0.5rem;
  transition: color 0.15s ease;
}
.lv-menu-config-help-link:hover {
  color: #6B7280;
  text-decoration: underline;
}

.config-layout-wrapper {
  position: relative;
  left: 50px;
  width: calc(100% - 50px);
}

.lv-config-layout-main-col {
  position: relative;
  width: calc(100% - 300px);
}

@media (max-width: 768px) {
  .config-layout-wrapper {
    left: 0;
    width: 100%;
    padding-top: 56px;
  }
  #configuration-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 100%;
    flex: none;
    z-index: 1200;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-right: none;
    overflow-y: auto;
    background: #FFFFFF;
  }
  #configuration-menu.config-menu-open {
    transform: translateY(0);
  }
  #configuration-menu.config-menu-open .mobile-filter-close {
    display: flex;
  }
  .lv-config-layout-sidebar {
    padding: 1rem;
    position: relative;
    height: auto;
  }
  .lv-config-layout-main-col {
    width: 100%;
  }
  .lv-config-layout-main {
    padding: 1rem;
  }
  .lv-menu-config-section-header {
    padding: 0.875rem 1rem 0.5rem;
  }
  .lv-menu-config-nav-link {
    padding: 0.75rem 1rem;
  }
  .lv-menu-config-header {
    padding: 1rem;
  }
  .lv-menu-config-footer {
    padding: 1rem;
  }
}
.lv-config-layout-container {
  min-height: 100vh;
  background-color: #FFFFFF;
}

.lv-config-layout-sidebar {
  background: #FFFFFF;
  padding: 1.5rem 0.5rem 1.5rem 1.5rem;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.lv-config-layout-main {
  background: #FAFAFA;
  padding: 2rem;
  min-height: 100vh;
}

.lv-config-layout-header {
  background: transparent;
  padding: 0 0 2rem 0;
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 2rem;
}

.lv-config-layout-breadcrumb-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.lv-config-layout-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.8125rem;
  color: #9CA3AF;
}

.lv-config-layout-breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-config-layout-breadcrumb-link {
  color: #9CA3AF;
  text-decoration: none;
  transition: color 0.15s ease;
  font-weight: 400;
}
.lv-config-layout-breadcrumb-link:hover {
  color: #1A1A1A;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lv-config-layout-breadcrumb-current {
  color: #1A1A1A;
  font-weight: 500;
}

.lv-config-layout-breadcrumb-separator {
  color: #D1D5DB;
  font-size: 0.625rem;
  margin: 0 0.125rem;
}

.lv-config-layout-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  color: #4B5563;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.15s ease;
}
.lv-config-layout-back-btn:hover {
  background: #FAFAFA;
  border-color: #1A1A1A;
  color: #1A1A1A;
  text-decoration: none;
}

.lv-config-layout-title-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.lv-config-layout-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  letter-spacing: -0.01em;
}

.lv-config-layout-subtitle {
  color: #6B7280;
  font-size: 0.9375rem;
  margin: 0.5rem 0 0 0;
  font-weight: 400;
}

.lv-config-layout-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lv-config-layout-content {
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
}

@media (max-width: 992px) {
  .lv-config-layout-sidebar {
    position: static;
    padding: 1.5rem 1rem;
    max-height: none;
    margin-bottom: 1rem;
    border-right: none;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-config-layout-main {
    padding: 1.5rem;
  }
  .lv-config-layout-breadcrumb-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .lv-config-layout-title {
    font-size: 1.25rem;
  }
}
@media (max-width: 576px) {
  .lv-config-layout-sidebar {
    padding: 1rem;
  }
  .lv-config-layout-main {
    padding: 1rem;
  }
  .lv-config-layout-header {
    padding: 0 0 1.5rem 0;
    margin-bottom: 1.5rem;
  }
  .lv-config-layout-title {
    font-size: 1.125rem;
  }
  .lv-config-layout-breadcrumb {
    font-size: 0.75rem;
  }
  .lv-config-layout-back-btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
  }
}
.lv-config-layout-sidebar {
  scrollbar-width: thin;
  scrollbar-color: #E5E7EB transparent;
}
.lv-config-layout-sidebar::-webkit-scrollbar {
  width: 4px;
}
.lv-config-layout-sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.lv-config-layout-sidebar::-webkit-scrollbar-thumb {
  background: #E5E7EB;
  border-radius: 0;
}
.lv-config-layout-sidebar::-webkit-scrollbar-thumb:hover {
  background: #D1D5DB;
}

.lv-config-layout-content .config-form-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.lv-config-layout-content .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 0.8125rem;
  color: #1A1A1A;
}
.lv-config-layout-content .form-label .text-danger {
  color: #EF4444;
}
.lv-config-layout-content .form-control {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  color: #1A1A1A;
  background-color: #ffffff;
  border: 1.5px solid #E5E7EB;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.lv-config-layout-content .form-control::placeholder {
  color: #6B7280;
}
.lv-config-layout-content .form-control:hover:not(:focus):not(:disabled) {
  border-color: #D1D5DB;
}
.lv-config-layout-content .form-control:focus {
  outline: none;
  border-color: #1A1A1A;
  background-color: #ffffff;
}
.lv-config-layout-content .form-control:disabled, .lv-config-layout-content .form-control[readonly] {
  background-color: #FAFAFA;
  border-color: #E5E7EB;
  color: #9CA3AF;
  cursor: not-allowed;
}
.lv-config-layout-content .form-control.is-invalid {
  border-color: #EF4444;
}
.lv-config-layout-content .form-control.is-valid {
  border-color: #22C55E;
}
.lv-config-layout-content textarea.form-control {
  height: auto;
  min-height: 100px;
  padding: 0.75rem 0.875rem;
}
.lv-config-layout-content .form-select,
.lv-config-layout-content select.form-control {
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235E6C84' d='M3.5 4.5L6 7l2.5-2.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  appearance: none;
}
.lv-config-layout-content .select2-container {
  width: 100% !important;
}
.lv-config-layout-content .select2-container--default .select2-selection--single {
  height: 40px;
  border: 1.5px solid #E5E7EB;
  border-radius: 4px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
}
.lv-config-layout-content .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1;
  padding-left: 12px;
  padding-right: 30px;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  height: 100%;
}
.lv-config-layout-content .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 8px;
  display: flex;
  align-items: center;
}
.lv-config-layout-content .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #6B7280;
}
.lv-config-layout-content .select2-container--default.select2-container--open .select2-selection--single,
.lv-config-layout-content .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #1A1A1A;
}
.lv-config-layout-content .select2-container--default .select2-selection--single:hover {
  border-color: #D1D5DB;
}
.lv-config-layout-content .form-section {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.lv-config-layout-content .form-section:last-of-type {
  margin-bottom: 0;
}
.lv-config-layout-content .form-section .input-group {
  flex-wrap: nowrap;
}
.lv-config-layout-content .form-section .input-group > .form-control:not(:last-child) {
  border-right: 0;
}
.lv-config-layout-content .form-section .input-group > .form-control:focus {
  border-right: 1.5px solid #1A1A1A;
}
.lv-config-layout-content .form-section .input-group > .form-control:focus + .btn {
  border-left-color: #1A1A1A;
}
.lv-config-layout-content .form-section .input-group > .btn {
  border-color: #E5E7EB;
  background-color: #FAFAFA;
  color: #4B5563;
  flex-shrink: 0;
}
.lv-config-layout-content .form-section .input-group > .btn:hover {
  background-color: rgb(237.25, 237.25, 237.25);
  color: #1A1A1A;
}
.lv-config-layout-content .form-section .input-group > .btn i {
  font-size: 0.875rem;
}
.lv-config-layout-content .form-section-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: #1A1A1A;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.lv-config-layout-content .form-section-title i {
  color: #1A1A1A;
  font-size: 1rem;
}
.lv-config-layout-content .field-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.75rem;
  color: #6B7280;
  margin-top: 6px;
  line-height: 1.4;
}
.lv-config-layout-content .field-hint i {
  font-size: 0.6875rem;
  margin-top: 2px;
  color: #9CA3AF;
  flex-shrink: 0;
}
.lv-config-layout-content .form-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-radius: 6px;
  font-size: 0.875rem;
  line-height: 1.5;
}
.lv-config-layout-content .form-alert > i {
  font-size: 1.125rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.lv-config-layout-content .form-alert strong {
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.lv-config-layout-content .form-alert p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.lv-config-layout-content .form-alert-info {
  background-color: #FAFAFA;
  border: 1px solid #E5E7EB;
  color: #1A1A1A;
}
.lv-config-layout-content .form-alert-info > i {
  color: #4B5563;
}
.lv-config-layout-content .form-alert-info strong {
  color: #1A1A1A;
}
.lv-config-layout-content .form-alert-info p {
  color: #4B5563;
}
.lv-config-layout-content .form-alert-warning {
  background-color: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.2);
  color: #92400e;
}
.lv-config-layout-content .form-alert-warning > i {
  color: #f59e0b;
}
.lv-config-layout-content .form-alert-success {
  background-color: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.2);
  color: #065f46;
}
.lv-config-layout-content .form-alert-success > i {
  color: #22C55E;
}
.lv-config-layout-content .form-alert-danger {
  background-color: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.15);
  color: #991b1b;
}
.lv-config-layout-content .form-alert-danger > i {
  color: #EF4444;
}
.lv-config-layout-content .form-actions {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.lv-config-layout-content .form-switch .form-check-label {
  color: #1A1A1A;
  font-weight: 500;
}
.lv-config-layout-content .text-muted,
.lv-config-layout-content small.text-muted {
  color: #6B7280 !important;
  font-size: 0.8125rem;
}
.lv-config-layout-content .text-muted i,
.lv-config-layout-content small.text-muted i {
  color: #9CA3AF;
  margin-right: 4px;
}
.lv-config-layout-content .alert-info {
  background-color: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  color: #1A1A1A;
}
.lv-config-layout-content .alert-info i {
  color: #4B5563;
}
.lv-config-layout-content .alert-info strong {
  color: #1A1A1A;
}
.lv-config-layout-content .alert-info p {
  color: #4B5563;
  margin-bottom: 0;
}
.lv-config-layout-content .btn-primary {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
  font-weight: 500;
}
.lv-config-layout-content .btn-primary:hover {
  background-color: #374151;
  border-color: #374151;
}
.lv-config-layout-content .btn-primary:focus {
  box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.2);
}
.lv-config-layout-content .btn-outline-primary {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.lv-config-layout-content .btn-outline-primary:hover {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.lv-config-layout-content .btn-outline-primary:focus {
  box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.15);
}
.lv-config-layout-content .btn-outline-secondary {
  border-color: #E5E7EB;
  color: #4B5563;
}
.lv-config-layout-content .btn-outline-secondary:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.lv-config-layout-content .row:not([class*=g-]) {
  margin-bottom: 1rem;
}
.lv-config-layout-content .row:not([class*=g-]):last-child {
  margin-bottom: 0;
}
.lv-config-layout-content hr {
  border-color: #E5E7EB;
  opacity: 1;
}
.lv-config-layout-content .invalid-feedback {
  display: none;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: #EF4444;
}
.lv-config-layout-content .invalid-feedback.d-block, .is-invalid ~ .lv-config-layout-content .invalid-feedback {
  display: block;
}
.lv-config-layout-content .valid-feedback {
  display: none;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: #22C55E;
}
.lv-config-layout-content .mb-3 {
  margin-bottom: 1rem !important;
}
.lv-config-layout-content .form-control.loading {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 50 50'%3E%3Cpath fill='%235169d2' d='M25,5A20,20,0,1,1,5,25,20,20,0,0,1,25,5m0-5A25,25,0,1,0,50,25,25,25,0,0,0,25,0Z' opacity='.3'/%3E%3Cpath fill='%235169d2' d='M25,0A25,25,0,0,1,50,25H45A20,20,0,0,0,25,5Z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 18px;
  padding-right: 40px;
}
.lv-config-layout-content .spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.15em;
}
.lv-config-layout-content .d-flex.gap-2 {
  gap: 0.5rem;
}
.lv-config-layout-content .profile-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  overflow: hidden;
  position: sticky;
  top: 2rem;
}
.lv-config-layout-content .profile-card-header {
  background: #1A1A1A;
  color: #FFFFFF;
  padding: 1rem 1.25rem;
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lv-config-layout-content .profile-card-body {
  padding: 1.5rem;
  text-align: center;
}
.lv-config-layout-content .profile-avatar-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
.lv-config-layout-content .profile-avatar {
  position: relative;
  width: 120px;
  height: 120px;
}
.lv-config-layout-content .profile-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #E5E7EB;
}
.lv-config-layout-content .profile-avatar-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  font-weight: 600;
  text-transform: uppercase;
}
.lv-config-layout-content .profile-avatar-edit {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 2px solid #ffffff;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.lv-config-layout-content .profile-avatar-edit:hover {
  background: #374151;
  transform: scale(1.1);
}
.lv-config-layout-content .profile-avatar-edit i {
  font-size: 0.875rem;
}
.lv-config-layout-content .profile-info {
  margin-bottom: 1rem;
}
.lv-config-layout-content .profile-info h5 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
}
.lv-config-layout-content .profile-info p {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
}
.lv-config-layout-content .profile-hint {
  background: #FAFAFA;
  border-radius: 0;
  padding: 0.75rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  text-align: left;
}
.lv-config-layout-content .profile-hint i {
  color: #9CA3AF;
  flex-shrink: 0;
  margin-top: 2px;
}
.lv-config-layout-content .profile-hint span {
  font-size: 0.75rem;
  color: #6B7280;
  line-height: 1.4;
}
.lv-config-layout-content .security-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: #FAFAFA;
  border-radius: 0;
  border: 1px solid #F3F4F6;
  gap: 1rem;
}
.lv-config-layout-content .security-item-info {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.lv-config-layout-content .security-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 0;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lv-config-layout-content .security-item-icon i {
  font-size: 1.25rem;
}
.lv-config-layout-content .security-item-content h6 {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
}
.lv-config-layout-content .security-item-content p {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
}
.lv-config-layout-content #image-container-cropper {
  background: #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lv-config-layout-content #image-container-cropper img {
  max-width: 100%;
  display: block;
}
.lv-config-layout-content .crop-instructions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: #6B7280;
}
.lv-config-layout-content .crop-instructions i {
  font-size: 0.875rem;
}
.lv-config-layout-content .password-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.lv-config-layout-content .password-input-wrapper .form-control {
  padding-right: 3rem;
}
.lv-config-layout-content .password-input-wrapper .password-toggle {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 3rem;
  border: none;
  background: transparent;
  color: #6B7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
  border-radius: 0 4px 4px 0;
}
.lv-config-layout-content .password-input-wrapper .password-toggle:hover {
  color: #349422;
  background-color: rgba(52, 148, 34, 0.05);
}
.lv-config-layout-content .password-input-wrapper .password-toggle i {
  font-size: 1.125rem;
}
.lv-config-layout-content .password-strength-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.lv-config-layout-content .password-strength-bar {
  flex: 1;
  height: 4px;
  background-color: #F9FAFB;
  border-radius: 2px;
  overflow: hidden;
}
.lv-config-layout-content .password-strength-fill {
  height: 100%;
  width: 0;
  border-radius: 2px;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.lv-config-layout-content .password-strength-fill.weak {
  background-color: #de350b;
}
.lv-config-layout-content .password-strength-fill.medium {
  background-color: #ff991f;
}
.lv-config-layout-content .password-strength-fill.good {
  background-color: #00b8d9;
}
.lv-config-layout-content .password-strength-fill.strong {
  background-color: #36b37e;
}
.lv-config-layout-content .password-strength-text {
  font-size: 0.75rem;
  font-weight: 600;
  min-width: 50px;
  text-align: right;
}
.lv-config-layout-content .password-strength-text.weak {
  color: #de350b;
}
.lv-config-layout-content .password-strength-text.medium {
  color: #ff991f;
}
.lv-config-layout-content .password-strength-text.good {
  color: #00b8d9;
}
.lv-config-layout-content .password-strength-text.strong {
  color: #36b37e;
}
.lv-config-layout-content .password-match-indicator {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.lv-config-layout-content .password-match-indicator.match {
  color: #36b37e;
}
.lv-config-layout-content .password-match-indicator.no-match {
  color: #de350b;
}
.lv-config-layout-content .password-match-indicator i {
  font-size: 0.875rem;
}
.lv-config-layout-content .password-requirements-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  position: sticky;
  top: 2rem;
}
.lv-config-layout-content .requirements-header {
  background: linear-gradient(135deg, #349422 0%, rgb(40.3428571429, 114.821978022, 26.378021978) 100%);
  color: #ffffff;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 600;
  font-size: 0.9375rem;
}
.lv-config-layout-content .requirements-header i {
  font-size: 1.25rem;
}
.lv-config-layout-content .requirements-body {
  padding: 1.25rem;
}
.lv-config-layout-content .requirements-intro {
  font-size: 0.8125rem;
  color: #4B5563;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.lv-config-layout-content .requirements-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lv-config-layout-content .requirements-list li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #E5E7EB;
  transition: all 0.2s ease;
}
.lv-config-layout-content .requirements-list li:last-child {
  border-bottom: none;
}
.lv-config-layout-content .requirements-list li.valid .req-icon i {
  color: #36b37e;
}
.lv-config-layout-content .requirements-list li.valid .req-text {
  color: #36b37e;
}
.lv-config-layout-content .requirements-list li.invalid .req-icon i {
  color: #de350b;
}
.lv-config-layout-content .requirements-list li.invalid .req-text {
  color: #de350b;
}
.lv-config-layout-content .requirements-list .req-icon {
  width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lv-config-layout-content .requirements-list .req-icon i {
  font-size: 0.875rem;
  color: #6B7280;
  transition: color 0.2s ease;
}
.lv-config-layout-content .requirements-list .req-text {
  font-size: 0.8125rem;
  color: #4B5563;
  transition: color 0.2s ease;
}
.lv-config-layout-content .requirements-footer {
  background-color: #FAFAFA;
  padding: 0.875rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #6B7280;
  line-height: 1.5;
}
.lv-config-layout-content .requirements-footer i {
  color: #349422;
  margin-top: 2px;
  flex-shrink: 0;
}

.config-tabs {
  display: flex;
  gap: 0.5rem;
  background: #FAFAFA;
  padding: 0.375rem;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}

.config-tab {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  border: none;
  background: transparent;
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.config-tab i {
  font-size: 1rem;
}
.config-tab:hover {
  color: #1A1A1A;
  background: rgba(255, 255, 255, 0.5);
}
.config-tab.active {
  background: #ffffff;
  color: #349422;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.config-tab-content {
  display: none;
}
.config-tab-content.active {
  display: block;
}

.logo-upload-container {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}

.logo-preview {
  width: 140px;
  height: 140px;
  border: 2px dashed #E5E7EB;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FAFAFA;
  flex-shrink: 0;
  overflow: hidden;
}
.logo-preview img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.logo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: #6B7280;
}
.logo-placeholder i {
  font-size: 2.5rem;
}
.logo-placeholder span {
  font-size: 0.75rem;
}

.logo-upload-info {
  flex: 1;
}
.logo-upload-info h6 {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.5rem 0;
}
.logo-upload-info p {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0 0 1rem 0;
  line-height: 1.5;
}

.logo-upload-actions {
  margin-bottom: 1rem;
}

.logo-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.logo-specs span {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
}
.logo-specs span i {
  font-size: 0.875rem;
  color: #349422;
}

.rich-text-editor {
  min-height: 200px;
  border: 1.5px solid #E5E7EB;
  border-radius: 6px;
  background: #ffffff;
}

.departments-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.departments-search {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  max-width: 500px;
}
.departments-search .search-input-wrapper {
  position: relative;
  flex: 1;
}
.departments-search .search-input-wrapper i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  font-size: 0.9375rem;
}
.departments-search .search-input-wrapper .form-control {
  padding-left: 2.5rem;
}

.departments-count {
  font-size: 0.8125rem;
  color: #6B7280;
  white-space: nowrap;
}
.departments-count #results-count {
  font-weight: 600;
  color: #349422;
}

.departments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}

.department-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.department-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #349422;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.department-card:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border-color: #349422;
}
.department-card:hover::before {
  opacity: 1;
}

.department-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.875rem;
}

.department-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #349422 0%, rgb(37.4285714286, 106.5274725275, 24.4725274725) 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.125rem;
  flex-shrink: 0;
}

.department-info {
  flex: 1;
  min-width: 0;
}

.department-name {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.department-date {
  font-size: 0.75rem;
  color: #6B7280;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.department-date i {
  font-size: 0.6875rem;
}

.department-description {
  color: #4B5563;
  font-size: 0.8125rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
}

.department-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.875rem;
  border-top: 1px solid #E5E7EB;
}

.department-status {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
}
.department-status.status-active {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.department-status.status-inactive {
  background: rgba(107, 114, 128, 0.1);
  color: #6B7280;
}
.department-status i {
  font-size: 0.8125rem;
}

.department-actions {
  display: flex;
  gap: 0.5rem;
}
.department-actions .btn {
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.department-actions .btn i {
  font-size: 0.8125rem;
}
.department-actions .btn:hover {
  transform: translateY(-1px);
}

.empty-state {
  background: #ffffff;
  border: 2px dashed #E5E7EB;
  border-radius: 12px;
  padding: 4rem 2rem;
  text-align: center;
}

.empty-state-icon {
  width: 80px;
  height: 80px;
  background: #FAFAFA;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.empty-state-icon i {
  font-size: 2rem;
  color: #6B7280;
}

.empty-state h5 {
  color: #1A1A1A;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.empty-state p {
  color: #6B7280;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}

.no-results {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 3rem 2rem;
  text-align: center;
}
.no-results > i {
  font-size: 2.5rem;
  color: #6B7280;
  margin-bottom: 1rem;
  display: block;
}
.no-results h5 {
  color: #1A1A1A;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.no-results p {
  color: #6B7280;
  font-size: 0.875rem;
  margin: 0;
}

@media (max-width: 768px) {
  .departments-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .departments-search {
    max-width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .departments-grid {
    grid-template-columns: 1fr;
  }
}
.users-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.users-list-tabs {
  display: flex;
  gap: 0.5rem;
  background: #FAFAFA;
  padding: 0.25rem;
  border-radius: 8px;
}

.users-tab-link {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  color: #4B5563;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
}
.users-tab-link:hover {
  color: #1A1A1A;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.5);
}
.users-tab-link.active {
  background: #ffffff;
  color: #349422;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.users-list-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.users-list-search {
  display: flex;
  gap: 0.5rem;
}
.users-list-search .search-input-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.users-list-search .search-input-wrapper i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  font-size: 0.9375rem;
}
.users-list-search .search-input-wrapper .form-control {
  padding-left: 2.5rem;
}

.users-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 1rem;
}

.user-card {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.user-card:hover {
  border-color: #349422;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.user-status-indicator {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.user-status-indicator.status-active {
  background-color: #22C55E;
}
.user-status-indicator.status-inactive {
  background-color: #EF4444;
}

.user-card-main {
  display: flex;
  align-items: center;
  flex: 1;
  padding-left: 1rem;
  gap: 1rem;
}

.user-avatar {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #349422 0%, rgb(37.4285714286, 106.5274725275, 24.4725274725) 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.125rem;
  flex-shrink: 0;
}

.user-info {
  flex: 1;
  min-width: 0;
}

.user-name {
  margin: 0 0 0.25rem 0;
  font-weight: 600;
  color: #1A1A1A;
  font-size: 0.9375rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-email {
  color: #6B7280;
  font-size: 0.8125rem;
  margin-bottom: 0.375rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  color: #6B7280;
}

.user-id {
  font-weight: 500;
}

.user-card-actions {
  margin-left: 0.5rem;
}

.user-menu-trigger {
  border: none;
  background: none;
  color: #6B7280;
  padding: 0.5rem;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.user-menu-trigger:hover {
  background-color: #FAFAFA;
  color: #1A1A1A;
}
.user-menu-trigger i {
  font-size: 1rem;
}

@media (max-width: 768px) {
  .users-list-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .users-list-tabs {
    justify-content: center;
  }
  .users-list-actions {
    justify-content: flex-end;
  }
  .users-list-search .search-input-wrapper {
    min-width: 100%;
  }
  .users-list-grid {
    grid-template-columns: 1fr;
  }
}
.permissions-page .permissions-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.permissions-page .permissions-toolbar .search-input-wrapper {
  position: relative;
  width: 320px;
}
.permissions-page .permissions-toolbar .search-input-wrapper i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
}
.permissions-page .permissions-toolbar .search-input-wrapper .form-control {
  padding-left: 2.5rem;
}
.permissions-page .permissions-table {
  width: 100%;
  border-collapse: collapse;
}
.permissions-page .permissions-table thead {
  background: #FAFAFA;
  border-bottom: 2px solid #E5E7EB;
}
.permissions-page .permissions-table thead th {
  padding: 12px 16px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #6B7280;
  letter-spacing: 0.5px;
  text-align: left;
}
.permissions-page .permissions-table tbody tr {
  border-bottom: 1px solid #E5E7EB;
  transition: all 0.2s ease;
  cursor: pointer;
}
.permissions-page .permissions-table tbody tr:hover {
  background: #FAFAFA;
}
.permissions-page .permissions-table tbody td {
  padding: 16px;
  font-size: 0.875rem;
  color: #1A1A1A;
}
.permissions-page .profile-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.permissions-page .profile-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #349422 0%, rgb(30.1428571429, 85.7912087912, 19.7087912088) 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1rem;
}
.permissions-page .profile-name {
  font-weight: 600;
  color: #1A1A1A;
}
.permissions-page .profile-description {
  font-size: 0.75rem;
  color: #6B7280;
  margin-top: 2px;
}
.permissions-page .badge-count {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: rgba(52, 148, 34, 0.1);
  color: #349422;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 500;
}
.permissions-page .badge-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
}
.permissions-page .badge-status.active {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.permissions-page .badge-status .status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.permissions-page .table-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.permissions-page .btn-icon-action {
  width: 32px;
  height: 32px;
  border: 1px solid #E5E7EB;
  background: #ffffff;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
}
.permissions-page .btn-icon-action:hover {
  background: #FAFAFA;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.permissions-page .btn-icon-action.danger:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: #EF4444;
  color: #EF4444;
}
.permissions-page .permission-view {
  display: none;
  animation: slideIn 0.3s ease;
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.permissions-page .permission-meta {
  font-size: 0.8125rem;
  color: #6B7280;
  display: flex;
  gap: 12px;
  margin-top: 0.5rem;
}
.permissions-page .permissions-tree {
  background: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
}
.permissions-page .permission-group {
  margin-bottom: 4px;
  border-left: 2px solid transparent;
  transition: all 0.2s ease;
}
.permissions-page .permission-group:hover {
  border-left-color: #349422;
  background: #ffffff;
}
.permissions-page .permission-parent {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  gap: 8px;
}
.permissions-page .permission-parent:hover {
  background: rgba(52, 148, 34, 0.05);
}
.permissions-page .permission-parent .form-check {
  margin-bottom: 0;
}
.permissions-page .tree-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  transition: transform 0.2s ease;
  cursor: pointer;
}
.permissions-page .tree-icon.expanded {
  transform: rotate(90deg);
}
.permissions-page .tree-icon i {
  font-size: 0.625rem;
}
.permissions-page .permission-children {
  display: none;
  padding-left: 48px;
  padding-bottom: 8px;
}
.permissions-page .permission-children.show {
  display: block;
}
.permissions-page .permission-child {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.permissions-page .permission-child:hover {
  background: rgba(52, 148, 34, 0.05);
}
.permissions-page .permission-child .form-check {
  margin-bottom: 0;
}
.permissions-page .permission-child .form-check-label {
  font-size: 0.8125rem;
  color: #4B5563;
}
.permissions-page .select-all-wrapper .form-check {
  margin-bottom: 0;
}

.toast-notification {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  padding: 0.875rem 1.25rem;
  border-radius: 8px;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
}
.toast-notification.show {
  opacity: 1;
  transform: translateY(0);
}
.toast-notification.bg-success {
  background: linear-gradient(135deg, #36b37e 0%, #2d9a6a 100%);
}
.toast-notification.bg-danger {
  background: linear-gradient(135deg, #de350b 0%, #bf2600 100%);
}
.toast-notification i {
  font-size: 1.125rem;
}

.integration-channels {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.integration-channel {
  display: flex;
  align-items: center;
  padding: 1.25rem;
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  gap: 1.25rem;
  transition: all 0.2s ease;
}
.integration-channel:hover {
  border-color: #349422;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.channel-logo {
  width: 60px;
  height: 60px;
  background: #FAFAFA;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.channel-logo img {
  max-width: 44px;
  max-height: 44px;
  object-fit: contain;
}

.channel-info {
  flex: 1;
  min-width: 0;
}

.channel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.375rem;
}

.channel-name {
  margin: 0;
  font-weight: 600;
  color: #1A1A1A;
  font-size: 1rem;
}

.channel-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 0.6875rem;
  font-weight: 500;
}
.channel-badge.active {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.channel-badge.inactive {
  background: rgba(107, 114, 128, 0.1);
  color: #6B7280;
}

.channel-description {
  margin: 0;
  font-size: 0.8125rem;
  color: #6B7280;
}

.channel-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

.config-welcome {
  text-align: center;
  padding: 3rem 2rem;
}

.config-welcome-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #349422 0%, rgb(37.4285714286, 106.5274725275, 24.4725274725) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.config-welcome-icon i {
  font-size: 2rem;
  color: #ffffff;
}

.config-welcome h5 {
  color: #1A1A1A;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.config-welcome p {
  color: #6B7280;
  margin-bottom: 2rem;
}

.config-quick-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  max-width: 600px;
  margin: 0 auto;
}

.quick-link-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1rem;
  background: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  text-decoration: none;
  color: #1A1A1A;
  transition: all 0.2s ease;
}
.quick-link-card:hover {
  border-color: #349422;
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: #349422;
}
.quick-link-card i {
  font-size: 1.5rem;
  color: #349422;
  margin-bottom: 0.75rem;
}
.quick-link-card span {
  font-size: 0.875rem;
  font-weight: 500;
}

@media (max-width: 768px) {
  .integration-channel {
    flex-direction: column;
    text-align: center;
  }
  .channel-header {
    justify-content: center;
    flex-wrap: wrap;
  }
  .channel-actions {
    width: 100%;
    justify-content: center;
  }
}
.career-page-config .career-status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.career-page-config .career-status-card.status-active {
  border-left: 4px solid #22C55E;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.05) 0%, #ffffff 100%);
}
.career-page-config .career-status-card.status-inactive {
  border-left: 4px solid #6B7280;
}
.career-page-config .status-info {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.career-page-config .status-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.status-active .career-page-config .status-icon {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.status-inactive .career-page-config .status-icon {
  background: rgba(107, 114, 128, 0.1);
  color: #6B7280;
}
.career-page-config .status-content h6 {
  margin: 0 0 0.25rem 0;
  font-weight: 600;
  color: #1A1A1A;
}
.career-page-config .status-content p {
  margin: 0;
  font-size: 0.875rem;
}
.career-page-config .career-url {
  color: #349422;
  text-decoration: none;
  font-weight: 500;
}
.career-page-config .career-url:hover {
  text-decoration: underline;
}
.career-page-config .subdomain-input-group {
  display: flex;
  align-items: center;
  position: relative;
}
.career-page-config .subdomain-input-group .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
  padding-right: 1rem;
}
.career-page-config .subdomain-input-group .subdomain-suffix {
  display: flex;
  align-items: center;
  padding: 0.625rem 1rem;
  background: #FAFAFA;
  border: 1.5px solid #E5E7EB;
  border-left: none;
  border-radius: 0 0 0 0;
  color: #6B7280;
  font-size: 0.875rem;
  white-space: nowrap;
}
.career-page-config .subdomain-input-group .subdomain-status {
  position: absolute;
  right: -140px;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
}
.career-page-config .subdomain-input-group .subdomain-status.checking {
  color: #6B7280;
}
.career-page-config .subdomain-input-group .subdomain-status.available {
  color: #22C55E;
}
.career-page-config .subdomain-input-group .subdomain-status.unavailable {
  color: #EF4444;
}
.career-page-config .banner-upload-container {
  margin-bottom: 1rem;
}
.career-page-config .banner-preview {
  position: relative;
  width: 100%;
  height: 200px;
  background: #FAFAFA;
  border: 2px dashed #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
}
.career-page-config .banner-preview:hover {
  border-color: #349422;
}
.career-page-config .banner-preview:hover .banner-upload-btn {
  opacity: 1;
}
.career-page-config .banner-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.career-page-config .banner-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #6B7280;
}
.career-page-config .banner-placeholder i {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}
.career-page-config .banner-placeholder span {
  font-size: 0.875rem;
}
.career-page-config .banner-upload-btn {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  background: #349422;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.8;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.career-page-config .banner-upload-btn:hover {
  transform: scale(1.1);
  opacity: 1;
}
.career-page-config .upload-specs {
  display: flex;
  gap: 1.5rem;
  margin-top: 0.75rem;
}
.career-page-config .upload-specs span {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
}
.career-page-config .upload-specs span i {
  color: #349422;
}
.career-page-config .mvv-card {
  text-align: center;
  padding: 1.25rem;
  background: #FAFAFA;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}
.career-page-config .mvv-card .form-label {
  display: block;
  margin-bottom: 0.75rem;
}
.career-page-config .mvv-card textarea {
  text-align: center;
}
.career-page-config .mvv-card .rich-text-editor {
  text-align: left;
}
.career-page-config .rich-text-editor-sm .mention-editor-container {
  min-height: 120px !important;
}
.career-page-config .rich-text-editor-sm .mention-editor-container .mention-editor {
  min-height: 100px !important;
  font-size: 0.875rem;
}
.career-page-config .mvv-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 1.25rem;
}
.career-page-config .mvv-icon.mission {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
}
.career-page-config .mvv-icon.vision {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.career-page-config .mvv-icon.values {
  background: rgba(244, 63, 94, 0.1);
  color: #f43f5e;
}
.career-page-config .social-links-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.career-page-config .social-link-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.career-page-config .social-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1.5rem;
  font-size: 1.125rem;
}
.career-page-config .social-icon.website {
  background: rgba(52, 148, 34, 0.1);
  color: #349422;
}
.career-page-config .social-icon.linkedin {
  background: rgba(0, 119, 181, 0.1);
  color: #0077b5;
}
.career-page-config .social-icon.instagram {
  background: linear-gradient(45deg, rgba(240, 148, 51, 0.1), rgba(220, 39, 67, 0.1), rgba(188, 24, 136, 0.1));
  color: #dc2743;
}
.career-page-config .social-icon.facebook {
  background: rgba(24, 119, 242, 0.1);
  color: #1877f2;
}
.career-page-config .social-icon.youtube {
  background: rgba(255, 0, 0, 0.1);
  color: #ff0000;
}
.career-page-config .social-icon.twitter {
  background: rgba(0, 0, 0, 0.1);
  color: #000000;
}
.career-page-config .social-input {
  flex: 1;
}
.career-page-config .social-input .form-label {
  font-weight: 500;
}

@media (max-width: 992px) {
  .career-page-config .subdomain-input-group .subdomain-status {
    position: static;
    margin-top: 0.5rem;
  }
  .career-page-config .social-links-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .career-page-config .career-status-card {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  .career-page-config .status-info {
    flex-direction: column;
  }
  .career-page-config .status-actions {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.gallery-upload-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media (max-width: 768px) {
  .gallery-upload-grid {
    grid-template-columns: 1fr;
  }
}

.gallery-upload-item {
  display: flex;
  flex-direction: column;
}

.gallery-preview {
  position: relative;
  width: 100%;
  height: 180px;
  background: #FAFAFA;
  border: 2px dashed #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
}
.gallery-preview:hover {
  border-color: #349422;
}
.gallery-preview:hover .gallery-upload-btn {
  opacity: 1;
}
.gallery-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #6B7280;
}
.gallery-placeholder i {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.gallery-placeholder span {
  font-size: 0.8125rem;
}

.gallery-upload-btn {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 36px;
  height: 36px;
  background: #349422;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.gallery-upload-btn:hover {
  transform: scale(1.1);
  opacity: 1;
}

.testimonials-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.testimony-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
  transition: all 0.2s ease;
}
.testimony-card:hover {
  border-color: #349422;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.testimony-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.testimony-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.testimony-avatar-placeholder {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #349422 0%, rgb(30.1428571429, 85.7912087912, 19.7087912088) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.testimony-avatar-placeholder i {
  font-size: 1.5rem;
  color: #ffffff;
}

.testimony-info {
  flex: 1;
  min-width: 0;
}
.testimony-info h6 {
  margin: 0 0 0.25rem 0;
  font-weight: 600;
  color: #1A1A1A;
  font-size: 0.9375rem;
}
.testimony-info span {
  font-size: 0.8125rem;
  color: #6B7280;
}

.testimony-text {
  margin: 0;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  font-style: italic;
}
.testimony-text::before {
  content: '"';
  color: #349422;
}
.testimony-text::after {
  content: '"';
  color: #349422;
}

.delete-testimony {
  flex-shrink: 0;
}

.add-testimony-form {
  background: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
}

.testimony-photo-upload {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.testimony-photo-preview {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px dashed #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  overflow: hidden;
}
.testimony-photo-preview i {
  font-size: 2rem;
}

.color-picker-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  padding: 1.25rem;
  transition: all 0.2s ease;
}
.color-picker-card:hover {
  border-color: #349422;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.color-picker-card .form-label {
  font-weight: 600;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.color-picker-card .form-label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #349422;
}

.color-picker-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #FAFAFA;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}
.color-picker-wrapper .form-control-color {
  width: 56px;
  height: 44px;
  padding: 3px;
  border: 2px solid #ffffff;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}
.color-picker-wrapper .form-control-color:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.color-picker-wrapper .form-control-color::-webkit-color-swatch-wrapper {
  padding: 0;
}
.color-picker-wrapper .form-control-color::-webkit-color-swatch {
  border: none;
  border-radius: 5px;
}
.color-picker-wrapper .form-control-color::-moz-color-swatch {
  border: none;
  border-radius: 5px;
}
.color-picker-wrapper .form-control-sm {
  flex: 1;
  font-family: "SF Mono", "Monaco", "Consolas", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 1px;
  font-weight: 600;
  text-align: center;
  border: none;
  background: transparent;
}
.color-picker-wrapper .form-control-sm:focus {
  background: #ffffff;
  border-radius: 4px;
}

.appearance-preview {
  background: #FAFAFA;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
}
.appearance-preview h6 {
  font-weight: 600;
  color: #1A1A1A;
  font-size: 0.875rem;
}

.preview-box {
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.preview-header {
  padding: 1rem 1.25rem;
  color: #ffffff;
  transition: background-color 0.2s ease;
}

.preview-title {
  font-weight: 600;
  font-size: 1rem;
}

.preview-content {
  padding: 1.25rem;
  transition: background-color 0.2s ease;
}

.preview-text {
  margin: 0 0 1rem 0;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: color 0.2s ease;
}

.preview-heading {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.75rem 0;
  color: inherit;
}

.preview-text {
  margin: 0 0 1rem 0;
  font-size: 0.875rem;
  line-height: 1.6;
}

.preview-job {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 6px;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
}

.preview-job-title {
  font-weight: 600;
  color: inherit;
}

.preview-job-location {
  opacity: 0.7;
}

.preview-btn {
  display: inline-block;
  padding: 0.625rem 1.25rem;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.preview-btn:hover {
  filter: brightness(1.1);
}

.template-selector {
  margin-bottom: 2rem;
}

.template-card {
  display: block;
  cursor: pointer;
  background: #ffffff;
  border: 2px solid #E5E7EB;
  border-radius: 12px;
  padding: 1rem;
  transition: all 0.2s ease;
  height: 100%;
}
.template-card input[type=radio] {
  display: none;
}
.template-card:hover {
  border-color: #349422;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.template-card.selected {
  border-color: #349422;
  background: rgba(52, 148, 34, 0.03);
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.15);
}

.template-preview {
  background: #f1f5f9;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  min-height: 140px;
  position: relative;
  overflow: hidden;
}

.template-preview--classic .tp-nav {
  height: 8px;
  background: #64748b;
  border-radius: 2px;
  margin-bottom: 8px;
}
.template-preview--classic .tp-hero {
  height: 28px;
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  border-radius: 4px;
  margin-bottom: 8px;
}
.template-preview--classic .tp-section {
  height: 16px;
  background: #ffffff;
  border-radius: 3px;
  margin-bottom: 8px;
  border: 1px solid #e2e8f0;
}
.template-preview--classic .tp-cards {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.template-preview--classic .tp-card {
  flex: 1;
  height: 20px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}
.template-preview--classic .tp-jobs {
  height: 32px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}

.template-preview--minimal .tp-nav-mini {
  height: 6px;
  background: #64748b;
  border-radius: 2px;
  margin-bottom: 10px;
  width: 40%;
}
.template-preview--minimal .tp-hero-mini {
  height: 20px;
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  border-radius: 4px;
  margin-bottom: 10px;
}
.template-preview--minimal .tp-search {
  height: 12px;
  background: #ffffff;
  border-radius: 6px;
  margin-bottom: 10px;
  border: 2px solid #e2e8f0;
}
.template-preview--minimal .tp-job-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.template-preview--minimal .tp-job-item {
  height: 14px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}

.template-preview--showcase .tp-hero-full {
  height: 40px;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  border-radius: 4px;
  margin-bottom: 8px;
  position: relative;
}
.template-preview--showcase .tp-float-search {
  height: 10px;
  width: 60%;
  background: #ffffff;
  border-radius: 5px;
  margin: -5px auto 10px;
  position: relative;
  z-index: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.template-preview--showcase .tp-two-col {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}
.template-preview--showcase .tp-col-left {
  flex: 1;
  height: 30px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}
.template-preview--showcase .tp-col-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.template-preview--showcase .tp-featured {
  height: 13px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}
.template-preview--showcase .tp-benefits {
  display: flex;
  gap: 4px;
}
.template-preview--showcase .tp-benefit {
  flex: 1;
  height: 16px;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
}

.template-info {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.template-info strong {
  font-size: 0.9375rem;
  color: #1A1A1A;
}

.template-badge {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.template-badge--default {
  background: #e2e8f0;
  color: #64748b;
}
.template-badge--conversion {
  background: #dcfce7;
  color: #16a34a;
}
.template-badge--branding {
  background: #fef3c7;
  color: #d97706;
}

.template-desc {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

.template-preview--marketing {
  background: #0f172a;
  position: relative;
}
.template-preview--marketing .tp-bg-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1e1b4b 0%, #0f172a 100%);
  border-radius: 6px;
}
.template-preview--marketing .tp-hero-center {
  position: relative;
  width: 60%;
  height: 24px;
  margin: 16px auto 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}
.template-preview--marketing .tp-cta-btns {
  position: relative;
  width: 40%;
  height: 12px;
  margin: 0 auto 12px;
  background: #6366f1;
  border-radius: 6px;
}
.template-preview--marketing .tp-features-row {
  position: relative;
  display: flex;
  gap: 6px;
  padding: 0 8px;
}
.template-preview--marketing .tp-feature-box {
  flex: 1;
  height: 24px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.template-preview--startup .tp-hero-split {
  display: flex;
  gap: 8px;
  height: 50px;
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
  border-radius: 6px;
  padding: 8px;
  margin-bottom: 8px;
}
.template-preview--startup .tp-split-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.template-preview--startup .tp-split-left::before {
  content: "";
  height: 8px;
  width: 70%;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}
.template-preview--startup .tp-split-left::after {
  content: "";
  height: 6px;
  width: 50%;
  background: #10b981;
  border-radius: 3px;
}
.template-preview--startup .tp-split-right {
  flex: 1;
  display: flex;
  gap: 4px;
}
.template-preview--startup .tp-stat-card {
  flex: 1;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.template-preview--startup .tp-mvv-compact {
  display: flex;
  gap: 4px;
}
.template-preview--startup .tp-mvv-compact::before, .template-preview--startup .tp-mvv-compact::after {
  content: "";
  flex: 1;
  height: 20px;
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid #e2e8f0;
}

.template-preview--custom {
  background: #1e1e1e;
  padding: 10px;
  border-radius: 6px;
}
.template-preview--custom .tp-code-lines {
  margin-bottom: 8px;
}
.template-preview--custom .tp-code-line {
  height: 6px;
  background: #3c3c3c;
  border-radius: 2px;
  margin-bottom: 4px;
}
.template-preview--custom .tp-code-line.short {
  width: 60%;
}
.template-preview--custom .tp-inject-area {
  background: #2d2d2d;
  border: 1px dashed #10b981;
  border-radius: 4px;
  padding: 8px;
  margin-bottom: 8px;
  text-align: center;
}
.template-preview--custom .tp-inject-area span {
  font-size: 8px;
  font-family: monospace;
  color: #10b981;
}

.template-badge--impact {
  background: #ede9fe;
  color: #7c3aed;
}
.template-badge--tech {
  background: #d1fae5;
  color: #059669;
}
.template-badge--custom {
  background: #fce7f3;
  color: #db2777;
}

.bg-image-section .bg-image-upload-container {
  max-width: 600px;
}
.bg-image-section .bg-image-preview {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #f1f5f9;
  border: 2px dashed #cbd5e1;
  cursor: pointer;
  transition: all 0.2s;
}
.bg-image-section .bg-image-preview:hover {
  border-color: #2563eb;
  background: #f8fafc;
}
.bg-image-section .bg-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bg-image-section .bg-image-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #94a3b8;
}
.bg-image-section .bg-image-placeholder i {
  font-size: 32px;
}
.bg-image-section .bg-image-placeholder span {
  font-size: 14px;
}
.bg-image-section .bg-image-upload-btn {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2563eb;
  color: white;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.bg-image-section .bg-image-upload-btn:hover {
  background: #1d4ed8;
  transform: scale(1.05);
}

.custom-html-section textarea {
  font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;
  font-size: 13px;
  line-height: 1.6;
  background: #1e1e1e;
  color: #d4d4d4;
  border-color: #3c3c3c;
  resize: vertical;
}
.custom-html-section textarea:focus {
  background: #1e1e1e;
  color: #d4d4d4;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.custom-html-section textarea::placeholder {
  color: #6a6a6a;
}
.custom-html-section code {
  background: #fef3c7;
  color: #92400e;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

/*
 * Actions Modal - Editorial Corporate Style
 * Command palette com busca e seções agrupadas
 */
.lv-actions-modal .modal-content {
  border: none;
  border-radius: 0;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.lv-actions-modal .modal-header {
  background-color: #1A1A1A !important;
  color: #FFFFFF !important;
  border-radius: 0;
  padding: 1.25rem 1.5rem;
  border: none;
  border-bottom: none;
}
.lv-actions-modal .modal-title,
.lv-actions-modal #lvActionsModalLabel {
  color: #FFFFFF !important;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.02em;
}
.lv-actions-modal .modal-header p {
  color: rgba(255, 255, 255, 0.7) !important;
  margin: 0.25rem 0 0 0;
  font-size: 0.8125rem;
  font-weight: 400;
}
.lv-actions-modal .btn-close {
  filter: brightness(0) invert(1);
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.lv-actions-modal .btn-close:hover {
  opacity: 1;
}
.lv-actions-modal .modal-body {
  padding: 0;
  background-color: #FFFFFF;
  max-height: 70vh;
  overflow-y: auto;
}

.lv-actions-search {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.5rem;
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
}

.lv-actions-search-icon {
  color: #D1D5DB;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lv-actions-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 400;
  color: #1A1A1A;
  padding: 0;
}
.lv-actions-search-input::placeholder {
  color: #D1D5DB;
}

.lv-actions-search-kbd {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 3px;
  padding: 0.0625rem 0.375rem;
  font-family: inherit;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #9CA3AF;
  line-height: 1.4;
}

.lv-actions-section {
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}
.lv-actions-section:last-child {
  border-bottom: none;
}
.lv-actions-section.lv-actions-section--hidden {
  display: none;
}

.lv-actions-section-title {
  padding: 0 1.5rem;
  margin: 0 0 0.25rem 0;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9CA3AF;
}

.lv-actions-list {
  display: flex;
  flex-direction: column;
}

.lv-action-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1.5rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.lv-action-item:hover {
  background-color: #F9FAFB;
  text-decoration: none;
  color: inherit;
}
.lv-action-item:active {
  background-color: #F3F4F6;
}
.lv-action-item.lv-action-item--active {
  background-color: #F9FAFB;
}
.lv-action-item.lv-action-item--hidden {
  display: none;
}
.lv-action-item.lv-action-item--disabled {
  opacity: 0.45;
  pointer-events: none;
}

.lv-action-item-icon {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--lv-item-bg, #F9FAFB);
}
.lv-action-item-icon i {
  font-size: 1rem;
  color: var(--lv-item-color, #1A1A1A);
}

.lv-action-item-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

.lv-action-item-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1A1A1A;
  line-height: 1.3;
}

.lv-action-item-desc {
  font-size: 0.6875rem;
  color: #9CA3AF;
  line-height: 1.3;
}

.lv-action-item-badge {
  background: #FEE2E2;
  color: #EF4444;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  border-radius: 3px;
  flex-shrink: 0;
}

.lv-action-item-shortcut {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 3px;
  padding: 0.0625rem 0.375rem;
  font-family: inherit;
  font-size: 0.625rem;
  font-weight: 500;
  color: #9CA3AF;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.lv-action-item:hover .lv-action-item-shortcut {
  opacity: 1;
}

.lv-actions-empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
}
.lv-actions-empty p {
  font-size: 0.8125rem;
  color: #9CA3AF;
  margin: 0;
}

.lv-action-item:focus,
.lv-action-item:focus-visible {
  outline: 2px solid #1A1A1A;
  outline-offset: -2px;
}

@media (max-width: 768px) {
  .lv-actions-search {
    padding: 0.75rem 1rem;
  }
  .lv-actions-section-title {
    padding: 0 1rem;
  }
  .lv-action-item {
    padding: 0.5rem 1rem;
  }
  .lv-action-item-shortcut {
    display: none;
  }
  .lv-actions-search-kbd {
    display: none;
  }
}
@media print {
  .lv-actions-modal {
    display: none;
  }
}
.plan-banner {
  width: 100%;
  padding: 0.625rem 1.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  z-index: 1020;
  position: relative;
}

.plan-banner__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.plan-banner__content i {
  font-size: 1rem;
}
.plan-banner__content strong {
  font-weight: 700;
}

.plan-banner__btn {
  display: inline-block;
  padding: 0.25rem 0.875rem;
  font-weight: 600;
  font-size: 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: opacity 0.2s;
}
.plan-banner__btn:hover {
  opacity: 0.85;
  text-decoration: none;
}

.plan-banner--trial {
  background: #349422;
  color: #FFFFFF;
}
.plan-banner--trial .plan-banner__btn {
  background: #FFFFFF;
  color: #2a7a1b;
}

.plan-banner--warning {
  background: #F59E0B;
  color: #1A1A1A;
}
.plan-banner--warning .plan-banner__btn {
  background: #1A1A1A;
  color: #FFFFFF;
}

.plan-banner--danger {
  background: #EF4444;
  color: #FFFFFF;
}
.plan-banner--danger .plan-banner__btn {
  background: #FFFFFF;
  color: #DC2626;
}

.badge-plan-limit {
  display: inline-block;
  background: #EF4444;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  margin-left: 0.5rem;
  line-height: 1.2;
}

.btn.disabled,
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 768px) {
  .plan-banner {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
  }
  .plan-banner__content {
    gap: 0.375rem;
  }
}
.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f5f7;
  padding: 24px;
}

.login-container {
  width: 100%;
  max-width: 400px;
}

/* Card Principal */
.login-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(23, 43, 77, 0.12), 0 0 1px rgba(23, 43, 77, 0.16);
  padding: 40px 32px 32px;
}

/* Header */
.login-header {
  text-align: center;
  margin-bottom: 32px;
}

.login-logo {
  height: 40px;
  margin-bottom: 12px;
}

.login-subtitle {
  font-size: 14px;
  color: #5e6c84;
  margin: 0;
  font-weight: 400;
}

/* Alert de Erro */
.login-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  background: #ffebe6;
  border-radius: 4px;
  margin-bottom: 24px;
  border-left: 3px solid #de350b;
}

.login-alert i {
  color: #de350b;
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}

.login-alert p {
  font-size: 13px;
  color: #172b4d;
  margin: 0;
  line-height: 1.5;
}

/* Form */
.login-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.login-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.login-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.login-label {
  font-size: 12px;
  font-weight: 600;
  color: #5e6c84;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0;
}

.login-forgot-link {
  font-size: 13px;
  color: #0052cc;
  text-decoration: none;
  font-weight: 500;
}
.login-forgot-link:hover {
  text-decoration: underline;
  color: #0065ff;
}

/* Input Wrapper */
.login-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.login-input-icon {
  position: absolute;
  left: 12px;
  color: #7a869a;
  font-size: 16px;
  pointer-events: none;
  z-index: 1;
}

.login-input {
  width: 100%;
  height: 44px;
  padding: 0 40px;
  font-size: 14px;
  color: #172b4d;
  background: #fafbfc;
  border: 2px solid #dfe1e6;
  border-radius: 4px;
  transition: all 0.15s ease;
}
.login-input::placeholder {
  color: #97a0af;
}
.login-input:hover {
  background: #fff;
  border-color: #c1c7d0;
}
.login-input:focus {
  outline: none;
  background: #fff;
  border-color: #4c9aff;
  box-shadow: 0 0 0 1px #4c9aff;
}

/* Password Toggle */
.login-password-toggle {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #7a869a;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.15s ease;
}
.login-password-toggle:hover {
  background: #f4f5f7;
  color: #5e6c84;
}

/* Input Error State */
.login-input-wrapper.login-input-error .login-input {
  border-color: #de350b;
  background: #fff;
}
.login-input-wrapper.login-input-error .login-input:focus {
  box-shadow: 0 0 0 1px #de350b;
}

.login-error-message {
  min-height: 18px;
}

.login-error-text {
  font-size: 12px;
  color: #de350b;
  margin: 0;
}

/* Submit Button */
.login-button {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #0052cc;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-top: 4px;
}
.login-button:hover {
  background: #0065ff;
}
.login-button:active {
  background: #0747a6;
}
.login-button:disabled {
  background: #c1c7d0;
  cursor: not-allowed;
}
.login-button.login-button-loading {
  pointer-events: none;
}

/* Spinner */
.login-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  display: inline-block;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Divider */
.login-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #7a869a;
  font-size: 12px;
}
.login-divider::before, .login-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #dfe1e6;
}

/* Social Button */
.login-social-button {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #fff;
  color: #172b4d;
  border: 2px solid #dfe1e6;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.login-social-button:hover {
  background: #f4f5f7;
  border-color: #c1c7d0;
  color: #172b4d;
  text-decoration: none;
}

.google-icon {
  flex-shrink: 0;
}

/* Footer */
.login-footer {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #ebecf0;
  text-align: center;
}
.login-footer p {
  font-size: 14px;
  color: #5e6c84;
  margin: 0;
}

.login-register-link {
  color: #0052cc;
  text-decoration: none;
  font-weight: 600;
}
.login-register-link:hover {
  text-decoration: underline;
  color: #0065ff;
}

/* Aux Links */
.login-aux-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}
.login-aux-links a {
  font-size: 12px;
  color: #7a869a;
  text-decoration: none;
}
.login-aux-links a:hover {
  color: #5e6c84;
  text-decoration: underline;
}
.login-aux-links span {
  color: #c1c7d0;
  font-size: 10px;
}

/* Responsive */
@media (max-width: 480px) {
  .login-page {
    padding: 16px;
    align-items: flex-start;
    padding-top: 48px;
  }
  .login-card {
    padding: 32px 24px 24px;
  }
}
/*
 * Password Form Component
 *
 * Estilos para o formulário de alteração de senha
 */
.password-form {
  width: 100%;
  max-width: 400px;
}
.password-form__header {
  margin-bottom: 1rem;
}
.password-form__header h5 {
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
}
.password-form__header p {
  color: #6B7280;
  margin-bottom: 0;
}

.password-requirements {
  list-style-type: none;
  padding-left: 0.25rem;
  margin-top: 0.5rem;
}
.password-requirements li {
  padding: 3px 0;
  transition: color 0.3s;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
}
.password-requirements li.text-success {
  color: #22C55E;
}
.password-requirements li.text-muted {
  color: #6B7280;
}
.password-requirements li i {
  margin-right: 0.25rem;
}

.toggle-password {
  cursor: pointer;
  background-color: #349422;
  border-color: #E5E7EB;
  transition: background-color 0.2s;
}
.toggle-password:hover {
  background-color: #F3F4F6;
}
.toggle-password:focus {
  box-shadow: none;
  outline: none;
}
.toggle-password i {
  font-size: 1rem;
  color: #FFFFFF;
}

.password-strength {
  margin-top: 0.5rem;
}
.password-strength .progress {
  height: 5px;
  border-radius: 0;
  background-color: #F3F4F6;
  margin-bottom: 0.25rem;
}
.password-strength .bg-danger {
  background-color: #EF4444 !important;
}
.password-strength .bg-warning {
  background-color: #F59E0B !important;
}
.password-strength .bg-info {
  background-color: #3B82F6 !important;
}
.password-strength .bg-success {
  background-color: #22C55E !important;
}
.password-strength small {
  display: inline-block;
  margin-top: 2px;
  font-size: 0.75rem;
  color: #6B7280;
}

.password-instructions {
  background-color: rgba(59, 130, 246, 0.1);
  border-left: 3px solid #3B82F6;
  border-radius: 0;
  padding: 1rem;
  margin: 1rem 0;
}
.password-instructions h6 {
  color: #1A1A1A;
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}
.password-instructions h6 i {
  margin-right: 0.25rem;
  color: #3B82F6;
}

.is-invalid {
  border-color: #EF4444;
}
.is-invalid:focus {
  border-color: #EF4444;
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25);
}

.invalid-feedback {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #EF4444;
}

.is-valid {
  border-color: #22C55E;
}
.is-valid:focus {
  border-color: #22C55E;
  box-shadow: 0 0 0 0.2rem rgba(34, 197, 94, 0.25);
}

@media (max-width: 575px) {
  .password-form {
    padding: 0 0.5rem;
  }
  .input-group {
    flex-direction: column;
  }
  .input-group .form-control {
    border-radius: 0;
  }
  .input-group .toggle-password {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    border-radius: 0 0 0 0;
    border: none;
    background: #349422;
  }
  .input-group .toggle-password i {
    color: #FFFFFF;
  }
}
.filter-section {
  margin-bottom: 16px;
  border-bottom: 1px solid #ecebea;
  padding-bottom: 16px;
}
.filter-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.card.filter-section {
  border: 1px solid #dddbda;
  margin-bottom: 16px;
  overflow: visible;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: transform 0.15s, box-shadow 0.15s;
  border-radius: 4px;
}
.card.filter-section:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  margin-bottom: 12px;
  font-weight: 600;
  color: #080707;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 0.875rem;
}
.filter-header i {
  color: #0176d3;
  transition: transform 0.15s;
}
.filter-header i.collapsed {
  transform: rotate(180deg);
}

.filter-body {
  padding-left: 8px;
}

/* Correções específicas para o filtro */
.filter-body .form-check {
  padding: 0.25rem 0;
}
.filter-body .form-check label {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  cursor: pointer;
  transition: all 0.15s;
  font-size: 0.875rem;
  color: #3e3e3c;
}
.filter-body .form-check label:hover {
  color: #0176d3;
}
.filter-body .form-check input[type=checkbox] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #c9c7c5;
  appearance: none;
  margin-right: 8px;
  cursor: pointer;
  vertical-align: middle;
  border-radius: 3px;
  background: #fff;
}
.filter-body .form-check input[type=checkbox]:checked {
  background-color: #0176d3;
  border-color: #0176d3;
}
.filter-body .form-check input[type=checkbox]:checked::after {
  content: "✓";
  position: absolute;
  color: white;
  font-size: 11px;
  top: -1px;
  left: 2px;
}

.card.filter-section {
  padding: 0;
  overflow: visible;
}

.range-slider {
  padding: 16px 8px 8px;
}

.slider-track {
  height: 4px;
  background: #ecebea;
  position: relative;
  border-radius: 2px;
  margin: 12px 0;
  border: 1px solid #dddbda;
}

.slider-fill {
  position: absolute;
  height: 100%;
  background-color: #0176d3;
  left: 0;
  right: 30%;
  border-radius: 2px;
}

.slider-handle {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 2px solid #0176d3;
  border-radius: 50%;
  position: absolute;
  top: -9px;
  margin-left: -10px;
  cursor: pointer;
  transition: all 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.slider-handle:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.slider-handle.left {
  left: 0;
}
.slider-handle.right {
  left: 70%;
}

.range-values {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8125rem;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #080707;
  margin-top: 8px;
  font-weight: 600;
}

.jobs-search-area {
  margin-bottom: 24px;
  position: relative;
}

.nav-tabs {
  border-bottom: 1px solid #dddbda;
  margin-bottom: 16px;
  display: flex;
}
.nav-tabs .nav-item {
  margin-right: 4px;
}
.nav-tabs .nav-item .nav-link {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #706e6b;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  padding: 10px 16px;
  transition: all 0.15s;
  position: relative;
  font-size: 0.875rem;
  font-weight: 400;
}
.nav-tabs .nav-item .nav-link.active {
  color: #080707 !important;
  background-color: #fff;
  border-color: #dddbda;
  border-bottom: 2px solid #fff;
  font-weight: 600;
}
.nav-tabs .nav-item .nav-link.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: #0176d3;
  border-radius: 0;
}
.nav-tabs .nav-item .nav-link:hover:not(.active) {
  background-color: #f3f2f2;
  color: #080707;
}

.search-options {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  gap: 16px;
  flex-wrap: wrap;
}

.filter-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #0176d3;
  cursor: pointer;
  transition: all 0.15s;
  font-size: 0.875rem;
  font-weight: 400;
}
.filter-toggle:hover {
  color: #014486;
}
.filter-toggle i {
  color: #0176d3;
}

.save-search-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #0176d3;
  cursor: pointer;
  transition: all 0.15s;
  font-size: 0.875rem;
  font-weight: 400;
}
.save-search-btn:hover {
  color: #014486;
}
.save-search-btn i {
  color: #0176d3;
}

.advanced-search-link {
  display: inline-block;
  margin-bottom: 16px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #0176d3;
  text-decoration: none;
  position: relative;
  padding-bottom: 2px;
  font-size: 0.875rem;
}
.advanced-search-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #0176d3;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}
.advanced-search-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.jobs-found {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #080707;
  font-size: 0.875rem;
}
.jobs-found strong {
  color: #0176d3;
  font-weight: 700;
}

.sort-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.sort-options select {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  padding: 8px 12px;
  border: 1px solid #dddbda;
  border-radius: 4px;
  background-color: #fff;
  color: #080707;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.15s;
  font-size: 0.875rem;
}
.sort-options select:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 3px #0176d3;
}

.sort-label {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #080707;
  font-size: 0.875rem;
  font-weight: 600;
}

.view-options {
  display: flex;
  align-items: center;
  gap: 8px;
}

.view-btn {
  background-color: #fff;
  border: 1px solid #dddbda;
  border-radius: 4px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  box-shadow: none;
  color: #706e6b;
}
.view-btn.active {
  background-color: #0176d3;
  color: #fff;
  border-color: #0176d3;
}
.view-btn:hover:not(.active) {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #f3f2f2;
}

.job-grid {
  display: grid;
  gap: 16px;
}
@media (min-width: 992px) {
  .job-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .job-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .job-grid {
    grid-template-columns: 1fr;
  }
}

.job-card {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  padding: 20px;
  border: 1px solid #dddbda;
  margin-bottom: 16px !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: transform 0.15s, box-shadow 0.15s;
  display: block;
  clear: both;
}
.job-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0176d3;
  z-index: 1;
}
.job-card:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-color: #0176d3;
}
.job-card .job-title {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #080707;
  margin-bottom: 8px;
}
.job-card .job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #706e6b;
  font-size: 0.8125rem;
}
.job-card .job-meta span {
  display: inline-flex;
  align-items: center;
}
.job-card .job-meta span i {
  margin-right: 5px;
  color: #0176d3;
}
.job-card .job-description {
  margin-bottom: 16px;
  color: #3e3e3c;
  line-height: 1.5;
  font-size: 0.875rem;
}
.job-card .job-description .more-link {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #0176d3;
  text-decoration: none;
  font-weight: 400;
}
.job-card .job-description .more-link:hover {
  color: #014486;
  text-decoration: underline;
}
.job-card .job-footer {
  border-top: 1px solid #ecebea;
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.job-card .job-footer .stat-group .stat-label {
  font-size: 0.8125rem;
  color: #706e6b;
}
.job-card .job-footer .stat-group .stat-value {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 700;
  color: #080707;
  font-size: 1rem;
}

.job-skeleton {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  padding: 20px;
  border: 1px solid #dddbda;
  margin-bottom: 16px;
}
.job-skeleton .job-skeleton-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
.job-skeleton .job-skeleton-details {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .job-skeleton .job-skeleton-details {
    flex-direction: column;
    gap: 12px;
  }
}
.job-skeleton .skeleton-loading {
  background-color: #ecebea;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}
.job-skeleton .skeleton-loading::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
.job-pagination {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.jobs-empty-state {
  background-color: #fff;
  border-radius: 4px;
  padding: 48px;
  text-align: center;
  border: 1px solid #dddbda;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}
.jobs-empty-state::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0176d3;
}
.jobs-empty-state i {
  font-size: 3rem;
  color: #c9c7c5;
  margin-bottom: 16px;
}
.jobs-empty-state h4 {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #080707;
  margin-bottom: 12px;
  font-weight: 700;
}
.jobs-empty-state p {
  color: #706e6b;
  max-width: 500px;
  margin: 0 auto 16px;
  font-size: 0.875rem;
}
.jobs-empty-state .btn {
  display: inline-block;
  padding: 10px 16px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 400;
  background-color: #0176d3;
  color: #fff;
  border: 1px solid #0176d3;
  border-radius: 4px;
  box-shadow: none;
  transition: all 0.15s;
  cursor: pointer;
  font-size: 0.875rem;
}
.jobs-empty-state .btn:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #014486;
  border-color: #014486;
}
.jobs-empty-state .btn:active {
  transform: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.filter-toggle-mobile {
  display: none;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1000;
  width: 56px;
  height: 56px;
  background-color: #0176d3;
  color: #fff;
  border: 1px solid #0176d3;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
.filter-toggle-mobile:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  background-color: #014486;
}
@media (max-width: 991px) {
  .filter-toggle-mobile {
    display: flex;
  }
}

.filter-mobile {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 9999;
  padding: 20px;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  overflow-y: auto;
  border-top: 3px solid #0176d3;
}
.filter-mobile.show {
  transform: translateY(0);
}
.filter-mobile__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #dddbda;
}
.filter-mobile__header h4 {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  color: #080707;
  font-weight: 700;
  font-size: 1.125rem;
}
.filter-mobile__header .close-btn {
  width: 32px;
  height: 32px;
  background-color: #fff;
  border: 1px solid #dddbda;
  border-radius: 4px;
  color: #706e6b;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
.filter-mobile__header .close-btn:hover {
  background-color: #f3f2f2;
  color: #080707;
}
.filter-mobile__footer {
  position: sticky;
  bottom: 0;
  background-color: #fff;
  padding: 16px 0;
  border-top: 1px solid #dddbda;
  margin-top: 24px;
  display: flex;
  gap: 12px;
}
.filter-mobile__footer .btn {
  display: inline-block;
  padding: 10px 16px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 400;
  flex: 1;
  text-align: center;
  border-radius: 4px;
  transition: all 0.15s;
  border: 1px solid;
  font-size: 0.875rem;
}
.filter-mobile__footer .btn-primary {
  background-color: #0176d3;
  color: #fff;
  border-color: #0176d3;
  box-shadow: none;
}
.filter-mobile__footer .btn-primary:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #014486;
}
.filter-mobile__footer .btn-light {
  background-color: #fff;
  color: #080707;
  border-color: #dddbda;
}
.filter-mobile__footer .btn-light:hover {
  background-color: #f3f2f2;
}

.search-filter {
  position: relative;
  margin-bottom: 12px;
  width: 100%;
}
.search-filter i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #706e6b;
  font-size: 0.875rem;
}
.search-filter input {
  width: 100%;
  padding: 10px 15px 10px 36px;
  border-radius: 4px;
  border: 1px solid #dddbda;
  font-size: 0.875rem;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  background-color: #fff;
  box-shadow: none;
  color: #080707;
  transition: all 0.15s;
}
.search-filter input:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 3px #0176d3;
}
.search-filter input::placeholder {
  color: #706e6b;
}

.search-input-group {
  position: relative;
}
.search-input-group .form-control {
  padding: 12px 16px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  background-color: #fff;
  box-shadow: none;
  border: 1px solid #dddbda;
  border-radius: 4px 0 0 4px;
  font-size: 0.875rem;
}
.search-input-group .form-control:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 3px #0176d3;
}
.search-input-group .btn-primary {
  background-color: #0176d3;
  color: #fff;
  border: 1px solid #0176d3;
  border-radius: 0 4px 4px 0;
  padding: 12px 16px;
  box-shadow: none;
  transition: all 0.15s;
}
.search-input-group .btn-primary:hover {
  background-color: #014486;
  color: #fff;
}

.pagination {
  margin-bottom: 0;
  display: flex;
  gap: 4px;
}
.pagination .page-item {
  margin: 0;
}
.pagination .page-item .page-link {
  background-color: #fff;
  color: #0176d3;
  border: 1px solid #dddbda;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 400;
  padding: 8px 12px;
  transition: all 0.15s;
  box-shadow: none;
  border-radius: 4px;
  font-size: 0.875rem;
}
.pagination .page-item .page-link:hover {
  background-color: #f3f8fe;
  color: #0176d3;
  border-color: #0176d3;
}
.pagination .page-item.active .page-link {
  background-color: #0176d3;
  color: #fff;
  border-color: #0176d3;
  box-shadow: none;
}
.pagination .page-item.disabled .page-link {
  color: #c9c7c5;
  background-color: #f3f2f2;
  border-color: #dddbda;
  opacity: 0.6;
}

.tag {
  display: inline-block;
  background-color: #ecebea;
  color: #3e3e3c;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  margin-right: 6px;
  margin-bottom: 6px;
  border: 1px solid #c9c7c5;
  transition: all 0.15s;
}
.tag:hover {
  transform: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  background-color: #f3f2f2;
}
.tag:nth-child(2n) {
  background-color: rgba(1, 118, 211, 0.1);
  color: #0176d3;
  border-color: rgba(1, 118, 211, 0.3);
}
.tag:nth-child(3n) {
  background-color: rgba(40, 204, 123, 0.1);
  color: #027e46;
  border-color: rgba(40, 204, 123, 0.3);
}

/* ========================================
   JOB FILTER SIDEBAR - ESTRUTURA PRINCIPAL
   ======================================== */
#job-filter-menu {
  background: #f9fafb;
  position: sticky;
  top: 0;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
  border-right: 1px solid #e5e7eb;
  padding: 0;
  display: flex;
  flex-direction: column;
}

#job-filter-menu::-webkit-scrollbar {
  width: 8px;
}

#job-filter-menu::-webkit-scrollbar-track {
  background: #f9fafb;
}

#job-filter-menu::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  transition: background 0.2s ease;
}

#job-filter-menu::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

#job-filter-menu {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f9fafb;
}

/* ========================================
   HEADER DO FILTRO
   ======================================== */
#job-filter-menu .filter-header {
  padding: 20px 16px;
  border-bottom: 2px solid #e5e7eb;
  background: #ffffff;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  flex-shrink: 0;
}

#job-filter-menu .filter-header h4 {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px 0;
  letter-spacing: -0.2px;
}

#job-filter-menu .active-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

#job-filter-menu .filter-count {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

#job-filter-menu .filter-count .count {
  font-weight: 700;
  color: #0052cc;
  font-size: 14px;
}

#job-filter-menu .clear-all {
  font-size: 13px;
  color: #0052cc;
  cursor: pointer;
  transition: all 0.2s;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
}

#job-filter-menu .clear-all:hover {
  color: #0065ff;
  background: #deebff;
  text-decoration: none;
}

/* ========================================
   FILTROS APLICADOS (TAGS)
   ======================================== */
#job-filter-menu .applied-filters {
  padding: 16px;
  background: #f3f4f6;
  border-bottom: 2px solid #e5e7eb;
  display: none;
  flex-shrink: 0;
}

#job-filter-menu .applied-filters.has-filters {
  display: block;
}

#job-filter-menu .applied-title {
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 10px;
}

#job-filter-menu .filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#job-filter-menu .filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: white;
  border: 1px solid #d1d5db;
  border-radius: 16px;
  font-size: 12px;
  color: #374151;
  font-weight: 500;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

#job-filter-menu .filter-tag:hover {
  border-color: #9ca3af;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

#job-filter-menu .filter-tag .remove,
#job-filter-menu .filter-tag .btn-remove-filter {
  cursor: pointer;
  color: #6b7280;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
  background: none;
  border: none;
  padding: 0;
}

#job-filter-menu .filter-tag .remove:hover,
#job-filter-menu .filter-tag .btn-remove-filter:hover {
  color: #dc2626;
}

/* ========================================
   CAMPO DE BUSCA NO TOPO
   ======================================== */
.filter-search-section {
  background: #ffffff;
  border-bottom: 2px solid #e5e7eb;
  padding: 16px !important;
  flex-shrink: 0;
}

.filter-search-section .app-filter-section-title {
  font-size: 12px;
  font-weight: 700;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-bottom: none;
  padding-bottom: 0;
}

.filter-search-section .filter-field {
  width: 100%;
  height: 40px;
  padding: 10px 12px 10px 40px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #ffffff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'%3e%3c/circle%3e%3cpath d='m21 21-4.35-4.35'%3e%3c/path%3e%3c/svg%3e") no-repeat 12px center;
  background-size: 18px;
  transition: all 0.2s ease;
  font-weight: 500;
}

.filter-search-section .filter-field:focus {
  outline: none;
  border-color: #0052cc;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

.filter-search-section .filter-field::placeholder {
  color: #9ca3af;
}

/* ========================================
   SEÇÕES DE FILTROS - ÁREA COM SCROLL
   ======================================== */
#job-filter-menu .filter-sections {
  padding: 0;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}

#job-filter-menu .filter-sections::-webkit-scrollbar {
  width: 8px;
}

#job-filter-menu .filter-sections::-webkit-scrollbar-track {
  background: #f9fafb;
}

#job-filter-menu .filter-sections::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  transition: background 0.2s ease;
}

#job-filter-menu .filter-sections::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

#job-filter-menu .filter-sections {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f9fafb;
}

#job-filter-menu .filter-section {
  padding: 16px;
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  transition: background 0.2s ease;
}

#job-filter-menu .filter-section:hover {
  background: #fafbfc;
}

#job-filter-menu .filter-section:last-child {
  border-bottom: none;
  padding-bottom: 20px;
}

/* Título da Seção */
#job-filter-menu .app-filter-section-title {
  font-size: 12px;
  font-weight: 700;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f3f4f6;
}

#job-filter-menu .app-filter-section-title i {
  font-size: 14px;
  color: #6b7280;
}

/* Badge de contagem */
#job-filter-menu .badge-count {
  background: #0052cc;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: auto;
  margin-right: 4px;
  min-width: 20px;
  text-align: center;
}

/* Botão limpar seção */
#job-filter-menu .btn-clear-section {
  background: none;
  border: none;
  color: #9ca3af;
  padding: 2px 4px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  border-radius: 3px;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#job-filter-menu .btn-clear-section:hover {
  color: #dc2626;
  background-color: #fee2e2;
}

/* ========================================
   RADIO BUTTONS - CORRIGIDO
   ======================================== */
#job-filter-menu .radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#job-filter-menu .radio-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  margin: 0;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 6px;
  font-size: 13px;
  color: #374151;
  line-height: 1.4;
  position: relative;
  font-weight: 500;
  background: #fafbfc;
  border: 1px solid #e5e7eb;
  width: 100%;
}

#job-filter-menu .radio-item:hover {
  background-color: #f3f4f6;
  border-color: #d1d5db;
}

/* Radio Input Customizado */
#job-filter-menu .radio-item input[type=radio] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 0;
  height: 0;
}

#job-filter-menu .radio-custom {
  width: 18px;
  height: 18px;
  border: 2px solid #d1d5db;
  border-radius: 50%;
  margin-right: 12px;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s ease;
  background: #fff;
  display: inline-block;
}

#job-filter-menu .radio-custom::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0052cc;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.2s ease;
}

#job-filter-menu .radio-item input[type=radio]:checked ~ .radio-custom {
  border-color: #0052cc;
}

#job-filter-menu .radio-item input[type=radio]:checked ~ .radio-custom::after {
  transform: translate(-50%, -50%) scale(1);
}

#job-filter-menu .radio-item input[type=radio]:checked ~ .label-text {
  font-weight: 700;
  color: #0052cc;
}

#job-filter-menu .radio-item:has(input[type=radio]:checked) {
  background: #deebff;
  border-color: #0052cc;
  border-left-width: 3px;
  padding-left: 9px;
}

#job-filter-menu .label-text {
  flex: 1;
  user-select: none;
}

/* ========================================
   CHECKBOXES - USUÁRIOS
   ======================================== */
#job-filter-menu .checkbox-list-container {
  margin-top: 0;
}

#job-filter-menu .checkbox-search-wrapper {
  padding-bottom: 8px;
}

#job-filter-menu .checkbox-search {
  width: 100%;
  height: 34px;
  padding: 8px 12px;
  font-size: 13px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #ffffff;
  transition: all 0.2s ease;
  font-weight: 400;
}

#job-filter-menu .checkbox-search:focus {
  outline: none;
  border-color: #0052cc;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

#job-filter-menu .checkbox-search::placeholder {
  color: #9ca3af;
  font-size: 13px;
}

#job-filter-menu .checkbox-list {
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 4px;
  background: #fafbfc;
  transition: all 0.2s ease;
}

#job-filter-menu .checkbox-list:hover {
  border-color: #d1d5db;
}

#job-filter-menu .checkbox-list:focus-within {
  border-color: #0052cc;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

#job-filter-menu .checkbox-list::-webkit-scrollbar {
  width: 8px;
}

#job-filter-menu .checkbox-list::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 4px;
  margin: 6px 0;
}

#job-filter-menu .checkbox-list::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  border: 2px solid #f3f4f6;
  transition: background 0.2s ease;
}

#job-filter-menu .checkbox-list::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

#job-filter-menu .checkbox-list::-webkit-scrollbar-thumb:active {
  background: #6b7280;
}

#job-filter-menu .checkbox-list {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

#job-filter-menu .checkbox-item {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  margin: 2px 0;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 5px;
  font-size: 13px;
  color: #374151;
  line-height: 1.4;
  position: relative;
  font-weight: 500;
}

#job-filter-menu .checkbox-item:hover {
  background-color: #f3f4f6;
}

#job-filter-menu .checkbox-item:active {
  background-color: #e5e7eb;
}

#job-filter-menu .checkbox-item input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0 10px 0 0;
  cursor: pointer;
  accent-color: #0052cc;
  flex-shrink: 0;
}

#job-filter-menu .checkbox-item .label-text {
  flex: 1;
  user-select: none;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#job-filter-menu .checkbox-item input[type=checkbox]:checked {
  accent-color: #0052cc;
}

#job-filter-menu .checkbox-item input[type=checkbox]:checked + .label-text,
#job-filter-menu .checkbox-item input[type=checkbox]:checked ~ .user-info-wrapper .label-text {
  font-weight: 700;
  color: #0052cc;
}

#job-filter-menu .checkbox-item:has(input[type=checkbox]:checked) {
  background-color: #deebff;
  border-left: 3px solid #0052cc;
  padding-left: 7px;
}

#job-filter-menu .checkbox-item:has(input[type=checkbox]:checked):hover {
  background-color: #b3d4ff;
}

#job-filter-menu .checkbox-item:has(.select-all-users) {
  background-color: #f9fafb;
  font-weight: 600;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 4px;
  padding-bottom: 8px;
}

#job-filter-menu .checkbox-item:has(.select-all-users):hover {
  background-color: #f3f4f6;
}

#job-filter-menu .checkbox-divider {
  margin: 6px 8px;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

/* ========================================
   USUÁRIOS COM AVATAR
   ======================================== */
.checkbox-item-user {
  padding: 8px 10px !important;
}

.user-info-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #e5e7eb;
}

.user-avatar-placeholder {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  text-transform: uppercase;
}

.checkbox-item-user .label-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.checkbox-item-user:has(input[type=checkbox]:checked) .user-avatar {
  border-color: #0052cc;
  box-shadow: 0 0 0 2px #deebff;
}

/* ========================================
   BOTÃO DE FILTRAR - FIXO NO RODAPÉ
   ======================================== */
#job-filter-menu .filter-button-section {
  position: sticky;
  bottom: 0;
  z-index: 20;
  background: #ffffff;
  border-top: 2px solid #e5e7eb;
  border-bottom: none;
  padding: 16px;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}

#job-filter-menu #btn-apply-job-filters {
  width: 100%;
}

/* ========================================
   AÇÕES GERAIS
   ======================================== */
.filter-actions-section {
  background: #f9fafb;
  border-top: 2px solid #e5e7eb;
  padding: 16px !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.filter-action-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.filter-action-link:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
  color: #111827;
  text-decoration: none;
}

.filter-action-link i {
  font-size: 16px;
  color: #6b7280;
}

.filter-actions-section .btn-success {
  height: 40px;
  font-weight: 700;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #059669;
  border: none;
  box-shadow: 0 2px 4px rgba(5, 150, 105, 0.2);
  border-radius: 6px;
}

.filter-actions-section .btn-success:hover {
  background: #047857;
  box-shadow: 0 4px 8px rgba(5, 150, 105, 0.3);
  transform: translateY(-1px);
}

/* ========================================
   RESPONSIVIDADE
   ======================================== */
@media (max-width: 991px) {
  #job-filter-menu {
    position: relative;
    height: auto;
    min-height: auto;
    border-right: none;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 20px;
    overflow: visible;
  }
  #job-filter-menu .filter-sections {
    overflow-y: visible;
  }
  #job-filter-menu .filter-button-section {
    position: relative;
    box-shadow: none;
  }
  #job-filter-menu .filter-section {
    padding: 12px;
  }
  #job-filter-menu .checkbox-list {
    max-height: 180px;
  }
}
/* ========================================
   HEADER DE VAGAS - BUSCA E AÇÕES
   ======================================== */
.jobs-header-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  background: #ffffff;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 0;
}

.jobs-header-left {
  flex: 1;
  max-width: 600px;
  min-width: 300px;
}

.jobs-header-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* ========================================
   CAMPO DE BUSCA
   ======================================== */
.search-wrapper {
  position: relative;
  width: 100%;
}

.search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #6b7280;
  pointer-events: none;
  z-index: 1;
}

.search-input {
  width: 100%;
  height: 42px;
  padding: 10px 16px 10px 42px;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fafbfc;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.search-input:focus {
  outline: none;
  border-color: #0052cc;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

.search-input::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

/* ========================================
   RESPONSIVIDADE
   ======================================== */
@media (max-width: 1200px) {
  .jobs-header-section {
    padding: 16px 20px;
  }
  .jobs-header-left {
    max-width: 400px;
  }
}
@media (max-width: 992px) {
  .jobs-header-section {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .jobs-header-left {
    max-width: 100%;
  }
  .jobs-header-right {
    justify-content: space-between;
  }
}
@media (max-width: 576px) {
  .jobs-header-right {
    flex-direction: column;
    gap: 10px;
  }
  .search-input {
    height: 40px;
    font-size: 13px;
  }
}
/* ========================================
   ESTADOS ADICIONAIS
   ======================================== */
.search-input:disabled {
  background: #f3f4f6;
  cursor: not-allowed;
  opacity: 0.6;
}

.btn-drafts:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Badge de contagem de rascunhos (opcional) */
.btn-drafts .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #0052cc;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  border-radius: 10px;
  margin-left: 4px;
}

.lv-filter-sidebar {
  background: #FFFFFF;
  position: sticky;
  top: 0;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
  border-right: 1px solid #F3F4F6;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.lv-filter-header {
  padding: 1.25rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.lv-filter-header__left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.lv-filter-header__title {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #1A1A1A;
  text-transform: uppercase;
  margin: 0;
}
.lv-filter-header__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.375rem;
  background: #1A1A1A;
  color: #FFFFFF;
  font-size: 0.625rem;
  font-weight: 700;
}
.lv-filter-header__badge .count {
  line-height: 1;
}
.lv-filter-header__reset {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #9CA3AF;
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  transition: color 0.15s ease;
}
.lv-filter-header__reset:hover {
  color: #1A1A1A;
}

.lv-filter-active {
  padding: 0.75rem 1rem;
  background: #FAFAFA;
  border-bottom: 1px solid #F3F4F6;
  display: none;
  flex-shrink: 0;
}
.lv-filter-active.has-filters {
  display: block;
}
.lv-filter-active__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.lv-filter-active__list .filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #4B5563;
}
.lv-filter-active__list .filter-tag .btn-remove-filter {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #D1D5DB;
  font-size: 0.875rem;
  line-height: 1;
  display: flex;
  transition: color 0.15s ease;
}
.lv-filter-active__list .filter-tag .btn-remove-filter:hover {
  color: #1A1A1A;
}

.lv-filter-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
}

.lv-filter-group {
  padding: 1rem;
  border-bottom: 1px solid #F9FAFB;
}
.lv-filter-group:last-child {
  border-bottom: none;
}
.lv-filter-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.lv-filter-group__title {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9CA3AF;
}
.lv-filter-group__clear {
  background: none;
  border: none;
  padding: 0.125rem;
  cursor: pointer;
  color: #D1D5DB;
  font-size: 1rem;
  line-height: 1;
  display: flex;
  transition: color 0.15s ease;
}
.lv-filter-group__clear:hover {
  color: #1A1A1A;
}
.lv-filter-group__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lv-radio {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.625rem;
  margin: 0;
  cursor: pointer;
  transition: background 0.15s ease;
  border: 1px solid transparent;
}
.lv-radio:hover {
  background: #FAFAFA;
}
.lv-radio__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.lv-radio__input:checked ~ .lv-radio__box {
  border-color: #1A1A1A;
}
.lv-radio__input:checked ~ .lv-radio__box::after {
  transform: translate(-50%, -50%) scale(1);
}
.lv-radio__input:checked ~ .lv-radio__text {
  font-weight: 600;
  color: #1A1A1A;
}
.lv-radio__box {
  width: 1rem;
  height: 1rem;
  border: 1px solid #E5E7EB;
  margin-right: 0.625rem;
  position: relative;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.lv-radio__box::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background: #1A1A1A;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.15s ease;
}
.lv-radio__text {
  font-size: 0.8125rem;
  color: #4B5563;
  flex: 1;
}
.lv-radio:has(.lv-radio__input:checked) {
  background: #FAFAFA;
  border-color: #F3F4F6;
}

.lv-recruiter-search {
  position: relative;
  margin-bottom: 0.75rem;
}
.lv-recruiter-search i {
  position: absolute;
  left: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.75rem;
  color: #D1D5DB;
  pointer-events: none;
}
.lv-recruiter-search__input {
  width: 100%;
  height: 2rem;
  padding: 0.5rem 0.625rem 0.5rem 1.75rem;
  font-size: 0.75rem;
  border: 1px solid #F3F4F6;
  background: #FFFFFF;
  transition: all 0.15s ease;
}
.lv-recruiter-search__input:focus {
  outline: none;
  border-color: #1A1A1A;
}
.lv-recruiter-search__input::placeholder {
  color: #D1D5DB;
}

.lv-recruiter-list {
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid #F3F4F6;
  padding: 0.25rem;
  background: #FAFAFA;
}

.lv-recruiter-divider {
  height: 1px;
  background: #F3F4F6;
  margin: 0.375rem 0;
}

.lv-recruiter {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.5rem;
  margin: 0;
  cursor: pointer;
  transition: background 0.15s ease;
  gap: 0.5rem;
}
.lv-recruiter:hover {
  background: #FFFFFF;
}
.lv-recruiter--all {
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 0.25rem;
  padding-bottom: 0.625rem;
}
.lv-recruiter--all .lv-recruiter__name {
  font-weight: 600;
}
.lv-recruiter__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.lv-recruiter__input:checked ~ .lv-recruiter__check {
  background: #1A1A1A;
  border-color: #1A1A1A;
}
.lv-recruiter__input:checked ~ .lv-recruiter__check i {
  opacity: 1;
}
.lv-recruiter__input:checked ~ .lv-recruiter__info .lv-recruiter__name {
  font-weight: 600;
  color: #1A1A1A;
}
.lv-recruiter__input:checked ~ .lv-recruiter__avatar + .lv-recruiter__info .lv-recruiter__name {
  font-weight: 600;
  color: #1A1A1A;
}
.lv-recruiter__check {
  width: 1rem;
  height: 1rem;
  border: 1px solid #E5E7EB;
  position: relative;
  flex-shrink: 0;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lv-recruiter__check i {
  font-size: 0.625rem;
  color: #FFFFFF;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.lv-recruiter__avatar {
  width: 1.75rem;
  height: 1.75rem;
  object-fit: cover;
  flex-shrink: 0;
}
.lv-recruiter__avatar--initials {
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
}
.lv-recruiter__avatar--empty {
  background: #F9FAFB;
  color: #D1D5DB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
}
.lv-recruiter__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.lv-recruiter__name {
  font-size: 0.75rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lv-recruiter__desc {
  font-size: 0.625rem;
  color: #D1D5DB;
}
.lv-recruiter:has(.lv-recruiter__input:checked) {
  background: #FFFFFF;
}

.lv-filter-footer {
  padding: 1rem;
  border-top: 1px solid #F3F4F6;
  background: #FFFFFF;
  flex-shrink: 0;
}
.lv-filter-footer__btn {
  width: 100%;
  height: 2.5rem;
  background: #1A1A1A;
  color: #FFFFFF;
  border: none;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.lv-filter-footer__btn:hover {
  background: #374151;
}
.lv-filter-footer__btn:active {
  background: #1F2937;
}
.lv-filter-footer__btn i {
  font-size: 0.875rem;
}

.lv-jobs-cards {
  background: transparent;
  padding: 1.25rem;
}

.lv-jobs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  padding: 0;
}
@media (max-width: 1400px) {
  .lv-jobs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .lv-jobs-grid {
    grid-template-columns: 1fr;
  }
}

.lv-job {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.2s ease;
}
.lv-job:hover {
  border-color: #9CA3AF;
}
.lv-job:hover .lv-job__title {
  color: #1A1A1A;
}
.lv-job:hover .lv-job__btn-primary {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.lv-job:hover .lv-job__btn-primary i {
  transform: translateX(3px);
}
.lv-job__accent {
  height: 3px;
  width: 100%;
  background: #D1D5DB;
  transition: background 0.2s ease;
}
.lv-job--active .lv-job__accent {
  background: #1A1A1A;
}
.lv-job--active .lv-job__status-indicator {
  background: #1A1A1A;
}
.lv-job--active .lv-job__status-text {
  color: #1A1A1A;
}
.lv-job--paused .lv-job__accent {
  background: #D1D5DB;
}
.lv-job--paused .lv-job__status-indicator {
  background: #D1D5DB;
}
.lv-job--paused .lv-job__status-text {
  color: #9CA3AF;
}
.lv-job--closed .lv-job__accent {
  background: #9CA3AF;
}
.lv-job--closed .lv-job__status-indicator {
  background: #9CA3AF;
}
.lv-job--closed .lv-job__status-text {
  color: #9CA3AF;
}
.lv-job__main {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.lv-job__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.875rem;
}
.lv-job__status {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.lv-job__status-indicator {
  width: 0.5rem;
  height: 0.5rem;
  background: #D1D5DB;
}
.lv-job__status-text {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9CA3AF;
}
.lv-job__time {
  font-size: 0.625rem;
  color: #D1D5DB;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.lv-job__title-link {
  text-decoration: none;
  display: block;
  margin-bottom: 0.75rem;
}
.lv-job__title-link:hover {
  text-decoration: none;
}
.lv-job__title {
  font-size: 1rem;
  font-weight: 600;
  color: #374151;
  margin: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.15s ease;
}
.lv-job__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: auto;
}
.lv-job__meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  color: #9CA3AF;
}
.lv-job__meta-item i {
  font-size: 0.75rem;
  color: #D1D5DB;
}
.lv-job__meta-item--salary {
  font-weight: 600;
  color: #4B5563;
}
.lv-job__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #F3F4F6;
}
.lv-job__metric {
  border-right: 1px solid #F3F4F6;
}
.lv-job__metric:last-child {
  border-right: none;
}
.lv-job__metric-inner {
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.lv-job__metric-inner--primary .lv-job__metric-value {
  color: #1A1A1A;
}
.lv-job__metric-inner--info .lv-job__metric-value {
  color: #6B7280;
}
.lv-job__metric-inner--success .lv-job__metric-value {
  color: #4B5563;
}
.lv-job__metric-inner--warning .lv-job__metric-value {
  color: #9CA3AF;
}
.lv-job__metric-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.lv-job__metric-label {
  display: block;
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #D1D5DB;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lv-job__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-top: 1px solid #F3F4F6;
  background: #FAFAFA;
}
.lv-job__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.15s ease;
}
.lv-job__btn-primary:hover {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
  text-decoration: none;
}
.lv-job__btn-primary i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}
.lv-job__actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.lv-job__action-btn {
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  color: #D1D5DB;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.lv-job__action-btn:hover {
  background: #FFFFFF;
  border-color: #E5E7EB;
  color: #1A1A1A;
  text-decoration: none;
}
.lv-job__action-btn i {
  font-size: 0.875rem;
}

.jobs-list-container {
  border-radius: 0;
  border: 1px solid #F3F4F6;
  border-bottom-width: 2px;
}

.job-row {
  border-radius: 0;
}
.job-row:hover {
  box-shadow: inset 3px 0 0 #1A1A1A;
}

.status-badge {
  border-radius: 0;
  font-size: 0.5625rem;
  letter-spacing: 0.05em;
}

.type-badge {
  border-radius: 0;
  font-size: 0.5625rem;
  letter-spacing: 0.05em;
}

.metric-card {
  border-radius: 0;
}

.action-btn {
  border-radius: 0;
}

.pagination-modern {
  gap: 0.25rem;
}
.pagination-modern .page-link {
  border-radius: 0;
}

.empty-state {
  border-radius: 0;
}

.jobs-header-section {
  border-bottom: 1px solid #F3F4F6;
  padding: 1rem 1.5rem;
  background: #FFFFFF;
}

.search-wrapper {
  position: relative;
}

.search-icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.875rem;
  color: #D1D5DB;
}

.search-input {
  width: 100%;
  height: 2.5rem;
  padding: 0.625rem 1rem 0.625rem 2.5rem;
  font-size: 0.8125rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  transition: all 0.15s ease;
  border-radius: 0;
}
.search-input:focus {
  outline: none;
  border-color: #1A1A1A;
}
.search-input::placeholder {
  color: #D1D5DB;
}

.view-toggle {
  display: flex;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  border-radius: 0;
  padding: 0;
  gap: 0;
}

.view-toggle-btn {
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #D1D5DB;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 0;
}
.view-toggle-btn:hover {
  color: #4B5563;
  background: #FAFAFA;
}
.view-toggle-btn.active {
  background: #1A1A1A;
  color: #FFFFFF;
}
.view-toggle-btn i {
  font-size: 0.875rem;
}

.btn-drafts {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}
.btn-drafts:hover {
  background: #FAFAFA;
  border-color: #D1D5DB;
  color: #1A1A1A;
  text-decoration: none;
}
.btn-drafts i {
  font-size: 0.875rem;
}

@media (max-width: 991px) {
  .lv-filter-sidebar {
    position: relative;
    height: auto;
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid #F3F4F6;
    margin-bottom: 1rem;
    overflow: visible;
  }
  .lv-filter-body {
    overflow-y: visible;
    max-height: none;
  }
  .lv-filter-footer {
    position: relative;
  }
  .lv-recruiter-list {
    max-height: 150px;
  }
}
.job-header {
  background: #ffffff;
  border-radius: 0;
  border: 2px solid #E5E7EB !important;
  margin-bottom: 0px;
  padding: 1.25rem;
  padding-bottom: 0px;
}
.job-header .breadcrumb-nav {
  margin-bottom: 1rem;
}
.job-header .breadcrumb-nav .breadcrumb {
  padding: 0;
  margin: 0;
  background-color: transparent;
  font-size: 0.875rem;
}
.job-header .breadcrumb-nav .breadcrumb .breadcrumb-item {
  color: #6B7280;
}
.job-header .breadcrumb-nav .breadcrumb .breadcrumb-item a {
  color: #6B7280;
  text-decoration: none;
  transition: color 0.2s;
}
.job-header .breadcrumb-nav .breadcrumb .breadcrumb-item a:hover {
  color: #1A1A1A;
}
.job-header .breadcrumb-nav .breadcrumb .breadcrumb-item.active {
  color: #1A1A1A;
  font-weight: 500;
}
.job-header .breadcrumb-nav .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  color: #6B7280;
}
.job-header .header-main {
  margin-bottom: 1.25rem;
}
.job-header .header-main .header-title h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
}
.job-header .header-main .header-title .job-id {
  font-size: 0.875rem;
  color: #6B7280;
  font-weight: 500;
}
.job-header .header-main .header-actions {
  margin-top: 1rem;
}
.job-header .header-main .header-actions .action-button.primary {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background-color: #f2f7f9;
  border: 1px solid #d8e2e8;
  border-radius: 0;
  color: #1A1A1A;
  font-weight: 500;
  font-size: 0.875rem;
  transition: all 0.2s;
  cursor: pointer;
}
.job-header .header-main .header-actions .action-button.primary .icon-down {
  margin-left: 0.5rem;
}
.job-header .header-main .header-actions .action-button.primary:hover {
  background-color: #e6f0f4;
}
.job-header .job-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background-color: #F9FAFB;
  border-radius: 0;
  border: 1px solid #E5E7EB;
}
.job-header .job-info-grid .info-item .info-label {
  display: flex;
  align-items: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #6B7280;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.job-header .job-info-grid .info-item .info-label .info-icon {
  width: 16px;
  height: 16px;
  margin-right: 0.5rem;
  color: #1A1A1A;
}
.job-header .job-info-grid .info-item .info-value {
  font-size: 0.9375rem;
  color: #1A1A1A;
  font-weight: 500;
}
.job-header .job-info-grid .info-item .date-range {
  display: flex;
  align-items: center;
}
.job-header .job-info-grid .info-item .date-range .date-group .date-label {
  font-size: 0.75rem;
  color: #6B7280;
  margin-bottom: 0.125rem;
}
.job-header .job-info-grid .info-item .date-range .date-group .date-value {
  font-size: 0.875rem;
  font-weight: 500;
}
.job-header .job-info-grid .info-item .date-range .date-separator {
  margin: 0 0.5rem;
  color: #6B7280;
}
.job-header .job-info-grid .info-item .recruiter {
  display: flex;
  align-items: center;
}
.job-header .job-info-grid .info-item .recruiter .recruiter-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 0.5rem;
  overflow: hidden;
}
.job-header .job-info-grid .info-item .recruiter .recruiter-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.job-header .job-info-grid .info-item .recruiter .recruiter-count {
  color: #1A1A1A;
  font-weight: 600;
}
.job-header .job-actions {
  display: flex;
  justify-content: flex-start;
}
.job-header .job-actions .action-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.job-header .job-actions .action-button {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.job-header .job-actions .action-button svg {
  margin-right: 0.5rem;
}
.job-header .job-actions .action-button.secondary {
  background-color: #ffffff;
  border: 1px solid #E5E7EB;
  color: #1A1A1A;
}
.job-header .job-actions .action-button.secondary:hover {
  background-color: #F9FAFB;
  border-color: #cfd4dd;
}
.job-header .job-actions .action-button.danger {
  background-color: #fff5f5;
  border: 1px solid #ffe0e0;
  color: #EF4444;
}
.job-header .job-actions .action-button.danger:hover {
  background-color: #ffe0e0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 16px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.status-pill.active {
  background-color: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.status-pill.paused {
  background-color: rgba(245, 158, 11, 0.1);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.status-pill.closed {
  background-color: rgba(239, 68, 68, 0.1);
  color: #EF4444;
}

.location-badge,
.work-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  background-color: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  font-size: 0.75rem;
  color: #1A1A1A;
  margin-right: 0.5rem;
}
.location-badge:before,
.work-type-badge:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 0.5rem;
}

.location-badge:before {
  background-color: #1A1A1A;
}

.work-type-badge:before {
  background-color: #1F2937;
}

@media (max-width: 768px) {
  .job-header {
    padding: 1rem;
  }
  .job-header .job-info-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  .job-header .header-main .header-title {
    flex-direction: column;
  }
  .job-header .header-main .header-title h1 {
    font-size: 1.25rem;
  }
  .job-header .job-actions {
    flex-direction: column;
  }
  .job-header .job-actions .action-group {
    width: 100%;
  }
  .job-header .job-actions .action-group .action-button {
    flex: 1;
    justify-content: center;
  }
}
.lv-hiring-app-btn {
  font-weight: 500;
  border-radius: 50px;
  padding: 10px 20px;
  transition: all 0.2s;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
}

.lv-hiring-app-btn-primary {
  background-color: #2f193d;
  color: white;
}

/* toolbar */
.lv-hiring-toolbar {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 2px solid #2f193d;
  position: relative;
  overflow: hidden;
}

.lv-hiring-toolbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #0e6875;
  z-index: 1;
}

.lv-hiring-toolbar__container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.lv-hiring-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 8px 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  border: 2px solid #2f193d;
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
  font-size: 0.875rem;
}

.lv-hiring-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
}

.lv-hiring-btn:active {
  transform: translate(0, 0);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
}

.lv-hiring-btn i {
  font-size: 1rem;
}

.lv-hiring-btn-secondary {
  background-color: rgba(193, 157, 224, 0.78);
  color: #2f193d;
  border-color: #2f193d;
}

.lv-hiring-btn-secondary:hover {
  background-color: #c19de0;
  color: #22112c;
}

@media (max-width: 576px) {
  .lv-hiring-toolbar__container {
    justify-content: center;
  }
  .lv-hiring-btn {
    padding: 6px 12px;
    font-size: 0.75rem;
  }
}
/* fim toolbar */
/** cell applicant and pagination */
.lv-hiring-app-candidate-card--approved {
  border-right: 6px solid #28a745 !important;
}

/* Retro-style ribbon */
.lv-hiring-app-approval-ribbon {
  position: absolute;
  top: 15px;
  right: -40px;
  background-color: #28a745;
  color: white;
  padding: 5px 15px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
  transform: rotate(45deg);
  z-index: 2;
  overflow: hidden;
  border-radius: 5px;
}

.lv-hiring-app-approval-ribbon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-width: 5px 0 0 5px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.3) transparent transparent rgba(0, 0, 0, 0.3);
}

.lv-hiring-app-approval-ribbon::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-width: 0 5px 5px 0;
  border-style: solid;
  border-color: transparent rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.3) transparent;
}

/* Ensure the container has relative positioning */
.lv-hiring-app-candidate-card {
  position: relative;
  /* ...existing styles... */
}

.lv-hiring-app-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #f0f2f5;
}

.lv-hiring-app-pagination-info {
  color: #6c757d;
  font-size: 0.875rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.lv-hiring-app-pagination-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lv-hiring-app-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 36px;
  height: 36px;
  padding: 0 0.75rem;
  background-color: #fff;
  color: #2f193d;
  border: 2px solid #2f193d;
  border-radius: 6px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
}

.lv-hiring-app-pagination-btn:hover {
  transform: translateY(-2px);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
  background-color: rgba(193, 157, 224, 0.2);
}

.lv-hiring-app-pagination-btn:active {
  transform: translateY(0);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
}

.lv-hiring-app-pagination-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  background-color: #f0f2f5;
  border-color: #dee2e6;
  color: #6c757d;
  box-shadow: none;
}

.lv-hiring-app-pagination-btn-prev svg,
.lv-hiring-app-pagination-btn-next svg {
  stroke-width: 2.5;
}

@media (max-width: 576px) {
  .lv-hiring-app-pagination {
    flex-direction: column;
    align-items: center;
  }
  .lv-hiring-app-pagination-info {
    text-align: center;
    margin-bottom: 0.5rem;
  }
  .lv-hiring-app-pagination-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 0.5rem;
    font-size: 0.75rem;
  }
}
.tag-suggestions {
  margin-top: 20px;
  border-top: 1px solid #e9ecef;
  padding-top: 15px;
}

.suggestions-label {
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--primary);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.9rem;
}

.tag-suggestion-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-suggestion {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
}

.tag-suggestion:hover {
  background-color: var(--tertiary-light);
  color: white;
  border-color: var(--tertiary);
}

.selected-tags-container {
  margin-top: 15px;
  background-color: rgba(14, 104, 117, 0.05);
  border-radius: 8px;
  padding: 10px 15px;
  min-height: 60px;
}

.selected-tags-label {
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--primary);
  font-size: 0.9rem;
}

.selected-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.selected-tag {
  color: #FFFFFF;
  border-radius: 3px;
  padding: 5px 12px;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s;
  background: #1A1A1A;
}

.selected-tag .remove-tag {
  margin-left: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  font-size: 10px;
}

.selected-tag .remove-tag:hover {
  background: rgba(255, 255, 255, 0.5);
}

.empty-tags-message {
  color: #6c757d;
  font-style: italic;
  font-size: 0.9rem;
}

/* ========================================
   LIST TOOLBAR - Editorial Corporate (Kanban Style)
   ======================================== */
.list-toolbar {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-top: none;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.toolbar-left {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.search-box,
.applicant-search-box {
  position: relative;
  flex: 1;
  max-width: 350px;
  display: flex;
  align-items: center;
}

.search-box input,
.applicant-search-box input {
  width: 100%;
  padding: 10px 14px 10px 38px;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  font-size: 13px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1A1A1A;
  background: #FFFFFF;
  transition: all 0.15s ease;
}

.search-box input:focus,
.applicant-search-box input:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 2px rgba(52, 148, 34, 0.1);
}

.search-box input::placeholder,
.applicant-search-box input::placeholder {
  color: #9CA3AF;
  font-size: 12px;
}

.search-box i,
.applicant-search-box i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 14px;
}

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bulk-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
}

.bulk-actions-text {
  font-size: 12px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #4B5563;
  font-weight: 500;
}

.btn-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  border-radius: 0;
  border-radius: 4px;
  font-size: 12px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-action:hover {
  background: #e8f5e4;
  border-color: #349422;
}

.btn-action.btn-approve {
  background: #22C55E;
  color: #FFFFFF;
  border-color: #22C55E;
}

.btn-action.btn-approve:hover {
  background: #16A34A;
  border-color: #16A34A;
}

.btn-action.btn-reject {
  background: #EF4444;
  color: #FFFFFF;
  border-color: #EF4444;
}

.btn-action.btn-reject:hover {
  background: #DC2626;
  border-color: #DC2626;
}

.btn-action.btn-return {
  background: #349422;
  color: #FFFFFF;
  border-color: #349422;
}

.btn-action.btn-return:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
}

.btn-action:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #F9FAFB;
  border-color: #E5E7EB;
  color: #D1D5DB;
}

.btn-action i {
  font-size: 13px;
}

/* ========================================
   LISTA DE CANDIDATOS - Editorial Corporate (Kanban Style)
   ======================================== */
.applicants-list-container {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-top: none;
  margin: 0;
  overflow-x: auto;
}

.applicants-list-header {
  display: grid;
  grid-template-columns: 50px 60px 2fr 1.5fr 1.5fr 140px 140px 100px 120px 140px 100px;
  gap: 12px;
  padding: 12px 20px;
  background: #FAFAFA;
  border-bottom: 1px solid #E5E7EB;
  font-size: 11px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  min-width: 1200px;
}

.applicants-list-body {
  background: #FFFFFF;
  min-width: 1200px;
}

.applicant-row {
  display: grid;
  grid-template-columns: 50px 60px 2fr 1.5fr 1.5fr 140px 140px 100px 120px 140px 100px;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid #F3F4F6;
  align-items: center;
  transition: background-color 0.15s ease;
  cursor: pointer;
}

.applicant-row:hover {
  background-color: #FAFAFA;
}

.applicant-row:last-child {
  border-bottom: none;
}

/* ========================================
   CHECKBOX CUSTOMIZADO - Editorial Corporate (Kanban Style)
   ======================================== */
.custom-checkbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-checkbox input[type=checkbox] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #D1D5DB;
  border-radius: 3px;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}

.custom-checkbox input[type=checkbox]:hover {
  border-color: #349422;
}

.custom-checkbox input[type=checkbox]:checked {
  background: #349422;
  border-color: #349422;
}

.custom-checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #FFFFFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.custom-checkbox input[type=checkbox]:indeterminate {
  background: #349422;
  border-color: #349422;
}

.custom-checkbox input[type=checkbox]:indeterminate::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 6px;
  width: 8px;
  height: 2px;
  background: #FFFFFF;
  transform: none;
  border: none;
}

/* ========================================
   COLUNAS DOS CANDIDATOS - Editorial Corporate (Kanban Style)
   ======================================== */
/* Coluna Avatar */
.col-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
}

.applicant-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #4B5563;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-weight: 600;
  font-size: 12px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  text-transform: uppercase;
  border: none;
  box-shadow: none;
}

.applicant-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

/* Coluna Nome */
.col-name {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.applicant-name {
  color: #1A1A1A;
  font-weight: 500;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.15s ease;
}

.applicant-name:hover {
  color: #4B5563;
  text-decoration: underline;
}

.applicant-contact {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6B7280;
  font-size: 11px;
}

.applicant-contact i {
  font-size: 10px;
}

/* Coluna Vaga */
.col-job {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.job-title-text {
  color: #1A1A1A;
  font-weight: 500;
  font-size: 12px;
}

.job-code {
  color: #6B7280;
  font-size: 11px;
}

/* Coluna Tags */
.col-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.skill-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  background: #f3f3f3;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  font-size: 11px;
  color: var(--text-primary);
  font-weight: 500;
  white-space: nowrap;
}

.skill-tag.tag-primary {
  background: #e8f4ff;
  border-color: #b8daff;
  color: #014486;
}

.skill-tag.tag-success {
  background: #d1fae5;
  border-color: #9ae6b4;
  color: #065f46;
}

.skill-tag.tag-warning {
  background: #fef3c7;
  border-color: #fde68a;
  color: #92400e;
}

.skill-tag.tag-info {
  background: #dbeafe;
  border-color: #bfdbfe;
  color: #1e40af;
}

.skill-tag.tag-purple {
  background: #e9d5ff;
  border-color: #d8b4fe;
  color: #6b21a8;
}

.tags-more {
  font-size: 11px;
  color: var(--text-secondary);
  font-weight: 500;
}

/* Coluna Status */
.col-status-applicant {
  display: flex;
  align-items: center;
}

.status-applicant-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.status-applicant-badge.status-new {
  background: #e8f4ff;
  color: #014486;
}

.status-applicant-badge.status-screening {
  background: #fff4e5;
  color: #8c5000;
}

.status-applicant-badge.status-interview {
  background: #fef3c7;
  color: #92400e;
}

.status-applicant-badge.status-approved {
  background: #d1fae5;
  color: #065f46;
}

.status-applicant-badge.status-rejected {
  background: #fee;
  color: #991b1b;
}

.status-dot-applicant {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* Coluna Stage */
.col-stage {
  display: flex;
  align-items: center;
}

.stage-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  background: #f3f3f3;
  border-radius: 4px;
  font-size: 12px;
  color: var(--text-primary);
  font-weight: 500;
  border-left: 3px solid var(--primary-color);
}

/* Coluna Score */
.col-score {
  display: flex;
  align-items: center;
  justify-content: center;
}

.score-display {
  display: flex;
  align-items: center;
  gap: 6px;
}

.score-stars {
  display: flex;
  gap: 2px;
  color: #fbbf24;
  font-size: 14px;
}

.score-number {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 13px;
}

/* Coluna Compatibilidade */
.col-match {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.match-percentage {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary);
}

.match-bar {
  width: 100%;
  height: 4px;
  background: #e5e5e5;
  border-radius: 2px;
  overflow: hidden;
}

.match-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  border-radius: 2px;
  transition: width 0.3s ease;
}

.match-bar-fill.match-high {
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}

.match-bar-fill.match-medium {
  background: linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%);
}

.match-bar-fill.match-low {
  background: linear-gradient(90deg, #f87171 0%, #ef4444 100%);
}

/* Coluna Data */
.col-date {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
}

.date-applied {
  color: var(--text-primary);
  font-weight: 500;
}

.date-relative {
  color: var(--text-secondary);
  font-size: 11px;
}

/* Coluna Ações */
.col-actions-applicant {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: flex-end;
}

.action-btn-applicant {
  width: 32px;
  height: 32px;
  border: 1px solid var(--border-color);
  background: #fff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  color: var(--text-secondary);
}

.action-btn-applicant:hover {
  background: var(--bg-hover);
  border-color: #c9c9c9;
  color: var(--text-primary);
}

.action-btn-applicant i {
  font-size: 16px;
}

/* ========================================
   PAGINAÇÃO
   ======================================== */
.list-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--border-color);
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.pagination-info {
  font-size: 13px;
  color: var(--text-secondary);
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pagination-modern {
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination-modern .page-item {
  list-style: none;
}

.pagination-modern .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--border-color);
  background: #fff;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 500;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

.pagination-modern .page-link:hover {
  background: var(--bg-hover);
  border-color: #c9c9c9;
}

.pagination-modern .page-item.active .page-link {
  background: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
}

.pagination-modern .page-item.disabled .page-link {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.page-size-selector {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

.page-size-selector select {
  padding: 6px 28px 6px 10px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23706e6b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

.page-size-selector select:focus {
  outline: none;
  border-color: var(--primary-color);
}

/* ========================================
   ESTADO VAZIO
   ======================================== */
.empty-state-applicants {
  text-align: center;
  padding: 80px 20px;
}

.empty-state-icon-applicants {
  font-size: 64px;
  color: #c9c9c9;
  margin-bottom: 16px;
}

.empty-state-title-applicants {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.empty-state-description-applicants {
  color: var(--text-secondary);
  font-size: 14px;
  margin-bottom: 24px;
}

/* ========================================
   RESPONSIVO
   ======================================== */
@media (max-width: 1400px) {
  .applicants-list-header,
  .applicant-row {
    grid-template-columns: 45px 50px 1.5fr 1.3fr 1.3fr 130px 130px 90px 110px 130px 90px;
    font-size: 11px;
  }
  .search-box {
    max-width: 300px;
  }
}
@media (max-width: 992px) {
  .list-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .toolbar-left,
  .toolbar-right {
    width: 100%;
  }
  .search-box {
    max-width: 100%;
  }
  .toolbar-right {
    justify-content: space-between;
  }
  .list-pagination {
    flex-direction: column;
    gap: 12px;
  }
  .pagination-controls {
    width: 100%;
    justify-content: space-between;
  }
}
.applicant-search-box {
  position: relative;
  flex: 1;
  max-width: 400px;
}

.applicant-search-box input {
  width: 100%;
  padding: 8px 12px 8px 36px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  font-size: 13px;
  transition: all 0.15s ease;
}

.applicant-search-box input:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 0 3px rgba(1, 118, 211, 0.1);
}

.applicant-search-box i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #706e6b;
  font-size: 14px;
}

/* Estados dos botões de comunicação */
.comm-btn:disabled,
.comm-btn-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.comm-btn:enabled,
.comm-btn-enabled {
  opacity: 1;
  cursor: pointer;
}

.comm-btn:disabled:hover {
  background-color: transparent;
  color: inherit;
}

/* Variante Success para Retornar ao Processo */
.comm-btn--success {
  background: linear-gradient(135deg, #10b981, #059669);
  border-color: #10b981;
  color: white;
}

.comm-btn--success:hover:not(:disabled) {
  background: linear-gradient(135deg, #059669, #047857);
  border-color: #059669;
  color: white;
}

.comm-btn--success i {
  color: white;
}

/* Botão de retornar no bulk actions */
.btn-return {
  background: linear-gradient(135deg, #10b981, #059669);
  border-color: #10b981;
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}

.btn-return:hover {
  background: linear-gradient(135deg, #059669, #047857);
  border-color: #059669;
  color: white;
}

.btn-return i {
  font-size: 14px;
}

/* ====================================
   BANNER ETAPA FINAL - PROFISSIONAL
==================================== */
.final-step-banner {
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-left: 4px solid #22c55e;
  border-radius: 6px;
  padding: 16px 20px;
  margin-bottom: 20px;
}

.final-step-banner-content {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #166534;
}

.final-step-banner-content i {
  font-size: 24px;
  color: #22c55e;
}

.final-step-banner h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #166534;
}

.final-step-banner p {
  margin: 2px 0 0 0;
  font-size: 13px;
  color: #166534;
  opacity: 0.8;
}

/* ====================================
   LINHAS DA TABELA - CLEAN
==================================== */
.applicant-row-final-approved {
  background: #fafafa;
  border-left: 3px solid #22c55e;
}

.applicant-row-final-approved:hover {
  background: #f5f5f5;
}

/* ====================================
   AVATAR COM BADGE
==================================== */
.applicant-avatar-wrapper {
  position: relative;
  display: inline-block;
}

.final-approval-badge {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 18px;
  height: 18px;
  background: #22c55e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid white;
}

.final-approval-badge i {
  font-size: 9px;
  color: white;
}

/* ====================================
   BADGE INLINE NO NOME
==================================== */
.applicant-name-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.inline-final-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: #22c55e;
  color: white;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.inline-final-badge i {
  font-size: 11px;
}

/* ====================================
   RESULTADO FINAL BADGE - CLEAN
==================================== */
.final-result-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 6px;
  border: 1px solid #d1fae5;
  background: #f0fdf4;
  min-width: 200px;
}

.final-result-icon {
  font-size: 20px;
  color: #22c55e;
  display: flex;
  align-items: center;
  justify-content: center;
}

.final-result-content {
  flex: 1;
}

.final-result-title {
  font-size: 13px;
  font-weight: 600;
  color: #166534;
  margin-bottom: 2px;
}

.final-result-subtitle {
  font-size: 11px;
  color: #166534;
  opacity: 0.7;
}

.final-approved:hover {
  background: #ecfdf5;
  border-color: #86efac;
}

/* ====================================
   ESTRELAS - DESTAQUE SUTIL
==================================== */
.score-stars-approved i {
  color: #f59e0b;
}

/* ====================================
   STAGE BADGE FINAL
==================================== */
.stage-badge-final {
  background: #22c55e;
  color: white;
  font-weight: 600;
}

/* ====================================
   RESPONSIVO
==================================== */
@media (max-width: 992px) {
  .final-step-banner-content {
    flex-direction: column;
    text-align: center;
  }
  .final-result-badge {
    min-width: auto;
    width: 100%;
  }
  .inline-final-badge {
    font-size: 9px;
    padding: 2px 6px;
  }
}
/*
 * LV Applicant Styles - Retro Theme
 * This enhances the Bootstrap styling without modifying it directly
 */
.lv-applicant-container {
  position: relative;
  padding: 1.5rem;
  background-color: #f8f5f2;
}

/* Header styling */
.lv-applicant-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 1rem;
  position: relative;
  display: inline-block;
}

.lv-applicant-title::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 60%;
  height: 3px;
  background-color: #349422;
}

/* Breadcrumb styling */
.lv-applicant-breadcrumb .breadcrumb {
  padding: 0.5rem 0;
  background-color: transparent;
}

.lv-applicant-breadcrumb .breadcrumb-item a {
  color: #1A1A1A;
  text-decoration: none;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 500;
  transition: color 0.3s;
}

.lv-applicant-breadcrumb .breadcrumb-item a:hover {
  color: #349422;
  text-decoration: underline;
}

/* Retro card styling for the sidebar */
.lv-applicant-sidebar {
  background-color: #ffffff;
  border-radius: 1px;
  border-right: 1px solid #D1D5DB;
  position: relative;
  overflow: hidden;
}

.lv-applicant-sidebar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  z-index: 1;
}

.lv-applicant-sidebar .filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e2e0dc;
}

.lv-applicant-sidebar .filter-header h5 {
  margin-bottom: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  color: #1A1A1A;
}

.lv-applicant-sidebar .filter-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 500;
  color: #1A1A1A;
  padding: 0.5rem 0;
  cursor: pointer;
}

.lv-applicant-sidebar .filter-title i {
  color: #349422;
  transition: transform 0.3s ease;
}

.lv-applicant-sidebar .filter-option {
  font-family: "Rubik", sans-serif;
  padding: 0.25rem 0;
}

.lv-applicant-sidebar .filter-option input[type=checkbox],
.lv-applicant-sidebar .filter-option input[type=radio] {
  position: relative;
  margin-right: 0.5rem;
  cursor: pointer;
}

/* Tabs styling */
.lv-applicant-tabs {
  display: flex;
  border-bottom: 2px solid #e2e0dc;
  margin-bottom: 1rem;
}

.lv-applicant-tab {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #424242;
  border: 2px solid transparent;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  padding: 10px 20px;
  transition: all 0.3s;
  position: relative;
  cursor: pointer;
}

.lv-applicant-tab.active {
  color: #1A1A1A;
  background-color: #fff;
  border-color: #e2e0dc;
  border-bottom: 2px solid #fff;
  font-weight: bold;
}

.lv-applicant-tab.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background-color: #349422;
  border-radius: 0;
}

.lv-applicant-tab:hover:not(.active) {
  background-color: rgba(226, 224, 220, 0.3);
}

/* Candidate card styling */
.lv-applicant-card {
  background-color: #ffffff;
  border-radius: 1px;
  padding: 1rem;
  border: 1px solid #D1D5DB;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}

.lv-applicant-card:hover {
  transform: translateY(-5px);
  box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.2);
}

.lv-applicant-card .name-applicant {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 8px;
}

.lv-applicant-card .green-text {
  font-family: "Rubik", sans-serif;
  color: #349422;
  font-style: italic;
  margin-bottom: 8px;
}

.lv-applicant-card .candidate-rate {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 700;
  color: #1A1A1A;
}

.lv-applicant-card .image-container-profile {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #349422;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 600;
  margin-right: 1rem;
}

.lv-applicant-card .profile-img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 1rem;
}

.lv-applicant-card .badge {
  background-color: #e8f5e4;
  color: #349422;
  padding: 5px 10px;
  border-radius: 0;
  font-size: 0.75rem;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  border: 1px solid #349422;
}

.lv-applicant-card .badge-primary {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
  border: 1px solid #1A1A1A;
}

.lv-applicant-card .success-rate {
  color: #1A1A1A;
  display: flex;
  align-items: center;
}

.lv-applicant-card .success-icon {
  color: #349422;
  margin-right: 0.5rem;
}

/* Pagination styling */
.lv-applicant-pagination .page-item .page-link {
  background-color: #ffffff;
  color: #1A1A1A;
  border: 2px solid #1A1A1A;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  margin: 0 2px;
  padding: 6px 12px;
  transition: all 0.2s;
  box-shadow: none;
}

.lv-applicant-pagination .page-item .page-link:hover {
  background-color: #e8f5e4;
  color: #2a7a1b;
}

.lv-applicant-pagination .page-item.active .page-link {
  background-color: #349422;
  color: #ffffff;
  border-color: #349422;
  box-shadow: none;
}

/* Empty state styling */
.lv-applicant-empty {
  background-color: #ffffff;
  border-radius: 0;
  padding: 2rem;
  text-align: center;
  border: 2px solid #1A1A1A;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  margin-top: 1.5rem;
}

.lv-applicant-empty::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #349422;
}

.lv-applicant-empty i {
  font-size: 3rem;
  color: #1A1A1A;
  margin-bottom: 1rem;
}

.lv-applicant-empty h5 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1A1A1A;
  margin-bottom: 0.5rem;
}

.lv-applicant-empty p {
  color: #424242;
  max-width: 500px;
  margin: 0 auto 1rem;
}

/* Skeleton loading styling */
.lv-applicant-skeleton {
  background-color: #ffffff;
  border-radius: 8px;
  border: 2px solid #e2e0dc;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
  padding: 1rem;
  margin-bottom: 1rem;
}

.lv-applicant-skeleton-loading {
  background-color: #e2e0dc;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.lv-applicant-skeleton-loading::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
/* Modal styling */
.lv-applicant-modal .modal-content {
  border-radius: 0;
  box-shadow: none;
  border: 2px solid #1A1A1A;
  overflow: hidden;
}

.lv-applicant-modal .modal-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e2e0dc;
  padding: 1rem;
}

.lv-applicant-modal .modal-header .modal-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  color: #1A1A1A;
}

.lv-applicant-modal .modal-body {
  padding: 1.5rem;
}

.lv-applicant-modal .modal-footer {
  background-color: #f8f9fa;
  border-top: 1px solid #e2e0dc;
  padding: 1rem;
}

.lv-applicant-modal .btn-close {
  color: #1A1A1A;
}

/* Responsive adaptations */
@media (max-width: 768px) {
  .lv-applicant-card .candidate-header {
    flex-direction: column;
  }
  .lv-applicant-card .candidate-actions {
    margin-top: 1rem;
  }
  .lv-applicant-tabs {
    overflow-x: auto;
    padding-bottom: 5px;
  }
  .lv-applicant-tab {
    padding: 8px 12px;
    font-size: 0.9rem;
  }
}
/* Additional improvements for the applicant card */
/* Enhance the card appearance */
.lv-applicant-card {
  padding: 1.25rem;
  transition: transform 0.3s, box-shadow 0.3s;
  background-color: #fff;
}

/* Make icon colors more consistent */
.lv-applicant-card .bi-currency-dollar,
.lv-applicant-card .bi-geo-alt,
.lv-applicant-card .bi-envelope,
.lv-applicant-card .bi-telephone {
  color: #349422;
  margin-right: 4px;
}

/* Improve skill badges */
.lv-applicant-card .badge {
  margin-right: 6px;
  margin-bottom: 6px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  letter-spacing: 0.5px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 20px;
  transition: transform 0.2s ease;
}

.lv-applicant-card .badge:hover {
  transform: translateY(-2px);
}

/* Alternate badge colors for variety */
.lv-applicant-card .badge:nth-child(3n+1) {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
  border: 1px solid #1A1A1A;
}

.lv-applicant-card .badge:nth-child(3n+2) {
  background-color: #e8f5e4;
  color: #349422;
  border: 1px solid #349422;
}

.lv-applicant-card .badge:nth-child(3n+3) {
  background-color: #e8f5e4;
  color: #2a7a1b;
  border: 1px solid #2a7a1b;
}

/* Enhance profile image */
.lv-applicant-card .profile-img {
  width: 70px;
  height: 70px;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lv-applicant-card .profile-img:hover {
  transform: scale(1.05);
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
}

/* Improve profile placeholder */
.lv-applicant-card .image-container-profile {
  width: 70px;
  height: 70px;
  border: 3px solid #349422;
  box-shadow: none;
  font-size: 1.5rem;
}

/* Add a subtle separator between info and actions on mobile */
@media (max-width: 768px) {
  .lv-applicant-card .candidate-actions {
    border-top: 1px dashed rgba(26, 26, 26, 0.2);
    padding-top: 1rem;
    margin-top: 1rem;
  }
  .lv-applicant-card .candidate-header {
    flex-direction: column;
  }
}
/* Enhance candidate rate display */
.lv-applicant-card .candidate-rate {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 700;
  color: #1A1A1A;
  padding: 4px 8px;
  border-radius: 0;
  background-color: rgba(26, 26, 26, 0.05);
  display: inline-block;
}

/* Improve success rate visualization */
.lv-applicant-card .success-rate {
  padding: 4px 8px;
  border-radius: 0;
  background-color: #e8f5e4;
  display: inline-block;
}

/* Subtle hover effect for empty state */
.lv-applicant-empty:hover {
  transform: translateY(-3px);
  box-shadow: none;
}

/* Skills container improvements */
.skills-container {
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
}

/* Compact Card */
.applicant-card {
  background: #FFFFFF;
  border-bottom: 1px solid #e1e4e8;
  border-radius: 2px;
  margin-bottom: 4px;
  transition: all 0.2s ease;
  overflow: hidden;
}

.applicant-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}

/* Main Layout - Single Row */
.card-content {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  gap: 20px;
}

/* Avatar Section */
.avatar-section {
  flex-shrink: 0;
  position: relative;
}

.avatar {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  overflow: hidden;
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.status-indicator {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 12px;
  height: 12px;
  background: var(--success);
  border: 2px solid var(--white);
  border-radius: 50%;
}

/* Info Section */
.info-section {
  flex: 1;
  min-width: 0;
}

.primary-info {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.candidate-name {
  font-size: 16px;
  font-weight: 600;
  color: #1F2937;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 250px;
}

.candidate-name:hover {
  color: #4B5563;
}

.candidate-role {
  font-size: 14px;
  color: var(--gray-600);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tags */
.tag-container {
  display: flex;
  gap: 6px;
  align-items: center;
}

.tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 500;
  white-space: nowrap;
}

.tag-level {
  background: #4B5563;
  color: var(--white);
}

.tag-type {
  background: var(--gray-200);
  color: #4B5563;
  border: 1px solid #E5E7EB;
}

.tag-hot {
  background: #1F2937;
  color: var(--white);
}

.tag-new {
  background: var(--success);
  color: var(--white);
}

.secondary-info {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: var(--gray-600);
}

.info-item {
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.info-item i {
  font-size: 12px;
  color: var(--gray-500);
}

/* Experience Info */
.experience-info {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  background: var(--gray-100);
  border-radius: 12px;
  font-size: 12px;
  color: #4B5563;
  border: 1px solid var(--gray-200);
  max-width: 350px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.experience-info i {
  color: var(--gray-600);
  flex-shrink: 0;
}

/* Metrics Section */
.metrics-section {
  display: flex;
  gap: 24px;
  align-items: center;
}

.metric {
  text-align: center;
  min-width: 60px;
}

.metric-value {
  font-size: 18px;
  font-weight: 600;
  color: var(--gray-800);
  line-height: 1.2;
}

.metric-label {
  font-size: 11px;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Skills Preview */
.skills-preview {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

.skill-dot {
  width: 6px;
  height: 6px;
  background: var(--gray-400);
  border-radius: 50%;
}

.skills-count {
  font-size: 12px;
  color: var(--gray-500);
  margin-left: 4px;
}

/* Actions */
.actions-section {
  display: flex;
  gap: 8px;
  align-items: center;
}

.btn-compact {
  width: 32px;
  height: 32px;
  border: 1px solid #E5E7EB;
  background: var(--white);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--gray-600);
  font-size: 14px;
}

.btn-compact:hover {
  background: var(--gray-100);
  border-color: var(--gray-400);
  color: var(--gray-800);
}

.btn-favorite.active {
  background: var(--danger);
  color: var(--white);
  border-color: var(--danger);
}

/* Match Score */
.match-score {
  background: #1F2937;
  color: var(--white);
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  margin-left: 8px;
}

/* Expanded Details (Click to expand) */
.expanded-details {
  background: var(--gray-100);
  border-top: 1px solid #E5E7EB;
  padding: 16px 20px;
  display: none;
}

.applicant-card.expanded .expanded-details {
  display: block;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.detail-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #4B5563;
}

.detail-item i {
  color: var(--gray-500);
  width: 16px;
}

.skills-full {
  margin-top: 12px;
}

.skill-tag {
  display: inline-block;
  background: var(--gray-200);
  color: #4B5563;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  margin: 0 4px 4px 0;
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 60px 40px;
  background: var(--white);
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

.empty-icon {
  font-size: 48px;
  color: var(--gray-400);
  margin-bottom: 16px;
}

.empty-state h3 {
  font-size: 20px;
  color: #4B5563;
  margin-bottom: 8px;
}

.empty-state p {
  color: var(--gray-600);
  font-size: 14px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .card-content {
    flex-wrap: wrap;
    gap: 12px;
  }
  .info-section {
    width: 100%;
  }
  .metrics-section {
    width: 100%;
    justify-content: space-between;
  }
  .secondary-info {
    flex-wrap: wrap;
    gap: 8px;
  }
  .candidate-name {
    max-width: 200px;
  }
  .experience-info {
    width: 100%;
  }
}
/* ========================================
   FILTER SIDEBAR - ESTRUTURA PRINCIPAL
   ======================================== */
#app-filter-menu {
  background: white;
  position: sticky;
  top: 0;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden; /* Mudança aqui */
  border-right: 1px solid #e5e7eb;
  padding: 0;
  display: flex;
  flex-direction: column;
}

#app-filter-menu::-webkit-scrollbar {
  width: 8px;
}

#app-filter-menu::-webkit-scrollbar-track {
  background: #f9fafb;
}

#app-filter-menu::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  transition: background 0.2s ease;
}

#app-filter-menu::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* Firefox */
#app-filter-menu {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f9fafb;
}

/* ========================================
   HEADER DO FILTRO
   ======================================== */
.filter-header {
  padding: 20px 16px;
  border-bottom: 2px solid #e5e7eb;
  background: #ffffff;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  flex-shrink: 0; /* Não encolhe */
}

.filter-header h4 {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px 0;
  letter-spacing: -0.2px;
}

.active-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

.filter-count {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

.filter-count .count {
  font-weight: 700;
  color: #0052cc;
  font-size: 14px;
}

.clear-all {
  font-size: 13px;
  color: #0052cc;
  cursor: pointer;
  transition: all 0.2s;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
}

.clear-all:hover {
  color: #0065ff;
  background: #deebff;
  text-decoration: none;
}

/* ========================================
   FILTROS APLICADOS (TAGS)
   ======================================== */
.applied-filters {
  padding: 16px;
  background: #f3f4f6;
  border-bottom: 2px solid #e5e7eb;
  display: none;
  flex-shrink: 0; /* Não encolhe */
}

.applied-filters.has-filters {
  display: block;
}

.applied-title {
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 10px;
}

.filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: white;
  border: 1px solid #d1d5db;
  border-radius: 16px;
  font-size: 12px;
  color: #374151;
  font-weight: 500;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-tag:hover {
  border-color: #9ca3af;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.filter-tag .remove {
  cursor: pointer;
  color: #6b7280;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.filter-tag .remove:hover {
  color: #dc2626;
}

/* ========================================
   SEÇÕES DE FILTROS - ÁREA COM SCROLL
   ======================================== */
.filter-sections {
  padding: 0;
  flex: 1; /* Ocupa o espaço disponível */
  overflow-y: auto; /* Scroll apenas aqui */
  overflow-x: hidden;
}

.filter-sections::-webkit-scrollbar {
  width: 8px;
}

.filter-sections::-webkit-scrollbar-track {
  background: #f9fafb;
}

.filter-sections::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  transition: background 0.2s ease;
}

.filter-sections::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.filter-sections {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f9fafb;
}

.filter-section {
  padding: 16px;
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  transition: background 0.2s ease;
}

.filter-section:hover {
  background: #fafbfc;
}

.filter-section:last-child {
  border-bottom: none;
  padding-bottom: 20px; /* Espaço extra no final */
}

/* Título da Seção */
.app-filter-section-title {
  font-size: 12px;
  font-weight: 700;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f3f4f6;
}

.app-filter-section-title i {
  font-size: 14px;
  color: #6b7280;
}

/* Badge de contagem */
.app-filter-section-title .badge-count {
  background: #0052cc;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: auto;
  margin-right: 4px;
  min-width: 20px;
  text-align: center;
}

/* Botão limpar seção */
.btn-clear-section {
  background: none;
  border: none;
  color: #9ca3af;
  padding: 2px 4px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  border-radius: 3px;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-clear-section:hover {
  color: #dc2626;
  background-color: #fee2e2;
}

/* ========================================
   CONTAINER DE CHECKBOXES
   ======================================== */
.checkbox-list-container {
  margin-top: 0;
}

/* Campo de Busca */
.checkbox-search-wrapper {
  padding-bottom: 8px;
}

.checkbox-search {
  width: 100%;
  height: 34px;
  padding: 8px 12px;
  font-size: 13px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #ffffff;
  transition: all 0.2s ease;
  font-weight: 400;
}

.checkbox-search:focus {
  outline: none;
  border-color: #0052cc;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

.checkbox-search::placeholder {
  color: #9ca3af;
  font-size: 13px;
}

/* ========================================
   LISTA DE CHECKBOXES COM SCROLL
   ======================================== */
.checkbox-list {
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 4px;
  background: #fafbfc;
  transition: all 0.2s ease;
}

.checkbox-list:hover {
  border-color: #d1d5db;
}

/* Scrollbar Personalizada para checkbox-list */
.checkbox-list::-webkit-scrollbar {
  width: 8px;
}

.checkbox-list::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 4px;
  margin: 6px 0;
}

.checkbox-list::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
  border: 2px solid #f3f4f6;
  transition: background 0.2s ease;
}

.checkbox-list::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.checkbox-list::-webkit-scrollbar-thumb:active {
  background: #6b7280;
}

/* Firefox Scrollbar */
.checkbox-list {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

/* ========================================
   ITEMS DE CHECKBOX
   ======================================== */
.checkbox-item {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  margin: 2px 0;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 5px;
  font-size: 13px;
  color: #374151;
  line-height: 1.4;
  position: relative;
}

.checkbox-item:hover {
  background-color: #f3f4f6;
}

.checkbox-item:active {
  background-color: #e5e7eb;
}

/* Checkbox Input */
.checkbox-item input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0 10px 0 0;
  cursor: pointer;
  accent-color: #0052cc;
  flex-shrink: 0;
}

/* Label Text */
.checkbox-item .label-text {
  flex: 1;
  user-select: none;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Count badge opcional */
.checkbox-item .count {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 600;
  margin-left: 8px;
  background: #f3f4f6;
  padding: 2px 6px;
  border-radius: 10px;
}

/* Estado Checked */
.checkbox-item input[type=checkbox]:checked {
  accent-color: #0052cc;
}

.checkbox-item input[type=checkbox]:checked + .label-text {
  color: #0052cc;
}

.checkbox-item:has(input[type=checkbox]:checked) {
  padding-left: 7px;
}

.checkbox-item:has(input[type=checkbox]:checked):hover {
  background-color: #b3d4ff;
}

/* Select All Style */
.checkbox-item:has(.select-all-areas),
.checkbox-item:has(.select-all-marital),
.checkbox-item:has(.select-all-states) {
  background-color: #f9fafb;
  font-weight: 600;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 4px;
  padding-bottom: 8px;
}

.checkbox-item:has(.select-all-areas):hover,
.checkbox-item:has(.select-all-marital):hover,
.checkbox-item:has(.select-all-states):hover {
  background-color: #f3f4f6;
}

/* ========================================
   DIVISORES
   ======================================== */
.checkbox-divider {
  margin: 6px 8px;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

.filter-section hr {
  margin: 12px 0;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

/* ========================================
   CAMPOS DE INPUT E SELECT
   ======================================== */
.filter-field {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  transition: all 0.2s ease;
  background: white;
  font-weight: 500;
  color: #374151;
}

.filter-field:focus {
  outline: none;
  border-color: #0052cc;
  box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.1);
}

.filter-field::placeholder {
  color: #9ca3af;
  font-size: 13px;
  font-weight: 400;
}

/* Field Labels */
.field-label {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 6px;
  display: block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Select Fields */
select.filter-field {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
  padding-right: 36px;
}

/* ========================================
   FILTROS SIMPLES (PCD, VIAGEM)
   ======================================== */
.filter-section > .checkbox-item {
  padding: 10px 12px;
  margin: 6px 0;
  background: #fafbfc;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}

.filter-section > .checkbox-item:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
}

.filter-section > .checkbox-item input[type=checkbox]:checked + .label-text {
  font-weight: 700;
  color: #0052cc;
}

.filter-section > .checkbox-item:has(input[type=checkbox]:checked) {
  background: #deebff;
  border-color: #0052cc;
  border-left-width: 3px;
  padding-left: 9px;
}

/* ========================================
   ESTADOS ESPECIAIS
   ======================================== */
/* Disabled State */
.checkbox-item input[type=checkbox]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.checkbox-item:has(input[type=checkbox]:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
}

.checkbox-item:has(input[type=checkbox]:disabled):hover {
  background-color: transparent;
}

/* Empty State */
.checkbox-list:empty::after {
  content: "Nenhum item disponível";
  display: block;
  padding: 24px;
  text-align: center;
  color: #9ca3af;
  font-size: 13px;
  font-style: italic;
  font-weight: 500;
}

/* Loading State */
.checkbox-list.loading {
  position: relative;
  pointer-events: none;
  opacity: 0.6;
}

@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* ========================================
   ANIMAÇÕES
   ======================================== */
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.checkbox-item {
  animation: slideIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.filter-section {
  animation: fadeIn 0.3s ease;
}

/* ========================================
   HIGHLIGHT EM PESQUISA
   ======================================== */
.checkbox-item .label-text mark {
  background-color: #fef3c7;
  color: #92400e;
  font-weight: 700;
  padding: 0 3px;
  border-radius: 2px;
}

/* ========================================
   RESPONSIVIDADE
   ======================================== */
@media (max-width: 991px) {
  #app-filter-menu {
    position: relative;
    height: auto;
    min-height: auto;
    border-right: none;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 20px;
    overflow: visible;
  }
  .filter-sections {
    overflow-y: visible;
  }
  .filter-section.filter-button-section {
    position: relative;
    box-shadow: none;
  }
  .filter-section {
    padding: 12px;
  }
  .checkbox-list {
    max-height: 180px;
  }
  .checkbox-item {
    padding: 7px 8px;
    font-size: 12px;
  }
  .app-filter-section-title {
    font-size: 11px;
  }
}
@media (max-width: 576px) {
  .filter-header {
    padding: 16px 12px;
  }
  .filter-section {
    padding: 12px;
  }
  .checkbox-list {
    max-height: 160px;
  }
}
/* ========================================
   UTILITÁRIOS
   ======================================== */
.mb-2 {
  margin-bottom: 8px;
}

.mb-3 {
  margin-bottom: 12px;
}

.text-muted {
  color: #6b7280;
}

.text-small {
  font-size: 12px;
}

/* Separador visual entre grupos */
.filter-section-divider {
  height: 8px;
  background: #f3f4f6;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}

/* === FILTERS HEADER (CLEAN VERSION) === */
.filters-header {
  background: white;
  padding: 20px 16px;
  margin-bottom: 16px;
  border-radius: 3px;
  background: #e4e7ec;
  border: 1px solid #e4e7ec;
  margin: 5px;
}
.filters-header__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 700;
  color: #101828;
  margin: 0 0 8px 0;
}
.filters-header__title i {
  font-size: 18px;
  color: #1570ef;
}
.filters-header__description {
  font-size: 12px;
  color: #667085;
  line-height: 1.6;
  margin: 0;
}

/* === ACCORDION === */
.filter-accordion {
  margin-bottom: 8px;
  border: 1px solid #e4e7ec;
  border-radius: 3px;
  background: white;
  overflow: hidden;
}
.filter-accordion__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: white;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.filter-accordion__header:hover {
  background: #f9fafb;
}
.filter-accordion__header.active {
  background: #f9fafb;
  border-bottom: 1px solid #e4e7ec;
}
.filter-accordion__header.active .filter-accordion__icon {
  transform: rotate(180deg);
}
.filter-accordion__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #344054;
}
.filter-accordion__title i {
  font-size: 14px;
  color: #667085;
}
.filter-accordion__icon {
  font-size: 14px;
  color: #98a2b3;
  transition: transform 0.3s;
}
.filter-accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.filter-accordion__content.open {
  max-height: 1000px;
  transition: max-height 0.5s ease-in;
}

/* === RANK CARDS === */
.rank-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 16px;
}

.rank-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px;
  border: 2px solid;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: white;
}
.rank-card__medal {
  font-size: 24px;
  margin-bottom: 6px;
  transition: transform 0.3s;
}
.rank-card__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}
.rank-card__score {
  font-size: 9px;
  opacity: 0.7;
  font-weight: 600;
}
.rank-card--diamond {
  border-color: #bae6fd;
  color: #0c4a6e;
}
.rank-card--diamond.active {
  background: linear-gradient(135deg, #e0f2fe, #bae6fd);
  border-color: #0ea5e9;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
  transform: translateY(-2px);
}
.rank-card--platinum {
  border-color: #d4d4d4;
  color: #404040;
}
.rank-card--platinum.active {
  background: linear-gradient(135deg, #f5f5f5, #e5e5e5);
  border-color: #a3a3a3;
  box-shadow: 0 4px 12px rgba(163, 163, 163, 0.3);
  transform: translateY(-2px);
}
.rank-card--gold {
  border-color: #fde68a;
  color: #92400e;
}
.rank-card--gold.active {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-color: #f59e0b;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
  transform: translateY(-2px);
}
.rank-card--silver {
  border-color: #cbd5e1;
  color: #334155;
}
.rank-card--silver.active {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
  border-color: #64748b;
  box-shadow: 0 4px 12px rgba(100, 116, 139, 0.3);
  transform: translateY(-2px);
}
.rank-card--bronze {
  border-color: #fdba74;
  color: #7c2d12;
}
.rank-card--bronze.active {
  background: linear-gradient(135deg, #fed7aa, #fdba74);
  border-color: #ea580c;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
  transform: translateY(-2px);
}
.rank-card--iron {
  border-color: #dfe1e6;
  color: #42526e;
}
.rank-card--iron.active {
  background: linear-gradient(135deg, #f4f5f7, #dfe1e6);
  border-color: #8993a4;
  box-shadow: 0 4px 12px rgba(137, 147, 164, 0.3);
  transform: translateY(-2px);
}
.rank-card.active .rank-card__medal {
  transform: scale(1.15);
}

/* === LEVEL PILLS === */
.level-pills-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
}

.level-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 2px solid #e4e7ec;
  border-radius: 20px;
  background: white;
  cursor: pointer;
  transition: all 0.25s;
  width: 100%;
}
.level-pill__icon {
  font-size: 16px;
  transition: transform 0.3s;
}
.level-pill__text {
  font-size: 12px;
  font-weight: 600;
  color: #344054;
  flex: 1;
}
.level-pill__years {
  font-size: 10px;
  color: #98a2b3;
  font-weight: 500;
}
.level-pill:hover {
  border-color: #1570ef;
  background: #f9fafb;
  transform: translateX(3px);
}
.level-pill:hover .level-pill__icon {
  transform: scale(1.2);
}
.level-pill.active {
  border-color: #1570ef;
  background: linear-gradient(90deg, #eff6ff, #dbeafe);
  box-shadow: 0 2px 8px rgba(21, 112, 239, 0.2);
  transform: translateX(4px);
}
.level-pill.active .level-pill__text {
  color: #1570ef;
  font-weight: 700;
}
.level-pill.active .level-pill__icon {
  transform: scale(1.2);
}

/* === SCORE GAUGE === */
.score-gauge-container {
  padding: 16px;
}

.score-gauge {
  position: relative;
  width: 100%;
  margin-bottom: 16px;
}
.score-gauge__svg {
  width: 100%;
  height: auto;
}
.score-gauge__value {
  font-size: 32px;
  font-weight: 700;
  fill: #1570ef;
}
.score-gauge__label {
  font-size: 11px;
  fill: #667085;
  font-weight: 600;
}
.score-gauge__slider {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: #e4e7ec;
  outline: none;
  -webkit-appearance: none;
  margin-bottom: 8px;
}
.score-gauge__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1570ef, #0062d9);
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(21, 112, 239, 0.4);
  border: 3px solid white;
}
.score-gauge__slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1570ef, #0062d9);
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(21, 112, 239, 0.4);
  border: 3px solid white;
}
.score-gauge__markers {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #98a2b3;
  font-weight: 600;
}

/* === BUTTONS === */
.filter-button-section {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.btn-block {
  width: 100%;
}

.btn-clear-all {
  font-size: 12px;
}

/* === SEÇÃO PERMANENTE (OUTROS FILTROS) === */
.filter-section-permanent {
  background: white;
  border: 1px solid #e4e7ec;
  border-radius: 3px;
  padding: 16px;
  margin-bottom: 8px;
}
.filter-section-permanent__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #344054;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f2f4f7;
}
.filter-section-permanent__title i {
  font-size: 14px;
  color: #667085;
}

/* === FILTER TOGGLES === */
.filter-toggles {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.filter-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin-left: 10px;
  margin-right: 10px;
  border: 2px solid #e4e7ec;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  width: calc(100% - 20px); /* Subtrai 20px (10px de cada lado) da largura total */
  text-align: left;
  /* ACTIVE STATES */
  /* Favoritos (Amarelo) */
  /* Viagem (Azul) */
  /* PCD (Verde) */
}
.filter-toggle:hover {
  border-color: #d0d5dd;
  background: #f9fafb;
  transform: translateX(2px);
}
.filter-toggle__icon-wrapper {
  position: relative;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f4f7;
  border-radius: 8px;
  flex-shrink: 0;
  transition: all 0.3s;
}
.filter-toggle__icon-off, .filter-toggle__icon-on {
  font-size: 18px;
  transition: all 0.3s;
  position: absolute;
}
.filter-toggle__icon-off {
  color: #667085;
  opacity: 1;
}
.filter-toggle__icon-on {
  opacity: 0;
  transform: scale(0);
}
.filter-toggle__label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.filter-toggle__title {
  font-size: 12px;
  font-weight: 600;
  color: #344054;
}
.filter-toggle__subtitle {
  font-size: 10px;
  color: #667085;
}
.filter-toggle[data-filter=favorites].active {
  border-color: #fbbf24;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  box-shadow: 0 4px 12px rgba(251, 191, 36, 0.25);
}
.filter-toggle[data-filter=favorites].active .filter-toggle__icon-wrapper {
  background: #fbbf24;
}
.filter-toggle[data-filter=favorites].active .filter-toggle__icon-off {
  opacity: 0;
  transform: scale(0);
}
.filter-toggle[data-filter=favorites].active .filter-toggle__icon-on {
  opacity: 1;
  transform: scale(1);
  color: white;
}
.filter-toggle[data-filter=favorites].active .filter-toggle__title {
  color: #92400e;
  font-weight: 700;
}
.filter-toggle[data-filter=trip].active {
  border-color: #3b82f6;
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}
.filter-toggle[data-filter=trip].active .filter-toggle__icon-wrapper {
  background: #3b82f6;
}
.filter-toggle[data-filter=trip].active .filter-toggle__icon-off {
  opacity: 0;
  transform: scale(0);
}
.filter-toggle[data-filter=trip].active .filter-toggle__icon-on {
  opacity: 1;
  transform: scale(1);
  color: white;
}
.filter-toggle[data-filter=trip].active .filter-toggle__title {
  color: #1e40af;
  font-weight: 700;
}
.filter-toggle[data-filter=pcd].active {
  border-color: #10b981;
  background: linear-gradient(135deg, #d1fae5, #a7f3d0);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}
.filter-toggle[data-filter=pcd].active .filter-toggle__icon-wrapper {
  background: #10b981;
}
.filter-toggle[data-filter=pcd].active .filter-toggle__icon-off {
  opacity: 0;
  transform: scale(0);
}
.filter-toggle[data-filter=pcd].active .filter-toggle__icon-on {
  opacity: 1;
  transform: scale(1);
  color: white;
}
.filter-toggle[data-filter=pcd].active .filter-toggle__title {
  color: #065f46;
  font-weight: 700;
}

/* === SEARCH FIELD === */
.search-field {
  position: relative;
}
.search-field .form-control {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.search-field__icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: #706e6b;
  pointer-events: none;
  font-size: 1rem;
  z-index: 5;
}
.search-field__clear {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.25rem;
  border: none;
  background: none;
  color: #706e6b;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1;
  transition: all 0.2s ease;
  border-radius: 3px;
  z-index: 5;
}
.search-field__clear:hover {
  color: #3e3e3c;
  background-color: #f3f3f3;
}
.search-field__clear:focus {
  outline: 2px solid #1589ee;
  color: #0176d3;
}

/* =============================================================================
   APPLICANTS LAYOUT - Editorial Corporate Style
   ============================================================================= */
.lv-applicants-layout {
  display: flex;
  min-height: calc(100vh - 64px);
  position: relative;
  z-index: 1;
}

.lv-applicants-sidebar {
  width: 260px;
  flex-shrink: 0;
  background: #FFFFFF;
  border-right: 1px solid #F3F4F6;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: calc(100vh - 64px);
  overflow: hidden;
}

.lv-applicants-sidebar-header {
  padding: 1.25rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  flex-shrink: 0;
}
.lv-applicants-sidebar-header h6 {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9CA3AF;
}

.lv-applicants-sidebar-content {
  flex: 1;
  padding: 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* Filter Search Input */
.lv-filter-search {
  margin-bottom: 0.5rem;
}

.lv-filter-search-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  font-size: 0.8125rem;
  color: #4B5563;
  transition: border-color 0.15s ease;
}
.lv-filter-search-input::placeholder {
  color: #9CA3AF;
}
.lv-filter-search-input:focus {
  outline: none;
  border-color: #349422;
}

/* Scrollable filter list */
.lv-filter-scrollable {
  max-height: 150px;
  overflow-y: auto;
  border: 1px solid #F3F4F6;
  padding: 0.25rem;
  background: #FAFAFA;
}

/* Filter Section */
.lv-filter-section {
  margin-bottom: 1.25rem;
}

.lv-filter-section-title {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  margin-bottom: 0.5rem;
}

.lv-filter-categories {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* Filter Checkbox */
.lv-filter-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  cursor: pointer;
  transition: background 0.15s ease;
  margin: 0;
  font-size: 0.8125rem;
  color: #4B5563;
}
.lv-filter-checkbox:hover {
  background: #F9FAFB;
}
.lv-filter-checkbox input[type=checkbox] {
  width: 14px;
  height: 14px;
  margin: 0;
  cursor: pointer;
  accent-color: #349422;
}
.lv-filter-checkbox span {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex: 1;
}
.lv-filter-checkbox span i {
  font-size: 0.75rem;
}

/* Filter Actions */
.lv-filter-actions {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Responsive */
@media (max-width: 1200px) {
  .lv-applicants-sidebar {
    width: 240px;
  }
}
/* Main Content Area */
.lv-applicants-main {
  flex: 1;
  min-width: 0;
  background: #FAFAFA;
}

@media (max-width: 992px) {
  .lv-applicants-layout {
    flex-direction: column;
  }
  .lv-applicants-sidebar {
    width: 100%;
    height: auto;
    position: relative;
    border-right: none;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-applicants-sidebar-content {
    max-height: 400px;
  }
  .lv-applicants-main {
    padding: 1.5rem;
  }
}
.lv-jobs-panel {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

.lv-jobs-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
  gap: 16px;
  flex-wrap: wrap;
}

.lv-jobs-panel__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
}
.lv-jobs-panel__title i {
  font-size: 16px;
  color: #6B7280;
}

.lv-jobs-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #3B82F6;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  border-radius: 10px;
}

.lv-jobs-panel__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.lv-jobs-panel__search {
  position: relative;
}
.lv-jobs-panel__search i {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 13px;
}
.lv-jobs-panel__search input {
  width: 200px;
  padding: 6px 12px 6px 32px;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
  transition: all 0.15s ease;
}
.lv-jobs-panel__search input:focus {
  outline: none;
  border-color: #3B82F6;
  box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.1);
}
.lv-jobs-panel__search input::placeholder {
  color: #9CA3AF;
}

.lv-jobs-panel__filters {
  display: flex;
  gap: 4px;
}

.lv-jobs-panel__filter-btn {
  padding: 5px 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #6B7280;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-jobs-panel__filter-btn:hover {
  background: #fff;
  border-color: #E5E7EB;
}
.lv-jobs-panel__filter-btn.active {
  background: #fff;
  border-color: #E5E7EB;
  color: #1A1A1A;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lv-jobs-table {
  width: 100%;
}

.lv-jobs-table__header {
  display: grid;
  grid-template-columns: 120px 1fr 100px 100px 150px 50px;
  gap: 12px;
  padding: 10px 20px;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

.lv-jobs-table__col {
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lv-jobs-table__body .lv-jobs-table__col {
  font-size: 13px;
  font-weight: 400;
  color: #1A1A1A;
  text-transform: none;
  letter-spacing: normal;
  display: flex;
  align-items: center;
}

.lv-jobs-table__row {
  display: grid;
  grid-template-columns: 120px 1fr 100px 100px 150px 50px;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid #F3F4F6;
  transition: background 0.15s ease;
  align-items: center;
}
.lv-jobs-table__row:hover {
  background: #FAFAFA;
}
.lv-jobs-table__row:last-child {
  border-bottom: none;
}
.lv-jobs-table__row.lv-jobs-table__row--expandable {
  flex-wrap: wrap;
}

.lv-jobs-table__row-detail {
  grid-column: 1/-1;
  padding-top: 8px;
  margin-top: 8px;
  border-top: 1px dashed #F3F4F6;
}

.lv-jobs-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.lv-jobs-status i {
  font-size: 12px;
}
.lv-jobs-status--pending {
  background: #DBEAFE;
  color: #3B82F6;
}
.lv-jobs-status--approved {
  background: #DCFCE7;
  color: #1a7f37;
}
.lv-jobs-status--rejected {
  background: #FEE2E2;
  color: #cf222e;
}

.lv-jobs-table__col--job {
  flex-direction: column;
  align-items: flex-start !important;
  gap: 2px;
}

.lv-jobs-table__job-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1A1A1A;
  text-decoration: none;
  transition: color 0.15s ease;
}
.lv-jobs-table__job-link:hover {
  color: #3B82F6;
}
.lv-jobs-table__job-link:hover .lv-jobs-table__job-title {
  text-decoration: underline;
}

.lv-jobs-table__job-code {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: #9CA3AF;
  font-weight: 600;
}

.lv-jobs-table__job-title {
  font-weight: 500;
}

.lv-jobs-table__company {
  font-size: 12px;
  color: #6B7280;
}

.lv-jobs-table__result-pending {
  color: #9CA3AF;
  font-style: italic;
}

.lv-jobs-table__responsible {
  display: flex;
  align-items: center;
  gap: 8px;
}
.lv-jobs-table__responsible img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.lv-jobs-table__responsible span {
  font-size: 13px;
  color: #1A1A1A;
}

.lv-jobs-table__no-responsible {
  color: #9CA3AF;
}

.lv-jobs-table__reason {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fff8f4;
  border-radius: 6px;
  font-size: 12px;
  color: #953800;
}
.lv-jobs-table__reason i {
  color: #bf8700;
}

.lv-jobs-table__col--actions {
  justify-content: flex-end !important;
}

.lv-jobs-table__action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-jobs-table__action-btn:hover {
  background: #E5E7EB;
  color: #1A1A1A;
}
.lv-jobs-table__action-btn i {
  font-size: 14px;
}

.lv-jobs-panel__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-top: 1px solid #E5E7EB;
  background: #FFFFFF;
}

.lv-jobs-panel__showing {
  font-size: 12px;
  color: #6B7280;
}

.lv-jobs-panel__pagination {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-jobs-panel__page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  background: #fff;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-jobs-panel__page-btn:hover:not(:disabled) {
  border-color: #6B7280;
  color: #1A1A1A;
}
.lv-jobs-panel__page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.lv-jobs-panel__page-btn i {
  font-size: 12px;
}

.lv-jobs-panel__page-info {
  font-size: 12px;
  color: #6B7280;
  min-width: 50px;
  text-align: center;
}

@media (max-width: 1200px) {
  .lv-jobs-table__header {
    display: none;
  }
  .lv-jobs-table__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 20px;
    align-items: flex-start;
  }
  .lv-jobs-table__col {
    width: 100%;
  }
  .lv-jobs-table__col--actions {
    justify-content: flex-start !important;
  }
  .lv-jobs-table__col--date::before,
  .lv-jobs-table__col--result::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    margin-right: 8px;
  }
}
@media (max-width: 768px) {
  .lv-jobs-panel__header {
    flex-direction: column;
    align-items: stretch;
  }
  .lv-jobs-panel__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .lv-jobs-panel__search input {
    width: 100%;
  }
  .lv-jobs-panel__filters {
    flex-wrap: wrap;
  }
  .lv-jobs-panel__footer {
    flex-direction: column;
    gap: 12px;
  }
}
.lv-attachment-panel {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 350px);
  min-height: 500px;
}

.lv-attachment-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
  gap: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.lv-attachment-panel__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
}
.lv-attachment-panel__title i {
  font-size: 16px;
  color: #cf222e;
}

.lv-attachment-panel__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-attachment-panel__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  background: #fff;
  color: #1A1A1A;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-attachment-panel__btn i {
  font-size: 14px;
}
.lv-attachment-panel__btn:hover {
  background: #FAFAFA;
  border-color: #6B7280;
  color: #1A1A1A;
  text-decoration: none;
}
.lv-attachment-panel__btn--upload {
  background: #3B82F6;
  border-color: #3B82F6;
  color: #fff;
}
.lv-attachment-panel__btn--upload i {
  color: #fff;
}
.lv-attachment-panel__btn--upload:hover {
  background: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  border-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  color: #fff;
}
.lv-attachment-panel__btn--loading {
  pointer-events: none;
  opacity: 0.7;
}

.lv-attachment-panel__viewer {
  flex: 1;
  display: flex;
  background: #f6f8fa;
  min-height: 0;
}

.lv-attachment-panel__iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.lv-attachment-panel__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  flex: 1;
  background: #f6f8fa;
  color: #9CA3AF;
}
.lv-attachment-panel__empty i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #E5E7EB;
}
.lv-attachment-panel__empty span {
  font-size: 14px;
  font-weight: 500;
}

.lv-attachment-panel__empty-hint {
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 8px;
  margin-bottom: 0;
}

.lv-attachment-panel__notice {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #fff8e6;
  border-bottom: 1px solid #f0e6cc;
  font-size: 13px;
  color: #856404;
}
.lv-attachment-panel__notice i {
  font-size: 16px;
  color: #b8860b;
}
.lv-attachment-panel__notice a {
  color: #0969da;
  text-decoration: none;
  font-weight: 500;
}
.lv-attachment-panel__notice a:hover {
  text-decoration: underline;
}

.lv-attachment-panel__word-fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 60px 20px;
  text-align: center;
  background: #f6f8fa;
  color: #6B7280;
}
.lv-attachment-panel__word-fallback h4 {
  margin: 0 0 12px 0;
  font-size: 18px;
  font-weight: 600;
  color: #1A1A1A;
}
.lv-attachment-panel__word-fallback p {
  margin: 0 0 8px 0;
  font-size: 14px;
  line-height: 1.5;
  color: #6B7280;
}
.lv-attachment-panel__word-fallback p:last-child {
  margin-bottom: 0;
}

.lv-attachment-panel__word-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #2b579a 0%, #1e4078 100%);
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(43, 87, 154, 0.3);
}
.lv-attachment-panel__word-icon i {
  font-size: 40px;
  color: #fff;
}

@media (max-width: 768px) {
  .lv-attachment-panel {
    height: auto;
    min-height: 400px;
  }
  .lv-attachment-panel__header {
    flex-direction: column;
    align-items: stretch;
  }
  .lv-attachment-panel__actions {
    flex-direction: column;
  }
  .lv-attachment-panel__btn {
    justify-content: center;
  }
  .lv-attachment-panel__viewer {
    min-height: 400px;
  }
  .lv-attachment-panel__word-fallback {
    padding: 40px 20px;
  }
  .lv-attachment-panel__word-icon {
    width: 64px;
    height: 64px;
  }
  .lv-attachment-panel__word-icon i {
    font-size: 32px;
  }
}
.lv-tests-panel {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

.lv-tests-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
  gap: 16px;
  flex-wrap: wrap;
}

.lv-tests-panel__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
}
.lv-tests-panel__title i {
  font-size: 16px;
  color: #6B7280;
}

.lv-tests-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #3B82F6;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  border-radius: 10px;
}

.lv-tests-panel__body {
  padding: 20px;
}

.lv-tests-panel__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: #9CA3AF;
  gap: 12px;
}
.lv-tests-panel__empty i {
  font-size: 32px;
  opacity: 0.5;
}
.lv-tests-panel__empty span {
  font-size: 14px;
}

.lv-tests-disc {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 24px;
}
@media (max-width: 768px) {
  .lv-tests-disc {
    grid-template-columns: 1fr;
  }
}

.lv-tests-disc__profiles {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lv-tests-disc__profile-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lv-tests-disc__profile-label {
  font-size: 12px;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lv-tests-disc__profile-value {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  padding: 8px 12px;
  border-radius: 6px;
  background: #f6f8fa;
}
.lv-tests-disc__profile-value--primary {
  border-left: 3px solid #cf222e;
}
.lv-tests-disc__profile-value--secondary {
  border-left: 3px solid #f5a623;
}

.lv-tests-disc__bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lv-tests-disc__bar-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lv-tests-disc__bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #1A1A1A;
}
.lv-tests-disc__bar-label span:last-child {
  font-weight: 600;
}

.lv-tests-disc__bar {
  height: 8px;
  background: #eaecef;
  border-radius: 4px;
  overflow: hidden;
}

.lv-tests-disc__bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}
.lv-tests-disc__bar-fill--d {
  background: #cf222e;
}
.lv-tests-disc__bar-fill--i {
  background: #f5a623;
}
.lv-tests-disc__bar-fill--s {
  background: #1a7f37;
}
.lv-tests-disc__bar-fill--c {
  background: #0969da;
}

.lv-tests-table {
  width: 100%;
}

.lv-tests-table__header {
  display: grid;
  grid-template-columns: 120px 1fr 120px 100px 100px 50px;
  gap: 12px;
  padding: 10px 20px;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

.lv-tests-table__col {
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lv-tests-table__body .lv-tests-table__col {
  font-size: 13px;
  font-weight: 400;
  color: #1A1A1A;
  text-transform: none;
  letter-spacing: normal;
  display: flex;
  align-items: center;
}

.lv-tests-table__row {
  display: grid;
  grid-template-columns: 120px 1fr 120px 100px 100px 50px;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid #F3F4F6;
  transition: background 0.15s ease;
  align-items: center;
}
.lv-tests-table__row:hover {
  background: #FAFAFA;
}
.lv-tests-table__row:last-child {
  border-bottom: none;
}

.lv-tests-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.lv-tests-status i {
  font-size: 12px;
}
.lv-tests-status--completed {
  background: #DCFCE7;
  color: #1a7f37;
}
.lv-tests-status--pending {
  background: #DBEAFE;
  color: #3B82F6;
}
.lv-tests-status--started {
  background: #FEF3C7;
  color: #9a6700;
}
.lv-tests-status--cancelled {
  background: #FEE2E2;
  color: #cf222e;
}

.lv-tests-table__test-info {
  display: flex;
  align-items: center;
  gap: 8px;
}
.lv-tests-table__test-info i {
  font-size: 16px;
  color: #6B7280;
}
.lv-tests-table__test-info span {
  font-weight: 500;
}

.lv-tests-table__category-badge {
  display: inline-block;
  padding: 4px 8px;
  background: #f6f8fa;
  border-radius: 4px;
  font-size: 12px;
  color: #6B7280;
}

.lv-tests-table__date-pending {
  color: #9CA3AF;
}

.lv-tests-table__score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
}
.lv-tests-table__score--pass {
  background: #DCFCE7;
  color: #1a7f37;
}
.lv-tests-table__score--fail {
  background: #FEE2E2;
  color: #cf222e;
}

.lv-tests-table__score-pending {
  color: #9CA3AF;
}

.lv-tests-table__col--actions {
  justify-content: flex-end !important;
}

.lv-tests-table__action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-tests-table__action-btn:hover {
  background: #E5E7EB;
  color: #1A1A1A;
}
.lv-tests-table__action-btn i {
  font-size: 14px;
}

@media (max-width: 1200px) {
  .lv-tests-table__header {
    display: none;
  }
  .lv-tests-table__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 20px;
    align-items: flex-start;
  }
  .lv-tests-table__col {
    width: 100%;
  }
  .lv-tests-table__col--actions {
    justify-content: flex-start !important;
  }
}
/*
 * Applicant View Component
 *
 * Estilos para a visualização detalhada de candidatos
 */
.applicant-view-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

.profile-card {
  background-color: #FFFFFF;
  border-radius: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
  padding: 1.5rem;
  overflow: hidden;
}

.profile-header {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .profile-header {
    flex-direction: column;
    gap: 1rem;
  }
}

.profile-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-right: 1rem;
  object-fit: cover;
}
@media (min-width: 768px) {
  .profile-photo {
    margin-right: 0;
  }
}

.profile-photo-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-right: 1rem;
  background-color: #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #6B7280;
}
@media (min-width: 768px) {
  .profile-photo-placeholder {
    margin-right: 0;
  }
}

.profile-info {
  flex-grow: 1;
}

.profile-name {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  display: flex;
  align-items: center;
  color: #1F2937;
}

.verified-badge {
  color: #20B2AA;
  margin-left: 0.25rem;
}

.profile-location {
  color: #6B7280;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}
.profile-location i {
  margin-right: 0.25rem;
}

.success-bar {
  flex-basis: 25%;
  text-align: right;
}
@media (min-width: 768px) {
  .success-bar {
    text-align: left;
  }
}

.success-rate {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #1F2937;
}

.success-label {
  color: #6B7280;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

.progress-bar {
  height: 4px;
  background-color: #F3F4F6;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.progress-bar-fill {
  height: 100%;
  background-color: #20B2AA;
}

.profile-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 1.5rem;
}
@media (min-width: 576px) {
  .profile-tabs {
    -webkit-overflow-scrolling: touch;
  }
  .profile-tabs::-webkit-scrollbar {
    display: none;
  }
}

.profile-tab {
  padding: 0.5rem 1rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
}
.profile-tab.active {
  color: #349422;
  border-bottom-color: #349422;
}
.profile-tab:hover:not(.active) {
  color: #374151;
  border-bottom-color: #E5E7EB;
}

.profile-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 1rem 0;
  color: #1F2937;
}

.check-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}
.check-item .check-icon {
  color: #349422;
  margin-right: 0.25rem;
  font-size: 1.125rem;
  min-width: 20px;
  text-align: center;
}

.bullet-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
}
.bullet-list li {
  display: flex;
  align-items: flex-start;
  padding: 0.25rem 0;
}
.bullet-list .bullet-icon {
  color: #374151;
  margin-right: 0.25rem;
  min-width: 16px;
}

.profile-stats {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #F3F4F6;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
@media (max-width: 575px) {
  .profile-stats {
    flex-direction: column;
    gap: 1rem;
  }
}

.stat-item {
  flex: 1;
  min-width: 120px;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .stat-item {
    flex-basis: 50%;
  }
}

.stat-value {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #1F2937;
}

.stat-label {
  color: #6B7280;
  font-size: 0.875rem;
}

.profile-sidebar {
  background-color: #FFFFFF;
  border-radius: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  padding: 1rem;
  position: sticky;
  top: 1.5rem;
}

.sidebar-section {
  margin-bottom: 1.5rem;
}
.sidebar-section:last-child {
  margin-bottom: 0;
}

.sidebar-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 1rem 0;
  color: #1F2937;
}

.profile-btn {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  border-radius: 0;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  margin-bottom: 0.5rem;
  border: 1px solid transparent;
  transition: all 0.3s;
}
.profile-btn i {
  margin-right: 0.25rem;
}
.profile-btn--primary {
  background-color: #349422;
  color: #FFFFFF;
}
.profile-btn--primary:hover {
  background-color: #2a7a1b;
}
.profile-btn--outline {
  background-color: transparent;
  border-color: #E5E7EB;
  color: #374151;
}
.profile-btn--outline:hover {
  background-color: #F9FAFB;
}
.profile-btn--outline.btn-save i {
  color: #349422;
}

.flag-link {
  display: flex;
  align-items: center;
  color: #6B7280;
  font-size: 0.875rem;
  margin-top: 1rem;
}
.flag-link i {
  color: #EF4444;
  margin-right: 0.25rem;
}
.flag-link:hover {
  text-decoration: underline;
  color: #EF4444;
}

.availability-status {
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: #1F2937;
}

.availability-detail {
  display: flex;
  align-items: center;
  color: #6B7280;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.availability-detail .help-icon {
  color: #349422;
  margin-left: 0.25rem;
  font-size: 0.875rem;
  cursor: help;
}

.profile-link-box {
  padding: 0.5rem;
  background-color: #F9FAFB;
  border-radius: 0;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  word-break: break-all;
  color: #4B5563;
  border: 1px solid #F3F4F6;
}

.copy-link {
  color: #349422;
  font-weight: 500;
  cursor: pointer;
}
.copy-link:hover {
  text-decoration: underline;
}

.language-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  color: #374151;
}

.language-level {
  display: flex;
  align-items: center;
}

.language-level-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E5E7EB;
  margin-right: 4px;
}
.language-level-dot.active {
  background-color: #349422;
}

.experience-item, .education-item {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #F3F4F6;
}
.experience-item:last-child, .education-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.experience-header, .education-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}
@media (max-width: 575px) {
  .experience-header, .education-header {
    flex-direction: column;
    gap: 0.25rem;
  }
}

.company-name, .school-name {
  font-weight: 600;
  color: #1F2937;
}

.date-range {
  color: #6B7280;
  font-size: 0.875rem;
}

.job-title {
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #374151;
}

.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 1rem;
}

.skill-badge {
  background-color: #F9FAFB;
  color: #374151;
  padding: 0.25rem 0.5rem;
  border-radius: 0;
  font-size: 0.875rem;
  border: 1px solid #F3F4F6;
}

#about-company-editor .mention-editor-content {
  height: 600px;
}

.tab-pane {
  display: none;
}
.tab-pane.active {
  display: block;
}

.comp-tabs {
  display: flex;
  border-bottom: 1px solid #E5E7EB;
  margin-bottom: 1.5rem;
  overflow-x: hidden;
}
.comp-tabs .nav-link {
  border: none;
  color: #6B7280;
  position: relative;
  transition: all 0.2s;
  padding: 0.5rem 1rem;
  white-space: nowrap;
}
.comp-tabs .nav-link.active {
  color: #349422;
  font-weight: 500;
  background-color: transparent;
  border: none;
}
.comp-tabs .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #349422;
}
.comp-tabs .nav-link:hover:not(.active) {
  color: #374151;
  background-color: #F9FAFB;
}
.comp-form-group {
  margin-bottom: 1rem;
}
.comp-input-icon {
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-right: none;
  color: #6B7280;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
}
.comp-tips {
  background-color: rgba(59, 130, 246, 0.05);
  border-left: 3px solid #3B82F6;
  padding: 1rem;
  border-radius: 0;
  margin-bottom: 1.5rem;
}
.comp-tips__icon {
  color: #F59E0B;
  font-size: 1.25rem;
  margin-right: 0.5rem;
}
.comp-tips__title {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.comp-tips ul {
  padding-left: 1.5rem;
  margin-bottom: 0;
}
.comp-tips ul li {
  padding: 0.25rem 0;
}
.comp-required {
  color: #EF4444;
  font-weight: 700;
  margin-left: 2px;
}
.comp-toast {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  width: 350px;
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(26, 26, 26, 0.15);
  z-index: 1070;
}
.comp-toast-header {
  padding: 0.5rem 1rem;
  border-bottom: none;
}
.comp-toast-header--success {
  background-color: #22C55E;
  color: #FFFFFF;
}
.comp-toast-header--error {
  background-color: #EF4444;
  color: #FFFFFF;
}
.comp-toast-body {
  padding: 1rem;
}
.comp-search-button {
  background-color: #F3F4F6;
  color: #4B5563;
  border: 2px solid #E5E7EB;
  border-left: none;
  shadow: none;
}
.comp-search-button:hover {
  background-color: #E5E7EB;
  color: #374151;
}

#website {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.comp-validation-message {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.75rem;
}
.comp-validation-message--error {
  color: #EF4444;
}
.comp-validation-message--success {
  color: #22C55E;
}
.comp-validation-message--warning {
  color: #F59E0B;
}

.comp-card-tips {
  background-color: rgba(59, 130, 246, 0.05);
  border-left: 3px solid #3B82F6;
}
.comp-card-tips .card-body {
  padding: 1rem;
}

.comp-select2 {
  width: 100% !important;
}
.comp-select2 .select2-selection {
  height: auto !important;
  min-height: 38px;
  padding: 0.25rem 0.5rem;
  display: flex;
  align-items: center;
  border: 2px solid #E5E7EB !important;
  border-radius: 0 !important;
}
.comp-select2 .select2-selection:focus {
  border-color: #349422 !important;
  box-shadow: 0 0 0 0.25rem rgba(52, 148, 34, 0.25);
}
.comp-select2 .select2-selection__arrow {
  height: 100% !important;
}

.form-control-color {
  width: 60px !important;
  height: 38px;
  padding: 3px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#primaryColorHex {
  border-left: none;
  height: 38px;
}

@media (max-width: 768px) {
  .comp-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .comp-tabs .nav-link {
    flex: 0 0 auto;
  }
  .input-group.comp-input {
    flex-wrap: nowrap;
  }
}
.nj-entry {
  background: #FFFFFF;
  min-height: calc(100vh - 60px);
}

.nj-entry__header {
  background: #FFFFFF;
  padding: 2rem 0 1.5rem;
  border-bottom: 1px solid #E8E8E8;
}

.nj-entry__header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.nj-entry__header-text {
  flex: 1;
}

.nj-entry__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #191919;
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.5px;
}

.nj-entry__subtitle {
  font-size: 0.875rem;
  color: #6B6B6B;
  margin: 0;
}

.nj-entry__header-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: #349422;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease;
}
.nj-entry__header-btn:hover {
  background: #2a7a1b;
  color: #fff;
}
.nj-entry__header-btn i {
  font-size: 0.875rem;
}

.nj-entry__grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  padding: 2rem 0 3rem;
}
@media (max-width: 992px) {
  .nj-entry__grid {
    grid-template-columns: 1fr;
  }
}

.nj-entry__main {
  min-width: 0;
}

.nj-entry__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 992px) {
  .nj-entry__sidebar {
    order: -1;
  }
}

.nj-entry__card {
  background: #FAFAFA;
  border: 1px solid #E8E8E8;
}
.nj-entry__card--warning {
  background: #FFFBF0;
  border-color: #F0E6D3;
}
.nj-entry__card--dark {
  background: #191919;
  border-color: #191919;
}

.nj-entry__card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E8E8E8;
}
.nj-entry__card--dark .nj-entry__card-header {
  border-bottom-color: #333;
}
.nj-entry__card--warning .nj-entry__card-header {
  border-bottom-color: #F0E6D3;
}

.nj-entry__card-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #191919;
  margin: 0;
}
.nj-entry__card-title i {
  color: #B8860B;
  font-size: 1rem;
}
.nj-entry__card--dark .nj-entry__card-title {
  color: #fff;
}

.nj-entry__card-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 0.5rem;
  background: #E8E8E8;
  color: #6B6B6B;
  font-size: 0.75rem;
  font-weight: 600;
}

.nj-entry__search {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  background: #fff;
  border-bottom: 1px solid #E8E8E8;
}
.nj-entry__search i {
  color: #A0A0A0;
  font-size: 1rem;
}

.nj-entry__search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  color: #191919;
  outline: none;
}
.nj-entry__search-input::placeholder {
  color: #A0A0A0;
}

.nj-entry__table {
  max-height: 520px;
  overflow-y: auto;
}

.nj-entry__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  text-decoration: none;
  border-bottom: 1px solid #E8E8E8;
  background: #fff;
  transition: background 0.1s ease;
}
.nj-entry__row:last-child {
  border-bottom: none;
}
.nj-entry__row:hover {
  background: #F7F7F7;
}
.nj-entry__row:hover .nj-entry__row-link {
  color: #191919;
}
.nj-entry__row:hover .nj-entry__row-link i {
  transform: translateX(3px);
}

.nj-entry__row-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.nj-entry__row-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #191919;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nj-entry__row-date {
  font-size: 0.75rem;
  color: #A0A0A0;
}

.nj-entry__row-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

.nj-entry__row-badge {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 500;
  background: #E8E8E8;
  color: #6B6B6B;
}
.nj-entry__row-badge--success {
  background: #E6F4EA;
  color: #1E7E34;
}
.nj-entry__row-badge--muted {
  background: #F0F0F0;
  color: #A0A0A0;
}

.nj-entry__row-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6B6B6B;
  transition: color 0.1s ease;
}
.nj-entry__row-link i {
  font-size: 0.875rem;
  transition: transform 0.1s ease;
}

.nj-entry__drafts {
  padding: 0.5rem 0;
}

.nj-entry__draft {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  text-decoration: none;
  transition: background 0.1s ease;
}
.nj-entry__draft:not(:last-child) {
  border-bottom: 1px solid #F0E6D3;
}
.nj-entry__draft:hover {
  background: rgba(0, 0, 0, 0.02);
}
.nj-entry__draft:hover i {
  color: #191919;
  transform: translateX(2px);
}
.nj-entry__draft i {
  color: #A0A0A0;
  font-size: 0.875rem;
  transition: all 0.1s ease;
}

.nj-entry__draft-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.nj-entry__draft-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #191919;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nj-entry__draft-date {
  font-size: 0.75rem;
  color: #A0A0A0;
}

.nj-entry__quick {
  padding: 1.5rem 1.25rem;
  text-align: center;
}

.nj-entry__quick-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  margin-bottom: 1rem;
}
.nj-entry__quick-icon i {
  font-size: 1.25rem;
  color: #fff;
}

.nj-entry__quick-title {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 0.5rem 0;
}

.nj-entry__quick-text {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 1.25rem 0;
  line-height: 1.5;
}

.nj-entry__quick-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  background: #fff;
  color: #191919;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
}
.nj-entry__quick-btn:hover {
  background: #F7F7F7;
  color: #191919;
}
.nj-entry__quick-btn i {
  font-size: 0.8125rem;
}

.nj-entry__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  color: #A0A0A0;
  text-align: center;
}
.nj-entry__empty i {
  font-size: 2rem;
  margin-bottom: 0.75rem;
  opacity: 0.3;
}
.nj-entry__empty span {
  font-size: 0.875rem;
}

.nj-page {
  background: #F9FAFB;
  min-height: calc(100vh - 60px);
}

.nj-header, .retro-header {
  background: linear-gradient(135deg, #349422 0%, rgb(66.5714285714, 189.4725274725, 43.5274725275) 100%);
  padding: 2rem 0;
  position: relative;
  overflow: hidden;
}
.nj-header::before, .retro-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.4;
}

.nj-header__content, .retro-header-content {
  position: relative;
  z-index: 1;
}

.nj-header__title, .retro-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.5rem 0;
}

.nj-header__subtitle, .retro-subtitle {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

.nj-options-grid, .retro-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding: 2rem 0;
}
@media (max-width: 992px) {
  .nj-options-grid, .retro-options-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .nj-options-grid, .retro-options-grid {
    grid-template-columns: 1fr;
  }
}

.nj-option, .retro-option {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid #E5E7EB;
}
.nj-option:hover, .retro-option:hover {
  border-color: #e8f5e4;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.nj-option.selected, .selected.retro-option {
  border-color: #349422;
  box-shadow: 0 0 0 3px #e8f5e4;
}

.nj-option__header, .retro-option-header {
  padding: 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.nj-option__header.blue, .blue.retro-option-header {
  background: linear-gradient(135deg, #349422 0%, rgb(75.3571428571, 208.0164835165, 50.4835164835) 100%);
}
.nj-option__header.green, .green.retro-option-header {
  background: linear-gradient(135deg, #22C55E 0%, rgb(82.3051948052, 225.1948051948, 134.9025974026) 100%);
}
.nj-option__header.purple, .purple.retro-option-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.nj-option__icon, .retro-option-icon {
  font-size: 2.5rem;
  color: #fff;
  position: relative;
  z-index: 1;
}

.nj-option__body, .retro-option-body {
  padding: 1.5rem;
}

.nj-option__title, .retro-option-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.5rem 0;
}

.nj-option__description, .retro-option-description {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 1rem 0;
  line-height: 1.5;
}

.nj-option__select, .retro-option-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nj-option__label, .retro-option-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  cursor: pointer;
}

.nj-option__radio, .retro-option-radio {
  width: 18px;
  height: 18px;
  accent-color: #349422;
}

.nj-option__check, .retro-option-check {
  width: 24px;
  height: 24px;
  background: #349422;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.nj-option__check::after, .retro-option-check::after {
  content: "✓";
  color: #fff;
  font-size: 14px;
}
.nj-option.selected .nj-option__check, .nj-option.selected .retro-option-check, .selected.retro-option .nj-option__check, .selected.retro-option .retro-option-check {
  opacity: 1;
}

.nj-dynamic-content, .retro-dynamic-content {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.5rem;
  margin-top: 1.5rem;
}

.nj-dynamic-header, .retro-dynamic-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.nj-dynamic-icon, .retro-dynamic-icon {
  width: 40px;
  height: 40px;
  background: #e8f5e4;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #349422;
}

.nj-dynamic-title, .retro-dynamic-title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
}

.nj-select, .retro-select-modern {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  background: #fff;
  transition: all 0.15s ease;
}
.nj-select:focus, .retro-select-modern:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 2px #e8f5e4;
}

.nj-action-footer, .retro-action-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nj-alert, .retro-alert {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #349422;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.nj-alert__icon, .retro-alert-icon {
  font-size: 1.25rem;
  color: #349422;
}

.nj-alert__title, .retro-alert-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
}

.nj-alert__text, .retro-alert-text {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 0.75rem 0;
}

.nj-drafts-section {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.nj-drafts-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: #e8f5e4;
  border-bottom: 1px solid #E5E7EB;
}
.nj-drafts-header__icon {
  width: 40px;
  height: 40px;
  background: #349422;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
}
.nj-drafts-header__content {
  flex: 1;
}
.nj-drafts-header__title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
}
.nj-drafts-header__subtitle {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
}

.nj-drafts-list {
  display: flex;
  flex-direction: column;
}

.nj-draft-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  text-decoration: none;
  transition: background 0.15s ease;
}
.nj-draft-item:last-child {
  border-bottom: none;
}
.nj-draft-item:hover {
  background: #F9FAFB;
}
.nj-draft-item__icon {
  width: 36px;
  height: 36px;
  background: #F9FAFB;
  color: #6B7280;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.nj-draft-item__content {
  flex: 1;
  min-width: 0;
}
.nj-draft-item__title {
  display: block;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1A1A1A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nj-draft-item__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}
.nj-draft-item__badge {
  display: inline-block;
  padding: 2px 8px;
  background: #FEF3C7;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.nj-draft-item__action {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  background: #349422;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.nj-draft-item__action:hover {
  background: #2a7a1b;
}
.nj-draft-item__action i {
  font-size: 0.875rem;
}

.nj-loading, .retro-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 1rem;
}

.nj-loading__spinner, .retro-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #E5E7EB;
  border-top-color: #349422;
  border-radius: 50%;
  animation: njSpin 0.7s linear infinite;
}

@keyframes njSpin {
  to {
    transform: rotate(360deg);
  }
}
.retro-option-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.3;
}

.retro-alert-content {
  display: flex;
  flex: 1;
}

.btn-modern {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-modern:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.btn-modern-primary {
  background: #349422;
  color: #fff;
  border-radius: 0;
}
.btn-modern-primary:hover:not(:disabled) {
  background: #2a7a1b;
}

.btn-modern-secondary {
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
  border-radius: 0;
}
.btn-modern-secondary:hover:not(:disabled) {
  background: #F9FAFB;
  border-color: #349422;
  color: #2a7a1b;
}

.step-instructions {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.step-instructions__header {
  background: linear-gradient(135deg, #349422 0%, rgb(75.3571428571, 208.0164835165, 50.4835164835) 100%);
  padding: 1.25rem 1.5rem;
  position: relative;
  overflow: hidden;
}
.step-instructions__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.4;
  pointer-events: none;
}

.step-instructions__header-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.step-instructions__icon {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #ffffff;
  flex-shrink: 0;
}

.step-instructions__title {
  flex: 1;
}
.step-instructions__title h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.25rem 0;
}
.step-instructions__title p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

.step-instructions__body {
  padding: 1.5rem;
}

.step-instructions__description {
  color: #1A1A1A;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.step-instructions__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.step-instructions__list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #E5E7EB;
}
.step-instructions__list-item:last-child {
  border-bottom: none;
}

.step-instructions__list-icon {
  width: 24px;
  height: 24px;
  background: #e8f5e4;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #349422;
  flex-shrink: 0;
  margin-top: 2px;
}

.step-instructions__list-content {
  flex: 1;
}
.step-instructions__list-content strong {
  display: block;
  color: #1A1A1A;
  font-weight: 600;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}
.step-instructions__list-content span {
  display: block;
  color: #6B7280;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.step-instructions__footer {
  padding: 1rem 1.5rem;
  background: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.step-instructions__footer i {
  color: #349422;
  font-size: 1rem;
}

.step-instructions__footer-text {
  flex: 1;
  font-size: 0.8125rem;
  color: #6B7280;
}
.step-instructions__footer-text strong {
  color: #349422;
  font-weight: 600;
}

.step-instructions--tips .step-instructions__header {
  background: linear-gradient(135deg, #22C55E 0%, rgb(82.3051948052, 225.1948051948, 134.9025974026) 100%);
}

.step-instructions--tips .step-instructions__list-icon {
  background: #DCFCE7;
  color: #22C55E;
}

.step-instructions--tips .step-instructions__footer i,
.step-instructions--tips .step-instructions__footer-text strong {
  color: #22C55E;
}

.step-instructions--warning .step-instructions__header {
  background: linear-gradient(135deg, #F59E0B 0%, rgb(248.0118110236, 187.2145669291, 84.4881889764) 100%);
}

.step-instructions--warning .step-instructions__list-icon {
  background: #FEF3C7;
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}

.step-instructions--warning .step-instructions__footer i,
.step-instructions--warning .step-instructions__footer-text strong {
  color: #F59E0B;
}

.wizard-sidebar {
  width: 280px;
  min-width: 280px;
  background-color: #FFFFFF;
}

@media (max-width: 991.98px) {
  .wizard-container {
    flex-direction: column !important;
  }
  .wizard-container .wizard-sidebar {
    width: 100% !important;
    min-width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid #E5E7EB;
  }
  .wizard-container .wizard-steps {
    flex-direction: row !important;
    overflow-x: auto;
    gap: 0 !important;
  }
  .wizard-container .wizard-step {
    flex-shrink: 0;
  }
  .wizard-container .wizard-step:not(:last-child)::after {
    display: none;
  }
  .wizard-container .wizard-step__link {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.5rem 0.75rem;
    min-width: 80px;
    border-left: none !important;
    border-bottom: 3px solid transparent;
  }
  .wizard-container .wizard-step.active .wizard-step__link {
    border-bottom-color: #349422;
  }
  .wizard-container .wizard-step__link > div:last-child > div:last-child {
    display: none;
  }
}

.wizard-step {
  position: relative;
}
.wizard-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 1.75rem;
  top: 3.25rem;
  width: 2px;
  height: calc(100% - 1.25rem);
  background-color: #E5E7EB;
}
.wizard-step.completed:not(:last-child)::after {
  background-color: #22C55E;
}

.wizard-step__link {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
  border-left: 3px solid transparent;
}
.wizard-step__link:hover {
  background-color: #F9FAFB;
  text-decoration: none;
  color: inherit;
}

.wizard-step.active .wizard-step__link {
  background-color: #e8f5e4;
  border-left-color: #349422;
}

.wizard-step.disabled .wizard-step__link {
  pointer-events: none;
  opacity: 0.5;
}

.wizard-step__circle {
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #9CA3AF;
  background-color: #FFFFFF;
  border: 2px solid #E5E7EB;
  position: relative;
  z-index: 1;
  transition: all 0.15s ease;
}
.wizard-step.completed .wizard-step__circle {
  background-color: #22C55E;
  border-color: #22C55E;
  color: #fff;
}
.wizard-step.active .wizard-step__circle {
  background-color: #349422;
  border-color: #349422;
  color: #fff;
}

.custom-editor {
  border: 1px solid #E5E7EB;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  background-color: #FFFFFF;
}
.custom-editor:focus-within {
  border-color: #349422;
  box-shadow: 0 0 0 2px #e8f5e4;
}
.custom-editor-toolbar {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  padding: 0.5rem 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.custom-editor-button {
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  width: 32px;
  height: 32px;
  color: #1A1A1A;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  transition: all 0.15s ease;
}
.custom-editor-button:hover {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
}
.custom-editor-button:active {
  background-color: rgb(233.7, 237.25, 240.8);
}
.custom-editor-button.active {
  background-color: #349422;
  color: #fff;
  border-color: #349422;
}
.custom-editor-button.clean-format {
  background-color: #FEF3C7;
  border-color: #F59E0B;
  color: rgb(147.937007874, 95.188976378, 6.062992126);
}
.custom-editor-button.clean-format:hover {
  background-color: rgb(254.4473684211, 248.3684210526, 224.0526315789);
}
.custom-editor-button.clean-format.active {
  background-color: #F59E0B;
  color: #fff;
}
.custom-editor-content {
  padding: 0.75rem;
  min-height: 200px;
  max-height: 500px;
  overflow-y: auto;
  outline: none;
  transition: all 0.15s ease;
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: #FFFFFF;
  line-height: 1.6;
}
.custom-editor-content:empty:before {
  content: attr(data-placeholder);
  color: #9CA3AF;
  pointer-events: none;
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-style: italic;
}
.custom-editor-content.paste-active {
  background-color: #e8f5e4;
  animation: paste-flash 0.3s ease-out;
}
.custom-editor-content p:empty::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1.2em;
  vertical-align: text-bottom;
}
.custom-editor-content ul, .custom-editor-content ol {
  padding-left: 1.5em;
  margin: 0.25rem 0;
}
.custom-editor-content h1, .custom-editor-content h2, .custom-editor-content h3, .custom-editor-content h4, .custom-editor-content h5, .custom-editor-content h6 {
  margin: 0.75rem 0;
  color: #1A1A1A;
  font-weight: 600;
}
.custom-editor-content h3 {
  font-size: 1.125rem;
  position: relative;
  padding-bottom: 8px;
}
.custom-editor-content h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #E5E7EB;
}

@keyframes paste-flash {
  0% {
    background-color: #e8f5e4;
  }
  100% {
    background-color: transparent;
  }
}
.tags-container {
  margin-top: 0.75rem;
}

.tagsinput {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  padding: 0.25rem;
  transition: all 0.15s ease;
  width: 100%;
  min-height: 80px;
}
.tagsinput:focus-within {
  border-color: #349422;
  box-shadow: 0 0 0 2px #e8f5e4;
}
.tagsinput input {
  font-size: 0.875rem;
  border: none;
  outline: none;
  background: transparent;
  padding: 0.25rem;
  margin: 0.25rem;
  width: auto;
}

.requiredField::after {
  content: "*";
  color: #EF4444;
  margin-left: 0.25rem;
  font-size: 1em;
}

.benefits-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.75rem;
}

.benefit {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background-color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1A1A1A;
  cursor: pointer;
  transition: all 0.15s ease;
  margin: 0.25rem 0.25rem 0.25rem 0;
  border: 1px solid #E5E7EB;
  position: relative;
}
.benefit:hover {
  background-color: #F9FAFB;
  border-color: #e8f5e4;
}
.benefit.active {
  background-color: #349422;
  color: #fff;
  border-color: #349422;
}
.benefit.active::before {
  content: "✓ ";
}

.demo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.demo-actions .tag {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  font-size: 0.8125rem;
  color: #1A1A1A;
  cursor: pointer;
  transition: all 0.15s ease;
}
.demo-actions .tag:hover {
  border-color: #349422;
  background: #e8f5e4;
}
.demo-actions .tag.active {
  background: #349422;
  border-color: #349422;
  color: #fff;
}

.navigation-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navigation-buttons .btn {
  min-width: 140px;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

.fb-page {
  --fb-primary: #349422;
  --fb-primary-dark: #2a7a1b;
  --fb-primary-light: #e8f5e4;
  --fb-success: #22C55E;
  --fb-danger: #EF4444;
  --fb-border: #E5E7EB;
  --fb-text-primary: #1A1A1A;
  --fb-text-secondary: #6B7280;
  --fb-text-muted: #9CA3AF;
  --fb-bg-page: #F9FAFB;
  --fb-radius: 0;
  background: #F9FAFB;
  min-height: 100vh;
}

.lv-page {
  --lv-primary: #349422;
  --lv-primary-dark: #2a7a1b;
  --lv-primary-light: #e8f5e4;
  --lv-success: #22C55E;
  --lv-danger: #EF4444;
  --lv-border: #E5E7EB;
  --lv-text-primary: #1A1A1A;
  --lv-text-secondary: #6B7280;
  --lv-text-muted: #9CA3AF;
  --lv-bg-page: #F9FAFB;
  --lv-radius: 0;
}

.wf-page {
  --wf-primary: #1A1A1A;
  --wf-primary-dark: #374151;
  --wf-primary-light: #F3F4F6;
  --wf-secondary: #349422;
  --wf-secondary-dark: #2a7a1b;
  --wf-secondary-light: #e8f5e4;
  --wf-success: #22C55E;
  --wf-success-light: #DCFCE7;
  --wf-warning: #F59E0B;
  --wf-danger: #EF4444;
  --wf-border: #E5E7EB;
  --wf-text: #1A1A1A;
  --wf-text-secondary: #6B7280;
  --wf-text-muted: #9CA3AF;
  --wf-bg: #F9FAFB;
  --wf-card: #FFFFFF;
  --wf-radius: 0;
}

.fragment-container-2x {
  background: #F9FAFB;
  min-height: 100vh;
  padding: 1.25rem 0;
}
.fragment-container-2x .lv-main-content {
  flex: 1;
}
.fragment-container-2x .lv-sidebar {
  width: 320px;
  flex-shrink: 0;
}

.lv-job-header-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.lv-job-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 0.5rem 0;
}

.lv-job-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lv-job-code {
  font-size: 0.8125rem;
  color: #6B7280;
}

.lv-job-status {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.25rem 0.625rem;
  text-transform: uppercase;
}
.lv-job-status.draft {
  background: #FEF3C7;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.lv-job-status.active {
  background: #DCFCE7;
  color: #22C55E;
}
.lv-job-status.inactive {
  background: #E5E7EB;
  color: #9CA3AF;
}

.lv-job-preview {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.5rem;
}

.lv-section {
  margin-bottom: 1.5rem;
}
.lv-section:last-child {
  margin-bottom: 0;
}

.lv-section-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 1rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
}

.lv-metadata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

.lv-metadata-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}

.lv-metadata-value {
  font-size: 0.875rem;
  color: #1A1A1A;
}

.lv-description {
  font-size: 0.875rem;
  color: #1A1A1A;
  line-height: 1.6;
}
.lv-description p {
  margin-bottom: 0.75rem;
}
.lv-description ul, .lv-description ol {
  margin-bottom: 0.75rem;
  padding-left: 1.25rem;
}

.lv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lv-tag {
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: #6B7280;
}
.lv-tag.skill {
  background: #e8f5e4;
  border-color: #e8f5e4;
  color: #349422;
}
.lv-tag.benefit {
  background: #DCFCE7;
  border-color: #DCFCE7;
  color: #22C55E;
}

.lv-sidebar-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  margin-bottom: 1rem;
}

.lv-sidebar-header {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #E5E7EB;
}

.lv-sidebar-content {
  padding: 1rem;
}

.lv-status-field {
  margin-bottom: 1rem;
}
.lv-status-field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6B7280;
  margin-bottom: 0.375rem;
}
.lv-status-field select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #E5E7EB;
}
.lv-status-field select:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 2px #e8f5e4;
}
.lv-status-field .error {
  font-size: 0.75rem;
  color: #EF4444;
  margin-top: 0.25rem;
}

.lv-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lv-date-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lv-date-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-date-label {
  font-size: 0.75rem;
  color: #6B7280;
}

.lv-date-value {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1A1A1A;
}

.lv-recruiter-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-recruiter-avatar {
  width: 28px;
  height: 28px;
  object-fit: cover;
  flex-shrink: 0;
}
.lv-recruiter-avatar--initials {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 600;
}

.lv-hire-modal .modal-content {
  border-radius: 0;
  border: 1px solid #E5E7EB;
}
.lv-hire-modal .modal-header {
  border-bottom: 1px solid #E5E7EB;
}
.lv-hire-modal .modal-footer {
  border-top: 1px solid #E5E7EB;
}

.lv-hire-form-label {
  font-size: 0.875rem;
  color: #1A1A1A;
}

.lv-hire-form-control {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #E5E7EB;
}
.lv-hire-form-control:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 2px #e8f5e4;
}
.lv-hire-form-control-lg {
  padding: 0.75rem 1rem;
}

.lv-hire-btn, .lv-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-hire-btn:disabled, .lv-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lv-hire-btn-primary, .lv-btn-primary {
  background: #349422;
  color: #fff;
  border-radius: 0;
}
.lv-hire-btn-primary:hover:not(:disabled), .lv-btn-primary:hover:not(:disabled) {
  background: #2a7a1b;
}

.lv-hire-btn-outline, .lv-btn-secondary {
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
}
.lv-hire-btn-outline:hover:not(:disabled), .lv-btn-secondary:hover:not(:disabled) {
  background: #F9FAFB;
}

.lv-hire-btn-danger {
  background: #EF4444;
  color: #fff;
}
.lv-hire-btn-danger:hover:not(:disabled) {
  background: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}

.success-container {
  max-width: 800px;
  margin: 3.125rem auto;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  overflow: hidden;
}

.success-header {
  background: #349422;
  padding: 1.5625rem 1.875rem;
  position: relative;
  overflow: hidden;
}
.success-header::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(to right, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.1;
  z-index: 0;
  top: 0;
  left: 0;
}

.success-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.625rem;
  position: relative;
  z-index: 1;
}

.success-subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  position: relative;
  z-index: 1;
}

.success-icon {
  position: absolute;
  right: 1.875rem;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background: #22C55E;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.success-icon i {
  font-size: 1.875rem;
  color: #fff;
}

.success-body {
  padding: 1.875rem;
}

.job-details {
  background: #F9FAFB;
  padding: 1.25rem;
  margin-bottom: 1.875rem;
  border-left: 4px solid #349422;
}
.job-details h3 {
  font-size: 1.1875rem;
  font-weight: 600;
  color: #349422;
  margin-bottom: 0.9375rem;
}

.detail-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}
.detail-item:last-child {
  margin-bottom: 0;
}

.detail-icon {
  color: #349422;
  margin-right: 0.625rem;
  font-size: 1rem;
  width: 20px;
  text-align: center;
}

.detail-text {
  flex: 1;
}

.detail-label {
  font-weight: 600;
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.1875rem;
}

.detail-value {
  color: #1A1A1A;
}

.action-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 768px) {
  .action-cards {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
  }
}

.action-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.25rem;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
}
.action-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.action-card.share:hover {
  border-color: #3B82F6;
}
.action-card.track:hover {
  border-color: #349422;
}
.action-card.view:hover {
  border-color: #22C55E;
}

.action-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.9375rem;
}
.action-card.share .action-icon {
  background: #DBEAFE;
  color: #3B82F6;
}
.action-card.track .action-icon {
  background: #e8f5e4;
  color: #349422;
}
.action-card.view .action-icon {
  background: #DCFCE7;
  color: #22C55E;
}
.action-icon i {
  font-size: 1.5rem;
}

.action-title {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: #1A1A1A;
}

.action-desc {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.9375rem;
}

.btn-simple {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid;
  transition: all 0.2s ease;
}

.btn-share {
  color: #3B82F6;
  border-color: #3B82F6;
  background: rgba(59, 130, 246, 0.05);
}
.btn-share:hover {
  background: #3B82F6;
  color: #fff;
}

.btn-track {
  color: #349422;
  border-color: #349422;
  background: rgba(52, 148, 34, 0.05);
}
.btn-track:hover {
  background: #349422;
  color: #fff;
}

.btn-view {
  color: #22C55E;
  border-color: #22C55E;
  background: rgba(34, 197, 94, 0.05);
}
.btn-view:hover {
  background: #22C55E;
  color: #fff;
}

.return-link {
  text-align: center;
  margin-top: 1.25rem;
}
.return-link a {
  color: #6B7280;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}
.return-link a i {
  margin-right: 0.3125rem;
}
.return-link a:hover {
  color: #349422;
}

.share-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  align-items: center;
  justify-content: center;
}
.share-modal.active {
  display: flex;
}

.share-modal-content {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 1.875rem;
  width: 90%;
  max-width: 500px;
  position: relative;
}

.share-modal-close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-size: 1.25rem;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
}
.share-modal-close:hover {
  color: #349422;
}

.share-modal-title {
  font-size: 1.375rem;
  margin-bottom: 1.25rem;
  color: #349422;
}

.share-options {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9375rem;
  margin-bottom: 1.5625rem;
}
@media (max-width: 768px) {
  .share-options {
    grid-template-columns: repeat(2, 1fr);
  }
}

.share-option {
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.share-option:hover {
  transform: translateY(-5px);
}

.share-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.5rem;
}
.share-icon.facebook {
  background: rgba(59, 89, 152, 0.1);
  color: #3b5998;
}
.share-icon.twitter {
  background: rgba(29, 161, 242, 0.1);
  color: #1da1f2;
}
.share-icon.linkedin {
  background: rgba(0, 119, 181, 0.1);
  color: #0077b5;
}
.share-icon.email {
  background: rgba(234, 67, 53, 0.1);
  color: #ea4335;
}

.share-name {
  font-size: 0.875rem;
  color: #6B7280;
}

.job-url-section {
  margin-top: 1.25rem;
}

.job-url-label {
  font-weight: 600;
  margin-bottom: 0.625rem;
  color: #6B7280;
  font-size: 0.875rem;
}

.job-url-input-group {
  display: flex;
  width: 100%;
}

.job-url-input {
  flex: 1;
  padding: 0.625rem 0.9375rem;
  border: 1px solid #E5E7EB;
  border-right: 0;
  background: #F9FAFB;
  color: #1A1A1A;
  font-size: 0.875rem;
}
.job-url-input:focus {
  outline: none;
  border-color: #349422;
}

.copy-btn {
  padding: 0.625rem 1.25rem;
  background: #349422;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.copy-btn:hover {
  background: #2a7a1b;
}

.nj-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.nj-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.nj-btn--primary {
  background: #349422;
  color: #fff;
}
.nj-btn--primary:hover:not(:disabled) {
  background: #2a7a1b;
}

.nj-btn--secondary {
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
}
.nj-btn--secondary:hover:not(:disabled) {
  background: #F9FAFB;
}

.nj-btn--ghost {
  background: transparent;
  color: #6B7280;
  padding: 0.375rem;
}
.nj-btn--ghost:hover:not(:disabled) {
  background: #F9FAFB;
  color: #1A1A1A;
}

.nj-btn--link {
  background: none;
  border: none;
  color: #349422;
  padding: 0;
  font-size: 0.75rem;
  cursor: pointer;
}
.nj-btn--link:hover {
  text-decoration: underline;
}

.nj-btn--sm {
  padding: 0.3125rem 0.5rem;
  font-size: 0.75rem;
}

.nb-page {
  background: #F9FAFB;
  min-height: 100%;
  position: relative;
}

.nb-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  margin-bottom: 1rem;
  overflow: visible;
}
.nb-card__header {
  padding: 1rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.nb-card__icon {
  width: 36px;
  height: 36px;
  background: #349422;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 1rem;
}
.nb-card__title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1F2937;
  margin: 0;
}
.nb-card__subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 2px 0 0;
}
.nb-card__actions {
  margin-left: auto;
}
.nb-card__body {
  padding: 1rem;
}

.nb-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.nb-form-grid--2 {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .nb-form-grid--2 {
    grid-template-columns: 1fr;
  }
}
.nb-form-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .nb-form-grid--3 {
    grid-template-columns: 1fr;
  }
}

.nb-form-group {
  margin-bottom: 0;
}

.nb-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.5rem;
}
.nb-label--required::after {
  content: "*";
  color: #EF4444;
  margin-left: 4px;
}

.nb-input,
.nb-select,
.nb-textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 0.875rem;
  color: #1F2937;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  transition: all 0.2s ease;
}
.nb-input:focus,
.nb-select:focus,
.nb-textarea:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.15);
}
.nb-input::placeholder,
.nb-select::placeholder,
.nb-textarea::placeholder {
  color: #9CA3AF;
}

.nb-textarea {
  min-height: 100px;
  resize: vertical;
}

.nb-input-group {
  display: flex;
  align-items: stretch;
}
.nb-input-group__prefix {
  padding: 0 12px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-right: none;
  display: flex;
  align-items: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}
.nb-input-group__btn {
  padding: 0 14px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-left: none;
  color: #6B7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.nb-input-group__btn:hover {
  background: #F3F4F6;
  color: #1F2937;
}
.nb-input-group .nb-input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  flex: 1;
}
.nb-input-group__suffix {
  padding: 0 12px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-left: none;
  display: flex;
  align-items: center;
  color: #9CA3AF;
  font-size: 0.875rem;
  white-space: nowrap;
}
.nb-input-group__prefix + .nb-input {
  border-left: none;
}
.nb-input-group .nb-input:not(:last-child) {
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.nb-toggle-group {
  display: flex;
  gap: 0;
  border: 1px solid #E5E7EB;
  overflow: hidden;
}

.nb-toggle-option {
  flex: 1;
  position: relative;
}
.nb-toggle-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.nb-toggle-option label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #FFFFFF;
  border-right: 1px solid #E5E7EB;
  min-height: 70px;
}
.nb-toggle-option label:hover {
  background: #F9FAFB;
}
.nb-toggle-option:last-child label {
  border-right: none;
}
.nb-toggle-option input:checked + label {
  background: #1F2937;
  color: #FFFFFF;
}
.nb-toggle-option__icon {
  font-size: 1.25rem;
  margin-bottom: 6px;
  opacity: 0.7;
}
input:checked + label .nb-toggle-option__icon {
  opacity: 1;
}
.nb-toggle-option__text {
  font-size: 0.8125rem;
  font-weight: 500;
}

.nb-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.5rem 1rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  transition: all 0.2s ease;
  user-select: none;
}
.nb-switch:hover {
  border-color: #9CA3AF;
}
.nb-switch.active {
  background: rgba(52, 148, 34, 0.08);
  border-color: #349422;
}
.nb-switch__toggle {
  width: 44px;
  height: 24px;
  background: #D1D5DB;
  position: relative;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.nb-switch__toggle::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background: #FFFFFF;
  top: 3px;
  left: 3px;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.nb-switch.active .nb-switch__toggle {
  background: #349422;
}
.nb-switch.active .nb-switch__toggle::after {
  left: 23px;
}
.nb-switch__content {
  flex: 1;
}
.nb-switch__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2937;
  margin-bottom: 2px;
}
.nb-switch__desc {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.nb-chip {
  padding: 8px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-block;
}
.nb-chip:hover {
  border-color: #349422;
  color: #2a7a1b;
}
.nb-chip.active {
  background: #349422;
  border-color: #349422;
  color: #FFFFFF;
}

.nb-salary-section {
  padding: 1rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  margin-top: 1rem;
}

.nb-salary-type {
  margin-bottom: 1rem;
}

.nb-toggle-group--compact {
  max-width: 400px;
}
.nb-toggle-group--compact .nb-toggle-option label {
  padding: 10px 16px;
  font-size: 0.875rem;
}
.nb-toggle-group--compact .nb-toggle-option .nb-toggle-option__icon {
  font-size: 1rem;
}

.nb-salary-range .nb-form-grid {
  margin-bottom: 0.5rem;
}
.nb-salary-range .nb-form-grid:last-child {
  margin-bottom: 0;
}

.nb-pcd-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.75rem;
  font-weight: 600;
  background: #E0F2FE;
  color: #0369A1;
}
.nb-pcd-badge--exclusive {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}

.nb-pcd-types {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nb-priority-indicator {
  display: flex;
  gap: 6px;
  margin-top: 0.5rem;
}

.nb-priority-dot {
  width: 24px;
  height: 6px;
  background: #E5E7EB;
}
.nb-priority-dot.active {
  background: #4B5563;
}
.nb-priority-dot.baixa.active {
  background: #22C55E;
}
.nb-priority-dot.media.active {
  background: #F59E0B;
}
.nb-priority-dot.alta.active {
  background: #F97316;
}
.nb-priority-dot.urgente.active {
  background: #EF4444;
}

.nb-info-box {
  display: flex;
  gap: 0.5rem;
  padding: 14px 1rem;
  background: #F9FAFB;
  border-left: 3px solid #4B5563;
  font-size: 0.8125rem;
  color: #1F2937;
  line-height: 1.5;
}
.nb-info-box i {
  color: #4B5563;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.nb-error {
  font-size: 0.75rem;
  color: #EF4444;
  margin-top: 4px;
}

.nb-sidebar {
  position: sticky;
  top: 1rem;
}

.nb-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.nb-saving {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
}

.nb-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #E5E7EB;
  border-top-color: #4B5563;
  border-radius: 50%;
  animation: nbSpin 0.7s linear infinite;
}

@keyframes nbSpin {
  to {
    transform: rotate(360deg);
  }
}
.nb-toast {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  padding: 1rem 1rem;
  background: #EF4444;
  color: #FFFFFF;
  font-size: 0.875rem;
  z-index: 1070;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.nb-toast.success {
  background: #22C55E;
}

.nb-content {
  padding: 1.5rem;
}

.nb-address-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nb-address-wrapper {
  position: relative;
}

.nb-address-input-container {
  position: relative;
}

.nb-address-wrapper .nb-input-group__prefix i.bi-search {
  font-size: 0.875rem;
  color: #6B7280;
}

.nb-address-check i {
  color: #22C55E;
  font-size: 1rem;
}

.nb-address-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #E5E7EB;
  border-top-color: #349422;
  border-radius: 50%;
  animation: nb-addr-spin 0.6s linear infinite;
}

@keyframes nb-addr-spin {
  to {
    transform: rotate(360deg);
  }
}
.nb-address-suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 1050;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  max-height: 280px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.nb-address-suggestions__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  border-bottom: 1px solid #F3F4F6;
  transition: background 0.2s ease;
}
.nb-address-suggestions__item:last-of-type {
  border-bottom: none;
}
.nb-address-suggestions__item:hover {
  background: #F9FAFB;
}
.nb-address-suggestions__item:hover .nb-address-suggestions__icon {
  background: #e8f5e4;
  color: #349422;
}
.nb-address-suggestions__item:active {
  background: #F3F4F6;
}
.nb-address-suggestions__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  background: #F3F4F6;
  color: #6B7280;
  font-size: 15px;
  transition: all 0.2s ease;
}
.nb-address-suggestions__content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.nb-address-suggestions__desc {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1F2937;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nb-address-suggestions__meta {
  font-size: 0.6875rem;
  color: #9CA3AF;
  margin-top: 2px;
}
.nb-address-suggestions__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 1.5rem 1rem;
  font-size: 0.8125rem;
  color: #9CA3AF;
}

.nb-pcd-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nb-hint {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.nb-hint i {
  font-size: 0.8125rem;
}
.nb-hint--success {
  color: #22C55E;
}

.nb-mention-editor {
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  transition: all 0.2s ease;
}
.nb-mention-editor:focus-within {
  border-color: #4B5563;
  box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.1);
}
.nb-mention-editor .mention-editor-toolbar {
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  padding: 0.5rem;
}
.nb-mention-editor .mention-editor-content {
  min-height: 200px;
  max-height: 400px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #1F2937;
  overflow-y: auto;
}
.nb-mention-editor .mention-editor-content:empty::before {
  color: #D1D5DB;
}
.nb-mention-editor .mention-editor-content h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 1rem 0 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #F3F4F6;
}
.nb-mention-editor .mention-editor-content ul, .nb-mention-editor .mention-editor-content ol {
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}
.nb-mention-editor .mention-editor-content p {
  margin-bottom: 0.5rem;
}

.nb-custom-benefits {
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}

.nb-page .select2-container {
  width: 100% !important;
}
.nb-page .select2-container--default .select2-selection--single {
  height: 42px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
}
.nb-page .select2-container--default .select2-selection--single:focus {
  outline: none;
  border-color: #4B5563;
  box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.1);
}
.nb-page .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #4B5563;
  box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.1);
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px;
  padding-left: 12px;
  padding-right: 50px;
  color: #1F2937;
  font-size: 0.875rem;
  flex: 1;
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #9CA3AF;
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
  width: 30px;
  right: 0;
  top: 0;
  position: absolute;
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #9CA3AF transparent transparent transparent;
  margin-top: -2px;
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  font-weight: 400;
  color: #D1D5DB;
  cursor: pointer;
  padding: 0;
  margin: 0;
  line-height: 1;
  background: none;
  border: none;
  width: auto;
  height: auto;
}
.nb-page .select2-container--default .select2-selection--single .select2-selection__clear:hover {
  color: #4B5563;
}

.select2-dropdown {
  border: 1px solid #E5E7EB;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #F9FAFB;
  color: #1F2937;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #F3F4F6;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 8px 12px;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  outline: none;
  border-color: #4B5563;
}

.nb-editor {
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  transition: all 0.2s ease;
}
.nb-editor:focus-within {
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.15);
}
.nb-editor__toolbar {
  padding: 0.5rem;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.nb-editor__btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
}
.nb-editor__btn:hover {
  background: #F3F4F6;
  color: #1F2937;
}
.nb-editor__btn:active {
  background: #E5E7EB;
}
.nb-editor__separator {
  width: 1px;
  height: 24px;
  background: #E5E7EB;
  margin: 4px 6px;
  align-self: center;
}
.nb-editor__content {
  padding: 1rem;
  min-height: 200px;
  max-height: 400px;
  overflow-y: auto;
  outline: none;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #1F2937;
}
.nb-editor__content:empty::before {
  content: attr(data-placeholder);
  color: #D1D5DB;
  font-style: italic;
}
.nb-editor__content p {
  margin-bottom: 0.5rem;
}
.nb-editor__content ul, .nb-editor__content ol {
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}
.nb-editor__content h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 1rem 0 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #F3F4F6;
}

.nb-tag-input {
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  min-height: 80px;
  transition: all 0.2s ease;
}
.nb-tag-input:focus-within {
  border-color: #4B5563;
  box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.1);
}
.nb-tag-input__tags {
  display: flex;
  flex-wrap: wrap;
  padding: 0.5rem;
  gap: 0.25rem;
}
.nb-tag-input__field {
  flex: 1;
  min-width: 150px;
  border: none;
  outline: none;
  padding: 6px 8px;
  font-size: 0.875rem;
  background: transparent;
  color: #1F2937;
}
.nb-tag-input__field::placeholder {
  color: #D1D5DB;
}

.nb-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}
.nb-tag__remove {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  padding: 0;
  margin: -2px -4px -2px 0;
  transition: all 0.2s ease;
}
.nb-tag__remove:hover {
  color: #EF4444;
}

.nb-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
}
.nb-modal.active {
  display: flex;
}
.nb-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}
.nb-modal__content {
  position: relative;
  width: 90%;
  max-width: 500px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.nb-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #E5E7EB;
}
.nb-modal__title {
  font-size: 1rem;
  font-weight: 600;
  color: #1F2937;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.nb-modal__title i {
  color: #6B7280;
}
.nb-modal__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.2s ease;
}
.nb-modal__close:hover {
  color: #1F2937;
  background: #F9FAFB;
}
.nb-modal__body {
  padding: 1rem;
}
.nb-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem;
  border-top: 1px solid #E5E7EB;
  background: #F9FAFB;
}

.nb-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 0.5rem;
}
.nb-badge--info {
  background: rgba(14, 165, 233, 0.1);
  color: #0369A1;
}
.nb-badge--success {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}

.nb-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  margin-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

.nb-switch--small {
  margin-top: 1rem;
}

.nb-switches-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1rem;
}
.nb-switches-row .nb-switch {
  flex: 1;
  min-width: 280px;
  margin-top: 0;
}
@media (max-width: 768px) {
  .nb-switches-row {
    flex-direction: column;
    gap: 1rem;
  }
  .nb-switches-row .nb-switch {
    min-width: 100%;
  }
}

.nj-wizard {
  min-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  background: #F9FAFB;
}

.nj-wizard__header {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  position: sticky;
  top: 0;
  z-index: 1020;
}

.nj-wizard__header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  gap: 1rem;
}
@media (max-width: 768px) {
  .nj-wizard__header-content {
    flex-direction: column;
    align-items: flex-start;
  }
}

.nj-wizard__header-info {
  flex: 1;
}

.nj-wizard__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2937;
  margin: 0 0 0.25rem 0;
}
.nj-wizard__title i {
  color: #6B7280;
}

.nj-wizard__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

.nj-wizard__step-badge {
  background: #F9FAFB;
  padding: 4px 10px;
  font-size: 0.75rem;
}
.nj-wizard__step-badge strong {
  color: #1F2937;
}

.nj-wizard__divider {
  width: 1px;
  height: 16px;
  background: #E5E7EB;
}

.nj-wizard__job-title {
  font-weight: 500;
  color: #4B5563;
}

.nj-wizard__header-actions {
  flex-shrink: 0;
}

.nj-wizard__progress {
  height: 3px;
  background: #F3F4F6;
}

.nj-wizard__progress-bar {
  height: 100%;
  background: #349422;
  transition: width 0.3s ease;
}

.nj-wizard__body {
  display: flex;
  flex: 1;
}
@media (max-width: 992px) {
  .nj-wizard__body {
    flex-direction: column;
  }
}

.nj-wizard__sidebar {
  width: 280px;
  min-width: 280px;
  background: #FFFFFF;
  border-right: 1px solid #E5E7EB;
  padding: 1rem;
}
@media (max-width: 992px) {
  .nj-wizard__sidebar {
    width: 100%;
    min-width: 100%;
    border-right: none;
    border-bottom: 1px solid #E5E7EB;
  }
}

.nj-wizard__content {
  flex: 1;
  min-width: 0;
}

.nj-steps {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (max-width: 992px) {
  .nj-steps {
    flex-direction: row;
    overflow-x: auto;
    gap: 0;
    padding-bottom: 0.5rem;
  }
}

.nj-steps__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: #6B7280;
  background: transparent;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}
.nj-steps__item:hover {
  background: #F9FAFB;
  color: #1F2937;
  text-decoration: none;
}
@media (max-width: 992px) {
  .nj-steps__item {
    flex-direction: column;
    text-align: center;
    padding: 0.5rem;
    min-width: 100px;
    border-left: none;
    border-bottom: 3px solid transparent;
  }
}

.nj-steps__item.active {
  background: #e8f5e4;
  border-left-color: #349422;
  color: #1F2937;
}
.nj-steps__item.active .nj-steps__indicator {
  background: #349422;
  border-color: #349422;
  color: #FFFFFF;
}
.nj-steps__item.active .nj-steps__title {
  font-weight: 600;
}
@media (max-width: 992px) {
  .nj-steps__item.active {
    border-left-color: transparent;
    border-bottom-color: #349422;
  }
}

.nj-steps__item.completed {
  color: #4B5563;
}
.nj-steps__item.completed .nj-steps__indicator {
  background: #349422;
  border-color: #349422;
  color: #FFFFFF;
}
.nj-steps__item.completed:hover .nj-steps__indicator {
  background: #2a7a1b;
}

.nj-steps__item.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.nj-steps__indicator {
  width: 28px;
  height: 28px;
  min-width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 2px solid #E5E7EB;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.nj-steps__content {
  flex: 1;
  min-width: 0;
}
@media (max-width: 992px) {
  .nj-steps__content {
    display: none;
  }
}

.nj-steps__title {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nj-steps__desc {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nj-steps__arrow {
  color: #D1D5DB;
  font-size: 0.75rem;
  margin-left: auto;
}
@media (max-width: 992px) {
  .nj-steps__arrow {
    display: none;
  }
}

.nj-help-card {
  margin-top: 1.5rem;
  padding: 1rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
}

.nj-help-card__icon {
  width: 32px;
  height: 32px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
  color: #6B7280;
}

.nj-help-card__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2937;
  margin: 0 0 0.25rem 0;
}

.nj-help-card__text {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.5;
  margin: 0 0 0.5rem 0;
}

.nj-help-card__link {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.nj-help-card__link:hover {
  color: #1F2937;
  text-decoration: underline;
}
.nj-help-card__link i {
  font-size: 10px;
}

[v-cloak] {
  display: none !important;
}

.nb-form-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: calc(100vh - 200px);
}
@media (max-width: 1024px) {
  .nb-form-layout {
    grid-template-columns: 1fr;
  }
}

.nb-form-editor {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  background: #F9FAFB;
  border-right: 1px solid #E5E7EB;
}
@media (max-width: 1024px) {
  .nb-form-editor {
    border-right: none;
    border-bottom: 1px solid #E5E7EB;
  }
}

.nb-form-preview {
  background: #F9FAFB;
  padding: 1rem;
  overflow-y: auto;
}

.nb-card__body--compact {
  padding: 0;
}

.nb-field-list {
  display: flex;
  flex-direction: column;
}

.nb-field-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}
.nb-field-item:last-child {
  border-bottom: none;
}
.nb-field-item:hover {
  background-color: #FAFAFA;
}
.nb-field-item--disabled {
  opacity: 0.7;
  background-color: #FAFAFA;
}
.nb-field-item--active {
  background-color: rgba(52, 148, 34, 0.03);
}

.nb-field-item__check {
  flex-shrink: 0;
}
.nb-field-item__check input[type=checkbox] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #349422;
}
.nb-field-item__check input[type=checkbox]:disabled {
  cursor: not-allowed;
}

.nb-field-item__icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: #9CA3AF;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.nb-field-item__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nb-field-item__name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2937;
}

.nb-field-item__desc {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.nb-badge--required {
  background: #FEE2E2;
  color: #EF4444;
}

.nb-badge--success {
  background: #DCFCE7;
  color: #22C55E;
}

.nb-badge--muted {
  background: #F9FAFB;
  color: #9CA3AF;
}

.nb-toggle-buttons {
  display: flex;
  background: #F9FAFB;
  padding: 2px;
  flex-shrink: 0;
}

.nb-toggle-btn {
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border: none;
  background: transparent;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}
.nb-toggle-btn:hover {
  color: #4B5563;
}
.nb-toggle-btn.active {
  background: #349422;
  color: #fff;
}

.nb-counter-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #22C55E;
  padding: 4px 8px;
  background: #DCFCE7;
}

.nb-footer__stats {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nb-footer__stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  color: #6B7280;
}
.nb-footer__stat i {
  font-size: 14px;
}
.nb-footer__stat .text-success {
  color: #22C55E;
}
.nb-footer__stat .text-danger {
  color: #EF4444;
}

.nb-preview-form {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  max-width: 480px;
  margin: 0 auto;
}

.nb-preview-form__header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  text-align: center;
}

.nb-preview-form__title {
  font-size: 18px;
  font-weight: 600;
  color: #1F2937;
  margin: 0 0 4px;
}

.nb-preview-form__desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0;
}

.nb-preview-form__body {
  padding: 1.5rem;
}

.nb-preview-section {
  font-size: 11px;
  font-weight: 700;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.5rem 0;
  margin: 0.5rem 0 1rem;
  border-bottom: 1px solid #F3F4F6;
}

.nb-preview-field {
  margin-bottom: 1rem;
}
.nb-preview-field:last-child {
  margin-bottom: 0;
}
.nb-preview-field--compound {
  margin-bottom: 1.5rem;
}

.nb-preview-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2937;
  margin-bottom: 6px;
}
.nb-preview-label .req {
  color: #EF4444;
}

.nb-preview-input,
.nb-preview-select,
.nb-preview-textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 0.875rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #9CA3AF;
}
.nb-preview-input:disabled,
.nb-preview-select:disabled,
.nb-preview-textarea:disabled {
  background: #FAFAFA;
  cursor: not-allowed;
}

.nb-preview-textarea {
  min-height: 80px;
  resize: vertical;
}

.nb-preview-input-group {
  display: flex;
  align-items: stretch;
}
.nb-preview-input-group .nb-preview-input-prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-right: none;
  color: #9CA3AF;
  font-size: 0.875rem;
}
.nb-preview-input-group .nb-preview-input {
  border-left: none;
  flex: 1;
}

.nb-preview-file {
  width: 100%;
  padding: 1rem;
  border: 2px dashed #E5E7EB;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.nb-preview-file i {
  font-size: 24px;
  color: #D1D5DB;
}
.nb-preview-file small {
  font-size: 10px;
  color: #D1D5DB;
}

.nb-preview-radio-group {
  display: flex;
  gap: 1rem;
}

.nb-preview-radio {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
}
.nb-preview-radio input {
  margin: 0;
}

.nb-preview-compound__card {
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 1rem;
  margin-bottom: 0.5rem;
}

.nb-preview-compound__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.nb-preview-compound__row:last-child {
  margin-bottom: 0;
}

.nb-preview-compound__col label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  margin-bottom: 4px;
}
.nb-preview-compound__col input,
.nb-preview-compound__col select,
.nb-preview-compound__col textarea {
  width: 100%;
  padding: 8px 10px;
  font-size: 0.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
}
.nb-preview-compound__col input:disabled,
.nb-preview-compound__col select:disabled,
.nb-preview-compound__col textarea:disabled {
  background: #FAFAFA;
  color: #D1D5DB;
}
.nb-preview-compound__col textarea {
  min-height: 60px;
  resize: vertical;
}

.nb-preview-compound__add {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px;
  border: 1px dashed #E5E7EB;
  background: transparent;
  color: #9CA3AF;
  font-size: 0.75rem;
  cursor: not-allowed;
}

.nb-preview-submit {
  width: 100%;
  padding: 12px;
  background: #349422;
  color: #fff;
  border: none;
  font-size: 1rem;
  font-weight: 600;
  margin-top: 1.5rem;
  cursor: not-allowed;
  opacity: 0.8;
}

/* Melhorias gerais para o formulário de candidato */
/* Estilos de Página */
.candidate-page {
  background-color: var(--light);
  padding: 1.5rem;
  border-radius: var(--border-radius);
}
.candidate-page__header {
  margin-bottom: 2rem;
}
.candidate-page__header .breadcrumb {
  padding: 0.5rem 0;
  font-size: 0.875rem;
}
.candidate-page__header .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  font-size: 1.1rem;
  line-height: 1;
  vertical-align: -1px;
}
.candidate-page__header__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--dark);
}
.candidate-page__form .progress-container {
  background-color: var(--white);
  padding: 1.25rem;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  margin-bottom: 1.5rem;
}
.candidate-page__form .progress-container .progress {
  height: 0.5rem;
}

/* Melhorias nas seções */
.section-header {
  background-color: var(--white);
  border-bottom: 2px solid var(--primary);
  padding: 1rem 1.25rem;
}
.section-header h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0;
  color: var(--primary);
}

.section-content {
  background-color: var(--white);
  padding: 1.5rem;
  border: 1px solid var(--gray-200);
  border-top: none;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.required-mark {
  color: var(--danger);
  font-weight: bold;
  margin-left: 2px;
}

.invalid-feedback {
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

/* Seção de importação do LinkedIn */
.linkedin-import-section {
  background-color: rgba(13, 110, 253, 0.05);
  border: 1px solid rgba(13, 110, 253, 0.1);
  border-radius: var(--border-radius);
  margin-bottom: 1.5rem;
}
.linkedin-import-section .linkedin-import-content {
  padding: 1.25rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.linkedin-import-section .linkedin-import-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background-color: #0a66c2;
  color: white;
  border-radius: 0.5rem;
  margin-right: 1rem;
  font-size: 1.5rem;
}
.linkedin-import-section .linkedin-import-text {
  flex: 1;
}
.linkedin-import-section .linkedin-import-text h5 {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}
.linkedin-import-section .linkedin-import-text p {
  color: var(--gray-600);
  margin-bottom: 0;
}
.linkedin-import-section .linkedin-import-action {
  width: 100%;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .linkedin-import-section .linkedin-import-action {
    width: auto;
    margin-top: 0;
  }
}
.linkedin-import-section .linkedin-import-action #uploadStatus {
  font-size: 0.9rem;
}

/* Experiência e Educação */
.experience-item,
.education-item {
  margin-bottom: 1rem;
  border: 1px solid var(--gray-200);
  border-radius: var(--border-radius);
  transition: var(--transition-base);
  overflow: hidden;
}
.experience-item:hover,
.education-item:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  border-color: var(--gray-300);
}
.experience-item .experience-header,
.experience-item .education-header,
.education-item .experience-header,
.education-item .education-header {
  background-color: var(--gray-100);
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--gray-200);
}
.experience-item .experience-logo,
.experience-item .education-logo,
.education-item .experience-logo,
.education-item .education-logo {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary);
  color: white;
  border-radius: 50%;
  margin-right: 0.75rem;
}
.experience-item .experience-details,
.experience-item .education-details,
.education-item .experience-details,
.education-item .education-details {
  flex: 1;
}
.experience-item .experience-details h5,
.experience-item .education-details h5,
.education-item .experience-details h5,
.education-item .education-details h5 {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.2rem;
}
.experience-item .experience-company,
.experience-item .education-school,
.education-item .experience-company,
.education-item .education-school {
  font-size: 0.9rem;
  color: var(--gray-700);
}
.experience-item .experience-date,
.experience-item .education-date,
.education-item .experience-date,
.education-item .education-date {
  font-size: 0.85rem;
  color: var(--gray-600);
}
.experience-item .experience-actions .btn-icon,
.experience-item .education-actions .btn-icon,
.education-item .experience-actions .btn-icon,
.education-item .education-actions .btn-icon {
  background: transparent;
  border: none;
  color: var(--gray-600);
  padding: 0.25rem;
}
.experience-item .experience-actions .btn-icon:hover,
.experience-item .education-actions .btn-icon:hover,
.education-item .experience-actions .btn-icon:hover,
.education-item .education-actions .btn-icon:hover {
  color: var(--danger);
}
.experience-item .experience-body,
.education-item .experience-body {
  padding: 1rem;
  background-color: var(--white);
}
.experience-item .experience-body p,
.education-item .experience-body p {
  margin-bottom: 0;
  font-size: 0.9rem;
  color: var(--gray-700);
  line-height: 1.5;
}

/* Status Badges */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 1rem;
  background-color: var(--gray-200);
  color: var(--gray-700);
}
.status-badge.in-progress {
  background-color: rgba(var(--warning-rgb), 0.15);
  color: var(--warning);
}
.status-badge.completed {
  background-color: rgba(var(--success-rgb), 0.15);
  color: var(--success);
}
.status-badge.started {
  background-color: rgba(var(--info-rgb), 0.15);
  color: var(--info);
}
.status-badge.interrupted {
  background-color: rgba(var(--danger-rgb), 0.15);
  color: var(--danger);
}
.status-badge--complete {
  background-color: rgba(var(--success-rgb), 0.15);
  color: var(--success);
}
.status-badge--pending {
  background-color: rgba(var(--warning-rgb), 0.15);
  color: var(--warning);
}

/* Empty state */
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
}
.empty-state .empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background-color: var(--gray-100);
  color: var(--gray-500);
  border-radius: 50%;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.empty-state .empty-state-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.empty-state .empty-state-text {
  color: var(--gray-600);
  margin-bottom: 1.5rem;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

/* Sidebar */
.sidebar {
  position: sticky;
  top: 1rem;
}
.sidebar .sidebar-section {
  background-color: var(--white);
  border-radius: var(--border-radius);
  overflow: hidden;
  margin-bottom: 1.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
  border: 1px solid var(--gray-200);
}
.sidebar .sidebar-section .sidebar-header {
  padding: 1rem;
  background-color: var(--gray-100);
  border-bottom: 1px solid var(--gray-200);
}
.sidebar .sidebar-section .sidebar-header h5 {
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1rem;
  display: flex;
  align-items: center;
}
.sidebar .sidebar-section .sidebar-header h5 i {
  color: var(--primary);
  margin-right: 0.5rem;
}
.sidebar .sidebar-section .sidebar-content {
  padding: 1rem;
}
.sidebar .sidebar-section.tips-section .tips-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.sidebar .sidebar-section.tips-section .tips-list li {
  display: flex;
  margin-bottom: 0.75rem;
}
.sidebar .sidebar-section.tips-section .tips-list li:last-child {
  margin-bottom: 0;
}
.sidebar .sidebar-section.tips-section .tips-list li i {
  color: var(--success);
  margin-right: 0.5rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
}
.sidebar .sidebar-section.progress-section .status-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.sidebar .sidebar-section.progress-section .status-list .status-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--gray-200);
}
.sidebar .sidebar-section.progress-section .status-list .status-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.sidebar .sidebar-section.progress-section .status-list .status-item .status-info {
  display: flex;
  align-items: center;
}
.sidebar .sidebar-section.progress-section .status-list .status-item .status-info i {
  margin-right: 0.5rem;
  color: var(--primary);
}
.sidebar .sidebar-section.resources-section .resources-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.sidebar .sidebar-section.resources-section .resources-list li {
  margin-bottom: 0.5rem;
}
.sidebar .sidebar-section.resources-section .resources-list li:last-child {
  margin-bottom: 0;
}
.sidebar .sidebar-section.resources-section .resources-list .resource-link {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  border-radius: var(--border-radius);
  color: var(--primary);
  text-decoration: none;
}
.sidebar .sidebar-section.resources-section .resources-list .resource-link:hover {
  background-color: rgba(var(--primary-rgb), 0.05);
}
.sidebar .sidebar-section.resources-section .resources-list .resource-link i {
  margin-right: 0.5rem;
}

/* Form Actions */
.form-actions {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gray-200);
}

/* Modals */
.modal .modal-header {
  background-color: var(--gray-100);
}
.modal .modal-header .modal-title {
  font-weight: 600;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
}
.modal .modal-header .modal-title i {
  margin-right: 0.5rem;
  color: var(--primary);
}

/* Toasts */
.toast {
  background-color: var(--white);
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.toast .toast-header {
  background-color: transparent;
  border-bottom-color: var(--gray-200);
}
.toast .toast-header .toast-icon {
  margin-right: 0.5rem;
}
.toast.toast--success {
  border-left: 4px solid var(--success);
}
.toast.toast--error {
  border-left: 4px solid var(--danger);
}
.toast.toast--warning {
  border-left: 4px solid var(--warning);
}
.toast.toast--info {
  border-left: 4px solid var(--primary);
}

.page-header {
  background-color: #f8f9fa;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid var(--primary);
}

.page-header__title h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--secondary);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

.page-header__subtitle {
  color: var(--gray-600);
  font-size: 1rem;
}

/* Títulos */
.label-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1F2937;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--gray-300);
  display: flex;
  align-items: center;
}

.label-job {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--gray-700);
  font-size: 0.875rem;
}

.nb-page--questions {
  min-height: calc(100vh - 130px);
  padding: 24px 32px;
  max-width: 1400px;
  margin: 0 auto;
}

.nb-questions-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 20px;
}
@media (max-width: 1200px) {
  .nb-questions-layout {
    grid-template-columns: 1fr;
  }
}

.nb-questions-editor,
.nb-questions-preview {
  min-width: 0;
}

.nb-form-group {
  margin-bottom: 14px;
}

.nb-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 5px;
}
.nb-label--required::after {
  content: "*";
  color: #dc2626;
  margin-left: 2px;
}
.nb-label--sm {
  font-size: 12px;
}

.nb-input,
.nb-select,
.nb-textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  font-size: 14px;
  color: #374151;
  background: #fff;
  transition: border-color 0.15s;
}
.nb-input:focus,
.nb-select:focus,
.nb-textarea:focus {
  outline: none;
  border-color: #349422;
}

.nb-textarea {
  resize: vertical;
  min-height: 80px;
}

.nb-error {
  font-size: 12px;
  color: #dc2626;
  margin-top: 4px;
}

.nb-form-grid {
  display: grid;
  gap: 14px;
}
.nb-form-grid--2 {
  grid-template-columns: 1fr 1fr;
}

.nb-card {
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  overflow: visible;
}
.nb-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid #F3F4F6;
  background: #FAFAFA;
}
.nb-card__icon {
  width: 36px;
  height: 36px;
  background: #349422;
  color: #fff;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.nb-card__title {
  font-size: 15px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.nb-card__subtitle {
  font-size: 12px;
  color: #9CA3AF;
  margin: 2px 0 0 0;
}
.nb-card__body {
  padding: 16px 20px;
}
.nb-card__body--no-padding {
  padding: 0 !important;
}

.nb-loading,
.nb-saving {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
}

.nb-spinner {
  width: 28px;
  height: 28px;
  border: 2px solid #F3F4F6;
  border-top-color: #349422;
  border-radius: 50%;
  animation: nb-spin 0.8s linear infinite;
}

@keyframes nb-spin {
  to {
    transform: rotate(360deg);
  }
}
.nb-footer {
  display: flex;
  justify-content: space-between;
  padding: 16px 0;
  border-top: 1px solid #F3F4F6;
  margin-top: 20px;
}

.nb-counter-badge {
  margin-left: auto;
  background: #F9FAFB;
  color: #4B5563;
  padding: 4px 10px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid #F3F4F6;
}

.nb-empty-state {
  text-align: center;
  padding: 40px 24px;
  color: #9CA3AF;
}
.nb-empty-state__icon {
  font-size: 40px;
  color: #E5E7EB;
  margin-bottom: 14px;
}
.nb-empty-state__title {
  font-size: 15px;
  font-weight: 600;
  color: #4B5563;
  margin-bottom: 4px;
}
.nb-empty-state__text {
  font-size: 13px;
  color: #9CA3AF;
}

.nb-question-list {
  padding: 0;
}

.nb-question-item {
  background: #fff;
  border-bottom: 1px solid #F3F4F6;
  border-radius: 0;
  margin-bottom: 0;
  transition: background 0.15s;
}
.nb-question-item:hover {
  background: #FAFAFA;
}
.nb-question-item--editing {
  background: #fff;
  border-left: 3px solid #349422;
}
.nb-question-item--editing:hover {
  background: #fff;
}
.nb-question-item--editing .nb-question-form {
  background: #fff;
}
.nb-question-item--new {
  border-left: 3px dashed #D1D5DB;
  background: #fff;
}
.nb-question-item--new .nb-question-form {
  background: #fff;
}
.nb-question-item__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
}
.nb-question-item__drag {
  color: #D1D5DB;
  cursor: grab;
  font-size: 14px;
}
.nb-question-item__drag:active {
  cursor: grabbing;
}
.nb-question-item__number {
  width: 24px;
  height: 24px;
  background: #349422;
  color: #fff;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.nb-question-item__info {
  flex: 1;
  min-width: 0;
}
.nb-question-item__title {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nb-question-item__type {
  font-size: 12px;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.nb-question-item__actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}
.nb-question-item:hover .nb-question-item__actions {
  opacity: 1;
}

.nb-icon-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background: transparent;
  color: #9CA3AF;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-icon-btn:hover {
  background: #F9FAFB;
  color: #4B5563;
  border-color: #F3F4F6;
}
.nb-icon-btn--danger:hover {
  background: #fee2e2;
  color: #dc2626;
  border-color: #fecaca;
}
.nb-icon-btn--sm {
  width: 26px;
  height: 26px;
  font-size: 14px;
}

.nb-question-form {
  padding: 16px;
  border-top: 1px solid #F3F4F6;
  background: #FAFAFA;
}
.nb-question-form__header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #F3F4F6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.nb-form-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #F3F4F6;
}

.nb-options-list {
  margin-bottom: 8px;
}

.nb-option-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.nb-option-row .nb-input {
  flex: 1;
}

.nb-option-radio {
  width: 16px;
  height: 16px;
  accent-color: #349422;
}

.nb-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: #4B5563;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 4px 0;
}
.nb-link-btn:hover {
  color: #1F2937;
  text-decoration: underline;
}

.nb-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #4B5563;
  height: 40px;
}
.nb-checkbox input {
  display: none;
}
.nb-checkbox__mark {
  width: 16px;
  height: 16px;
  border: 1px solid #D1D5DB;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
input:checked + .nb-checkbox__mark {
  background: #349422;
  border-color: #349422;
}
input:checked + .nb-checkbox__mark::after {
  content: "✓";
  color: #fff;
  font-size: 11px;
}
.nb-checkbox--sm {
  font-size: 13px;
}
.nb-checkbox--sm .nb-checkbox__mark {
  width: 16px;
  height: 16px;
}

.nb-add-question {
  padding: 16px;
  border-top: 1px solid #F3F4F6;
}

.nb-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  border: 1px dashed #E5E7EB;
  border-radius: 0;
  background: transparent;
  color: #6B7280;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-add-btn:hover {
  border-color: #349422;
  color: #349422;
  background: #e8f5e4;
}

.nb-preview-form {
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  overflow: hidden;
}
.nb-preview-form__header {
  padding: 16px 20px;
  border-bottom: 1px solid #F3F4F6;
  text-align: left;
  background: #FAFAFA;
}
.nb-preview-form__title {
  font-size: 15px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 2px 0;
}
.nb-preview-form__desc {
  font-size: 12px;
  color: #9CA3AF;
  margin: 0;
}
.nb-preview-form__body {
  padding: 20px;
}

.nb-preview-question {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #F9FAFB;
}
.nb-preview-question:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.nb-preview-question--new {
  opacity: 0.7;
  border-left: 2px solid #D1D5DB;
  padding-left: 14px;
  margin-left: 0;
}
.nb-preview-question__title {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 10px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.nb-preview-question__number {
  width: 20px;
  height: 20px;
  background: #349422;
  color: #fff;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  flex-shrink: 0;
}
.nb-preview-question__required {
  color: #dc2626;
  margin-left: 2px;
}

.nb-preview-boolean {
  display: flex;
  gap: 8px;
}
.nb-preview-boolean__btn {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  background: #fff;
  color: #6B7280;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.nb-preview-textarea {
  width: 100%;
  min-height: 80px;
  padding: 10px 12px;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  font-size: 13px;
  resize: vertical;
  background: #fff;
}

.nb-preview-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nb-preview-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #FAFAFA;
  border-radius: 0;
  border: 1px solid #F3F4F6;
  cursor: pointer;
  transition: background 0.15s;
}
.nb-preview-option:hover {
  background: #F9FAFB;
}
.nb-preview-option input {
  display: none;
}
.nb-preview-option__mark {
  width: 16px;
  height: 16px;
  border: 1px solid #D1D5DB;
  border-radius: 50%;
  flex-shrink: 0;
}
.nb-preview-option__text {
  font-size: 13px;
  color: #4B5563;
}

.nb-preview-scale {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nb-preview-scale__label {
  font-size: 11px;
  color: #9CA3AF;
  min-width: 50px;
}
.nb-preview-scale__label:last-child {
  text-align: right;
}
.nb-preview-scale__items {
  display: flex;
  gap: 4px;
  flex: 1;
  justify-content: center;
}
.nb-preview-scale__item {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  font-size: 12px;
  font-weight: 500;
  color: #6B7280;
  background: #fff;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-preview-scale__item:hover {
  border-color: #349422;
  background: #e8f5e4;
}

.nb-preview-input {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  font-size: 13px;
  background: #fff;
}

.sortable-ghost {
  opacity: 0.4;
}

.sortable-chosen {
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
}

.sortable-drag {
  opacity: 1 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.nb-question-placeholder {
  height: 60px;
  background: rgba(55, 65, 81, 0.04);
  border: 2px dashed #D1D5DB;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9CA3AF;
  font-size: 12px;
  transition: all 0.15s ease;
}
.nb-question-placeholder::before {
  content: "Soltar aqui";
  font-weight: 500;
}

.nb-toggle-group {
  display: flex;
  gap: 6px;
}
.nb-toggle-group--compact {
  gap: 4px;
}

.nb-toggle-option {
  flex: 1;
}
.nb-toggle-option input {
  display: none;
}
.nb-toggle-option label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 14px;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.15s;
  background: #fff;
}
.nb-toggle-option input:checked + label {
  background: #349422;
  border-color: #349422;
  color: #fff;
}
.nb-toggle-option__icon {
  font-size: 13px;
}
.nb-toggle-option__text {
  font-size: 12px;
  font-weight: 500;
}

.nb-ai-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  margin-left: 12px;
}
.nb-ai-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}
.nb-ai-btn i {
  font-size: 14px;
}

.nb-sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  animation: nb-fade-in 0.2s ease-out;
}

@keyframes nb-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.nb-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 460px;
  height: 100vh;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  animation: nb-slide-in 0.3s ease-out forwards;
}
.nb-sidebar--ai {
  max-width: 460px;
}
@media (max-width: 480px) {
  .nb-sidebar {
    max-width: 100%;
  }
}
.nb-sidebar__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid #F3F4F6;
  background: #fff;
  flex-shrink: 0;
}
.nb-sidebar__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.nb-sidebar__icon--ai {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  color: #fff;
}
.nb-sidebar__title {
  font-size: 18px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.nb-sidebar__subtitle {
  font-size: 13px;
  color: #9CA3AF;
  margin: 4px 0 0 0;
}
.nb-sidebar__close {
  margin-left: auto;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #D1D5DB;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-sidebar__close:hover {
  background: #F9FAFB;
  color: #6B7280;
}
.nb-sidebar__body {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
}
.nb-sidebar__footer {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 16px 24px;
  border-top: 1px solid #F3F4F6;
  background: #FAFAFA;
  flex-shrink: 0;
}

@keyframes nb-slide-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
.nb-quantity-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid #F3F4F6;
  border-radius: 8px;
  overflow: hidden;
}
.nb-quantity-selector button {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: #FAFAFA;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-quantity-selector button:hover {
  background: #F9FAFB;
}
.nb-quantity-selector span {
  min-width: 48px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #374151;
}

.nb-hint {
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 6px;
}

.nb-ai-examples {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #F9FAFB;
}
.nb-ai-examples__title {
  font-size: 12px;
  font-weight: 500;
  color: #9CA3AF;
  margin-bottom: 10px;
}
.nb-ai-examples__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nb-ai-example {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  border-radius: 20px;
  font-size: 13px;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s;
}
.nb-ai-example:hover {
  background: #e8f5e4;
  border-color: #349422;
  color: #349422;
}

.nb-ai-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #F9FAFB;
}
.nb-ai-preview-header p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #059669;
}
.nb-ai-preview-header p i {
  margin-right: 6px;
}

.nb-ai-preview-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: calc(100vh - 340px);
  overflow-y: auto;
}

.nb-ai-preview-item {
  display: flex;
  gap: 12px;
  padding: 14px;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  border-radius: 10px;
  transition: all 0.15s;
}
.nb-ai-preview-item--selected {
  background: #e8f5e4;
  border-color: #349422;
}
.nb-ai-preview-item__check {
  display: flex;
  align-items: flex-start;
  padding-top: 2px;
}
.nb-ai-preview-item__check input {
  display: none;
}
.nb-ai-preview-item__content {
  flex: 1;
  min-width: 0;
}
.nb-ai-preview-item__title {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 6px;
}
.nb-ai-preview-item__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.nb-ai-preview-item__type {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #9CA3AF;
}
.nb-ai-preview-item__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
}
.nb-ai-preview-item__badge--auto {
  background: #fef3c7;
  color: #d97706;
}
.nb-ai-preview-item__options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.nb-ai-preview-item__option {
  padding: 4px 10px;
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 4px;
  font-size: 12px;
  color: #6B7280;
}
.nb-ai-preview-item__option--correct {
  background: #d1fae5;
  border-color: #059669;
  color: #059669;
}

.nb-btn--ai {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  border-color: #7c3aed;
}
.nb-btn--ai:hover {
  background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
}

:root {
  --sf-blue: #349422;
  --sf-blue-dark: #2a7a1b;
  --sf-blue-light: #349422;
  --sf-blue-lighter: #e8f5e4;
  --sf-green: #349422;
  --sf-green-light: #22C55E;
  --sf-orange: #F59E0B;
  --sf-orange-light: #ffb75d;
  --sf-purple: #9050e9;
  --sf-gray-1: #FAFAFA;
  --sf-gray-2: #F3F4F6;
  --sf-gray-3: #E5E7EB;
  --sf-gray-4: #D1D5DB;
  --sf-gray-5: #6B7280;
  --sf-gray-6: #374151;
  --sf-white: #FFFFFF;
  --sf-shadow-1: 0 2px 3px 0 rgba(0,0,0,0.16);
  --sf-shadow-2: 0 4px 12px 0 rgba(0,0,0,0.16);
  --sf-shadow-3: 0 8px 24px 0 rgba(0,0,0,0.16);
  --sf-radius: 0;
  --sf-radius-lg: 0;
}

.retro-header {
  background: linear-gradient(to right, var(--sf-blue), var(--sf-green));
  color: white;
  padding: 2rem 0;
  margin: -1rem -12px 2rem -12px;
  position: relative;
  overflow: hidden;
}

.retro-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -10%;
  width: 40%;
  height: 200%;
  background: rgba(255, 255, 255, 0.1);
  transform: rotate(-20deg);
}

.retro-header-content {
  position: relative;
  z-index: 1;
}

.retro-title {
  font-size: 2rem;
  font-weight: 300;
  margin: 0;
  color: #FFFFFF;
  letter-spacing: -0.5px;
}

.retro-subtitle {
  font-size: 1rem;
  opacity: 0.9;
  margin-top: 0.5rem;
  color: #FFFFFF;
}

/* Progress Indicator */
.retro-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;
  padding: 0 2rem;
}

.retro-progress-step {
  display: flex;
  align-items: center;
  position: relative;
}

.retro-progress-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--sf-gray-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: var(--sf-gray-5);
  transition: all 0.3s ease;
  z-index: 2;
}

.retro-progress-step.active .retro-progress-circle {
  background: var(--sf-blue);
  color: white;
  transform: scale(1.1);
  box-shadow: 0 0 0 4px rgba(52, 148, 34, 0.2);
}

.retro-progress-line {
  width: 100px;
  height: 2px;
  background: var(--sf-gray-3);
  margin: 0 1rem;
}

/* Alert Modern */
.retro-alert {
  background: var(--sf-orange-light);
  background: linear-gradient(135deg, #fff8f1 0%, #ffedd9 100%);
  border-left: 4px solid var(--sf-orange);
  border-radius: 0;
  padding: 1.25rem;
  margin-bottom: 2rem;
  box-shadow: var(--sf-shadow-1);
  position: relative;
  overflow: hidden;
}

.retro-alert::after {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  background: var(--sf-orange);
  opacity: 0.1;
  border-radius: 50%;
}

.retro-alert-content {
  position: relative;
  z-index: 1;
}

.retro-alert-icon {
  font-size: 1.5rem;
  color: var(--sf-orange);
}

.retro-alert-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
}

.retro-alert-text {
  font-size: 0.875rem;
  color: var(--sf-gray-5);
  margin: 0 0 1rem 0;
}

/* Modern Option Cards */
.retro-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.retro-option {
  background: white;
  border-radius: 0;
  box-shadow: var(--sf-shadow-1);
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  border: 2px solid transparent;
}

.retro-option:hover {
  transform: translateY(-4px);
  box-shadow: var(--sf-shadow-2);
}

.retro-option.selected {
  border-color: var(--sf-blue);
  background: var(--sf-blue-lighter);
}

.retro-option.selected::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--sf-blue);
}

.retro-option-header {
  height: 120px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.retro-option-header.blue {
  background: linear-gradient(135deg, #e1f5fe 0%, #b3e5fc 100%);
}

.retro-option-header.green {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
}

.retro-option-header.purple {
  background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
}

.retro-option-icon {
  font-size: 3rem;
  color: white;
  z-index: 2;
  position: relative;
}

.retro-option-header.blue .retro-option-icon {
  color: var(--sf-blue);
}

.retro-option-header.green .retro-option-icon {
  color: var(--sf-green);
}

.retro-option-header.purple .retro-option-icon {
  color: var(--sf-purple);
}

.retro-option-pattern {
  position: absolute;
  top: -50%;
  right: -25%;
  width: 150%;
  height: 200%;
  opacity: 0.1;
  background: repeating-linear-gradient(45deg, transparent, transparent 10px, currentColor 10px, currentColor 20px);
  transform: rotate(45deg);
}

.retro-option-body {
  padding: 1.5rem;
}

.retro-option-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  color: var(--sf-gray-6);
}

.retro-option-description {
  font-size: 0.875rem;
  color: var(--sf-gray-5);
  line-height: 1.6;
  margin: 0 0 1rem 0;
}

.retro-option-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid var(--sf-gray-3);
}

.retro-option-radio {
  display: none;
}

.retro-option-label {
  font-size: 0.875rem;
  color: var(--sf-green);
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.retro-option-check {
  width: 24px;
  height: 24px;
  border: 2px solid var(--sf-gray-4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.retro-option.selected .retro-option-check {
  background: var(--sf-blue);
  border-color: var(--sf-blue);
}

.retro-option.selected .retro-option-check::after {
  content: "✓";
  color: white;
  font-size: 0.875rem;
}

/* Dynamic Content Area */
.retro-dynamic-content {
  background: white;
  border-radius: 0;
  box-shadow: var(--sf-shadow-1);
  padding: 2rem;
  margin-top: 2rem;
  min-height: 200px;
  transition: all 0.3s ease;
}

.retro-dynamic-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--sf-gray-3);
}

.retro-dynamic-icon {
  width: 48px;
  height: 48px;
  background: var(--sf-blue-lighter);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sf-blue);
  font-size: 1.5rem;
}

.retro-dynamic-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
}

.retro-select-modern {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid var(--sf-gray-3);
  border-radius: 0;
  font-size: 0.875rem;
  color: var(--sf-gray-6);
  background-color: white;
  transition: all 0.2s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23706e6b' d='M10.293 0.293L6 4.586 1.707 0.293 0.293 1.707 6 7.414 11.707 1.707z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  appearance: none;
}

.retro-select-modern:focus {
  outline: none;
  border-color: var(--sf-blue);
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.2);
}

/* Action Footer */
.retro-action-footer {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--sf-gray-3);
}

.btn-modern {
  padding: 0.75rem 1.5rem;
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: 600;
  border: none;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.btn-modern-primary {
  background: var(--sf-green);
  color: white;
}

.btn-modern-primary:hover {
  background: var(--sf-blue-dark);
  transform: translateY(-1px);
  box-shadow: var(--sf-shadow-1);
}

.btn-modern-secondary {
  background: white;
  color: var(--sf-green);
  border: 2px solid var(--sf-green);
}

.btn-modern-secondary:hover {
  background: var(--sf-blue-lighter);
}

/* Loading State */
.retro-loading {
  display: none;
  text-align: center;
  padding: 3rem;
}

.retro-loading-spinner {
  width: 48px;
  height: 48px;
  border: 3px solid var(--sf-gray-3);
  border-top-color: var(--sf-green);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 1rem;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Responsive */
@media (max-width: 768px) {
  .retro-progress {
    display: none;
  }
  .retro-options-grid {
    grid-template-columns: 1fr;
  }
}
:root {
  --primary-color: #349422;
  --primary-hover: #2a7a1b;
  --secondary-color: #6B7280;
  --border-color: #E5E7EB;
  --text-primary: #1A1A1A;
  --text-secondary: #6B7280;
  --text-subtle: #9CA3AF;
  --background: #F9FAFB;
  --surface: #FFFFFF;
  --success-color: #349422;
  --warning-color: #F59E0B;
  --danger-color: #EF4444;
  --info-color: #3B82F6;
}

/* Main Layout */
.lv-publishjob-container {
  display: flex;
  gap: 1rem;
  min-height: 100vh;
  padding: 1rem;
}

.lv-main-content {
  flex: 1;
  min-width: 0;
}

.lv-sidebar {
  width: 320px;
  flex-shrink: 0;
}

/* Header */
.lv-page-header {
  background: var(--surface);
  border: 1px solid var(--border-color);
  border-radius: 0;
  padding: 16px 20px;
  margin-bottom: 16px;
}

.lv-page-header h1 {
  font-size: 20px;
  font-weight: 500;
  margin: 0;
  color: #349422;
}

.lv-page-subtitle {
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 4px;
}

/* Job Header Card */
.lv-job-header-card {
  background: #FFFFFF;
  border-radius: 0;
  padding: 0.62rem;
}

.lv-job-title {
  font-size: 34px;
  font-weight: 400;
  color: #349422;
  margin: 0 0 8px 0;
}

.lv-job-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.lv-job-code {
  font-size: 12px;
  color: var(--text-subtle);
}

.lv-job-status {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.lv-job-status.draft {
  background: #ddd;
  color: #666;
}

.lv-job-status.pending {
  background: #fff4e6;
  color: #974f00;
}

.lv-job-status.approved {
  background: #e3fcef;
  color: #006644;
}

.lv-job-status.published {
  background: #e8f5e4;
  color: #349422;
}

/* Approval Banner */
.lv-approval-banner {
  background: #fff4e6;
  border: 1px solid #ffc400;
  border-radius: 0;
  padding: 12px 16px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-approval-banner.success {
  background: #e3fcef;
  border-color: #36b37e;
}

.lv-approval-banner .icon {
  width: 16px;
  height: 16px;
  color: #974f00;
}

.lv-approval-banner.success .icon {
  color: #006644;
}

.lv-approval-text {
  flex: 1;
  font-size: 14px;
}

.lv-approval-text strong {
  font-weight: 600;
}

.lv-approval-text small {
  font-size: 12px;
  color: var(--text-subtle);
}

/* Tabs */
.lv-tabs {
  background: var(--surface);
  border-radius: 0;
  margin-bottom: 0;
}

.lv-tab-nav {
  display: flex;
  border-bottom: 1px solid var(--border-color);
  padding: 0;
  margin: 0;
  list-style: none;
}

.lv-tab-nav li {
  margin: 0;
}

.lv-tab-link {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  color: var(--text-secondary);
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.15s ease;
}

.lv-tab-link:hover {
  color: var(--primary-color);
  text-decoration: none;
}

.lv-tab-link.active {
  color: var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
}

.lv-tab-link i {
  margin-right: 6px;
  font-size: 16px;
}

.lv-tab-content {
  display: none;
}
.lv-tab-content.active {
  display: block;
}

/* Sections */
.lv-section {
  margin-bottom: 32px;
}

.lv-section-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px 0;
}

/* Metadata Grid */
.lv-metadata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.lv-metadata-item {
  display: flex;
  flex-direction: column;
}

.lv-metadata-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-subtle);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.lv-metadata-value {
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 400;
}

/* Description */
.lv-description {
  background: var(--background);
  border: 1px solid var(--border-color);
  border-radius: 0;
  padding: 0.625rem;
  max-height: 250px;
  overflow-y: auto;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-primary);
}

.lv-custom-editor {
  display: none;
}

/* Tags */
.lv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.lv-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  background: var(--background);
  border: 1px solid var(--border-color);
  border-radius: 0;
  font-size: 12px;
  color: var(--text-primary);
}

.lv-tag.skill {
  background: #e8f5e4;
  border-color: #c8e6c0;
  color: #349422;
}

.lv-tag.benefit {
  background: #e3fcef;
  border-color: #79e2a6;
  color: #006644;
}

/* Form Preview */
.lv-form-preview {
  background: var(--background);
  border: 1px solid var(--border-color);
  border-radius: 0;
  padding: 16px;
}

.lv-form-field {
  margin-bottom: 16px;
}

.lv-form-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.lv-form-field input,
.lv-form-field textarea,
.lv-form-field select {
  width: 100%;
  padding: 8px;
  border: 2px solid var(--border-color);
  border-radius: 0;
  font-size: 14px;
  background: var(--surface);
  color: var(--text-primary);
}

.lv-form-field textarea {
  min-height: 80px;
  resize: vertical;
}

/* Sidebar */
.lv-sidebar-card {
  background: #f4f5f7;
  border: 1px solid #f4f5f7;
  border-radius: 0;
  margin-bottom: 16px;
}

.lv-sidebar-header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-subtle);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lv-sidebar-content {
  padding: 16px;
}

/* Status Section */
.lv-status-field {
  margin-bottom: 16px;
}

.lv-status-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.lv-status-field select {
  width: 100%;
  padding: 8px;
  border: 2px solid var(--border-color);
  border-radius: 0;
  font-size: 14px;
  background: var(--surface);
}

/* Publication Dates */
.lv-date-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lv-date-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-date-label {
  font-size: 12px;
  color: var(--text-subtle);
}

.lv-date-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

/* Action Buttons */
.lv-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  border-radius: 0;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

.lv-btn i {
  margin-right: 6px;
}

.lv-btn-primary {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: white;
}

.lv-btn-primary:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
  color: white;
}

.lv-btn-secondary {
  background: var(--surface);
  color: var(--text-primary);
}

.lv-btn-secondary:hover {
  background: var(--background);
  color: var(--text-primary);
}

.lv-btn-tertiary {
  background: var(--background);
  color: var(--text-secondary);
  border-color: var(--border-color);
}

.lv-btn-tertiary:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

/* Configuration Grid */
.lv-config-grid {
  display: grid;
  gap: 16px;
}

.lv-config-section {
  background: var(--background);
  border: 1px solid var(--border-color);
  border-radius: 0;
  padding: 16px;
}

.lv-config-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px 0;
}

.lv-publishjob-container .form-check {
  margin-bottom: 8px;
}
.lv-publishjob-container .form-check-input {
  border: 2px solid var(--border-color);
}
.lv-publishjob-container .form-check-label {
  font-size: 14px;
  color: var(--text-primary);
}

/* Modal */
.modal-content {
  border: 1px solid var(--border-color);
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.modal-header {
  border-bottom: 1px solid var(--border-color);
  padding: 16px 20px;
  background: var(--surface);
}

.modal-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.modal-body {
  padding: 20px;
  color: var(--text-primary);
  line-height: 1.5;
}

.modal-footer {
  border-top: 1px solid var(--border-color);
  padding: 16px 20px;
  background: var(--background);
}

.modal-footer .btn {
  margin-left: 8px;
}

/* Responsive */
@media (max-width: 768px) {
  .lv-publishjob-container {
    flex-direction: column;
  }
  .lv-sidebar {
    width: 100%;
    order: -1;
  }
  .lv-metadata-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .lv-publishjob-container {
    flex-direction: column;
  }
  .lv-sidebar {
    width: 100%;
    order: -1;
  }
  .lv-metadata-grid {
    grid-template-columns: 1fr;
  }
}
/*
 * Job Closing Component
 *
 * Styling for the job closing dialog in recruitment system.
 */
.job-closing-container {
  background-color: #FFFFFF;
  border-radius: 0;
  border: 1px solid #E5E7EB;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.job-closing-container .section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #F9FAFB;
}
.job-closing-container .form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #1A1A1A;
}
.job-closing-container .form-select,
.job-closing-container .form-control {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  font-size: 0.875rem;
  color: #1A1A1A;
  background-color: #FFFFFF;
  transition: border-color 0.2s;
}
.job-closing-container .form-select:focus,
.job-closing-container .form-control:focus {
  border-color: #1A1A1A;
  box-shadow: 0 0 0 0.2rem rgba(26, 26, 26, 0.15);
  outline: none;
}
.job-closing-container textarea.form-control {
  min-height: 120px;
  resize: vertical;
}
.job-closing-container .important-notice {
  background-color: rgba(245, 158, 11, 0.1);
  border-left: 4px solid #F59E0B;
  padding: 1rem;
  border-radius: 0;
  margin-bottom: 1.25rem;
}
.job-closing-container .important-notice .notice-title {
  font-weight: 600;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
  margin-bottom: 0.5rem;
  display: block;
}
.job-closing-container .important-notice p {
  margin: 0;
  color: #1A1A1A;
  font-size: 0.875rem;
  line-height: 1.5;
}
.job-closing-container .action-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.job-closing-container .action-buttons .btn {
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
}
.job-closing-container .action-buttons .btn svg {
  margin-right: 0.5rem;
}
.job-closing-container .action-buttons .btn.btn-danger {
  background-color: #EF4444;
  border-color: #EF4444;
  color: #FFFFFF;
}
.job-closing-container .action-buttons .btn.btn-danger:hover {
  background-color: rgb(235.9852216749, 32.7647783251, 32.7647783251);
  border-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.job-closing-container .action-buttons .btn.btn-primary {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.job-closing-container .action-buttons .btn.btn-primary:hover {
  background-color: rgb(6.875, 6.875, 6.875);
  border-color: rgb(0.5, 0.5, 0.5);
}
.job-closing-container .rich-editor {
  border: 1px solid #E5E7EB;
  border-radius: 0;
  min-height: 250px;
}
.job-closing-container .rich-editor .editor-toolbar {
  padding: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.job-closing-container .rich-editor .editor-button {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #6B7280;
  transition: all 0.2s;
}
.job-closing-container .rich-editor .editor-button:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #1A1A1A;
}
.job-closing-container .rich-editor .editor-button.active {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.job-closing-container .rich-editor .editor-content {
  padding: 0.75rem;
  min-height: 200px;
}
.job-closing-container .content-divider {
  height: 1px;
  background-color: #E5E7EB;
  margin: 1.5rem 0;
}
.job-closing-container .form-group {
  margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
  .job-closing-container {
    padding: 1rem;
  }
  .job-closing-container .action-buttons {
    flex-direction: column;
  }
  .job-closing-container .action-buttons .btn {
    width: 100%;
  }
}
.lv-resume-header-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-resume-back-button {
  background-color: #FFFFFF;
  color: #4B5563;
  border: 1px solid #E5E7EB;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: all 0.15s ease;
}
.lv-resume-back-button:hover {
  background-color: #e8f5e4;
  border-color: #349422;
  color: #2a7a1b;
}

.lv-resume-nav-info {
  font-size: 14px;
}

.lv-resume-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.lv-resume-profile-header {
  gap: 1.5rem;
  margin-bottom: 0;
}

.lv-resume-profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 0;
  object-fit: cover;
  border: 1px solid #F3F4F6;
}

.lv-resume-profile-info {
  flex: 1;
}

.lv-resume-contact-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.lv-resume-action-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-left: 20px;
}

.btn-favorite-view {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  cursor: pointer;
  font-size: 1rem;
  color: #D1D5DB;
  transition: all 0.2s ease;
}
.btn-favorite-view:hover {
  color: #f59e0b;
  border-color: #f59e0b;
  transform: scale(1.05);
}
.btn-favorite-view.active {
  color: #f59e0b;
  border-color: #f59e0b;
}
.btn-favorite-view:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lv-resume-btn {
  padding: 0.5rem 1rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  cursor: pointer;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #4B5563;
  transition: all 0.15s ease;
}
.lv-resume-btn:hover {
  background-color: #FAFAFA;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.lv-resume-btn-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-resume-btn-icon:hover {
  background-color: #FAFAFA;
  border-color: #D1D5DB;
}

.lv-resume-content-grid {
  display: grid;
  gap: 1rem;
}

.lv-resume-info-grid {
  display: grid;
  gap: 1rem;
}

.lv-resume-info-item {
  display: grid;
  gap: 0.25rem;
}
.lv-resume-info-item--full {
  grid-column: 1/-1;
}

.lv-resume-experience-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lv-resume-experience-header {
  margin-bottom: 0.5rem;
}

.lv-resume-skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lv-resume-sidebar-section {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1rem;
  margin-bottom: 1rem;
}

.lv-resume-sidebar-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  color: #1A1A1A;
}

.lv-resume-source-badge {
  background-color: #1A1A1A;
  color: #FFFFFF;
  padding: 0.125rem 0.5rem;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.lv-resume-source-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem;
  background-color: #FAFAFA;
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
}

.lv-resume-source-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lv-resume-source-label {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
}

.lv-resume-source-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-resume-source-logo {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.lv-resume-source-date {
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.lv-app-resume-stage-info {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.75rem;
  margin-bottom: 1rem;
}

.lv-app-resume-stage-label {
  color: #9CA3AF;
}

.lv-app-resume-stage-value {
  color: #1A1A1A;
  font-weight: 600;
}

.lv-applicant-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
  padding: 0;
}

.lv-applicant-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  gap: 1rem;
}

.lv-applicant-header-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  flex: 1;
}

.lv-applicant-header-back {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  color: #6B7280;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-applicant-header-back:hover {
  background: #F9FAFB;
  color: #1A1A1A;
}
.lv-applicant-header-back i {
  font-size: 0.625rem;
}

.lv-applicant-header-divider {
  width: 1px;
  height: 1.5rem;
  background: #F3F4F6;
  flex-shrink: 0;
}

.lv-applicant-header-title {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.lv-applicant-header-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.lv-applicant-header-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.lv-applicant-header-stage {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #F9FAFB;
  border: 1px solid #F3F4F6;
  font-size: 0.625rem;
  font-weight: 600;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.lv-applicant-header-center {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-applicant-header-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.lv-applicant-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.lv-applicant-nav-btn:hover {
  background: #e8f5e4;
  border-color: #349422;
  color: #2a7a1b;
  text-decoration: none;
}
.lv-applicant-nav-btn:active {
  transform: translateY(1px);
}
.lv-applicant-nav-btn i {
  font-size: 0.625rem;
}
.lv-applicant-nav-btn.disabled {
  opacity: 0.5;
  pointer-events: none;
}

.lv-applicant-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-applicant-action-btn i {
  font-size: 0.75rem;
}
.lv-applicant-action-btn:active {
  transform: translateY(1px);
}
.lv-applicant-action-btn--approve {
  background: #349422;
  border-color: #349422;
  color: #FFFFFF;
}
.lv-applicant-action-btn--approve:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
}
.lv-applicant-action-btn--reject {
  background: #FFFFFF;
  border-color: #EF4444;
  color: #EF4444;
}
.lv-applicant-action-btn--reject:hover {
  background: #EF4444;
  border-color: #DC2626;
  color: #FFFFFF;
}
.lv-applicant-action-btn--move {
  background: #349422;
  border-color: #349422;
  color: #FFFFFF;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.lv-applicant-action-btn--move:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
}

.lv-applicant-action-dropdown-toggle {
  background: #349422;
  border: 1px solid #349422;
  color: #FFFFFF;
  padding: 0.5rem 0.625rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-applicant-action-dropdown-toggle:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
}
.lv-applicant-action-dropdown-toggle i {
  font-size: 0.625rem;
}

.lv-applicant-dropdown-menu {
  border: 1px solid #F3F4F6;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  padding: 0.25rem 0;
  min-width: 200px;
}
.lv-applicant-dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  color: #4B5563;
  transition: all 0.15s ease;
}
.lv-applicant-dropdown-menu .dropdown-item:hover {
  background: #FAFAFA;
  color: #1A1A1A;
}
.lv-applicant-dropdown-menu .dropdown-item i {
  width: 1rem;
  font-size: 0.75rem;
  color: #D1D5DB;
}
.lv-applicant-dropdown-menu .dropdown-divider {
  margin: 0.25rem 0;
  border-color: #F3F4F6;
}

.lv-applicant-header-separator {
  width: 1px;
  height: 1.75rem;
  background: #F3F4F6;
  margin: 0 0.25rem;
}

.lv-app-resume-stage-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  background-color: #F9FAFB;
  border: 1px solid #F3F4F6;
  font-size: 0.75rem;
  color: #4B5563;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
.lv-app-resume-stage-badge i {
  color: #9CA3AF;
  font-size: 0.75rem;
}

.lv-app-resume-stage-name {
  font-weight: 600;
  color: #1A1A1A;
}

.lv-app-resume-communication-section,
.lv-app-resume-actions-section {
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}

.lv-app-resume-communication-section {
  background-color: #FAFAFA;
  padding: 1rem;
  border: 1px solid #F3F4F6;
}

.lv-app-resume-section-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.lv-app-resume-communication-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lv-app-resume-btn-communication {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.75rem;
  font-weight: 500;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  white-space: nowrap;
}
.lv-app-resume-btn-communication:hover {
  background-color: #e8f5e4;
  border-color: #349422;
  color: #2a7a1b;
}
.lv-app-resume-btn-communication:active {
  transform: translateY(1px);
}
.lv-app-resume-btn-communication i {
  font-size: 0.8125rem;
  color: #D1D5DB;
}
.lv-app-resume-btn-communication:hover i {
  color: #6B7280;
}
.lv-app-resume-btn-communication .bi-whatsapp {
  color: #25d366 !important;
}
.lv-app-resume-btn-communication .bi-linkedin {
  color: #0077b5 !important;
}

.lv-app-resume-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lv-app-resume-btn-action {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-app-resume-btn-action i {
  font-size: 0.75rem;
}
.lv-app-resume-btn-action:active {
  transform: translateY(1px);
}
.lv-app-resume-btn-action:focus {
  outline: none;
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px rgba(52, 148, 34, 0.3);
}
.lv-app-resume-btn-action.lv-app-resume-btn-default {
  background-color: #FFFFFF;
  border-color: #E5E7EB;
  color: #4B5563;
}
.lv-app-resume-btn-action.lv-app-resume-btn-default:hover {
  background-color: #FAFAFA;
  border-color: #D1D5DB;
}
.lv-app-resume-btn-action.lv-app-resume-btn-move-stage {
  background-color: #349422;
  border-color: #349422;
  color: #FFFFFF;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.lv-app-resume-btn-action.lv-app-resume-btn-move-stage:hover {
  background-color: #2a7a1b;
  border-color: #2a7a1b;
}
.lv-app-resume-btn-action.lv-app-resume-btn-approve {
  background-color: #349422;
  border-color: #349422;
  color: #FFFFFF;
}
.lv-app-resume-btn-action.lv-app-resume-btn-approve:hover {
  background-color: #2a7a1b;
  border-color: #2a7a1b;
}
.lv-app-resume-btn-action.lv-app-resume-btn-reject {
  background-color: #FFFFFF;
  border-color: #EF4444;
  color: #EF4444;
}
.lv-app-resume-btn-action.lv-app-resume-btn-reject:hover {
  background-color: #EF4444;
  border-color: #DC2626;
  color: #FFFFFF;
}

.lv-app-resume-btn-action-dropdown {
  background-color: #349422;
  border-color: #349422;
  color: #FFFFFF;
  padding: 0.5rem 0.625rem;
  border: 1px solid #349422;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}
.lv-app-resume-btn-action-dropdown:hover {
  background-color: #2a7a1b;
  border-color: #2a7a1b;
}
.lv-app-resume-btn-action-dropdown i {
  font-size: 0.625rem;
}

.btn-group .lv-app-resume-dropdown-menu {
  border: 1px solid #F3F4F6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 0.25rem 0;
  margin-top: 0.25rem;
  min-width: 220px;
}
.btn-group .lv-app-resume-dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: #4B5563;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.15s ease-in-out;
}
.btn-group .lv-app-resume-dropdown-menu .dropdown-item i {
  font-size: 0.75rem;
  width: 1rem;
  color: #D1D5DB;
}
.btn-group .lv-app-resume-dropdown-menu .dropdown-item:hover {
  background-color: #FAFAFA;
  color: #1A1A1A;
}
.btn-group .lv-app-resume-dropdown-menu .dropdown-item:active {
  background-color: #F9FAFB;
}
.btn-group .lv-app-resume-dropdown-menu .dropdown-divider {
  margin: 0.25rem 0;
  border-color: #F3F4F6;
}

.lv-app-resume-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.lv-app-resume-btn-secondary-action {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background-color: transparent;
  border: none;
  color: #6B7280;
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}
.lv-app-resume-btn-secondary-action:hover {
  background-color: #e8f5e4;
  color: #2a7a1b;
  text-decoration: none;
}
.lv-app-resume-btn-secondary-action i {
  font-size: 0.75rem;
}

.lv-job-rating-container {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1.25rem;
}

.lv-job-rating-header {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 1.25rem;
}

.lv-job-rating-score {
  text-align: center;
}

.lv-job-rating-score-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1;
}

.lv-job-rating-score-max {
  font-size: 1.25rem;
  font-weight: 600;
  color: #9CA3AF;
  margin-left: 0.25rem;
}

.lv-job-rating-score-label {
  font-size: 0.625rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.25rem;
}

.lv-job-rating-adherence {
  flex: 1;
}

.lv-job-rating-adherence-bar {
  height: 0.375rem;
  background: #F9FAFB;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.lv-job-rating-adherence-fill {
  height: 100%;
  background: #349422;
  transition: width 0.3s ease;
}

.lv-job-rating-adherence-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
}

.lv-job-rating-ai-analysis {
  background: #FAFAFA;
  border-left: 2px solid #1A1A1A;
  padding: 1rem;
  margin-bottom: 1.25rem;
}

.lv-job-rating-ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.lv-job-rating-ai-badge svg {
  width: 0.875rem;
  height: 0.875rem;
}

.lv-job-rating-observation {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #4B5563;
}

.lv-job-rating-criteria-title {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}

.lv-job-rating-criteria-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.lv-job-rating-criteria-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F9FAFB;
}
.lv-job-rating-criteria-item:last-child {
  border-bottom: none;
}

.lv-job-rating-criteria-label {
  font-size: 0.8125rem;
  color: #4B5563;
  font-weight: 500;
}

.lv-job-rating-stars {
  display: flex;
  gap: 0.125rem;
}

.lv-job-rating-star {
  font-size: 1rem;
  color: #F3F4F6;
  transition: color 0.2s ease;
}
.lv-job-rating-star.active {
  color: #1A1A1A;
}

.lv-job-rating-disc {
  padding-top: 1.25rem;
  margin-top: 1.25rem;
}

.lv-job-rating-disc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.lv-job-rating-disc-header .lv-job-rating-criteria-title {
  margin-bottom: 0;
}

.lv-job-rating-disc-link {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.2s ease;
}
.lv-job-rating-disc-link:hover {
  color: #1A1A1A;
  text-decoration: underline;
}
.lv-job-rating-disc-link svg {
  width: 0.875rem;
  height: 0.875rem;
}

.lv-job-rating-disc-profiles {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.lv-job-rating-disc-profile-item {
  flex: 1;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lv-job-rating-disc-profile-label {
  font-size: 0.625rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lv-job-rating-disc-profile-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
}
.lv-job-rating-disc-profile-value.secondary {
  color: #6B7280;
}

.lv-job-rating-disc-description {
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 0.875rem;
  margin-bottom: 1.25rem;
}
.lv-job-rating-disc-description p {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #4B5563;
  margin: 0;
}

.lv-job-rating-disc-traits {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.lv-job-rating-disc-trait-box {
  flex: 1;
}
.lv-job-rating-disc-trait-box.strengths .lv-job-rating-disc-trait-list li::before {
  background: #1A1A1A;
}
.lv-job-rating-disc-trait-box.pitfalls .lv-job-rating-disc-trait-list li::before {
  background: #D1D5DB;
}

.lv-job-rating-disc-trait-title {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.625rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.lv-job-rating-disc-trait-title.strengths {
  color: #1A1A1A;
}
.lv-job-rating-disc-trait-title.pitfalls {
  color: #9CA3AF;
}

.lv-job-rating-disc-trait-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.lv-job-rating-disc-trait-list li {
  font-size: 0.8125rem;
  color: #4B5563;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1.4;
}
.lv-job-rating-disc-trait-list li::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  margin-top: 6px;
  flex-shrink: 0;
}
.lv-job-rating-disc-trait-list li svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 2px;
}
.lv-job-rating-disc-trait-list li strong {
  font-weight: 600;
}

.lv-job-rating-disc-relations {
  margin-bottom: 1.25rem;
}
.lv-job-rating-disc-relations p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #4B5563;
}

.lv-job-rating-disc-relations-title {
  font-size: 0.625rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.lv-job-rating-disc-relations-grid {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.lv-job-rating-disc-relation-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
}

.lv-job-rating-disc-relation-letter {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #FFFFFF;
  flex-shrink: 0;
  background: #1A1A1A;
}
.lv-job-rating-disc-relation-letter.letter-d {
  background: #1A1A1A;
}
.lv-job-rating-disc-relation-letter.letter-i {
  background: #6B7280;
}
.lv-job-rating-disc-relation-letter.letter-s {
  background: #9CA3AF;
}
.lv-job-rating-disc-relation-letter.letter-c {
  background: #D1D5DB;
  color: #1A1A1A;
}

.lv-job-rating-disc-relation-content {
  flex: 1;
  min-width: 0;
}

.lv-job-rating-disc-relation-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.lv-job-rating-disc-relation-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
}

.lv-job-rating-disc-relation-badge {
  font-size: 0.5625rem;
  font-weight: 600;
  padding: 0.125rem 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #F9FAFB;
  color: #4B5563;
  border: 1px solid #F3F4F6;
}
.lv-job-rating-disc-relation-badge.excellent {
  background: #F9FAFB;
  color: #1A1A1A;
}
.lv-job-rating-disc-relation-badge.good {
  background: #F9FAFB;
  color: #4B5563;
}
.lv-job-rating-disc-relation-badge.moderate {
  background: #F9FAFB;
  color: #6B7280;
}
.lv-job-rating-disc-relation-badge.challenging {
  background: #F9FAFB;
  color: #9CA3AF;
}

.lv-job-rating-disc-relation-desc {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #6B7280;
}

.lv-job-rating-disc-recommendations {
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 0.875rem;
}
.lv-job-rating-disc-recommendations h4 {
  font-size: 0.625rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 0.5rem 0;
}
.lv-job-rating-disc-recommendations p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #4B5563;
}

.lv-job-rating-disc-grid {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.lv-job-rating-disc-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lv-job-rating-disc-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.lv-job-rating-disc-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1A1A1A;
}

.lv-job-rating-disc-desc {
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.lv-job-rating-disc-bar-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lv-job-rating-disc-bar {
  flex: 1;
  height: 0.375rem;
  background: #F9FAFB;
  overflow: hidden;
}

.lv-job-rating-disc-bar-fill {
  height: 100%;
  background: #1A1A1A;
}

.lv-job-rating-disc-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1A1A1A;
  min-width: 2.25rem;
  text-align: right;
}

@media (max-width: 992px) {
  .lv-applicant-header-inner {
    flex-wrap: wrap;
    padding: 0.625rem 1rem;
  }
  .lv-applicant-header-left {
    flex: 1 1 100%;
    order: 1;
  }
  .lv-applicant-header-center {
    order: 3;
    flex: 1;
  }
  .lv-applicant-header-right {
    order: 2;
    flex: 1;
    justify-content: flex-end;
  }
  .lv-applicant-header-divider {
    display: none;
  }
}
@media (max-width: 768px) {
  .lv-applicant-header-inner {
    gap: 0.625rem;
  }
  .lv-applicant-header-right {
    flex: 1 1 100%;
    order: 3;
    justify-content: stretch;
  }
  .lv-applicant-header-right > * {
    flex: 1;
  }
  .lv-applicant-header-right .btn-group {
    flex: 2;
  }
  .lv-applicant-action-btn {
    justify-content: center;
    padding: 0.5rem 0.625rem;
  }
  .lv-applicant-action-btn span {
    display: none;
  }
  .lv-applicant-action-btn--move span {
    display: inline;
  }
  .lv-resume-profile-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .lv-resume-contact-info {
    justify-content: center;
  }
  .lv-resume-action-buttons {
    justify-content: center;
  }
  .lv-app-resume-communication-buttons,
  .lv-app-resume-action-buttons,
  .lv-app-resume-secondary-actions {
    flex-direction: column;
  }
  .lv-app-resume-btn-communication,
  .lv-app-resume-btn-action,
  .lv-app-resume-btn-secondary-action {
    width: 100%;
    justify-content: center;
  }
  .btn-group {
    width: 100%;
    display: flex;
  }
  .lv-app-resume-btn-action.lv-app-resume-btn-move-stage {
    flex: 1;
  }
  .lv-app-resume-stage-badge {
    font-size: 0.75rem;
  }
  .lv-job-rating-header {
    flex-direction: column;
    gap: 20px;
  }
  .lv-job-rating-disc-profiles {
    flex-direction: column;
    gap: 8px;
  }
  .lv-job-rating-disc-traits {
    flex-direction: column;
    gap: 16px;
  }
}
@media (max-width: 576px) {
  .lv-applicant-header-name {
    font-size: 0.875rem;
  }
  .lv-applicant-nav-btn span {
    display: none;
  }
  .lv-applicant-action-btn {
    padding: 6px 8px;
    font-size: 0.75rem;
  }
  .lv-app-resume-communication-section,
  .lv-app-resume-actions-section {
    margin-top: 16px;
    padding-top: 12px;
  }
  .lv-app-resume-communication-section {
    padding: 12px;
  }
  .lv-app-resume-section-label {
    font-size: 0.688rem;
    margin-bottom: 8px;
  }
  .lv-app-resume-btn-communication,
  .lv-app-resume-btn-action {
    font-size: 0.75rem;
    padding: 6px 10px;
  }
  .lv-app-resume-stage-info {
    font-size: 0.75rem;
  }
}
.rejection-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.rejection-card-header {
  background: #F9FAFB;
  color: #1A1A1A;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
}

.rejection-card-header-icon {
  font-size: 1.125rem;
  color: #6B7280;
}

.rejection-card-header-title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.rejection-card-body {
  padding: 1.25rem;
}

.rejection-card-section {
  margin-bottom: 1.25rem;
}

.rejection-card-section:last-child {
  margin-bottom: 0;
}

.rejection-card-label {
  font-size: 0.625rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.rejection-card-value {
  font-size: 0.8125rem;
  color: #4B5563;
  line-height: 1.5;
}

.rejection-card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

.rejection-card-divider {
  height: 1px;
  background: #F3F4F6;
  margin: 1rem 0;
}

.rejection-card-recruiter {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
}

.rejection-card-avatar {
  width: 2.5rem;
  height: 2.5rem;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.rejection-card-recruiter-info {
  flex: 1;
}

.rejection-border {
  border-bottom: 3px solid #D1D5DB !important;
}

.withdrawal-border {
  border-bottom: 3px solid #97a0af !important;
}

.approved-border {
  border-bottom: 3px solid #349422 !important;
}

.lv-applicant-approved-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #349422;
  color: #FFFFFF;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-applicant-approved-badge i {
  font-size: 0.8125rem;
}

.rejection-card-recruiter-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.125rem;
}

.rejection-card-recruiter-role {
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.lv-nav-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-resume-action-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-left: 1.25rem;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #F3F4F6;
}

.lv-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-badge--pcd {
  background: rgba(236, 72, 153, 0.1);
  color: #db2777;
  border: 1px solid rgba(236, 72, 153, 0.2);
}
.lv-badge--pcd i {
  font-size: 0.625rem;
}
.lv-badge--origin {
  background: #F9FAFB;
  color: #4B5563;
  border: 1px solid #F3F4F6;
}

.lv-panel {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
}
.lv-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FAFAFA;
}
.lv-panel__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-panel__title i {
  font-size: 0.875rem;
  color: #9CA3AF;
}
.lv-panel__body {
  padding: 1rem;
}

.lv-resume-profile-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 0;
}

.lv-resume-profile-name {
  font-size: 1.375rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.lv-resume-profile-title {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.25rem;
}

.lv-resume-profile-update {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.lv-resume-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #4B5563;
}
.lv-resume-contact-item i {
  color: #D1D5DB;
  font-size: 0.875rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.lv-resume-contact-address {
  display: flex;
  flex-wrap: wrap;
  gap: 0.125rem;
}

.lv-resume-cv-section {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  padding: 1.25rem;
  margin-bottom: 1rem;
  margin-top: 0;
}

.lv-resume-cv-section-title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1A1A1A;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #F3F4F6;
}

.lv-resume-info-label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

.lv-resume-info-value {
  font-size: 0.875rem;
  color: #374151;
  line-height: 1.5;
}

.lv-resume-experience-item {
  border-left: 2px solid #F3F4F6;
  padding-left: 1.25rem;
  position: relative;
}
.lv-resume-experience-item::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #1A1A1A;
  border: 2px solid #FFFFFF;
}

.lv-resume-experience-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
}

.lv-resume-experience-company {
  font-size: 0.8125rem;
  color: #6B7280;
  margin-bottom: 0.25rem;
}

.lv-resume-experience-period {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
}

.lv-resume-experience-description {
  font-size: 0.8125rem;
  color: #4B5563;
  line-height: 1.6;
}

.lv-resume-skill-tag {
  padding: 0.375rem 0.625rem;
  background-color: #F9FAFB;
  border: 1px solid #F3F4F6;
  border-radius: 0;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

.lv-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}
.lv-empty-state-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9FAFB;
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
}
.lv-empty-state-icon i {
  font-size: 1.25rem;
  color: #D1D5DB;
}
.lv-empty-state-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  margin-bottom: 0.25rem;
}
.lv-empty-state-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  max-width: 280px;
}

.lv-tabs {
  border-top: 1px solid #F3F4F6;
}

.lv-tab-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  background: #FAFAFA;
  border-bottom: 1px solid #F3F4F6;
}
.lv-tab-nav li {
  margin: 0;
}

.lv-tab-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.lv-tab-link i {
  font-size: 0.8125rem;
}
.lv-tab-link:hover {
  color: #1A1A1A;
  background: #FFFFFF;
}
.lv-tab-link.active {
  color: #349422;
  background: #FFFFFF;
  border-bottom-color: #349422;
  font-weight: 600;
}

.lv-tab-content {
  display: none;
}
.lv-tab-content.active {
  display: block;
}

.lv-applicant-view-header {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1.25rem;
}
.lv-applicant-view-header__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.lv-applicant-view-header__profile {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.lv-applicant-view-header__profile .lv-resume-profile-avatar {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
}
.lv-applicant-view-header__info {
  min-width: 0;
}
.lv-applicant-view-header__info .lv-resume-profile-name {
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
}
.lv-applicant-view-header__info .lv-resume-profile-title {
  margin-bottom: 0;
}
.lv-applicant-view-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.lv-applicant-view-header__details {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  padding-top: 0.875rem;
  border-top: 1px solid #F3F4F6;
}
.lv-applicant-view-header__detail-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  color: #6B7280;
}
.lv-applicant-view-header__detail-item i {
  font-size: 0.875rem;
  color: #D1D5DB;
}
.lv-applicant-view-header__detail-item a {
  color: #6B7280;
  text-decoration: none;
}
.lv-applicant-view-header__detail-item a:hover {
  text-decoration: underline;
}
.lv-applicant-view-header__detail-item--whatsapp i {
  color: #25d366;
}
.lv-applicant-view-header__detail-item--whatsapp a:hover {
  color: #128c7e;
}

.lv-center-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
}

.lv-right-sidebar-sticky {
  position: sticky;
  top: 5.5rem;
  height: calc(100vh - 6rem);
  display: flex;
  flex-direction: column;
}

.lv-attachment-panel--permanent {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
}
.lv-attachment-panel--permanent .lv-attachment-panel__header {
  flex-shrink: 0;
}
.lv-attachment-panel--permanent .lv-attachment-panel__notice {
  flex-shrink: 0;
}
.lv-attachment-panel--permanent .lv-attachment-panel__viewer {
  flex: 1;
  min-height: 0;
}
.lv-attachment-panel--permanent .lv-attachment-panel__iframe {
  width: 100%;
  height: 100%;
}
.lv-attachment-panel--permanent .lv-attachment-panel__empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (max-width: 991px) {
  .lv-right-sidebar-sticky {
    position: static;
    max-height: none;
    height: auto;
  }
  .lv-attachment-panel--permanent {
    min-height: 500px;
  }
  .lv-applicant-view-header__top {
    flex-direction: column;
  }
  .lv-applicant-view-header__actions {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .lv-applicant-view-header {
    padding: 0.875rem;
  }
  .lv-applicant-view-header__profile .lv-resume-profile-avatar {
    width: 48px;
    height: 48px;
  }
  .lv-applicant-view-header__info .lv-resume-profile-name {
    font-size: 1rem;
  }
  .lv-applicant-view-header__details {
    gap: 0.75rem;
  }
  .lv-applicant-view-header__detail-item {
    font-size: 0.75rem;
  }
  .lv-attachment-panel--permanent {
    min-height: 400px;
  }
}
/* Kanban/Workflow List - Salesforce Style */
/* Mantém fontes originais (Space Mono e Rubik) */
.kbn-list-header {
  margin-bottom: 1.5rem;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 4px;
  border: 1px solid #dddbda;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.kbn-list-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: #0176d3;
  z-index: 1;
}

.kbn-list-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  background-color: transparent;
  z-index: 3;
}

.kbn-list-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #080707;
  margin-bottom: 0.5rem;
  position: relative;
  display: inline-block;
}

.kbn-list-title::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 50%;
  height: 0;
  background-color: transparent;
}

.kbn-list-subtitle {
  color: #706e6b;
  font-size: 0.875rem;
  max-width: 800px;
  line-height: 1.5;
}

.kbn-list-content {
  margin-bottom: 2rem;
}

/* Barra de ações e busca */
.kbn-list-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  gap: 1rem;
  flex-wrap: wrap;
}

.kbn-list-search {
  flex: 1;
  min-width: 250px;
}

.kbn-list-search-input {
  position: relative;
  width: 100%;
}

.kbn-list-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #706e6b;
  font-size: 0.875rem;
  z-index: 2;
}

.kbn-list-search-input input {
  width: 100%;
  padding: 10px 16px 10px 40px;
  border-radius: 4px;
  border: 1px solid #dddbda;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background-color: #ffffff;
  color: #080707;
  font-size: 0.875rem;
  box-shadow: none;
  transition: all 0.15s ease;
}

.kbn-list-search-input input:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 3px #0176d3;
}

.kbn-list-search-clear {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #706e6b;
  font-size: 1rem;
  cursor: pointer;
  transition: color 0.15s ease;
  z-index: 2;
}

.kbn-list-search-clear:hover {
  color: #c23934;
}

/* Cabeçalho de seção */
.kbn-list-section {
  margin-bottom: 2.5rem;
}

.kbn-list-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 12px;
  border-bottom: 1px solid #dddbda;
}

.kbn-list-section-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #080707;
  margin: 0;
  display: flex;
  align-items: center;
}

.kbn-list-legend {
  display: flex;
  gap: 1.25rem;
}

.kbn-list-legend-item {
  display: flex;
  align-items: center;
  font-size: 0.8125rem;
  color: #706e6b;
}

.kbn-list-legend-indicator {
  width: 10px;
  height: 10px;
  border-radius: 4px;
  margin-right: 0.5rem;
}

.kbn-list-legend-active {
  background-color: #027e46;
}

.kbn-list-legend-inactive {
  background-color: #c9c7c5;
}

/* Grid e cards de workflow */
.kbn-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.25rem;
}

.kbn-list-workflow-card {
  background-color: #ffffff;
  border-radius: 4px;
  border: 1px solid #dddbda;
  padding: 20px;
  position: relative;
  overflow: hidden;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  animation: card-appear 0.4s ease both;
  animation-delay: calc(var(--card-index, 0) * 0.08s);
}

.kbn-list-workflow-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 1;
}

.kbn-list-workflow-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  background-color: transparent;
  z-index: 3;
}

.kbn-list-workflow-active::before {
  background-color: #027e46;
}

.kbn-list-workflow-inactive::before {
  background-color: #c9c7c5;
}

.kbn-list-workflow-card:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-color: #c9c7c5;
}

/* Cabeçalho do card */
.kbn-list-workflow-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.kbn-list-workflow-title-container {
  flex: 1;
}

.kbn-list-workflow-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #080707;
  margin: 0 0 0.5rem 0;
}

.kbn-list-status-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  border: 1px solid;
}

.kbn-list-status-badge-active {
  background-color: #d0f0e3;
  color: #027e46;
  border-color: #027e46;
}

.kbn-list-status-badge-inactive {
  background-color: #ecebea;
  color: #706e6b;
  border-color: #c9c7c5;
}

.kbn-list-workflow-actions {
  display: flex;
  gap: 6px;
}

.kbn-list-btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1px solid #dddbda;
  color: #706e6b;
  cursor: pointer;
  transition: all 0.15s ease;
}

.kbn-list-edit-btn:hover {
  background-color: #f3f8fe;
  border-color: #0176d3;
  color: #0176d3;
}

.kbn-list-delete-btn:hover {
  background-color: #feded8;
  border-color: #c23934;
  color: #c23934;
}

/* Steps do workflow */
.kbn-list-workflow-steps {
  position: relative;
  padding-left: 10px;
}

.kbn-list-workflow-steps-list {
  position: relative;
  z-index: 2;
}

.kbn-list-workflow-step {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.875rem;
  position: relative;
}

.kbn-list-workflow-step:last-child {
  margin-bottom: 0;
}

.kbn-list-step-marker {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background-color: #0176d3;
  border: 1px solid #014486;
  margin-right: 0.875rem;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  transition: transform 0.15s ease;
}

.kbn-list-workflow-card:hover .kbn-list-step-marker {
  animation: none;
}

.kbn-list-step-content {
  flex: 1;
  padding-top: 0;
}

.kbn-list-step-name {
  font-family: "Rubik", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #3e3e3c;
}

.kbn-list-workflow-progress {
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 16px;
  width: 1px;
  z-index: 1;
}

.kbn-list-progress-line {
  position: absolute;
  width: 1px;
  top: 0;
  bottom: 0;
  left: 0;
  background: #ecebea;
  animation: none;
}

/* Fluxo padrão */
.kbn-list-workflow-card-default {
  border-color: #0176d3;
  background-color: #f3f8fe;
}

.kbn-list-workflow-card-default::before {
  background-color: #0176d3;
}

.kbn-list-default-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background-color: #0176d3;
  color: white;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-right: 0.5rem;
  box-shadow: none;
}

/* Efeito scanline no fluxo padrão */
.kbn-list-workflow-card-default::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  background-size: 0;
  pointer-events: none;
  z-index: 4;
}

/* Empty state */
.kbn-list-empty-state {
  background-color: #ffffff;
  border-radius: 4px;
  border: 1px solid #dddbda;
  padding: 2.5rem;
  text-align: center;
  margin: 2rem 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.kbn-list-empty-icon {
  font-size: 3rem;
  color: #c9c7c5;
  margin-bottom: 1rem;
}

.kbn-list-empty-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.125rem;
  color: #080707;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.kbn-list-empty-description {
  color: #706e6b;
  max-width: 400px;
  margin: 0 auto;
  font-size: 0.875rem;
}

/* Animação de aparecer do card */
@keyframes card-appear {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Responsividade */
@media (max-width: 768px) {
  .kbn-list-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .kbn-list-header {
    padding: 16px;
  }
  .kbn-list-title {
    font-size: 1.25rem;
  }
  .kbn-list-section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .kbn-list-legend {
    flex-wrap: wrap;
  }
  .kbn-list-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .kbn-list-search {
    width: 100%;
  }
}
.home-dashboard {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 32px;
  background: #FFFFFF;
}

.home-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 32px;
  border-bottom: 1px solid #E5E7EB;
}
.home-header__text {
  display: flex;
  flex-direction: column;
}
.home-header__eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #9CA3AF;
  margin: 0 0 8px 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-header__title {
  font-size: 36px;
  font-weight: 400;
  color: #1A1A1A;
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.2;
}
.home-header__subtitle {
  font-size: 15px;
  color: #6B7280;
  margin: 8px 0 0 0;
  font-weight: 400;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-header__actions {
  flex-shrink: 0;
}

.home-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
  line-height: 1;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-btn--primary {
  background: #1A1A1A;
  color: #FFFFFF;
}
.home-btn--primary:hover {
  background: #374151;
  color: #FFFFFF;
  text-decoration: none;
}
.home-btn--sm {
  padding: 8px 16px;
  font-size: 13px;
}

.home-metrics {
  display: flex;
  border-bottom: 1px solid #E5E7EB;
}

.home-metric {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 0;
  text-decoration: none;
  transition: opacity 0.2s ease;
  position: relative;
}
.home-metric:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 32px;
  bottom: 32px;
  width: 1px;
  background: #E5E7EB;
}
.home-metric:not(:first-child) {
  padding-left: 32px;
}
.home-metric:hover {
  text-decoration: none;
  opacity: 0.7;
}
.home-metric__value {
  font-size: 42px;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-metric__label {
  font-size: 13px;
  color: #6B7280;
  margin-top: 8px;
  font-weight: 500;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-metric__delta {
  font-size: 12px;
  color: #349422;
  font-weight: 600;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 2px;
}
.home-metric__delta i {
  font-size: 14px;
}

.home-content {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 0;
}
.home-content__main {
  border-right: 1px solid #E5E7EB;
  padding-right: 32px;
}
.home-content__sidebar {
  padding-left: 32px;
}

.home-section {
  padding: 32px 0;
  border-bottom: 1px solid #E5E7EB;
}
.home-section:last-child {
  border-bottom: none;
}
.home-section__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 24px;
}
.home-section__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #1A1A1A;
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-section__link {
  font-size: 13px;
  color: #349422;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}
.home-section__link:hover {
  color: #2a7a1b;
}
.home-section--tips {
  border-bottom: none;
}

.home-action-list {
  display: flex;
  flex-direction: column;
}

.home-action-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  margin: 0;
  text-decoration: none;
  border: none;
  border-radius: 0;
  background: transparent;
  width: 100%;
  text-align: left;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  border-bottom: 1px solid #F3F4F6;
  transition: all 0.15s ease;
}
.home-action-item:last-child {
  border-bottom: none;
}
.home-action-item:hover {
  text-decoration: none;
  background: transparent;
}
.home-action-item:hover .home-action-item__title {
  color: #349422;
}
.home-action-item:hover .home-action-item__arrow {
  transform: translateX(4px);
  color: #349422;
}
.home-action-item:focus {
  outline: none;
  box-shadow: none;
}
.home-action-item__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: #1A1A1A;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-action-item__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.home-action-item__title {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  transition: color 0.15s ease;
}
.home-action-item__description {
  font-size: 13px;
  color: #6B7280;
}
.home-action-item__arrow {
  color: #9CA3AF;
  font-size: 14px;
  transition: all 0.15s ease;
}
.home-action-item--high .home-action-item__count {
  background: #EF4444;
}
.home-action-item--medium .home-action-item__count {
  background: #F59E0B;
}
.home-action-item--low .home-action-item__count {
  background: #349422;
}

.home-action-modal {
  border: none;
  border-radius: 0;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.15);
}
.home-action-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 24px 0;
}
.home-action-modal__header h3 {
  font-size: 15px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-action-modal__close {
  background: none;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  padding: 4px;
  font-size: 16px;
}
.home-action-modal__close:hover {
  color: #1A1A1A;
}
.home-action-modal__body {
  padding: 16px 24px 24px;
}
.home-action-modal__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 32px 0;
  color: #9CA3AF;
  font-size: 13px;
}
.home-action-modal__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 32px 0;
  color: #9CA3AF;
  font-size: 13px;
}
.home-action-modal__empty i {
  font-size: 18px;
}
.home-action-modal__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.home-action-modal__item {
  border-bottom: 1px solid #F3F4F6;
}
.home-action-modal__item:last-child {
  border-bottom: none;
}
.home-action-modal__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  text-decoration: none;
  transition: all 0.15s ease;
}
.home-action-modal__link:hover {
  text-decoration: none;
}
.home-action-modal__link:hover .home-action-modal__name {
  color: #349422;
}
.home-action-modal__link:hover .home-action-modal__arrow {
  transform: translateX(4px);
  color: #349422;
}
.home-action-modal__icon {
  font-size: 16px;
  color: #9CA3AF;
  flex-shrink: 0;
}
.home-action-modal__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.home-action-modal__name {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  transition: color 0.15s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-action-modal__meta {
  font-size: 12px;
  color: #9CA3AF;
}
.home-action-modal__arrow {
  color: #D1D5DB;
  font-size: 13px;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.home-action-modal__badge {
  font-size: 11px;
  font-weight: 600;
  color: #FFFFFF;
  background: #349422;
  padding: 3px 10px;
  flex-shrink: 0;
}
.home-action-modal__link--interactive {
  cursor: pointer;
}
.home-action-modal__link--interactive:hover .home-action-modal__badge {
  background: #2a7a1b;
}

.home-feedback-form {
  padding: 12px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-feedback-form__label {
  font-size: 11px;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.home-feedback-form__event {
  border-bottom: 1px solid #F3F4F6;
  padding-bottom: 12px;
}
.home-feedback-form__event-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.home-feedback-form__event-header > i {
  font-size: 16px;
  color: #9CA3AF;
  margin-top: 2px;
}
.home-feedback-form__event-title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
}
.home-feedback-form__event-meta {
  display: block;
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 2px;
}
.home-feedback-form__participants {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-feedback-form__participant {
  display: flex;
  align-items: center;
  gap: 10px;
}
.home-feedback-form__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.home-feedback-form__participant-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.home-feedback-form__participant-name {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A1A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-feedback-form__participant-email {
  font-size: 12px;
  color: #9CA3AF;
}
.home-feedback-form__rating {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-feedback-form__stars {
  display: flex;
  gap: 4px;
}
.home-feedback-form__star {
  font-size: 22px;
  color: #E5E7EB;
  cursor: pointer;
  transition: color 0.1s ease;
}
.home-feedback-form__star:hover, .home-feedback-form__star:hover ~ .home-feedback-form__star {
  color: #E5E7EB;
}
.home-feedback-form__star--active {
  color: #f59e0b;
}
.home-feedback-form__star--saved {
  font-size: 13px;
  color: #f59e0b;
}
.home-feedback-form__stars:hover .home-feedback-form__star {
  color: #f59e0b;
}
.home-feedback-form__stars .home-feedback-form__star:hover ~ .home-feedback-form__star {
  color: #E5E7EB;
}
.home-feedback-form__comment {
  width: 100%;
  border: 1px solid #E5E7EB;
  padding: 10px 12px;
  font-size: 13px;
  font-family: inherit;
  resize: none;
  outline: none;
}
.home-feedback-form__comment:focus {
  border-color: #1A1A1A;
}
.home-feedback-form__comment::placeholder {
  color: #D1D5DB;
}
.home-feedback-form__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.home-feedback-form__cancel {
  padding: 6px 16px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #6B7280;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.home-feedback-form__cancel:hover {
  border-color: #9CA3AF;
}
.home-feedback-form__save {
  padding: 6px 16px;
  border: none;
  background: #1A1A1A;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.home-feedback-form__save:hover {
  background: #374151;
}
.home-feedback-form__save:disabled {
  background: #E5E7EB;
  cursor: not-allowed;
}

.home-list {
  display: flex;
  flex-direction: column;
}

.home-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid #F3F4F6;
  text-decoration: none;
  transition: all 0.15s ease;
}
.home-list-item:last-child {
  border-bottom: none;
}
.home-list-item:hover {
  text-decoration: none;
}
.home-list-item:hover h3 {
  color: #349422;
}
.home-list-item:hover .home-list-item__arrow,
.home-list-item:hover .home-list-item__action {
  color: #349422;
}
.home-list-item:hover .home-list-item__arrow {
  transform: translateX(4px);
}
.home-list-item__content {
  flex: 1;
  min-width: 0;
}
.home-list-item__content h3 {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  transition: color 0.15s ease;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-list-item__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  margin-bottom: 4px;
}
.home-list-item__badge--warning {
  background: #FEF3C7;
  color: #B45309;
}
.home-list-item__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 4px;
}
.home-list-item__meta i {
  font-size: 12px;
}
.home-list-item__action {
  font-size: 13px;
  font-weight: 600;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.home-list-item__action i {
  font-size: 12px;
}
.home-list-item__arrow {
  color: #9CA3AF;
  font-size: 14px;
  transition: all 0.15s ease;
}

.home-interview-list {
  display: flex;
  flex-direction: column;
}

.home-interview {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #F3F4F6;
}
.home-interview:last-child {
  border-bottom: none;
}
.home-interview--today {
  background: #FEF3C7;
  margin: 0 -12px;
  padding: 12px;
}
.home-interview--today .home-interview__time {
  color: #B45309;
  font-weight: 600;
}
.home-interview__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.home-interview__avatar span {
  font-size: 12px;
  font-weight: 700;
  color: #FFFFFF;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-interview__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.home-interview__content strong {
  font-size: 13px;
  color: #1A1A1A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-interview__content > span {
  font-size: 12px;
  color: #6B7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-interview__time {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #9CA3AF;
}
.home-interview__time i {
  font-size: 11px;
}
.home-interview__link {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  border: 1px solid #E5E7EB;
  text-decoration: none;
  flex-shrink: 0;
}
.home-interview__link:hover {
  color: #1A1A1A;
  border-color: #1A1A1A;
  text-decoration: none;
}
.home-interview__link i {
  font-size: 14px;
}

.home-tip {
  padding: 12px 0;
  border-bottom: 1px solid #F3F4F6;
}
.home-tip:last-child {
  border-bottom: none;
}
.home-tip strong {
  display: block;
  font-size: 13px;
  color: #1A1A1A;
  margin-bottom: 4px;
}
.home-tip p {
  font-size: 12px;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

.home-empty-state {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 0;
}
.home-empty-state > i {
  font-size: 24px;
  color: #349422;
}
.home-empty-state h3 {
  font-size: 15px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.home-empty-state p {
  font-size: 13px;
  color: #6B7280;
  margin: 0;
}

@media (max-width: 1024px) {
  .home-content {
    grid-template-columns: 1fr;
  }
  .home-content__main {
    border-right: none;
    padding-right: 0;
  }
  .home-content__sidebar {
    padding-left: 0;
    border-top: 1px solid #E5E7EB;
  }
}
@media (max-width: 768px) {
  .home-dashboard {
    padding: 24px 16px;
  }
  .home-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .home-header__title {
    font-size: 28px;
  }
  .home-metrics {
    flex-wrap: wrap;
  }
  .home-metric {
    flex: 1 1 calc(50% - 16px);
    min-width: 120px;
    padding: 24px 0;
  }
  .home-metric:not(:last-child)::after {
    display: none;
  }
  .home-metric:not(:first-child) {
    padding-left: 24px;
  }
  .home-metric__value {
    font-size: 32px;
  }
}
@media (max-width: 480px) {
  .home-metric {
    flex: 1 1 100%;
  }
  .home-metric:not(:first-child) {
    padding-left: 0;
    border-top: 1px solid #F3F4F6;
  }
}
/* Cores corporativas - sem variáveis, valores estáticos */
/* Container principal */
.checkout-container {
  background: #f3f2f2;
  min-height: 100vh;
  padding: 2rem 0;
  /* Form groups - SCOPED to checkout-container */
  /* Seções do formulário */
}
.checkout-container .form-group {
  margin-bottom: 1.5rem;
}
.checkout-container .form-label {
  font-weight: 600;
  color: #3e3e3c;
  margin-bottom: 0.5rem;
  display: block;
  font-size: 0.9rem;
}
.checkout-container .form-input {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid #dddbda;
  border-radius: 0;
  background: #ffffff;
  font-size: 0.95rem;
  color: #181818;
  transition: all 0.2s ease;
}
.checkout-container .form-input:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.1);
}
.checkout-container .form-input:disabled {
  background: #f3f2f2;
  color: #706e6b;
  cursor: not-allowed;
}
.checkout-container .form-select {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid #dddbda;
  border-radius: 0;
  background: #ffffff;
  font-size: 0.95rem;
  color: #181818;
  transition: all 0.2s ease;
}
.checkout-container .form-select:focus {
  outline: none;
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.1);
}
.checkout-container .form-section {
  background: #ffffff;
  border: 1px solid #dddbda;
  border-radius: 0;
  padding: 2rem;
  margin-bottom: 1.5rem;
}
.checkout-container .form-section-title {
  font-weight: 600;
  color: #181818;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #dddbda;
}

/* Card de resumo */
.summary-card {
  background: #ffffff;
  border: 1px solid #dddbda;
  border-radius: 0;
  position: sticky;
  top: 2rem;
  overflow: hidden;
}

.summary-card-header {
  background: #f3f2f2;
  color: #181818;
  font-weight: 600;
  padding: 1.5rem;
  border-bottom: 2px solid #dddbda;
  font-size: 1.1rem;
}

.summary-card-body {
  padding: 1.5rem;
}

/* Quantidade adjustable */
.quantity-adjuster {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0;
  justify-content: center;
}

.quantity-btn {
  background: #ffffff;
  border: 1px solid #dddbda;
  border-radius: 0;
  color: #3e3e3c;
  font-weight: 600;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 1.25rem;
}

.quantity-btn:hover {
  background: #e8f5e4;
  border-color: #349422;
  color: #349422;
}

.quantity-btn:active {
  transform: scale(0.95);
}

.quantity-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.quantity-input {
  width: 120px;
  text-align: center;
  font-weight: 600;
  font-size: 1.25rem;
  padding: 0.5rem;
  border: 1px solid #dddbda;
  border-radius: 0;
}

/* Botões */
.btn-corporate {
  background: #349422;
  border: 1px solid #349422;
  border-radius: 0;
  color: #ffffff;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  transition: all 0.2s ease;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
}

.btn-corporate:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
  color: #ffffff;
  text-decoration: none;
}

.btn-corporate:active {
  transform: scale(0.98);
}

.btn-corporate:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-secondary {
  background: #ffffff;
  border: 1px solid #dddbda;
  color: #3e3e3c;
}

.btn-secondary:hover {
  background: #f3f2f2;
  border-color: #706e6b;
  color: #181818;
}

.btn-outline {
  background: #ffffff;
  border: 1px solid #349422;
  color: #349422;
}

.btn-outline:hover {
  background: #349422;
  color: #ffffff;
}

.btn-large {
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 600;
}

.btn-full-width {
  width: 100%;
}

/* Badge para créditos */
.credit-badge {
  background: #e8f5e4;
  color: #2a7a1b;
  border: 1px solid #349422;
  border-radius: 0;
  padding: 0.5rem 1rem;
  font-weight: 600;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Preço destacado */
.price-display {
  font-weight: 700;
  color: #349422;
  font-size: 2rem;
  line-height: 1;
}

.price-label {
  font-size: 0.875rem;
  color: #706e6b;
  font-weight: 400;
}

/* Input groups */
.input-group-corporate {
  display: flex;
  gap: 1rem;
}

.input-group-corporate .form-input {
  flex: 1;
}

/* Stripe Payment Container */
.stripe-payment-container {
  background: #ffffff;
  padding: 1.5rem;
  border-radius: 0;
  border: 1px solid #dddbda;
  margin-bottom: 1.5rem;
}

.stripe-payment-title {
  font-weight: 600;
  color: #181818;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

#card-element {
  background: #ffffff;
  border: 1px solid #dddbda;
  border-radius: 0;
  padding: 1rem;
  transition: all 0.2s ease;
}

#card-element:hover {
  border-color: #706e6b;
}

#card-element.StripeElement--focus {
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.1);
}

#card-element.StripeElement--invalid {
  border-color: #c23934;
}

#card-element.StripeElement--complete {
  border-color: #349422;
}

#card-errors {
  color: #c23934;
  font-size: 0.875rem;
  margin-top: 0.5rem;
  font-weight: 500;
  display: none;
}

#card-errors.visible {
  display: block;
}

/* Security badge */
.security-badge {
  background: #f3f2f2;
  border: 1px solid #dddbda;
  border-left: 4px solid #349422;
  border-radius: 0;
  padding: 1rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.security-badge i {
  color: #349422;
  font-size: 1.5rem;
}

.security-badge-text {
  color: #3e3e3c;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Divider */
.payment-section-divider {
  height: 1px;
  background: #dddbda;
  border: none;
  margin: 1.5rem 0;
}

/* Summary items */
.summary-item {
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 0;
  border-bottom: 1px solid #f3f2f2;
}

.summary-item:last-child {
  border-bottom: none;
}

.summary-item-label {
  color: #706e6b;
  font-size: 0.9rem;
}

.summary-item-value {
  color: #181818;
  font-weight: 600;
  font-size: 0.9rem;
}

.summary-total {
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
  margin-top: 1rem;
  border-top: 2px solid #dddbda;
}

.summary-total-label {
  color: #181818;
  font-weight: 600;
  font-size: 1.1rem;
}

.summary-total-value {
  color: #349422;
  font-weight: 700;
  font-size: 1.5rem;
}

/* Info boxes */
.info-box {
  background: #f3f2f2;
  border: 1px solid #dddbda;
  border-radius: 0;
  padding: 1rem;
  margin-bottom: 1rem;
}

.info-box-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.info-box-icon {
  color: #349422;
  font-size: 1.25rem;
}

.info-box-title {
  font-weight: 600;
  color: #181818;
  font-size: 0.95rem;
}

.info-box-content {
  color: #706e6b;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Alert boxes */
.alert-info {
  background: #e8f5e4;
  border: 1px solid #349422;
  border-left: 4px solid #349422;
  border-radius: 0;
  padding: 1rem;
  color: #2a7a1b;
  font-size: 0.875rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.alert-info i {
  font-size: 1.25rem;
  flex-shrink: 0;
}

.alert-warning {
  background: #fff3e0;
  border: 1px solid #ff9800;
  border-left: 4px solid #ff9800;
  border-radius: 0;
  padding: 1rem;
  color: #e65100;
  font-size: 0.875rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.alert-warning i {
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* Loading state */
.loading-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid #f3f2f2;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spinner 0.8s linear infinite;
}

@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
/* Breadcrumb */
.breadcrumb-corporate {
  background: transparent;
  padding: 0;
  margin-bottom: 2rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.875rem;
}

.breadcrumb-item {
  color: #706e6b;
}

.breadcrumb-item.active {
  color: #181818;
  font-weight: 600;
}

.breadcrumb-separator {
  color: #dddbda;
}

/* Page header */
.page-header {
  background: #ffffff;
  border: 1px solid #dddbda;
  border-radius: 0;
  padding: 2rem;
  margin-bottom: 2rem;
}

.page-title {
  font-size: 1.75rem;
  font-weight: 600;
  color: #181818;
  margin: 0 0 0.5rem 0;
}

.page-subtitle {
  color: #706e6b;
  margin: 0;
  font-size: 0.95rem;
}

/* Responsive */
@media (max-width: 768px) {
  .checkout-container {
    padding: 1rem 0;
  }
  .form-section {
    padding: 1.5rem;
  }
  .summary-card {
    position: static;
    margin-top: 2rem;
  }
  .input-group-corporate {
    flex-direction: column;
  }
  .quantity-adjuster {
    gap: 0.5rem;
  }
  .quantity-input {
    width: 100px;
    font-size: 1rem;
  }
  .page-header {
    padding: 1.5rem;
  }
  .btn-large {
    padding: 0.875rem 1.5rem;
  }
}
/* Disabled state */
.disabled {
  opacity: 0.6;
  pointer-events: none;
  cursor: not-allowed;
}

/* Focus visible para acessibilidade */
*:focus-visible {
  outline: 2px solid #349422;
  outline-offset: 2px;
}

/* Checkbox e radio personalizados - SCOPED to checkout-container */
.checkout-container .form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #dddbda;
  border-radius: 0;
  cursor: pointer;
}
.checkout-container .form-check-input:checked {
  background-color: #349422;
  border-color: #349422;
}
.checkout-container .form-check-input:focus {
  border-color: #349422;
  box-shadow: 0 0 0 3px rgba(52, 148, 34, 0.1);
}
.checkout-container .form-check-label {
  color: #3e3e3c;
  font-size: 0.9rem;
  cursor: pointer;
}

/* Lista de features/benefícios */
.features-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.features-list li {
  padding: 0.5rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: #3e3e3c;
  font-size: 0.9rem;
}

.features-list li i {
  color: #349422;
  font-size: 1rem;
  margin-top: 0.125rem;
}

/* Tooltip estilo corporativo */
.tooltip-corporate {
  position: relative;
  display: inline-block;
  cursor: help;
}

.tooltip-corporate .tooltip-text {
  visibility: hidden;
  background: #181818;
  color: #ffffff;
  text-align: center;
  padding: 0.5rem 0.75rem;
  border-radius: 0;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.2s;
  font-size: 0.8rem;
  white-space: nowrap;
}

.tooltip-corporate:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}

/* DISC Test Landing Page */
/* Animated retro grid background */
.lv-disc-bg-grid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(rgba(26, 26, 26, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(26, 26, 26, 0.08) 1px, transparent 1px);
  background-size: 25px 25px;
  z-index: -2;
  animation: gridSlide 20s linear infinite;
}

@keyframes gridSlide {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(25px, 25px);
  }
}
/* Retro scan lines */
.lv-disc-scanlines {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent 0%, rgba(26, 26, 26, 0.02) 50%, transparent 100%);
  background-size: 100% 4px;
  z-index: -1;
  pointer-events: none;
  animation: scanlines 0.1s linear infinite;
}

@keyframes scanlines {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 4px;
  }
}
/* Hero Section */
.lv-disc-hero {
  padding: 100px 0;
  background: linear-gradient(135deg, #F3F4F6 0%, #F9FAFB 100%);
  position: relative;
  overflow: hidden;
  color: #1A1A1A;
}

.lv-disc-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 40%, rgba(26, 26, 26, 0.08) 50%, transparent 60%), linear-gradient(-45deg, transparent 40%, rgba(34, 197, 94, 0.08) 50%, transparent 60%);
  animation: heroGlow 4s ease-in-out infinite alternate;
}

@keyframes heroGlow {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.lv-disc-hero-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.lv-disc-hero-title {
  font-family: "Orbitron", monospace;
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 20px;
  letter-spacing: 3px;
  text-shadow: 0 0 20px rgba(26, 26, 26, 0.3), 4px 4px 0px rgba(0, 0, 0, 0.1);
  color: #1A1A1A;
  position: relative;
}

.lv-disc-hero-title::before {
  content: "> ";
  color: #1A1A1A;
  animation: blink 1.5s infinite;
}

.lv-disc-hero-title::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 4px;
  background: linear-gradient(90deg, #1A1A1A, #22C55E);
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

@keyframes blink {
  0%, 50% {
    opacity: 1;
  }
  51%, 100% {
    opacity: 0;
  }
}
.lv-disc-hero-subtitle {
  font-family: "Courier Prime", monospace;
  font-size: 1.2rem;
  margin-bottom: 40px;
  color: #1A1A1A;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
  opacity: 0.8;
}

.lv-disc-stats-container {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 60px;
  flex-wrap: wrap;
}

.lv-disc-stat-card {
  background: #FFFFFF;
  border: 2px solid #1A1A1A;
  border-radius: 0;
  padding: 25px;
  min-width: 180px;
  position: relative;
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.2);
  transition: all 0.3s ease;
  clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 15px 100%);
}

.lv-disc-stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1A1A1A, #22C55E);
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-stat-card:hover {
  transform: translateY(-5px);
  border-color: #22C55E;
  box-shadow: 4px 4px 0px rgba(34, 197, 94, 0.3);
}

.lv-disc-stat-number {
  font-family: "Orbitron", monospace;
  font-size: 2.2rem;
  font-weight: 900;
  color: #1A1A1A;
  display: block;
  text-shadow: 0 0 20px rgba(26, 26, 26, 0.3);
}

.lv-disc-stat-label {
  font-family: "Courier Prime", monospace;
  font-size: 0.85rem;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 8px;
}

/* How it works section */
.lv-disc-how-works {
  padding: 120px 0;
  background: #FFFFFF;
  position: relative;
}

.lv-disc-how-works::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #EF4444, #F59E0B, #22C55E, #1A1A1A);
}

.lv-disc-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.lv-disc-section-title {
  font-family: "Orbitron", monospace;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 80px;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  text-shadow: 0 0 20px rgba(26, 26, 26, 0.3);
}

.lv-disc-section-title::before {
  content: "[ ";
  color: #1A1A1A;
}

.lv-disc-section-title::after {
  content: " ]";
  color: #1A1A1A;
}

.lv-disc-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
  margin-bottom: 80px;
}

.lv-disc-benefit-card {
  background: linear-gradient(135deg, #FFFFFF 0%, #F3F4F6 100%);
  border: 2px solid #D1D5DB;
  border-radius: 0;
  padding: 35px;
  position: relative;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
}

.lv-disc-benefit-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #1A1A1A;
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-benefit-card:hover {
  transform: translateY(-8px);
  border-color: #1A1A1A;
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.2), 0 0 20px rgba(26, 26, 26, 0.3);
}

.lv-disc-benefit-icon {
  width: 60px;
  height: 60px;
  background: #1A1A1A;
  color: #FFFFFF;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
  font-size: 1.5rem;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1), 0 0 20px rgba(26, 26, 26, 0.4);
  clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
}

.lv-disc-benefit-title {
  font-family: "Orbitron", monospace;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.lv-disc-benefit-description {
  font-family: "Courier Prime", monospace;
  font-size: 0.95rem;
  color: #1A1A1A;
  line-height: 1.6;
  opacity: 0.8;
  margin-bottom: 20px;
}

.lv-disc-benefit-features {
  list-style: none;
  padding: 0;
}

.lv-disc-benefit-features li {
  font-family: "Courier Prime", monospace;
  font-size: 0.85rem;
  margin-bottom: 8px;
  color: #1A1A1A;
  position: relative;
  padding-left: 20px;
  opacity: 0.7;
}

.lv-disc-benefit-features li::before {
  content: ">";
  position: absolute;
  left: 0;
  color: #22C55E;
  font-weight: 700;
}

/* Question Example */
.lv-disc-example-section {
  padding: 120px 0;
  background: linear-gradient(135deg, #F3F4F6 0%, #F9FAFB 100%);
  position: relative;
}

.lv-disc-example-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.lv-disc-example-title {
  font-family: "Orbitron", monospace;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 20px rgba(26, 26, 26, 0.3);
}

.lv-disc-question-card {
  background: #FFFFFF;
  border: 3px solid #1A1A1A;
  border-radius: 0;
  padding: 40px;
  margin-bottom: 40px;
  position: relative;
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.2), 0 0 20px rgba(26, 26, 26, 0.3);
  clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}

.lv-disc-question-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #1A1A1A, #22C55E);
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-question-text {
  font-family: "Courier Prime", monospace;
  font-size: 1.1rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 35px;
  color: #1A1A1A;
  line-height: 1.6;
}

.lv-disc-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
}

.lv-disc-option-card {
  background: linear-gradient(135deg, #FFFFFF 0%, #F3F4F6 100%);
  border: 2px solid #D1D5DB;
  border-radius: 0;
  padding: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}

.lv-disc-option-card:hover {
  border-color: #1A1A1A;
  transform: translateY(-3px);
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.2), 0 0 20px rgba(26, 26, 26, 0.3);
}

.lv-disc-option-card.selected {
  border-color: #22C55E;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, #F3F4F6 100%);
  box-shadow: 4px 4px 0px rgba(34, 197, 94, 0.3), 0 0 20px rgba(34, 197, 94, 0.4);
}

.lv-disc-option-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.lv-disc-type-badge {
  width: 50px;
  height: 50px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Orbitron", monospace;
  font-size: 1.5rem;
  font-weight: 900;
  color: #FFFFFF;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2), inset 0 0 15px rgba(255, 255, 255, 0.1);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}

.lv-disc-option-d .lv-disc-type-badge {
  background: #EF4444;
  text-shadow: 0 0 20px rgba(231, 76, 60, 0.5);
}

.lv-disc-option-i .lv-disc-type-badge {
  background: #F59E0B;
  color: #FFFFFF;
  text-shadow: 0 0 20px rgba(243, 156, 18, 0.5);
}

.lv-disc-option-s .lv-disc-type-badge {
  background: #22C55E;
  text-shadow: 0 0 20px rgba(34, 197, 94, 0.5);
}

.lv-disc-option-c .lv-disc-type-badge {
  background: #1A1A1A;
  text-shadow: 0 0 20px rgba(26, 26, 26, 0.5);
}

.lv-disc-rating-controls {
  display: flex;
  gap: 8px;
}

.lv-disc-rating-btn {
  width: 35px;
  height: 35px;
  border: 2px solid #D1D5DB;
  border-radius: 0;
  background: #FFFFFF;
  color: #1A1A1A;
  font-family: "Orbitron", monospace;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
}

.lv-disc-rating-btn:hover {
  border-color: #1A1A1A;
  background: #1A1A1A;
  color: #FFFFFF;
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-rating-btn.active {
  border-color: #22C55E;
  background: #22C55E;
  color: #FFFFFF;
  box-shadow: 0 0 20px rgba(34, 197, 94, 0.4);
}

.lv-disc-option-text {
  font-family: "Courier Prime", monospace;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #1A1A1A;
  opacity: 0.8;
}

/* CTA Section */
.lv-disc-cta-section {
  padding: 120px 0;
  background: linear-gradient(135deg, #F3F4F6 0%, #F9FAFB 100%);
  text-align: center;
  position: relative;
}

.lv-disc-cta-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.lv-disc-cta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 50px;
}

.lv-disc-cta-card {
  background: #FFFFFF;
  border: 3px solid #1A1A1A;
  border-radius: 0;
  padding: 40px 30px;
  position: relative;
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.2), 0 0 20px rgba(26, 26, 26, 0.3);
  clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
  transition: all 0.3s ease;
}

.lv-disc-cta-card:hover {
  transform: translateY(-5px);
  box-shadow: 4px 4px 0px rgba(26, 26, 26, 0.3), 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-cta-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #1A1A1A;
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

.lv-disc-cta-card.enviar::before {
  background: #1A1A1A;
}

.lv-disc-cta-card.resultados::before {
  background: #22C55E;
}

.lv-disc-cta-card.dashboard::before {
  background: #F59E0B;
}

.lv-disc-cta-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #FFFFFF;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2), 0 0 20px rgba(26, 26, 26, 0.4);
  clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
}

.lv-disc-cta-card.enviar .lv-disc-cta-icon {
  background: #1A1A1A;
}

.lv-disc-cta-card.resultados .lv-disc-cta-icon {
  background: #22C55E;
}

.lv-disc-cta-card.dashboard .lv-disc-cta-icon {
  background: #F59E0B;
}

.lv-disc-cta-title {
  font-family: "Orbitron", monospace;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 15px;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.lv-disc-cta-description {
  font-family: "Courier Prime", monospace;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 25px;
  color: #1A1A1A;
  opacity: 0.8;
}

.lv-disc-cta-btn {
  display: inline-block;
  padding: 12px 30px;
  font-family: "Orbitron", monospace;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  border-radius: 0;
  border: 2px solid;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}

.lv-disc-cta-card.enviar .lv-disc-cta-btn {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}

.lv-disc-cta-card.resultados .lv-disc-cta-btn {
  background: #22C55E;
  border-color: #22C55E;
  color: #FFFFFF;
}

.lv-disc-cta-card.dashboard .lv-disc-cta-btn {
  background: #F59E0B;
  border-color: #F59E0B;
  color: #FFFFFF;
}

.lv-disc-cta-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
  box-shadow: 0 0 20px rgba(26, 26, 26, 0.4);
}

/* Responsive Design */
@media (max-width: 768px) {
  .lv-disc-hero-title {
    font-size: 2.8rem;
  }
  .lv-disc-section-title {
    font-size: 2.2rem;
  }
  .lv-disc-stats-container {
    flex-direction: column;
    gap: 20px;
  }
  .lv-disc-options-grid {
    grid-template-columns: 1fr;
  }
  .lv-disc-nav-menu {
    flex-direction: column;
    gap: 10px;
  }
  .lv-disc-nav-container {
    flex-direction: column;
    gap: 20px;
  }
  .lv-disc-cta-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .lv-disc-hero-title {
    font-size: 2.2rem;
  }
  .lv-disc-nav-link {
    padding: 10px 15px;
    font-size: 0.8rem;
  }
}
/* Base Container */
.disc-questions-wrapper {
  min-height: 100vh;
  background-color: #F9FAFB;
}

.disc-questions-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 30px 20px;
}

/* ========================================
   HEADER
   ======================================== */
.disc-questions-header {
  background-color: #FFFFFF;
  padding: 20px 24px;
  margin-bottom: 20px;
  border-radius: 0;
  border-bottom: 1px solid #E5E7EB;
}

.disc-questions-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.disc-questions-title {
  font-size: 18px;
  font-weight: 600;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.disc-questions-title i {
  color: #1A1A1A;
  font-size: 18px;
}

.disc-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #1A1A1A;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.disc-back-link i {
  font-size: 12px;
}
.disc-back-link:hover {
  background-color: rgba(26, 26, 26, 0.08);
  border-color: rgba(26, 26, 26, 0.2);
  text-decoration: none;
  color: #1F2937;
}

/* ========================================
   INSTRUCTIONS CARD
   ======================================== */
.disc-instructions-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  margin-bottom: 20px;
  overflow: hidden;
}

.disc-instructions-header {
  background-color: #F9FAFB;
  padding: 14px 20px;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #4B5563;
}
.disc-instructions-header i {
  color: #1A1A1A;
  font-size: 16px;
}

.disc-instructions-body {
  padding: 20px;
}

.disc-instructions-text {
  font-size: 14px;
  color: #4B5563;
  margin-bottom: 12px;
  line-height: 1.5;
}

.disc-instructions-list {
  margin: 0 0 20px 0;
  padding-left: 20px;
}
.disc-instructions-list li {
  font-size: 13px;
  color: #6B7280;
  margin-bottom: 6px;
  line-height: 1.5;
}
.disc-instructions-list li strong {
  color: #1A1A1A;
  font-weight: 600;
}

/* Legend */
.disc-legend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid #F3F4F6;
}

.disc-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.disc-legend-badge {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: #FFFFFF;
}

.disc-legend-d .disc-legend-badge {
  background-color: #c23934;
}

.disc-legend-i .disc-legend-badge {
  background-color: #fe9339;
}

.disc-legend-s .disc-legend-badge {
  background-color: #04844b;
}

.disc-legend-c .disc-legend-badge {
  background-color: #0176d3;
}

.disc-legend-text {
  font-size: 13px;
  color: #4B5563;
  font-weight: 500;
}

/* ========================================
   TABLE CARD
   ======================================== */
.disc-questions-table-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  overflow: hidden;
}

.disc-questions-table-header {
  background-color: #F9FAFB;
  padding: 14px 20px;
  border-bottom: 1px solid #E5E7EB;
}

.disc-table-count {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6B7280;
  font-weight: 500;
}
.disc-table-count i {
  color: #9CA3AF;
  font-size: 14px;
}

.disc-questions-table-wrapper {
  overflow-x: auto;
}

/* ========================================
   TABLE STYLES
   ======================================== */
.disc-questions-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 900px;
}
.disc-questions-table thead tr {
  background-color: #F9FAFB;
}
.disc-questions-table thead th {
  padding: 14px 16px;
  font-weight: 600;
  color: #4B5563;
  text-align: left;
  border-bottom: 1px solid #E5E7EB;
  white-space: nowrap;
}
.disc-questions-table thead th.scenario-col {
  width: 25%;
  min-width: 200px;
  background-color: #F3F4F6;
}
.disc-questions-table thead th.option-col {
  text-align: center;
  vertical-align: middle;
}
.disc-questions-table thead th.option-d {
  background-color: rgba(194, 57, 52, 0.08);
}
.disc-questions-table thead th.option-i {
  background-color: rgba(254, 147, 57, 0.08);
}
.disc-questions-table thead th.option-s {
  background-color: rgba(4, 132, 75, 0.08);
}
.disc-questions-table thead th.option-c {
  background-color: rgba(1, 118, 211, 0.08);
}
.disc-questions-table tbody tr {
  border-bottom: 1px solid #E5E7EB;
  transition: background-color 0.15s ease;
}
.disc-questions-table tbody tr:last-child {
  border-bottom: none;
}
.disc-questions-table tbody tr:hover {
  background-color: #F9FAFB;
}
.disc-questions-table tbody tr.row-selected {
  background-color: rgba(26, 26, 26, 0.04);
}

/* Column Badges */
.col-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  color: #FFFFFF;
  margin-right: 8px;
  vertical-align: middle;
}

.badge-d {
  background-color: #c23934;
}

.badge-i {
  background-color: #fe9339;
}

.badge-s {
  background-color: #04844b;
}

.badge-c {
  background-color: #0176d3;
}

/* Scenario Cell */
.scenario-cell {
  padding: 16px;
  background-color: #FAFAFA;
  border-right: 2px solid #E5E7EB;
  vertical-align: top;
}

.scenario-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background-color: #1A1A1A;
  color: #FFFFFF;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  margin-right: 12px;
  flex-shrink: 0;
}

.scenario-text {
  color: #1A1A1A;
  font-weight: 500;
  line-height: 1.5;
}

/* Option Cells */
.option-cell {
  padding: 14px 16px;
  text-align: center;
  border-right: 1px solid #F3F4F6;
  vertical-align: top;
}
.option-cell:last-child {
  border-right: none;
}

.option-cell-d {
  background-color: rgba(194, 57, 52, 0.03);
}

.option-cell-i {
  background-color: rgba(254, 147, 57, 0.03);
}

.option-cell-s {
  background-color: rgba(4, 132, 75, 0.03);
}

.option-cell-c {
  background-color: rgba(1, 118, 211, 0.03);
}

.option-text {
  color: #4B5563;
  line-height: 1.5;
  font-size: 13px;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .disc-questions-container {
    padding: 16px;
  }
  .disc-questions-title-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }
  .disc-legend {
    flex-direction: column;
    gap: 12px;
  }
  .disc-questions-table {
    font-size: 12px;
  }
  .scenario-cell {
    padding: 12px;
  }
  .option-cell {
    padding: 10px 8px;
  }
  .scenario-number {
    width: 20px;
    height: 20px;
    font-size: 11px;
    margin-right: 8px;
  }
}
@media (max-width: 480px) {
  .disc-questions-header {
    padding: 16px;
  }
  .disc-instructions-body {
    padding: 16px;
  }
  .disc-questions-title {
    font-size: 16px;
  }
}
/* Base Container */
.disc-page-container {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: #FAFAFA;
  min-height: 100vh;
  padding: 0;
}

.disc-dashboard-wrapper {
  min-height: 100vh;
  background-color: #F9FAFB;
}

.disc-dashboard-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 30px 20px;
}

/* ========================================
   PAGE HEADER
   ======================================== */
.disc-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 32px 32px 24px;
  background: #FFFFFF;
  border-bottom: 2px solid #1A1A1A;
}

.disc-header-content h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}
.disc-header-content p {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
}

.disc-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* ========================================
   STATS BAR
   ======================================== */
.disc-stats-bar {
  display: flex;
  gap: 32px;
  padding: 20px 32px;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

.disc-stat {
  display: flex;
  align-items: center;
  gap: 12px;
}

.disc-stat-number {
  font-size: 28px;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1;
}

.disc-stat-label {
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.disc-stat-divider {
  width: 1px;
  height: 40px;
  background: #E5E7EB;
}

/* ========================================
   SEARCH & FILTERS
   ======================================== */
.disc-filters {
  display: flex;
  gap: 16px;
  padding: 20px 32px;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  flex-wrap: wrap;
}

.disc-search {
  flex: 1;
  min-width: 280px;
  position: relative;
}
.disc-search input {
  width: 100%;
  height: 44px;
  padding: 0 16px 0 44px;
  font-family: inherit;
  font-size: 14px;
  color: #1A1A1A;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  outline: none;
  transition: border-color 0.15s;
}
.disc-search input:focus {
  border-color: #1A1A1A;
}
.disc-search input::placeholder {
  color: #9CA3AF;
}

.disc-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 14px;
}

/* ========================================
   TABLE SECTION
   ======================================== */
.disc-table-section {
  background-color: #FFFFFF;
  border-radius: 0;
  overflow: hidden;
}

.disc-table-header {
  background-color: #FFFFFF;
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  border-bottom: 1px solid #E5E7EB;
}

.disc-table-title-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
}

.disc-table-title {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.disc-table-title i {
  color: #1A1A1A;
  font-size: 18px;
}

.disc-questions-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #1A1A1A;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.disc-questions-link i {
  font-size: 12px;
}
.disc-questions-link:hover {
  background-color: rgba(26, 26, 26, 0.08);
  border-color: rgba(26, 26, 26, 0.2);
  text-decoration: none;
  color: #1F2937;
}

.disc-table-controls {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

/* Filter Pills */
.disc-filter-pills {
  display: flex;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

.disc-filter-pill {
  padding: 6px 14px;
  background: transparent;
  border: none;
  color: #6B7280;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 4px;
}
.disc-filter-pill:hover {
  color: #1A1A1A;
  background-color: rgba(26, 26, 26, 0.04);
}
.disc-filter-pill.active {
  background-color: #FFFFFF;
  color: #1A1A1A;
  box-shadow: 0 1px 2px rgba(26, 26, 26, 0.08);
}

/* Search Box */
.disc-search-box {
  position: relative;
}

.disc-search-input {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 8px 14px 8px 36px;
  font-size: 14px;
  width: 220px;
  transition: all 0.2s ease;
  color: #1A1A1A;
}
.disc-search-input::placeholder {
  color: #9CA3AF;
}
.disc-search-input:focus {
  outline: none;
  border-color: #1A1A1A;
  box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.1);
}

.disc-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 14px;
}

/* Job Filter Dropdown */
.disc-job-filter {
  position: relative;
  width: 260px;
  min-width: 260px;
  max-width: 260px;
}
.disc-job-filter .select2-container {
  width: 100% !important;
  max-width: 260px !important;
}
.disc-job-filter .select2-container--classic .select2-selection--single {
  background-color: #FFFFFF;
  background-image: none;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  height: 36px;
  width: 100%;
  display: flex;
  align-items: center;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__rendered {
  line-height: 36px;
  padding-left: 12px;
  padding-right: 50px;
  padding-top: 0;
  padding-bottom: 0;
  color: #1A1A1A;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__arrow {
  height: 36px;
  top: 0;
  right: 1px;
  width: 24px;
  background: transparent;
  border: none;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #6B7280 transparent transparent transparent;
  border-width: 5px 4px 0 4px;
  margin-top: -2px;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #9CA3AF;
  line-height: 36px;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__clear {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  line-height: 14px;
  font-size: 12px;
  color: #6B7280;
  font-weight: 400;
  padding: 0;
  margin: 0;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center;
}
.disc-job-filter .select2-container--classic .select2-selection--single .select2-selection__clear:hover {
  color: #1A1A1A;
  background: transparent !important;
}
.disc-job-filter .select2-container--classic.select2-container--open .select2-selection--single {
  border-color: #1A1A1A;
  box-shadow: 0 0 0 2px rgba(26, 26, 26, 0.15);
}
.disc-job-filter .select2-container--classic .select2-dropdown {
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.1);
  margin-top: 4px;
  width: 300px !important;
}
.disc-job-filter .select2-container--classic .select2-search--dropdown {
  padding: 8px;
}
.disc-job-filter .select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 13px;
  width: 100%;
  box-sizing: border-box;
}
.disc-job-filter .select2-container--classic .select2-search--dropdown .select2-search__field:focus {
  outline: none;
  border-color: #1A1A1A;
}
.disc-job-filter .select2-container--classic .select2-results__option {
  padding: 10px 12px;
  font-size: 13px;
}
.disc-job-filter .select2-container--classic .select2-results__option--highlighted {
  background-color: rgba(26, 26, 26, 0.1);
  color: #1A1A1A;
}
.disc-job-filter .select2-container--classic .select2-results__option[aria-selected=true] {
  background-color: #1A1A1A;
  color: #FFFFFF;
}

.disc-job-select {
  width: 100%;
}

/* Table Container */
.disc-table-container {
  padding: 0;
  background-color: #FFFFFF;
}

.disc-list-items {
  padding: 0;
}

/* ========================================
   LIST ITEM (Card Style - como Applicants)
   ======================================== */
.disc-list-item {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid #E5E7EB;
  transition: all 0.15s ease;
  background-color: #FFFFFF;
  position: relative;
}
.disc-list-item:hover {
  background-color: #F9FAFB;
}
.disc-list-item:last-child {
  border-bottom: none;
}
.disc-list-item.is-selected {
  background-color: rgba(26, 26, 26, 0.04);
  border-left: 3px solid #1A1A1A;
}

.item-checkbox {
  margin-right: 16px;
  width: 16px;
  height: 16px;
  accent-color: #1A1A1A;
  cursor: pointer;
}

.item-content {
  flex: 1;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 120px 100px auto;
  gap: 16px;
  align-items: center;
}

/* User Cell */
.disc-user-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.disc-user-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  border: 2px solid #E5E7EB;
  flex-shrink: 0;
  text-transform: uppercase;
}

.avatar-d {
  background-color: #c23934;
  border-color: rgb(220.756097561, 130.5365853659, 127.243902439);
}

.avatar-i {
  background-color: #fe9339;
  border-color: rgb(254.5125628141, 202.3567839196, 158.4874371859);
}

.avatar-s {
  background-color: #04844b;
  border-color: rgb(7, 231, 131.25);
}

.avatar-c {
  background-color: #0176d3;
  border-color: rgb(59.9245283019, 168.0943396226, 254.0754716981);
}

.avatar-0 {
  background-color: #c23934;
  border-color: rgb(220.756097561, 130.5365853659, 127.243902439);
}

.avatar-1 {
  background-color: #fe9339;
  border-color: rgb(254.5125628141, 202.3567839196, 158.4874371859);
}

.avatar-2 {
  background-color: #04844b;
  border-color: rgb(7, 231, 131.25);
}

.avatar-3 {
  background-color: #0176d3;
  border-color: rgb(59.9245283019, 168.0943396226, 254.0754716981);
}

.disc-user-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.disc-user-name {
  font-weight: 600;
  color: #1A1A1A;
  font-size: 14px;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.disc-user-email {
  font-size: 12px;
  color: #6B7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Stats Columns */
.item-stat {
  text-align: center;
}
.item-stat .stat-value {
  font-size: 14px;
  font-weight: 600;
  color: #1A1A1A;
  display: block;
  margin-bottom: 2px;
}
.item-stat .stat-label {
  font-size: 11px;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Status Badges */
.disc-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.disc-status i {
  font-size: 10px;
}

.status-completed {
  background-color: #DCFCE7;
  color: #027a48;
}
.status-completed i {
  color: #027a48;
}

.status-pending {
  background-color: #FEF3C7;
  color: #b54708;
}
.status-pending i {
  color: #b54708;
}

.status-cancelled {
  background-color: #FEE2E2;
  color: #b42318;
}
.status-cancelled i {
  color: #b42318;
}

/* Progress Bar */
.disc-progress-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.disc-progress-bar {
  width: 60px;
  height: 6px;
  background-color: #E5E7EB;
  border-radius: 3px;
  overflow: hidden;
}

.disc-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #1A1A1A, #1F2937);
  border-radius: 3px;
  transition: width 0.4s ease;
}

.disc-progress-text {
  font-size: 12px;
  font-weight: 600;
  color: #4B5563;
  min-width: 35px;
}

/* Action Buttons */
.disc-actions {
  display: flex;
  gap: 4px;
}

.disc-action-btn {
  width: 32px;
  height: 32px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  background-color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.disc-action-btn i {
  font-size: 13px;
  color: #6B7280;
  transition: color 0.15s ease;
}
.disc-action-btn:hover {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
}
.disc-action-btn:hover i {
  color: #4B5563;
}
.disc-action-btn.btn-view:hover {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
}
.disc-action-btn.btn-view:hover i {
  color: #FFFFFF;
}
.disc-action-btn.btn-reminder:hover {
  background-color: #fe9339;
  border-color: #fe9339;
}
.disc-action-btn.btn-reminder:hover i {
  color: #FFFFFF;
}
.disc-action-btn.btn-cancel:hover {
  background-color: #c23934;
  border-color: #c23934;
}
.disc-action-btn.btn-cancel:hover i {
  color: #FFFFFF;
}
.disc-action-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.disc-action-btn:disabled:hover {
  background-color: #FFFFFF;
  border-color: #E5E7EB;
}
.disc-action-btn:disabled:hover i {
  color: #6B7280;
}

/* ========================================
   PAGINATION
   ======================================== */
.disc-pagination {
  padding: 16px 24px;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}
.disc-pagination .pagination {
  margin-bottom: 8px;
}
.disc-pagination .page-item .page-link {
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 13px;
  padding: 6px 12px;
  margin: 0 2px;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.disc-pagination .page-item .page-link:hover {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
}
.disc-pagination .page-item.active .page-link {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
  color: #FFFFFF;
}
.disc-pagination .page-item.disabled .page-link {
  opacity: 0.5;
  cursor: not-allowed;
}
.disc-pagination .text-muted {
  font-size: 13px;
  color: #6B7280;
}

/* ========================================
   SELECT ALL HEADER
   ======================================== */
.select-all-header {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  background-color: #FAFAFA;
  border-bottom: 1px solid #E5E7EB;
  gap: 8px;
}
.select-all-header .item-checkbox {
  margin-right: 8px;
}
.select-all-header .form-check-label {
  font-size: 13px;
  font-weight: 500;
  color: #4B5563;
  cursor: pointer;
}
.select-all-header #selectedCount {
  font-size: 12px;
  color: #6B7280;
}

.bulk-actions-container {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.bulk-actions-container .btn {
  font-size: 12px;
  padding: 6px 12px;
}

/* ========================================
   EMPTY STATE
   ======================================== */
.disc-empty-state {
  text-align: center;
  padding: 60px 20px;
  background-color: #FFFFFF;
}
.disc-empty-state i {
  font-size: 48px;
  color: #E5E7EB;
  margin-bottom: 16px;
}
.disc-empty-state h3 {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 8px;
}
.disc-empty-state p {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 1200px) {
  .item-content {
    grid-template-columns: 2fr 1fr 1fr 100px 80px auto;
  }
  .item-stat:nth-child(2) {
    display: none;
  }
}
@media (max-width: 992px) {
  .item-content {
    grid-template-columns: 2fr 1fr 100px auto;
  }
  .item-stat:nth-child(3),
  .disc-progress-cell {
    display: none;
  }
}
@media (max-width: 768px) {
  .disc-table-header {
    flex-direction: column;
    align-items: stretch;
  }
  .disc-table-controls {
    flex-direction: column;
    width: 100%;
  }
  .disc-filter-pills {
    width: 100%;
    justify-content: center;
  }
  .disc-search-input {
    width: 100%;
  }
  .disc-list-item {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 12px;
  }
  .item-checkbox {
    position: absolute;
    top: 16px;
    right: 16px;
    margin: 0;
  }
  .item-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .disc-user-cell {
    padding-right: 40px;
  }
  .item-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 8px 0;
    border-top: 1px solid #F3F4F6;
  }
  .item-stat .stat-label {
    order: -1;
  }
  .disc-status {
    align-self: flex-start;
  }
  .disc-actions {
    justify-content: flex-end;
    padding-top: 12px;
    border-top: 1px solid #F3F4F6;
  }
  .select-all-header {
    flex-wrap: wrap;
  }
  .bulk-actions-container {
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
    justify-content: flex-end;
  }
}
/* ========================================
   SECTION TITLE (usado em outras partes)
   ======================================== */
.section-title-disc {
  font-size: 14px;
  font-weight: 700;
  color: #4B5563;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid #E5E7EB;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.section-title-disc::before {
  content: "";
  width: 4px;
  height: 20px;
  background: linear-gradient(180deg, #1A1A1A, #1F2937);
  border-radius: 2px;
}

/* ========================================
   VIEW TOGGLE
   ======================================== */
.disc-view-toggle {
  display: flex;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

.disc-view-btn {
  width: 36px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 4px;
}
.disc-view-btn i {
  font-size: 14px;
}
.disc-view-btn:hover {
  color: #1A1A1A;
  background-color: rgba(26, 26, 26, 0.04);
}
.disc-view-btn.active {
  background-color: #FFFFFF;
  color: #1A1A1A;
  box-shadow: 0 1px 2px rgba(26, 26, 26, 0.08);
}

/* ========================================
   JOBS VIEW - CARDS GRID
   ======================================== */
.disc-jobs-view {
  padding: 24px;
  background-color: #F9FAFB;
}

.disc-jobs-search-wrapper {
  margin-bottom: 20px;
}
.disc-jobs-search-wrapper .disc-search-box {
  max-width: 400px;
}
.disc-jobs-search-wrapper .disc-search-input {
  width: 100%;
}

.disc-jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.disc-job-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.disc-job-card:hover {
  border-color: #1A1A1A;
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.08);
  transform: translateY(-2px);
}
.disc-job-card.job-inactive {
  opacity: 0.75;
}
.disc-job-card.job-inactive .job-card-status {
  background-color: #FEE2E2;
  color: #b42318;
}

.job-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.job-card-title-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.job-card-id {
  font-size: 12px;
  font-weight: 600;
  color: #1A1A1A;
}

.job-card-code {
  font-size: 11px;
  color: #6B7280;
  background-color: #F3F4F6;
  padding: 2px 6px;
  border-radius: 4px;
}

.job-card-status {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 12px;
  background-color: #DCFCE7;
  color: #027a48;
}

.job-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 16px 0;
  line-height: 1.4;
}

.job-card-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid #F3F4F6;
  border-bottom: 1px solid #F3F4F6;
}

.job-stat {
  text-align: center;
}
.job-stat .job-stat-value {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1.2;
}
.job-stat .job-stat-label {
  font-size: 11px;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.job-stat.stat-completed .job-stat-value {
  color: #027a48;
}
.job-stat.stat-pending .job-stat-value {
  color: #b54708;
}
.job-stat.stat-cancelled .job-stat-value {
  color: #b42318;
}

.job-card-footer {
  padding-top: 16px;
  text-align: right;
}

.job-card-link {
  font-size: 13px;
  font-weight: 500;
  color: #1A1A1A;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.job-card-link i {
  font-size: 11px;
  transition: transform 0.2s ease;
}
.disc-job-card:hover .job-card-link i {
  transform: translateX(4px);
}

/* ========================================
   LIST VIEW HEADER
   ======================================== */
.disc-list-view {
  background-color: #FFFFFF;
}

.disc-list-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

.disc-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.disc-back-btn i {
  font-size: 12px;
}
.disc-back-btn:hover {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
}

.disc-selected-job-title {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
}

.disc-list-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  border-bottom: 1px solid #E5E7EB;
  flex-wrap: wrap;
}

/* ========================================
   RESPONSIVE FOR JOBS VIEW
   ======================================== */
@media (max-width: 768px) {
  .disc-jobs-grid {
    grid-template-columns: 1fr;
  }
  .job-card-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .disc-list-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .disc-list-controls {
    flex-direction: column;
    align-items: stretch;
  }
}
/* ========================================
   MODAL - ENVIAR AVALIAÇÃO
   ======================================== */
.disc-modal-content {
  border: none;
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(26, 26, 26, 0.15);
}

.disc-modal-header {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  padding: 20px 24px;
  border-radius: 8px 8px 0 0;
}

.disc-modal-title-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
}
.disc-modal-title-wrapper .modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
}

.disc-modal-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #1A1A1A, #1F2937);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.disc-modal-icon i {
  font-size: 20px;
  color: #FFFFFF;
}

.disc-modal-subtitle {
  font-size: 13px;
  color: #6B7280;
  margin: 4px 0 0 0;
}

.disc-modal-body {
  padding: 24px;
}

.disc-form-section {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #F3F4F6;
}
.disc-form-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.disc-form-section-title {
  font-size: 14px;
  font-weight: 600;
  color: #4B5563;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.disc-form-section-title i {
  color: #1A1A1A;
  font-size: 14px;
}

.disc-modal-body .form-label {
  font-size: 13px;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 6px;
}
.disc-modal-body .form-control {
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  transition: all 0.15s ease;
}
.disc-modal-body .form-control:focus {
  border-color: #1A1A1A;
  box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.1);
}
.disc-modal-body .form-control::placeholder {
  color: #9CA3AF;
}
.disc-modal-body .form-text {
  font-size: 12px;
  color: #6B7280;
  margin-top: 6px;
}
.disc-modal-body select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px 12px;
  padding-right: 40px;
}
.disc-modal-body textarea.form-control {
  resize: vertical;
  min-height: 80px;
}

.disc-modal-footer {
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  padding: 16px 24px;
  border-radius: 0 0 8px 8px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.disc-modal-footer .btn {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.disc-modal-footer .btn i {
  font-size: 13px;
}
.disc-modal-footer .btn-outline-secondary {
  border-color: #E5E7EB;
  color: #4B5563;
}
.disc-modal-footer .btn-outline-secondary:hover {
  background-color: #F9FAFB;
  border-color: #9CA3AF;
  color: #1A1A1A;
}
.disc-modal-footer .btn-primary {
  background-color: #1A1A1A;
  border-color: #1A1A1A;
}
.disc-modal-footer .btn-primary:hover {
  background-color: #1F2937;
  border-color: #1F2937;
}

.close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 50%;
  color: #6B7280;
  cursor: pointer;
  font-size: 14px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.close-btn:hover {
  background-color: #FAFAFA;
  border-color: #c23934;
  color: #c23934;
  transform: rotate(90deg);
}

.disc-result-header {
  background: linear-gradient(135deg, #1A1A1A 0%, #1F2937 100%);
  padding: 24px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.disc-header-top {
  display: flex;
  align-items: center;
  gap: 20px;
}

.disc-header-info {
  text-align: left;
}

.disc-logo-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background-color: #FFFFFF;
  border-radius: 12px;
  font-weight: 800;
  font-size: 18px;
  color: #1A1A1A;
  letter-spacing: 1px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.disc-result-title {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 4px 0;
}

.disc-result-subtitle {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

.candidate-name {
  color: #FFFFFF;
  font-weight: 600;
}

.disc-result-header .disc-header-actions .btn {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  backdrop-filter: blur(4px);
}
.disc-result-header .disc-header-actions .btn:hover {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: #1A1A1A;
}

.disc-result-content {
  padding: 32px;
  background-color: #F9FAFB;
}

.primary-profile {
  background: linear-gradient(135deg, #FFFFFF 0%, #FAFAFA 100%);
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  margin-bottom: 32px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.primary-profile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #c23934, #fe9339, #04844b, #0176d3);
}

.dominant-badge {
  display: inline-block;
  background: linear-gradient(135deg, #1A1A1A 0%, #1F2937 100%);
  color: #FFFFFF;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.3);
}

.primary-profile-title {
  font-size: 26px;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 16px;
}

.primary-profile-description {
  color: #374151;
  font-size: 15px;
  line-height: 1.7;
  max-width: 650px;
  margin: 0 auto;
}

.section-title-disc {
  font-size: 14px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid #E5E7EB;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.section-title-disc::before {
  content: "";
  width: 4px;
  height: 20px;
  background: linear-gradient(180deg, #1A1A1A, #1F2937);
  border-radius: 2px;
}

.disc-visualization {
  margin: 32px 0;
  text-align: center;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 32px;
}

.disc-circle-container {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto 24px;
}

.disc-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, #c23934 0deg 90deg, #fe9339 90deg 180deg, #04844b 180deg 270deg, #0176d3 270deg 360deg);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), inset 0 0 0 4px rgba(255, 255, 255, 0.3);
  animation: disc-rotate-in 0.8s ease-out;
}
.disc-circle::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  background-color: #FFFFFF;
  border-radius: 50%;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.06);
}

@keyframes disc-rotate-in {
  from {
    transform: translate(-50%, -50%) scale(0.8) rotate(-90deg);
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: 1;
  }
}
.disc-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 5;
}

.dominant-letter {
  font-size: 42px;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1;
}

.dominant-score {
  font-size: 18px;
  font-weight: 600;
  color: #6B7280;
  margin-top: 4px;
}

.quadrant-label {
  position: absolute;
  font-weight: 700;
  font-size: 13px;
  color: #FFFFFF;
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease;
}
.quadrant-label:hover {
  transform: scale(1.05);
}

.quadrant-d {
  top: 15px;
  right: 15px;
  background: linear-gradient(135deg, #c23934, rgb(153.7804878049, 45.1829268293, 41.2195121951));
}

.quadrant-i {
  top: 15px;
  left: 15px;
  background: linear-gradient(135deg, #fe9339, rgb(253.743718593, 119.3216080402, 6.256281407));
}

.quadrant-s {
  bottom: 15px;
  left: 15px;
  background: linear-gradient(135deg, #04844b, rgb(2.5, 82.5, 46.875));
}

.quadrant-c {
  bottom: 15px;
  right: 15px;
  background: linear-gradient(135deg, #0176d3, rgb(0.7594339623, 89.6132075472, 160.2405660377));
}

.scores-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 32px 0;
}

.score-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px 16px;
  text-align: center;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}
.score-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.score-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.score-card:hover .score-icon {
  transform: scale(1.1);
}

.score-d::before {
  background: #c23934;
}
.score-d:hover {
  border-color: #c23934;
}
.score-d .score-icon {
  background: linear-gradient(135deg, #c23934, rgb(153.7804878049, 45.1829268293, 41.2195121951));
}

.score-i::before {
  background: #fe9339;
}
.score-i:hover {
  border-color: #fe9339;
}
.score-i .score-icon {
  background: linear-gradient(135deg, #fe9339, rgb(253.743718593, 119.3216080402, 6.256281407));
}

.score-s::before {
  background: #04844b;
}
.score-s:hover {
  border-color: #04844b;
}
.score-s .score-icon {
  background: linear-gradient(135deg, #04844b, rgb(2.5, 82.5, 46.875));
}

.score-c::before {
  background: #0176d3;
}
.score-c:hover {
  border-color: #0176d3;
}
.score-c .score-icon {
  background: linear-gradient(135deg, #0176d3, rgb(0.7594339623, 89.6132075472, 160.2405660377));
}

.score-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 auto 14px;
  transition: transform 0.25s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.score-name {
  font-size: 11px;
  font-weight: 700;
  color: #6B7280;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.score-value {
  font-size: 32px;
  font-weight: 800;
  color: #1A1A1A;
  margin-bottom: 6px;
  line-height: 1;
}

.score-level {
  font-size: 11px;
  color: #6B7280;
  padding: 4px 12px;
  background-color: #F3F4F6;
  border-radius: 12px;
  display: inline-block;
  font-weight: 500;
}

.characteristics-section {
  margin: 32px 0;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px;
}

.characteristics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.characteristic-item {
  display: flex;
  align-items: center;
  padding: 14px 16px;
  background-color: #FAFAFA;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.characteristic-item:hover {
  background-color: rgba(4, 132, 75, 0.08);
  border-color: rgba(4, 132, 75, 0.2);
}
.characteristic-item:hover .characteristic-check {
  transform: scale(1.2);
}

i.characteristic-check {
  width: 22px;
  height: 22px;
  min-width: 22px;
  background: linear-gradient(135deg, #04844b, rgb(2.5, 82.5, 46.875));
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 10px;
  margin-right: 12px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(4, 132, 75, 0.3);
}
i.characteristic-check::before {
  line-height: 1;
}

.characteristic-text {
  font-size: 14px;
  color: #374151;
  line-height: 1.4;
}

.secondary-profile {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px;
  margin: 32px 0;
  border-left: 4px solid #6B7280;
}

.secondary-badge {
  display: inline-block;
  background-color: #6B7280;
  color: #FFFFFF;
  padding: 6px 16px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.secondary-profile-title {
  font-size: 20px;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 12px;
}

.profile-balance {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding: 16px;
  background: linear-gradient(135deg, #FAFAFA 0%, #F3F4F6 100%);
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

.profile-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.communication-style {
  margin: 32px 0;
}

.communication-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.comm-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px;
  position: relative;
  overflow: hidden;
}
.comm-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
}

.comm-strengths {
  background: linear-gradient(135deg, #FFFFFF 0%, rgba(4, 132, 75, 0.08) 100%);
}
.comm-strengths::before {
  background: linear-gradient(180deg, #04844b, rgb(2.5, 82.5, 46.875));
}
.comm-strengths .comm-card-title {
  color: #04844b;
}
.comm-strengths .comm-icon {
  background-color: rgba(4, 132, 75, 0.08);
  color: #04844b;
}

.comm-challenges {
  background: linear-gradient(135deg, #FFFFFF 0%, rgba(194, 57, 52, 0.08) 100%);
}
.comm-challenges::before {
  background: linear-gradient(180deg, #c23934, rgb(153.7804878049, 45.1829268293, 41.2195121951));
}
.comm-challenges .comm-card-title {
  color: #c23934;
}
.comm-challenges .comm-icon {
  background-color: rgba(194, 57, 52, 0.08);
  color: #c23934;
}

.comm-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.comm-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.comm-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.comm-list li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  color: #374151;
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  padding-left: 16px;
}
.comm-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #D1D5DB;
}
.comm-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.comm-list li:first-child {
  padding-top: 0;
}

.comm-strengths .comm-list li::before {
  background-color: #04844b;
}

.comm-challenges .comm-list li::before {
  background-color: #c23934;
}

.profiles-relationship {
  margin: 32px 0;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px;
}

.relationship-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.relationship-card {
  background: linear-gradient(135deg, #FAFAFA 0%, #FFFFFF 100%);
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  transition: all 0.2s ease;
}
.relationship-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.relationship-profile {
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 8px;
}

.relationship-status {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.relationship-status.status-high {
  background-color: rgba(4, 132, 75, 0.08);
  color: #04844b;
  border: 1px solid rgba(4, 132, 75, 0.2);
}
.relationship-status.status-medium {
  background-color: rgba(254, 147, 57, 0.08);
  color: rgb(233.3216080402, 107.2336683417, 1.1783919598);
  border: 1px solid rgba(254, 147, 57, 0.2);
}
.relationship-status.status-low {
  background-color: rgba(194, 57, 52, 0.08);
  color: #c23934;
  border: 1px solid rgba(194, 57, 52, 0.2);
}

.relationship-tip {
  font-size: 13px;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

.development-suggestions {
  margin: 32px 0;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px;
}

.development-areas {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dev-area {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: linear-gradient(135deg, #FAFAFA 0%, #FFFFFF 100%);
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.dev-area:hover {
  border-color: #1A1A1A;
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.1);
}
.dev-area:hover .dev-icon {
  transform: scale(1.1);
}

.dev-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #1A1A1A 0%, #1F2937 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 18px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.25);
}

.dev-content {
  flex: 1;
}
.dev-content h5 {
  font-size: 15px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 6px 0;
}
.dev-content p {
  font-size: 13px;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

.action-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  padding: 28px 0 8px;
  flex-wrap: wrap;
  border-top: 1px solid #E5E7EB;
  margin-top: 32px;
  background: linear-gradient(180deg, transparent 0%, #FAFAFA 100%);
}
.action-buttons .btn {
  padding: 10px 20px;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
}
.action-buttons .btn:hover {
  transform: translateY(-2px);
}
.action-buttons .btn-primary {
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.25);
}

@media (max-width: 992px) {
  .scores-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .relationship-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .lv-parcial-overlay-container {
    width: 100% !important;
  }
  .disc-result-header {
    flex-direction: column;
    text-align: center;
    padding: 20px;
  }
  .disc-header-top {
    flex-direction: column;
    text-align: center;
  }
  .disc-header-info {
    text-align: center;
  }
  .disc-result-content {
    padding: 24px 20px;
  }
  .disc-circle-container {
    width: 240px;
    height: 240px;
  }
  .disc-circle {
    width: 200px;
    height: 200px;
  }
  .scores-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .characteristics-grid {
    grid-template-columns: 1fr;
  }
  .communication-grid {
    grid-template-columns: 1fr;
  }
  .relationship-cards {
    grid-template-columns: 1fr;
  }
  .action-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .action-buttons .btn {
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .disc-result-header {
    padding: 16px;
  }
  .disc-logo-badge {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }
  .disc-result-title {
    font-size: 18px;
  }
  .disc-result-content {
    padding: 20px 16px;
  }
  .scores-grid {
    grid-template-columns: 1fr 1fr;
  }
  .score-card {
    padding: 16px 12px;
  }
  .score-icon {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
  .score-value {
    font-size: 26px;
  }
  .primary-profile {
    padding: 24px 16px;
  }
  .primary-profile-title {
    font-size: 20px;
  }
  .section-title-disc {
    font-size: 13px;
  }
}
/*
 * Test View Questions - Editorial Corporate Style
 * Panel overlay para visualização de teste
 */
.lv-test-view-q-content {
  padding: 0;
  max-height: 100vh;
  overflow-y: auto;
  background: #FFFFFF;
}

.lv-test-view-q-header {
  background-color: #1A1A1A;
  color: #FFFFFF;
  padding: 1.5rem 2rem;
  position: sticky;
  top: 0;
  z-index: 10;
}

.lv-test-view-q-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.lv-test-view-q-title span {
  flex: 1;
  min-width: 200px;
}
.lv-test-view-q-title .btn {
  font-size: 0.75rem;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}
.lv-test-view-q-title .btn:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}

.lv-test-view-q-title-icon {
  width: 32px;
  height: 32px;
  background-color: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.lv-test-view-q-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.lv-test-view-q-meta-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background-color: rgba(255, 255, 255, 0.08);
  padding: 0.75rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.lv-test-view-q-meta-icon {
  width: 28px;
  height: 28px;
  background-color: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lv-test-view-q-meta-text {
  flex: 1;
  min-width: 0;
}

.lv-test-view-q-meta-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.7;
  display: block;
  margin-bottom: 0.125rem;
}

.lv-test-view-q-meta-value {
  font-weight: 600;
  font-size: 0.8125rem;
}

.lv-test-view-q-questions {
  padding: 1.5rem 2rem;
}

.lv-test-view-q-questions-title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lv-test-view-q-question-card {
  background-color: #FFFFFF;
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.lv-test-view-q-question-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.lv-test-view-q-question-card:last-child {
  margin-bottom: 0;
}

.lv-test-view-q-question-header {
  background-color: #F9FAFB;
  padding: 0.875rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

.lv-test-view-q-question-number {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1A1A1A;
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.lv-test-view-q-question-type {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: #FFFFFF;
  padding: 0.25rem 0.5rem;
  color: #6B7280;
  border: 1px solid #E5E7EB;
}

.lv-test-view-q-question-text {
  padding: 1.25rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #F9FAFB;
}
.lv-test-view-q-question-text p {
  font-size: 0.9375rem;
  color: #374151;
  font-weight: 400;
  margin: 0;
  line-height: 1.6;
}

.lv-test-view-q-options {
  padding: 1.25rem;
  background: #FAFAFA;
}

.lv-test-view-q-options-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6B7280;
  margin-bottom: 0.75rem;
}

.lv-test-view-q-option {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  background-color: #FFFFFF;
  border: 1px solid #F3F4F6;
  transition: all 0.15s ease;
}
.lv-test-view-q-option:last-child {
  margin-bottom: 0;
}
.lv-test-view-q-option:hover {
  border-color: #D1D5DB;
}

.lv-test-view-q-option-letter {
  width: 28px;
  height: 28px;
  background-color: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.75rem;
  margin-right: 0.875rem;
  flex-shrink: 0;
}

.lv-test-view-q-option-text {
  flex: 1;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
}

.lv-test-view-q-option-correct {
  border-color: #059669;
  background-color: rgba(5, 150, 105, 0.05);
}
.lv-test-view-q-option-correct .lv-test-view-q-option-letter {
  background-color: #059669;
}
.lv-test-view-q-option-correct::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #059669;
  font-size: 0.875rem;
  margin-left: 0.75rem;
}

.lv-test-view-q-footer {
  padding: 1.25rem 2rem;
  background-color: #FAFAFA;
  border-top: 1px solid #F3F4F6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  position: sticky;
  bottom: 0;
}
.lv-test-view-q-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.15s ease;
}
.lv-test-view-q-footer .btn span {
  font-size: 1rem;
}
.lv-test-view-q-footer .btn-default {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
}
.lv-test-view-q-footer .btn-default:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.lv-test-view-q-footer .btn-primary {
  background: #1A1A1A;
  border: 1px solid #1A1A1A;
  color: #FFFFFF;
}
.lv-test-view-q-footer .btn-primary:hover {
  background: #374151;
}

.send-test-form {
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
  padding: 1.5rem 2rem;
  display: none;
}
.send-test-form h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.send-test-form .form-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}
.send-test-form .form-label i {
  color: #9CA3AF;
  margin-right: 0.375rem;
}
.send-test-form .form-control,
.send-test-form .form-select {
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
  padding: 0.625rem 0.875rem;
}
.send-test-form .form-control:focus,
.send-test-form .form-select:focus {
  border-color: #1A1A1A;
  box-shadow: none;
}
.send-test-form .form-text {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}
.send-test-form .pt-20 {
  padding-top: 1.25rem;
  display: flex;
  gap: 0.75rem;
}
.send-test-form .pt-20 .btn {
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
}
.send-test-form .pt-20 .btn-secondary {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
}
.send-test-form .pt-20 .btn-secondary:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.send-test-form .pt-20 .btn-primary {
  background: #1A1A1A;
  border: 1px solid #1A1A1A;
  color: #FFFFFF;
}
.send-test-form .pt-20 .btn-primary:hover {
  background: #374151;
}

.lv-test-view-q-content::-webkit-scrollbar {
  width: 6px;
}

.lv-test-view-q-content::-webkit-scrollbar-track {
  background: #F9FAFB;
}

.lv-test-view-q-content::-webkit-scrollbar-thumb {
  background: #D1D5DB;
}
.lv-test-view-q-content::-webkit-scrollbar-thumb:hover {
  background: #6B7280;
}

@media (max-width: 768px) {
  .lv-test-view-q-header {
    padding: 1.25rem;
  }
  .lv-test-view-q-title {
    font-size: 1.125rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .lv-test-view-q-title .btn {
    align-self: flex-start;
  }
  .lv-test-view-q-meta {
    grid-template-columns: 1fr 1fr;
  }
  .lv-test-view-q-questions {
    padding: 1.25rem;
  }
  .lv-test-view-q-footer {
    padding: 1rem 1.25rem;
    flex-direction: column;
  }
  .lv-test-view-q-footer .btn {
    width: 100%;
    justify-content: center;
  }
  .send-test-form {
    padding: 1.25rem;
  }
}
@media (max-width: 480px) {
  .lv-test-view-q-meta {
    grid-template-columns: 1fr;
  }
  .lv-test-view-q-option {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .lv-test-view-q-option .lv-test-view-q-option-letter {
    margin-right: 0;
  }
}
/*
 * Tests Library Page - Editorial Corporate Style
 * Layout: Sidebar + Main Content
 */
.lv-tests-layout {
  display: flex;
  min-height: calc(100vh - 64px);
  position: relative;
  z-index: 1;
}

.lv-tests-sidebar {
  width: 260px;
  flex-shrink: 0;
  background: #FFFFFF;
  border-right: 1px solid #F3F4F6;
  display: flex;
  flex-direction: column;
}

.lv-tests-sidebar-header {
  padding: 1.25rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}
.lv-tests-sidebar-header h6 {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9CA3AF;
}

.lv-tests-sidebar-content {
  flex: 1;
  padding: 1rem;
  overflow-y: auto;
}

.lv-filter-section {
  margin-bottom: 1.5rem;
}
.lv-filter-section:last-of-type {
  margin-bottom: 1rem;
}

.lv-filter-section-title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.625rem;
}

.lv-filter-radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.lv-filter-radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.25rem 0;
}
.lv-filter-radio input[type=radio] {
  width: 14px;
  height: 14px;
  accent-color: #1A1A1A;
  cursor: pointer;
}
.lv-filter-radio span {
  font-size: 0.8125rem;
  color: #4B5563;
}
.lv-filter-radio:hover span {
  color: #1A1A1A;
}

.lv-filter-select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  font-size: 0.8125rem;
  color: #4B5563;
  cursor: pointer;
}
.lv-filter-select:focus {
  outline: none;
  border-color: #1A1A1A;
}

.lv-filter-categories {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lv-filter-category {
  margin-bottom: 0.125rem;
}

.lv-filter-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.375rem 0;
  position: relative;
}
.lv-filter-checkbox input[type=checkbox] {
  width: 14px;
  height: 14px;
  accent-color: #1A1A1A;
  cursor: pointer;
  flex-shrink: 0;
}
.lv-filter-checkbox span {
  font-size: 0.8125rem;
  color: #4B5563;
  flex: 1;
}
.lv-filter-checkbox:hover span {
  color: #1A1A1A;
}
.lv-filter-checkbox.sub {
  padding-left: 1.25rem;
}
.lv-filter-checkbox.sub span {
  font-size: 0.75rem;
  color: #6B7280;
}

.lv-filter-expand {
  font-size: 0.625rem;
  color: #9CA3AF;
  cursor: pointer;
  transition: transform 0.2s ease;
  padding: 0.25rem;
}
.lv-filter-expand.rotated {
  transform: rotate(180deg);
}
.lv-filter-expand:hover {
  color: #1A1A1A;
}

.lv-filter-subcategories {
  margin-top: 0.25rem;
  padding-left: 0.5rem;
  border-left: 2px solid #F3F4F6;
  margin-left: 0.375rem;
}

.lv-tests-main {
  flex: 1;
  padding: 1.5rem 2rem;
  min-width: 0;
  background: #FAFAFA;
}

.lv-tests-main-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  gap: 1rem;
}

.lv-tests-main-title h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.02em;
}
.lv-tests-main-title p {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
}

.lv-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: #349422;
  color: #FFFFFF;
  border: none;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}
.lv-btn-primary:hover {
  background: #2a7a1b;
}
.lv-btn-primary i {
  font-size: 0.75rem;
}

.lv-tests-search-bar {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.lv-tests-search-bar > i {
  position: absolute;
  left: 1rem;
  color: #9CA3AF;
  font-size: 0.875rem;
  pointer-events: none;
}
.lv-tests-search-bar input {
  width: 100%;
  padding: 0.75rem 2.5rem 0.75rem 2.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  font-size: 0.875rem;
  color: #1A1A1A;
  transition: border-color 0.15s ease;
}
.lv-tests-search-bar input::placeholder {
  color: #9CA3AF;
}
.lv-tests-search-bar input:focus {
  outline: none;
  border-color: #1A1A1A;
}

.lv-tests-search-clear {
  position: absolute;
  right: 0.75rem;
  background: none;
  border: none;
  font-size: 1.25rem;
  color: #D1D5DB;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.lv-tests-search-clear:hover {
  color: #1A1A1A;
}

.lv-tests-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.lv-test-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1.25rem;
  position: relative;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
}
.lv-test-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--card-accent, #D1D5DB);
}
.lv-test-card:hover {
  border-color: #E5E7EB;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.lv-test-card.idiomas {
  --card-accent: #DC2626;
}
.lv-test-card.matematica {
  --card-accent: #2563EB;
}
.lv-test-card.tecnico {
  --card-accent: #059669;
}
.lv-test-card.comportamental {
  --card-accent: #7C3AED;
}
.lv-test-card.raciocinio {
  --card-accent: #D97706;
}
.lv-test-card.conhecimentos {
  --card-accent: #EA580C;
}
.lv-test-card.portugues {
  --card-accent: #4F46E5;
}
.lv-test-card.ingles {
  --card-accent: #10B981;
}
.lv-test-card.personalizado {
  --card-accent: $ec-gray-600;
}

.lv-test-card-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.625rem;
}

.lv-test-card-icon {
  width: 32px;
  height: 32px;
  background: var(--card-accent, #D1D5DB);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lv-test-card-icon i {
  font-size: 0.75rem;
  color: #FFFFFF;
}

.lv-test-card-title {
  flex: 1;
  min-width: 0;
}
.lv-test-card-title h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.125rem 0;
  line-height: 1.3;
}

.lv-test-card-category {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--card-accent, #6B7280);
}

.lv-test-card-body {
  flex: 1;
  margin-bottom: 0.75rem;
}
.lv-test-card-body p {
  font-size: 0.8125rem;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lv-test-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

.lv-test-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.375rem;
  background: #F9FAFB;
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6B7280;
}
.lv-test-card-tag.popular {
  background: rgba(245, 158, 11, 0.1);
  color: #B45309;
}

.lv-test-card-meta {
  display: flex;
  gap: 1rem;
  padding-top: 0.625rem;
  border-top: 1px solid #F9FAFB;
  margin-bottom: 0.75rem;
}

.lv-test-card-meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #6B7280;
}
.lv-test-card-meta-item i {
  font-size: 0.625rem;
  color: #9CA3AF;
}
.lv-test-card-meta-item strong {
  color: #1A1A1A;
  font-weight: 600;
}

.lv-test-card-footer {
  display: flex;
  gap: 0.5rem;
  margin-top: auto;
}

.lv-test-card-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.5rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #4B5563;
}
.lv-test-card-btn:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.lv-test-card-btn.primary {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}
.lv-test-card-btn.primary:hover {
  background: #374151;
}
.lv-test-card-btn i {
  font-size: 0.625rem;
}

.lv-tests-empty {
  text-align: center;
  padding: 3rem 2rem;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
}

.lv-tests-empty-icon {
  font-size: 2.5rem;
  color: #E5E7EB;
  margin-bottom: 1rem;
}

.lv-tests-empty h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.5rem 0;
}

.lv-tests-empty p {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 1.25rem 0;
}

.lv-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-btn-outline:hover {
  border-color: #349422;
  color: #2a7a1b;
}

.lv-tests-pagination {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 1.5rem;
}

.lv-pagination-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  font-size: 0.8125rem;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-pagination-btn:hover:not(.active):not(:disabled) {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.lv-pagination-btn.active {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}
.lv-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 1200px) {
  .lv-tests-sidebar {
    width: 240px;
  }
}
@media (max-width: 992px) {
  .lv-tests-layout {
    flex-direction: column;
  }
  .lv-tests-sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-tests-sidebar-content {
    max-height: 300px;
  }
  .lv-tests-main {
    padding: 1.5rem;
  }
  .lv-tests-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .lv-tests-main {
    padding: 1rem;
  }
  .lv-tests-main-header {
    flex-direction: column;
    align-items: stretch;
  }
  .lv-btn-primary {
    align-self: flex-start;
  }
  .lv-tests-grid {
    grid-template-columns: 1fr;
  }
  .lv-test-card-footer {
    flex-direction: column;
  }
}
.lv-tests-info {
  text-align: center;
  margin-top: 1rem;
}
.lv-tests-info p {
  font-size: 0.8125rem;
  color: #6B7280;
  margin: 0;
}

.vertical-header {
  background: #fff;
  color: #080707;
  padding: 20px 24px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  border-bottom: 1px solid #dddbda;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.vertical-header::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  top: 0;
  left: 0;
}

.vertical-header-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.vertical-header-icon {
  width: 40px;
  height: 40px;
  background: #0176d3;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  box-shadow: none;
  flex-shrink: 0;
}

.vertical-header-text {
  flex: 1;
}

.vertical-sms-title {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 2px 0;
  color: #080707;
  line-height: 1.25;
}

.vertical-sms-subtitle {
  margin: 0;
  opacity: 1;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #706e6b;
}

.vertical-sms-body {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #f3f2f2;
}

/* LGPD Alert Completo */
.vertical-lgpd-alert {
  background: #fef8e7;
  border: 1px solid #f9cb28;
  border-radius: 4px;
  padding: 16px;
  position: relative;
  flex-shrink: 0;
}

.vertical-alert-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.vertical-alert-icon {
  width: 32px;
  height: 32px;
  background: #f9cb28;
  color: #080707;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.vertical-alert-title {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 700;
  color: #080707;
  margin: 0;
  font-size: 0.875rem;
}

.vertical-alert-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 14px;
  color: #706e6b;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background 0.15s;
}

.vertical-alert-close:hover {
  background: #f3f2f2;
  color: #080707;
}

.vertical-alert-text {
  color: #3e3e3c;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: left;
}

/* Seções Verticais */
.vertical-section {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  border: 1px solid #dddbda;
  flex-shrink: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.vertical-section-title {
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #080707;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #dddbda;
}

.vertical-section-icon {
  width: 24px;
  height: 24px;
  background: #0176d3;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
}

/* Destinatários */
.vertical-radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vertical-radio-option {
  background: #fff;
  border: 1px solid #dddbda;
  border-radius: 4px;
  padding: 12px;
  transition: all 0.15s ease;
  cursor: pointer;
  position: relative;
}

.vertical-radio-option:hover {
  border-color: #0176d3;
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.vertical-radio-option.selected {
  border-color: #0176d3;
  background: #f3f8fe;
  box-shadow: 0 0 3px #0176d3;
}

.vertical-radio-option input[type=radio] {
  position: absolute;
  opacity: 0;
}

.vertical-radio-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.vertical-radio-custom {
  width: 18px;
  height: 18px;
  border: 2px solid #c9c7c5;
  border-radius: 50%;
  position: relative;
  transition: all 0.15s ease;
  flex-shrink: 0;
  margin-top: 2px;
}

.vertical-radio-option.selected .vertical-radio-custom {
  border-color: #0176d3;
  background: #0176d3;
}

.vertical-radio-option.selected .vertical-radio-custom::after {
  content: "";
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.vertical-radio-text {
  flex: 1;
}

.vertical-radio-title {
  font-weight: 600;
  color: #080707;
  margin-bottom: 4px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.vertical-radio-description {
  font-size: 0.8125rem;
  color: #706e6b;
  line-height: 1.5;
}

/* Mensagem */
.vertical-tags-container {
  margin-bottom: 16px;
}

.vertical-tags-label {
  font-size: 0.875rem;
  color: #706e6b;
  margin-bottom: 8px;
  display: block;
  line-height: 1.5;
}

.vertical-tags-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.vertical-tag-btn {
  background: #fff;
  color: #0176d3;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid #0176d3;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  line-height: 1.5;
}

.vertical-tag-btn:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background: #f3f2f2;
}

.vertical-sms-textarea {
  width: 100%;
  min-height: 100px;
  padding: 12px;
  border: 1px solid #dddbda;
  border-radius: 4px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 0.875rem;
  resize: vertical;
  transition: all 0.15s ease;
  background: white;
  line-height: 1.5;
}

.vertical-sms-textarea:focus {
  outline: none;
  border-color: #0176d3;
  box-shadow: 0 0 3px #0176d3;
  background: #fff;
}

.vertical-char-counter {
  margin-top: 12px;
  padding: 12px;
  background: #f3f2f2;
  border-radius: 4px;
  border: 1px solid #dddbda;
}

.vertical-counter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.vertical-counter-item {
  text-align: center;
  padding: 8px;
  background: #fff;
  border-radius: 4px;
}

.vertical-counter-value {
  display: block;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0176d3;
  margin-bottom: 4px;
  line-height: 1;
}

.vertical-counter-label {
  font-size: 0.75rem;
  color: #706e6b;
  line-height: 1;
}

/* Preview */
.vertical-preview-card {
  background: #fff;
  border: 1px solid #dddbda;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.vertical-preview-header {
  background: #0176d3;
  color: white;
  padding: 12px 16px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
}

.vertical-preview-body {
  padding: 16px;
  min-height: 80px;
  background: #f3f8fe;
}

.vertical-preview-text {
  font-style: italic;
  color: #706e6b;
  line-height: 1.5;
  margin: 0;
  font-size: 0.875rem;
}

/* Actions Footer */
.vertical-actions {
  display: flex;
  gap: 12px;
  padding: 20px 24px;
  background: #fff;
  border-top: 1px solid #dddbda;
  flex-shrink: 0;
  box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.05);
}

.vertical-btn {
  flex: 1;
  padding: 10px 16px;
  border-radius: 4px;
  font-family: "Salesforce Sans", "Arial", sans-serif;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s;
  border: 1px solid;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.vertical-btn-primary {
  background: #0176d3;
  color: #fff;
  border-color: #0176d3;
  box-shadow: none;
}

.vertical-btn-primary:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background: #014486;
  border-color: #014486;
}

.vertical-btn-secondary {
  background: #fff;
  color: #080707;
  border-color: #dddbda;
}

.vertical-btn-secondary:hover {
  background: #f3f2f2;
  border-color: #c9c7c5;
}

/* Scrollbar Customization */
.vertical-sms-body::-webkit-scrollbar {
  width: 6px;
}

.vertical-sms-body::-webkit-scrollbar-track {
  background: #f3f2f2;
}

.vertical-sms-body::-webkit-scrollbar-thumb {
  background: #c9c7c5;
  border-radius: 3px;
}

.vertical-sms-body::-webkit-scrollbar-thumb:hover {
  background: #706e6b;
}

/* Responsive Adjustments */
@media (max-width: 350px) {
  .vertical-sms-body {
    padding: 16px;
    gap: 12px;
  }
  .vertical-section {
    padding: 16px;
  }
  .vertical-counter-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .vertical-actions {
    flex-direction: column;
    gap: 8px;
  }
}
/* Asterisco obrigatório */
.required-asterisk {
  color: #ea001e;
  margin-left: 4px;
}

/* Mensagens de erro */
.error-message {
  color: #ea001e;
  font-size: 0.813rem;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.error-message::before {
  content: "\f06a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/* Container de Destinatários SMS */
.lv-sms-recipients-container {
  background-color: #fafaf9;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 12px;
  min-height: 80px;
}

.lv-sms-recipients-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  min-height: 40px;
}

.lv-sms-recipient-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #c9c7c5;
  border-radius: 16px;
  font-size: 0.813rem;
  color: #080707;
  transition: all 0.15s ease-in-out;
}

.lv-sms-recipient-chip i.fa-user {
  color: #0176d3;
  font-size: 0.875rem;
}

.lv-sms-recipient-chip .recipient-name {
  font-weight: 500;
}

.lv-sms-recipient-chip .remove-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background-color: transparent;
  border: none;
  color: #706e6b;
  cursor: pointer;
  border-radius: 50%;
  padding: 0;
  transition: all 0.15s ease-in-out;
  margin-left: 2px;
}

.lv-sms-recipient-chip .remove-chip:hover {
  background-color: #ea001e;
  color: #fff;
}

.lv-sms-recipient-chip .remove-chip i {
  font-size: 0.75rem;
}

.lv-sms-recipients-empty {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #706e6b;
  font-size: 0.875rem;
  padding: 12px;
  justify-content: center;
  text-align: center;
}

.lv-sms-recipients-empty i {
  color: #c9c7c5;
  font-size: 1rem;
}

.lv-sms-recipients-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
  border-top: 1px solid #e5e5e5;
}

.lv-sms-btn-clear {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background-color: transparent;
  border: none;
  color: #ea001e;
  font-size: 0.813rem;
  font-weight: 500;
  cursor: pointer;
  border-radius: 3px;
  transition: all 0.15s ease-in-out;
}

.lv-sms-btn-clear:hover {
  background-color: rgba(234, 0, 30, 0.1);
}

.lv-sms-btn-clear i {
  font-size: 0.875rem;
}

/* Estados do container */
.lv-sms-recipients-container.empty .lv-sms-recipients-list,
.lv-sms-recipients-container.empty .lv-sms-recipients-actions {
  display: none;
}

.lv-sms-recipients-container:not(.empty) .lv-sms-recipients-empty {
  display: none;
}

/* Responsividade */
@media (max-width: 576px) {
  .lv-sms-recipient-chip {
    font-size: 0.75rem;
    padding: 5px 8px;
  }
  .lv-sms-recipients-container {
    padding: 10px;
  }
}
/* ========================================================================
   Interview Form - Editorial Corporate Style
   ======================================================================== */
/* ========================================================================
   Header
   ======================================================================== */
.vertical-interview-header {
  background: #FFFFFF;
  color: #1A1A1A;
  padding: 20px 24px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  border-bottom: 1px solid #E5E7EB;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.vertical-interview-header::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  top: 0;
  left: 0;
}

.vertical-interview-header-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.vertical-interview-header-icon {
  width: 44px;
  height: 44px;
  background: #1A1A1A;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #FFFFFF;
  flex-shrink: 0;
}

.vertical-interview-header-text {
  flex: 1;
}

.vertical-interview-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 2px 0;
  color: #1A1A1A;
  line-height: 1.25;
}

.vertical-interview-subtitle {
  margin: 0;
  opacity: 1;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #6B7280;
}

.interview-header-close {
  width: 36px;
  height: 36px;
  border: 1px solid #E5E7EB;
  background: transparent;
  color: #6B7280;
  border-radius: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.15s;
  flex-shrink: 0;
}
.interview-header-close:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.check-generate-meet-label {
  color: #1A1A1A;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
}

/* ========================================================================
   Body
   ======================================================================== */
.vertical-interview-body {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #FAFAFA;
}

/* ========================================================================
   Title Hero Input
   ======================================================================== */
.interview-title-hero {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 0;
  overflow: hidden;
}

.interview-title-input {
  width: 100%;
  border: none;
  outline: none;
  padding: 18px 20px;
  font-size: 1.125rem;
  font-weight: 600;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #1A1A1A;
  background: transparent;
}
.interview-title-input::placeholder {
  color: #c9c7c5;
  font-weight: 500;
}
.interview-title-input:focus {
  box-shadow: inset 0 -2px 0 #1A1A1A;
}

/* ========================================================================
   DateTime Row (Teams-style compact)
   ======================================================================== */
.interview-datetime-row {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  background: #FFFFFF;
  overflow: hidden;
}

.interview-datetime-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 1;
  border-right: 1px solid #E5E7EB;
}
.interview-datetime-item:last-child {
  border-right: none;
}
.interview-datetime-item i {
  color: #1A1A1A;
  font-size: 14px;
  flex-shrink: 0;
}

.interview-inline-input {
  border: none;
  outline: none;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  color: #1A1A1A;
  background: transparent;
  width: 100%;
  padding: 0;
  cursor: pointer;
}
.interview-inline-input:focus {
  color: #1F2937;
}

/* ========================================================================
   Type Selection Grid (Card-style)
   ======================================================================== */
.interview-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.interview-type-card {
  cursor: pointer;
  margin: 0;
}

.interview-type-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.interview-type-card-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 2px solid #E5E7EB;
  border-radius: 0;
  background: #FFFFFF;
  transition: all 0.15s;
}

.interview-type-card-inner:hover {
  border-color: #9CA3AF;
  background: #F9FAFB;
}

.interview-type-radio:checked + .interview-type-card-inner {
  border-color: #1A1A1A;
  background: #F9FAFB;
}

.interview-type-radio:checked + .interview-type-card-inner .interview-type-icon {
  background: #1A1A1A;
  color: #FFFFFF;
}

.interview-type-icon {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F3F4F6;
  color: #6B7280;
  font-size: 14px;
  transition: all 0.15s;
  flex-shrink: 0;
}

.interview-type-name {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1A1A1A;
}

/* ========================================================================
   Access Details Section
   ======================================================================== */
.interview-meet-options {
  margin-bottom: 16px;
}

.interview-meet-option {
  display: block;
  cursor: pointer;
  margin: 0;
}

.interview-meet-option input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.interview-meet-option-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 2px solid #E5E7EB;
  border-radius: 0;
  transition: all 0.15s;
}

.interview-meet-option input[type=checkbox]:checked + .interview-meet-option-inner {
  border-color: #1A1A1A;
  background: #F9FAFB;
}

.interview-meet-option-inner:hover {
  border-color: #9CA3AF;
}

.interview-meet-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.interview-meet-logo-fallback {
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  flex-shrink: 0;
}

.interview-meet-option-title {
  display: block;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
}

.interview-meet-option-desc {
  display: block;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.75rem;
  color: #6B7280;
}

.interview-link-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  color: #6B7280;
  font-size: 0.8125rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.interview-link-divider::before, .interview-link-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #E5E7EB;
}

.interview-link-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  background: #FFFFFF;
  transition: all 0.15s;
}
.interview-link-field:focus-within {
  border-color: #1A1A1A;
  box-shadow: 0 0 0 1px #1A1A1A;
}
.interview-link-field i {
  color: #6B7280;
  font-size: 14px;
  flex-shrink: 0;
}

.interview-link-input {
  border: none;
  outline: none;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  color: #1A1A1A;
  background: transparent;
  width: 100%;
}
.interview-link-input::placeholder {
  color: #c9c7c5;
}

/* ========================================================================
   Sections
   ======================================================================== */
.vertical-form-section {
  background: #FFFFFF;
  border-radius: 0;
  padding: 20px;
  border: 1px solid #E5E7EB;
  flex-shrink: 0;
}

.vertical-form-section-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: #6B7280;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #F3F4F6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.vertical-form-section-icon {
  width: 24px;
  height: 24px;
  background: #1A1A1A;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 11px;
}

/* ========================================================================
   Form Groups & Inputs
   ======================================================================== */
.vertical-form-group {
  margin-bottom: 16px;
}
.vertical-form-group:last-child {
  margin-bottom: 0;
}

.vertical-form-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  color: #3e3e3c;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
}
.vertical-form-label .required {
  color: #EF4444;
  margin-left: 2px;
}

.vertical-form-input,
.vertical-form-select,
.vertical-form-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  transition: all 0.15s ease;
  background: white;
  color: #1A1A1A;
  line-height: 1.5;
}
.vertical-form-input:focus,
.vertical-form-select:focus,
.vertical-form-textarea:focus {
  outline: none;
  border-color: #1A1A1A;
  box-shadow: 0 0 0 1px #1A1A1A;
  background: #FFFFFF;
}

.vertical-form-textarea {
  resize: vertical;
  min-height: 80px;
}

.vertical-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* ========================================================================
   Notes Toggle (Collapsible)
   ======================================================================== */
.interview-notes-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  cursor: pointer;
  color: #6B7280;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.15s;
  user-select: none;
}
.interview-notes-toggle:hover {
  color: #1A1A1A;
}
.interview-notes-toggle i:first-child {
  font-size: 14px;
}
.interview-notes-toggle span {
  flex: 1;
}

.interview-notes-chevron {
  font-size: 12px;
  transition: transform 0.2s;
}

.interview-notes-toggle.open .interview-notes-chevron {
  transform: rotate(180deg);
}

.interview-notes-content {
  margin-top: 14px;
}

/* ========================================================================
   Email Hint
   ======================================================================== */
.interview-email-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 0.8rem;
  color: #6B7280;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.interview-email-hint i {
  font-size: 12px;
  color: #1A1A1A;
}

/* ========================================================================
   Conditional Fields
   ======================================================================== */
.vertical-conditional-field {
  background: white;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 16px;
  margin-top: 12px;
  position: relative;
  animation: slideDown 0.3s ease-out;
}
.vertical-conditional-field::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #1A1A1A;
  border-radius: 0;
}

.vertical-conditional-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-weight: 600;
  color: #1A1A1A;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
}

.vertical-conditional-icon {
  width: 20px;
  height: 20px;
  background: #1A1A1A;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 10px;
}

/* ========================================================================
   Actions Footer
   ======================================================================== */
.vertical-interview-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 24px;
  background: #FFFFFF;
  border-top: 1px solid #E5E7EB;
  flex-shrink: 0;
  box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* ========================================================================
   Scrollbar
   ======================================================================== */
.vertical-interview-body::-webkit-scrollbar {
  width: 6px;
}

.vertical-interview-body::-webkit-scrollbar-track {
  background: #FAFAFA;
}

.vertical-interview-body::-webkit-scrollbar-thumb {
  background: #D1D5DB;
  border-radius: 0;
}

.vertical-interview-body::-webkit-scrollbar-thumb:hover {
  background: #9CA3AF;
}

/* ========================================================================
   Email Chips System
   ======================================================================== */
.vertical-email-chips-container {
  min-height: 80px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 8px;
  background: white;
  cursor: text;
  transition: all 0.15s ease;
}
.vertical-email-chips-container:focus-within {
  border-color: #1A1A1A;
  box-shadow: 0 0 0 1px #1A1A1A;
}

.vertical-email-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.vertical-email-chip {
  background: #F9FAFB;
  color: #1A1A1A;
  padding: 5px 10px;
  border-radius: 0;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 500;
  animation: chipSlideIn 0.15s ease-out;
  max-width: 200px;
  border: 1px solid #E5E7EB;
}
.vertical-email-chip.invalid {
  background: #FEE2E2;
  border-color: #EF4444;
  color: #EF4444;
  animation: chipShake 0.5s ease-out;
  display: none;
}

.vertical-email-chip-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.vertical-email-chip-remove {
  background: transparent;
  border: none;
  color: #9CA3AF;
  width: 16px;
  height: 16px;
  border-radius: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  transition: all 0.15s;
  flex-shrink: 0;
}
.vertical-email-chip-remove:hover {
  background: #E5E7EB;
  color: #1A1A1A;
}

.vertical-email-input {
  border: none;
  outline: none;
  padding: 6px 4px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 0.875rem;
  background: transparent;
  min-width: 200px;
  flex: 1;
  color: #1A1A1A;
}
.vertical-email-input::placeholder {
  color: #6B7280;
  opacity: 0.7;
}

.vertical-email-counter {
  margin-top: 8px;
  font-size: 0.75rem;
  color: #6B7280;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.vertical-email-count {
  background: #FAFAFA;
  padding: 2px 8px;
  border-radius: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
}

.vertical-email-validation {
  color: #EF4444;
  font-size: 0.75rem;
  margin-top: 5px;
  display: none;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.vertical-email-validation.show {
  display: block;
  animation: fadeIn 0.3s ease-out;
}

/* ========================================================================
   Status Indicator
   ======================================================================== */
.vertical-form-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  margin-top: 10px;
  color: #6B7280;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.vertical-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.vertical-status-dot.valid {
  background: #22C55E;
  animation: pulse 2s infinite;
}
.vertical-status-dot.invalid {
  background: #EF4444;
}
.vertical-status-dot.pending {
  background: #c9c7c5;
}

/* ========================================================================
   Animations
   ======================================================================== */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes chipSlideIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-5px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes chipShake {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-3px);
  }
  75% {
    transform: translateX(3px);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
/* ========================================================================
   Responsive
   ======================================================================== */
@media (max-width: 600px) {
  .interview-datetime-row {
    flex-direction: column;
  }
  .interview-datetime-item {
    border-right: none !important;
    border-bottom: 1px solid #E5E7EB;
  }
  .interview-datetime-item:last-child {
    border-bottom: none;
  }
  .interview-type-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 350px) {
  .vertical-interview-body {
    padding: 16px;
    gap: 12px;
  }
  .vertical-form-section {
    padding: 16px;
  }
  .vertical-form-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .vertical-interview-actions {
    flex-direction: column;
    gap: 8px;
  }
  .interview-type-grid {
    grid-template-columns: 1fr;
  }
}
/*
 * Send Email Form - Editorial Corporate Style
 * ATS email composer — single-column, stacked layout
 */
.lv-email-modal.lv-parcial-overlay-container {
  width: min(820px, 92vw);
  height: 92vh;
  max-height: 92vh;
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lv-email-modal.lv-parcial-overlay-container.show {
  transform: translate(-50%, -50%);
}

.lv-email {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  overflow: hidden;
}

#send-email-form {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.lv-email__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  flex-shrink: 0;
}

.lv-email__header-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lv-email__header-icon {
  width: 36px;
  height: 36px;
  background: #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 1rem;
  flex-shrink: 0;
}

.lv-email__title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.lv-email__close {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 1px solid #E5E7EB;
  color: #6B7280;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 0.875rem;
}
.lv-email__close:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.lv-email__fields {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex-shrink: 0;
  background: #FFFFFF;
}

.lv-email__field {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  gap: 0.75rem;
}

.lv-email__field-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 0.625rem;
  line-height: 1;
}

.lv-email__input,
.lv-email__select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #1A1A1A;
  font-size: 0.875rem;
  transition: border-color 0.15s ease;
  line-height: 1.5;
}
.lv-email__input::placeholder,
.lv-email__select::placeholder {
  color: #9CA3AF;
}
.lv-email__input:focus,
.lv-email__select:focus {
  outline: none;
  border-color: #1A1A1A;
}

.lv-email__select {
  appearance: none;
  padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M3.5 4.5L6 7l2.5-2.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px;
  cursor: pointer;
}

.lv-email__recipients {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.lv-email__chips-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-height: 38px;
  padding: 4px 0.75rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  cursor: text;
  transition: border-color 0.15s ease;
}
.lv-email__chips-container:focus-within {
  border-color: #1A1A1A;
}

.lv-email__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.lv-email__chips-input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.875rem;
  color: #1A1A1A;
  flex: 1;
  min-width: 140px;
  padding: 4px 0;
}
.lv-email__chips-input::placeholder {
  color: #9CA3AF;
}

.lv-email__recipients-actions {
  display: flex;
  gap: 4px;
}

.lv-email__action-btn {
  width: 28px;
  height: 28px;
  background: transparent;
  border: 1px solid #E5E7EB;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.75rem;
  transition: all 0.15s ease;
}
.lv-email__action-btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.lv-email__error {
  font-size: 0.75rem;
  color: #EF4444;
}

.vertical-email-chip,
.email-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: #1A1A1A;
  font-size: 0.8125rem;
  font-weight: 500;
  max-width: 200px;
  animation: lv-email-chip-in 0.15s ease-out;
}
.vertical-email-chip.invalid,
.email-chip.invalid {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.3);
  color: #EF4444;
}
.vertical-email-chip.overflow,
.email-chip.overflow {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
  font-weight: 600;
}

.email-chip-text,
.vertical-email-chip-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.email-chip-remove,
.vertical-email-chip-remove {
  background: transparent;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  padding: 0;
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.15s ease;
}
.email-chip-remove:hover,
.vertical-email-chip-remove:hover {
  color: #1A1A1A;
}

@keyframes lv-email-chip-in {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-2px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.lv-email__editor-section {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lv-email__editor {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  border-bottom: 1px solid #F3F4F6;
}

.lv-email__editor-error {
  padding: 0.5rem 1rem;
  background: #EF4444;
  color: #FFFFFF;
  font-size: 0.8125rem;
  font-weight: 500;
}

.lv-email__toolbar {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  gap: 4px;
  background: #FAFAFA;
  border-bottom: 1px solid #F3F4F6;
  flex-shrink: 0;
}

.lv-email__toolbar-group {
  display: flex;
  gap: 2px;
}

.lv-email__toolbar-separator {
  width: 1px;
  height: 20px;
  background: #E5E7EB;
  margin: 0 4px;
}

.lv-email__toolbar-btn {
  width: 32px;
  height: 32px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6B7280;
  font-size: 0.875rem;
  transition: all 0.15s ease;
}
.lv-email__toolbar-btn:hover {
  background: #F3F4F6;
  color: #1A1A1A;
  border-color: #E5E7EB;
}
.lv-email__toolbar-btn.active {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}

.lv-email__tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FAFAFA;
  flex-shrink: 0;
  max-height: 80px;
  overflow-y: auto;
}

.lv-email__tags-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-right: 4px;
}

.tag-btn,
.vertical-email-tag-btn {
  padding: 3px 10px;
  background: #FFFFFF;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
  font-size: 0.6875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.tag-btn:hover,
.vertical-email-tag-btn:hover {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}

.editor-tag,
.variable-tag {
  display: inline-flex;
  align-items: center;
  background: #F9FAFB;
  color: #1A1A1A;
  border: 1px solid #E5E7EB;
  padding: 1px 6px;
  margin: 0 2px;
  white-space: nowrap;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  cursor: default;
}

.editor-tag-remove {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: 4px;
  font-size: 1em;
  color: #9CA3AF;
  line-height: 1;
  padding: 0;
}
.editor-tag-remove:hover {
  color: #1A1A1A;
}

.lv-email__content {
  flex: 1;
  min-height: 200px;
  padding: 1rem 1.5rem;
  outline: none;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #1A1A1A;
  background: #FFFFFF;
  overflow-y: auto;
  word-wrap: break-word;
}
.lv-email__content:empty::before {
  content: attr(data-placeholder);
  color: #9CA3AF;
  font-style: italic;
}
.lv-email__content.is-empty {
  color: #9CA3AF;
}
.lv-email__content.is-empty .placeholder-text {
  font-style: italic;
  color: #9CA3AF;
}
.lv-email__content:not(.is-empty) .placeholder-text {
  display: none;
}

.lv-email__footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0.875rem 1.5rem;
  border-top: 1px solid #F3F4F6;
  background: #FFFFFF;
  flex-shrink: 0;
  gap: 1rem;
}

.lv-email__attach {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

.lv-email__attach-trigger {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.375rem;
  border: 1px dashed transparent;
  transition: all 0.15s ease;
}
.lv-email__attach-trigger.drag-over {
  border-color: #1A1A1A;
  background: #FAFAFA;
}

.lv-email__attach-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background: transparent;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.lv-email__attach-btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}
.lv-email__attach-btn i {
  font-size: 1rem;
}

.lv-email__attach-hint {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.lv-email__attached {
  max-height: 120px;
  overflow-y: auto;
}

.lv-email__file-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.vertical-email-file-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.625rem;
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  font-size: 0.8125rem;
  transition: border-color 0.15s ease;
}
.vertical-email-file-item:hover {
  border-color: #D1D5DB;
}

.vertical-email-file-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

.vertical-email-file-icon {
  width: 24px;
  height: 24px;
  background: #1A1A1A;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex-shrink: 0;
}

.vertical-email-file-details {
  min-width: 0;
}

.vertical-email-file-name {
  font-weight: 600;
  color: #1A1A1A;
  font-size: 0.8125rem;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vertical-email-file-size {
  font-size: 0.6875rem;
  color: #9CA3AF;
}

.vertical-email-file-remove {
  background: none;
  border: none;
  color: #D1D5DB;
  cursor: pointer;
  padding: 2px;
  transition: color 0.15s ease;
  font-size: 0.875rem;
}
.vertical-email-file-remove:hover {
  color: #EF4444;
}

.lv-email__attach-info {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
  padding-top: 0.375rem;
}
.lv-email__attach-info i {
  font-size: 0.75rem;
  color: #D1D5DB;
}

.lv-email__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.lv-email__btn-cancel {
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #E5E7EB;
  color: #4B5563;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-email__btn-cancel:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #1A1A1A;
}

.lv-email__btn-send {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1.25rem;
  background: #1A1A1A;
  border: 1px solid #1A1A1A;
  color: #FFFFFF;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-email__btn-send:hover {
  background: #374151;
  border-color: #374151;
}
.lv-email__btn-send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.lv-email__btn-send i {
  font-size: 0.875rem;
}

.lv-email__content::-webkit-scrollbar,
.lv-email__tags::-webkit-scrollbar,
.lv-email__attached::-webkit-scrollbar {
  width: 5px;
}

.lv-email__content::-webkit-scrollbar-track,
.lv-email__tags::-webkit-scrollbar-track,
.lv-email__attached::-webkit-scrollbar-track {
  background: #F9FAFB;
}

.lv-email__content::-webkit-scrollbar-thumb,
.lv-email__tags::-webkit-scrollbar-thumb,
.lv-email__attached::-webkit-scrollbar-thumb {
  background: #D1D5DB;
}
.lv-email__content::-webkit-scrollbar-thumb:hover,
.lv-email__tags::-webkit-scrollbar-thumb:hover,
.lv-email__attached::-webkit-scrollbar-thumb:hover {
  background: #9CA3AF;
}

.lv-email__field .select2-container {
  width: 100% !important;
}
.lv-email__field .select2-container--default .select2-selection--single {
  height: 36px;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  background: #FFFFFF;
  display: flex;
  align-items: center;
}
.lv-email__field .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1;
  padding-left: 0.75rem;
  color: #1A1A1A;
  font-size: 0.875rem;
}
.lv-email__field .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 8px;
  display: flex;
  align-items: center;
}
.lv-email__field .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #9CA3AF;
}
.lv-email__field .select2-container--default.select2-container--open .select2-selection--single,
.lv-email__field .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #1A1A1A;
}

@media (max-width: 768px) {
  .lv-email-modal.lv-parcial-overlay-container {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    top: 0;
    left: 0;
    transform: none;
    box-shadow: none;
  }
  .lv-email-modal.lv-parcial-overlay-container.show {
    transform: none;
  }
  .lv-email__field {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .lv-email__field-label {
    padding-top: 0;
  }
  .lv-email__footer {
    flex-direction: column;
    gap: 0.75rem;
  }
  .lv-email__actions {
    justify-content: flex-end;
    width: 100%;
  }
  .lv-email__header {
    padding: 0.75rem 1rem;
  }
  .lv-email__fields {
    padding: 0.75rem 1rem;
  }
  .lv-email__toolbar {
    padding: 0.375rem 0.75rem;
  }
  .lv-email__content {
    padding: 0.75rem 1rem;
  }
  .lv-email__footer {
    padding: 0.75rem 1rem;
  }
}
.spin {
  animation: lv-spin 0.8s linear infinite;
}

@keyframes lv-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.lv-tests-header {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: white;
  padding: 30px;
  position: relative;
  overflow: hidden;
}

.lv-tests-header-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 20px;
}

.lv-tests-header-icon {
  width: 60px;
  height: 60px;
  background: #1A1A1A;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: var(--primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  animation: pulse 3s infinite;
}

.lv-tests-title {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 5px 0;
  color: white;
}

.lv-tests-subtitle {
  margin: 0;
  opacity: 0.9;
  font-size: 1.1rem;
}

.lv-tests-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: white;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s;
  z-index: 2;
}

.lv-tests-close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg);
}

/* Navigation Tabs */
.lv-tests-tabs {
  display: flex;
  background: var(--light);
  border-bottom: 2px solid var(--grey-light);
}

.lv-tab {
  flex: 1;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s;
  border-bottom: 3px solid transparent;
  font-weight: 600;
  color: var(--grey-dark);
}

.lv-tab:hover {
  background: rgba(14, 104, 117, 0.05);
}

.lv-tab.active {
  color: #349422;
  border-bottom-color: #1A1A1A;
  background: white;
}

.lv-tab i {
  font-size: 18px;
}

/* Content */
.lv-tests-content {
  flex: 1;
  overflow-y: auto;
  background: white;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Library Tab */
.lv-library-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
  gap: 20px;
}

/* Tests Grid */
.lv-tests-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 25px;
}

.lv-test-card {
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
}

.lv-test-card:hover {
  border-color: var(--secondary);
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.lv-test-card.custom {
  border-color: #1A1A1A;
}

.lv-test-card-header {
  padding: 20px 20px 15px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.lv-test-type-badge {
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  color: white;
}

.lv-test-type-badge.personality {
  background: linear-gradient(135deg, #e74c3c, #c0392b);
}

.lv-test-type-badge.technical {
  background: linear-gradient(135deg, #3498db, #2980b9);
}

.lv-test-type-badge.custom {
  background: linear-gradient(135deg, #1A1A1A, var(--secondary));
}

.lv-test-options {
  display: flex;
  gap: 5px;
}

.lv-option-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: var(--light);
  border-radius: 6px;
  color: var(--grey-dark);
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lv-option-btn:hover {
  background: var(--secondary);
  color: white;
}

.lv-option-btn.danger:hover {
  background: var(--accent-1);
}

.lv-test-card-body {
  padding: 0 20px 20px;
  flex: 1;
}

.lv-test-card-body h3 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--primary);
  margin-bottom: 10px;
}

.lv-test-card-body p {
  color: var(--grey-dark);
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

.lv-test-stats {
  display: flex;
  gap: 20px;
  font-size: 0.85rem;
  color: var(--grey);
}

.lv-test-stats span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.lv-test-card-footer {
  padding: 15px 20px;
  background: var(--light);
  border-top: 1px solid var(--grey-light);
  display: flex;
  gap: 10px;
}

.lv-btn-preview,
.lv-btn-send {
  flex: 1;
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.lv-btn-preview {
  background: white;
  border: 1px solid var(--grey-light);
  color: var(--grey-dark);
}

.lv-btn-preview:hover {
  border-color: var(--secondary);
  color: var(--secondary);
}

.lv-btn-send {
  background: var(--secondary);
  color: white;
}

.lv-btn-send:hover {
  background: var(--secondary-dark);
  transform: translateY(-2px);
}

/* Create Test Tab */
.lv-create-test-container {
  max-width: 1000px;
  margin: 0 auto;
}

.lv-create-section {
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 25px;
}

.lv-section-title {
  font-size: 1.3rem;
  color: var(--primary);
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.lv-section-title i {
  color: #1A1A1A;
}

.lv-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

/* Form Elements */
.lv-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.lv-form-group {
  display: flex;
  flex-direction: column;
}

.lv-form-group.full-width {
  grid-column: 1/-1;
}

.lv-form-group label {
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 8px;
  font-size: 0.95rem;
}

.lv-form-input,
.lv-form-select,
.lv-form-textarea {
  padding: 12px 16px;
  border: 2px solid var(--grey-light);
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.3s;
  background: white;
}

.lv-form-input:focus,
.lv-form-select:focus,
.lv-form-textarea:focus {
  outline: none;
  border-color: var(--secondary);
  box-shadow: 0 0 0 3px rgba(14, 104, 117, 0.1);
}

.lv-form-textarea {
  resize: vertical;
  font-family: inherit;
  line-height: 1.5;
}

/* Question Actions */
.lv-question-actions {
  display: flex;
  gap: 10px;
}

.lv-btn-add-question {
  padding: 10px 20px;
  border: 2px solid var(--grey-light);
  background: white;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-btn-add-question:hover {
  border-color: var(--secondary);
  background: rgba(14, 104, 117, 0.05);
}

/* Questions List */
.lv-questions-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lv-question-item {
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s;
}

.lv-question-item:hover {
  border-color: var(--secondary);
}

.lv-question-header {
  display: flex;
  align-items: center;
  padding: 20px;
  gap: 20px;
  background: var(--light);
}

.lv-question-number {
  width: 40px;
  height: 40px;
  background: var(--secondary);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight: 700;
  flex-shrink: 0;
}

.lv-question-info {
  flex: 1;
}

.lv-question-info h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--primary);
  margin-bottom: 8px;
}

.lv-question-meta {
  display: flex;
  gap: 15px;
  align-items: center;
}

.lv-badge {
  padding: 4px 10px;
  border-radius: 15px;
  font-size: 0.8rem;
  font-weight: 600;
}

.lv-badge.multiple {
  background: rgba(52, 152, 219, 0.1);
  color: #3498db;
}

.lv-badge.essay {
  background: rgba(155, 89, 182, 0.1);
  color: #9b59b6;
}

.lv-question-actions {
  display: flex;
  gap: 5px;
}

.lv-action-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  border-radius: 6px;
  color: var(--grey-dark);
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lv-action-btn:hover {
  background: var(--grey-light);
}

.lv-action-btn.danger:hover {
  background: rgba(231, 76, 60, 0.1);
  color: var(--accent-1);
}

.lv-question-preview {
  padding: 20px;
  border-top: 1px solid var(--grey-light);
}

.lv-options-preview {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lv-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: var(--light);
  border-radius: 6px;
}

.lv-option.correct {
  background: rgba(39, 174, 96, 0.1);
  color: #27ae60;
}

/* Empty State */
.lv-empty-questions {
  text-align: center;
  padding: 60px 20px;
  color: var(--grey);
}

.lv-empty-questions i {
  font-size: 48px;
  margin-bottom: 20px;
  opacity: 0.5;
}

.lv-empty-questions p {
  font-size: 1.1rem;
  margin-bottom: 10px;
}

/* Settings */
.lv-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.lv-switch-setting {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px;
  background: var(--light);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s;
}

.lv-switch-setting:hover {
  background: rgba(14, 104, 117, 0.05);
}

.lv-switch {
  position: relative;
  width: 50px;
  height: 26px;
  background: var(--grey-light);
  border-radius: 13px;
  transition: all 0.3s;
  flex-shrink: 0;
}

.lv-switch-setting input:checked + .lv-switch {
  background: var(--secondary);
}

.lv-switch::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  top: 3px;
  left: 3px;
  transition: all 0.3s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lv-switch-setting input:checked + .lv-switch::after {
  left: 27px;
}

.lv-switch-setting input {
  position: absolute;
  opacity: 0;
}

.lv-switch-info strong {
  display: block;
  color: var(--primary);
  margin-bottom: 3px;
}

.lv-switch-info small {
  color: var(--grey-dark);
  font-size: 0.85rem;
}

/* Create Actions */
.lv-create-actions {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  margin-top: 30px;
}

/* Send Tab */
.lv-send-container {
  max-width: 800px;
  margin: 0 auto;
}

.lv-send-section {
  background: #f3f3f3;
  border: 2px solid #e1e4e8;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 25px;
}

.lv-test-selector {
  margin-bottom: 20px;
}

.lv-test-preview {
  background: var(--light);
  border-radius: 8px;
  padding: 20px;
  margin-top: 20px;
}

.lv-preview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-preview-header h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--primary);
  margin: 0;
}

.lv-preview-meta {
  display: flex;
  gap: 20px;
  font-size: 0.9rem;
  color: var(--grey);
}

/* Recipients Options */
.lv-recipients-options {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.lv-radio-option {
  display: block;
  cursor: pointer;
}

.lv-radio-content {
  display: flex;
  align-items: center;
  padding: 20px;
  background: white;
  border: 2px solid var(--grey-light);
  border-radius: 10px;
  transition: all 0.3s;
}

.lv-radio-option input:checked + .lv-radio-content {
  border-color: var(--secondary);
  background: rgba(14, 104, 117, 0.05);
}

.lv-radio-circle {
  width: 20px;
  height: 20px;
  border: 2px solid var(--grey);
  border-radius: 50%;
  margin-right: 15px;
  position: relative;
  flex-shrink: 0;
}

.lv-radio-option input:checked + .lv-radio-content .lv-radio-circle {
  border-color: var(--secondary);
}

.lv-radio-option input:checked + .lv-radio-content .lv-radio-circle::after {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--secondary);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lv-radio-option input {
  position: absolute;
  opacity: 0;
}

.lv-radio-info strong {
  display: block;
  color: var(--primary);
  margin-bottom: 3px;
}

.lv-radio-info small {
  color: var(--grey-dark);
  font-size: 0.9rem;
}

/* Email Editor */
.lv-email-editor {
  border: 2px solid var(--grey-light);
  border-radius: 8px;
  overflow: hidden;
}

.lv-editor-toolbar {
  background: var(--light);
  padding: 10px;
  border-bottom: 1px solid var(--grey-light);
  display: flex;
  gap: 8px;
}

.lv-tag-btn {
  padding: 6px 12px;
  background: #1A1A1A;
  color: var(--primary);
  border: 2px solid var(--primary);
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.lv-tag-btn:hover {
  transform: translateY(-2px);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
}

.lv-email-editor .lv-form-textarea {
  border: none;
  border-radius: 0;
}

/* Send Options */
.lv-send-options {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.lv-checkbox-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.lv-checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #D1D5DB;
  border-radius: 4px;
  position: relative;
  transition: all 0.3s;
}

.lv-checkbox-option input:checked + .lv-checkbox {
  background: #1A1A1A;
  border-color: #1A1A1A;
}

.lv-checkbox-option input:checked + .lv-checkbox::after {
  content: "✓";
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
}

.lv-checkbox-option input {
  position: absolute;
  opacity: 0;
}

/* Send Actions */
.lv-send-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}

.lv-send-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--grey-dark);
}

.lv-send-summary i {
  color: #1A1A1A;
}

/* Buttons */
.lv-btn {
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.lv-btn-secondary {
  background: white;
  border-color: var(--primary);
  color: var(--primary);
}

.lv-btn-secondary:hover {
  background: var(--primary);
  color: white;
}

.lv-btn-primary {
  background: #1A1A1A;
  color: var(--primary);
  border-color: var(--primary);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
}

.lv-btn-primary:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
}

/* Question Modal */
.lv-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lv-modal-content {
  background: white;
  border-radius: 12px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  border: 3px solid var(--primary);
}

.lv-modal-header {
  padding: 25px 30px;
  background: var(--light);
  border-bottom: 1px solid var(--grey-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lv-modal-header h3 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--primary);
  margin: 0;
}

.lv-modal-close {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grey-dark);
}

.lv-modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.lv-modal-body {
  padding: 30px;
  overflow-y: auto;
  flex: 1;
}

.lv-modal-footer {
  padding: 20px 30px;
  background: var(--light);
  border-top: 1px solid var(--grey-light);
  display: flex;
  justify-content: flex-end;
  gap: 15px;
}

/* Question Form */
.lv-question-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lv-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.lv-options-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
}

.lv-option-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lv-option-item input[type=radio] {
  flex-shrink: 0;
}

.lv-option-input {
  flex: 1;
  padding: 10px 15px;
  border: 2px solid var(--grey-light);
  border-radius: 6px;
  font-size: 0.95rem;
}

.lv-remove-option {
  width: 32px;
  height: 32px;
  border: none;
  background: rgba(231, 76, 60, 0.1);
  color: var(--accent-1);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lv-remove-option:hover {
  background: var(--accent-1);
  color: white;
}

.lv-add-option-btn {
  padding: 10px 16px;
  border: 2px dashed var(--grey);
  background: transparent;
  border-radius: 6px;
  color: var(--grey-dark);
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.lv-add-option-btn:hover {
  border-color: var(--secondary);
  color: var(--secondary);
}

/* Animations */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
/* Scrollbar */
.lv-tests-content::-webkit-scrollbar,
.lv-modal-body::-webkit-scrollbar {
  width: 8px;
}

.lv-tests-content::-webkit-scrollbar-track,
.lv-modal-body::-webkit-scrollbar-track {
  background: var(--light);
}

.lv-tests-content::-webkit-scrollbar-thumb,
.lv-modal-body::-webkit-scrollbar-thumb {
  background: var(--grey);
  border-radius: 4px;
}

.lv-tests-content::-webkit-scrollbar-thumb:hover,
.lv-modal-body::-webkit-scrollbar-thumb:hover {
  background: var(--grey-dark);
}

/* Responsive */
@media (max-width: 768px) {
  .lv-parcial-overlay-container {
    margin: 0;
    height: 100vh;
    max-height: 100vh;
  }
  .lv-tests-modal {
    height: 100vh;
    border-radius: 0;
    border: none;
  }
  .lv-tests-header {
    padding: 20px;
  }
  .lv-tests-title {
    font-size: 1.5rem;
  }
  .lv-tests-tabs {
    overflow-x: auto;
  }
  .lv-tab span {
    display: none;
  }
  .lv-library-header {
    flex-direction: column;
    align-items: stretch;
  }
  .lv-search-filter {
    flex-direction: column;
  }
  .lv-search-box {
    max-width: 100%;
  }
  .lv-tests-grid {
    grid-template-columns: 1fr;
  }
  .lv-form-grid {
    grid-template-columns: 1fr;
  }
  .lv-form-row {
    grid-template-columns: 1fr;
  }
  .lv-section-header {
    flex-direction: column;
    gap: 15px;
  }
  .lv-question-actions {
    width: 100%;
    justify-content: stretch;
  }
  .lv-btn-add-question {
    flex: 1;
  }
  .lv-question-header {
    flex-wrap: wrap;
  }
  .lv-question-actions {
    width: 100%;
    justify-content: flex-end;
    margin-top: 10px;
  }
  .lv-settings-grid {
    grid-template-columns: 1fr;
  }
  .lv-create-actions {
    flex-direction: column;
  }
  .lv-btn {
    width: 100%;
    justify-content: center;
  }
  .lv-send-actions {
    flex-direction: column;
    gap: 15px;
  }
  .lv-modal-content {
    margin: 0;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    border: none;
  }
}
.lv-hr-new-applicant-container {
  background: #ffffff;
  border-radius: 16px;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.lv-hr-new-applicant-container.collapsed {
  max-height: 64px;
}

/* Header Moderno */
.lv-hr-new-applicant-header {
  background: #ffffff;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f0f2f5;
  cursor: pointer;
  user-select: none;
}

.lv-hr-new-applicant-title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lv-hr-new-applicant-icon-wrapper {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 16px;
}

.lv-hr-new-applicant-title {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lv-hr-new-applicant-count {
  background: #ff4757;
  color: white;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
  animation: subtle-scale 2s ease-in-out infinite;
}

@keyframes subtle-scale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.lv-hr-new-applicant-toggle {
  width: 28px;
  height: 28px;
  background: #f8f9fa;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.3s ease;
}

.lv-hr-new-applicant-toggle:hover {
  background: #e9ecef;
  color: #495057;
}

.lv-hr-new-applicant-toggle i {
  transition: transform 0.3s ease;
  font-size: 12px;
}

.lv-hr-new-applicant-container.collapsed .lv-hr-new-applicant-toggle i {
  transform: rotate(180deg);
}

/* Body com Scroll Moderno */
.lv-hr-new-applicant-body {
  flex: 1;
  overflow-y: auto;
  background: #FFFFFF;
}

/* Scrollbar Minimalista */
.lv-hr-new-applicant-body::-webkit-scrollbar {
  width: 4px;
}

.lv-hr-new-applicant-body::-webkit-scrollbar-track {
  background: transparent;
}

.lv-hr-new-applicant-body::-webkit-scrollbar-thumb {
  background: #dfe3e7;
  border-radius: 4px;
}

.lv-hr-new-applicant-body::-webkit-scrollbar-thumb:hover {
  background: #c4cdd5;
}

/* Célula de Candidato - Estilo Social */
.lv-hr-new-applicant-cell {
  background: #f3f3f3;
  border-radius: 2px;
  padding: 12px;
  margin-bottom: 2px;
  transition: all 0.3s ease;
  position: relative;
  border: 1px solid #e1e4e8;
}

.lv-hr-new-applicant-cell:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.lv-hr-new-applicant-cell.new {
  position: relative;
}

.lv-hr-new-applicant-cell.new::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 24px;
  background: #5865f2;
  border-radius: 0 3px 3px 0;
}

/* Badge de Novo */
.lv-hr-new-applicant-new-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  background: #ff4757;
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0.7);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(255, 71, 87, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0);
  }
}
/* Layout do Candidato */
.lv-hr-new-applicant-layout {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* Avatar Moderno */
.lv-hr-new-applicant-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  color: white;
  flex-shrink: 0;
  position: relative;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.lv-hr-new-applicant-avatar.online::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  background: #00d26a;
  border: 2px solid white;
  border-radius: 50%;
}

/* Cores de Avatar Variadas */
.lv-hr-new-applicant-avatar.color-1 {
  background: linear-gradient(135deg, #667eea, #764ba2);
}

.lv-hr-new-applicant-avatar.color-2 {
  background: linear-gradient(135deg, #f093fb, #f5576c);
}

.lv-hr-new-applicant-avatar.color-3 {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.lv-hr-new-applicant-avatar.color-4 {
  background: linear-gradient(135deg, #43e97b, #38f9d7);
}

.lv-hr-new-applicant-avatar.color-5 {
  background: linear-gradient(135deg, #fa709a, #fee140);
}

/* Informações do Candidato */
.lv-hr-new-applicant-content {
  flex: 1;
  min-width: 0;
}

.lv-hr-new-applicant-name {
  font-weight: 600;
  color: #1a1a1a;
  font-size: 13px;
  margin-bottom: 4px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.lv-hr-new-applicant-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lv-hr-new-applicant-detail {
  font-size: 11px;
  color: #6c757d;
  display: flex;
  align-items: center;
  gap: 4px;
}

.lv-hr-new-applicant-detail strong {
  color: #495057;
  font-weight: 500;
}

/* Tag de Tempo Moderna */
.lv-hr-new-applicant-time {
  font-size: 11px;
  color: #adb5bd;
  margin-top: 8px;
  display: block;
}

/* Ações Modernas */
.lv-hr-new-applicant-actions {
  display: flex;
  gap: 4px;
  margin-top: 10px;
}

/* Estado Aprovado */
.lv-hr-new-applicant-btn-approve.approved {
  background: #00d26a;
  color: white;
  pointer-events: none;
}

/* Estado Vazio */
.lv-hr-new-applicant-empty {
  text-align: center;
  padding: 40px 20px;
}

.lv-hr-new-applicant-empty-icon {
  width: 64px;
  height: 64px;
  background: #f8f9fa;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 24px;
  color: #adb5bd;
}

.lv-hr-new-applicant-empty-text {
  font-size: 13px;
  color: #6c757d;
  line-height: 1.5;
}

/* Footer Moderno */
.lv-hr-new-applicant-footer {
  padding: 12px 16px;
  background: white;
  border-top: 1px solid #f0f2f5;
}

.lv-hr-new-applicant-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: #f8f9fa;
  color: #495057;
  text-decoration: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.lv-hr-new-applicant-view-all:hover {
  background: #e9ecef;
  color: #212529;
}

/* Loader Moderno */
.lv-hr-new-applicant-loader {
  display: flex;
  justify-content: center;
  padding: 30px;
}

.lv-hr-new-applicant-loader-dots {
  display: flex;
  gap: 4px;
}

.lv-hr-new-applicant-loader-dot {
  width: 8px;
  height: 8px;
  background: #5865f2;
  border-radius: 50%;
  animation: loader-bounce 1.4s ease-in-out infinite both;
}

.lv-hr-new-applicant-loader-dot:nth-child(1) {
  animation-delay: -0.32s;
}

.lv-hr-new-applicant-loader-dot:nth-child(2) {
  animation-delay: -0.16s;
}

.lv-hr-new-applicant-loader-dot:nth-child(3) {
  animation-delay: 0;
}

@keyframes loader-bounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
/* Estados Collapsed */
.lv-hr-new-applicant-container.collapsed .lv-hr-new-applicant-body,
.lv-hr-new-applicant-container.collapsed .lv-hr-new-applicant-footer {
  display: none;
}

/* Animações de Entrada/Saída */
@keyframes slideInLeft {
  from {
    transform: translateX(-20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(20px);
    opacity: 0;
  }
}
.lv-hr-new-applicant-cell {
  animation: slideInLeft 0.3s ease-out;
}

.lv-hr-new-applicant-cell.removing {
  animation: slideOutRight 0.3s ease-out forwards;
}

:root {
  --primary-color: #1A1A1A;
  --primary-hover: #1F2937;
  --secondary-color: #6B7280;
  --success-color: #22C55E;
  --danger-color: #EF4444;
  --warning-color: #F59E0B;
  --border-color: #E5E7EB;
  --border-light: #F3F4F6;
  --bg-light: #F9FAFB;
  --bg-hover: #FAFAFA;
  --bg-white: #FFFFFF;
  --text-primary: #1A1A1A;
  --text-secondary: #6B7280;
  --text-muted: #9CA3AF;
  --shadow-sm: 0 1px 2px rgba(9, 30, 66, 0.08);
  --shadow-md: 0 2px 8px rgba(9, 30, 66, 0.12);
  --shadow-lg: 0 0 1px rgba(9, 30, 66, 0.31), 0 3px 5px rgba(9, 30, 66, 0.2);
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --transition: all 0.15s ease;
}

.filters-toolbar {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.toolbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-box-main {
  position: relative;
  flex: 1;
  max-width: 400px;
}

.search-box-main i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-size: 14px;
  pointer-events: none;
}

.search-input-main {
  width: 100%;
  padding: 7px 36px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-size: 14px;
  transition: var(--transition);
  background: var(--bg-white);
}

.search-input-main:focus {
  border-color: var(--primary-color);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 82, 204, 0.15);
}

.search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  transition: var(--transition);
}

.search-clear:hover {
  color: var(--text-primary);
}

.filter-select {
  min-width: 160px;
  padding: 7px 12px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-size: 14px;
  background: var(--bg-white);
}

.btn-icon-only {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--bg-white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
}

.btn-icon-only:hover {
  background: var(--bg-hover);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* ========== PAINEL DE FILTROS AVANÇADOS ========== */
.advanced-filters-panel {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  overflow: hidden;
  animation: slideDown 0.2s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.panel-header {
  background: var(--bg-light);
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border-light);
}

.panel-header h6 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-close-panel {
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
  border-radius: var(--radius-sm);
}

.btn-close-panel:hover {
  background: var(--bg-hover);
}

.panel-body {
  padding: 16px;
}

.filter-adv-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.panel-footer {
  padding: 12px 16px;
  background: var(--bg-light);
  border-top: 1px solid var(--border-light);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* ========== CONTAINER PRINCIPAL ========== */
.main-content-wrapper {
  height: calc(100vh - 200px);
  min-height: 500px;
}

.main-content-wrapper .row {
  height: 100%;
}

/* ========== CONTAINER DA LISTA ========== */
.list-container {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ========== HEADER DA LISTA ========== */
.list-header-bar {
  padding: 12px 16px;
  border-bottom: 2px solid var(--border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--bg-light);
  flex-shrink: 0;
}

.list-count {
  display: flex;
  align-items: center;
  gap: 8px;
}

.count-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

#totalCount {
  color: var(--primary-color);
}

/* ========== CONTROLES DE ORDENAÇÃO ========== */
.sort-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sort-label {
  font-size: 13px;
  color: var(--text-secondary);
  font-weight: 500;
}

.sort-buttons {
  display: flex;
  gap: 4px;
  padding: 2px;
  background: var(--bg-white);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.btn-sort {
  padding: 5px 10px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.btn-sort i {
  font-size: 14px;
}

.btn-sort span {
  display: none;
}

.btn-sort:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.btn-sort.active {
  background: var(--primary-color);
  color: white;
}

/* ========== CARD DO CANDIDATO ========== */
/* Avatar */
.applicant-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #5243AA 0%, #7B68EE 100%);
  color: white;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  flex-shrink: 0;
}

.applicant-avatar.avatar-img {
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.applicant-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Info Principal */
.applicant-main-info {
  flex: 1;
  min-width: 0;
}

.applicant-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.applicant-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: var(--text-secondary);
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  overflow: hidden;
}

.contact-item i {
  font-size: 11px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.contact-item span {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Motivo */
.applicant-motive {
  flex-shrink: 0;
}

.motive-badge {
  display: inline-block;
  padding: 3px 8px;
  background: #FFF0E6;
  color: #B85C00;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Data */
.applicant-date {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  flex-shrink: 0;
}

.applicant-date i {
  font-size: 11px;
  color: var(--text-muted);
}

/* Botão de Ação */
.btn-card-action {
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  transition: var(--transition);
  flex-shrink: 0;
}

.btn-card-action:hover {
  background: var(--bg-light);
  color: var(--text-primary);
}

.applicant-card.active .btn-card-action {
  color: var(--primary-color);
}

/* ========== ESTADO VAZIO ========== */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
  height: 100%;
  min-height: 300px;
}

.empty-state i {
  font-size: 48px;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.empty-state h5 {
  color: var(--text-primary);
  margin-bottom: 8px;
  font-size: 16px;
}

.empty-state p {
  color: var(--text-secondary);
  margin: 0;
  font-size: 14px;
}

/* ========== PAINEL DE DETALHES ========== */
.details-panel {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.details-panel::-webkit-scrollbar {
  width: 8px;
}

.details-panel::-webkit-scrollbar-track {
  background: var(--bg-light);
}

.details-panel::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

/* Estado Vazio dos Detalhes */
.details-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  height: 100%;
  min-height: 400px;
}

.empty-illustration {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--bg-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.empty-illustration i {
  font-size: 48px;
  color: var(--text-muted);
}

.details-empty h5 {
  color: var(--text-primary);
  margin-bottom: 8px;
  font-size: 16px;
}

.details-empty p {
  color: var(--text-secondary);
  margin: 0;
  max-width: 200px;
  font-size: 13px;
  line-height: 1.5;
}

/* Conteúdo dos Detalhes */
.details-content {
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.details-header {
  padding: 20px;
  border-bottom: 1px solid var(--border-light);
  text-align: center;
  position: relative;
  background: var(--bg-light);
}

.btn-close-details {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border: none;
  background: var(--bg-white);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}

.btn-close-details:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.details-avatar-large {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5243AA 0%, #7B68EE 100%);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 600;
  margin: 0 auto 12px;
  text-transform: uppercase;
}

.details-avatar-large.avatar-img {
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.details-avatar-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.details-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 8px 0;
}

.details-contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.details-contact .contact-item {
  justify-content: center;
}

/* Body dos Detalhes */
.details-body {
  padding: 20px;
  flex: 1;
}

.info-card {
  background: var(--bg-light);
  border-radius: var(--radius-md);
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid var(--border-light);
}

.info-card-header {
  padding: 10px 12px;
  background: var(--bg-white);
  border-bottom: 1px solid var(--border-light);
  display: flex;
  align-items: center;
  gap: 8px;
}

.info-card-header i {
  color: var(--warning-color);
  font-size: 14px;
}

.info-card-header h6 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.info-card-body {
  padding: 12px;
}

.info-row {
  margin-bottom: 12px;
}

.info-row:last-child {
  margin-bottom: 0;
}

.info-row label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
}

.info-row span:not(.motive-badge) {
  color: var(--text-primary);
  font-size: 13px;
}

.notes-content {
  background: var(--bg-white);
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  color: var(--text-primary);
  line-height: 1.5;
  border: 1px solid var(--border-light);
}

/* Ações dos Detalhes */
.details-actions {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-light);
}

.details-actions .btn {
  font-size: 13px;
  padding: 8px 12px;
}

/* ========== RESPONSIVO ========== */
@media (max-width: 1200px) {
  .btn-sort span {
    display: none;
  }
}
@media (max-width: 768px) {
  .main-content-wrapper {
    height: auto;
  }
  .list-container {
    height: 500px;
    margin-bottom: 16px;
  }
  .toolbar-left {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .search-box-main {
    max-width: 100%;
  }
  .sort-controls {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .list-header-bar {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }
}
.analytics-dashboard {
  background-color: #fff;
  min-height: 100vh;
  padding: 20px;
}

/* Layout Principal: Gráficos + Sidebar KPIs */
.analytics-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 24px;
}

.analytics-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* KPI Sidebar */
.kpi-sidebar {
  position: sticky;
  top: 20px;
  height: fit-content;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 10px;
  background: #e5e5e5;
}

.kpi-sidebar-title {
  font-size: 11px;
  font-weight: 700;
  color: #706e6b;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 4px;
  padding-left: 4px;
}

.kpi-card {
  border-radius: 8px;
  padding: 16px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.kpi-card:hover {
  transform: translateX(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.kpi-card.success {
  border-left-color: #2e844a;
}
.kpi-card.warning {
  border-left-color: #ff9800;
}
.kpi-card.danger {
  border-left-color: #ea001e;
}
.kpi-card.info {
  border-left-color: #0176d3;
}
.kpi-card.purple {
  border-left-color: #9050e9;
}
.kpi-card.info .kpi-icon {
  background: #e5f1fb;
  color: #0176d3;
}
.kpi-card.success .kpi-icon {
  background: #d4edda;
  color: #2e844a;
}
.kpi-card.warning .kpi-icon {
  background: #fff3cd;
  color: #ff9800;
}
.kpi-card.purple .kpi-icon {
  background: #ede7f6;
  color: #9050e9;
}
.kpi-card.danger .kpi-icon {
  background: #ffebe6;
  color: #ea001e;
}

.kpi-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.kpi-content {
  flex: 1;
}

.kpi-label {
  font-size: 11px;
  font-weight: 600;
  color: #706e6b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.kpi-value {
  font-size: 26px;
  font-weight: 700;
  color: #181818;
  line-height: 1;
  margin-bottom: 4px;
}

.kpi-detail {
  font-size: 11px;
  color: #706e6b;
}

.kpi-trend {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 10px;
  margin-top: 6px;
}
.kpi-trend.up {
  background: #d4edda;
  color: #2e844a;
}
.kpi-trend.down {
  background: #ffebe6;
  color: #ea001e;
}

.kpi-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

/* Charts Grid */
.charts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.charts-grid.charts-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.chart-card {
  background: #ffffff;
  overflow: hidden;
  border: 1px solid #e5e5e5;
}
.chart-card.full-width {
  grid-column: 1/-1;
}

.chart-header {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #e5e5e5;
}

.chart-title {
  font-size: 14px;
  font-weight: 600;
  color: #181818;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.chart-title i {
  color: #0176d3;
  font-size: 16px;
}

.chart-body {
  padding: 16px;
}

.chart-container {
  height: 320px;
}
.chart-container.small {
  height: 280px;
}
.chart-container.large {
  height: 400px;
}

/* Loading State */
.chart-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #706e6b;
}

/* Table Stats */
.stats-table {
  width: 100%;
  border-collapse: collapse;
}
.stats-table th,
.stats-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #f3f3f3;
}
.stats-table th {
  font-size: 11px;
  font-weight: 600;
  color: #706e6b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #f9f9f9;
}
.stats-table td {
  font-size: 14px;
  color: #181818;
}
.stats-table tr:hover td {
  background: #f9f9f9;
}
.stats-table .value {
  font-weight: 600;
}

.progress-bar-cell {
  width: 120px;
}

.mini-progress {
  height: 6px;
  background: #e5e5e5;
  border-radius: 3px;
  overflow: hidden;
}

.mini-progress-fill {
  height: 100%;
  background: #0176d3;
  border-radius: 3px;
  transition: width 0.3s;
}

/* Responsive */
@media (max-width: 1400px) {
  .analytics-layout {
    grid-template-columns: 1fr 240px;
  }
}
@media (max-width: 1200px) {
  .analytics-layout {
    grid-template-columns: 1fr;
  }
  .kpi-sidebar {
    position: relative;
    top: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    order: -1;
  }
  .kpi-sidebar-title {
    grid-column: 1/-1;
  }
  .charts-grid,
  .charts-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 992px) {
  .kpi-sidebar {
    grid-template-columns: repeat(3, 1fr);
  }
  .charts-grid,
  .charts-grid-3 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .kpi-sidebar {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .kpi-sidebar {
    grid-template-columns: 1fr;
  }
}
.cd {
  background: #FFFFFF;
  min-height: 100vh;
  padding: 32px 24px;
}

.cd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 24px;
  margin-bottom: 32px;
  border-bottom: 1px solid #E5E7EB;
}

.cd-header__title h2 {
  font-family: "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
  color: #1F2937;
  margin: 0;
  line-height: 1.2;
}

.cd-header__subtitle {
  display: block;
  font-size: 13px;
  color: #6B7280;
  margin-top: 4px;
  letter-spacing: 0.01em;
}

.cd-filters {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cd-toggle {
  display: inline-flex;
  background: #F3F4F6;
  padding: 3px;
  gap: 2px;
}

.cd-toggle__btn {
  padding: 7px 20px;
  font-size: 13px;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  color: #4B5563;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 1.4;
}
.cd-toggle__btn:hover {
  color: #1F2937;
}
.cd-toggle__btn--active {
  background: #349422;
  color: #FFFFFF;
  font-weight: 600;
}
.cd-toggle__btn--active:hover {
  color: #FFFFFF;
  background: #2a7a1b;
}

.cd-select {
  padding: 7px 32px 7px 12px;
  font-size: 13px;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  color: #374151;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  transition: border-color 0.2s ease;
}
.cd-select:focus {
  outline: none;
  border-color: #349422;
}

.cd-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  gap: 16px;
  color: #6B7280;
  font-size: 14px;
  font-family: "Inter", sans-serif;
}

.cd-loading__spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #F3F4F6;
  border-top-color: #349422;
  border-radius: 50%;
  animation: cd-spin 0.8s linear infinite;
}

@keyframes cd-spin {
  to {
    transform: rotate(360deg);
  }
}
.ad-kpis {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin-bottom: 32px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
}

.ad-kpi {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px 20px;
  border-right: 1px solid #E5E7EB;
  transition: background 0.15s ease;
}
.ad-kpi:last-child {
  border-right: none;
}
.ad-kpi:hover {
  background: #F9FAFB;
}

.ad-kpi__icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1F2937;
  color: #FFFFFF;
  font-size: 14px;
  flex-shrink: 0;
  margin-bottom: 16px;
}

.ad-kpi__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ad-kpi__label {
  font-size: 11px;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 8px;
}

.ad-kpi__value {
  font-size: 28px;
  font-weight: 700;
  font-family: "Inter", sans-serif;
  color: #1F2937;
  line-height: 1;
  letter-spacing: -0.5px;
}
.ad-kpi__value small {
  font-size: 13px;
  font-weight: 500;
  color: #9CA3AF;
  letter-spacing: 0;
}

.ad-kpi__trend {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  margin-top: 10px;
}
.ad-kpi__trend--up {
  color: #16A34A;
}
.ad-kpi__trend--down {
  color: #EF4444;
}

.ad-kpi__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 11px;
  font-weight: 700;
  font-family: "Inter", sans-serif;
  padding: 3px 8px;
  background: #1F2937;
  color: #FFFFFF;
  letter-spacing: 0.3px;
}

.ad-row {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}
.ad-row--1 {
  grid-template-columns: 1fr;
}
.ad-row--2 {
  grid-template-columns: repeat(2, 1fr);
}
.ad-row--3 {
  grid-template-columns: repeat(3, 1fr);
}

.cd .card,
.ad-row .card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 0;
  overflow: hidden;
}

.cd .card-header,
.ad-row .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: transparent;
  border-bottom: 1px solid #F3F4F6;
}

.cd .card-title,
.ad-row .card-title {
  font-size: 14px;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  color: #1F2937;
  margin: 0;
  letter-spacing: -0.01em;
}

.cd .card-body,
.ad-row .card-body {
  padding: 16px;
}

.ad-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 20px;
  text-align: center;
}

.ad-empty__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9FAFB;
  color: #9CA3AF;
  font-size: 20px;
  margin-bottom: 12px;
}

.ad-empty__text {
  font-size: 13px;
  color: #9CA3AF;
  font-family: "Inter", sans-serif;
}

.ad-perf-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Inter", sans-serif;
  font-size: 13px;
}
.ad-perf-table thead tr {
  border-bottom: 2px solid #E5E7EB;
}
.ad-perf-table th {
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6B7280;
  text-align: left;
  white-space: nowrap;
}
.ad-perf-table tbody tr {
  border-bottom: 1px solid #F3F4F6;
  transition: background 0.15s ease;
}
.ad-perf-table tbody tr:last-child {
  border-bottom: none;
}
.ad-perf-table tbody tr:hover {
  background: #FAFAFA;
}
.ad-perf-table td {
  padding: 10px 12px;
  color: #374151;
  vertical-align: middle;
}
.ad-perf-table td:first-child {
  font-weight: 500;
  color: #1F2937;
}

.ad-perf-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 120px;
}

.ad-perf-bar__fill {
  height: 6px;
  background: #349422;
  flex: 0 0 auto;
  min-width: 2px;
  max-width: 80px;
  width: 0%;
  transition: width 0.4s ease;
}

.ad-perf-bar__label {
  font-size: 12px;
  font-weight: 600;
  color: #4B5563;
  white-space: nowrap;
}

@media (max-width: 1400px) {
  .ad-kpis {
    grid-template-columns: repeat(3, 1fr);
  }
  .ad-kpi:nth-child(3) {
    border-right: none;
  }
  .ad-kpi:nth-child(n+4) {
    border-top: 1px solid #E5E7EB;
  }
  .ad-row--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 992px) {
  .cd-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .cd-filters {
    flex-wrap: wrap;
  }
  .ad-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
  .ad-kpi {
    border-right: none;
    border-bottom: 1px solid #E5E7EB;
  }
  .ad-kpi:nth-child(odd) {
    border-right: 1px solid #E5E7EB;
  }
  .ad-kpi:last-child {
    border-bottom: none;
    border-right: none;
  }
  .ad-row--2,
  .ad-row--3 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 576px) {
  .cd {
    padding: 20px 16px;
  }
  .ad-kpis {
    grid-template-columns: 1fr;
  }
  .ad-kpi {
    border-right: none !important;
    border-bottom: 1px solid #E5E7EB;
  }
  .ad-kpi:last-child {
    border-bottom: none;
  }
  .ad-kpi__value {
    font-size: 22px;
  }
}
/* ==========================================================================
   Closed Job View - Pagina de Vaga Encerrada
   ========================================================================== */
.cj {
  background: #FFFFFF;
  min-height: 100vh;
  padding: 32px 0;
}

/* ==========================================================================
   Barra de Acoes
   ========================================================================== */
.cj-actions {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  justify-content: flex-end;
}

.cj-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  background: #FFFFFF;
  color: #4B5563;
}
.cj-actions__btn i {
  font-size: 14px;
}
.cj-actions__btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
}

.cj-actions__btn--primary {
  background: #349422;
  color: #fff;
  border-color: #349422;
}
.cj-actions__btn--primary:hover {
  background: #2a7a1b;
  border-color: #2a7a1b;
}

.cj-actions__btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ==========================================================================
   Info de Encerramento
   ========================================================================== */
.cj-closure-info {
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 24px;
  background: #FFFFFF;
}

.cj-closure-info__header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #F3F4F6;
}
.cj-closure-info__header i {
  font-size: 16px;
  color: #6B7280;
}

.cj-closure-info__row {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}

.cj-closure-info__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 140px;
}

.cj-closure-info__label {
  font-size: 11px;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.cj-closure-info__value {
  font-size: 14px;
  font-weight: 500;
  color: #1F2937;
}

.cj-closure-info__feedback {
  margin-top: 16px;
  padding: 14px 16px;
  background: #F9FAFB;
  border-radius: 6px;
  border-left: 3px solid #D1D5DB;
}

.cj-closure-info__feedback-text {
  font-size: 13px;
  color: #4B5563;
  margin: 6px 0 0 0;
  line-height: 1.5;
  white-space: pre-wrap;
}

/* ==========================================================================
   Kanban Read-Only
   ========================================================================== */
.cj-kanban-section {
  margin-top: 32px;
}

.cj-kanban-section__header {
  margin-bottom: 16px;
}

.cj-kanban-section__title {
  font-size: 16px;
  font-weight: 600;
  color: #1F2937;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cj-kanban-section__title i {
  color: #6B7280;
}

.cj-kanban {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 4px 0 16px;
}

.cj-kanban__col {
  min-width: 260px;
  max-width: 300px;
  flex: 1;
  background: #F9FAFB;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
}

.cj-kanban__col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 2px solid #349422;
}

.cj-kanban__col-name {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

.cj-kanban__col-count {
  font-size: 11px;
  font-weight: 600;
  color: #9CA3AF;
  background: #F3F4F6;
  padding: 2px 8px;
  border-radius: 10px;
}

.cj-kanban__col-body {
  padding: 8px;
  flex: 1;
  min-height: 60px;
}

.cj-kanban__empty {
  text-align: center;
  padding: 16px 8px;
  font-size: 12px;
  color: #9CA3AF;
}

.cj-kanban__card {
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 8px;
  transition: box-shadow 0.15s ease;
}
.cj-kanban__card:last-child {
  margin-bottom: 0;
}

.cj-kanban__card--reproved {
  border-left: 3px solid #EF4444;
}

.cj-kanban__card-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cj-kanban__card-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8f5e4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.cj-kanban__card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cj-kanban__card-letters {
  font-size: 11px;
  font-weight: 700;
  color: #349422;
  text-transform: uppercase;
}

.cj-kanban__card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.cj-kanban__card-name {
  font-size: 13px;
  font-weight: 600;
  color: #1F2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cj-kanban__card-date {
  font-size: 11px;
  color: #9CA3AF;
}

.cj-kanban__card-rank {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  margin-top: 8px;
  padding: 2px 8px;
  border-radius: 4px;
  background: #F9FAFB;
  color: #6B7280;
}
.cj-kanban__card-rank i {
  font-size: 10px;
}

.cj-kanban__card-reprove {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #EF4444;
  margin-top: 8px;
}
.cj-kanban__card-reprove i {
  font-size: 12px;
}

/* ==========================================================================
   KPI Icon Variants (complementa _company-dashboard.scss)
   ========================================================================== */
.ad-kpi__icon--green {
  color: #349422 !important;
}

.ad-kpi__icon--danger {
  color: #EF4444 !important;
}

.ad-kpi__icon--warning {
  color: #F59E0B !important;
}

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 992px) {
  .cj {
    padding: 24px 0;
  }
  .cj-closure-info__row {
    gap: 16px;
  }
  .cj-kanban__col {
    min-width: 220px;
  }
}
@media (max-width: 576px) {
  .cj {
    padding: 16px 0;
  }
  .cj-actions {
    flex-wrap: wrap;
    justify-content: center;
  }
  .cj-actions__btn span {
    display: none;
  }
  .cj-closure-info__row {
    flex-direction: column;
    gap: 12px;
  }
  .cj-kanban__col {
    min-width: 200px;
  }
}
/*
 * Test Questions Manager - Editorial Corporate Style
 * Vue.js powered question management interface
 */
.lv-tq-layout {
  display: flex;
  min-height: 100vh;
  background: #FAFAFA;
}

.lv-tq-sidebar {
  width: 280px;
  background: #FFFFFF;
  border-right: 1px solid #F3F4F6;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.lv-tq-sidebar-header {
  padding: 1.5rem;
  border-bottom: 1px solid #F3F4F6;
}

.lv-tq-sidebar-title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

.lv-tq-test-name {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
  line-height: 1.3;
}

.lv-tq-test-type {
  font-size: 0.8125rem;
  color: #6B7280;
}

.lv-tq-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
}

.lv-tq-stat {
  background: #FAFAFA;
  padding: 0.75rem;
  text-align: center;
}

.lv-tq-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A1A;
  display: block;
}

.lv-tq-stat-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
}

.lv-tq-nav {
  padding: 1rem 0;
  flex: 1;
}

.lv-tq-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.5rem;
  color: #6B7280;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  border-left: 3px solid transparent;
  background: none;
  border-top: none;
  border-right: none;
  border-bottom: none;
  width: 100%;
  text-align: left;
}
.lv-tq-nav-item i {
  font-size: 1rem;
  width: 20px;
  text-align: center;
}
.lv-tq-nav-item:hover {
  background: #FAFAFA;
  color: #1A1A1A;
}
.lv-tq-nav-item.active {
  background: rgba(0, 0, 0, 0.04);
  color: #1A1A1A;
  border-left-color: #1A1A1A;
  font-weight: 600;
}
.lv-tq-nav-item .lv-tq-nav-badge {
  margin-left: auto;
  background: #F3F4F6;
  padding: 0.125rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #6B7280;
}

.lv-tq-sidebar-actions {
  padding: 1.5rem;
  border-top: 1px solid #F3F4F6;
  margin-top: auto;
}

.lv-tq-back-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #6B7280;
  font-size: 0.8125rem;
  text-decoration: none;
  transition: color 0.15s ease;
}
.lv-tq-back-link:hover {
  color: #1A1A1A;
}

.lv-tq-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.lv-tq-header {
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: sticky;
  top: 0;
  z-index: 10;
}

.lv-tq-header-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
}

.lv-tq-header-actions {
  display: flex;
  gap: 0.75rem;
}

.lv-tq-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.lv-tq-btn i {
  font-size: 0.875rem;
}

.lv-tq-btn-primary {
  background: #349422;
  color: #FFFFFF;
}
.lv-tq-btn-primary:hover {
  background: #2a7a1b;
}

.lv-tq-btn-secondary {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #4B5563;
}
.lv-tq-btn-secondary:hover {
  border-color: #349422;
  color: #2a7a1b;
}

.lv-tq-btn-ghost {
  background: transparent;
  color: #6B7280;
  padding: 0.5rem;
}
.lv-tq-btn-ghost:hover {
  background: #e8f5e4;
  color: #2a7a1b;
}

.lv-tq-btn-danger {
  background: transparent;
  color: #9CA3AF;
  padding: 0.5rem;
}
.lv-tq-btn-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #EF4444;
}

.lv-tq-btn-confirm-danger {
  background: #EF4444;
  color: #FFFFFF;
}
.lv-tq-btn-confirm-danger:hover {
  background: #DC2626;
}

.lv-tq-dropdown {
  position: relative;
}

.lv-tq-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 200px;
  z-index: 100;
  display: none;
}
.lv-tq-dropdown-menu.show {
  display: block;
}

.lv-tq-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
}
.lv-tq-dropdown-item i {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}
.lv-tq-dropdown-item:hover {
  background: #FAFAFA;
}
.lv-tq-dropdown-item.active {
  background: #F9FAFB;
  font-weight: 500;
}

.lv-tq-dropdown-divider {
  height: 1px;
  background: #F3F4F6;
  margin: 0.5rem 0;
}

.lv-tq-content {
  flex: 1;
  padding: 2rem;
  overflow-y: auto;
}

.lv-tq-questions-list {
  max-width: 900px;
  margin: 0 auto;
}

.lv-tq-question {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
  transition: transform 0.2s ease, margin 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  border-radius: 8px;
}
.lv-tq-question:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.lv-tq-question.dragging {
  opacity: 0.4;
  background: #F9FAFB;
  border: 3px dashed #D1D5DB;
  box-shadow: none;
  transform: scale(0.98);
}
.lv-tq-question.dragging > * {
  visibility: hidden;
}
.lv-tq-question.drag-over {
  margin-top: 90px;
  transition: margin 0.15s ease-out;
}
.lv-tq-question.drag-over::before {
  content: "";
  position: absolute;
  top: -86px;
  left: 0;
  right: 0;
  height: 82px;
  border: 4px dashed #6366f1;
  border-radius: 12px;
  background: rgba(99, 102, 241, 0.08);
  box-shadow: inset 0 0 30px rgba(99, 102, 241, 0.12);
  animation: pulse-border 1.5s ease-in-out infinite;
}
.lv-tq-question.drag-over::after {
  content: "Soltar aqui";
  position: absolute;
  top: -58px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #6366f1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.9);
  padding: 0.25rem 1rem;
  border-radius: 4px;
}
.lv-tq-question.lv-tq-question--chosen:not(.dragging) {
  box-shadow: 0 12px 35px rgba(99, 102, 241, 0.25);
  border: 2px solid #6366f1;
  transform: rotate(1deg) scale(1.02);
  z-index: 1000;
}

@keyframes pulse-border {
  0%, 100% {
    border-color: #6366f1;
    box-shadow: inset 0 0 30px rgba(99, 102, 241, 0.12);
  }
  50% {
    border-color: #818cf8;
    box-shadow: inset 0 0 40px rgba(99, 102, 241, 0.18);
  }
}
.lv-tq-question-header {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #F9FAFB;
}

.lv-tq-question-drag {
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FAFAFA;
  cursor: grab;
  color: #D1D5DB;
  transition: all 0.15s ease;
}
.lv-tq-question-drag:hover {
  background: #F9FAFB;
  color: #6B7280;
}
.lv-tq-question-drag:active {
  cursor: grabbing;
}

.lv-tq-question-number {
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1A1A1A;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.875rem;
}

.lv-tq-question-info {
  flex: 1;
  padding: 1rem 1.25rem;
  min-width: 0;
}

.lv-tq-question-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1A1A1A;
  margin-bottom: 0.375rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lv-tq-question-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.lv-tq-question-type {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.5rem;
  background: #F9FAFB;
  color: #6B7280;
}
.lv-tq-question-type.multiple {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
}
.lv-tq-question-type.essay {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}

.lv-tq-question-options-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.lv-tq-question-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0 0.75rem;
}

.lv-tq-question-body {
  padding: 1rem 1.25rem;
  padding-left: calc(88px + 1.25rem);
  background: #FAFAFA;
}

.lv-tq-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lv-tq-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  font-size: 0.8125rem;
  color: #4B5563;
}
.lv-tq-option.correct {
  background: rgba(34, 197, 94, 0.08);
  border-color: #22c55e;
  color: #15803d;
}
.lv-tq-option.correct .lv-tq-option-letter {
  background: #22c55e;
}

.lv-tq-option-letter {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1A1A1A;
  color: #FFFFFF;
  font-size: 0.6875rem;
  font-weight: 600;
  flex-shrink: 0;
}

.lv-tq-option-text {
  flex: 1;
  line-height: 1.4;
}

.lv-tq-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #FFFFFF;
  border: 2px dashed #E5E7EB;
}

.lv-tq-empty-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.5rem;
  background: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #D1D5DB;
}

.lv-tq-empty-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.5rem;
}

.lv-tq-empty-text {
  font-size: 0.875rem;
  color: #9CA3AF;
  max-width: 400px;
  margin: 0 auto 1.5rem;
  line-height: 1.6;
}

.lv-tq-loading {
  text-align: center;
  padding: 4rem 2rem;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  color: #9CA3AF;
  font-size: 0.875rem;
}
.lv-tq-loading i {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 1rem;
  color: #D1D5DB;
}

.lv-tq-panel-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.lv-tq-panel-backdrop.show {
  opacity: 1;
  visibility: visible;
}

.lv-tq-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 600px;
  max-width: 100%;
  height: 100vh;
  background: #FFFFFF;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.lv-tq-panel.show {
  transform: translateX(0);
}

.lv-tq-panel-header {
  background: #1A1A1A;
  color: #FFFFFF;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lv-tq-panel-title {
  font-size: 1rem;
  font-weight: 600;
}

.lv-tq-panel-close {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0.25rem;
  transition: color 0.15s ease;
}
.lv-tq-panel-close:hover {
  color: #FFFFFF;
}

.lv-tq-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}

.lv-tq-panel-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #F3F4F6;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  background: #FAFAFA;
}

.lv-tq-form-group {
  margin-bottom: 1.5rem;
}

.lv-tq-form-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4B5563;
  margin-bottom: 0.5rem;
}
.lv-tq-form-label .required {
  color: #dc2626;
}

.lv-tq-form-hint {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.375rem;
}

.lv-tq-input,
.lv-tq-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #1A1A1A;
  transition: border-color 0.15s ease;
}
.lv-tq-input:focus,
.lv-tq-textarea:focus {
  outline: none;
  border-color: #1A1A1A;
}
.lv-tq-input::placeholder,
.lv-tq-textarea::placeholder {
  color: #D1D5DB;
}

.lv-tq-textarea {
  min-height: 100px;
  resize: vertical;
}

.lv-tq-options-builder {
  border: 1px solid #F3F4F6;
  background: #FAFAFA;
  padding: 1rem;
}

.lv-tq-options-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4B5563;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lv-tq-option-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  margin-bottom: 0.5rem;
  transition: all 0.15s ease;
}
.lv-tq-option-item.is-correct {
  background: rgba(34, 197, 94, 0.05);
  border-color: #22c55e;
}

.lv-tq-option-radio {
  margin-top: 0.25rem;
  accent-color: #22c55e;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.lv-tq-option-letter-input {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1A1A1A;
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lv-tq-option-input {
  flex: 1;
  padding: 0.5rem 0.75rem;
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
}
.lv-tq-option-input:focus {
  outline: none;
  border-color: #1A1A1A;
}

.lv-tq-option-delete {
  background: transparent;
  border: none;
  color: #D1D5DB;
  cursor: pointer;
  padding: 0.25rem;
  transition: color 0.15s ease;
}
.lv-tq-option-delete:hover {
  color: #dc2626;
}

.lv-tq-add-option {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem;
  background: transparent;
  border: 2px dashed #E5E7EB;
  color: #9CA3AF;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-top: 0.5rem;
}
.lv-tq-add-option:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
}

.lv-tq-type-selector {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.lv-tq-type-option {
  padding: 1.25rem;
  border: 2px solid #F3F4F6;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: center;
}
.lv-tq-type-option:hover {
  border-color: #D1D5DB;
}
.lv-tq-type-option.active {
  border-color: #1A1A1A;
  background: rgba(0, 0, 0, 0.02);
}

.lv-tq-type-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 0.75rem;
  background: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #6B7280;
}
.lv-tq-type-option.active .lv-tq-type-icon {
  background: #1A1A1A;
  color: #FFFFFF;
}

.lv-tq-type-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
}

.lv-tq-type-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
}

.lv-tq-toast {
  position: fixed;
  top: 20px;
  right: 20px;
  background: #1A1A1A;
  color: #FFFFFF;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  z-index: 2000;
  transform: translateX(120%);
  transition: transform 0.3s ease;
}
.lv-tq-toast.show {
  transform: translateX(0);
}
.lv-tq-toast.success {
  background: #22c55e;
}
.lv-tq-toast.error {
  background: #dc2626;
}
.lv-tq-toast i {
  font-size: 1rem;
}

.lv-tq-confirm-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
}
.lv-tq-confirm-backdrop.show {
  opacity: 1;
  visibility: visible;
}

.lv-tq-confirm {
  background: #FFFFFF;
  width: 400px;
  max-width: 90%;
  padding: 1.5rem;
  text-align: center;
}

.lv-tq-confirm-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  background: rgba(220, 38, 38, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #dc2626;
}

.lv-tq-confirm-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.5rem;
}

.lv-tq-confirm-text {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 1.5rem;
}

.lv-tq-confirm-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
}

.lv-tq-drag-placeholder {
  height: 80px;
  background: rgba(0, 0, 0, 0.04);
  border: 2px dashed #D1D5DB;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9CA3AF;
  font-size: 0.8125rem;
}

@media (max-width: 1024px) {
  .lv-tq-sidebar {
    width: 240px;
  }
  .lv-tq-content {
    padding: 1.5rem;
  }
}
@media (max-width: 768px) {
  .lv-tq-layout {
    flex-direction: column;
  }
  .lv-tq-sidebar {
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
    border-right: none;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-tq-nav {
    display: flex;
    overflow-x: auto;
    padding: 0;
    border-bottom: 1px solid #F3F4F6;
  }
  .lv-tq-nav-item {
    flex-shrink: 0;
    padding: 0.875rem 1.25rem;
    border-left: none;
    border-bottom: 3px solid transparent;
  }
  .lv-tq-nav-item.active {
    border-left-color: transparent;
    border-bottom-color: #1A1A1A;
  }
  .lv-tq-stats {
    grid-template-columns: repeat(4, 1fr);
  }
  .lv-tq-sidebar-actions {
    display: none;
  }
  .lv-tq-header {
    position: relative;
    top: 0;
    flex-wrap: wrap;
  }
  .lv-tq-panel {
    width: 100%;
  }
  .lv-tq-question-body {
    padding-left: 1.25rem;
  }
}
@media (max-width: 480px) {
  .lv-tq-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .lv-tq-type-selector {
    grid-template-columns: 1fr;
  }
  .lv-tq-question-header {
    flex-wrap: wrap;
  }
  .lv-tq-question-drag,
  .lv-tq-question-number {
    display: none;
  }
  .lv-tq-question-actions {
    width: 100%;
    justify-content: flex-end;
    padding: 0.5rem 1rem;
    border-top: 1px solid #F9FAFB;
  }
  .lv-tq-header-actions {
    width: 100%;
    justify-content: stretch;
  }
  .lv-tq-header-actions .lv-tq-btn {
    flex: 1;
    justify-content: center;
  }
}
/*
 * New Resume Pages - Editorial Corporate Style
 * Covers: resume-start, resume-experiences, resume-education, resume-skills
 */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.stat-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: border-color 0.2s ease;
}
.stat-card:hover {
  border-color: #1A1A1A;
}

.stat-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  background: #F9FAFB;
  color: #4B5563;
}
.stat-icon.blue {
  background: rgba(59, 130, 246, 0.1);
  color: #3B82F6;
}
.stat-icon.teal {
  background: rgba(20, 184, 166, 0.1);
  color: #14b8a6;
}
.stat-icon.green {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
}
.stat-icon.orange {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.stat-icon.purple {
  background: rgba(139, 92, 246, 0.1);
  color: #8b5cf6;
}

.stat-label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

.stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0;
  line-height: 1.2;
}

.content-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  margin-bottom: 1.5rem;
}

.content-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FAFAFA;
}

.content-card-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin: 0;
}
.content-card-title i {
  color: #9CA3AF;
}

.badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 0.5rem;
  background: #1A1A1A;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 600;
}

.content-card-body {
  padding: 1.25rem;
}

.exp-item, .edu-item {
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
  transition: border-color 0.2s ease;
}
.exp-item:last-child, .edu-item:last-child {
  margin-bottom: 0;
}
.exp-item:hover, .edu-item:hover {
  border-color: #D1D5DB;
}

.exp-item-header, .edu-item-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem;
  background: #FAFAFA;
  border-bottom: 1px solid #F3F4F6;
}

.exp-item-main, .edu-item-main {
  display: flex;
  gap: 1rem;
  flex: 1;
}

.exp-item-icon, .edu-item-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  color: #6B7280;
  font-size: 1rem;
  flex-shrink: 0;
}

.exp-item-content, .edu-item-content {
  flex: 1;
  min-width: 0;
}

.exp-item-role, .edu-item-course {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.25rem 0;
  cursor: pointer;
}
.exp-item-role:hover, .edu-item-course:hover {
  text-decoration: underline;
}

.exp-item-company, .edu-item-school {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
}

.exp-item-meta, .edu-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

.exp-meta-item, .edu-meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.exp-meta-item i, .edu-meta-item i {
  font-size: 0.875rem;
}

.duration-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #F9FAFB;
  color: #4B5563;
  font-weight: 500;
}

.badge-current {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #1A1A1A;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.exp-item-actions, .edu-item-actions {
  display: flex;
  gap: 0.5rem;
}

.btn-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-icon:hover {
  border-color: #1A1A1A;
  color: #1A1A1A;
}
.btn-icon.btn-delete:hover {
  border-color: #EF4444;
  color: #EF4444;
  background: rgba(239, 68, 68, 0.05);
}

.exp-item-body {
  padding: 1rem;
}

.exp-item-description {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  margin: 0;
}

.situation-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-weight: 500;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.situation-badge.situation-0 {
  background: #F9FAFB;
  color: #4B5563;
}
.situation-badge.situation-1 {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(147.937007874, 95.188976378, 6.062992126);
}
.situation-badge.situation-2 {
  background: rgba(34, 197, 94, 0.1);
  color: #16A34A;
}
.situation-badge.situation-3 {
  background: rgba(239, 68, 68, 0.1);
  color: #DC2626;
}

.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
}

.empty-state-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9FAFB;
  color: #D1D5DB;
  font-size: 1.75rem;
}

.empty-state-title {
  font-size: 1rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.5rem 0;
}

.empty-state-text {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 1.5rem 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.tips-card {
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 1rem 1.25rem;
}

.tips-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0 0 0.75rem 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.tips-title i {
  color: #9CA3AF;
}

.tips-list {
  margin: 0;
  padding-left: 1.25rem;
}
.tips-list li {
  font-size: 0.8125rem;
  color: #4B5563;
  margin-bottom: 0.375rem;
  line-height: 1.5;
}
.tips-list li:last-child {
  margin-bottom: 0;
}

.li-r-import-section {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  padding: 1.25rem;
}

.li-r-import-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
}

.li-r-import-logo {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0077b5;
  color: #FFFFFF;
  font-size: 1.25rem;
}

.li-r-import-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.li-r-import-text {
  font-size: 0.8125rem;
  color: #6B7280;
  margin-bottom: 1rem;
}
.li-r-import-text p {
  margin: 0;
}

.li-r-import-dropzone {
  border: 2px dashed #E5E7EB;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.2s ease;
  position: relative;
  cursor: pointer;
}
.li-r-import-dropzone:hover, .li-r-import-dropzone.dropzone-active {
  border-color: #1A1A1A;
  background: #FAFAFA;
}
.li-r-import-dropzone.dropzone-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.li-r-file-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.li-r-import-dropzone-content {
  pointer-events: none;
}

.li-r-import-icon {
  font-size: 2rem;
  color: #D1D5DB;
  margin-bottom: 0.75rem;
}

.li-r-import-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1A1A1A;
  margin-bottom: 0.25rem;
}

.li-r-import-sublabel {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

.li-r-browse-button {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: #1A1A1A;
  color: #FFFFFF;
  border: none;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
  pointer-events: auto;
}
.li-r-browse-button:hover {
  background: #374151;
}
.li-r-browse-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.li-r-upload-status {
  margin-top: 1rem;
}
.li-r-upload-status .upload-progress {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #4B5563;
}
.li-r-upload-status .alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  margin: 0;
}
.li-r-upload-status .alert.alert-success {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid #22C55E;
  color: #16A34A;
}
.li-r-upload-status .alert.alert-danger {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid #EF4444;
  color: #DC2626;
}

.app-new-skill-section {
  padding: 1.25rem;
  background-color: #FAFAFA;
  border: 1px solid #F3F4F6;
  margin-bottom: 1rem;
}
.app-new-skill-section h5 {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6B7280;
  margin-bottom: 1rem;
}
.app-new-skill-section h5 i {
  margin-right: 0.5rem;
}

.app-new-skill-card {
  border: 1px solid #F3F4F6;
  transition: border-color 0.2s ease;
}
.app-new-skill-card:hover {
  border-color: #D1D5DB;
}

.app-new-skill-language-card {
  border: 1px solid #F3F4F6;
  background: #FFFFFF;
  transition: border-color 0.2s ease;
}
.app-new-skill-language-card:hover {
  border-color: #D1D5DB;
}
.app-new-skill-language-card .card-body {
  padding: 1rem;
}
.app-new-skill-language-card .card-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 0.75rem;
}
.app-new-skill-language-card .btn-group label {
  font-size: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0 !important;
}

.app-new-skill-accessibility-card,
.app-new-skill-diversity-card {
  border: 1px solid #F3F4F6;
  background: #FFFFFF;
}
.app-new-skill-accessibility-card .card-body,
.app-new-skill-diversity-card .card-body {
  padding: 1rem;
}

.app-new-skill-pcd-details {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}

.required-mark {
  color: #EF4444;
  font-weight: 600;
}

.rc-flex-space-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

@media (min-width: 768px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .exp-item-header,
  .edu-item-header {
    flex-direction: column;
    gap: 1rem;
  }
  .exp-item-actions,
  .edu-item-actions {
    align-self: flex-end;
  }
}
@media (max-width: 575px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .content-card-header {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
  }
  .exp-item-main,
  .edu-item-main {
    flex-direction: column;
  }
  .exp-item-meta,
  .edu-item-meta {
    flex-direction: column;
    gap: 0.5rem;
  }
}
:root {
  --ec-black: #1A1A1A;
  --ec-white: #FFFFFF;
  --ec-gray-900: #1F2937;
  --ec-gray-800: #374151;
  --ec-gray-700: #4B5563;
  --ec-gray-600: #6B7280;
  --ec-gray-500: #9CA3AF;
  --ec-gray-400: #D1D5DB;
  --ec-gray-300: #E5E7EB;
  --ec-gray-200: #F3F4F6;
  --ec-gray-100: #F9FAFB;
  --ec-gray-50: #FAFAFA;
  --ec-success: #22C55E;
  --ec-danger: #EF4444;
  --ec-warning: #F59E0B;
}

.lv-parcial-overlay-container {
  background: var(--ec-white);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.vertical-header,
.vertical-email-header,
.vertical-interview-header,
.vertical-sms-header {
  background: var(--ec-white);
  border-bottom: 1px solid var(--ec-gray-300);
  padding: 20px 24px;
  flex-shrink: 0;
}

.vertical-header-content,
.vertical-email-header-content,
.vertical-interview-header-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

.vertical-header-icon,
.vertical-email-header-icon,
.vertical-interview-header-icon {
  width: 44px;
  height: 44px;
  background: var(--ec-black);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--ec-white);
  flex-shrink: 0;
}

.vertical-header-text,
.vertical-email-header-text,
.vertical-interview-header-text {
  flex: 1;
}

.vertical-email-title,
.vertical-interview-title,
.vertical-sms-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ec-black);
  margin: 0 0 4px 0;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.vertical-email-subtitle,
.vertical-interview-subtitle,
.vertical-sms-subtitle {
  font-size: 0.875rem;
  color: var(--ec-gray-600);
  margin: 0;
  font-weight: 400;
}

.vertical-email-close,
.interview-header-close {
  width: 36px;
  height: 36px;
  border: 1px solid var(--ec-gray-300);
  background: transparent;
  color: var(--ec-gray-600);
  border-radius: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.vertical-email-close:hover,
.interview-header-close:hover {
  background: var(--ec-gray-100);
  border-color: var(--ec-gray-400);
  color: var(--ec-black);
}

.vertical-email-body,
.vertical-interview-body,
.vertical-sms-body {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: var(--ec-gray-50);
}

.vertical-email-section,
.vertical-form-section,
.vertical-section {
  background: var(--ec-white);
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  padding: 20px;
  flex-shrink: 0;
}

.vertical-email-section-title,
.vertical-form-section-title,
.vertical-section-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ec-gray-600);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ec-gray-200);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.vertical-email-section-icon,
.vertical-form-section-icon {
  width: 24px;
  height: 24px;
  background: var(--ec-black);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ec-white);
  font-size: 11px;
}

.vertical-email-form-group,
.vertical-form-group {
  margin-bottom: 16px;
}
.vertical-email-form-group:last-child,
.vertical-form-group:last-child {
  margin-bottom: 0;
}

.vertical-email-form-label,
.vertical-form-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  color: var(--ec-gray-700);
  font-size: 0.75rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.vertical-email-form-label .required, .vertical-email-form-label .required-asterisk,
.vertical-form-label .required,
.vertical-form-label .required-asterisk {
  color: var(--ec-danger);
  margin-left: 2px;
}

.vertical-email-form-input,
.vertical-email-form-select,
.vertical-form-input,
.vertical-form-select,
.vertical-form-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  font-size: 0.875rem;
  transition: all 0.15s ease;
  background: var(--ec-white);
  color: var(--ec-black);
  line-height: 1.5;
  font-family: inherit;
}
.vertical-email-form-input:focus,
.vertical-email-form-select:focus,
.vertical-form-input:focus,
.vertical-form-select:focus,
.vertical-form-textarea:focus {
  outline: none;
  border-color: var(--ec-black);
  box-shadow: 0 0 0 1px var(--ec-black);
  background: var(--ec-white);
}
.vertical-email-form-input::placeholder,
.vertical-email-form-select::placeholder,
.vertical-form-input::placeholder,
.vertical-form-select::placeholder,
.vertical-form-textarea::placeholder {
  color: var(--ec-gray-500);
}

.vertical-form-textarea,
.vertical-sms-textarea {
  resize: vertical;
  min-height: 100px;
}

.vertical-email-form-row,
.vertical-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 600px) {
  .vertical-email-form-row,
  .vertical-form-row {
    grid-template-columns: 1fr;
  }
}

.vertical-email-chips-container {
  min-height: 80px;
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  padding: 8px;
  background: var(--ec-white);
  cursor: text;
  transition: all 0.15s ease;
}
.vertical-email-chips-container:focus-within {
  border-color: var(--ec-black);
  box-shadow: 0 0 0 1px var(--ec-black);
}

.vertical-email-chips,
.email-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.vertical-email-chip,
.vertical-email-recipient-tag {
  background: var(--ec-gray-100);
  color: var(--ec-black);
  padding: 5px 10px;
  border-radius: 0;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  max-width: 200px;
  border: 1px solid var(--ec-gray-300);
}

.vertical-email-chip-text,
.vertical-email-recipient-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.vertical-email-chip-remove,
.vertical-email-recipient-remove {
  background: transparent;
  border: none;
  color: var(--ec-gray-500);
  width: 16px;
  height: 16px;
  border-radius: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  transition: all 0.15s;
  flex-shrink: 0;
}
.vertical-email-chip-remove:hover,
.vertical-email-recipient-remove:hover {
  background: var(--ec-gray-300);
  color: var(--ec-black);
}

.vertical-email-input,
.vertical-email-recipients-input,
.email-input {
  border: none;
  outline: none;
  padding: 6px 4px;
  font-size: 0.875rem;
  background: transparent;
  min-width: 200px;
  flex: 1;
  color: var(--ec-black);
}
.vertical-email-input::placeholder,
.vertical-email-recipients-input::placeholder,
.email-input::placeholder {
  color: var(--ec-gray-500);
}

.vertical-email-tags-container {
  margin-bottom: 16px;
}

.vertical-email-tags-label,
.vertical-tags-label {
  font-size: 0.75rem;
  color: var(--ec-gray-600);
  margin-bottom: 8px;
  display: block;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 600;
}

.vertical-email-tags-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 120px;
  overflow-y: auto;
  padding: 10px;
  border-bottom: 1px solid var(--ec-gray-200);
  background: var(--ec-gray-50);
}

.vertical-email-tag-btn,
.editor-tag,
.tag-btn {
  background: var(--ec-white);
  color: var(--ec-black);
  padding: 6px 12px;
  border-radius: 0;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid var(--ec-gray-400);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.vertical-email-tag-btn:hover,
.editor-tag:hover,
.tag-btn:hover {
  background: var(--ec-black);
  color: var(--ec-white);
  border-color: var(--ec-black);
}

.vertical-email-editor {
  background: var(--ec-white);
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.vertical-email-toolbar {
  display: flex;
  flex-wrap: wrap;
  padding: 8px;
  background: var(--ec-gray-100);
  border-bottom: 1px solid var(--ec-gray-300);
  gap: 4px;
}

.vertical-email-toolbar-btn {
  width: 32px;
  height: 32px;
  border: 1px solid var(--ec-gray-300);
  background: var(--ec-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ec-gray-700);
  border-radius: 0;
  transition: all 0.15s;
  font-size: 14px;
}
.vertical-email-toolbar-btn:hover {
  background: var(--ec-gray-200);
  color: var(--ec-black);
  border-color: var(--ec-gray-400);
}
.vertical-email-toolbar-btn.active {
  background: var(--ec-black);
  color: var(--ec-white);
  border-color: var(--ec-black);
}

.vertical-email-content {
  min-height: 200px;
  padding: 16px;
  outline: none;
  font-size: 0.875rem;
  line-height: 1.6;
  background: var(--ec-white);
  color: var(--ec-black);
}
.vertical-email-content:empty::before {
  content: attr(data-placeholder);
  color: var(--ec-gray-500);
  font-style: italic;
}

.vertical-email-upload-area {
  border: 2px dashed var(--ec-gray-400);
  border-radius: 0;
  padding: 32px;
  text-align: center;
  transition: all 0.15s ease;
  cursor: pointer;
  background: var(--ec-gray-50);
}
.vertical-email-upload-area:hover {
  border-color: var(--ec-black);
  background: var(--ec-gray-100);
}
.vertical-email-upload-area.drag-over {
  border-color: var(--ec-black);
  background: var(--ec-gray-100);
}

.vertical-email-upload-icon {
  font-size: 2rem;
  color: var(--ec-gray-500);
  margin-bottom: 12px;
  display: block;
}

.vertical-email-upload-text {
  font-size: 0.875rem;
  color: var(--ec-black);
  margin-bottom: 8px;
  font-weight: 500;
}

.vertical-email-upload-btn {
  background: none;
  border: none;
  color: var(--ec-black);
  text-decoration: none;
  cursor: pointer;
  font-weight: 700;
  padding: 0;
  border-bottom: 2px solid var(--ec-black);
}
.vertical-email-upload-btn:hover {
  opacity: 0.7;
}

.vertical-email-upload-info {
  font-size: 0.75rem;
  color: var(--ec-gray-600);
  margin: 0;
}

.vertical-email-attached-files {
  margin-top: 16px;
  max-height: 300px;
  overflow-y: auto;
}

.vertical-email-attached-title {
  font-size: 0.75rem;
  font-weight: 700;
  background: var(--ec-gray-100);
  color: var(--ec-gray-700);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 8px;
}

.vertical-email-file-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vertical-email-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  background: var(--ec-white);
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  margin-bottom: 8px;
  transition: all 0.15s ease;
}
.vertical-email-file-item:hover {
  border-color: var(--ec-black);
}

.vertical-email-file-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.vertical-email-file-icon {
  width: 32px;
  height: 32px;
  background: var(--ec-black);
  color: var(--ec-white);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.vertical-email-file-name {
  font-weight: 600;
  color: var(--ec-black);
  font-size: 0.875rem;
  margin: 0;
}

.vertical-email-file-size {
  font-size: 0.75rem;
  color: var(--ec-gray-600);
}

.vertical-email-file-remove {
  background: none;
  border: none;
  color: var(--ec-gray-500);
  cursor: pointer;
  padding: 5px;
  transition: all 0.15s ease;
}
.vertical-email-file-remove:hover {
  color: var(--ec-danger);
}

.vertical-email-actions,
.vertical-interview-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 24px;
  background: var(--ec-white);
  border-top: 1px solid var(--ec-gray-300);
  flex-shrink: 0;
}

.interview-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.interview-type-card {
  cursor: pointer;
  margin: 0;
}

.interview-type-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.interview-type-card-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 2px solid var(--ec-gray-300);
  border-radius: 0;
  background: var(--ec-white);
  transition: all 0.15s;
}
.interview-type-card-inner:hover {
  border-color: var(--ec-gray-500);
  background: var(--ec-gray-50);
}

.interview-type-radio:checked + .interview-type-card-inner {
  border-color: var(--ec-black);
  background: var(--ec-gray-100);
}

.interview-type-radio:checked + .interview-type-card-inner .interview-type-icon {
  background: var(--ec-black);
  color: var(--ec-white);
}

.interview-type-icon {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ec-gray-200);
  color: var(--ec-gray-600);
  font-size: 14px;
  transition: all 0.15s;
  flex-shrink: 0;
}

.interview-type-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ec-black);
}

.interview-datetime-row {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  background: var(--ec-white);
  overflow: hidden;
}

.interview-datetime-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  flex: 1;
  border-right: 1px solid var(--ec-gray-300);
}
.interview-datetime-item:last-child {
  border-right: none;
}
.interview-datetime-item i {
  color: var(--ec-gray-600);
  font-size: 14px;
  flex-shrink: 0;
}

.interview-inline-input {
  border: none;
  outline: none;
  font-size: 0.875rem;
  color: var(--ec-black);
  background: transparent;
  width: 100%;
  padding: 0;
  cursor: pointer;
}
.interview-inline-input:focus {
  color: var(--ec-gray-900);
}

.interview-title-hero {
  background: var(--ec-white);
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  padding: 0;
  overflow: hidden;
}

.interview-title-input {
  width: 100%;
  border: none;
  outline: none;
  padding: 18px 20px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ec-black);
  background: transparent;
}
.interview-title-input::placeholder {
  color: var(--ec-gray-500);
  font-weight: 500;
}
.interview-title-input:focus {
  box-shadow: inset 0 -2px 0 var(--ec-black);
}

.interview-link-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  background: var(--ec-white);
  transition: all 0.15s;
}
.interview-link-field:focus-within {
  border-color: var(--ec-black);
  box-shadow: 0 0 0 1px var(--ec-black);
}
.interview-link-field i {
  color: var(--ec-gray-500);
  font-size: 14px;
  flex-shrink: 0;
}

.interview-link-input {
  border: none;
  outline: none;
  font-size: 0.875rem;
  color: var(--ec-black);
  background: transparent;
  width: 100%;
}
.interview-link-input::placeholder {
  color: var(--ec-gray-500);
}

.interview-link-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  color: var(--ec-gray-500);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.interview-link-divider::before, .interview-link-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--ec-gray-300);
}

.interview-meet-options {
  margin-bottom: 16px;
}

.interview-meet-option {
  display: block;
  cursor: pointer;
  margin: 0;
}

.interview-meet-option input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.interview-meet-option-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 2px solid var(--ec-gray-300);
  border-radius: 0;
  transition: all 0.15s;
}

.interview-meet-option input[type=checkbox]:checked + .interview-meet-option-inner {
  border-color: var(--ec-black);
  background: var(--ec-gray-100);
}

.interview-meet-option-inner:hover {
  border-color: var(--ec-gray-500);
}

.interview-meet-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.interview-meet-logo-fallback {
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: var(--ec-black);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ec-white);
  font-size: 14px;
  flex-shrink: 0;
}

.interview-meet-option-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ec-black);
}

.interview-meet-option-desc {
  display: block;
  font-size: 0.75rem;
  color: var(--ec-gray-600);
}

.interview-notes-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  cursor: pointer;
  color: var(--ec-gray-600);
  font-size: 0.875rem;
  font-weight: 600;
  transition: color 0.15s;
  user-select: none;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.interview-notes-toggle:hover {
  color: var(--ec-black);
}
.interview-notes-toggle i:first-child {
  font-size: 14px;
}
.interview-notes-toggle span {
  flex: 1;
}

.interview-notes-chevron {
  font-size: 12px;
  transition: transform 0.2s;
}

.interview-notes-toggle.open .interview-notes-chevron {
  transform: rotate(180deg);
}

.interview-notes-content {
  margin-top: 14px;
}

.interview-email-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 0.75rem;
  color: var(--ec-gray-600);
}
.interview-email-hint i {
  font-size: 12px;
  color: var(--ec-gray-500);
}

.error,
.vertical-email-validation,
.participants-error {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 0.75rem;
  color: var(--ec-danger);
}
.error i,
.vertical-email-validation i,
.participants-error i {
  font-size: 14px;
}

.vertical-char-counter {
  margin-top: 16px;
}

.vertical-counter-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px;
  background: var(--ec-gray-100);
  border: 1px solid var(--ec-gray-300);
}

.vertical-counter-item {
  text-align: center;
  padding: 8px;
  background: var(--ec-white);
}

.vertical-counter-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ec-black);
  line-height: 1;
  margin-bottom: 4px;
}

.vertical-counter-label {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--ec-gray-600);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.vertical-preview-card {
  background: var(--ec-white);
  border: 1px solid var(--ec-gray-300);
  border-radius: 0;
  overflow: hidden;
}

.vertical-preview-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: var(--ec-gray-100);
  border-bottom: 1px solid var(--ec-gray-300);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ec-gray-700);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.vertical-preview-header i {
  color: var(--ec-gray-600);
}

.vertical-preview-body {
  padding: 16px;
}

.vertical-preview-text {
  font-size: 0.875rem;
  color: var(--ec-black);
  line-height: 1.6;
  margin: 0;
}
.vertical-preview-text em {
  color: var(--ec-gray-500);
}

.vertical-lgpd-alert {
  position: relative;
  padding: 16px;
  padding-right: 40px;
  background: var(--ec-gray-100);
  border-left: 3px solid var(--ec-black);
  margin-bottom: 20px;
}

.vertical-alert-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  color: var(--ec-gray-500);
  cursor: pointer;
  padding: 4px;
}
.vertical-alert-close:hover {
  color: var(--ec-black);
}

.vertical-alert-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.vertical-alert-icon {
  width: 28px;
  height: 28px;
  background: var(--ec-black);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ec-white);
  font-size: 12px;
}

.vertical-alert-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ec-black);
  margin: 0;
}

.vertical-alert-text {
  font-size: 0.8125rem;
  color: var(--ec-gray-700);
  line-height: 1.5;
}

.vertical-email-body::-webkit-scrollbar,
.vertical-interview-body::-webkit-scrollbar,
.vertical-email-tags-wrapper::-webkit-scrollbar,
.vertical-email-content::-webkit-scrollbar {
  width: 6px;
}

.vertical-email-body::-webkit-scrollbar-track,
.vertical-interview-body::-webkit-scrollbar-track,
.vertical-email-tags-wrapper::-webkit-scrollbar-track,
.vertical-email-content::-webkit-scrollbar-track {
  background: var(--ec-gray-100);
}

.vertical-email-body::-webkit-scrollbar-thumb,
.vertical-interview-body::-webkit-scrollbar-thumb,
.vertical-email-tags-wrapper::-webkit-scrollbar-thumb,
.vertical-email-content::-webkit-scrollbar-thumb {
  background: var(--ec-gray-400);
  border-radius: 0;
}

.vertical-email-body::-webkit-scrollbar-thumb:hover,
.vertical-interview-body::-webkit-scrollbar-thumb:hover,
.vertical-email-tags-wrapper::-webkit-scrollbar-thumb:hover,
.vertical-email-content::-webkit-scrollbar-thumb:hover {
  background: var(--ec-gray-500);
}

@media (max-width: 768px) {
  .interview-datetime-row {
    flex-direction: column;
  }
  .interview-datetime-item {
    border-right: none;
    border-bottom: 1px solid var(--ec-gray-300);
  }
  .interview-datetime-item:last-child {
    border-bottom: none;
  }
  .interview-type-grid {
    grid-template-columns: 1fr 1fr;
  }
  .vertical-counter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .vertical-email-body,
  .vertical-interview-body {
    padding: 16px;
    gap: 12px;
  }
  .vertical-email-section,
  .vertical-form-section {
    padding: 16px;
  }
  .vertical-email-form-row,
  .vertical-form-row {
    grid-template-columns: 1fr;
  }
  .vertical-email-actions,
  .vertical-interview-actions {
    flex-direction: column;
    gap: 8px;
  }
  .interview-type-grid {
    grid-template-columns: 1fr;
  }
}
:root {
  --wa-green: #25D366;
  --wa-green-dark: #128C7E;
  --wa-light: #DCF8C6;
  --wa-bg: #E5DDD5;
  --wa-bubble-white: #ffffff;
  --wa-bubble-shadow: rgba(0, 0, 0, 0.08);
  --wa-text: #111b21;
  --wa-text-secondary: #667781;
  --wa-border: #e0e0e0;
}

.wa-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--wa-border);
  background: #fff;
}
.wa-header__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wa-green);
  color: #fff;
  font-size: 18px;
}
.wa-header__text {
  flex: 1;
}
.wa-header__text h1 {
  font-size: 16px;
  font-weight: 600;
  color: var(--wa-text);
  margin: 0;
  line-height: 1.3;
}
.wa-header__text p {
  font-size: 12px;
  color: var(--wa-text-secondary);
  margin: 0;
}
.wa-header__back {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: var(--wa-text-secondary);
  font-size: 18px;
}
.wa-header__back:hover {
  color: var(--wa-text);
}

.wa-recipients-info {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: #f8f9fa;
  border-bottom: 1px solid var(--wa-border);
  font-size: 13px;
  color: var(--wa-text-secondary);
}
.wa-recipients-info i {
  color: var(--wa-green);
}
.wa-recipients-info strong {
  color: var(--wa-text);
}

.wa-search-bar {
  padding: 12px 24px;
  border-bottom: 1px solid var(--wa-border);
}
.wa-search-bar input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--wa-border);
  font-size: 13px;
  background: #f8f9fa;
  outline: none;
  transition: border-color 0.15s;
}
.wa-search-bar input:focus {
  border-color: var(--wa-green);
  background: #fff;
}
.wa-search-bar input::placeholder {
  color: #aaa;
}

.wa-template-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 24px;
}
.wa-template-list::-webkit-scrollbar {
  width: 4px;
}
.wa-template-list::-webkit-scrollbar-thumb {
  background: #ccc;
}

.wa-tpl-card {
  padding: 14px 16px;
  border: 1px solid var(--wa-border);
  margin-bottom: 8px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.wa-tpl-card:hover {
  border-color: var(--wa-green);
  background: #fafffe;
}
.wa-tpl-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.wa-tpl-card__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--wa-text);
}
.wa-tpl-card__category {
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  background: #f0f0f0;
  color: var(--wa-text-secondary);
}
.wa-tpl-card__body {
  font-size: 12px;
  color: var(--wa-text-secondary);
  line-height: 1.4;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wa-tpl-card__vars {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.wa-tpl-card__var-tag {
  font-size: 10px;
  padding: 1px 6px;
  background: #e8f5e9;
  color: var(--wa-green-dark);
  font-family: monospace;
}

.wa-empty-state {
  text-align: center;
  padding: 40px 24px;
  color: var(--wa-text-secondary);
}
.wa-empty-state i {
  font-size: 32px;
  margin-bottom: 12px;
  color: #ddd;
}
.wa-empty-state p {
  font-size: 13px;
  margin: 0;
}

.wa-variables-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}
.wa-variables-body::-webkit-scrollbar {
  width: 4px;
}
.wa-variables-body::-webkit-scrollbar-thumb {
  background: #ccc;
}

.wa-var-section-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--wa-text);
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--wa-border);
}

.wa-var-field {
  margin-bottom: 12px;
}
.wa-var-field label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--wa-text-secondary);
  margin-bottom: 4px;
  font-family: monospace;
}
.wa-var-field input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--wa-border);
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s;
}
.wa-var-field input:focus {
  border-color: var(--wa-green);
}
.wa-var-field--auto .wa-auto-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  font-size: 12px;
  background: #e8f5e9;
  color: var(--wa-green-dark);
  border: 1px solid #c8e6c9;
  width: 100%;
}
.wa-var-field--auto .wa-auto-badge i {
  font-size: 11px;
}
.wa-var-field--recipient .wa-recipient-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  font-size: 12px;
  background: #e3f2fd;
  color: #1565c0;
  border: 1px solid #bbdefb;
  width: 100%;
}
.wa-var-field--recipient .wa-recipient-badge i {
  font-size: 11px;
}

.wa-preview-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--wa-border);
}
.wa-preview-section__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--wa-text);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wa-preview-section__title i {
  color: var(--wa-green);
}

.wa-preview-container {
  background: var(--wa-bg);
  padding: 16px;
  min-height: 80px;
}

.wa-preview-bubble {
  background: var(--wa-bubble-white);
  padding: 10px 14px;
  max-width: 85%;
  box-shadow: 0 1px 2px var(--wa-bubble-shadow);
  position: relative;
  font-size: 13px;
  line-height: 1.5;
  color: var(--wa-text);
  white-space: pre-wrap;
  word-wrap: break-word;
}
.wa-preview-bubble .wa-var-placeholder {
  background: #fff3cd;
  padding: 0 4px;
  color: #856404;
  font-style: italic;
  font-size: 12px;
}
.wa-preview-bubble .wa-var-filled {
  background: #d4edda;
  padding: 0 4px;
  color: #155724;
  font-weight: 500;
}
.wa-preview-bubble::after {
  content: "";
  position: absolute;
  top: 0;
  left: -8px;
  width: 0;
  height: 0;
  border-top: 8px solid var(--wa-bubble-white);
  border-left: 8px solid transparent;
}

.wa-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-top: 1px solid var(--wa-border);
  background: #fff;
}
.wa-footer .btn {
  font-size: 13px;
  padding: 8px 20px;
}

.wa-btn-send {
  background: var(--wa-green);
  color: #fff;
  border: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.wa-btn-send:hover {
  background: var(--wa-green-dark);
  color: #fff;
}
.wa-btn-send:disabled {
  background: #999;
  cursor: not-allowed;
}

.nb-page--funil {
  padding: 24px 32px;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .nb-page--funil {
    padding: 16px;
  }
}

.nb-funil-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  margin-bottom: 24px;
}
@media (max-width: 1100px) {
  .nb-funil-layout {
    grid-template-columns: 1fr;
  }
}

.nb-funil-editor,
.nb-funil-sidebar {
  min-width: 0;
}

.nb-saving-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.nb-form-row {
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
}

.nb-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #6B7280;
  user-select: none;
}
.nb-checkbox input {
  display: none;
}
.nb-checkbox__mark {
  width: 16px;
  height: 16px;
  border: 2px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  flex-shrink: 0;
}
input:checked + .nb-checkbox__mark {
  background: #349422;
  border-color: #349422;
}
input:checked + .nb-checkbox__mark::after {
  content: "✓";
  color: #fff;
  font-size: 10px;
  font-weight: 600;
}
.nb-checkbox:hover .nb-checkbox__mark {
  border-color: #D1D5DB;
}
input:checked + .nb-checkbox__mark:hover {
  border-color: #2a7a1b;
}
.nb-checkbox__text {
  line-height: 1.3;
}

.nb-error-box {
  background: #FEE2E2;
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-left: 3px solid #EF4444;
  padding: 12px 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #EF4444;
  font-size: 13px;
  font-weight: 500;
}

.nb-empty-state {
  text-align: center;
  padding: 48px 24px;
  color: #9CA3AF;
}
.nb-empty-state__icon {
  font-size: 48px;
  color: #E5E7EB;
  margin-bottom: 16px;
}
.nb-empty-state__title {
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
}
.nb-empty-state__text {
  font-size: 14px;
  color: #9CA3AF;
  max-width: 300px;
  margin: 0 auto;
}

.nb-pipeline {
  background: #FAFAFA;
  border: 1px solid #F3F4F6;
  padding: 20px;
}
.nb-pipeline__label {
  font-size: 11px;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.nb-track {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nb-track__sortable {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nb-stage__card {
  background: #fff;
  border: 1px solid #F3F4F6;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.15s;
}
.nb-stage--fixed .nb-stage__card {
  background: #FAFAFA;
  border-color: #F3F4F6;
}
.nb-stage--success .nb-stage__card {
  background: rgba(52, 148, 34, 0.1);
  border-color: rgba(52, 148, 34, 0.3);
}
.nb-stage--sortable .nb-stage__card {
  cursor: grab;
  background: #fff;
}
.nb-stage--sortable .nb-stage__card:hover {
  border-color: #349422;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.nb-stage--sortable .nb-stage__card:active {
  cursor: grabbing;
}
.nb-stage__drag {
  color: #D1D5DB;
  font-size: 14px;
  cursor: grab;
  transition: color 0.15s;
}
.nb-stage__drag:hover {
  color: #6B7280;
}
.nb-stage__number {
  width: 28px;
  height: 28px;
  background: #349422;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.nb-stage--fixed .nb-stage__number {
  background: #D1D5DB;
}
.nb-stage--success .nb-stage__number {
  background: #349422;
  color: #1A1A1A;
}
.nb-stage__content {
  flex: 1;
  min-width: 0;
}
.nb-stage__name {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 2px;
}
.nb-stage__name[contenteditable=true] {
  cursor: text;
}
.nb-stage__name[contenteditable=true]:focus {
  outline: none;
  background: #e8f5e4;
  padding: 2px 6px;
  margin: -2px -6px;
}
.nb-stage__type {
  font-size: 11px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.nb-stage__badge {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.nb-stage__badge--entry {
  background: #F9FAFB;
  color: #9CA3AF;
}
.nb-stage__badge--success {
  background: #349422;
  color: #1A1A1A;
}
.nb-stage__remove {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #D1D5DB;
  cursor: pointer;
  transition: all 0.15s;
  opacity: 0;
}
.nb-stage--sortable:hover .nb-stage__remove {
  opacity: 1;
}
.nb-stage__remove:hover {
  background: #FEE2E2;
  color: #EF4444;
}

.nb-stage.sortable-ghost .nb-stage__card {
  background: #F9FAFB;
  border: 2px dashed #D1D5DB;
}
.nb-stage.sortable-ghost .nb-stage__card > * {
  opacity: 0;
}

.nb-stage.sortable-chosen .nb-stage__card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.nb-stage.sortable-fallback .nb-stage__card {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.nb-add-stage {
  padding: 4px 0;
}
.nb-add-stage__btn {
  width: 100%;
  padding: 12px 16px;
  border: 2px dashed #E5E7EB;
  background: transparent;
  color: #9CA3AF;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.15s;
}
.nb-add-stage__btn:hover {
  border-color: #349422;
  color: #349422;
  background: #e8f5e4;
}
.nb-add-stage__btn i {
  font-size: 14px;
}

.nb-limit-warning {
  background: #FEF3C7;
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-left: 3px solid #F59E0B;
  padding: 10px 14px;
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgb(123.4409448819, 79.4271653543, 5.0590551181);
  font-weight: 500;
}

.nb-card__body--flush {
  padding: 0 !important;
}

.nb-flow-actions {
  padding: 16px;
  border-bottom: 1px solid #F3F4F6;
}

.nb-new-flow-btn {
  width: 100%;
  padding: 10px 16px;
  border: 2px dashed #E5E7EB;
  background: transparent;
  color: #9CA3AF;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.15s;
}
.nb-new-flow-btn:hover {
  border-color: #349422;
  color: #349422;
  background: #e8f5e4;
}
.nb-new-flow-btn i {
  font-size: 14px;
}

.nb-flow-list {
  max-height: 400px;
  overflow-y: auto;
}

.nb-flow-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #F9FAFB;
  cursor: pointer;
  transition: background 0.15s;
}
.nb-flow-item:last-child {
  border-bottom: none;
}
.nb-flow-item:hover {
  background: #FAFAFA;
}
.nb-flow-item--active {
  background: rgba(52, 148, 34, 0.1);
}
.nb-flow-item--active:hover {
  background: rgba(52, 148, 34, 0.1);
}
.nb-flow-item__icon {
  width: 32px;
  height: 32px;
  background: #F9FAFB;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.nb-flow-item--active .nb-flow-item__icon {
  background: #349422;
  color: #fff;
}
.nb-flow-item__content {
  flex: 1;
  min-width: 0;
}
.nb-flow-item__name {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nb-flow-item__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.nb-flow-item__badge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.nb-flow-item__badge--active {
  background: #DCFCE7;
  color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
.nb-flow-item__badge--inactive {
  background: #F9FAFB;
  color: #9CA3AF;
}
.nb-flow-item__badge--default {
  background: rgba(52, 148, 34, 0.1);
  color: rgb(13.2483221477, 38.4832214765, 8.5167785235);
}
.nb-flow-item__steps {
  font-size: 11px;
  color: #D1D5DB;
}
.nb-flow-item__arrow {
  color: #D1D5DB;
  font-size: 12px;
  transition: transform 0.15s;
}
.nb-flow-item:hover .nb-flow-item__arrow {
  transform: translateX(2px);
}

.nb-flow-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 16px;
  color: #D1D5DB;
  font-size: 13px;
}
.nb-flow-empty i {
  font-size: 24px;
}

.plans-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 32px;
}

.plans-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid #E5E7EB;
}
.plans-header__text {
  flex: 1;
}
.plans-header__title {
  font-size: 32px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 8px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.2;
}
.plans-header__subtitle {
  font-size: 16px;
  color: #6B7280;
  margin: 0;
  font-weight: 400;
}
.plans-header__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #e8f5e4;
  border: 1px solid rgb(206.6378378378, 233.972972973, 198.227027027);
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 14px;
  color: #349422;
  font-weight: 500;
  flex-shrink: 0;
}
.plans-header__badge i {
  font-size: 16px;
}
.plans-header__badge strong {
  font-weight: 700;
}

.plans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.plans-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  transition: all 0.15s ease;
  position: relative;
  overflow: hidden;
}
.plans-card:hover {
  border-color: #D1D5DB;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.plans-card--featured {
  border-color: #349422;
  border-width: 2px;
}
.plans-card--featured:hover {
  border-color: #2a7a1b;
}
.plans-card--current {
  border-color: #349422;
  border-width: 2px;
}
.plans-card__popular-badge {
  background: #349422;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 8px 0;
}
.plans-card__current-badge {
  background: #e8f5e4;
  color: #349422;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  padding: 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.plans-card__current-badge i {
  font-size: 14px;
}
.plans-card__header {
  padding: 28px 24px 24px;
  border-bottom: 1px solid #E5E7EB;
}
.plans-card__name {
  font-size: 20px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 8px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.plans-card__desc {
  font-size: 14px;
  color: #6B7280;
  line-height: 1.5;
  margin: 0 0 20px;
}
.plans-card__price {
  font-size: 22px;
  font-weight: 700;
  color: #1A1A1A;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.plans-card__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.plans-card__intro {
  font-size: 13px;
  color: #9CA3AF;
  font-weight: 600;
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.plans-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.plans-card__features li {
  font-size: 14px;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.4;
}
.plans-card__features li i {
  color: #349422;
  font-size: 16px;
  flex-shrink: 0;
}
.plans-card__footer {
  padding: 0 24px 24px;
  margin-top: auto;
}

.plans-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1;
  width: 100%;
}
.plans-btn--primary {
  background: #1A1A1A;
  color: #FFFFFF;
  border-color: #1A1A1A;
}
.plans-btn--primary:hover {
  background: #000;
  color: #FFFFFF;
  text-decoration: none;
}
.plans-btn--outline {
  background: #FFFFFF;
  color: #1A1A1A;
  border-color: #E5E7EB;
}
.plans-btn--outline:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  text-decoration: none;
  color: #1A1A1A;
}

.plans-compare {
  margin-bottom: 48px;
}
.plans-compare__header {
  text-align: center;
  margin-bottom: 32px;
}
.plans-compare__title {
  font-size: 24px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 8px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.plans-compare__subtitle {
  font-size: 15px;
  color: #6B7280;
  margin: 0;
}
.plans-compare__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}
.plans-compare__table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size: 14px;
  min-width: 700px;
}
.plans-compare__table thead th {
  padding: 16px 20px;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
  text-align: center;
  border-bottom: 2px solid #E5E7EB;
  background: #F9FAFB;
}
.plans-compare__table thead th:first-child {
  text-align: left;
  width: 36%;
}
.plans-compare__table thead th.plans-compare__col--featured {
  background: #e8f5e4;
  color: #349422;
}
.plans-compare__table tbody td {
  padding: 12px 20px;
  text-align: center;
  color: #374151;
  border-bottom: 1px solid #F3F4F6;
}
.plans-compare__table tbody td:first-child {
  text-align: left;
  color: #6B7280;
}
.plans-compare__table tbody td.plans-compare__col--featured {
  background: rgba(52, 148, 34, 0.03);
}
.plans-compare__table tbody tr:hover td {
  background: #F9FAFB;
}
.plans-compare__table tbody tr:hover td.plans-compare__col--featured {
  background: rgba(52, 148, 34, 0.06);
}
.plans-compare__table tbody tr.plans-compare__cat td {
  background: #F9FAFB;
  font-weight: 700;
  font-size: 13px;
  color: #1A1A1A;
  padding: 12px 20px;
  border-bottom: 1px solid #E5E7EB;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.plans-compare__table tbody tr.plans-compare__cat:hover td {
  background: rgb(242.88, 244.9, 246.92);
}

.plans-icon--yes {
  color: #349422;
  font-size: 18px;
}

.plans-icon--no {
  color: #D1D5DB;
  font-size: 18px;
}

.plans-credits-cta {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 24px 28px;
}
.plans-credits-cta__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8f5e4;
  border-radius: 8px;
  flex-shrink: 0;
}
.plans-credits-cta__icon i {
  font-size: 22px;
  color: #349422;
}
.plans-credits-cta__content {
  flex: 1;
}
.plans-credits-cta__content h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 4px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.plans-credits-cta__content p {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
}
.plans-credits-cta .plans-btn {
  width: auto;
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .plans-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 768px) {
  .plans-page {
    padding: 24px 16px;
  }
  .plans-header {
    flex-direction: column;
    gap: 16px;
  }
  .plans-header__title {
    font-size: 24px;
  }
  .plans-credits-cta {
    flex-direction: column;
    text-align: center;
  }
  .plans-credits-cta .plans-btn {
    width: 100%;
  }
  .plans-compare__title {
    font-size: 20px;
  }
}

/*# sourceMappingURL=main.css.map */
