@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url("animate.css");
@import url("icons.css");



@-webkit-viewport {
  zoom: 1.0;
  width: device-width;
}

@-moz-viewport {
  zoom: 1.0;
  width: device-width;
}

@-ms-viewport {
  zoom: 1.0;
  width: device-width;
}

@-o-viewport {
  zoom: 1.0;
  width: device-width;
}

@viewport {
  zoom: 1.0;
  width: device-width;
}

div#app {
  width: 100%;
}

:root {
  --bs-primary-light: #f5d442;
  --bs-primary: #ffd000;
  --bs-primary-dark: #ff7b00;
  --bs-secondary: #ff7b00;
  --color-purple: #a300ff;
  --background-dark: #0a0a0a;
  --text-primary: #ffffff;
  --text-muted: #aaaaaa;
}

body {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  background-color: #0a0a0a;
  background-image:
   url('../img/fondo.png'), /* Imagen primero para que esté encima */
   
    linear-gradient(180deg, #000 0%, #161f29 30%, #0d0d0f 60%, #222222 100%);
background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: auto, 200% 200%, 150% 150%, 180% 180%, cover;
  background-position: top left, 20% 30%, 80% 40%, 60% 100%, center;
  /*animation: moverFondo 30s ease-in-out infinite;*/


  color: var(--text-primary);
  overflow-x: hidden;
min-height: 100vh;

}



@keyframes moverFondo {
  0% {
    background-position: 0% 0%;
  }

  50% {
    background-position: 100% 100%;
  }

  100% {
    background-position: 0% 0%;
  }
}

/*******
botones
*********/
.btn {
  border-radius: 0px;
}

.btn-primary {
  background-color: var(--bs-primary-dark);
  color: #fff;
  border: none;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}
.btn-primary:hover {
  background-color: var(--bs-primary-light);
  color: #fff;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}


.btn-outline-primary {
  background-color: transparent;
  color: var(--bs-primary-dark)!important;
  border: 1px solid var(--bs-primary-dark)!important;
}


.btn-outline-primary:hover,.btn-outline-primary:active, .btn-outline-primary:focus {
  background-color: transparent!important;
  color: var(--bs-primary)!important;
  border: 1px solid var(--bs-primary-dark)!important;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3)!important;
}

a {
  color: var(--bs-primary-dark);
}

a:hover {
  color: var(--bs-primary-light);
}


.text-primary {
  color: var(--bs-primary) !important;
}

.text-primary-dark {
  color: var(--bs-primary-dark) !important;
}


.text-red {
  color:#d82b2b !important;
}


.text-greenyellow {
  color:#aad82b !important;
}

.text-cyan {
  color:#07fdf1 !important;
}

/******
offcanvas-menu
***********/

.offcanvas-start {

  width: 300px;
}

.btn-close-menu {
  background: transparent;
  border: 0px;
  box-shadow: none;
  font-size: 30px;
  color: rgba(255, 255, 255, 0.5);
}

.sidebar-menu ul li a {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  position: relative;
  padding: 15px 0;
  color: #fff;
  font-size: 16px;

}

.sidebar-menu ul li a:hover,
.sidebar-menu ul li a:active,
.sidebar-menu ul li a:focus {
  color: var(--main-color)
}

.sidebar-menu ul li a i {
  margin-right: 10px;
  font-size: 12px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 4px;
}

.sidebar-menu ul li a i {

  color: var(--main-color);
  font-size: 18px;
}

.sidebar-menu ul li a:hover>i::before {
  display: inline-block;
  animation: flash ease-in-out 0.5s 1 alternate;
}

.sidebar-menu .sidebar-dropdown>a:after {
  font-family: 'Linearicons-Free';
  font-weight: 900;
  content: "\e876";
  font-style: normal;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  background: 0 0;
  position: absolute;
  right: 15px;
  top: 27px;
  font-size: 13px;
}



.sidebar-menu .sidebar-dropdown .sidebar-submenu ul {
  padding: 5px 0;
}

.sidebar-menu .sidebar-dropdown .sidebar-submenu li {
  padding-left: 25px;
  font-size: 13px;
}

.sidebar-menu .sidebar-dropdown .sidebar-submenu li a:before {
  content: "\e68e";
  font-family: 'themify';
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  font-size: 15px;
}

.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.active {

  border-radius: 24px 0px 0 5px;
}

.sidebar-menu ul li a span.label,
.sidebar-menu ul li a span.badge {
  float: right;
  margin-top: 8px;
  margin-left: 5px;
}

.sidebar-menu .sidebar-dropdown .sidebar-submenu li a .badge,
.sidebar-menu .sidebar-dropdown .sidebar-submenu li a .label {
  float: right;
  margin-top: 0px;
}

.sidebar-menu .sidebar-submenu {
  display: none;
}

.sidebar-menu .sidebar-dropdown.active>a:after {
  transform: rotate(90deg);
  right: 17px;
}


.sidebar-footer {
  position: absolute;
  width: 100%;
  bottom: 0;
  display: flex;
  background-color: var(--main-color);

}

.sidebar-footer>a {
  flex-grow: 1;
  text-align: center;

  line-height: 30px;
  position: relative;
  color: #fff;
  padding: 20px;
  display: block;
}

.sidebar-footer>a:hover {
  color: var(--main-color-light)
}

.sidebar-menu .header-menu span {
  font-weight: bold;
  font-size: 14px;
  padding: 15px 20px 5px 20px;
  display: inline-block;
  text-transform: uppercase;
  color: var(--main-color-light)
}

/*gradientes*/
.gradient-01 {
  background-image:
    radial-gradient(circle at 20% 30%, rgba(33, 122, 122, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 40%, rgba(150, 150, 150, 0.204) 0%, transparent 60%),
    radial-gradient(circle at 60% 80%, rgba(0, 0, 0, 0.1) 0%, transparent 50%),
    linear-gradient(180deg, #444444 0%, #3a3a3a 50%, #000000 100%);
  background-blend-mode: screen, normal;
  background-size: cover;
}

.angled-box {
  position: relative;

  height: 100px;
  background: linear-gradient(135deg, #ff66001e, #ff02026e);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  font-weight: bold;
  
  /* forma inclinada */
  clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
  
  /* borde brillante con sombra */
  border: 2px solid #ffcc00;
  box-shadow:
    0 0 10px #ffcc00,  /* brillo suave */
    0 0 30px rgb(255, 204, 0); /* brillo extendido */

}



  .panel-cont-fluid {
    
    
     
         border: 1px solid var(--bs-primary);
      box-shadow: 0 0 10px rgb(255, 94, 0);
      border-radius: 0px;
      position: relative;
      padding: 20px;
     
   
     
    }
  .panel-fut {
    
    
      background: linear-gradient(to bottom, #162229ce, #00000093);
      border: 1px solid var(--bs-primary);
      box-shadow: 0 0 10px rgb(255, 94, 0);
      border-radius: 0px;
      position: relative;
      padding: 20px;
    }


    .panel-fut .panel-header,
.panel-fut .panel-footer {
    background: rgba(255, 255, 255, 0.096);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
  padding: 1rem;
 border-radius: 0px 0px 0px 0px;
  border: 0px;
}

    .panel-fut ::before,
    .panel-fut ::after {
     /*  content: "";
     position: absolute;
      border: 1px solid var(--bs-primary);
      pointer-events: none;
      border-radius: 7px;*/
    }



    /*   .panel-fut ::after    {
     content: "";
     position: absolute;
      border: 1px solid var(--bs-primary);
      pointer-events: none;
      border-radius: 7px;
    }*/

    .panel-fut ::before {
      top: 5px;
      left: 5px;
      right: 5px;
      bottom: 5px;
      
    }

  /*  .panel-fut ::after {
      top: 0px;
      left: 0px;
      right: 0px;
      height: 20px;
      background: linear-gradient(to right, #e1e2d15b 0%, #e1e2d177 100%);
      opacity: 0.05;
      border-radius: 0px 7px 0px 0px;
      border-bottom: 0px;
    }*/

.glass-panel {
  position: relative;
  background: rgba(255, 255, 255, 0.01);
  border: 0px;
  border-radius: 0.5rem;
  /*  box-shadow: 0 0 30px rgba(223, 225, 226, 0.2), 0 0 60px rgba(0, 0, 0, 0.1) inset;*/
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 0;
  margin: 2rem 1rem;
  overflow: hidden;
}

.panel-header,
.panel-footer {
  /*  background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);*/
  padding: 1rem;

  border: 0px;
}

.panel-footer {
  border-top: 0px;
  border-bottom: none;
}

.panel-body {
  padding: 1.5rem;
}

.doughnut-container,
.line-container {
  height: 200px;
}

canvas {
  width: 100% !important;
  height: 100% !important;
}

.metric {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--bs-primary);
  font-size: 1rem;
}

.metric .value {
  color: var(--bs-secondary);
  font-weight: bold;
}

.tab-bar {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  display: flex;
  justify-content: space-around;
  padding: 0.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.tab-bar i {
  color: var(--text-muted);
  font-size: 1.4rem;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



/*******
navbar
**********/
.navbar-header {
  min-height: 50px;
  background-color: rgba(0, 0, 0, 0.822);

}

.navbar-header h1 {
  font-size: 16px;
  text-transform: uppercase;

}


.highlight-text {
  color: #ffe349;
  text-shadow:
    0 0 3px #f84946,
    0 0 5px #f84946,
    0 0 10px #f84946,
    0 0 12px #f84946;
  font-weight: bold;
  font-size: 1.5rem;


}


.numero-futurista {
  font-size: 72px;
  font-weight: 900;
  font-family: 'Roboto', sans-serif;
  background: linear-gradient(to bottom, #ffdd33 10%, #ff6600 50%, #cc0000 90%);
 

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -2px;
  line-height: 1;
  text-shadow:
   0 0 2px #f849464f,
   0 0 3px #f8494648;
}

/*******
colores
**********/
.color-01 {
  color: var(--main-color)
}

.color-01-light {
  color: var(--main-color-light)
}

.color-03 {
  color: var(--tertiary-color)
}

/********
weigth text*/
.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;
}

.fw-800 {
  font-weight: 800;
}

/*************
 Textos tamaños
 ************/
.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-35 {
  font-size: 35px !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;
}






/*********
fondos
*************/
.bg-primary {
  background-color: var(--dark-color) !important;
}


/***********
perfect-scrollbar
**************/

.ps-container .ps-scrollbar-y {
  background-color: var(--main-color-dark);
}

.ps-container .ps-scrollbar-y-rail:hover,
.ps-container .ps-scrollbar-y-rail.hover {
  background-color: var(--main-color-dark);
  ;
}

.ps-container .ps-scrollbar-y-rail {
  background-color: var(--dark-color);
}

.ps-container .ps-scrollbar-y-rail:hover {
  background-color: var(--dark-color-light);
}

.ps-container .ps-scrollbar-y-rail {
  right: -2px;
  width: 5px
}

.ps-container .ps-scrollbar-y {
  width: 5px
}



/***********
toastr
************/


.toast-success {
  background-color: #3eb69e;
  border: 0px;
}

.toast-error {
  background-color: var(--danger-color);
  border: 0px;
}

#toast-container>.toast-info {
  background-color: #6d379c;
}

.toast-warning {
  background-color: #F89406;
}

.toast-dark {
  background-color: #0f0e0e;
  color: #fff;
}

/*************
alertas
***********/


.alert-danger {

  color: #fff;
  background-color: var(--danger-color);
  border-color: var(--danger-color);
}

.alert-success {

  color: #000;
  background-color: var(--success-color);
  border-color: var(--success-color);
}

.alert-glow {
  background: linear-gradient(
  135deg, 
  rgba(255, 0, 0, 0.062), 
  rgba(255, 0, 0, 0.199)
);
  border: 1px solid #cc0909; /* color del borde */
  color:#cc0909; /* texto opcional en cian */
  border-radius: 8px;
  box-shadow: 0 0 8px #cc0909, 0 0 20px rgba(255, 0, 0, 0.5); /* brillo */
  backdrop-filter: blur(6px); /* suaviza fondo si está activado */
  -webkit-backdrop-filter: blur(6px); /* para Safari */
  padding: 1rem 1.25rem;
}
/*********
spinner preload
***************/

.preload-spinner {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: rgba(0, 0, 0, 0.8) url(../img/grid.svg) no-repeat center center;

}



.preload-error {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
  
  box-shadow: 0 0 8px #cc0909, 0 0 20px rgba(255, 0, 0, 0.5); /* brillo */
  backdrop-filter: blur(6px); /* suaviza fondo si está activado */

}


div#preloader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  overflow: visible;
 background: rgba(0, 0, 0, 0.8) url(../img/grid.svg) no-repeat center center;
}


/*widget*/



.stat-header {
  font-size: 0.8rem;
  color: #ffffff;
  margin-bottom: 0.5rem;

}

.stat-total {
  font-size: 2.5rem;
  font-weight: bold;
  color: #ffe349;
  text-shadow:
    0 0 5px #f84946,
    0 0 10px #f84946,
    0 0 15px #f84946;
}

.stat-total-2 {
  font-size: 3rem;
  font-weight: bold;
  color: #f84946;

}

.stat-footer {
  font-size: 0.8rem;
  color: #aaa;

}

.shine-text-2 {

  color: #f84946 !important;
  text-shadow:
    0 0 1px #f84946,
    0 0 6px #f84946,
    0 0 10px #f84946;
}
.shine-text {

  color: #ffffff !important;
  text-shadow:
    0 0 1px #00eaff,
    0 0 6px #46d7f8,
    0 0 10px #46d7f8;
}

.border-01 {
  border: 1px solid #8debf3;
}

.border-radius-01 {
  border-radius: 0.5rem;
}

/*chart brillo
#chartBar-operaciones {
  filter: drop-shadow(0px 0px 3px #ff7d49); 
}*/
.chart-container {
  position: relative;
  width: 100%;
  height: 130px;

}
.chart-container-130 {
  position: relative;
  width: 100%;
  height: 90px;

}



.inputBusqueda, .inputBusqueda:focus {
  background-color: transparent;
  border: 1px solid #666 ;
  color: #fff;
}

.inputBusqueda:focus {
  background-color: transparent;
  border: 0px solid #666 ;
        box-shadow: 0 0 10px rgb(255, 94, 0);
}


.ps-scrollbar-y {
  background-color: var(--bs-primary-dark)!important;
}

.ps-scrollbar-y-rail {
  background-color: transparent!important;
}







/************
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 :#494f57;
  border-radius: 100%;
  float: left;
}

.skeleton-line {
  height: 0.5rem;
  background-color:#494f57;
  border-radius: 3px;
  margin-bottom: 0.3rem;
}

.skeleton-line.heading {
  height: 0.8rem;
  margin-bottom: 0.5rem;
}


.skeleton-button.rounded {
  border-radius: 100%;
}







/*.progress{
    height: 10px;
    border-radius: 0px;
    border: 1px solid var(--bs-primary-dark);
    background-color: transparent;
}

.progress-bar.custom-striped {
  background-color:#fc7303;
  height: 10px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(253, 253, 253, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;




}*/

.progress{
    height: 7px;
    background: transparent;
    
    border-radius: 0;
    box-shadow: none;
    margin: 30px 0 20px;
    overflow: visible;
    position: relative;
     border: 1px solid #ff9811;
}
.progress .progress-title{
    padding: 7px 10px;
    margin: 0;
    background: #393a3d;
    border-radius: 5px 0 0 5px;
    box-shadow: 0 7px 7px rgba(0,0,0,0.4);
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    position: absolute;
    top: -13px;
    left: 0;
    z-index: 1;
}
.progress .progress-title:after{
    content: "";
    border-left: 17px solid #393a3d;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    position: absolute;
    top: 0;
    right: -17px;
}
.progress .progress-bar{
    box-shadow: none;
    border-radius: 0;
    position: relative;
    -webkit-animation: animate-positive 2s;
    animation: animate-positive 2s;
    overflow: visible;
   
}
.progress .progress-bar:after{
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    box-shadow: 0 5px 5px rgba(0,0,0,0.6);
    background: #fff;
    position: absolute;
    right: -5px;
    top: -6px;
}
.progress .progress-value{
    width: 45px;
    height: 30px;
    line-height: 30px;
    border-radius: 3px;
    background: #393a3d;
    box-shadow: 0 5px 5px rgba(0,0,0,0.4);
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    position: absolute;
    bottom: 30px;
    right: -17px;
}
.progress .progress-value:after{
    content: "";
    border-top: 7px solid #393a3d;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    position: absolute;
    bottom: -7px;
    left: 35%;
}
.progress.green .progress-bar:after{ border: 5px solid #21da9a; }
.progress.orange .progress-bar:after{ border: 5px solid #ff5411; }
.progress.blue .progress-bar:after{ border: 5px solid #294bdc; }
.progress.yellow .progress-bar:after{ border: 5px solid #ffa900; }
@-webkit-keyframes animate-positive{
    0% { width: 0; }
}
@keyframes animate-positive{
    0% { width: 0; }
}

.progress.orange .progress-bar{background: linear-gradient(to right, #ff9811, #f84946); /* degradé naranja claro a oscuro */}
