/* Variables */
:root {
  --main: #4a67c2;
  --main-alt: #3552ad;
  --main-2: #6b86d6;
  --main-2-alt: #5875c9;
  --main-3: #8ea3e6;
  --main-3-alt: #7b92dc;
  --main-4: #b5c3f2;
  --main-4-alt: #a3b4eb;
}

/*Bootstrap Overlap*/
.form-control,
.form-control:focus,
.form-select,
.form-select:focus {
  border-color: var(--main-2);
}

.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.25rem var(--main-2-lighter);
}

a {
  color: var(--main);
}
a:hover {
  color: var(--main-alt);
}

/*JQuery Validator*/
.check-group .invalid-feedback {
  display: block;
}

.is-invalid-group {
  padding-top: 0.25rem;
}

/*Jquery Validator*/
.is-invalid,
.error {
  color: var(--bs-danger) !important;
}

/** Full Calendar */
.fc-event,
.fc-event-title,
.fc-daygrid-event {
  cursor: pointer;
}
/*Text Colors*/
.text-main {
  color: var(--main);
}

.text-main-2 {
  color: var(--main-2);
}

.text-main-3 {
  color: var(--main-3);
}

.text-main-4 {
  color: var(--main-4);
}

.text-cake {
  color: var(--cake);
}

/*Background Colors*/
.bg-main {
  background-color: var(--main) !important;
}

.bg-main-2 {
  background-color: var(--main-2) !important;
}

.bg-main-3 {
  background-color: var(--main-3) !important;
}

.bg-main-4 {
  background-color: var(--main-4) !important;
}

.bg-img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/*Border*/
.border-main {
  border-color: var(--main) !important;
}

.border-main-2 {
  border-color: var(--main-2) !important;
}

.border-main-3 {
  border-color: var(--main-3) !important;
}

.border-main-4 {
  border-color: var(--main-4) !important;
}

/*Buttons*/
.btn-main {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--main);
  --bs-btn-border-color: var(--main);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main-alt);
  --bs-btn-hover-border-color: var(--main-alt);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main-alt);
  --bs-btn-active-border-color: var(--main-alt);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--main);
  --bs-btn-disabled-border-color: var(--main);
  --bs-btn-disabled-opacity: 0.7;
}

.btn-outline-main {
  --bs-btn-color: var(--main);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--main);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main);
  --bs-btn-hover-border-color: var(--main);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main);
  --bs-btn-active-border-color: var(--main);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--main);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--main);
  --bs-gradient: none;
}

.btn-main-2 {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--main-2);
  --bs-btn-border-color: var(--main-2);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main-2-alt);
  --bs-btn-hover-border-color: var(--main-2-alt);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main-2-alt);
  --bs-btn-active-border-color: var(--main-2-alt);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--main-2);
  --bs-btn-disabled-border-color: var(--main-2);
  --bs-btn-disabled-opacity: 0.7;
}
.btn-outline-main-2 {
  --bs-btn-color: var(--main-2);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--main-2);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main-2);
  --bs-btn-hover-border-color: var(--main-2);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main-2);
  --bs-btn-active-border-color: var(--main-2);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
  --bs-btn-disabled-opacity: 0.7;
}

.btn-main-3 {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--main-3);
  --bs-btn-border-color: var(--main-3);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main-3-alt);
  --bs-btn-hover-border-color: var(--main-3-alt);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main-3-alt);
  --bs-btn-active-border-color: var(--main-3-alt);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--main-3);
  --bs-btn-disabled-border-color: var(--main-3);
  --bs-btn-disabled-opacity: 0.7;
}
.btn-outline-main-3 {
  --bs-btn-color: var(--main-3);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--main-3);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--main-3);
  --bs-btn-hover-border-color: var(--main-3);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--main-3);
  --bs-btn-active-border-color: var(--main-3);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
  --bs-btn-disabled-opacity: 0.7;
}

.btn-link-main {
  --bs-btn-color: var(--main);
  --bs-btn-hover-color: var(--main-alt);
  --bs-btn-active-color: var(--main-alt);
}

.btn-link-main-2 {
  --bs-btn-color: var(--main-2);
  --bs-btn-hover-color: var(--main-2-alt);
  --bs-btn-active-color: var(--main-2-alt);
}

.btn-link-main-3 {
  --bs-btn-color: var(--main-3);
  --bs-btn-hover-color: var(--main-3-alt);
  --bs-btn-active-color: var(--main-3-alt);
}

/* Layout general */
.app-layout {
  display: flex;
  width: 100%;
  min-height: 100vh;
  /* background-color: #f8f9fa; */
}

/* Área derecha */
.app-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
}

/* Header sticky */
.app-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  min-height: var(--header-height);
}

/* Contenido principal */
.app-content {
  flex: 1 1 auto;
  min-width: 0;
  padding: 1.5rem;
}

/* Sidebar */
.app-sidebar {
  --bs-offcanvas-width: var(--sidebar-width);

  width: var(--sidebar-width);
}

/* Contenido interno del sidebar */
.sidebar-header {
  height: var(--header-height);
  flex-shrink: 0;
}

.sidebar-content {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
}

.sidebar-footer {
  flex-shrink: 0;
}

/* Links */
.sidebar-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.75);
  border-radius: 0.375rem;
  white-space: nowrap;
}

.sidebar-link:hover,
.sidebar-link.active {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

/* Espacio reservado para iconos */
.sidebar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  min-width: 32px;
  font-size: 1rem;
}

/* Transiciones */
.app-sidebar,
.sidebar-label {
  transition:
    width 0.2s ease,
    opacity 0.15s ease;
}

@media (min-width: 992px) {
  .app-sidebar {
    position: sticky;
    top: 0;

    display: flex !important;
    flex-direction: column;

    width: var(--sidebar-width);
    height: 100vh;

    flex: 0 0 var(--sidebar-width);

    visibility: visible !important;
    transform: none !important;

    transition:
      width 0.2s ease,
      flex-basis 0.2s ease;
  }

  /*
     * Estado comprimido.
     */
  .app-layout.sidebar-collapsed .app-sidebar {
    width: var(--sidebar-collapsed-width);
    flex-basis: var(--sidebar-collapsed-width);
  }

  /*
     * Ocultar textos.
     */
  .app-layout.sidebar-collapsed .sidebar-label {
    display: none;
  }

  /*
     * Centrar iconos.
     */
  .app-layout.sidebar-collapsed .sidebar-link {
    justify-content: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .app-layout.sidebar-collapsed .sidebar-brand {
    width: 100%;
    text-align: center;
  }

  .app-layout.sidebar-collapsed .sidebar-collapse-button {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 991.98px) {
  .app-sidebar {
    width: var(--sidebar-width);
    max-width: 85vw;
  }

  .app-content {
    padding: 1rem;
  }
}

.app-breadcrumb-container {
  top: 54px;
  z-index: 10;
}

.notification-list {
  width: 26rem;
  max-width: 100%;
  max-height: 30rem;
  overflow-y: auto;
}

.main-table thead {
  background-color: var(--main);
  color: #fff;
}

.main-table thead th:first-child {
  border-top-left-radius: 12px;
}

.main-table thead th:last-child {
  border-top-right-radius: 12px;
}

.progress-bar-size {
  min-width: 110px;
  min-height: 22px;
}

@media (max-width: 400px) {
  .app-breadcrumb-container {
    top: 100px;
  }
}
