@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap");

:root {
    --color-primary: #CD246C;
    --color-secondary: #3C1644;
    --color-tertiary: #4D80B4;
    --color-danger: #af0513;
    --color-success: #139e3d;
    --color-warning: #eba235;
    --color-white: #fff;
    --color-black: black;
    --color-info-dark: #7d8da1;
    --color-info-light: #dce1eb;
    --color-select-light: #c1c1c2;
    --color-dark: #363949;
    --color-light: rgba(132, 139, 200, 0.18);
    --color-primary-variant: #9b144f;
    --color-dark-variant: #677483;
    --color-background: rgb(235, 235, 235);
    --color-grey: #d6d6d6;
  
    --card-border-radius: 2rem;
    --border-radius-1: 0.4rem;
    --border-radius-2: 0.8rem;
    --border-radius-3: 1.2rem;
  
    --card-padding: 1.8rem;
    --padding-1: 1.2rem;
  
    --box-shadow: 0 2rem 3 rem var(--color-light);
  }
  
  .dark-mode-variables{
      --color-background: #181a1e;
      --color-white: #202528;
      --color-dark: #edeffd;
      --color-dark-variant: #a3bdcc;
      --color-light: rgba(0, 0, 0, 0.4);
      --box-shadow: 0 2rem 3rem var(--color-light);
  }
  
  * {
      margin: 0;
      padding: 0;
      outline: 0;
      border: 1;
      text-decoration: none;
      list-style: none;
      box-sizing: border-box;
    }
  
  html{
      font-size: 14px;
  }
  
  body{
      width: 100vw;
      height: 100vh;
      font-family: 'Poppins', sans-serif;
      font-size: 0.88rem;
      user-select: none;
      overflow-x: hidden;
      color: var(--color-dark);
      background-color: var(--color-background);
  }
  
  a{
      color: var(--color-dark);
  }
  
  img{
      display: block;
      width: 100%;
      object-fit: cover;
  }
  
  h1{
      font-weight: 800;
      font-size: 1.8rem;
  }
  
  h2{
      font-weight: 600;
      font-size: 1.4rem;
  }
  
  h3{
      font-weight: 500;
      font-size: 0.87rem;
  }
  
  h4 {
    font-size: 0.8rem;  
  }
  
  h5 {
    font-size: 0.77rem;
  }
  
  small{
      font-size: 0.76rem;
  }
  
  p{
      color: var(--color-dark-variant);
  }
  
  b{
      color: var(--color-dark);
  }
  
  .text-muted{
      color: var(--color-info-dark);
  }
  
  .primary{
      color: var(--color-primary);
  }
  
  .secondary {
      color: var(--color-secondary)
  }
  .tertiary {
      color: var(--color-tertiary)
  }
  
  .danger{
      color: var(--color-danger);
  }
  
  .success{
      color: var(--color-success);
  }
  
  .warning{
      color: var(--color-warning);
  }
  
  .container{
      display: grid;
      width: 96%;
      margin: 0 auto;
      gap: 1.5rem;
      grid-template-columns: 14.5rem auto 23rem;
  }
  
  aside{
      height: 100vh;
  }
  
  aside .top{
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 1.5rem;
  }
  
  aside .logo {
      display: flex;
      gap: 0.8rem;
    }
    
  aside .logo img {
      width: 4.2rem;
      height: 3.4rem;
      margin-left: 1.8rem;
      margin-top: 0.2rem;
    }
  
    aside .close {
      display: none;
  }
  
  /* ================= SIDEBAR ================= */
  
  aside .sidebar{
      display: flex;
      flex-direction: column;
      background-color: var(--color-white);
      box-shadow: var(--box-shadow);
      border-radius: 15px;
      height: 90vh;
      position: relative;
      top: 1.5rem;
      transition: all 0.3s ease;
  }
  
  aside .sidebar:hover{
      box-shadow: none;
  }
  
  aside .sidebar a{
      display: flex;
      align-items: center;
      color: var(--color-info-dark);
      height: 2.85rem;
      gap: 1rem;
      position: relative;
      margin-left: 2rem;
      transition: all 0.3s ease;
      margin-top: 1rem;
  }
  
  aside .sidebar a span{
      font-size: 1.5rem;
      transition: all 0.3s ease;
  }
  
  aside .sidebar a:last-child{
      position: absolute;
      bottom: 0.8rem;
      width: 100%;
  }
  
  aside .sidebar a.active{
      width: 100%;
      height: 8.5%;
      color: var(--color-primary);
      background-color: var(--color-light);
      margin-left: 0;
  }
  
  aside .sidebar a.active::before{
      content: '';
      width: 6px;
      height: 20px;
      background-color: var(--color-primary);
  }
  
  aside .sidebar a.active span{
      color: var(--color-primary);
      margin-left: calc(1rem - 3px);
  }
  
  aside .sidebar a:hover{
      color: var(--color-primary);
  }
  
  aside .sidebar a:hover span{
      margin-left: 0.6rem;
  }
  
  main{
      margin-top: 1.4rem;
  }

  .title-kai > h1 {
    position: absolute;
    top: -8rem;
    left: 4.5rem;
    width: 25rem;
    font-weight: 500;
    font-size: 1.8rem;
    color: var(--color-primary);
}

.login-campo > input {
    position: absolute;
    margin-top: 11rem;
    margin-left: 23.5rem;
    width: 25rem;
    height: auto;
}

.title-kai > h1 {
    position: relative;
    text-align: center;
    left: 40rem;
    margin-top: 10rem;
    margin-bottom: -10rem;
    width: 20rem;
    color: var(--color-primary);
    font-weight: 600;
    font-size: 2.9rem;
}

.subtitle-kai > h2 {
    position: relative;
    text-align: center;
    left: 40rem;
    margin-top: 2.5rem;
    margin-bottom: 3rem;
    width: 20rem;
    color: var(--color-dark);
    font-weight: 400;
    font-size: 1.1rem;
}

.login-campo > input {
    position: relative;
    width: 24rem;
    height: auto;
}

.login-campo {
    position: relative;
    margin-left: 37rem;
    width: 28rem;
    height: auto;
}

.login-campo #password-input {
    margin-top: 2rem;
}

.logo {
    display: flex;
  }
  
.logo img {
    width: 10rem;
    margin-left: 45rem;
    margin-top: 3rem;
    background-position: center;
  }

  .btn-group{
    position: absolute;
    align-items: center;
    justify-content: space-between;
    width: 10rem;
    height: 2.5rem;
    left: 10.5rem;
}

.btn-group > button {
    margin-top: 3rem;
    width: 6rem;
    height: 2.6rem;
    font-size: 17px;
    border-radius: 3rem;
    cursor: pointer;
    padding-left: 1.3rem;
    padding-right: 0.8rem;
    display: flex;
    font-weight: 400;
    justify-content: space-between;
    border: 0.5rem var(--color-info-light);
    background: var(--color-primary);
    text-align: center;
    align-items: center;
    color: #FFF;
}
.container-login {
  background-color: #FFF;
  width: 45rem;
  margin-left: 27rem;
  margin-top: 2rem;
  height: 50rem;
  background-position: center;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
  border-top: 10px solid var(--color-primary);
  border-bottom: 20px solid  var(--color-primary);
}
.content-login{
  margin-left: -29rem;
}

.copyright-sociokai{
  height: 1rem;
}

.usercode-campo .material-icons-sharp {
    margin-top: 1.8rem;
    font-size: 2.2rem;
    left: -3rem;
}

.usercode-campo > span {
    position: absolute;
}

.usercode-campo .helper-text {
    position: absolute;
    display: flex;
}

.password-campo .material-icons-sharp {
    margin-top: 1.8rem;
    font-size: 2.2rem;
    left: -3rem;
}

.password-campo > span {
    position: absolute;
}

.password-campo .helper-text {
    position: absolute;
    display: flex;
}

@media (max-width: 768px) and (max-width: 1024px) {
    .login-campo > input {
      position: static; /* Evita posicionamiento absoluto */
      margin: 10px auto; /* Centra el input */
      width: 90%; /* Ocupa casi todo el ancho de la pantalla */
      height: 2.5rem; /* Altura razonable */
    }
  
    .title-kai > h1 {
      position: static;
      text-align: center;
      margin: 20px auto;
      width: 100%;
      font-size: 2.2rem; /* Tamaño de fuente más pequeño */
    }
  
    .subtitle-kai > h2 {
      position: static;
      text-align: center;
      margin: 10px auto;
      width: 90%;
      font-size: 1rem;
    }
  
    .login-campo {
      position: static;
      margin: 20px auto;
      width: 90%;
    }

    .logo {
      margin-top: 2rem;
      }
  
    .logo img {
      width: 7rem; /* Imagen más pequeña */
      margin: 0 auto;
      display: block; /* Centra la imagen */
    }
  
    .btn-group {
      position: static;
      display: flex;
      justify-content: center; /* Centra los botones */
      gap: 10px; /* Espacio entre botones */
      margin: 20px auto;
      width: 100%;
    }
  
    .btn-group > button {
      width: 100px; /* Botones más pequeños */
      height: 40px;
      padding-left: 1.8rem;
    }
  
    .container-login {
      width: 90%;
      margin: 20px auto;
      height: auto;
      padding: 15px;
      border-radius: 5px;
    }
  
    .content-login {
      margin-left: 0;
    }
  
    .copyright-sociokai {
      height: auto;
      font-size: 0.8rem;
      text-align: center;
    }
  
    .usercode-campo .material-icons-sharp,
    .password-campo .material-icons-sharp {
      font-size: 1.8rem; /* Iconos más pequeños */
      margin-top: 0.5rem;
    }
  
    .usercode-campo > span,
    .password-campo > span {
      position: static;
      display: block; /* Asegura que no se superpongan */
      margin-top: 5px;
    }
  
    .helper-text {
      position: static;
      font-size: 0.9rem; /* Texto de ayuda más pequeño */
      margin-top: 5px;
    }
  }

  @media (max-width: 1024px) {
    .login-campo > input {
      position: static; /* Evita posicionamiento absoluto */
      margin: 10px auto; /* Centra el input */
      width: 90%; /* Ocupa casi todo el ancho de la pantalla */
      height: 2.5rem; /* Altura razonable */
    }
  
    .title-kai > h1 {
      position: static;
      text-align: center;
      margin: 20px auto;
      width: 100%;
      font-size: 2.2rem; /* Tamaño de fuente más pequeño */
    }
  
    .subtitle-kai > h2 {
      position: static;
      text-align: center;
      margin: 10px auto;
      width: 90%;
      font-size: 1rem;
    }
  
    .login-campo {
      position: static;
      margin: 20px auto;
      width: 90%;
    }

    .logo {
      margin-top: 2rem;
      }
  
    .logo img {
      width: 7rem; /* Imagen más pequeña */
      margin: 0 auto;
      display: block; /* Centra la imagen */
    }
  
    .btn-group {
      position: static;
      display: flex;
      justify-content: center; /* Centra los botones */
      gap: 10px; /* Espacio entre botones */
      margin: 20px auto;
      width: 100%;
    }
  
    .btn-group > button {
      width: 100px; /* Botones más pequeños */
      height: 40px;
      padding-left: 1.8rem;
    }
  
    .container-login {
      width: 90%;
      margin: 20px auto;
      height: auto;
      padding: 15px;
      border-radius: 5px;
    }
  
    .content-login {
      margin-left: 0;
    }
  
    .copyright-sociokai {
      height: auto;
      font-size: 0.8rem;
      text-align: center;
    }
  
    .usercode-campo .material-icons-sharp,
    .password-campo .material-icons-sharp {
      font-size: 1.8rem; /* Iconos más pequeños */
      margin-top: 0.5rem;
    }
  
    .usercode-campo > span,
    .password-campo > span {
      position: static;
      display: block; /* Asegura que no se superpongan */
      margin-top: 5px;
    }
  
    .helper-text {
      position: static;
      font-size: 0.9rem; /* Texto de ayuda más pequeño */
      margin-top: 5px;
    }
  }

   @media (max-width: 1024px) {
    .login-campo > input {
      position: static; /* Evita posicionamiento absoluto */
      margin: 10px auto; /* Centra el input */
      width: 90%; /* Ocupa casi todo el ancho de la pantalla */
      height: 2.5rem; /* Altura razonable */
    }
  
    .title-kai > h1 {
      position: static;
      text-align: center;
      margin: 20px auto;
      width: 100%;
      font-size: 2.2rem; /* Tamaño de fuente más pequeño */
    }
  
    .subtitle-kai > h2 {
      position: static;
      text-align: center;
      margin: 10px auto;
      width: 90%;
      font-size: 1rem;
    }
  
    .login-campo {
      position: static;
      margin: 20px auto;
      width: 90%;
    }

    .logo {
      margin-top: 2rem;
      }
  
    .logo img {
      width: 7rem; /* Imagen más pequeña */
      margin: 0 auto;
      display: block; /* Centra la imagen */
    }
  
    .btn-group {
      position: static;
      display: flex;
      justify-content: center; /* Centra los botones */
      gap: 10px; /* Espacio entre botones */
      margin: 20px auto;
      width: 100%;
    }
  
    .btn-group > button {
      width: 100px; /* Botones más pequeños */
      height: 40px;
      padding-left: 1.8rem;
    }
  
    .container-login {
      width: 90%;
      margin: 20px auto;
      height: auto;
      padding: 15px;
      border-radius: 5px;
    }
  
    .content-login {
      margin-left: 0;
    }
  
    .copyright-sociokai {
      height: auto;
      font-size: 0.8rem;
      text-align: center;
    }
  
    .usercode-campo .material-icons-sharp,
    .password-campo .material-icons-sharp {
      font-size: 1.8rem; /* Iconos más pequeños */
      margin-top: 0.5rem;
    }
  
    .usercode-campo > span,
    .password-campo > span {
      position: static;
      display: block; /* Asegura que no se superpongan */
      margin-top: 5px;
    }
  
    .helper-text {
      position: static;
      font-size: 0.9rem; /* Texto de ayuda más pequeño */
      margin-top: 5px;
    }
  }

  @media (min-width: 1440px) {
    body {
      justify-content: center; /* Centra horizontalmente */
      align-items: center; /* Centra verticalmente */
      min-height: 100vh; /* Asegura que ocupa toda la altura de la pantalla */
    }
  
    .container-login {
      width: 90%; /* Permite ajustar el ancho según su contenido */
      max-width: 600px; /* Tamaño máximo opcional */
      border-radius: 8px;
      background-color: #fff; /* Asegura que se vea claro */
    }
  }

  .navigation {
    position: relative;
    width: 400px;
    height: 60px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.navigation ul {
    display: flex;
    width: 350px;
    text-transform: capitalize;
}

.navigation ul li {
    position: relative;
    list-style: none;
    width: 70px;
    height: 60px;
    z-index: 2;
}

.navigation ul li a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    text-align: center;
}

.navigation ul li a .icon {
    position: relative;
    display: block;
    line-height: 65px;
    font-size: 1.5em;
    transition: 0.5s;
    color: #222327;
}

.navigation ul li.active a .icon {
    transform: translateY(-30px);
    color: #2196f3;
}

.navigation ul li a .text {
    position: absolute;
    color: #fff;
    font-weight: 400;
    font-size: 0.75em;
    letter-spacing: 0.05em;
    transition: 0.5s;
    opacity: 0;
    transform: translateY(15px);
    background: #2196f3;
    padding: 2px 7px;
    border-radius: 12px;
}

.navigation ul li.active a .text {
    transform: translateY(-4px);
    opacity: 1;
}

.indicator {
    position: absolute;
    top: -35px;
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 50%;
    z-index: 1;
    transition: 0.5s;
}

.indicator::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -28px;
    width: 30px;
    height: 30px;
    background: transparent;
    border-radius: 50%;
    box-shadow: 15px 18px #fff
}

.indicator::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -28px;
    width: 30px;
    height: 30px;
    background: transparent;
    border-radius: 50%;
    box-shadow: -15px 18px #fff
}

.navigation ul li:nth-child(1).active ~ .indicator {
    transform: translateX(calc(70px * 0));
}

.navigation ul li:nth-child(2).active ~ .indicator {
    transform: translateX(calc(70px * 1));
}

.navigation ul li:nth-child(3).active ~ .indicator {
    transform: translateX(calc(70px * 2));
}

.navigation ul li:nth-child(4).active ~ .indicator {
    transform: translateX(calc(70px * 3));
}
.navigation ul li:nth-child(5).active ~ .indicator {
    transform: translateX(calc(70px * 4));
}

      