/* --- Estilo Menú Lateral (Light) --- */

/* Forzamos un fondo claro para la barra lateral */
.main-sidebar,
.sidebar-menu {
    background-color: #f4f6f9 !important; /* Un color gris claro estándar */
}

/* Cambiamos el color de los enlaces del menú a oscuro para que sean legibles */
.sidebar-menu > li > a {
    color: #343a40 !important;
}

/* Cambiamos el color de los iconos del menú a un gris oscuro */
.sidebar-menu > li > a > .fa {
    color: #555 !important;
}

/* Estilo para el enlace ACTIVO en el menú lateral */
.sidebar-menu > li.active > a {
    background-color: #e1e6eb !important; /* Un fondo ligeramente más oscuro para el elemento activo */
    color: #212529 !important;
    border-left-color: #007bff !important; /* Un borde de acento azul para destacar */
}

/* Estilo para el enlace al pasar el ratón (hover) */
.sidebar-menu > li:hover > a {
    background-color: #dee2e6 !important;
    color: #212529 !important;
}

/* Color para las cabeceras de los grupos del menú (ej. "Clientes") */
.sidebar-menu .header {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* --- Estilo Formulario Colores --- */

/* Botones listado */
.sonata-ba-list-field.sonata-ba-list-field-actions .btn.view_link {
    border: 1px solid #f39c12 !important;
    background-color: #f39c12 !important;
    color: #fff !important;
}
.sonata-ba-list-field.sonata-ba-list-field-actions .btn.edit_link {
    border: 1px solid #00a65a !important;
    background-color: #00a65a !important;
    color: #fff !important;
}
.sonata-ba-list-field.sonata-ba-list-field-actions .btn.delete_link {
    border: 1px solid #dd4b39 !important;
    background-color: #dd4b39 !important;
    color: #fff !important;
}
.btn-purple {
    background-color: #9585bf !important;
    border-color: #9585bf;
    color: #fff !important;
}

/* Boton Agregar nuevo */
.navbar-nav .sonata-action-element {
    border: 1px solid #3c8dbc;
    background-color: #3c8dbc !important;
    color: #fff !important;
}

/* Badge si/no menos invasivo */
.sonata-ba-list-field.sonata-ba-list-field-boolean .label-success {
    border: 1px solid #00a65a;
    background-color: transparent !important;
    color: #00a65a !important;
}
.sonata-ba-list-field.sonata-ba-list-field-boolean .label-danger {
    border: 1px solid #dd4b39;
    background-color: transparent !important;
    color: #dd4b39 !important;
}

/* --- Formularios y Listados --- */

/* Mejorar estilos de Tabs */
.nav-tabs-custom>.nav-tabs>li.active a {
    border-left-color: #3c8dbc;
    border-right-color: #3c8dbc;
}
.nav-tabs-custom>.nav-tabs {
    border-bottom-color: #3c8dbc;
}
.nav-tabs-custom>.nav-tabs>li a {
    text-transform: capitalize;
}

/* Fake Checkboxes */
.icheckbox_square-blue {
    background-color: #fff;
}

/* Calendar input */
.fake-js-datepicker {
    width: 200px;
}

/* Menu lateral texto ajustable a ancho */
.treeview-menu>li a {
    white-space: normal;
}

/* Shortcuts, Iconos de acciones del sidebar/nav */
.sidebar-shortcuts {
    background-color: white;
    padding: 10px;
    text-align: center;
}
.sidebar-shortcuts a {
    color: white!important;
}

/* Top icon alerts */
.navbar-icon-alerts {
    float: left;
    display: flex;
    gap: 5px;
    padding: 8px 10px;
}
.dropdown-menu-cobros {
    background-color: #bbb;
    padding: 5px;
}
.main-header {
    background-color: #FFF;
}

/* Columna de acciones en los listados siempre a la derecha */
.sonata-ba-list-field-header-actions,
.sonata-ba-list-field-actions {
    text-align: right;
    white-space: nowrap;
}

/* Oculta el texto de los botones de acción en los listados */
.sonata-ba-list-field-actions a.edit_link,
.sonata-ba-list-field-actions a.delete_link,
.sonata-ba-list-field-actions a.view_link {
    font-size: 0;
}
.sonata-ba-list-field-actions a.edit_link > i,
.sonata-ba-list-field-actions a.delete_link > i,
.sonata-ba-list-field-actions a.view_link > i {
    font-size: 18px; /* 12px */
}

/* helper classes de la APP */
.box-custom-noheader .box-header {
    display: none;
}
.box-custom-nopadding .box-body {
    padding: 0px;
}
.box-custom-notabs .nav-tabs-custom>.nav-tabs {
    display: none;
}

/* “DesVerticalizar” el form de filtros (label encima del input) */
.sonata-filters-box .form-horizontal .control-label {
  float: none;
  width: auto;
  text-align: left;
  display: block;
  margin-bottom: 4px;
  padding-top: 0;
}

/* “DesVerticalizar” el form de filtros (2 columnas por linea de filtro) */
.sonata-filters-box .form-horizontal .col-sm-9 {
    display: grid;
    grid-template-columns: 50% 50%;
}

@media (min-width: 1200px) {
    .sonata-filters-box .form-horizontal .col-sm-9 {
        grid-template-columns: 33% 33% 33%;
    }
}

/* “DesVerticalizar” el form de filtros (filtro y accion en la misma linea) */
.sonata-filters-box .form-horizontal .col-sm-9 .form-group .col-sm-4 {
    width: calc(100% - 30px);
}
.sonata-filters-box .form-horizontal .col-sm-9 .form-group .col-sm-1 {
    margin-left: -24px;
}

/* “DesVerticalizar” el form de filtros (campos de fecha con rango) */
.field-filter-range-date {
    width: calc(100% - 2px);
}
div[id*="filter_"]:has(.field-filter-range-date) {
    display: flex;
}
div[id*="filter_"]:has(.field-filter-range-date) > div label {
    display: none;
}

/* Btns Ouline Version */
.btn-outline-primary {
    color: #3c8dbc;
    border: 1px solid #367fa9;
    background-color: transparent !important;
}
.btn-outline-primary:hover {
    background-color: #367fa9 !important;
    color: #fff !important;
}
.btn-outline-danger {
    color: #dc3545;
    border: 1px solid #dc3545;
    background-color: transparent !important;
}
.btn-outline-danger:hover {
    background-color: #dc3545 !important;
    color: #fff !important;
}
.btn-outline-purple {
    color: #9585bf;
    border: 1px solid #9585bf;
    background-color: transparent !important;
}
.btn-outline-purple:hover {
    background-color: #9585bf !important;
    color: #fff !important;
}
.btn-outline-info {
    color: #5bc0de;
    border: 1px solid #5bc0de;
    background-color: transparent !important;
}
.btn-outline-info:hover {
    background-color: #5bc0de !important;
    color: #fff !important;
}
.btn-outline-warning {
    color: #f0ad4e;
    border: 1px solid #f0ad4e;
    background-color: transparent !important;
}
.btn-outline-warning:hover {
    background-color: #f0ad4e !important;
    color: #fff !important;
}
.btn-outline-success {
    color: #008d4c;
    border: 1px solid #008d4c;
    background-color: transparent !important;
}
.btn-outline-success:hover {
    background-color: #008d4c !important;
    color: #fff !important;
}

/* Custom list inside show */
.sonata-ba-view-container th:empty { 
    display: none; 
}

.sonata-inside-button-list {
    text-align: right;
    margin-bottom: 6px;
}

.sonata-inside-button-create {
    margin-bottom: 8px;
    text-align: left;
}

/* Estilos para CKEditor5 */
.ck-editor__editable_inline {
    min-height: 170px;
    max-height: 550px;
    overflow-y: auto;
}

/* --- Estilo Dropdown Perfil --- */

/* Más pequeño */
.navbar-custom-menu>.navbar-nav>li>.dropdown-menu {
    width: 100%;
    min-width: 150px;
}

/* --- Estilos para el Progress Bar  --- */
.progress {
    border-radius: 0;
    height: 18px;
    box-shadow: none;
    background: #dadada;
}

.progress .bar {
    box-shadow: none;
    line-height: 18px;
    height: 100%;
    text-align: center;
    color: white;
}

.progress[data-percent] {
    position: relative;
}

.progress[data-percent]:after {
    display: inline-block;
    content: attr(data-percent);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    line-height: 16px;
    text-align: center;
    font-size: 12px;
    font-family: Verdana;
    color: #FFF;
    text-shadow: 2px 2px #000000;
    font-weight: bold;
}

.progress.progress-yellow[data-percent]:after {
    color: #963;
}

.progress.progress-small {
    height: 12px;
}

.progress.progress-small .bar {
    line-height: 10px;
    font-size: 11px;
}

.progress.progress-small[data-percent]:after {
    line-height: 10px;
    font-size: 11px;
}

.progress.progress-mini {
    height: 9px;
}

.progress.progress-mini .bar {
    line-height: 8px;
    font-size: 11px;
}

.progress.progress-mini[data-percent]:after {
    line-height: 8px;
    font-size: 11px;
}

.progress .bar {
    background-image: none;
    background-color: #2a91d8;
}

.progress-danger .bar,.progress .bar-danger {
    background-image: none;
    background-color: #ca5952;
}

.progress-success .bar,.progress .bar-success {
    background-image: none;
    background-color: #59a84b;
}

.progress-warning .bar,.progress .bar-warning {
    background-image: none;
    background-color: #f2bb46;
}

.progress-pink .bar,.progress .bar-pink {
    background-image: none;
    background-color: #d6487e;
}

.progress-purple .bar,.progress .bar-purple {
    background-image: none;
    background-color: #9585bf;
}

.progress-yellow .bar,.progress .bar-yellow {
    background-image: none;
    background-color: #ffd259;
}

.progress-inverse .bar,.progress .bar-inverse {
    background-image: none;
    background-color: #404040;
}

.progress-grey .bar,.progress .bar-grey {
    background-image: none;
    background-color: #8a8a8a;
}

.progress .bar+.bar {
    box-shadow: none;
}

.progress-danger.progress-striped .bar,.progress-striped .bar-danger {
    background-color: #cc4942;
}

.progress-warning.progress-striped .bar,.progress-striped .bar-warning {
    background-color: #eba450;
}

.progress-success.progress-striped .bar,.progress-striped .bar-success {
    background-color: #55b83b;
}

.progress-info.progress-striped .bar,.progress-striped .bar-info {
    background-color: #148bcf;
}

.progress-pink.progress-striped .bar,.progress-striped .bar-pink {
    background-color: #d6487e;
    background-image: -webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}

.progress-purple.progress-striped .bar,.progress-striped .bar-purple {
    background-color: #9585bf;
    background-image: -webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}

.progress-yellow.progress-striped .bar,.progress-striped .bar-yellow {
    background-color: #ffd259;
    background-image: -webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}

.progress-inverse.progress-striped .bar,.progress-striped .bar-inverse {
    background-color: #404040;
    background-image: -webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}

.progress-grey.progress-striped .bar,.progress-striped .bar-grey {
    background-color: #8a8a8a;
    background-image: -webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}

.progress {
    position: relative;
    background-color: white;
}

.progress:before {
    display: inline-block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: radial-gradient(9px 9px 0deg,circle cover,#0ff 0,rgba(0,0,255,0) 100%,#00f 95%);
}

.progress, .progress .bar {
  /*background-color: #ffb752;*/
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: visible;
}

.progress > .bar-purple{ /*hay que cambiar la barra morada a gris*/
  background-color: grey !important;
  /*background-color: #f2bb46 !important;*/
}

/* --- Estilos para quitar enlace en el header de los listados --- */
.sonata-ba-list-field-header-order-asc a,
.sonata-ba-list-field-header-order-desc a {
    text-decoration: underline;
    color: inherit;
}

/* --- Estilos para colores en iconos --- */
.icon-tab-cliente-perfil {
    color: #69aa46;
}
.icon-tab-cliente-presupuestos {
    color: #dd5a43;
}
.icon-tab-cliente-facturas {
    color: #c6699f;
}
.icon-tab-cliente-servicios {
    color: #478fca;
}
.icon-tab-cliente-notas {
    color: #ff892a;
}
.icon-tab-cliente-sedes {
    color: #a069c3;
}
.icon-tab-cliente-contactos {
    color: #a52a2a;
}
.icon-tab-cliente-alertas {
    color: #69aa46;
}
.icon-tab-cliente-participantes {
    color: #dd5a43;
}
.icon-tab-cliente-grupos {
    color: #c6699f;
}
.icon-tab-cliente-encomienda {
    color: rgb(182, 182, 63);
}

/* --- Estilos importados de bootstrap --- */
.center {
    text-align: center;
}
.position-relative {
    position: relative;
}
.blue {
    color: #478fca!important;
}
.bg-blue {
    background-color: #478fca!important;
    color: #fff!important;
}
.red {
    color: #dd5a43!important;
}
.bg-red {
    background-color: #dd5a43!important;
    color: #fff!important;
}
.green {
    color: #69aa46!important;
}
.bg-green {
    background-color: #69aa46!important;
    color: #fff!important;
}
.space, 
.vspace {
    max-height: 1px;
    min-height: 1px;
    overflow: hidden;
    margin: 12px 0;
}
.hr {
    display: block;
    height: 0;
    overflow: hidden;
    font-size: 0;
    border-top: 1px solid #e3e3e3;
    margin: 12px 0;
}
.hr-double {
    height: 1px;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
}

/* --- Estilos plantilla de factura --- */
.invoice-box {
    padding: 15px;
    background-color: #fff;
    margin-bottom: 20px;
}
.invoice-header {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 15px;
    border-bottom: 1px solid #e3e3e3;
}
.invoice-title {
    margin: 0;
    padding: 0;
}
.invoice-title .fa {
    margin-right: 8px;
}
.invoice-actions {
    border-left: 1px solid #e3e3e3;
    display: flex;
    align-items: center;
    padding-left: 20px;
}
.invoice-pdf {
    padding-right: 20px;
}
.invoice-info {
    text-align: right;
}
.invoice-body {
    width: 100%;
}
.invoice-legal {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    width: 100%;
}
.invoice-emisor,
.invoice-cliente {
    flex: 0 0 calc(50% - 10px);
    padding-top: 20px;
}
.invoice-emisor-title,
.invoice-cliente-title {
    padding: 4px 15px;
    margin-bottom: 6px;
}
.invoice-legal ul {
    list-style-type: none;
    padding-left: 15px;
}
.invoice-legal .fa {
    margin-right: 8px;
}
@media (max-width: 768px) {
    .invoice-cliente,
    .invoice-emisor {
        flex: 0 0 100%; /* ahora ocupan todo el ancho (1 columna) */
    }
}
.invoice-lines {
    display: flex;
    width: 100%;
    padding-top: 20px;
}
.invoice-final {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
.invoice-final .hr {
    width: 100%;
}
.invoice-final-lines {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* --- Estilos dashboard: stats --- */
.infobox-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    padding-bottom: 20px;
    font-size: 18px;
}
.infobox {
    flex: 0 0 calc(50% - 10px);
    border: 1px solid #efefef;
    padding: 15px;
}
.infobox-icon {
    font-size: 30px;
}
.infobox-blue .infobox-icon {
    color: #6fb3e0;
}
.infobox-green .infobox-icon {
    color: #9abc32;
}
.infobox-pink .infobox-icon {
    color: #cb6fd7;
}
.infobox-wood .infobox-icon {
    color: #7b3f25;
}
.infobox-black .infobox-icon {
    color: #393939;
}
.infobox-data + .infobox-data {
    padding-top: 6px;
}

/* --- Estilos dashboard: alerts --- */
.header-alertas {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid #ededed;
}
.header-alertas-title,
.header-alertas-total {
    flex: 0 0 calc(50% - 10px);
}
.header-alertas-title {
    display: flex;
    align-items: center;
}
.header-alertas-title .badge {
    font-size: 16px;
    margin-left: 10px;
    margin-top: 12px;
}
.header-alertas-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #ededed;
    padding-bottom: 20px;
}

/* --- Estilos accordion --- */
.accordion-group {
  border-radius: 0;
  border-color: #cdd8e3;
  background-color: #FFF;
}
.accordion-group:last-child {
  border-bottom-width: 1px;
}
.collapse {
  background-color: #FFF;
}
.accordion-heading .accordion-toggle {
  color: #4c8fbd;
  background-color: #eef4f9;
  position: relative;
  font-weight: bold;
}
.accordion-heading .accordion-toggle.collapsed {
  color: #478fca;
  font-weight: normal;
  background-color: #F9F9F9;
}
.accordion-heading .accordion-toggle.collapsed i {
  transform: rotate(-90deg);
  color: #679;
}
.accordion-heading .accordion-toggle:hover {
  color: #6ea6cc;
  background-color: #f1f8fd;
  text-decoration: none;
}
.accordion-heading .accordion-toggle:focus,
.accordion-heading .accordion-toggle:active {
  outline: none;
  text-decoration: none;
}
.accordion-heading .accordion-toggle > [class*="icon-"]:first-child {
  width: 16px;
}
.accordion-heading .accordion-toggle:hover > [class*="icon-"]:first-child {
  text-decoration: none;
}
.accordion-inner,
.collapse.in > .accordion-inner {
  border-top: 1px solid #cdd8e3;
}
.accordion-inner.no-padding {
  padding: 0;
}
.accordion-style2 .accordion-group {
  border-width: 0;
  margin-bottom: 4px;
}
.accordion-style2 .accordion-heading .accordion-toggle {
  background-color: #EDF3F7;
  font-weight: bold;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  border: 2px solid #6EAED1;
  border-width: 0 0 0 2px;
  display: block;
}
.accordion-style2 .accordion-heading .accordion-toggle:hover {
  text-decoration: none;
}
.accordion-style2 .accordion-heading .accordion-toggle.collapsed {
  background-color: #F3F3F3;
  color: #606060;
  font-weight: normal;
  border-width: 0 0 0 1px;
  border-color: #D9D9D9;
}
.accordion-style2 .accordion-heading .accordion-toggle.collapsed:hover {
  background-color: #F6F6F6;
  color: #438EB9;
  text-decoration: none;
}
.accordion-style2 .accordion-heading .accordion-toggle > [class*="icon-"]:first-child {
  display: inline-block;
  width: 18px;
  text-align: center;
  margin-right: 6px;
}
.accordion-style2 .accordion-inner,
.accordion-style2 .collapse.in > .accordion-inner {
  border-top: none;
}
/* nested questions */
.accordion-style2 .accordion-style2 .accordion-group {
  border-bottom: 1px dotted #D9D9D9;
}
.accordion-style2 .accordion-style2 .accordion-group:last-child {
  border-bottom: none;
}
.accordion-style2 .accordion-style2 .accordion-group .accordion-heading .accordion-toggle {
  background-color: transparent;
  border-width: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 13px;
}

/* Custom search */
.custom-navbar-search form {
    margin: 0px;
    padding: 2px 0px;
}

/* Custom other styles */
.show-custom-buttons__cliente {
    padding: 10px 0 20px 0;
}
.item-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.accordion-inner {
    padding: 9px 15px;
}
.header-color-orange {
  background: #ffc657;
  border-color: #e8b10d;
  color: #855d10 !important;
}
.report-filter .accordion-heading {
    padding: 10px 15px;
}
.report-filter .accordion-heading .accordion-toggle,
.report-filter .accordion-heading .accordion-toggle.collapsed {
    background-color: transparent;
    color: inherit;
}
.report-filter .accordion-heading .accordion-toggle i,
.report-filter .accordion-heading .accordion-toggle.collapsed i {
    color: inherit;
    padding-top: 6px;
}
.report-filter .accordion-inner {
    border: 1px solid #ededed;
}
.report-filter .header-color-orange + .accordion-content .accordion-inner {
    border-color: #e8b10d;
}
.report-filter .accordion-heading.header-color-orange a {
    color: #855d10 !important;
}
.report-filter .accordion-inner .form-group {
    padding: 4px 15px 0px 15px;
}
.report-filter .accordion-inner .form-control {
    max-width: 240px;
}

/* Separar bloques en campos colapsados de formularios */
.sonata-custom-sendmail-fields > div + div {
    padding-top: 15px;
}

/* --- Zona perfil Profesor: Cursos --- */
/* Hack para que ocupe el 100% */
.col-md-2:has(> .perfi-profesor-cursos),
.col-md-4:has(> .perfi-profesor-cursos),
.col-md-6:has(> .perfi-profesor-cursos),
.col-md-8:has(> .perfi-profesor-cursos),
.col-md-10:has(> .perfi-profesor-cursos) { 
    width: 100%!important;
    float: none!important;
}

/* --- No mostrar los breadcrumbs a partir del tercer hijo: asi siempre cabe en el header --- */
.nav.navbar-top-links.breadcrumb li:nth-child(n+3) {
    display: none;
}
.nav.navbar-top-links.breadcrumb li .fa.fa-home {
    font-size: 0px;
}
.nav.navbar-top-links.breadcrumb li a:has(> .fa.fa-home) { 
    padding-left: 0px;
    padding-right: 0px;
}
.breadcrumb>li+li:before {
    padding-right: 0px;
}
.navbar-top-links li a, .navbar-top-links li span {
    padding-left: 5px;
    padding-right: 5px;
}
@media (min-width: 768px) and (max-width: 1199px) {
    body.fixed .content-wrapper, body.fixed .right-side {
        padding-top: 150px;
    }
}

/* --- Loader sobre el botón de nuevo registro inline (embedded) --- */
.btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5rem;
    height: 1.5rem;
    margin: -0.75rem;
    border-radius: 50%;
    border: 0.2rem solid rgba(0, 0, 0, .8);
    border-top-color: #fff;
    animation: spin 0.8s linear infinite;
    z-index: 5;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.btn.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.5;
}

/* --- Main footer --- */
.main-footer {
    text-align: right;
    padding: 15px; 
    color: #888;
    background-color: #fff;
}