/* estilos ANI 2*/

@import url("animate.css");
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url("icons.css");


div#app {
  width: 100%;
}





/* Estilos para el modo claro */

:root {
  --navy: #1a2163;
  --navy-mid: #232c7a;
  --navy-light: #2d3a99;
  --teal: #00b4a0;
  --teal-light: #00d4bc;
  --teal-dark: #008f7e;
  --bg: #f0f4f8;
  --white: #ffffff;
  --text: #1a2163;
  --text-muted: #6b7a99;
  --border: #dde4f0;

   --bs-success: #198754;
   --bs-success-dark: #14462e;
  --bs-warning: #F6C000;

  --bs-warning-dark: rgb(217, 119, 6);
  --bs-danger: #F8285A;
  --bs-danger-dark: #7e102a;

    --bs-info:   rgb(67, 56, 202); 
    --bs-info-light:   rgb(221, 217, 252); 
 --bs-info-dark:   rgb(67, 56, 202); 

  --font: 'Nunito', sans-serif;
  --font-body: 'Nunito Sans', sans-serif;
  --sidebar-w: 230px;
  --sidebar-w-tablet: 86px;

  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: rgb(220, 38, 38);
  --bs-red-light: rgba(255, 234, 234, 0.911);
  --bs-red-light-border: rgba(241, 182, 182, 0.966);
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-green-light: rgb(209, 250, 229);
    --bs-green-dark: rgb(18, 56, 36);
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000000;
  --bs-white: #ffffff;
  --bs-gray: #78829D;
  --bs-gray-dark: #0b141a;
  --bs-gray-100: #F9F9F9;
  --bs-gray-200: #eceff5;
  --bs-gray-300: #DBDFE9;
  --bs-gray-400: #C4CADA;
  --bs-gray-500: #99A1B7;
  --bs-gray-600: #78829D;
  --bs-gray-700: #4B5675;
  --bs-gray-800: #2d3448;
  --bs-gray-900: #181f34;
  --bs-light: #F9F9F9;
  --bs-primary: #292e7a;
  --bs-primary-li: #b7b9d6;
  --bs-primary-dark: #2d334c;
  --bs-primary-light-md: #abadcc;

  --bs-secondary: #45b8b3;
  --bs-primary-light-ligth: #eff0fa;
  --bs-success: #50cd89;
  --bs-info: #555fef;
  --bs-warning: #ffc700;
  --bs-danger: #f1416c;
  --bs-dark: #1E2129;
  --bs-body-bg: #ffffff;
  --bs-secondary-bg: #45b8b3;
  --bs-tertiary-bg: #F9F9F9;
  --bs-primary-active: #292e7a;
  --bs-secondary-active: #C4CADA;
  --bs-light-active: #45b8b3;
  --bs-success-active: #47be7d;
  --bs-info-active: #5014d0;
  --bs-warning-active: #f1bc00;
  --bs-danger-active: #d9214e;
  --bs-dark-active: #111318;
  --bs-primary-light: #847cb9;
  --bs-secondary-light: #F9F9F9;
  --bs-success-light: #e8fff3;

  --bs-warning-light: #fff8dd;
  --bs-danger-light: #fff5f8;
  --bs-dark-light: #F9F9F9;
  --bs-light-light: #ffffff;
  --bs-primary-inverse: #ffffff;
  --bs-secondary-inverse: #252F4A;
  --bs-light-inverse: #252F4A;
  --bs-success-inverse: #ffffff;
  --bs-info-inverse: #ffffff;
  --bs-warning-inverse: #ffffff;
  --bs-danger-inverse: #ffffff;
  --bs-dark-inverse: #ffffff;
  --bs-primary-clarity: rgba(27, 132, 255, 0.2);
  --bs-secondary-clarity: rgba(249, 249, 249, 0.2);
  --bs-success-clarity: rgba(23, 198, 83, 0.2);
  --bs-info-clarity: rgba(114, 57, 234, 0.2);
  --bs-warning-clarity: rgba(246, 192, 0, 0.2);
  --bs-danger-clarity: rgba(248, 40, 90, 0.2);
  --bs-dark-clarity: rgba(30, 33, 41, 0.2);
  --bs-light-clarity: rgba(255, 255, 255, 0.2);

  --bs-success-disabled: #8aa596;
  --bs-danger-disabled: #8d7e82;
  --bs-info-disabled: #9d91b5;

  --bs-primary-disabled: #8688aa;

  --bs-font-sans-serif: "Poppins", sans-serif;

  --bs-link-color-inverse: #cfd5ff;

  --bs-link-color-inverse-hover: #31354d;
  --bs-link-color: #292e7a;

  --bs-link-decoration: none;
  --bs-link-hover-color: #2d334c;

  --bs-link-hover-decoration: none;

  --bs-form-valid-color: #50cd89;
  --bs-form-valid-border-color: #50cd89;
  --bs-form-invalid-color: #f1416c;
  --bs-form-invalid-border-color: #f1416c;

  --bs-text-white: #ffffff;
  --bs-text-primary: #292e7a;
  --bs-text-secondary: #363843;
  --bs-text-light: #1B1C22;
  --bs-text-success: #00A261;
  --bs-text-info: #883FFF;
  --bs-text-warning: #C59A00;
  --bs-text-danger: #E42855;
  --bs-text-dark: #202229;
  --bs-text-muted: #636674;
  --bs-text-gray-1000: #000000;
  --bs-text-gray-900: #1B1C22;
  --bs-text-gray-800: #26272F;
  --bs-text-gray-700: #363843;
  --bs-text-gray-600: #464852;
  --bs-text-gray-500: #636674;
  --bs-text-gray-400: #808290;
  --bs-text-gray-300: #9A9CAE;
  --bs-text-gray-200: #B5B7C8;
  --bs-text-gray-100: #F5F5F5;
  --bs-border-color: #e0e0e6;
  --bs-border-dashed-color: #D4D9E4;

  --bs-page-bg: #ffffff;
  --bs-app-blank-bg: #ffffff;
  --bs-header-bg-color: #ffffff;
  --bs-header-border-bottom: 0;
  --bs-header-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.03);

  --bs-menu-900: #1B1C22;
  --bs-header-menu-900: #0F1014;
  --bs-text-brand-menu: #0F1014;
  --bs-menu-heading-color: #99A1B7;

  --bs-menu-dropdown-box-shadow: 1px 1px 15px 1px rgba(5, 5, 5, 0.10);
  --bs-menu-dropdown-bg-color: var(--bs-body-bg);

  --card-title-color: var(--bs-gray-900);
  --card-border-width: 1px;
  --card-border-color: #45b8b3;
  --card-border-radius: 0.525rem;
  --card-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.05);
  --card-bg: var(--bs-body-bg);
  --card-title-color: var(--bs-gray-900);
  --card-cap-bg: transparent;
  --btn-close-color: var(--bs-gray-300);
  --logo-header: #000;
  --mapaOSM: grayscale(100%) invert(0%) hue-rotate(0deg) brightness(100%) contrast(100%);

  --bg-light: #ffffff
}




html,
body {
  height: 100%;
}



body {
 
  -webkit-font-smoothing: antialiased;
  background: var(--bg);
  color: var(--bs-text-gray-900) !important;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
   font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-size: 13px !important;
}

a {
  text-decoration: none;
  color: var(--bs-link-color);
  background-color: transparent;
  outline: none !important;
  text-decoration: var(--bs-link-decoration);
}

a:hover {
  text-decoration: var(--bs-link-decoration);
  color: var(--bs-link-hover-color);
  background-color: transparent;
}


::-moz-selection {
  /* Code for Firefox */
  color: var(--bs-text-dark);
  background: var(--bs-primary);
}

::selection {
  color: var(--bs-text-white);
  background: var(--bs-primary);
}


.form-control::placeholder {
  font-size: 14px;
  /* Firefox, Chrome, Opera */
  color: var(--bs-gray-600);
}

.form-control:-ms-input-placeholder {
  font-size: 14px;
  /* Internet Explorer 10-11 */
  color: var(--bs-gray-600);
}

.form-control::-ms-input-placeholder {
  font-size: 14px;
  /* Microsoft Edge */
  color: var(--bs-gray-600);
}


.main {
  margin-left: var(--sidebar-w);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  transition: margin-left 0.3s ease;
}

/*************
 Color Textos 
 ************/
.text-muted {
  color: var(--bs-text-muted) !important
}

.text-hover-muted {
  transition: color .2s ease
}

.text-hover-muted i {
  transition: color .2s ease
}

.text-hover-muted:hover {
  transition: color .2s ease;
  color: var(--bs-text-muted) !important
}

.text-hover-muted:hover i {
  transition: color .2s ease;
  color: var(--bs-text-muted) !important
}

.text-hover-muted:hover .svg-icon {
  color: var(--bs-text-muted) !important
}

.text-active-muted {
  transition: color .2s ease
}

.text-active-muted i {
  transition: color .2s ease
}

.text-active-muted.active {
  transition: color .2s ease;
  color: var(--bs-text-muted) !important
}

.text-active-muted.active i {
  transition: color .2s ease;
  color: var(--bs-text-muted) !important
}

.text-active-muted.active .svg-icon {
  color: var(--bs-text-muted) !important
}

.text-gray-100 {
  color: var(--bs-text-gray-100) !important
}

.text-hover-gray-100 {
  transition: color .2s ease
}

.text-hover-gray-100 i {
  transition: color .2s ease
}

.text-hover-gray-100:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-100) !important
}

.text-hover-gray-100:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-100) !important
}

.text-hover-gray-100:hover .svg-icon {
  color: var(--bs-text-gray-100) !important
}

.text-active-gray-100 {
  transition: color .2s ease
}

.text-active-gray-100 i {
  transition: color .2s ease
}

.text-active-gray-100.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-100) !important
}

.text-active-gray-100.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-100) !important
}

.text-active-gray-100.active .svg-icon {
  color: var(--bs-text-gray-100) !important
}

.text-gray-200 {
  color: var(--bs-text-gray-200) !important
}

.text-hover-gray-200 {
  transition: color .2s ease
}

.text-hover-gray-200 i {
  transition: color .2s ease
}

.text-hover-gray-200:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-hover-gray-200:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-hover-gray-200:hover .svg-icon {
  color: var(--bs-text-gray-200) !important
}

.text-active-gray-200 {
  transition: color .2s ease
}

.text-active-gray-200 i {
  transition: color .2s ease
}

.text-active-gray-200.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-active-gray-200.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-active-gray-200.active .svg-icon {
  color: var(--bs-text-gray-200) !important
}

.text-gray-300 {
  color: var(--bs-text-gray-300) !important
}

.text-hover-gray-300 {
  transition: color .2s ease
}

.text-hover-gray-300 i {
  transition: color .2s ease
}

.text-hover-gray-300:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-300) !important
}

.text-hover-gray-300:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-300) !important
}

.text-hover-gray-300:hover .svg-icon {
  color: var(--bs-text-gray-300) !important
}

.text-active-gray-300 {
  transition: color .2s ease
}

.text-active-gray-300 i {
  transition: color .2s ease
}

.text-active-gray-300.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-300) !important
}

.text-active-gray-300.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-300) !important
}

.text-active-gray-300.active .svg-icon {
  color: var(--bs-text-gray-300) !important
}

.text-gray-400 {
  color: var(--bs-text-gray-400) !important
}

.text-hover-gray-400 {
  transition: color .2s ease
}

.text-hover-gray-400 i {
  transition: color .2s ease
}

.text-hover-gray-400:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-400) !important
}

.text-hover-gray-400:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-400) !important
}

.text-hover-gray-400:hover .svg-icon {
  color: var(--bs-text-gray-400) !important
}

.text-active-gray-400 {
  transition: color .2s ease
}

.text-active-gray-400 i {
  transition: color .2s ease
}

.text-active-gray-400.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-400) !important
}

.text-active-gray-400.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-400) !important
}

.text-active-gray-400.active .svg-icon {
  color: var(--bs-text-gray-400) !important
}

.text-gray-500 {
  color: var(--bs-text-gray-500) !important
}

.text-hover-gray-500 {
  transition: color .2s ease
}

.text-hover-gray-500 i {
  transition: color .2s ease
}

.text-hover-gray-500:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-hover-gray-500:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-hover-gray-500:hover .svg-icon {
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-500 {
  transition: color .2s ease
}

.text-active-gray-500 i {
  transition: color .2s ease
}

.text-active-gray-500.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-500.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-500.active .svg-icon {
  color: var(--bs-text-gray-500) !important
}

.text-gray-600 {
  color: var(--bs-text-gray-600) !important
}

.text-hover-gray-600 {
  transition: color .2s ease
}

.text-hover-gray-600 i {
  transition: color .2s ease
}

.text-hover-gray-600:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-600) !important
}

.text-hover-gray-600:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-600) !important
}

.text-hover-gray-600:hover .svg-icon {
  color: var(--bs-text-gray-600) !important
}

.text-active-gray-600 {
  transition: color .2s ease
}

.text-active-gray-600 i {
  transition: color .2s ease
}

.text-active-gray-600.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-600) !important
}

.text-active-gray-600.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-600) !important
}

.text-active-gray-600.active .svg-icon {
  color: var(--bs-text-gray-600) !important
}

.text-gray-700 {
  color: var(--bs-text-gray-700) !important
}

.text-hover-gray-700 {
  transition: color .2s ease
}

.text-hover-gray-700 i {
  transition: color .2s ease
}

.text-hover-gray-700:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-700) !important
}

.text-hover-gray-700:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-700) !important
}

.text-hover-gray-700:hover .svg-icon {
  color: var(--bs-text-gray-700) !important
}

.text-active-gray-700 {
  transition: color .2s ease
}

.text-active-gray-700 i {
  transition: color .2s ease
}

.text-active-gray-700.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-700) !important
}

.text-active-gray-700.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-700) !important
}

.text-active-gray-700.active .svg-icon {
  color: var(--bs-text-gray-700) !important
}

.text-gray-800 {
  color: var(--bs-text-gray-800) !important
}

.text-hover-gray-800 {
  transition: color .2s ease
}

.text-hover-gray-800 i {
  transition: color .2s ease
}

.text-hover-gray-800:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-hover-gray-800:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-200) !important
}

.text-hover-gray-800:hover .svg-icon {
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-800 {
  transition: color .2s ease
}

.text-active-gray-800 i {
  transition: color .2s ease
}

.text-active-gray-800.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-800.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-800) !important
}

.text-active-gray-800.active .svg-icon {
  color: var(--bs-text-gray-800) !important
}

.text-gray-900 {
  color: var(--bs-text-gray-900) !important
}

.text-hover-gray-900 {
  transition: color .2s ease
}

.text-hover-gray-900 i {
  transition: color .2s ease
}

.text-hover-gray-900:hover {
  transition: color .2s ease;
  color: var(--bs-text-gray-900) !important
}

.text-hover-gray-900:hover i {
  transition: color .2s ease;
  color: var(--bs-text-gray-900) !important
}

.text-hover-gray-900:hover .svg-icon {
  color: var(--bs-text-gray-900) !important
}

.text-active-gray-900 {
  transition: color .2s ease
}

.text-active-gray-900 i {
  transition: color .2s ease
}

.text-active-gray-900.active {
  transition: color .2s ease;
  color: var(--bs-text-gray-900) !important
}

.text-active-gray-900.active i {
  transition: color .2s ease;
  color: var(--bs-text-gray-900) !important
}

.text-active-gray-900.active .svg-icon {
  color: var(--bs-text-gray-900) !important
}




.text-bs-cyan {
  color: var(--bs-cyan);
}

/*fondos*/

.bg-light {
  background-color: var(--bs-dark-light);
}

.bg-primary {
  background-color: var(--bs-primary) !important;
}

.bg-gray-200 {
  background-color: var(--bs-gray-200) !important;
}

.bg-primary-light {
  background-color: var(--bs-primary-light) !important
}



.bg-gray-100 {
  background-color: var(--bs-gray-100) !important;
}



.bg-warning-dark {
  background: var(--bs-warning-dark) !important
}

.bg-warning-light {
  background: var(--bs-warning-light) !important
}

.bg-red-light {
  background: var(--bs-red-light) !important
}



.bg-green {
  background: var(--bs-green) !important
}

.bg-green-light {
  background: var(--bs-green-light) !important
}

.bg-info {
  background: var(--bs-info) !important
}

.bg-info-light {
  background: var(--bs-info-light) !important
}

.hidden {
  display: none !important;
}


.bg-slate-100 {
 
  background-color: var(--bs-gray-100);
    border:1px solid #e7e7e7;
   display: flex;
   align-items: center;
}




/*checkbox hover*/

/*<span class="label label-inverse-success" title=" El pago fue confirmado por el POS ">Confirmado</span>
<span class="label label-inverse-success" title=" El pago fue aprobado ">Aprobado</span>
<span class="label label-inverse-danger" title=" El pago fue rechazado ">Denegado</span>
<span class="label label-inverse-danger" title=" El pago fue anulado ">Refundado</span>
<span class="label label-inverse-warning" title=" El pago fue anulado ">Revertido</span>
<span class="label label-inverse-danger" title="El pago no se pudo ejecutar por un error ">Error</span>
<span class="label label-inverse-info" title="El pago se encuentra pendiente ">Pendiente</span>
<span class="label label-inverse-danger" title=" El pago fue cancelado ">Cancelado</span>*/


.hover-check-danger:hover, .hover-check-danger:has(input:checked){
  background-color: var(--bs-danger-light);
  color: var(--bs-danger-dark);
  cursor: pointer;
   border:1px solid #ecc0c0;
   display: flex;
   align-items: center;
 
}
.hover-check-info:hover, .hover-check-info:has(input:checked){
  background-color: var(--bs-info-light);
  color: var(--bs-info-dark);
    cursor: pointer;
     border:1px solid #bfcfe7;
     display: flex;
  align-items: center;
}
.hover-check-success:hover,.hover-check-success:has(input:checked){
  background-color: var(--bs-success-light);
  color: var(--bs-success-dark);
  border:1px solid #bfe7cf;
    cursor: pointer;
    display: flex;
  align-items: center;
}
.hover-check-warning:hover,.hover-check-warning:has(input:checked){
  background-color: var(--bs-warning-light);
  color: var(--bs-warning-dark);
  border:1px solid #e6e7bf;
    cursor: pointer;
    display: flex;
  align-items: center;
}


.hover-check-warning .form-check-input:checked{
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
}

.hover-check-danger .form-check-input:checked{
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}

.hover-check-success .form-check-input:checked{
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}

.hover-check-info .form-check-input:checked{
  background-color: var(--bs-info);
  border-color: var(--bs-info);
}
.rounded-full-30 {
  border-radius: 20px;
}


/*****
textos
********/

.text-primary-light {
  color: var(--bs-primary-light) !important
}




.text-primary {
  color: var(--bs-primary) !important
}

.text-inverse-primary {
  color: var(--bs-primary-inverse) !important
}


.text-info{
  color: var(--bs-info) !important;
}

.text-warning {
  color: var(--bs-warning-text-emphasis) !important
}

.text-warning-light {
  color: var(--bs-warning-bg-subtle) !important
}

.text-warning-dark {
  color: var(--bs-warning-dark) !important
}


.text-green {
  color: var(--bs-green) !important
}

.text-green-light {
  color: var(--bs-green-light) !important
}



.text-inverse-primary {
  color: var(--bs-primary-inverse) !important
}


.text-hover-primary {
  transition: color .2s ease
}

.text-hover-primary i {
  transition: color .2s ease
}

.text-hover-primary:hover {
  transition: color .2s ease;
  color: var(--bs-text-primary) !important
}

.text-hover-primary:hover i {
  transition: color .2s ease;
  color: var(--bs-text-primary) !important
}



/***********
*/

/*************
 weight tamaños
 ************/
.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

/*************
 Textos tamaños
 ************/
.text-8 {
  font-size: 8px !important;
}

.text-9 {
  font-size: 9px !important;
}

.text-10 {
  font-size: 10px !important;
}

.text-11 {
  font-size: 11px !important;
}

.text-12 {
  font-size: 12px !important;
  ;
}

.text-13 {
  font-size: 13px !important;
}

.text-14 {
  font-size: 14px !important;
}

.text-15 {
  font-size: 15px;
}

.text-16 {
  font-size: 16px !important;
}

.text-18 {
  font-size: 18px !important;
}

.text-20 {
  font-size: 20px !important;
}

.text-22 {
  font-size: 22px !important;
}

.text-24 {
  font-size: 24px !important;
}

.text-25 {
  font-size: 25px !important;
}

.text-30 {
  font-size: 30px !important;
}

.text-40 {
  font-size: 40px !important;
}

.text-45 {
  font-size: 45px !important;
}

.text-50 {
  font-size: 50px !important;
}

.text-60 {
  font-size: 60px !important;
}

.text-70 {
  font-size: 70px !important;
}

.text-100 {
  font-size: 100px !important;
}


/*********
bordes
************/
.border-dashed {
  border-style: dashed !important;
  border-color: var(--bs-border-dashed-color);
}

.border-gray-300 {
  border-color: var(--bs-gray-300) !important;
}


/* anchos y altos*/
.w-90px {
  width: 90px !important;
}

.w-90porc {
  width: 90% !important;
}

.min-w-125px {
  min-width: 125px !important;
}

.min-w-75px {
  min-width: 75px !important;
}



@media (min-width: 320px) {
  .w-md-325px {
    min-width: 275px !important;
  }
}

@media (min-width: 720px) {
  .w-md-325px {
    min-width: 325px !important;
  }

}



.rounded {
  border-radius: .475rem !important;
}

/***************
imagenes avatar
****************/
.img-circle {
  border-radius: 50%;
}


.img-circle-xs {
  border-radius: 50%;
  width: 35px;
  height: 35px;
  object-fit: cover;
  position: relative;
}


.user-avatar {
  width: 50px;
  height: 50px;
  object-fit: cover;
  position: relative;
  border-radius: .475rem;

}

.user-avatar img {
  width: 50px;
  height: 50px;
  object-fit: cover;
}


.user-avatar-xl {
  width: 90px;
  height: 90px;
  object-fit: cover;
  position: relative;
  border-radius: .475rem;

}

.user-avatar-xl img {
  width: 90px;
  height: 90px;
  object-fit: cover;
}

.user-avatar-xs {
  width: 20px;
  height: 20px;
  object-fit: cover;
  position: relative;
  border-radius: .475rem;

}

.user-avatar-xs img {
  width: 20px;
  height: 20px;
  object-fit: cover;
}



.user-avatar-sm {
  width: 35px;
  height: 35px;
  object-fit: cover;
  position: relative;
  border-radius: .475rem;

}

.user-avatar-sm img {
  width: 35px;
  height: 35px;
  object-fit: cover;
}


/************************
empty states
**********************/

/*empty state*/




.empty {

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.empty-height {
  height: 85vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.empty-height-400 {
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.empty-height-350 {
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.empty-height-100 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}



/*************
HEADER
 ************/

.navBar {
  background: linear-gradient(135deg, #1e3a5f 0%, #2d1b4e 50%, #1a1a2e 100%) !important;
  border-bottom: var(--bs-header-border-bottom);
  box-shadow: var(--bs-header-box-shadow);
  height: 80px;

}



.tituloDesktopHeader {
  width: 1395px;
}



@media only screen and (min-width: 980px) and (max-width:1600px) {
  .tituloDesktopHeader {
    width: 900px;
  }
}

@media only screen and (min-width: 360px) and (max-width: 768px) {
  .tituloDesktopHeader {
    width: 1395px;
  }
}

/**************
SHADOW
************/
.shadow-sm {
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.3),
}

/**************
dropdownmenu
************/
.dropdown-menu {
  border: 0px;
  border-radius: 0px;
  box-shadow: var(--bs-menu-dropdown-box-shadow);
}


.dropdown-item:focus,
.dropdown-item:hover {
  color: var(--bs-primary);
  background: transparent;
}

.btn-group>.btn-group:not(:last-child)>.btn,
.btn-group>.btn.dropdown-toggle-split:first-child,
.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {


  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem;
}



.dropdown-menu-footer {
  border-top: var(--bs-border-color);

  padding: 15px;

}

/*************
MENU
 ************/

/*notificacion campana*/

.bullet-notification {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--bs-danger-active);
  position: absolute;
  right: 5px;
  top: 8px;
}

.btn-menu i {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.btn-menu i:hover {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.menu-aside {
  background-color: var(--bs-menu-900);
}

.flex-row-fluid {
  flex: 1 auto;
  min-width: 0;
}

.text-brand-menu {
  color: var(--bs-text-brand-menu);
}


.bullet {
  display: inline-block;
  background-color: var(--bs-bullet-bg-color);
  border-radius: 6px;
  width: 8px;
  height: 4px;
  flex-shrink: 0
}

.bullet-dot {
  width: 4px;
  height: 4px;
  border-radius: 100% !important
}

.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: 300px;
}

/*----------------------sidebar-menu-------------------------*/

/* ══════════════════════════════
       SIDEBAR
    ══════════════════════════════ */
.sidebar {
  width: var(--sidebar-w);
  background: linear-gradient(135deg, #1e3a5f 0%, #2d1b4e 50%, #1a1a2e 100%);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1050;
  box-shadow: 4px 0 20px rgba(26, 33, 99, 0.25);
  transition: transform 0.3s ease, width 0.3s ease;
}


.sidebar-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 1040;
}

.sidebar-backdrop.show {
  opacity: 1;
  visibility: visible;
}

.sidebar-logo {
  padding: 22px 20px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo-shield {
  width: 40px;
  height: 40px;

  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;

}


.logo-shield.capiata {

  background: linear-gradient(135deg, #eaf3f1 0%, #d47912 100%);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);

}

.logo-text {
  line-height: 1.2;
}

.logo-text strong {
  display: block;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.3px;
}

.logo-text span {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-section-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(255, 255, 255, 0.3);
  padding: 18px 20px 6px;
  font-family: var(--font);
  font-weight: 700;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  cursor: pointer;
  border-left: 3px solid transparent;
  transition: all 0.2s;
  font-family: var(--font);
  text-decoration: none;
}

.nav-item:hover {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.05);
}

.nav-item.active {
  color: #fff;
  border-left-color: var(--teal-light);
  background: rgba(0, 212, 188, 0.1);
}

.nav-item .nav-icon {
  font-size: 17px;
  width: 22px;
  text-align: center;
  flex-shrink: 0;
}

.nav-badge {
  margin-left: auto;
  background: var(--bs-danger);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 20px;
  font-family: var(--font);
}

.sidebar-footer {
  margin-top: auto;
  padding: 16px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.operator-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.operator-avatar {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--teal-dark), var(--teal-light));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  color: white;
  font-family: var(--font);
  flex-shrink: 0;
}

.operator-name {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font);
}

.operator-role {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 1px;
}


/* Tablet */
@media (max-width: 991.98px) {
  .sidebar {
    width: var(--sidebar-w-tablet);
  }

  .main {
    margin-left: var(--sidebar-w-tablet);
  }

  .logo-text,
  .nav-section-label,
  .nav-item span:not(.nav-icon):not(.nav-badge),
  .operator-info>div:last-child {
    display: none;
  }

  .sidebar-logo,
  .nav-item,
  .sidebar-footer,
  .operator-info {
    justify-content: center;
  }

  .nav-item {
    padding: 12px 10px;
    position: relative;
  }

  .nav-badge {
    position: absolute;
    top: 6px;
    right: 8px;
    margin-left: 0;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .sidebar {
    width: var(--sidebar-w);
    transform: translateX(-100%);
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .main {
    margin-left: 0;
  }

  .logo-text,
  .nav-section-label,
  .nav-item span:not(.nav-icon):not(.nav-badge),
  .operator-info>div:last-child {
    display: block;
  }

  .sidebar-logo,
  .nav-item,
  .sidebar-footer,
  .operator-info {
    justify-content: flex-start;
  }

  .nav-item {
    padding: 11px 20px;
  }
}

@media (min-width: 768px) {
  .sidebar-backdrop {
    display: none;
  }
}






/*************
Modales
 ************/
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  min-height: 70px;
  padding: 1.5rem 2.0rem;
  color: var(--card-cap-color);
  background-color: var(--card-cap-bg);

}



.modal-content {
  border: 0px
}

.btn-close {
  --bs-btn-close-color: var(--btn-close-color);
}

/* ══════════════════════════════
       KPI CARDS
    ══════════════════════════════ */
.kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}

.kpi-card {
  background: var(--white);
  border-radius: 14px;
  padding: 20px 22px;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(26, 33, 99, 0.05);
  transition: transform 0.2s, box-shadow 0.2s;
  animation: fadeUp 0.5s ease both;
}

.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26, 33, 99, 0.1);
}

.kpi-card:nth-child(1) {
  animation-delay: .05s
}

.kpi-card:nth-child(2) {
  animation-delay: .1s
}

.kpi-card:nth-child(3) {
  animation-delay: .15s
}

.kpi-card:nth-child(4) {
  animation-delay: .2s
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

.kpi-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 14px 14px 0 0;
}

.kpi-card.c-teal::after {
  background: linear-gradient(90deg, var(--teal), var(--teal-light));
}

.kpi-card.c-navy::after {
  background: linear-gradient(90deg, var(--navy), var(--navy-light));
}

.kpi-card.c-success::after {
  background: linear-gradient(90deg, var(--success), #00e699);
}

.kpi-card.c-warning::after {
  background: linear-gradient(90deg, var(--warning), #ffc940);
}

.kpi-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.kpi-icon-wrap {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.kpi-icon-wrap.teal {
  background: rgba(0, 180, 160, 0.12);
}

.kpi-icon-wrap.navy {
  background: rgba(26, 33, 99, 0.08);
}

.kpi-icon-wrap.success {
  background: rgba(0, 184, 122, 0.1);
}

.kpi-icon-wrap.warning {
  background: rgba(240, 165, 0, 0.1);
}

.kpi-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  font-weight: 700;
  font-family: var(--font);
  margin-bottom: 6px;
  margin-top: 14px;
}

.kpi-value {
  font-family: var(--font);
  font-size: 32px;
  font-weight: 900;
  color: var(--navy);
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 8px;
}

.kpi-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted);
  font-family: var(--font);
  font-weight: 600;
}

.kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 20px;
  font-family: var(--font);
}

.kpi-delta.up {
  background: rgba(0, 184, 122, 0.12);
  color: var(--success);
}

.kpi-delta.down {
  background: rgba(224, 40, 74, 0.1);
  color: var(--bs-danger);
}

.kpi-delta.neu {
  background: rgba(26, 33, 99, 0.07);
  color: var(--text-muted);
}

/* ══════════════════════════════
       MID ROW
    ══════════════════════════════ */
.mid-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 22px;
}

.card {
background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(26,33,99,0.05);

}

.card-header {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
 background: var(--white);
}


.card-footer {
  padding: 18px 22px 14px;
  border-top:none;
 background: var(--white);
}

.card-title {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 800;
  color: var(--navy);
  display: flex;
  align-items: center;
  gap: 8px;
}

.card-title .icon {
  font-size: 17px;
}

.card-subtitle {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
  font-weight: 600;
}

.card-body {
  padding: 20px 22px;
}

.filter-tabs {
  display: flex;
  gap: 4px;
}

.ftab {
  font-size: 11px;
  font-weight: 700;
  padding: 5px 11px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  font-family: var(--font);
  transition: all 0.15s;
}

.ftab:hover {
  background: var(--bg);
}

.ftab.active {
  background: linear-gradient(135deg, var(--navy), var(--navy-light));
  color: #fff;
  border-color: transparent;
}

/* ══════════════════════════════
       TOTEM TABLE
    ══════════════════════════════ */
.bottom-row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}

.totems-table {
  width: 100%;
  border-collapse: collapse;
}

.totems-table th {
  text-align: left;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 700;
  font-family: var(--font);
  padding: 0 0 12px;
  border-bottom: 1px solid var(--border);
}

.totems-table td {
  padding: 13px 0;
  font-size: 13px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-body);
  vertical-align: middle;
}

.totems-table tr:last-child td {
  border-bottom: none;
}

.totems-table tr:hover td {
  background: rgba(0, 180, 160, 0.03);
}

.totem-name {
  font-weight: 700;
  color: var(--navy);
  font-family: var(--font);
}

.totem-location {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  font-family: var(--font);
  white-space: nowrap;
}

.status-pill .sdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-pill.online {
  background: rgba(0, 184, 122, 0.1);
  color: var(--success);
}

.status-pill.online .sdot {
  background: var(--success);
  animation: livePulse 2s infinite;
}

.status-pill.offline {
  background: rgba(224, 40, 74, 0.1);
  color: var(--bs-danger);
}

.status-pill.offline .sdot {
  background: var(--bs-danger);
}

.status-pill.warning {
  background: rgba(240, 165, 0, 0.1);
  color: var(--warning);
}

.status-pill.warning .sdot {
  background: var(--warning);
}

.uptime-bar {
  width: 80px;
  height: 5px;
  background: var(--border);
  border-radius: 10px;
  overflow: hidden;
}

.uptime-fill {
  height: 100%;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--teal), var(--teal-light));
}

.uptime-fill.low {
  background: linear-gradient(90deg, var(--bs-danger), #ff6b8a);
}

.uptime-fill.mid {
  background: linear-gradient(90deg, var(--warning), #ffc940);
}

.txn-amount {
  font-weight: 700;
  color: var(--navy);
  font-family: var(--font);
}

/* ══════════════════════════════
       ACTIVITY FEED
    ══════════════════════════════ */
.activity-feed {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.activity-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  animation: fadeUp 0.4s ease both;
}

.activity-item:last-child {
  border-bottom: none;
}

.activity-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.activity-icon.teal {
  background: rgba(0, 180, 160, 0.12);
}

.activity-icon.red {
  background: rgba(224, 40, 74, 0.1);
}

.activity-icon.yellow {
  background: rgba(240, 165, 0, 0.1);
}

.activity-icon.green {
  background: rgba(0, 184, 122, 0.1);
}

.activity-body {
  flex: 1;
  min-width: 0;
}

.activity-text {
  font-size: 12px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
  font-family: var(--font);
}

.activity-text strong {
  color: var(--navy-light);
}

.activity-time {
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 3px;
  font-weight: 600;
}

/* ══════════════════════════════
       SCROLLBAR
    ══════════════════════════════ */
::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #c4cde0;
}

/* ══════════════════════════════
       RESPONSIVE
    ══════════════════════════════ */
@media (max-width: 1200px) {
  .kpi-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .bottom-row {
    grid-template-columns: 1fr;
  }
}

/************
 preloader 
***********/

div#preloader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: rgba(24, 26, 30, 0.8) url(../img/preload.svg) no-repeat center center;
}



.preload-spinner {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: rgba(24, 26, 30, 0.8) url(../img/preloadSpinner.svg) no-repeat center center;
  border-radius: 5px;
}

/*************
 Botones 
 ************/

.btn-check:active+.btn.btn-active-light-primary,
.btn-check:checked+.btn.btn-active-light-primary,
.btn.btn-active-light-primary.active,
.btn.btn-active-light-primary.show,
.btn.btn-active-light-primary:active:not(.btn-active),
.btn.btn-active-light-primary:focus:not(.btn-active),
.btn.btn-active-light-primary:hover:not(.btn-active),
.show>.btn.btn-active-light-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary-light);
  background-color: var(--bs-primary-light) !important
}

.btn-check:active+.btn.btn-active-light-primary .svg-icon,
.btn-check:active+.btn.btn-active-light-primary i,
.btn-check:checked+.btn.btn-active-light-primary .svg-icon,
.btn-check:checked+.btn.btn-active-light-primary i,
.btn.btn-active-light-primary.active .svg-icon,
.btn.btn-active-light-primary.active i,
.btn.btn-active-light-primary.show .svg-icon,
.btn.btn-active-light-primary.show i,
.btn.btn-active-light-primary:active:not(.btn-active) .svg-icon,
.btn.btn-active-light-primary:active:not(.btn-active) i,
.btn.btn-active-light-primary:focus:not(.btn-active) .svg-icon,
.btn.btn-active-light-primary:focus:not(.btn-active) i,
.btn.btn-active-light-primary:hover:not(.btn-active) .svg-icon,
.btn.btn-active-light-primary:hover:not(.btn-active) i,
.show>.btn.btn-active-light-primary .svg-icon,
.show>.btn.btn-active-light-primary i {
  color: var(--bs-primary)
}

.btn-check:active+.btn.btn-active-light-primary.dropdown-toggle:after,
.btn-check:checked+.btn.btn-active-light-primary.dropdown-toggle:after,
.btn.btn-active-light-primary.active.dropdown-toggle:after,
.btn.btn-active-light-primary.show.dropdown-toggle:after,
.btn.btn-active-light-primary:active:not(.btn-active).dropdown-toggle:after,
.btn.btn-active-light-primary:focus:not(.btn-active).dropdown-toggle:after,
.btn.btn-active-light-primary:hover:not(.btn-active).dropdown-toggle:after,
.show>.btn.btn-active-light-primary.dropdown-toggle:after {
  color: var(--bs-primary)
}


.btn-check:active+.btn.btn-active-light-danger,
.btn-check:checked+.btn.btn-active-light-danger,
.btn.btn-active-light-danger.active,
.btn.btn-active-light-danger.show,
.btn.btn-active-light-danger:active:not(.btn-active),
.btn.btn-active-light-danger:focus:not(.btn-active),
.btn.btn-active-light-danger:hover:not(.btn-active),
.show>.btn.btn-active-light-danger {
  color: var(--bs-danger);
  border-color: var(--bs-danger-light);
  background-color: var(--bs-danger-light) !important
}

.btn-check:active+.btn.btn-active-light-danger .svg-icon,
.btn-check:active+.btn.btn-active-light-danger i,
.btn-check:checked+.btn.btn-active-light-danger .svg-icon,
.btn-check:checked+.btn.btn-active-light-danger i,
.btn.btn-active-light-danger.active .svg-icon,
.btn.btn-active-light-danger.active i,
.btn.btn-active-light-danger.show .svg-icon,
.btn.btn-active-light-danger.show i,
.btn.btn-active-light-danger:active:not(.btn-active) .svg-icon,
.btn.btn-active-light-danger:active:not(.btn-active) i,
.btn.btn-active-light-danger:focus:not(.btn-active) .svg-icon,
.btn.btn-active-light-danger:focus:not(.btn-active) i,
.btn.btn-active-light-danger:hover:not(.btn-active) .svg-icon,
.btn.btn-active-light-danger:hover:not(.btn-active) i,
.show>.btn.btn-active-light-danger .svg-icon,
.show>.btn.btn-active-light-danger i {
  color: var(--bs-danger)
}

.btn-check:active+.btn.btn-active-light-danger.dropdown-toggle:after,
.btn-check:checked+.btn.btn-active-light-danger.dropdown-toggle:after,
.btn.btn-active-light-danger.active.dropdown-toggle:after,
.btn.btn-active-light-danger.show.dropdown-toggle:after,
.btn.btn-active-light-danger:active:not(.btn-active).dropdown-toggle:after,
.btn.btn-active-light-danger:focus:not(.btn-active).dropdown-toggle:after,
.btn.btn-active-light-danger:hover:not(.btn-active).dropdown-toggle:after,
.show>.btn.btn-active-light-danger.dropdown-toggle:after {
  color: var(--bs-danger)
}




.btn.btn-rounded {
  border-radius: 50px;
}

.btn.btn-icon {
  width: 36px;
  height: 37px;
  padding: 0;
  line-height: 42px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.btn.btn-icon-sm {
  width: 30px;
  height: 30px;
  padding: 0;
  line-height: 30px;
}

.btn.btn-icon-xs {
  width: 20px;
  height: 20px;
  padding: 0;
  line-height: 20px;
}



.btn-icon-text {
  justify-content: center;
  align-items: center;
  display: flex;
}

/*btn PRIMARY*/



.btn-outline-inverse:hover,
.btn-outline-inverse:focus,
.btn-outline-inverse:active {
  background-color: var(--bs-gray-600);
  border-color: var(--bs-gray-600);
  color: var(--bs-text-gray-500);

  box-shadow: none !important;
}


.btn-outline-danger {
  background-color: var(--bs-red-light) !important;
  color: var(--bs-red);
  border: 1px solid var(--bs-red-light-border);
}

.btn-outline-danger:hover {
  color: var(--bs-red-light) !important;
  background-color: var(--bs-red) !important;
  border: 1px solid var(--bs-red-light-border);
}


.btn-outline-primary:hover {
  color: var(--bs-white) !important;
  background-color: var(--bs-primary-light) !important;
  border: 1px solid var(--bs-primary-light)!important;;
}


.btn-outline-light {
  background-color: var(--bs-gray-200) !important;
  color: var(--bs-gray-800);
  border: 1px solid var(--bs-gray-400);
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active {
  background-color: var(--bs-gray-400) !important;
  color: var(--bs-gray-900);
  border: 1px solid var(--bs-gray-600);
}


.btn-outline-light.disabled {
  background-color: var(--bs-gray-300) !important;
  color: var(--bs-gray-600) !important;
  border: 1px solid var(--bs-gray-400) !important;
}

.btn-outline-light:disabled {
  background-color: var(--bs-gray-300) !important;
  color: var(--bs-gray-600) !important;
  border: 1px solid var(--bs-gray-400) !important;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);

}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--bs-primary-dark) !important;
  color: var(--bs-text-white);
  box-shadow: none !important;
  border-color: var(--bs-primary-dark) !important;
  ;
}

.btn-primary.disabled {
  background-color: var(--bs-primary-disabled);
  border-color: var(--bs-primary-disabled);
  color: var(--bs-text-white);

}


.btn-outline-primary {
  border-color: var(--bs-primary);
  background-color: transparent;
  color: var(--bs-primary);
  box-shadow: none !important;

}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  border-color: var(--bs-primary-dark);
  background-color: transparent;
  color: var(--bs-primary-dark);
  box-shadow: none !important;

}



.btn-primary-light {
  background-color: var(--bs-primary-light);
  border-color: var(--bs-primary-light);
  color: var(--bs-primary);

}

.btn-primary-light:hover,
.btn-primary-light:focus,
.btn-primary-light:active {
  background-color: var(--bs-primary);
  color: var(--bs-text-white);
  border: 1px solid var(--bs-primary);
  box-shadow: none !important;
}

.btn-success {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
  color: var(--bs-text-white);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}

.btn-success:hover,
.btn-success:active,
.btn-success:focus {
  background-color: var(--bs-success-dark);
  border-color: var(--bs-success-dark);
  color: var(--bs-green-light);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}

.btn-success.disabled {
  background-color: var(--bs-success-disabled);
  border-color: var(--bs-success-disabled);
  color: var(--bs-text-white);
}

.btn-warning {
  background-color: var(--bs-warning-active);
  border-color: var(--bs-warning-active);
  color: var(--bs-text-white);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus {
  background-color: var(--bs-warning-bg-subtle);
  border-color: var(--bs-warning-bg-subtle);
  color: var(--bs-text-white);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}



.btn-warning-light {
  background-color: var(--bs-warning-light);
  border-color: var(--bs-warning-light);
  color: var(--bs-warning);

}

.btn-warning-light:hover,
.btn-warning-light:focus,
.btn-warning-light:active {
  background-color: var(--bs-warning);
  color: var(--bs-text-white);
  border: 1px solid var(--bs-warning);
  box-shadow: none !important;
}

.btn-danger {
  background-color: var(--bs-danger);
  border-color: var(--bs-red);
  color: var(--bs-white);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}

.btn-danger:hover,
.btn-danger:active,
.btn-danger:focus {
  background-color: var(--bs-danger-dark);
  border-color: var(--bs-danger-dark);
  color: var(--bs-text-white);
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
  box-shadow: none !important;
}

.btn-danger.disabled {
  background-color: var(--bs-danger-disabled)!important;
  border-color: var(--bs-danger-disabled)!important;
  color: var(--bs-text-white)!important;
}



.btn-danger-light {
  background-color: var(--bs-danger-light);
  border-color: var(--bs-danger-light);
  color: var(--bs-danger);

}

.btn-danger-light:hover,
.btn-danger-light:focus,
.btn-danger-light:active {
  background-color: var(--bs-danger);
  color: var(--bs-text-white);
  border: 1px solid var(--bs-danger);
  box-shadow: none !important;
}

/*************
 margenes y paddings
 ************/

.mr-5 {
  margin-right: 5px;
}

.mt-33 {
  margin-top: 33px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-50 {
  margin-top: 50px;
}


.pt-15 {
  padding-top: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.p-10 {
  padding: 10px;
}

.margin-bo-0 {
  margin-bottom: 0px;
}

/*************
 Imagenes 
 ************/

.img-lg {
  width: 92px;
  height: 92px;
}

.img-md {
  width: 60px;
  height: 60px;
}

.img-sm {
  width: 43px;
  height: 43px;
}

.img-xs {
  width: 35px;
  height: 35px;
}

.img-ss {
  width: 26px;
  height: 26px;
}



.pointer {
  cursor: ponter
}

/* ********************
Gradientes
 **************/












/******circles*********/

.circle-xs {
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}

.circle-sm {
  width: 40px;
  height: 40px;
  line-height: 35px;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}

.circle-md {
  width: 60px;
  height: 60px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}

.circle-lg {
  width: 75px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}

.circle-xlg {
  width: 180px;
  height: 180px;
  line-height: 75px;
  text-align: center;
  border-radius: 50%;
  display: inline-block;
}




/**********
badges labels
***************/

.badge-gray {
  background-color: var(--bs-gray-200);
  color: var(--bs-gray-800);
  font-weight: 600;
}

.label-danger {
  background: #FF5370
}

.label-success {
  background: var(--bs-green)
}

.label-grey {
  background: var(--bs-gray-400)
}

.label {
  border-radius: 9999px;
  font-size: 0.65rem;
  padding: 0.2rem 0.8rem;

  display: inline-flex;
  align-items: center;


}





.label-inverse-warning {
  background-color: var(--bs-warning-light);
  color: var(--bs-warning-dark) !important;
  border: 1px solid #dfd57e;
}


.label-inverse-success {
  color: var(--bs-green-dark) !important;
  background-color: var(--bs-green-light);
  border: 1px solid #bfe7cf;
}

.label-inverse-danger {
  color: var(--bs-danger-dark) !important;
  background-color: var(--bs-danger-light);
  border: 1px solid #e7d3d3;
}


.label-inverse-info {
  background-color: var(--bs-info-light);
  color: var(--bs-info-dark) !important;
  border: 1px solid rgb(197, 206, 235);
}


.label-inverse-gray {
  background-color: var(--bs-gray-200);
  color: var(--bs-gray-800) !important;
  border: 1px solid var(--bs-gray-300);
}




/************formularios***********/

.form-check .form-check-label, .form-check .form-check-input{
  cursor: pointer;
}
.pdf-check-lg {
  transform: scale(1.6);
  cursor: pointer;
}


.form-check-input.sm{
  width: 0.8rem;
   height: 0.8rem;
   margin-bottom: 0px;
}
.lupaSearch {
  top: 10px;
  font-size: 20px;
  right: 15px;
  color: var(--bs-gray-500);
}

.cambiarModo {
  display: none
}

.dropdown-item.active,
.dropdown-item:active {
  color: #000 !important;
  text-decoration: none;
  background-color: #adc5e8
}

.form-label {
  font-size: 13px;
  color: var(--bs-gray-700);
}

.checkbox-md .form-check-input {
  width: 1.15rem;
  height: 1.15rem;
  box-shadow: none;
}

.checkbox-md.form-check-input {
  width: 1.15rem;
  height: 1.15rem;
  box-shadow: none;
}

.checkbox-md .form-check-label {
  margin-left: 10px;
  margin-top: 5px;
  box-shadow: none;
}

.checkbox-lg .form-check-input {
  width: 1.55rem;
  height: 1.55rem;
  box-shadow: none;
}

.checkbox-lg.form-check-input {
  width: 1.55rem;
  height: 1.55rem;
  box-shadow: none;
}

.checkbox-lg .form-check-label {
  margin-left: 10px;
  margin-top: 5px;
  box-shadow: none;
}

select.form-control {
  -webkit-appearance: menulist;
}


select option[selected] {
  margin: 40px;
  background: var(--bs-primary-active);
  color: #fff;

}

.form-check-input.check-info:checked {
  background-color: var(--info-color-light) !important;
  border-color: var(--info-color-light) !important;
}

.form-check-input.check-success:checked {
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.input-icon {
  position: absolute;
  top: 10px;
  left: 15px;
}


.form-switch .form-check-input {
  width: 3rem;
  height: 25px;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--bs-form-invalid-border-color) !important;
}

.form-control.form-control-solid {
  background-color: var(--bs-gray-100);
  border-color: var(--bs-gray-100);
  color: var(--bs-text-gray-1000);
  transition: color .2s ease;

}

.form-control.form-control-solid::placeholder {
  color: var(--bs-gray-500)
}

.form-control.form-control-solid::-moz-placeholder {
  color: var(--bs-gray-500);
  opacity: 1
}

.dropdown.show>.form-control.form-control-solid,
.form-control.form-control-solid.active,
.form-control.form-control-solid.focus,
.form-control.form-control-solid:active,
.form-control.form-control-solid:focus {
  background-color: var(--bs-gray-200);
  border-color: var(--bs-gray-200);
  color: var(--bs-gray-700);
  transition: color .2s ease;
  box-shadow: none;
}

.form-control-solid-bg {
  background-color: var(--bs-gray-100)
}

.form-control-plaintext {
  color: var(--bs-gray-700)
}

.placeholder-gray-500::placeholder {
  color: var(--bs-gray-500)
}

.placeholder-gray-500::-moz-placeholder {
  color: var(--bs-gray-500);
  opacity: 1
}

.placeholder-white::placeholder {
  color: #fff
}

.placeholder-white::-moz-placeholder {
  color: #fff;
  opacity: 1
}


/**********
progress-bar
***********/

.progress-bar-primary {
  background-color: var(--bs-primary);
}


/**********
datepicker
***********/

.bootstrap-datetimepicker-widget.dropdown-menu {
  display: block;
  background-color: var(--bs-body-bg);
}

.datepicker td,
.datepicker th {
  padding: 10px
}

.datepicker table tr td.today {
    background-color: #b7e0eb !important; /* tu color */
    color: #000000 !important;
    background-image: none;
}

.datepicker table tr td.today:hover {
    background-color: #b7e0eb !important; /* tu color */
    color: #000000 !important;
    background-image: none;
}

.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active[disabled] {
  border-radius: 50%;
  display: flex;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  text-align: center;

}

.datepicker table tr td.day.focused,
.datepicker table tr td.day:hover {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  align-items: center;
  font-weight: 500;
  color: var(--bs-gray-500)
}

.datepicker table tr td.active {
  background: var(--bs-primary) !important;
  color: var(--bs-body-bg);
}

.bootstrap-datetimepicker-widget .picker-switch:hover {
  color: var(--bs-gray-500)
}





/*perfect scrollbar*/

.ps-scrollbar-y-rail {
  right: 0px !important
}


/*scrollbar menu*/
.scrollMenu {
  height: 55vh;
  overflow: hidden;
  position: relative;

}

.scrollMenu .ps-scrollbar-y-rail {
  background-color: var(--bs-primary-light);
  height: 100vh;
}

.ps-container .ps-scrollbar-y-rail:hover,
.ps-container .ps-scrollbar-y-rail.hover {
  background-color: #606685 !important;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.scrollMenu .ps-scrollbar-y {
  background-color: var(--main-color-dark);
  width: 5px;
}

.scrollMenu .ps-scrollbar-y-rail {
  width: 5px;
}






/*********
login
***********/
.body-login {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
  display: flex;
  background: linear-gradient(135deg, #1e3a5f 0%, #2d1b4e 50%, #1a1a2e 100%);
  position: relative;
  overflow: hidden;
}

/* Patrón de fondo decorativo */
.body-login::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(45, 27, 78, 0.4) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(30, 58, 95, 0.4) 0%, transparent 50%);
  pointer-events: none;
}

.login-container {
  display: flex;
  width: 100%;
  min-height: 100vh;
}

/* Panel izquierdo - Branding */
.brand-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px;
  position: relative;
  z-index: 1;
}

.brand-content {
  text-align: center;
  color: white;
}

.brand-logo {
  width: 80px;
  height: 80px;

  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;

}

.brand-logo.capiata {
  background: linear-gradient(135deg, #eaf3f1 0%, #d47912 100%);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.brand-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.brand-subtitle {
  font-size: 14px;
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
}

.brand-description {
  max-width: 400px;
  line-height: 1.6;
  opacity: 0.8;
  font-size: 15px;
}

/* Panel derecho - Formulario */
.form-panel {
  width: 480px;
  min-height: 100vh;
  background: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px;
  position: relative;
  z-index: 1;
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.2);
}

.form-header {
  margin-bottom: 40px;
}

.form-header h1 {
  font-size: 28px;
  color: #1a1a2e;
  font-weight: 700;
  margin-bottom: 8px;
}

.form-header p {
  color: #6b7280;
  font-size: 15px;
}

.form-group {
  margin-bottom: 24px;
}

.form-group label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
}

.input-wrapper {
  position: relative;
}

.input-wrapper svg {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  fill: #9ca3af;
  transition: fill 0.3s ease;
}

.form-group input {
  width: 100%;
  
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  font-size: 15px;
  transition: all 0.3s ease;
  background: #f9fafb;
}

.form-group input:focus {
  outline: none;
  border-color: #00c9a7;
  background: white;
  box-shadow: 0 0 0 4px rgba(0, 201, 167, 0.1);
}

.form-group input:focus+svg,
.form-group input:focus~.input-wrapper svg {
  fill: #00c9a7;
}

.input-wrapper:focus-within svg {
  fill: #00c9a7;
}

.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}

.remember-me {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.remember-me input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #00c9a7;
  cursor: pointer;
}

.remember-me span {
  font-size: 14px;
  color: #6b7280;
}

.forgot-password {
  font-size: 14px;
  color: #00c9a7;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.forgot-password:hover {
  color: #00b894;
  text-decoration: underline;
}

.btn-login {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #00c9a7 0%, #00b894 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-login:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0, 201, 167, 0.4);
}

.btn-login:active {
  transform: translateY(0);
}

.btn-login.loading {
  pointer-events: none;
}

.btn-login .spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.btn-login.loading .btn-text {
  display: none;
}

.btn-login.loading .spinner {
  display: inline-block;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.divider {
  display: flex;
  align-items: center;
  margin: 32px 0;
  color: #9ca3af;
  font-size: 13px;
}

.divider::before,
.divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e5e7eb;
}

.divider span {
  padding: 0 16px;
}

.help-text {
  text-align: center;
  color: #6b7280;
  font-size: 14px;
}

.help-text a {
  color: #1e3a5f;
  font-weight: 600;
  text-decoration: none;
}

.help-text a:hover {
  text-decoration: underline;
}

/* Mensajes de error/éxito */
.alert {
  padding: 14px 16px;
  border-radius: 10px;
  margin-bottom: 24px;
  font-size: 14px;
  display: none;
  align-items: center;
  gap: 10px;
}

.alert.show {
  display: flex;
}

.alert-error {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}

.alert-success {
  background: #ecfdf5;
  color: #059669;
  border: 1px solid #a7f3d0;
}

.alert svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 968px) {
  .brand-panel {
    display: none;
  }

  .form-panel {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .form-panel {
    padding: 40px 24px;
  }

  .form-header h1 {
    font-size: 24px;
  }

  .form-options {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }
}

/* Animación de entrada */
.form-panel {
  animation: slideIn 0.5s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.brand-content {
  animation: fadeIn 0.8s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Toggle password visibility */
.password-toggle {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.password-toggle svg {
  position: static;
  transform: none;
  width: 20px;
  height: 20px;
  fill: #9ca3af;
  transition: fill 0.3s ease;
}

.password-toggle:hover svg {
  fill: #6b7280;
}




/*********
ellipsis
*********/
.ellipsis-150 {
  max-width: 400px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}



.filtro-dropdown .dropdown-toggle::after {
  display: none;
}

.filtro-btn {
  width: 40px;
  height: 40px;
  border: 1px solid #d7dbe3;
  border-radius: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: none;
}

.filtro-btn:hover,
.filtro-btn:focus,
.filtro-btn:active,
.filtro-btn.show {
  background: #eceef2;
  border-color: #c9ced8;
  box-shadow: none;
}

.filtro-btn i {
  font-size: 1.2rem;
  color: #5b6472;
  line-height: 1;
}

.filtro-menu {
  width: 360px;
  border: 1px solid #dfe3ea;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(19, 31, 55, 0.12);
  overflow: hidden;
  margin-top: 10px;
}

.filtro-header {
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 600;
  color: #1f2a37;
  background: #fff;
  border-bottom: 1px solid #eef1f5;
}

.filtro-body {
  padding: 16px 18px 10px 18px;
  background: #fff;
}

.filtro-label {
  font-size: 13px;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 6px;
}

.filtro-select {
  height: 44px;
  border-radius: 10px;
  border: 1px solid #d7dbe3;
  font-size: 14px;
  color: #1f2937;
  box-shadow: none;
}

.filtro-select:focus {
  border-color: #7c8aa5;
  box-shadow: 0 0 0 0.18rem rgba(124, 138, 165, 0.15);
}

.filtro-footer {
  padding: 14px 18px;
  border-top: 1px solid #eef1f5;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.btn-limpiar {
  text-decoration: none;
  font-size: 14px;
  color: #6b7280;
  padding: 0;
}

.btn-limpiar:hover {
  color: #374151;
}

.btn-aplicar {
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
}

/*******
listados
************/



.list-item {
  border-bottom: 1px solid var(--bs-gray-400);
  padding: 0.5rem 1rem;

}



.list-item:hover {
  background-color: #f7f7f7;
}






a.list-item {
  border-bottom-width: 1px;
  border-bottom-style: solid;
 border-bottom: 1px solid var(--bs-gray-400);
  padding: 1rem;
  color: var(--bs-text-gray-1000);
  display: block;
}

a.list-item:hover {
  background-color: var(--bs-gray-100);
}

.img-attach-list {
  height: 80px;
  width: 125px;
  object-fit: cover;
}


.img-attach-list img {
  object-fit: cover;

}

.header-list {
  color: var(--bs-text-gray-200);
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 600;
  background-color: var(--bs-gray-100);
  padding: 10px 0
}







/*********************
Paginador
**************************/

.pagination .page-item.active .page-link {
  z-index: 3;
  color: var(--bs-primary-active);
  background-color: transparent;
  border: 0px;
  font-weight: 500;
}

.pagination .page-link {
  position: relative;
  display: block;
  color: var(--bs-gray-900);
  text-decoration: none;
  background-color: transparent;
  border: 0px;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.pagination .page-link:hover,
.pagination .page-link:active,
.pagination .page-link:focus {
  color: var(--info-color);
  outline: none !important;
  box-shadow: none;

}

.page-item.disabled .page-link {
  color: var(--bs-success-disabled);
  pointer-events: none;
  background-color: transparent;
  border: 0px;
}



/************
SKELETON
***********/

.skeleton-img,
.skeleton-avatar,
.list-loading-footer,
.list-loading-text,
.list-loading-header {
  -webkit-animation: skeleton 2.5s ease-in-out forwards infinite;
  animation: skeleton 2.5s ease-in-out forwards infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

@-webkit-keyframes skeleton {
  0% {
    opacity: 0.2;
    transform: translateY(6px) scale(0.98);
  }

  85%,
  100% {
    opacity: 1;
    transform: translateY(0px) scale(1);
  }
}

@keyframes skeleton {
  0% {
    opacity: 0.2;
    transform: translateY(6px) scale(0.98);
  }

  85%,
  100% {
    opacity: 1;
    transform: translateY(0px) scale(1);
  }
}


.list-loading {
  /*background-color: var(--bs-gray-200);*/

  margin: 0 auto;
  width: 100%;
  border: 0px;
  border-radius: 0.5rem;
  overflow: hidden;
}

.list-loading-content {
  margin-left: calc(48px + 10px);
}

.list-loading-header {
  transform-origin: bottom;
}

.list-loading-text {
  -webkit-animation-delay: 200ms;
  animation-delay: 200ms;
}

.list-loading-footer {
  display: flex;
  margin-top: 1rem;
  transform-origin: bottom;
  -webkit-animation-delay: 400ms;
  animation-delay: 400ms;
}

.skeleton {
  /*background-color: var(--bs-gray-200);*/
  margin-bottom: 15px
}

.skeleton-avatar {
  width: 40px;
  height: 40px;
  background-color: var(--bs-gray-400);
  border-radius: 100%;
  float: left;
}

.skeleton-line {
  height: 0.5rem;
  background-color: var(--bs-gray-400);
  border-radius: 3px;
  margin-bottom: 0.3rem;
}

.skeleton-line.heading {
  height: 0.8rem;
  margin-bottom: 0.5rem;
}


.skeleton-button.rounded {
  border-radius: 100%;
}


/************
sweet alert
***********/

.swal-button.swal-button--confirm {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
  cursor: pointer;
  -webkit-transition: all ease-in 0.3s;
  transition: all ease-in 0.3s;
}


.swal-button.swal-button--confirm:hover,
.swal-button.swal-button--confirm:active,
.swal-button.swal-button--confirm:focus {
  background-color: var(--bs-primary-dark);
  border-color: var(--bs-primary-dark);
  -webkit-box-shadow: none;
  box-shadow: none;
}



.swal-footer {
  align-items: center;
  justify-content: center;
  display: flex;
}

.sweet-alert button.confirm:focus {
  -webkit-box-shadow: none;
  border-color: var(--bs-primary-dark);
  box-shadow: none;
  color: #fff;
  background-color: var(--bs-primary-dark);
}

.swal-button.swal-button--cancel {
  background-color: var(--bs-dark);
  border-color: var(--bs-dark);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
}

.swal-button.swal-button--cancel:hover {
  background-color: var(--bs-dark-bg-subtle);
  border-color: var(--bs-dark-bg-subtle);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
}


.swal-modal {
  background-color: var(--bs-body-bg);
}

.swal-text {
  color: var(--bs-text-gray-700);
  font-size: 14px;
}

.swal-title {
  color: var(--bs-text-gray-900);
  font-size: 18px;
  font-weight: 500;
}

.swal-icon--success::after,
.swal-icon--success::before {
  background-color: var(--bs-body-bg);
}

.swal-icon--success__hide-corners {

  background-color: var(--bs-body-bg);
}



/*********
fancybox
***********/

.accordion-item {
  overflow: hidden;
}


.accordion-button:not(.collapsed) {

  background-color: var(--bs-white);

}



/***********
LOGIN
************/
.container-login100 {
  width: 100%;
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 15px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 1
}



.rounded-4 {
  border-radius: 1rem !important;
}


.rounded-lg {
  border-radius: 0.5rem;
}



/********svg icons*/
.svg-icon.svg-icon-gray svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: var(--bs-gray-600) !important;
}

.svg-icon.svg-icon-primary svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: var(--bs-primary) !important;
}

.svg-icon.svg-icon-primary svg:hover g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

.svg-icon.svg-logo-primary svg path {
  fill: #3d5af1 !important;
}

.svg-icon.svg-icon-success svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: var(--bs-success) !important;
}

.svg-icon.svg-icon-warning svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: var(--bs-warning) !important;
}


.svg-icon.svg-icon-info svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #3d5af1 !important;
}

.svg-icon.svg-icon-danger svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #dc3545 !important;
}

.svg-icon.svg-icon-grey svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #bbc0c3 !important;
}

.svg-icon.svg-icon-white svg g [fill] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #ffffff !important;
}



.svg-icon.svg-icon-sm svg {
  height: 1.25rem !important;
  width: 1.25rem !important;
}

.svg-icon.svg-icon-md svg {
  height: 1.5rem !important;
  width: 1.5rem !important;
}

.svg-icon.svg-icon-lg svg {
  height: 1.75rem !important;
  width: 1.75rem !important;
}

.svg-icon.svg-icon-xl svg {
  height: 2rem !important;
  width: 2rem !important;
}

.svg-icon.svg-icon-xxl svg {
  height: 2.25rem !important;
  width: 2.25rem !important;
}

.svg-icon.svg-icon-1x svg {
  height: 1rem !important;
  width: 1rem !important;
}

.svg-icon.svg-icon-2x svg {
  height: 2rem !important;
  width: 2rem !important;
}

.svg-icon.svg-icon-3x svg {
  height: 3rem !important;
  width: 3rem !important;
}

.svg-icon.svg-icon-4x svg {
  height: 4rem !important;
  width: 4rem !important;
}

.svg-icon.svg-icon-5x svg {
  height: 5rem !important;
  width: 5rem !important;
}

.svg-icon.svg-icon-6x svg {
  height: 6rem !important;
  width: 6rem !important;
}

.svg-icon.svg-icon-7x svg {
  height: 7rem !important;
  width: 7rem !important;
}

.svg-icon.svg-icon-8x svg {
  height: 8rem !important;
  width: 8rem !important;
}

.svg-icon.svg-icon-9x svg {
  height: 9rem !important;
  width: 9rem !important;
}

.svg-icon.svg-icon-10x svg {
  height: 10rem !important;
  width: 10rem !important;
}


/******
alertas
*********/
.alert-custom {
  padding: 16px;
  border: 1px solid;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Icono */
.alert-custom .icono {
  font-size: 20px;
  line-height: 1;
}

/* Título */
.alert-custom .titulo {
  font-weight: 600;
  margin-bottom: 4px;
}

/* Mensaje */
.alert-custom .mensaje {
  font-size: 14px;
  opacity: 0.9;
}

/* Botón cerrar */
.alert-custom .btn-close {
  opacity: 0.5;
}

.alert-custom .btn-close:hover {
  opacity: 1;
}

.alert-success {
  border-color: #b7e1cd;
  background-color: #edf7f1;
  color: #1e6b3a;
}

.alert-success .mensaje {
  color: #1e6b3a;
}

.alert-warning {
  border-color: #ffe08a;
  background-color: #fff8e1;
  color: #8a6d00;
}

.alert-warning .mensaje {
  color: #8a6d00;
}

.alert-danger {
  border-color: #e0b4b4;
  background-color: #fdf2f2;
  color: #7a1f1f;
}

.alert-danger .mensaje {
  color: #7a1f1f;
}

.alert-info {
  border-color: #b6d4fe;
  background-color: #eef5ff;
  color: #1a4f9c;
}

.alert-info .mensaje {
  color: #1a4f9c;
}

.alert-custom {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*****
toast
**********/

.toast-custom {
  max-width: 420px;
  padding: 16px;
  border: 1px solid #e0b4b4;
  border-radius: 12px;
  background-color: #fdf2f2;
  color: #7a1f1f;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Icono */
.toast-custom .icono {
  font-size: 20px;
  line-height: 1;
}

/* Título */
.toast-custom .titulo {
  font-weight: 600;
  margin-bottom: 4px;
}

/* Texto */
.toast-custom .mensaje {
  font-size: 14px;
  color: #7a1f1f;
  opacity: 0.9;
}

/* Botón estilo outline rojo suave */
.toast-custom .btn-outline-danger {
  border-color: #d93025;
  color: #d93025;

}

.toast-custom .btn-outline-danger:hover {
  background-color: #d93025;
  color: #fff;
}

/* Botón cerrar */
.toast-custom .btn-close {
  opacity: 0.5;
}

.toast-custom .btn-close:hover {
  opacity: 1;
}


.toast-success {
  border-color: #b7e1cd;
  background-color: #edf7f1;
  color: #1e6b3a;
}

.toast-success .mensaje {
  color: #1e6b3a;
}

.toast-success .btn-outline-danger {
  border-color: #34a853;
  color: #34a853;
}

.toast-success .btn-outline-danger:hover {
  background-color: #34a853;
  color: #fff;
}


.toast-warning {
  border-color: #ffe08a;
  background-color: #fff8e1;
  color: #8a6d00;
}

.toast-warning .mensaje {
  color: #8a6d00;
}

.toast-warning .btn-outline-danger {
  border-color: #fbbc05;
  color: #fbbc05;
}

.toast-warning .btn-outline-danger:hover {
  background-color: #fbbc05;
  color: #fff;
}

.toast-info {
  border-color: #b6d4fe;
  background-color: #eef5ff;
  color: #1a4f9c;
}

.toast-info .mensaje {
  color: #1a4f9c;
}

.toast-info .btn-outline-danger {
  border-color: #4285f4;
  color: #4285f4;
}

.toast-info .btn-outline-danger:hover {
  background-color: #4285f4;
  color: #fff;
}





.json-viewer {
  background-color: #0d1117;
  color: #d4d4d4;
  font-family: monospace;
  font-size: 13px;
  max-height: 600px;
  overflow: auto;
}

.json-viewer code {
  display: block;
}