/* ItemsEstimacionEsfuerzo grid - word wrap en Descripcion y Observaciones */
.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .wrap-cell {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
}

.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .slick-row .slick-cell {
    vertical-align: top;
    padding-top: 6px;
}

/* ItemsEstimacionEsfuerzo grid - celdas numéricas alineadas a la derecha */
.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .numeric-cell {
    text-align: right !important;
}

.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .numeric-cell input[type="text"] {
    text-align: right;
}

/* ItemsEstimacionEsfuerzo grid - celdas readonly (Perfil, Senority) */
.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .readonly-cell {
    background-color: #f5f5f5 !important;
    color: #666 !important;
    font-style: italic;
}

input.remove-incremet-buttons::-webkit-outer-spin-button,
input.remove-incremet-buttons::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.remove-uppercase-sidebar-titles > h6 {
  text-transform: none;
}
.paint {
  font-size: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.s-omnes-Colaboradores-ColaboradoresLicenciasGrid .slick-header-columns {
  white-space: normal;
  height: 4em;
}

.s-omnes-Colaboradores-ColaboradoresLicenciasGrid .slick-header-columns.ui-state-default {
  height: 100%;
  line-height: 1.3em;
}

.ptnetLogo {
  height: 80px;
}

.row-opacity:hover {
  opacity: 0.5;
}

.s-site-logo-img {
  content: url(./logo.svg);
  object-fit: contain;
}

.s-sidebar-band-logo {
  content: url(./lectio-dark.svg);
  width: auto;
  height: 1.9rem;
}

.s-mobile-header-logo {
  content: url(./lectio-icon-dark.svg);
  display: block;
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.s-form-title-logo {
  content: url(./lectio.svg);
  background: none;
  border-radius: 0;
  padding: 0;
  width: 280px;
  max-width: 80%;
  height: auto;
  vertical-align: middle;
}

[data-bs-theme="dark"] .s-form-title-logo {
  content: url(./lectio-dark.svg);
}

.s-UserPermissionDialog > .size,
.s-RolePermissionDialog > .size {
  min-width: 770px;
  width: 770px;
  min-height: 550px;
  height: 550px;
}
.s-omnes-Cuestionarios-SistemaPuntosConfigGrid {
  min-height: 400px;
}
.s-UserPermissionDialog .s-DataGrid,
.s-RolePermissionDialog .s-DataGrid {
  height: 100%;
}

.s-Demo-Northwind-ProductDialog > .size {
  width: 650px;
}

.s-Demo-Northwind-ProductDialog .caption {
  width: 180px;
}

.s-Demo-Northwind-CustomerDialog .s-NotesEditor {
  flex: 1 1 auto;
}

.s-Demo-Northwind-OrderDialog .caption,
.s-Demo-Northwind-CustomerOrderDialog .caption {
  width: 130px;
}

.s-Demo-Northwind-OrderDetailDialog .caption {
  width: 80px;
}

.s-Demo-Northwind-OrderGrid .s-CustomerEditor {
  min-width: 250px;
  width: 250px;
}

.s-Demo-Northwind-ProductGrid .slick-cell input[type="text"] {
  text-align: right;
  width: 100%;
}

.s-Demo-Northwind-ProductGrid .slick-cell .dirty {
  background-color: var(--s-input-dirty-bg, #ffe0e0);
}

.s-NotesEditor {
  border: 1px solid var(--s-input-border, #ccc);
  border-radius: 4px;
  padding: 10px;
}

.s-NotesEditor ul {
  padding: 0;
  min-height: 110px;
  overflow-y: auto;
  list-style: none;
}

.s-NotesEditor li {
  margin: 10px 0;
  border-radius: 4px;
  border: 1px solid var(--s-card-border, #c3c2c2);
  background-color: var(--s-card-bg, #f5e7dc);
  padding: 8px;
  position: relative;
}

.s-NotesEditor .note-text {
  padding-right: 24px;
  display: block;
}

.s-NotesEditor .note-delete {
  display: block;
  position: absolute;
  right: 6px;
  top: 4px;
  text-decoration: none;
}

.s-NotesEditor .note-delete:after {
  font-family: var(--s-icon-font, "FontAwesome");
  font-weight: var(--s-icon-solid);
  color: var(--bs-danger);
  content: "\f00d";
  font-size: 1.1em;
}

.s-NotesEditor .note-delete:hover {
  opacity: 1;
}

.s-NotesEditor .note-date {
  margin-top: 6px;
  display: block;
  text-align: right;
  color: var(--bs-link-color, #2a4084);
  text-decoration: none;
  font-style: italic;
}

.s-NoteDialog > .size {
  width: 465px;
}

.s-NoteDialog .ui-dialog-content {
  padding-bottom: 10px;
}

.tooltipp {
  background-color: var(--bs-body-color);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
  font-weight: bold;
  padding: 4px 8px;
  font-size: 13px;
  border-radius: 4px;
  display: none !important;
  z-index: 100000;
  opacity: 0.9;
  color: var(--s-card-bg);
}

#arrow,
#arrow::before {
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  background: inherit !important;
}

#arrow {
  visibility: hidden !important;
}

#arrow::before {
  visibility: visible !important;
  content: "" !important;
  transform: rotate(45deg) !important;
}

.tooltipp[data-popper-placement^="top"] > #arrow {
  bottom: -4px !important;
}

.tooltipp[data-popper-placement^="bottom"] > #arrow {
  top: -4px !important;
}

.tooltipp[data-popper-placement^="left"] > #arrow {
  right: -4px;
}

.tooltipp[data-popper-placement^="right"] > #arrow {
  left: -4px;
}

.tooltipp[data-show] {
  display: block !important;
}

.tooltipp .tooltip-title {
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
  margin-top: 2px;
}

.tooltipp hr {
  padding: 0;
  margin: 0;
}

.tooltipp .tooltip-body {
  padding: 1px 2px;
}

.DisplayNoveDescription .caption,
.DisplaySoliDescription .caption,
.SolicitudDescripcion .caption,
.NovedadDescripcion .caption {
  width: 70px;
  line-height: inherit;
  -webkit-align-items: center;
  font-weight: bold;
}

.DisplayNoveDescription,
.DisplaySoliDescription,
.SolicitudDescripcion,
.NovedadDescripcion {
  -webkit-align-items: center;
  align-items: center;
}

@media (max-width: 1199px) {
  section.content {
    min-height: calc(100vh - 49px);
    padding: 0.75rem;
  }
}

.changePassDialog {
  max-width: 65rem;
}

/* Timeline */
ul.timeline {
  list-style-type: none;
  position: relative;
  padding-left: 1.5rem;
  color: var(--bs-body-color);
}

/* Timeline vertical line */
ul.timeline:before {
  content: " ";
  background: var(--s-inactive);
  display: inline-block;
  position: absolute;
  left: 16px;
  width: 4px;
  height: 100%;
  z-index: 400;
  border-radius: 1rem;
}

li.timeline-item {
  margin: 20px 14px;
}

li div .date-to-show {
  color: var(--bs-body-color);
  left: -101px;
  top: -1px;
  font-size: 13px;
  font-weight: bold;
}

/* Timeline item arrow */
.timeline-arrow {
  border-top: 0.5rem solid transparent;
  border-right: 0.5rem solid #fff;
  border-bottom: 0.5rem solid transparent;
  display: block;
  position: absolute;
  left: 2rem;
}

/* Timeline item circle marker */
li.timeline-item::before {
  content: " ";
  background: var(--circle-color);
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  border: 3px solid var(--circle-color);
  left: 11px;
  width: 14px;
  height: 14px;
  z-index: 400;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

li.success.timeline-item::before {
  background: var(--bs-success);
  border: 3px solid var(--bs-success);
}

li.warning.timeline-item::before {
  background: var(--bs-warning);
  border: 3px solid var(--bs-warning);
}

li.primary.timeline-item::before {
  background: var(--bs-primary);
  border: 3px solid var(--bs-primary);
}

/* Colaboradores Cards */
.card-container .card {
  height: 9em;
}
.text-center .card {
  height: 12.5em;
}
.customer-card {
  width: 100%;
  table-layout: fixed;
}

.customer-card a {
  text-decoration: none;
}

.customer-card td {
  padding: 2px;
}

.customer-card td.img {
  width: 113px;
  vertical-align: top;
  max-height: 110px;
}

.customer-card td.img img {
  width: 100px;
  max-height: inherit;
  object-fit: cover;
}

.s-omnes-Colaboradores-ColaboradoresGridCard .card {
  padding: 0.4rem;
}
/* Grid Backgrounds */
.succesBackGrid {
  background-color: rgba(0, 255, 33, 0.25) !important;
}

.redBackGrid {
  background-color: rgba(255, 0, 0, 0.25) !important;
}

.orangeBackGrid {
  background-color: rgba(255, 165, 0, 0.25) !important;
}

.blueBackGrid {
  background-color: rgba(0, 0, 255, 0.25) !important;
}

.yellowBackGrid {
  background-color: rgba(255, 255, 0, 0.25) !important;
}

.grayBackGrid {
  background-color: rgba(128, 128, 128, 0.25) !important;
}

/*Quickfilter Hasta*/
.LastItemHasta {
  order: 999;
}

.cancel-button:not(.icon-tool-button) .button-inner:before {
  content: "\f410";
  color: var(--bs-red);
}

.theme-glassy-light .modal-content {
  background: #fbfdfc;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.25);
}

.s-Organization-BusinessUnitDialog > .size {
  width: 650px;
}

/* TimeLine colaboradores */
.hori-timeline .events {
  border-top: 3px solid #e9ecef;
}

.hori-timeline .events .event-list {
  display: block;
  position: relative;
  text-align: center;
  padding-top: 70px;
  margin-right: 0;
}

.hori-timeline .events .event-list:before {
  content: "";
  position: absolute;
  height: 36px;
  border-right: 2px dashed #dee2e6;
  top: 0;
}

.hori-timeline .events .event-list .event-date {
  position: absolute;
  top: 38px;
  left: 0;
  right: 0;
  width: 75px;
  margin: 0 auto;
  border-radius: 4px;
  padding: 2px 4px;
}

.inline-action.show-organigrama::before {
  content: "\f0e8";
  font-family: var(--s-icon-font);
  font-weight: var(--s-icon-solid);
  font-size: 1.25em;
}

/* TimeLine colaboradores */
.hori-timeline .events {
  border-top: 3px solid #e9ecef;
}

.hori-timeline .events .event-list {
  display: block;
  position: relative;
  text-align: center;
  padding-top: 70px;
  margin-right: 0;
}

.hori-timeline .events .event-list:before {
  content: "";
  position: absolute;
  height: 36px;
  border-right: 2px dashed #dee2e6;
  top: 0;
}

.hori-timeline .events .event-list .event-date {
  position: absolute;
  top: 38px;
  left: 0;
  right: 0;
  width: 75px;
  margin: 0 auto;
  border-radius: 4px;
  padding: 2px 4px;
}

.bg-soft-primary {
  background-color: rgba(64, 144, 203, 0.3) !important;
}

.bg-soft-success {
  background-color: rgba(71, 189, 154, 0.3) !important;
}

.bg-soft-danger {
  background-color: rgba(231, 76, 94, 0.3) !important;
}

.bg-soft-warning {
  background-color: rgba(249, 213, 112, 0.3) !important;
}

.timeLineCard {
  border: none;
  margin-bottom: 24px;
  -webkit-box-shadow: 0 0 13px 0 rgba(236, 236, 241, 0.44);
  box-shadow: 0 0 13px 0 rgba(236, 236, 241, 0.44);
}

.ColNameLink {
  color: var(--bs-link-color);
}

.ColNameLink:hover {
  text-decoration: underline;
  color: var(--bs-btn-active-border-color);
}

.inline-action.add-child-unit::before {
  content: "\f303";
  font-family: var(--s-icon-font);
  font-weight: var(--s-icon-solid);
  font-size: 1.2em;
}

.inline-action.soli-edit-entity::before {
  content: "\f044";
  font-family: var(--s-icon-font);
  font-weight: var(--s-icon-solid);
  font-size: 1.2em;
}

.s-DashboardPage .s-dashboard-card-sm {
  min-height: 175px;
}

.s-dashboard-card-sm .icon {
  top: 0px !important;
}
.s-Organization-BusinessUnitDialog > .size {
  width: 650px;
}

.s-Organization-BusinessUnitDialog .caption {
  width: 150px;
}

.s-Organization-ContactDialog > .size {
  width: 650px;
}

.s-Organization-ContactDialog .caption {
  width: 150px;
}

.inline-action.add-child-unit::before {
  content: "\f65e";
  font-family: var(--s-icon-font);
  font-weight: var(--s-icon-solid);
  font-size: 1.25em;
}

.inline-action.show-organigrama::before {
  content: "\f0e8";
  font-family: var(--s-icon-font);
  font-weight: var(--s-icon-solid);
  font-size: 1.25em;
}
.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #86b7fe;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}

.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  border-color: var(--bs-accordion-btn-focus-border-color);
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}

.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}

.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.s-omnes-Colaboradores-ColaboradorGruposResultadoObservacionesDialogEditor .s-Serenity-HtmlContentEditor span.cke_reset_all:first-child .cke_toolbox > span:not(:nth-child(3)) {
  display: none;
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #86b7fe;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}

.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  border-color: var(--bs-accordion-btn-focus-border-color);
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}

.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}

.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush .accordion-collapse {
  border-width: 0;
}

.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.accordion-flush .accordion-item:first-child {
  border-top: 0;
}

.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}

.accordion-flush .accordion-item .accordion-button,
.accordion-flush .accordion-item .accordion-button.collapsed {
  border-radius: 0;
}

.dark .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.dark .accordion {
  --bs-accordion-border-color: #354151;
}

.s-omnes-Colaboradores-ColaboradorGruposResultadoObservacionesDialogEditor .s-Serenity-HtmlContentEditor span.cke_reset_all:first-child .cke_toolbox > span:not(:nth-child(3)) {
  display: none;
}

.s-PermissionCheckEditor {
  min-height: 450px;
}

.s-omnes-Cuestionarios-ReporteCheckListRespuestasGrid {
  min-height: 400px;
}

.s-omnes-Colaboradores-ColaboradorGruposResultadoObservacionesGridEditor, 
.s-omnes-Cuestionarios-RespuestasPreguntasChecklistGridEditor {
  min-height: 350px;
}

.s-DoubleVerificationGridEditor{
  max-height: 100px;
}

.s-omnes-Organigrama-CompetenciasPuestosNivelesGridEditor {
  min-height: 350px;
}

/* 🔴 NO mostrar anulados */
.btn-ocultar-anulados {
  background-color: #dc3545 !important; /* rojo */
  border-color: #dc3545 !important;
  color: #fff !important;
}

  .btn-ocultar-anulados:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
  }

/* 🟨 MOSTRAR anulados */
.btn-mostrar-anulados {
  background-color: #ffc107 !important; /* amarillo */
  border-color: #ffc107 !important;
  color: #212529 !important;
}

  .btn-mostrar-anulados:hover {
    background-color: #e0a800 !important;
    border-color: #d39e00 !important;
  }

/* 🔴 OFF */
.toggle-anulados-off .fa {
  color: #dc3545 !important; /* rojo */
}

/* 🟨 ON */
.toggle-anulados-on .fa {
  color: #ffc107 !important; /* amarillo */
}

/*
.s-RenglonesComercialesGridEditor {
  height: 600px !important;
  min-height: 400px !important;
}
    
  .s-RenglonesComercialesGridEditor .grid-container {
    height: 95% !important;
  }

  .s-RenglonesComercialesGridEditor .slick-viewport {
    height: calc(90% - 30px) !important;
  }*/

/* ItemsEstimacionEsfuerzo - columna de flechas sin ellipsis */
.s-omnes-EstimacionEsfuerzo-ItemsEstimacionEsfuerzoGridEditor .no-ellipsis {
    text-overflow: clip !important;
    overflow: visible !important;
}

/* ComprobantesMaster - importes en una sola fila con etiqueta arriba del input.
   Aplica a campos marcados con CssClass("fila-importes"). */
.s-Form .field.fila-importes {
    display: block !important;
    padding-right: 8px;
}
.s-Form .field.fila-importes > label.caption,
.s-Form .field.fila-importes > .caption {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0 0 4px 0 !important;
    margin: 0 !important;
}
.s-Form .field.fila-importes > .vx,
.s-Form .field.fila-importes > .editor {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
}
.s-Form .field.fila-importes input.editor {
    width: 100% !important;
    text-align: right;
}

/* RawTextOcr / PromptUsado / RawResponse: render como texto preformateado
   con fuente monoespacio para que las tablas markdown (| col1 | col2 |) que
   devuelve Azure DI prebuilt-layout queden alineadas. Sin word-wrap; scroll
   horizontal cuando una fila excede el ancho. */
.s-Form .field.text-mono-pre textarea.editor {
    font-family: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.35;
    white-space: pre;
    overflow-x: auto;
    overflow-y: auto;
    tab-size: 4;
    -moz-tab-size: 4;
    word-wrap: normal;
    word-break: normal;
    background-color: #fafafa;
}

/* ComprobanteExtraccionDialog: render del Raw Text OCR.
   Azure DI prebuilt-layout devuelve markdown con bloques <table> y <figure>
   HTML embebidos. La logica del dialog (renderOcrPreview) reemplaza el
   textarea por un div .ocr-rendered con tablas reales y bloques <pre> para
   el texto suelto. Estos estilos le dan formato. */
.s-Form .field .ocr-rendered {
    max-height: 600px;
    overflow: auto;
    background: #fafafa;
    border: 1px solid #d6d6d6;
    border-radius: 4px;
    padding: 12px 14px;
    font-size: 12px;
    line-height: 1.45;
    color: #222;
}
.s-Form .field .ocr-rendered pre.ocr-text {
    margin: 6px 0;
    padding: 0;
    background: transparent;
    border: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.45;
    color: #333;
}
.s-Form .field .ocr-rendered table {
    border-collapse: collapse;
    margin: 10px 0;
    width: 100%;
    background: #fff;
    font-size: 11.5px;
    table-layout: auto;
}
.s-Form .field .ocr-rendered th,
.s-Form .field .ocr-rendered td {
    border: 1px solid #c2c2c2;
    padding: 4px 6px;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
}
.s-Form .field .ocr-rendered th {
    background-color: #ececec;
    font-weight: 600;
}
.s-Form .field .ocr-rendered tr:nth-child(even) td {
    background-color: #fafafa;
}
.s-Form .field .ocr-rendered figure {
    display: inline-block;
    border: 1px dashed #b0b0b0;
    padding: 4px 10px;
    margin: 6px 0;
    color: #666;
    font-style: italic;
    background: #fff;
}
.s-Form .field .ocr-rendered figure::before {
    content: "[figura] ";
    color: #999;
}
.s-Form .field .ocr-empty {
    color: #888;
}

/* Tabs de ComprobanteExtraccionDialog (Prompt / Respuesta / Raw Text OCR /
   Reglas): el textarea (o el div de preview) debe ocupar todo el ancho y alto
   disponibles del tab. Se oculta la etiqueta del campo (que estaba quedando
   por detras) y el control crece a 100% width + alto generoso. */
.s-Form .field.text-mono-pre {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.s-Form .field.text-mono-pre > label.caption,
.s-Form .field.text-mono-pre > .caption,
.s-Form .field.text-mono-pre > label {
    display: none !important;
}
.s-Form .field.text-mono-pre > .vx,
.s-Form .field.text-mono-pre > .editor {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
}
.s-Form .field.text-mono-pre textarea.editor {
    width: 100% !important;
    min-height: 70vh !important;
    height: auto;
    box-sizing: border-box;
    resize: vertical;
}
.s-Form .field.text-mono-pre .ocr-rendered {
    width: 100% !important;
    max-height: none !important;
    min-height: 70vh !important;
    box-sizing: border-box;
}

/* El tab-content del PropertyGrid de Serenity por defecto le pone padding;
   con textareas de pantalla completa queda mejor reducirlo. */
.s-Form .tab-content > .tab-pane {
    padding: 6px 4px !important;
}

/* RawTextOcr: el dialog reemplaza el textarea por un div .ocr-rendered con
   tablas dibujadas. Siempre ocultamos el textarea original via CSS sobre la
   clase 'ocr-preview-target' (definida en ComprobanteExtraccionForm) para que
   no se vea duplicado el contenido si el tab se vuelve a renderizar. */
.s-Form .field.ocr-preview-target textarea.editor {
    display: none !important;
}

/* ============================================================
   Octaedro Dashboard — pTalent-inspired Card V2 system
   ============================================================ */
@keyframes octFadeSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes octWelcomeFadeIn {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes octPulseBadge {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.15); }
}

/* Welcome header */
.dash-welcome {
  background: linear-gradient(135deg, #1F487E 0%, #2d6cb4 100%);
  color: #fff;
  border-radius: 10px;
  padding: 14px 22px;
  margin-bottom: 16px;
  animation: octWelcomeFadeIn 0.5s ease-out;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.dash-welcome__greeting {
  font-size: 1.55rem;
  font-weight: 700;
  margin: 0 0 2px 0;
  line-height: 1.3;
}
.dash-welcome__date {
  font-size: 0.88rem;
  opacity: 0.85;
  margin: 0;
  text-transform: capitalize;
}
.dash-welcome__icon {
  font-size: 2.4rem;
  opacity: 0.30;
}

/* Staggered entry */
.dash-card-animated {
  opacity: 0;
  animation: octFadeSlideUp 0.5s ease-out forwards;
}
.dash-stagger-1  { animation-delay: 80ms; }
.dash-stagger-2  { animation-delay: 160ms; }
.dash-stagger-3  { animation-delay: 240ms; }
.dash-stagger-4  { animation-delay: 320ms; }
.dash-stagger-5  { animation-delay: 400ms; }
.dash-stagger-6  { animation-delay: 480ms; }
.dash-stagger-7  { animation-delay: 560ms; }
.dash-stagger-8  { animation-delay: 640ms; }
.dash-stagger-9  { animation-delay: 720ms; }
.dash-stagger-10 { animation-delay: 800ms; }
.dash-stagger-11 { animation-delay: 880ms; }
.dash-stagger-12 { animation-delay: 960ms; }

/* KPI Card V2 — accent border + soft shadow */
.dash-card-v2 {
  position: relative;
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
  height: 100%;
}
.dash-card-v2::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--dash-accent, #1F487E);
  border-radius: 10px 0 0 10px;
}
.dash-card-animated:hover .dash-card-v2 {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.14);
}
.dash-card-v2__body {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 18px 18px 22px;
}
.dash-card-v2__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--dash-accent-bg, rgba(31,72,126,0.12));
  flex-shrink: 0;
}
.dash-card-v2__icon-wrap i {
  font-size: 22px;
  color: var(--dash-accent, #1F487E);
}
.dash-card-v2__content { flex: 1; min-width: 0; }
.dash-card-v2__value {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #212529;
  margin: 0;
}
.dash-card-v2__label {
  font-size: 0.85rem;
  color: #6c757d;
  margin: 2px 0 0 0;
  line-height: 1.3;
}
.dash-card-v2__subtitle {
  font-size: 0.76rem;
  color: #adb5bd;
  margin: 4px 0 0 0;
}

/* Pulse badge */
.dash-card-v2 .dash-badge-pulse {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  background: #dc3545;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  animation: octPulseBadge 2s infinite ease-in-out;
}

/* Dashboard panels (charts, tables) */
.dash-panel {
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  overflow: hidden;
  height: 100%;
}
.dash-panel__header {
  padding: 14px 18px 10px;
  border-bottom: 1px solid #f1f3f5;
}
.dash-panel__header--actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.dash-panel__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #212529;
  margin: 0;
}
.dash-panel__body { padding: 12px 16px; }

/* ----- Costo IA panel (mes actual / mes anterior / variacion) ----- */
.dash-cost-panel .dash-panel__title {
  display: flex;
  align-items: center;
  color: #1F487E;
}
.dash-cost-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  padding: 18px 6px;
}
.dash-cost-stat {
  padding: 10px 22px;
  border-right: 1px solid #f1f3f5;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dash-cost-stat:last-child { border-right: none; }
.dash-cost-stat__label {
  font-size: 0.78rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  margin-bottom: 6px;
}
.dash-cost-stat__value {
  font-size: 1.7rem;
  font-weight: 700;
  color: #212529;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.dash-cost-stat__sub {
  font-size: 0.78rem;
  color: #6c757d;
  margin-top: 4px;
}
.dash-cost-stat--prev .dash-cost-stat__value { color: #495057; }
.dash-cost-stat--curr .dash-cost-stat__value { color: #1F487E; }
.dash-cost-stat--delta.is-up    .dash-cost-stat__value,
.dash-cost-stat--delta.is-up    .dash-cost-stat__sub  { color: #dc3545; }
.dash-cost-stat--delta.is-down  .dash-cost-stat__value,
.dash-cost-stat--delta.is-down  .dash-cost-stat__sub  { color: #198754; }
.dash-cost-stat--delta.is-flat  .dash-cost-stat__value,
.dash-cost-stat--delta.is-flat  .dash-cost-stat__sub  { color: #6c757d; }

@media (max-width: 768px) {
  .dash-cost-grid { grid-template-columns: 1fr; }
  .dash-cost-stat { border-right: none; border-bottom: 1px solid #f1f3f5; }
  .dash-cost-stat:last-child { border-bottom: none; }
}

/* Tables inside panels */
.dash-panel .dash-table { margin: 0; }
.dash-panel .dash-table thead th {
  background: #f8f9fa;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 700;
  color: #6c757d;
  border-bottom: 1px solid #e9ecef;
}
.dash-panel .dash-table tbody tr:last-child td {
  border-bottom: none;
}
.dash-table__numero {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Compact rows so 10 last comprobantes fit comfortably */
.dash-panel .dash-table thead th {
  padding: 6px 10px;
  font-size: 0.72rem;
}
.dash-panel .dash-table tbody td {
  padding: 5px 10px;
  font-size: 0.82rem;
  line-height: 1.2;
}

/* Open-comprobante icon link */
.dash-open-link {
  display: inline-block;
  color: #1F487E;
  font-size: 1.05rem;
  text-decoration: none !important;
  transition: color 0.15s ease, transform 0.15s ease;
  line-height: 1;
}
.dash-open-link:hover {
  color: #2d6cb4;
  transform: scale(1.18);
}
.dash-open-link:active {
  transform: scale(1.05);
}

/* Empty state */
.dash-panel .dash-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  color: #6c757d;
  text-align: center;
}
.dash-panel .dash-empty-state__icon {
  font-size: 2.4rem;
  margin-bottom: 0.6rem;
  opacity: 0.4;
}
.dash-panel .dash-empty-state__text { font-size: 0.95rem; }

/* Hide content-header on Dashboard page for cleaner layout */
.s-DashboardPage .content-header,
#s-DashboardPage .content-header,
body[id="s-DashboardPage"] .content-header,
.s-DashboardPage > .content-header,
#s-DashboardPage > section.content > section.content-header {
  display: none !important;
}

/* Soft-deleted rows: override Serenity Pro default — keep grey color but
   remove the line-through. Affects both grids (.deleted on slick-row) and
   the dashboard "Ultimos comprobantes" table (dash-row-muted). */
.deleted,
.deleted a,
.deleted td,
.deleted div {
  text-decoration: none !important;
}
.dash-row-muted,
.dash-row-muted td,
.dash-row-muted a {
  color: var(--s-deleted, #94a3b8) !important;
  text-decoration: none !important;
}
