@charset "UTF-8";
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
  //auto-> tiene scrollbar
  //hidden-> sin scrollbar
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/** Media Queries **/
html {
  font-size: 62.5%;
  box-sizing: border-box;
  height: 100%;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: "Oswald", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  font-style: normal;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
}

.swal2-popup {
  font-size: 2rem !important;
}

.centrar-div-dhv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.appturno {
  display: flex;
  flex-direction: column;
  margin: 0 2rem;
  width: 80%;
  padding: 1rem;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.707); /* Fondo blanco con 70% de opacidad */
}

@media (min-width: 768px) {
  .appturno {
    background-size: auto;
  }
}
.contenedor {
  width: 99%;
  max-width: 1200px;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

.disp-flex {
  display: flex;
  gap: 1rem;
}

.bg-blanco {
  background-color: white;
}

.bg-gris {
  background-color: grey;
}

.bg-azul {
  background-color: blue;
}

.bg-azul-claro {
  background-color: lightblue;
}

.bg-azul-oscuro {
  background-color: darkblue;
}

.brdr {
  border: solid 1px grey;
}

.brdr-r {
  border-radius: 5px;
}

.brdr-top2 {
  border-top: solid 3px grey;
}

.marg-top2 {
  margin-top: 2rem;
}

.marg-top4 {
  margin-top: 4rem;
}

.marg-rgh1 {
  margin-right: 1rem;
}

.marg-all1 {
  margin: 1rem;
}

.pad-01 {
  padding: 0 1rem;
}

.pad-11 {
  padding: 1rem;
}

.hgt30 {
  height: 30px;
}

.wdt30 {
  width: 30px;
}

.centrar-div-dhv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.centertext {
  width: 300px;
}

.logo-app {
  width: 100%;
  padding-bottom: 2rem;
}
.logo-app__publica {
  width: 300px;
}
.logo-app--nav {
  width: 150px;
  padding: 5px;
}
@media (min-width: 768px) {
  .logo-app {
    width: 40%;
  }
}

.contenedor-transparente {
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 1rem;
  border: 1px solid grey;
  border-radius: 10px;
  max-width: 90%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .contenedor-transparente {
    width: 60%;
  }
}

.end {
  justify-content: flex-end;
}

.swal-small-popup {
  max-width: 300px; /* Ancho máximo */
  padding: 1rem; /* Espaciado interno */
  font-size: 14px; /* Tamaño de fuente */
}

.cont-50 {
  max-width: 90%;
}
@media (min-width: 768px) {
  .cont-50 {
    width: 50%;
  }
}

.flex-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.align-i-center {
  align-items: center;
}

.flex-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

h1, h2, h3 {
  font-family: "Oswald", sans-serif;
  font-weight: 900;
  margin: 2rem 0;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3rem;
}

.text-center {
  text-align: center;
}

[class$=__heading] {
  font-family: "Oswald", sans-serif;
  font-weight: 900;
  margin: 2rem 0;
  margin: 6rem 0 3rem 0;
  text-align: center;
}

[class$=__descripcion] {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  color: #170e59;
  margin-bottom: 5rem;
}

.auth {
  width: 100%;
}

.auth__texto,
.auth__heading {
  font-size: 2rem;
}

.auth__heading-login {
  color: white;
  font-size: 3rem;
  text-align: center;
}

.devwebcamp__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .devwebcamp__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
}
.devwebcamp__texto {
  line-height: 2;
}

.paquetes__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .paquetes__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
    align-items: flex-start;
  }
}
.paquetes__submit {
  background-color: #0a0057;
  padding: 1.5rem 4rem;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
  margin-top: 3rem;
}
.paquetes__submit:hover {
  background-color: #040024;
  cursor: pointer;
}

.paquete {
  border: 1px solid #e8e7fd;
  padding: 3rem;
}
.paquete__nombre {
  font-weight: 900;
  font-size: 2.6rem;
  margin: 2rem 0;
}
.paquete:nth-child(2) {
  order: -1;
}
@media (min-width: 768px) {
  .paquete:nth-child(2) {
    order: unset;
  }
}
.paquete__lista {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 2;
}
.paquete__nombre {
  text-transform: uppercase;
}
.paquete__precio {
  font-size: 6rem;
  margin: 3rem 0 0 0;
  color: #0a0057;
  font-weight: 900;
  text-align: center;
}
.paquete__boton-pago-mp a img {
  margin-top: 3rem;
  border: 1px solid transparent;
  border-radius: 15px;
}

.agenda {
  padding: 5rem 0;
  width: min(95%, 140rem);
  margin: 0 auto;
}

.eventos__heading {
  color: #0a0057;
  margin: 5rem 0;
  text-align: left;
  font-size: clamp(2rem, -0.8rem + 8vw, 6rem);
}
.eventos__fecha {
  color: #bcb8f9;
  margin: 3rem 0 1rem 0;
}
.eventos--workshops .eventos__heading {
  color: #00c8c2;
}
.eventos--workshops .evento__informacion {
  background-color: #00c8c2;
}
.eventos--workshops .evento__informacion:hover {
  background-color: #009591;
}
.eventos .swiper-button-next,
.eventos .swiper-button-prev {
  color: rgba(255, 255, 255, 0.5);
}

.evento__hora {
  font-weight: 700;
}
.evento__informacion {
  padding: 2rem;
  border-radius: 1rem;
  background-color: #0a0057;
  color: #ffffff;
  transition: 300ms background-color ease;
}
.evento__informacion:hover {
  background-color: #040024;
}
.evento__nombre {
  font-size: 2rem;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.evento__introduccion {
  font-size: 1.6rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.evento__autor-info {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
}
.evento__imagen-autor {
  width: 5rem;
  background-color: #ffffff;
  border-radius: 50%;
}
.evento__autor-nombre {
  font-weight: 700;
}
.evento__agregar {
  background-color: #ffffff;
  padding: 1.5rem 4rem;
  color: #1a1b15;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
  margin-top: 1rem;
}
.evento__agregar:hover {
  background-color: #e6e6e6;
  cursor: pointer;
}
.evento__agregar:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.resumen {
  background-image: linear-gradient(to right, rgba(10, 0, 87, 0.7), rgba(10, 0, 87, 0.9)), url(../img/bg_numeros.jpg);
  background-image: linear-gradient(to right, rgba(10, 0, 87, 0.7), rgba(10, 0, 87, 0.9)), image-set(url(../img/bg_numeros.avif) 1x, url(../img/bg_numeros.webp) 1x, url(../img/bg_numeros.jpg) 1x);
  padding: 12rem 0;
  background-size: cover;
  background-position: center;
}
.resumen__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .resumen__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.resumen__bloque {
  text-align: center;
  color: #ffffff;
}
.resumen__texto, .resumen__texto--numero {
  font-weight: 900;
  line-height: 1;
  margin: 0;
  font-size: 2.4rem;
  text-transform: uppercase;
}
.resumen__texto--numero {
  font-size: 8rem;
}

.speakers__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .speakers__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .speakers__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.speaker {
  border: 1px solid #e8e7fd;
  padding: 3rem;
  background-position: center top;
  background-size: 80%;
  background-repeat: no-repeat;
}
.speaker__nombre {
  font-weight: 900;
  font-size: 2.6rem;
  margin: 2rem 0;
}
.speaker:nth-child(4n+1) {
  background-image: image-set(url("../img/bg_1.avif") 1x, url("../img/bg_1.webp") 1x, url("../img/bg_1.png") 1x);
}
.speaker:nth-child(4n+2) {
  background-image: image-set(url("../img/bg_2.avif") 1x, url("../img/bg_2.webp") 1x, url("../img/bg_2.png") 1x);
}
.speaker:nth-child(4n+3) {
  background-image: image-set(url("../img/bg_3.avif") 1x, url("../img/bg_3.webp") 1x, url("../img/bg_3.png") 1x);
}
.speaker:nth-child(4n+4) {
  background-image: image-set(url("../img/bg_4.avif") 1x, url("../img/bg_4.webp") 1x, url("../img/bg_4.png") 1x);
}
.speaker__ubicacion {
  color: #bcb8f9;
  margin: 1rem 0;
  font-size: 2rem;
  line-height: 1.5;
}
.speaker__listado-skills {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.speaker__listado-skills > li {
  background-color: #0a0057;
  color: #ffffff;
  padding: 1rem;
  border-radius: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.speaker-sociales {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}
.speaker-sociales__enlace::before {
  color: #1a1b15;
  font-size: 3rem;
  display: inline-block;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Brands";
}
.speaker-sociales__enlace[href*="facebook.com"]::before {
  content: "\f39e";
}
.speaker-sociales__enlace[href*="github.com"]::before {
  content: "\f09b";
}
.speaker-sociales__enlace[href*="tiktok.com"]::before {
  content: "\e07b";
}
.speaker-sociales__enlace[href*="instagram.com"]::before {
  content: "\f16d";
}
.speaker-sociales__enlace[href*="youtube.com"]::before {
  content: "\f167";
}
.speaker-sociales__enlace[href*="twitter.com"]::before {
  content: "\f099";
}
.speaker-sociales__ocultar {
  display: none;
}

.mapa {
  height: 45rem;
  margin: 10rem;
}
.mapa__heading {
  margin: 0;
  text-align: left;
}
.mapa__texto {
  font-size: 1.8rem;
  margin: 0;
}

.boletos__grid {
  width: min(95%, 60rem);
  margin: 0 auto;
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(1, 1fr);
}

.boleto {
  width: min(100% - 5rem, 65rem);
  margin: 0 auto;
  padding: 6rem;
  border-radius: 2rem;
  color: #ffffff;
  position: relative;
}
.boleto::before, .boleto::after {
  position: absolute;
  content: "";
  background-color: #ffffff;
  width: 5rem;
  height: 5rem;
  top: calc(50% - 2.5rem);
}
.boleto::before {
  clip-path: circle(50% at 25% 50%);
  left: 0;
}
.boleto::after {
  clip-path: circle(50% at 75% 50%);
  right: 0;
}
.boleto--presencial {
  background-color: hsl(178, 100%, 39%);
  background-image: radial-gradient(at 56% 5%, hsl(209, 100%, 47%) 0px, transparent 50%), radial-gradient(at 80% 0%, hsl(178, 100%, 39%) 0px, transparent 50%), radial-gradient(at 1% 51%, hsl(209, 100%, 47%) 0px, transparent 50%), radial-gradient(at 59% 58%, hsl(178, 100%, 39%) 0px, transparent 50%), radial-gradient(at 0% 100%, hsl(209, 100%, 47%) 0px, transparent 50%), radial-gradient(at 95% 98%, hsl(201, 100%, 39%) 0px, transparent 50%), radial-gradient(at 23% 19%, hsl(209, 100%, 47%) 0px, transparent 50%);
}
.boleto--virtual {
  background-color: #00c8c2;
}
.boleto--gratis {
  background-color: #0a0057;
}
.boleto__logo {
  color: #ffffff;
  text-align: center;
  margin-bottom: 2rem;
  white-space: nowrap;
  font-size: clamp(2rem, -0.8rem + 10vw, 4rem);
}
@media (min-width: 1024px) {
  .boleto__logo {
    text-align: left;
    margin: 0;
  }
}
.boleto__plan {
  font-size: 2rem;
  text-transform: uppercase;
  margin: 3rem 0 0 0;
}
.boleto__precio {
  margin: 3rem 0 0 0;
  font-weight: 900;
  font-size: 4rem;
}
.boleto__enlace-contenedor {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
}
.boleto__enlace {
  background-color: #0a0057;
  padding: 1.5rem 4rem;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
  width: auto;
}
.boleto__enlace:hover {
  background-color: #040024;
  cursor: pointer;
}
.boleto--acceso {
  width: 30rem;
  height: 50rem;
  padding: 10rem 3rem;
}
@media (min-width: 768px) {
  .boleto--acceso {
    width: 60rem;
    height: 30rem;
    padding: 6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.boleto--acceso .boleto__logo {
  font-size: clamp(2rem, -0.8rem + 10vw, 3rem);
  margin: 0;
  text-align: left;
}
.boleto--acceso .boleto__nombre {
  font-size: 2.4rem;
  text-transform: uppercase;
  font-weight: 900;
}
.boleto--acceso .boleto__codigo {
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  position: absolute;
  bottom: 7rem;
  margin: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .boleto--acceso .boleto__codigo {
    rotate: 90deg;
    transform-origin: 0 0;
    top: 0;
    left: calc(100% - 5rem);
    width: 30rem;
  }
}
.boleto::before {
  clip-path: circle(50% at 50% 25%);
  left: calc(50% - 2.5rem);
  top: 0;
}
@media (min-width: 768px) {
  .boleto::before {
    clip-path: circle(50% at 25% 50%);
    left: 0;
    top: calc(50% - 2.5rem);
  }
}
.boleto::after {
  clip-path: circle(50% at 50% 75%);
  left: calc(50% - 2.5rem);
  top: calc(100% - 5rem);
}
@media (min-width: 768px) {
  .boleto::after {
    clip-path: circle(50% at 75% 50%);
    left: calc(100% - 5rem);
    top: calc(50% - 2.5rem);
  }
}

.boton-pago {
  margin: 2rem 0 0 0;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.boton-pago__icono {
  height: 4rem;
}
.boton-pago__oculto {
  padding: 0;
  height: 1px;
}

.pagina_404__contenedor {
  text-align: center;
}
.pagina_404__enlace {
  color: #0a0057;
  background-color: #7bd5f5;
  padding: 0.3rem;
  border-radius: 0.5rem;
}

.turnoespera {
  display: flex;
  margin: 4rem 2rem 2rem 2rem;
  justify-content: space-around;
  gap: 2rem;
}

.contenedor-fila {
  display: flex;
  flex-direction: row;
}
.contenedor-fila p {
  margin: 0;
}

.contenedor-turno {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  background-color: rgb(28, 22, 104);
  padding: 1rem;
  gap: 1rem;
}
.contenedor-turno__form {
  background-color: rgb(180, 177, 211);
  padding: 1rem;
  border-radius: 10px;
}
.contenedor-turno__opciones {
  display: flex;
  flex-direction: row;
  gap: 5px;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.contenedor-turno__divname {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid rgb(50, 50, 129);
  border-radius: 5px;
  transform: skew(-15deg);
}
.contenedor-turno__nombre {
  font-style: unset;
  color: black;
  font-size: 24px;
  margin: 0 1rem;
}
.contenedor-turno__encabezado {
  font-style: unset;
  color: white;
  margin: 0 0.5rem;
}
.contenedor-turno__pregunta {
  margin: 1rem 0;
}
.contenedor-turno p {
  padding: 0.5rem;
}

.citas, .servicios {
  list-style: none;
  padding: 0;
}
.citas li, .servicios li {
  padding: 1rem;
  border-top: 1px solid #060057 p;
  border-top-font-weight: 700;
  border-top-color: #060057;
}
.citas li span, .servicios li span,
.citas li .servicio,
.servicios li .servicio {
  font-weight: 400;
  color: #1a1b15;
}

.servicios .acciones {
  margin: 0;
}
.servicios .boton,
.servicios .boton-eliminar {
  margin: 0;
}

.exportar {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.btn-exportar {
  display: inline-block;
  padding: 1rem;
  font-weight: bold;
  font-size: 16px;
  border-radius: 5px;
  border: 1px solid #0e03e0;
  background-color: #0600a9;
  color: white;
}

.titulo-admin {
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: #060057;
}

.fechaedit {
  padding: 1rem;
  border-radius: 5px;
  border: 1px solid rgb(107, 105, 105);
}

.horas__hora.seleccionado {
  background-color: #4caf50;
  color: #fff;
}

.nombre-pagina {
  text-align: center;
  margin: 1rem 0;
  font-weight: 700;
  color: white;
}

.contenedor-nombre {
  display: flex;
  justify-content: center;
  align-content: center;
}

.nombre-doctor {
  text-align: center;
  width: 25%;
  margin: 3rem 0;
  padding: 1rem;
  font-weight: 700;
  color: #060057;
  font-size: 24px;
  border: 1px solid grey;
  background-color: #fff;
  border-radius: 10px;
}

.descripcion-pagina {
  text-align: center;
  color: #060057;
  margin-bottom: 3rem;
}

.estilo-numero {
  appearance: none;
}

.contenedor-informesm {
  margin: 2rem;
  padding: 1rem;
  border: 2px solid blue;
  border-radius: 10px;
  text-align: center;
  background-color: rgba(203, 203, 203, 0.589);
}
.contenedor-informesm__ind {
  margin: 1rem;
  padding: 5px;
  border: 1px solid blue;
  border-radius: 5px;
  background-color: rgb(230, 229, 229);
}
.contenedor-informesm__uti {
  border-top: 3px solid darkblue;
  padding: 0.5rem;
  text-align: center;
}
.contenedor-informesm__sub-cont {
  display: flex;
  flex-direction: row;
}

.formulario {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  width: 100%;
  font-size: 2rem;
  gap: 5px;
}
.formulario__login-label {
  color: rgb(255, 255, 255);
}
.formulario__campo {
  color: rgb(0, 0, 0);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 55%;
  justify-content: space-around;
}
.formulario__submit {
  color: white;
  background-color: #060057;
  border: 1px solid #bfb7fd;
  width: 30%;
  margin-top: 1rem;
}
.formulario .campo-cl {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  justify-content: space-between;
}
.formulario label {
  width: 35%;
  text-align: left;
}
.formulario select {
  width: 60%;
  border: 1px solid #bfb7fd;
  padding: 1rem;
  border-radius: 5px;
}
.formulario input {
  width: 55%;
  padding: 1rem;
  border-radius: 5px;
}
.formulario input:disabled {
  background-color: #0600a9;
  color: white;
  cursor: not-allowed;
}
.formulario .boton {
  border-radius: 10px;
  padding: 1rem;
  background-color: #0e03e0;
  padding: 1.5rem 4rem;
  color: #060057;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
}
.formulario .boton:hover {
  background-color: #0b02ae;
  cursor: pointer;
}

.campo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.campo label {
  flex: 0 0 45%;
  text-align: left;
}
.campo input {
  flex: 1 1 50%;
  border: 1px solid rgb(146, 146, 146);
  padding: 1.5rem 1rem;
  border-radius: 1rem;
  width: 100%;
}
.campo input:disabled {
  background-color: #0600a9;
  color: white;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .campo {
    flex-direction: column;
    align-items: flex-start;
  }
  .campo label {
    flex: 0 0 auto;
    margin-bottom: 0.5rem;
  }
  .campo input {
    flex: 1;
  }
  .contenedor-transparente {
    width: 90%;
  }
}
.input-buscar {
  width: 60%;
}

.white {
  color: white;
}

.acciones, .acciones--centrar {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
}
.acciones__enlace {
  font-size: 1.4rem;
  font-weight: 300;
}
.acciones--centrar {
  justify-content: center;
}

.acciones-login {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
}
.acciones-login__enlace-login {
  color: white;
  font-size: 1.4rem;
  font-weight: 300;
}

.horas {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .horas {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.horas__hora, .horas__hora--deshabilitada, .horas__hora--seleccionada {
  color: #0a0057;
  border: 1px solid #0a0057;
  border-radius: 1rem;
  padding: 1rem;
  text-align: center;
  font-size: 24px;
}
.horas__hora:hover, .horas__hora--deshabilitada:hover, .horas__hora--seleccionada:hover {
  cursor: pointer;
}
.horas__hora--seleccionada {
  background-color: #0a0057;
  color: #ffffff;
}
.horas__hora--deshabilitada {
  border: 1px solid #bcb8f9;
  color: #bcb8f9;
  opacity: 0.5;
}
.horas__hora--deshabilitada:hover {
  cursor: not-allowed;
}
@media (min-width: 768px) {
  .horas__hora, .horas__hora--deshabilitada, .horas__hora--seleccionada {
    width: 50%;
    padding: 5px;
    margin: 0 auto;
  }
}

.header {
  min-height: 60rem;
  background-size: 400px, 400px, cover, cover;
  background-position: top left, bottom right, center center, center center;
}
.header__contenedor {
  width: min(95%, 140rem);
  margin: 0 auto;
}
.header__navegacion {
  padding: 5rem 0;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .header__navegacion {
    justify-content: flex-end;
  }
}
.header__enlace, .header__submit {
  all: unset;
  color: #ffffff;
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 700;
}
.header__enlace:hover, .header__submit:hover {
  color: #0a0057;
  cursor: pointer;
}
.header__form {
  display: flex;
}
.header__contenido {
  padding-top: 10rem;
}
@media (min-width: 768px) {
  .header__contenido {
    padding-top: 5rem;
  }
}
.header__logo {
  font-size: clamp(2rem, -0.8rem + 10vw, 8rem);
  color: rgb(181, 175, 205);
  text-align: center;
}
@media (min-width: 768px) {
  .header__logo {
    text-align: center;
    margin: 0 auto;
  }
}
.header__texto {
  font-size: 3rem;
  font-weight: 700;
  color: #ffffff;
  margin: 2rem 0;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .header__texto {
    text-align: left;
  }
}
.header__texto--modalidad {
  font-size: 2rem;
}
.header__boton {
  background-color: #00c8c2;
  padding: 1.5rem 4rem;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
  text-transform: uppercase;
  margin: 2rem 0;
}
.header__boton:hover {
  background-color: #009591;
  cursor: pointer;
}
@media (min-width: 768px) {
  .header__boton {
    width: auto;
  }
}

/* Contenedor general */
.alerts-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-right: 35px; /* separación respecto a cerrar sesión */
}

/* Cada alerta */
.alerts-bar__item {
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.alerts-bar__itemg {
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.alerts-bar__item:hover {
  opacity: 0.8;
}

/* Iconos */
.alerts-bar__item a {
  color: #ffffff;
  font-size: 16px;
}

.alerts-bar__itemg a {
  color: #ffffff;
  font-size: 60px;
}

/* Semáforo */
.alerts-bar__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.alerts-bar__dotg {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

/* Estados */
.alert-green {
  background-color: #2ecc71;
}

.alert-yellow {
  background-color: #f1c40f;
}

.alert-orange {
  background-color: #e67e22;
}

.alert-red {
  background-color: #e74c3c;
}

.alert-gray {
  background-color: #95a5a6;
}

/* Aplicar el oscurecimiento solo al fondo */
.header-login {
  position: absolute;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5)), url(../img/portada2.jpg);
  background-repeat: repeat;
  background-size: cover;
  background-position: top;
  z-index: 0;
}

/* Estilos para el contenido */
.header-login__contenido {
  position: relative;
  z-index: 1; /* Asegura que el contenido esté sobre el fondo */
  margin: 0 auto;
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .header-login__contenido {
    padding-top: 3rem;
    margin: 0 auto;
  }
}

.navegacion {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .navegacion {
    flex-direction: row;
  }
}
.navegacion__enlace {
  color: #ffffff;
  font-size: 1.8rem;
  padding: 1.2rem;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
}
.navegacion__enlace--actual, .navegacion__enlace:hover {
  background-color: #ffffff;
  color: #0a0057;
}

.footer {
  background-color: #0a0057;
  margin-top: 5rem;
  padding-top: 3rem;
  color: #ffffff;
}
.footer__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .footer__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.footer__logo {
  color: #ffffff;
  text-align: center;
  margin-bottom: 2rem;
  white-space: nowrap;
  font-size: clamp(2rem, -0.8rem + 10vw, 4rem);
}
@media (min-width: 1024px) {
  .footer__logo {
    text-align: left;
    margin: 0;
  }
}
.footer__texto {
  line-height: 2;
  text-align: center;
}
@media (min-width: 768px) {
  .footer__texto {
    text-align: left;
  }
}
.footer__copyright {
  background-color: #040024;
  margin: 3rem 0 0 0;
  padding: 2rem 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 900;
}
.footer__copyright--regular {
  font-weight: 400;
}

.menu-redes {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 4rem 0;
}
.menu-redes__enlace::before {
  color: #ffffff;
  font-size: 2rem;
  display: inline-block;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Brands";
}
.menu-redes__enlace[href*="facebook.com"]::before {
  content: "\f39e";
}
.menu-redes__enlace[href*="github.com"]::before {
  content: "\f09b";
}
.menu-redes__enlace[href*="tiktok.com"]::before {
  content: "\e07b";
}
.menu-redes__enlace[href*="instagram.com"]::before {
  content: "\f16d";
}
.menu-redes__enlace[href*="youtube.com"]::before {
  content: "\f167";
}
.menu-redes__enlace[href*="twitter.com"]::before {
  content: "\f099";
}
.menu-redes__ocultar {
  display: none;
}
@media (min-width: 768px) {
  .menu-redes {
    justify-content: flex-end;
  }
}

.alerta {
  padding: 1.5rem 1.5rem 1.5rem 3rem;
  text-transform: uppercase;
  margin: 1rem 0;
  font-size: 24px;
  font-weight: 700;
}
.alerta__error {
  background-color: #ffdcdc;
  border-left: 0.5rem solid #a90000;
  color: #a90000;
}
.alerta__exito {
  background-color: #abfeab;
  border-left: 0.5rem solid #02db02;
  color: #017601;
}

.alerts-view {
  padding: 20px;
}

/* Header */
.alerts-view__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.alerts-view__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
}

.alerts-view__actions a {
  text-decoration: none;
  font-size: 13px;
  opacity: 0.8;
}

.alerts-view__actions a:hover {
  opacity: 1;
}

/* Leyenda */
.alerts-view__legend {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Tabla */
.alerts-table {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.alerts-table__row {
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 1.5fr 1fr 0.6fr;
  align-items: center;
  padding: 10px 12px;
  border-radius: 6px;
  background-color: rgba(0, 0, 0, 0.03);
}

.alerts-table__header {
  font-size: 13px;
  opacity: 0.7;
  background-color: transparent;
}

.alerts-status {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

/* Estados visuales */
.alert-row-warning {
  background-color: rgba(241, 196, 15, 0.12);
}

.alert-row-critical {
  background-color: rgba(231, 76, 60, 0.12);
}

/* Semáforos */
.alert-green {
  background-color: #2ecc71;
}

.alert-yellow {
  background-color: #f1c40f;
}

.alert-red {
  background-color: #e74c3c;
}

.tabs {
  gap: 5px;
  display: flex;
  font-size: 18px;
  margin-bottom: 2rem;
}
.tabs button {
  background-color: #060057;
  border: solid 1px #0e03e0;
  border-radius: 5px;
  color: #bfb7fd;
  padding: 1rem;
  width: 100%;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  transition: background-color 300ms ease;
}
.tabs button:hover {
  cursor: pointer;
  background-color: #0b02ae;
}
.tabs button.actual {
  background-color: #bfb7fd;
  color: #060057;
}

.centrar-div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.label-cliente {
  width: 200px;
}

.texto-tab {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .texto-tab {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
}

.texto-tab p {
  margin: 0;
  padding: 0;
}

.seccion {
  padding: 1rem;
  display: none;
}
.seccion .text-center {
  text-align: center;
  margin: 1rem;
}

.mostrar {
  display: block;
}

.ocultar {
  display: none;
}

.contenedor-app {
  height: 960px;
}
@media (min-width: 768px) {
  .contenedor-app {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    background-size: auto;
    background-position: center center;
    width: 100%;
    min-height: 100vh;
    position: relative;
  }
}
.contenedor-app .imagen {
  height: 20rem;
}
@media (min-width: 768px) {
  .contenedor-app .imagen {
    height: auto;
  }
}
.contenedor-app .app {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  color: #060057;
}

.head-turnoservicio {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  padding: 1rem;
  align-items: center;
}
.head-turnoservicio p {
  padding: 0.5rem;
  background-color: white;
  border-radius: 5px;
}

.boton-reservar {
  display: block;
  margin: 0;
  padding: 1rem;
  border-radius: 5px;
  border: none;
  font-weight: 700;
  font-size: 20px;
  color: white;
  background-color: #0600a9;
  margin-top: 2rem;
  transition-duration: 0.3s;
  text-align: center;
  width: 50%;
  margin: 1rem 0;
}
.boton-reservar:hover {
  background-color: #554cfd;
  color: #060057;
  cursor: pointer;
}
@media (min-width: 768px) {
  .boton-reservar {
    width: auto;
  }
}

.boton-logout {
  display: inline-block;
  align-items: end;
  padding: 5px 10px;
  font-weight: bold;
  font-size: 14px;
  border-radius: 5px;
  border: 1px solid #0e03e0;
  background-color: #bfb7fd;
  color: #060057;
}

.barra {
  margin: 1rem;
  display: flex;
  justify-content: space-between;
}
.barra .boton {
  margin: 0;
  padding: 0.5rem;
  background-color: #060057;
  padding: 1.5rem 4rem;
  color: #bfb7fd;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
}
.barra .boton:hover {
  background-color: #020024;
  cursor: pointer;
}
@media (min-width: 768px) {
  .barra {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.barra-servicios {
  margin-bottom: 5rem;
  background-color: #060057;
}
.barra-servicios .boton {
  border-radius: 10px;
  padding: 0 1rem;
  background-color: #060057;
  padding: 1.5rem 4rem;
  color: #bfb7fd;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
}
.barra-servicios .boton:hover {
  background-color: #020024;
  cursor: pointer;
}
@media (min-width: 768px) {
  .barra-servicios {
    display: flex;
    justify-content: space-around;
  }
}

.nav-login {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0 1rem;
  background-color: rgba(183, 253, 196, 0.3);
  border: 1px solid grey;
  border-radius: 10px;
}
.nav-login a {
  color: #060057;
  font-size: 20px;
  text-align: center;
}
.nav-login__elementos {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .nav-login__elementos {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 3rem;
  }
}
@media (min-width: 768px) {
  .nav-login {
    flex-direction: row;
    justify-content: space-between;
  }
}

.img-ico {
  height: 50px;
  width: 50px;
}

.ico-ojo {
  font-weight: 700;
  width: 30px;
}

.contenedor-neumo {
  width: 80%;
  padding: 5rem;
}

.contenedor-doc-cv {
  margin: 5rem;
  padding: 4rem;
}

.contenedor-bg {
  background-color: rgba(183, 253, 196, 0.3);
  border-radius: 15px;
  padding: 1rem;
  border: 1px solid grey;
}

.bg-imagen1 {
  background-image: url(../img/shapes/shape-1.svg);
  background-size: contain; /* Ajusta la imagen para cubrir toda la pantalla */
  background-repeat: no-repeat; /* Evita que la imagen se repita */
  background-position: center; /* Centra la imagen en la pantalla */
  background-attachment: fixed; /* Opcional: Mantiene el fondo fijo al hacer scroll */
}

.bg-imagen5 {
  background-image: url(../img/shapes/shape-5.svg);
  background-size: contain; /* Ajusta la imagen para cubrir toda la pantalla */
  background-repeat: no-repeat; /* Evita que la imagen se repita */
  background-position: center; /* Centra la imagen en la pantalla */
  background-attachment: fixed; /* Opcional: Mantiene el fondo fijo al hacer scroll */
}

.tyc-pp {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
  font-size: 12px;
}
.tyc-pp a {
  color: #0a0057;
  font-size: 12px;
  font-weight: 600;
}
.tyc-pp p {
  color: black;
  font-size: 12px;
}

.logo-hvr:hover {
  border-radius: 10px;
  border: 1px solid rgb(97, 97, 97);
}

.contenedor-opc-cl {
  display: flex;
  flex-direction: column;
  width: 90%;
  padding: 5px;
  margin: 5px;
  background-color: rgba(183, 253, 196, 0.3);
  border: 1px solid grey;
  border-radius: 10px;
  gap: 1.5rem;
}
.contenedor-opc-cl a {
  color: #060057;
  display: block;
  text-align: center;
  border-radius: 4px;
}
.contenedor-opc-cl a:hover {
  color: #bfb7fd;
  background-color: #0600a9;
}
@media (min-width: 768px) {
  .contenedor-opc-cl {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}

.nav-login {
  width: 100%;
  margin-bottom: 4rem;
}

.dashboard {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.dashboard__header {
  width: 100%;
  padding: 1rem 2rem 5px 2rem;
  background-color: #170e59;
  height: 120px;
}
.dashboard__header--logo {
  height: 40px;
  margin-bottom: 10px;
}
.dashboard__header--logo img {
  height: 40px;
  width: 40px;
}
@media (min-width: 768px) {
  .dashboard__header {
    height: 70px;
  }
}
.dashboard__header-grid {
  display: flex;
  flex-direction: column;
  height: 50px;
}
@media (min-width: 768px) {
  .dashboard__header-grid {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
  }
}
.dashboard__logo {
  color: #ffffff;
  text-align: center;
  margin-bottom: 2rem;
  white-space: nowrap;
  font-size: clamp(2rem, -0.8rem + 10vw, 3rem);
}
@media (min-width: 1024px) {
  .dashboard__logo {
    text-align: left;
    margin: 0;
  }
}
.dashboard__nav {
  display: flex;
  flex-direction: row;
  letter-spacing: 2px;
}
.dashboard__nav input {
  justify-content: right;
}
.dashboard__form {
  display: flex;
  justify-content: center;
}
.dashboard__submit--logout {
  all: unset;
  color: #ffffff;
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 700;
}
.dashboard__submit--logout:hover {
  color: #0a0057;
  cursor: pointer;
}
.dashboard__grid {
  display: flex;
  flex: 1;
  overflow-y: auto;
  width: 100%;
}
.dashboard__sidebar {
  background-color: #221585;
  width: 24rem;
}
.dashboard__menu {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.dashboard__enlace {
  color: #ffffff;
  letter-spacing: 2px; /* Ajusta el valor según lo que desees */
  font-weight: 400;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0.5rem;
  transition: 300ms background-color ease-in-out, 300ms color ease, 300ms border-radius ease;
}
.dashboard__enlace:hover, .dashboard__enlace--actual {
  background-color: #2e1cb1;
  color: #ffffff;
  border-radius: 1rem;
}
.dashboard__icono {
  font-size: 2rem;
  margin-right: 0.5rem;
}
.dashboard__icono-ac {
  font-size: 2rem;
}
.dashboard__menu-texto {
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 0.5rem;
}
.dashboard__menu-texto-ac {
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 300;
  margin-top: 2px;
  color: rgb(244, 210, 162);
}
.dashboard__contenido {
  width: 100%;
}
@media (min-width: 768px) {
  .dashboard__contenido {
    padding: 0 0 1px 0;
  }
}
@media (min-width: 768px) {
  .dashboard__contenedor-boton {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 5rem;
  }
}
.dashboard__boton {
  background-color: #0a0057;
  padding: 1.5rem 4rem;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
  text-transform: uppercase;
  font-size: 1.4rem;
}
.dashboard__boton:hover {
  background-color: #040024;
  cursor: pointer;
}
@media (min-width: 768px) {
  .dashboard__boton {
    width: auto;
  }
}
.dashboard__contenedor, .dashboard__formulario {
  box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1rem;
}
.dashboard__formulario {
  width: min(95%, 80rem);
  margin: 0 auto;
}
.dashboard__contenedor-grafica {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente */
}
.dashboard__grafica {
  margin: 0 auto;
  width: 70%;
}

.contenedor-ac {
  display: flex;
  justify-content: space-between;
  background-color: rgb(49, 13, 22);
  border-radius: 10px;
  box-shadow: 4px 4px 15px #ffffff;
}

.table {
  width: 100%;
  border-collapse: collapse;
}
.table__thead {
  background-color: #170e59;
  color: #ffffff;
}
.table__th {
  padding: 1rem;
  text-align: left;
}
.table__tr:nth-child(even) {
  background-color: #f4f4ff;
}
.table__td, .table__td--acciones {
  padding: 1.5rem 1rem;
}
.table__td--acciones {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  align-items: center;
}
.table__accion {
  all: unset;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 700;
}
.table__accion--editar {
  color: #0a0057;
}
.table__accion--eliminar {
  color: #a90000;
}
.table__accion:hover {
  cursor: pointer;
}

.paginacion {
  display: flex;
  flex-direction: row;
  padding: 0.5rem 0;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .paginacion {
    display: flex;
    justify-content: space-between;
  }
}
.paginacion button {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 1rem 0;
  width: 150px;
  border: none;
  padding: 0.5rem;
  background-color: #060057;
  color: rgb(255, 255, 255);
  border-radius: 5px;
}
.paginacion button:hover {
  cursor: pointer;
  background-color: #3d33fc;
  color: #060057;
}

.ocultar {
  visibility: hidden;
}

.paginacion-compras__nav {
  display: flex;
  gap: 0.3rem;
}
.paginacion-compras__boton {
  padding: 0.3rem 0.6rem;
  border: 1px solid #ccc;
  background: #fff;
  cursor: pointer;
  border-radius: 0.25rem;
}
.paginacion-compras__boton:hover:not(:disabled) {
  background: #e7f1ff;
}
.paginacion-compras__boton:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.paginacion-compras__boton--activo {
  background: #1971c2;
  color: #fff;
  border-color: #1971c2;
}

.listado-ponentes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
}
.listado-ponentes__ponente, .listado-ponentes__ponente--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-ponentes__ponente:hover, .listado-ponentes__ponente--seleccionado:hover {
  cursor: pointer;
}
.listado-ponentes__ponente--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.bloques {
  width: min(95%, 140rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .bloques {
    margin-top: 10rem;
  }
}
.bloques__grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .bloques__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

.bloque {
  padding: 3rem;
  color: #ffffff;
  border-radius: 1rem;
}
.bloque:nth-child(1) {
  background-image: linear-gradient(to left top, #f97316, #fba061);
}
.bloque:nth-child(2) {
  background-image: linear-gradient(to left top, #1a8bbb, #3db2e4);
}
.bloque__heading {
  margin: 1rem 0 2rem 0;
  font-size: 3.6rem;
  color: #ffffff;
}
.bloque__texto {
  margin: 1rem 0;
}
.bloque__texto--cantidad {
  margin-top: 5rem;
  font-weight: 900;
  font-size: 6rem;
  text-align: center;
}

.contenedor-formularios {
  width: 90%;
  height: 55%;
}

.formulario-at-cl {
  padding: 1rem;
}

.input-descripcion {
  width: 80%;
  height: 5em;
  padding: 10px;
  font-size: 16px;
  box-sizing: border-box;
  white-space: pre-wrap;
}

.input-clientes {
  width: 100%;
}

.buttons {
  display: flex;
  justify-content: space-between;
}

.btn-left {
  order: 1;
  padding: 5px;
  background-color: #db8234;
}

.btn-right {
  order: 2;
  padding: 5px;
  background-color: #3498db;
}

.btn-bottom {
  padding: 10px;
  background-color: #023e66;
}

.btn-left,
.btn-right,
.btn-bottom {
  border: none;
  border-radius: 5px;
  cursor: pointer;
  color: white;
}

/* Estilos para el formulario de gastos */
.fecha-taller {
  padding: 8px;
  margin: 5px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.submit-taller {
  padding: 8px 20px;
  margin-top: 10px;
  background-color: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.submit-taller:hover {
  background-color: #45a049;
}

.content-form {
  display: none;
}

.title {
  cursor: pointer;
  background-color: #f0f0f0;
  padding: 10px;
  margin: 0;
}

.active {
  display: block;
}

.checkboxsize {
  height: 25px;
  width: 25px;
  background-color: greenyellow;
}

.submit-pendiente-pago {
  background-color: #8e8b8b;
  color: #023e66;
  padding: 1rem;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.7;
}

.historial-lista {
  list-style: none;
  padding: 0;
}
.historial-lista__img {
  height: 35px;
  width: 30px;
}
.historial-lista__img-mini {
  height: 25px;
  width: 20px;
}

.historial-texto {
  font-size: 13px;
}

.historial-subtitulo {
  color: white;
  text-align: center;
  margin-top: 4rem;
  border-radius: 5px;
  padding: 5px;
  background-color: #9d92ee;
  box-shadow: 10px 10px 18px #5a5a5a;
  font-weight: 400;
  letter-spacing: 2px;
}

.historial-tablas {
  width: 100%;
  border-radius: 10px 0 10px 0;
}
.historial-tablas__tabla {
  box-shadow: 8px 8px 15px #5a5a5a;
}

.historial-datos-vehiculo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 400px;
  margin: 2rem 0;
  border: solid 5px #c1c1ff;
  border-radius: 10px;
  box-shadow: 8px 8px 15px #5a5a5a;
  padding: 2rem;
}
.historial-datos-vehiculo h4 {
  margin: 5px;
  border-bottom: solid 2px #dbdbff;
}
.historial-datos-vehiculo p {
  margin: 5px;
}

.fichatecnica {
  margin: 5px;
  padding: 1rem;
  width: 95%;
  border: solid 5px #c1c1ff;
  border-radius: 10px;
  box-shadow: 8px 8px 15px #5a5a5a;
  word-wrap: break-word;
}

.errorlogin {
  color: lightcoral;
}

/* Ocultamos el enlace */
.soporte-tecnico a {
  display: none;
  color: #f4f4ff;
  font-size: 15px;
}

.soporte-tecnico img {
  height: 30px;
  width: 30px;
}

/* Estilo para el div como enlace */
.soporte-tecnico {
  display: inline-flex;
  justify-content: start;
  align-items: center;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  margin: 4rem 0 0 0;
}

/* Mostramos la imagen y el texto */
.soporte-tecnico img, .soporte-tecnico a {
  display: inline-block;
  vertical-align: middle;
}

.mensajewsp, .mensajewsp__dem {
  display: flex;
  margin: 2rem 1rem 1rem 1rem;
  align-items: center;
  justify-content: center;
  border-radius: 10px 0 10px 0;
  background-color: lightgreen;
  padding: 1rem;
}
.mensajewsp__dem {
  background-color: rgba(249, 240, 117, 0.953);
  padding: 3px 15px;
  border: 1px double rgb(255, 149, 0);
  border-radius: 30px 0 30px 0;
  margin: 5rem 1rem 0.5rem 1rem;
}

.mensajewsp a, .mensajewsp__dem a {
  padding: 1rem;
  color: #000000;
}

.sitioenmantenimiento, .sitioenmantenimiento a {
  text-decoration: none;
  color: #ffffff;
}

.titulo-app {
  color: rgb(127, 198, 222);
  text-align: center;
  font-size: 40px;
  font-weight: bold;
}

.menu-ppal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .menu-ppal {
    flex-direction: row;
  }
}

.img-menu {
  margin: 2rem;
  height: 170px;
  width: 170px;
  border-radius: 25px;
  box-shadow: 17px 17px 21px #5a5a5a;
}

.boton-errortaller {
  display: inline-block;
}

.contenedor-secciones {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1px;
}
.contenedor-secciones__seccion {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: white; /* Color del texto */
  font-size: 24px;
}

.contenedor-seccion-taller {
  width: 90%;
  margin: 1rem; /* Espacio entre secciones */
  border-radius: 12px 0 12px 0;
  background-color: #170e59;
  box-shadow: 12px 12px 15px #5a5a5a;
}
.contenedor-seccion-taller:hover {
  background-color: black;
  color: lightgreen;
}
@media (min-width: 480px) {
  .contenedor-seccion-taller {
    width: 50%;
    margin: 1.5rem; /* Espacio entre secciones */
    border-radius: 20px 0 20px 0;
    background-color: #170e59;
    box-shadow: 17px 17px 20px #5a5a5a;
  }
}

.contenedor-seccion-taller h4 {
  margin: 10px 0 10px 0;
}
@media (min-width: 480px) {
  .contenedor-seccion-taller h4 {
    margin: 15px 0 15px 0;
  }
}

.contenedor-secciones__seccion img {
  width: 20px; /* Ancho del icono */
  height: 20px; /* Altura del icono */
  margin: 0 5px 0 5px;
}
@media (min-width: 480px) {
  .contenedor-secciones__seccion img {
    width: 30px; /* Ancho del icono */
    height: 30px; /* Altura del icono */
    margin: 0 10px 0 10px;
  }
}

.label-busqueda-taller {
  margin: 0 auto;
}

.nuevo-registro-taller {
  margin-top: 5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.nuevo-registro-taller__a {
  padding: 1rem;
  margin: 2rem;
}

.body-nuevo-taller {
  margin: 0 auto;
}

.contenedor-secciones-taller {
  border-top: solid 2px rgba(128, 128, 128, 0.256);
  display: flex;
  padding: 15px 5px 15px 5px;
  text-decoration: none;
  width: 100%;
}
@media (min-width: 768px) {
  .contenedor-secciones-taller {
    width: 50%;
    font-size: 30px;
  }
}
.contenedor-secciones-taller__seccion {
  background-color: #170e59;
  border-radius: 10px 0 10px 0;
  margin: 5px;
  padding: 1rem;
  width: 100%;
  text-align: center;
  color: white;
}
.contenedor-secciones-taller__seccion a {
  color: white;
}
.contenedor-secciones-taller__seccion p {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 15px;
}
@media (min-width: 768px) {
  .contenedor-secciones-taller__seccion p {
    font-size: 20px;
  }
}
.contenedor-secciones-taller__seccion img {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}

.ordentrabajo {
  margin: 2rem;
}

.columna-enlaces {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 20rem;
}
.columna-enlaces__btn {
  margin: 2rem;
  width: 50%;
}

.entrada-campo {
  position: relative;
}

.char-counter {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 12px;
  color: gray;
  border: 1px solid rgb(68, 26, 184);
}

.texto-input {
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
  white-space: pre-wrap;
  height: auto;
  overflow-y: hidden;
}

.listado-clientes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.listado-clientes__cliente, .listado-clientes__cliente--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-clientes__cliente:hover, .listado-clientes__cliente--seleccionado:hover {
  cursor: pointer;
}
.listado-clientes__cliente--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.listado-proveedores {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
  display: flex;
  flex-direction: column;
  /* 👇 ventana fija con scroll */
  max-height: 25rem;
  width: 350px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  border: 1px solid #f4f4ff;
  border-radius: 0.8rem;
  padding: 1rem;
}
.listado-proveedores__proveedor, .listado-proveedores__proveedor--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-proveedores__proveedor:hover, .listado-proveedores__proveedor--seleccionado:hover {
  cursor: pointer;
}
.listado-proveedores__proveedor--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.listado-empleados {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.listado-empleados__empleado, .listado-empleados__empleado--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-empleados__empleado:hover, .listado-empleados__empleado--seleccionado:hover {
  cursor: pointer;
}
.listado-empleados__empleado--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.listado-vehiculos {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
}
.listado-vehiculos__vehiculo, .listado-vehiculos__vehiculo--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-vehiculos__vehiculo:hover, .listado-vehiculos__vehiculo--seleccionado:hover {
  cursor: pointer;
}
.listado-vehiculos__vehiculo--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.contenedorclv {
  text-align: center;
}

.tituloclv {
  border-bottom: 3px solid grey;
}

.contenedor-btnvehiculos {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding: 15px 5px 15px 5px;
  font-size: 24px;
  margin: 5px;
  width: 100%;
}
.contenedor-btnvehiculos__seccion {
  border-radius: 10px 0 10px 0;
  background-color: #170e59;
  color: white;
  cursor: pointer;
}
@media (min-width: 768px) {
  .contenedor-btnvehiculos__seccion {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .contenedor-btnvehiculos {
    font-size: 20px;
  }
}

.cont-btn-histor {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 5px 15px 5px;
  margin: 5px;
  width: 100%;
}
.cont-btn-histor :hover {
  cursor: pointer;
}

.vehiculocontenedor {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
.vehiculocontenedor__mini {
  width: 120px;
  height: 120px;
  padding: 1rem;
  border: 1px solid black;
  border-radius: 10px;
  background-color: rgb(200, 241, 255);
}
.vehiculocontenedor__texto {
  font-size: 15px;
  margin: 0;
  text-align: center;
}
.vehiculocontenedor__divimg {
  margin-top: 1rem;
}
.vehiculocontenedor__img {
  width: 30px;
  height: 30px;
  padding: 1px;
  margin: auto;
}

.flex-container-taller {
  display: flex;
  flex-direction: column;
  margin: 0;
  height: 100%; /* Ocupar toda la altura de la ventana */
  background-color: rgb(241, 251, 255);
}

.contenedor-body-taller {
  order: 1;
  justify-content: space-between;
  flex: 1; /* Que ocupe todo el espacio restante */
  height: 80%;
  padding-bottom: 10rem; /* La altura del nav para evitar que el contenido se superponga */
}
@media (min-width: 768px) {
  .contenedor-body-taller {
    order: 2;
    padding-bottom: 0; /* La altura del nav para evitar que el contenido se superponga */
  }
}

.contenedor-nav-taller {
  order: 2;
  flex: 0 0 auto; /* Que ocupe solo el espacio necesario */
  position: fixed;
  bottom: 0;
  width: 100%; /* Ocupar todo el ancho */
  height: 70px;
  z-index: 999; /* Asegura que esté encima de otros elementos si es necesario */
  margin: 0;
  background-color: #17137d;
}
.contenedor-nav-taller img {
  height: 30px;
  width: 30px;
}
.contenedor-nav-taller a {
  height: 30px;
  padding: 0 2rem;
}
@media (min-width: 768px) {
  .contenedor-nav-taller {
    order: 1;
    position: static;
  }
}

.contenedor-titulo-taller {
  order: 1;
  text-align: center;
  margin-bottom: 2rem;
}
.contenedor-titulo-taller__img {
  width: 100px;
  background-color: #17137d;
  padding: 2rem;
  border-radius: 10px;
  margin: 8rem 0 0 0;
}
@media (min-width: 768px) {
  .contenedor-titulo-taller {
    order: 1;
  }
}

.contenedor-titulo-taller h2 {
  margin: 3rem 0 0 0;
}

.contenedor-contenido-taller {
  order: 2;
  padding: 1rem;
}
@media (min-width: 768px) {
  .contenedor-contenido-taller {
    order: 2;
  }
}

.accordion {
  width: 100%;
}
@media (min-width: 768px) {
  .accordion {
    width: 40%;
  }
}
.accordion__item {
  margin: 3px;
  border: 1px solid rgba(182, 182, 182, 0.492);
  background-color: rgb(227, 241, 252);
}
.accordion__item label {
  margin: 5px;
}
.accordion__title {
  background-color: #170e59;
  color: white;
}
.accordion__submit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  border-radius: 5px;
  padding: 1rem;
}
.accordion__submit--end {
  border-top: solid 5px rgb(0, 0, 48);
}
@media (min-width: 768px) {
  .accordion__submit--end {
    margin-bottom: 2rem;
  }
}
.accordion__submit:hover {
  cursor: pointer;
}

.listado-ordenes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
}
.listado-ordenes__orden, .listado-ordenes__orden--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-ordenes__orden:hover, .listado-ordenes__orden--seleccionado:hover {
  cursor: pointer;
}
.listado-ordenes__orden--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.token-orden {
  color: darkblue;
  background-color: rgb(159, 191, 249);
  padding: 5px;
  border-radius: 5px;
  text-align: center;
  font-family: "AudioWide", sans-serif;
}

.token-ot {
  text-transform: uppercase;
  font-family: "AudioWide", sans-serif;
}

.indicador-mensual {
  margin-bottom: 4rem;
  margin-top: -7rem;
  padding: 0 10px;
}

.checklist {
  color: #b3b3b3;
}
.checklist__ok {
  color: greenyellow;
}
.checklist__not {
  color: red;
}

.web-clientes {
  background-color: rgba(0, 0, 0, 0.389);
  z-index: 0;
  max-width: 100%;
}

.background-clientes {
  position: relative;
  height: 100%;
  background-image: url(../img/portadaclientes.jpeg), linear-gradient(to right, black, rgba(0, 0, 0, 0.8));
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}

/* Aplicar el oscurecimiento solo al fondo */
.background-clientes::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.819); /* Ajusta el nivel de oscurecimiento aquí */
  mix-blend-mode: multiply;
  z-index: -1; /* Asegura que esté detrás del contenido */
}

.web-clientes a {
  color: rgb(92, 194, 61);
}

.web-clientes h1,
.web-clientes h2,
.web-clientes label {
  color: rgb(247, 251, 255);
}

.danydev {
  color: rgb(247, 251, 255);
  color: rgb(222, 235, 247);
  color: rgb(198, 219, 239);
  color: rgb(158, 202, 225);
  color: rgb(107, 174, 214);
  color: rgb(66, 146, 198);
  color: rgb(33, 113, 181);
  color: rgb(8, 81, 156);
}

.web-clientes h3,
.web-clientes h4,
.web-clientes h5,
.web-clientes p {
  color: rgb(198, 219, 239);
}

.web-clientes fieldset {
  color: rgb(107, 174, 214);
}

.web-cliente-enlace {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  padding: 0.5rem;
}

#reloj {
  font-size: 18px;
  font-family: Arial, sans-serif;
  border: 2px solid rgb(128, 204, 240);
  border-radius: 10px;
  padding: 0.5rem 1rem;
  margin: auto;
}

.relojppal p {
  padding: 2px;
  margin: 0;
}

.turno-abierto {
  color: lightgreen;
}

.turno-cerrado {
  color: rgb(255, 120, 219);
}

.btn-fin {
  padding: 5px;
  background-color: #45a049;
  border: none;
  border-radius: 5px;
  color: white;
  margin: 0;
}

.datos-encabezado {
  font-style: unset;
  margin-bottom: 2rem;
}
.datos-encabezado p {
  margin: 0.5rem;
}

body, html {
  height: 100%;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* background-color: #f0f0f0; */
  font-family: Arial, sans-serif;
}

.container {
  text-align: center;
  width: 100%;
}

.keyboard {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 800px;
  margin: 0 auto;
}

.row {
  display: flex;
  justify-content: center;
  margin-bottom: 5px;
}

.key {
  width: 60px;
  height: 60px;
  margin: 5px;
  background-color: #ddd;
  text-align: center;
  line-height: 60px;
  font-size: 28px;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
}

.key:hover {
  background-color: #ccc;
}

.key-wide {
  width: 180px;
  color: darkblue;
  border-radius: 10px;
  font-size: 30px;
  background-color: lightblue;
}

.key-back {
  width: 180px;
  color: darkblue;
  border-radius: 10px;
  font-size: 28px;
}

.space {
  width: 400px;
  margin-bottom: 2rem;
}

.contenedor-input {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  align-content: center;
}
.contenedor-input input[type=text] {
  width: 50%;
  padding: 1.2rem;
  font-size: 28px;
  border: 2px solid #cfcfcf;
  border-radius: 10px;
  box-sizing: border-box;
  margin: 0 1rem;
}

@keyframes desplazamiento {
  from {
    transform: translateX(200%);
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  to {
    transform: translateX(-200%);
    opacity: 1;
  }
}
.animacion-teclado {
  color: bisque;
  margin: 0;
  padding-bottom: 1rem;
  white-space: nowrap; /* Evita que el texto se divida en varias líneas */
  overflow: hidden;
  display: inline-block;
  animation: desplazamiento 20s linear infinite; /* Ajusta la duración si es necesario */
}

.slide-teclado {
  color: whitesmoke;
  font-size: 20px;
  font-weight: bold;
  background-color: rgb(255, 111, 9);
  padding: 1rem 2rem;
  margin: 0 5rem 0 0;
  border-radius: 0 50px 50px 0;
  animation-name: slide;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
.teclado-lubri {
  margin-bottom: 6rem;
}

.contenedor-impresion {
  width: 100%;
  height: 100%;
}
.contenedor-impresion__header {
  margin: 3rem 0;
}
.contenedor-impresion__info {
  margin: 1rem;
}

.contenedordatos {
  padding: 10px;
}
.contenedordatos__titulo {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 24px;
}
.contenedordatos__campo {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  margin-bottom: 15px;
}
.contenedordatos__campo label {
  text-align: center;
}
.contenedordatos__campo input {
  width: 90%;
  padding: 1rem;
}
@media (min-width: 768px) {
  .contenedordatos__campo input {
    width: 50%;
  }
}
.contenedordatos__fecha {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-content: center;
  margin-bottom: 1rem;
  padding: 1rem;
  font-size: 24px;
}
.contenedordatos__fecha label {
  text-align: center;
  align-content: center;
}
.contenedordatos__fecha input {
  padding: 1rem;
  border: 1px solid grey;
  border-radius: 5px;
}
.contenedordatos__impresion {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.contenedordatos__dato {
  margin: 0;
  font-size: 20px;
}
.contenedordatos__btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 4rem 2rem 2rem 2rem;
}

.contenedordatos h3 {
  padding-bottom: 1rem;
  font-size: 22px;
}

.boton-print {
  background-color: lightgoldenrodyellow;
  padding: 0.5rem;
  text-align: center;
  border: 1px solid rgb(227, 138, 138);
  border-radius: 5px;
  font-style: oblique;
  color: black;
}

.lubrivolver {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 2rem;
}
.lubrivolver__btn {
  margin: 0 auto;
  padding: 1rem 2rem;
  text-align: center;
  border: 1px solid rgb(227, 138, 138);
  border-radius: 5px;
  font-style: oblique;
  color: black;
  background-color: rgba(239, 190, 190, 0.868);
}

.accordion-aside {
  width: 100%;
}
@media (min-width: 768px) {
  .accordion-aside {
    width: 40%;
  }
}
.accordion-aside__item {
  margin: 1px;
}
.accordion-aside__item label {
  margin: 1px;
}
.accordion-aside__modulo {
  color: white;
  margin-bottom: 1px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.accordion-aside__submit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
}
.accordion-aside__submit--end {
  border-top: solid 2px rgb(0, 0, 48);
}
@media (min-width: 768px) {
  .accordion-aside__submit--end {
    margin-bottom: 2px;
  }
}

.content-aside a {
  font-size: 14px;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.content-aside a:hover {
  background-color: rgb(206, 205, 205);
  color: black;
}

.listado-articulos {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
  display: flex;
  flex-direction: column;
  /* 👇 ventana fija con scroll */
  max-height: 25rem;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  border: 1px solid #f4f4ff;
  border-radius: 0.8rem;
  padding: 1rem;
}
.listado-articulos__articulo, .listado-articulos__articulo--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-articulos__articulo:hover, .listado-articulos__articulo--seleccionado:hover {
  cursor: pointer;
}
.listado-articulos__articulo--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.stock-modulo {
  width: 100%;
  margin: 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.stock-modulo__buscador {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.stock-modulo__input {
  width: 100%;
}
.stock-modulo__sugerencias {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 5;
  max-height: 30rem;
  overflow-y: auto;
  display: none;
  border-radius: 0.6rem;
}
.stock-modulo__sugerencias--abierto {
  display: block;
}
.stock-modulo__sugerencias > li {
  padding: 1rem 1.5rem;
  cursor: pointer;
  font-size: 1.4rem;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.stock-modulo__articulo-actual {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0;
}
.stock-modulo__articulo-actual:empty {
  display: none;
}
.stock-modulo__seccion {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.stock-modulo__tabla-wrapper {
  width: 100%;
  overflow-x: auto;
}

.stock-buckets {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .stock-buckets {
    grid-template-columns: repeat(3, 1fr);
  }
}
.stock-buckets__item {
  padding: 2.5rem 2rem;
  border-radius: 1rem;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.stock-buckets__label {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15rem;
  margin: 0 0 0.8rem 0;
  text-transform: uppercase;
  opacity: 0.9;
}
.stock-buckets__valor {
  font-family: "AudioWide", sans-serif;
  font-size: 3.6rem;
  font-weight: 900;
  margin: 0;
  line-height: 1;
}

.stock-tabla {
  width: 100%;
  font-size: 1.4rem;
}
.stock-tabla--compacta {
  font-size: 1.2rem;
}
.stock-tabla--compacta th, .stock-tabla--compacta td {
  padding: 0.6rem 0.8rem;
}
.stock-tabla--hover tbody tr {
  transition: background-color 0.2s ease;
}
.stock-tabla__cantidad {
  font-family: "AudioWide", sans-serif;
  font-weight: 700;
  text-align: right;
}
.stock-tabla__estado {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  border-radius: 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  line-height: 1.4;
}
.stock-tabla__accion {
  padding: 0.6rem 1.2rem;
  font-size: 1.2rem;
  width: auto;
  display: inline-block;
  border: none;
  border-radius: 0.4rem;
  cursor: pointer;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.stock-tabla__accion:hover {
  transform: translateY(-1px);
}

.stock-form {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .stock-form {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .stock-form {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .stock-form--2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.stock-form--full {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .stock-form--full {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1024px) {
  .stock-form--full {
    grid-template-columns: 1fr;
  }
}
.stock-form__campo--full {
  grid-column: 1/-1;
}
.stock-form__submit {
  grid-column: 1/-1;
  padding: 1.4rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  border: none;
  border-radius: 0.6rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.2s ease;
}
.stock-form__submit:hover {
  transform: translateY(-1px);
}
.stock-form__submit:active {
  transform: translateY(0);
}
.stock-form__submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

.stock-mensaje {
  padding: 1.6rem 2rem;
  border-radius: 0.6rem;
  font-size: 1.5rem;
  font-weight: 700;
  border-left: 0.5rem solid transparent;
}
.stock-mensaje[hidden] {
  display: none;
}
.stock-mensaje > p {
  margin: 0;
}
.stock-mensaje > pre {
  font-family: monospace;
  font-size: 1.2rem;
  margin-top: 1rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.stock-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid transparent;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.stock-card__titulo {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  padding-bottom: 1rem;
}
.stock-card__cuerpo {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.stock-card__pie {
  margin-top: 1rem;
  font-size: 1.3rem;
}

.stock-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.stock-toolbar__grupo {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.stock-input-grupo {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.stock-input-grupo__label {
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
}
.stock-input-grupo__hint {
  font-size: 1.2rem;
  opacity: 0.75;
  margin: 0;
}
.stock-input-grupo__error {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
}
.stock-input-grupo__error:empty {
  display: none;
}

.stock-pill {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  border-radius: 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  line-height: 1.4;
}

.stock-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 1rem 1.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  border: none;
  border-radius: 0.6rem;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.2s ease, box-shadow 0.15s ease;
}
.stock-boton:hover {
  transform: translateY(-1px);
}
.stock-boton:active {
  transform: translateY(0);
}
.stock-boton:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

.stock-empty {
  text-align: center;
  padding: 2rem;
  font-size: 1.4rem;
  font-style: italic;
  opacity: 0.75;
}

@keyframes stock-skeleton-pulse {
  0% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.55;
  }
}
.stock-skeleton {
  display: block;
  height: 1.6rem;
  border-radius: 0.4rem;
  animation: stock-skeleton-pulse 1.4s ease-in-out infinite;
}

.stock-modulo .formulario {
  width: 100%;
  margin-top: 0;
  align-items: stretch;
  justify-content: flex-start;
  font-size: 1.4rem;
  gap: 0;
}
.stock-modulo .formulario__campo {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  gap: 0.6rem;
  color: inherit;
}
.stock-modulo .formulario__label {
  width: auto;
  text-align: left;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  margin: 0;
  line-height: 1.3;
}
.stock-modulo .formulario__input {
  width: 100%;
  padding: 1rem 1.2rem;
  font-size: 1.4rem;
  font-family: inherit;
  line-height: 1.4;
  border-radius: 0.6rem;
  box-sizing: border-box;
}
.stock-modulo select.formulario__input {
  height: 4.4rem;
  padding-right: 2.8rem;
  cursor: pointer;
}
.stock-modulo textarea.formulario__input {
  min-height: 8rem;
  resize: vertical;
}
.stock-modulo .formulario input,
.stock-modulo .formulario select,
.stock-modulo .formulario textarea {
  width: 100%;
  box-sizing: border-box;
}
.stock-modulo .formulario label {
  width: auto;
}
.stock-modulo .formulario__submit {
  width: 100%;
  margin-top: 0;
  border: none;
}
.stock-modulo .stock-tabla th {
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  padding: 1.2rem 1rem;
}
.stock-modulo .stock-tabla td {
  font-size: 1.4rem;
  vertical-align: middle;
  padding: 1.2rem 1rem;
}
.stock-modulo .historial-subtitulo {
  margin: 0;
  padding: 0;
  font-family: "Oswald", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  text-align: left;
  background: transparent;
  box-shadow: none;
}
.stock-modulo .stock-card > .historial-subtitulo {
  padding-bottom: 1rem;
}

.body-nuevo-taller:has(.stock-modulo) .contenedor-titulo-taller {
  margin-bottom: 1.5rem;
}
.body-nuevo-taller:has(.stock-modulo) .dashboard__heading {
  font-family: "Oswald", sans-serif;
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.2;
}

.stock-modulo {
  color: #1a1b15;
}
.stock-modulo__articulo-actual {
  color: #17137d;
}
.stock-modulo__sugerencias {
  background-color: #ffffff;
  border: 1px solid #bfb7fd;
  box-shadow: 0 1px 2px rgba(23, 14, 89, 0.06), 0 4px 12px rgba(23, 14, 89, 0.08);
}
.stock-modulo__sugerencias > li {
  border-bottom: 1px solid rgba(191, 183, 253, 0.55);
  color: #1a1b15;
}
.stock-modulo__sugerencias > li:hover {
  background-color: #f4f4ff;
  color: #17137d;
}
.stock-modulo__sugerencias > li:last-child {
  border-bottom: none;
}

.stock-buckets__item {
  color: #ffffff;
  box-shadow: 0 1px 2px rgba(23, 14, 89, 0.06), 0 4px 12px rgba(23, 14, 89, 0.08);
}
.stock-buckets__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 24px rgba(23, 19, 125, 0.18), 0 1px 3px rgba(23, 19, 125, 0.1);
}
.stock-buckets__item--fisico {
  background: linear-gradient(135deg, #17137d 0%, #0e03e0 100%);
}
.stock-buckets__item--comprometido {
  background: linear-gradient(135deg, #a90000 0%, maroon 100%);
}
.stock-buckets__item--disponible {
  background: linear-gradient(135deg, #008b87 0%, #00c8c2 100%);
}
.stock-buckets__item--inmovilizado {
  background: linear-gradient(135deg, #c25400 0%, #ff6f00 100%);
}
.stock-buckets__item--ppp {
  background: linear-gradient(135deg, #6b19b7 0%, #8a2be2 100%);
}

.stock-tabla {
  color: #1a1b15;
}
.stock-tabla--rayada tbody tr:nth-child(even) {
  background-color: rgba(244, 244, 255, 0.55);
}
.stock-tabla--hover tbody tr:hover {
  background-color: rgba(191, 183, 253, 0.35);
}
.stock-tabla__cantidad--positiva {
  color: #005855;
}
.stock-tabla__cantidad--negativa {
  color: #a90000;
}
.stock-tabla__estado {
  background-color: #bfb7fd;
  color: #170e59;
}
.stock-tabla__estado--disponible, .stock-tabla__estado--activa {
  background-color: rgba(0, 200, 194, 0.15);
  color: #005855;
}
.stock-tabla__estado--cuarentena {
  background-color: rgba(231, 247, 13, 0.25);
  color: #6b6500;
}
.stock-tabla__estado--bloqueado {
  background-color: rgba(169, 0, 0, 0.12);
  color: #a90000;
}
.stock-tabla__accion {
  background-color: #a90000;
  color: #ffffff;
}
.stock-tabla__accion:hover {
  background-color: maroon;
}

.stock-form__submit {
  background: linear-gradient(135deg, #17137d 0%, #0e03e0 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(23, 19, 125, 0.25);
}
.stock-form__submit:hover {
  box-shadow: 0 6px 18px rgba(23, 19, 125, 0.35);
}

.stock-mensaje {
  background-color: #ffffff;
  color: #1a1b15;
  border-left-color: #bfb7fd;
}
.stock-mensaje--ok {
  background-color: rgba(0, 200, 194, 0.15);
  color: #005855;
  border-left-color: #00c8c2;
}
.stock-mensaje--error {
  background-color: rgba(169, 0, 0, 0.12);
  color: #a90000;
  border-left-color: #a90000;
}

.stock-card {
  background-color: #ffffff;
  border-color: #bfb7fd;
  box-shadow: 0 1px 2px rgba(23, 14, 89, 0.06), 0 4px 12px rgba(23, 14, 89, 0.08);
}
.stock-card__titulo {
  color: #17137d;
  border-bottom: 1px solid #bfb7fd;
}
.stock-card__pie {
  color: rgba(26, 27, 21, 0.68);
}
.stock-card--destacada {
  border-color: #17137d;
  box-shadow: 0 4px 24px rgba(23, 19, 125, 0.18), 0 1px 3px rgba(23, 19, 125, 0.1);
}

.stock-input-grupo__label {
  color: #1a1b15;
}
.stock-input-grupo__hint {
  color: rgba(26, 27, 21, 0.68);
}
.stock-input-grupo__error {
  color: #a90000;
}

.stock-pill {
  background-color: #bfb7fd;
  color: #170e59;
}
.stock-pill--ok {
  background-color: rgba(0, 200, 194, 0.15);
  color: #005855;
}
.stock-pill--alerta {
  background-color: rgba(231, 247, 13, 0.25);
  color: #6b6500;
}
.stock-pill--error {
  background-color: rgba(169, 0, 0, 0.12);
  color: #a90000;
}
.stock-pill--neutro {
  background-color: #bfb7fd;
  color: #170e59;
}

.stock-boton {
  background-color: #bfb7fd;
  color: #170e59;
}
.stock-boton:hover {
  background-color: #a99efc;
}
.stock-boton--primario {
  background: linear-gradient(135deg, #17137d 0%, #0e03e0 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(23, 19, 125, 0.25);
}
.stock-boton--primario:hover {
  box-shadow: 0 6px 18px rgba(23, 19, 125, 0.35);
}
.stock-boton--secundario {
  background-color: #ffffff;
  color: #17137d;
  border: 1px solid #17137d;
}
.stock-boton--secundario:hover {
  background-color: #f4f4ff;
}
.stock-boton--peligro {
  background-color: #a90000;
  color: #ffffff;
}
.stock-boton--peligro:hover {
  background-color: maroon;
}
.stock-boton--ghost {
  background-color: transparent;
  color: #17137d;
}
.stock-boton--ghost:hover {
  background-color: rgba(191, 183, 253, 0.4);
}

.stock-empty {
  color: rgba(26, 27, 21, 0.68);
}

.stock-skeleton {
  background: linear-gradient(90deg, #f4f4ff 0%, #bfb7fd 50%, #f4f4ff 100%);
  background-size: 200% 100%;
}

.stock-modulo .formulario__label {
  color: #17137d;
}
.stock-modulo .formulario__input {
  background-color: #ffffff;
  color: #1a1b15;
  border: 1px solid #bfb7fd;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.stock-modulo .formulario__input::placeholder {
  color: rgba(26, 27, 21, 0.42);
}
.stock-modulo .formulario__input:hover:not(:disabled):not(:focus) {
  border-color: #bcb8f9;
}
.stock-modulo .formulario__input:focus {
  outline: none;
  border-color: #17137d;
  box-shadow: 0 0 0 3px rgba(23, 19, 125, 0.15);
  background-color: #ffffff;
}
.stock-modulo .formulario__input:disabled {
  background-color: rgba(191, 183, 253, 0.35);
  color: rgba(26, 27, 21, 0.68);
  cursor: not-allowed;
}
.stock-modulo select.formulario__input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%2317137d' stroke-width='2' d='M1 1l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.2rem auto;
}
.stock-modulo .formulario__submit {
  background: linear-gradient(135deg, #17137d 0%, #0e03e0 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(23, 19, 125, 0.25);
}
.stock-modulo .formulario__submit:hover {
  background: linear-gradient(135deg, #170e59 0%, #0600a9 100%);
  box-shadow: 0 6px 18px rgba(23, 19, 125, 0.35);
}
.stock-modulo .table__thead {
  background: linear-gradient(135deg, #17137d 0%, #170e59 100%);
  color: #ffffff;
}
.stock-modulo .table__th {
  color: #ffffff;
}
.stock-modulo .table__tr:nth-child(even) {
  background-color: transparent;
}
.stock-modulo .historial-subtitulo {
  color: #17137d;
}
.stock-modulo .stock-card > .historial-subtitulo {
  border-bottom: 1px solid #bfb7fd;
}

.body-nuevo-taller:has(.stock-modulo) .dashboard__heading {
  color: #17137d;
}

/* ============================================================
   Stock Reportes — Nav Tabs (Etapa 3)
   ============================================================ */
.stock-modulo__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #ffffff;
}
.stock-modulo__tab {
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 0.8rem 1.4rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: #17137d;
  cursor: pointer;
  transition: all 0.15s ease;
}
.stock-modulo__tab:hover {
  background: #ffffff;
}
.stock-modulo__tab--activo {
  border-bottom-color: #17137d;
  color: #17137d;
  background: rgba(23, 19, 125, 0.06);
}
.stock-modulo__panel[hidden] {
  display: none;
}
.stock-modulo__grupos-estado {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}
.stock-modulo__grupo-estado {
  border: 1px solid #f4f4ff;
  border-radius: 0.5rem;
  background: #ffffff;
  overflow: hidden;
}
.stock-modulo__grupo-estado[data-grupo-estado=CUARENTENA] {
  border-left: 4px solid #ff6f00;
}
.stock-modulo__grupo-estado[data-grupo-estado=BLOQUEADO] {
  border-left: 4px solid #a90000;
}
.stock-modulo__grupo-estado[data-grupo-estado=DISPONIBLE] {
  border-left: 4px solid #17137d;
}
.stock-modulo__grupo-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  font-weight: 600;
  user-select: none;
  background: rgba(23, 19, 125, 0.04);
}
.stock-modulo__grupo-summary:hover {
  background: rgba(23, 19, 125, 0.08);
}
.stock-modulo__grupo-titulo {
  letter-spacing: 0.05em;
}
.stock-modulo__grupo-contador {
  font-size: 0.9rem;
  color: #1a1b15;
  font-variant-numeric: tabular-nums;
}

/* ============================================================
   Stock Hub — grid de cards para Reportes y Maestros (Etapa 3.bis)
   Reemplaza los tabs internos por rutas separadas; las cards son
   la puerta de entrada a cada sub-pantalla.
   ============================================================ */
.stock-modulo__hub {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}
.stock-modulo__hub-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1.6rem 1.8rem;
  border: 1px solid rgba(23, 19, 125, 0.15);
  border-radius: 0.8rem;
  background: #ffffff;
  color: #17137d;
  text-decoration: none;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.stock-modulo__hub-card:hover {
  border-color: #17137d;
  background: #f4f4ff;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.stock-modulo__hub-titulo {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #17137d;
}
.stock-modulo__hub-desc {
  font-size: 1.3rem;
  line-height: 1.5;
  color: #1a1b15;
}

.titulo2 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.titulo3 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.titulo4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.contenedor-facturacion {
  max-width: 1040px;
  border: 1px solid grey;
  border-radius: 10px;
  padding: 16px;
  margin: 1rem;
}

.facturacion {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 2rem;
  color: #000000;
}
.facturacion__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.facturacion__label {
  font-weight: bold;
  font-size: 1.6rem;
}
.facturacion__input, .facturacion__select, .facturacion__option {
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1.2rem;
  height: 100%;
}
.facturacion__proveedor {
  border: 1px solid #8bb3fc;
  border-radius: 5px;
  padding: 10px;
}
.compras_brdr {
  border: 1px solid #8bb3fc;
  height: 10rem;
}

.compras_ul {
  height: 12rem;
  width: 30rem;
  margin: 0;
}
.compras_ul__selected {
  list-style: none;
  padding: 0;
}

/* =========================
TABLA DE productos
========================= */
.tabla-productos {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}

.tabla-productos thead tr {
  background-color: #f2f2f2;
}

.tabla-productos th,
.tabla-productos td {
  border: 1px solid #d0d0d0;
  padding: 8px 10px;
  font-size: 13px;
  text-align: left;
}

.tabla-productos th {
  font-weight: 600;
}

.tabla-productos a {
  font-weight: 600;
  color: #000000;
  font-size: 1.8rem;
}

.tabla-productos td.accion {
  text-align: center;
}

.total-factura {
  width: 500px;
  margin-left: auto;
  background-color: #b8b8b8;
  padding: 8px;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
}

.btn-eliminar {
  background-color: #ac3838;
  color: white;
  border: none;
  padding: 5px 7px;
  border-radius: 4px;
  cursor: pointer;
}

/* Contenedor principal del selector de remitos */
#contenedor-remitos-pendientes {
  position: relative; /* Clave para que el hijo se pegue a él */
  display: inline-block;
  width: 100%;
}

/* El botón que despliega */
#remitos-toggle {
  width: 100%;
  text-align: left;
  cursor: pointer;
}

/* El listado desplegable */
#remitos-lista {
  display: none; /* Se activa con la clase .visible */
  position: absolute;
  top: 100%; /* Justo debajo del botón */
  left: 0;
  width: 100%;
  z-index: 1000;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  max-height: 250px;
  overflow-y: auto;
}

#remitos-lista.visible {
  display: block;
}

.btn--disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  background-color: #ccc !important;
  color: #666 !important;
  pointer-events: none; /* Mata el click a nivel CSS también */
}

/* Estilos para inputs dentro de la tabla de items */
.tabla-compras {
  width: 100%;
  border-collapse: collapse;
  /* Estilo para items que vienen de REMITO (No editables) */
}
.tabla-compras input.input-editable {
  width: 80px;
  border: 1px solid transparent;
  background: transparent;
  text-align: center;
  padding: 4px;
  transition: all 0.3s ease;
  border-radius: 4px;
}
.tabla-compras input.input-editable:hover, .tabla-compras input.input-editable:focus {
  border-color: #ccc;
  background: #fff;
  outline: none;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
.tabla-compras input.input-readonly {
  width: 80px;
  border: none;
  background: transparent;
  text-align: center;
  color: #666;
  cursor: not-allowed;
  pointer-events: none; /* Evita que el usuario intente clickear */
}
.tabla-compras .fila-remito {
  background-color: #caf6ca; /* Un tono verde muy suave */
}
.tabla-compras .fila-remito .remito-tag {
  font-size: 0.75rem;
  background: #e3f2fd;
  color: #1976d2;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: bold;
}

/* Contenedor del componente de remitos */
#contenedor-remitos-pendientes {
  position: relative;
  margin-bottom: 1rem;
  width: 100%;
}

#remitos-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem;
  background-color: #f8f9fa;
  border: 1px solid #ddd;
  cursor: pointer;
  user-select: none;
}
#remitos-toggle:after {
  content: "▼";
  font-size: 0.8rem;
}

#remitos-lista {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 100;
  background: white;
  border: 1px solid #ccc;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 200px;
  overflow-y: auto;
  padding: 10px;
}
#remitos-lista.visible {
  display: block;
}
#remitos-lista .remito-item {
  padding: 8px;
  border-bottom: 1px solid #eee;
}
#remitos-lista .remito-item:last-child {
  border-bottom: none;
}
#remitos-lista .remito-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 0.9rem;
}
#remitos-lista .remito-item:hover {
  background-color: #f1f1f1;
}

:root {
  --bg: #eef1fa; /* slate-900 */
  --panel: #f3f7ff; /* gray-900 */
  --panel-soft: #dceaf7; /* gray-800 */
  --border: #849ecb; /* gray-700 */
  --text: #000000; /* gray-200 */
  --muted: #404348; /* gray-400 */
  --accent: #b4cffb; /* blue-500 */
  --ok: #10b981; /* emerald-500 */
  --warn: #f59e0b; /* amber-500 */
  --bad: #ef4444; /* red-500 */
}

.seccion-compras {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px;
  margin: 1rem;
}

.saldo-deudor {
  color: var(--bad);
  font-weight: 600;
}

.saldo-acreedor {
  color: var(--ok);
  font-weight: 600;
}

.estado-pendiente {
  color: var(--warn);
}

.estado-ok {
  color: var(--ok);
}

.estado-error {
  color: var(--bad);
}

.compras-integral {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}

.proveedores-resumen table,
.proveedor-cuenta table,
.compras-listado table {
  margin-top: 12px;
}

.imputaciones p {
  margin-top: 8px;
  font-size: 1.2rem;
}

.auditoria ul {
  padding-left: 18px;
  font-size: 1.2rem;
}

/* estilos tabla cargas */
/* =========================
BLOQUE CARGAS TRANSPORTADAS
========================= */
.bloque-cargas {
  margin: 20px 0 20px 0;
  background-color: rgba(227, 226, 226, 0.5803921569);
  border-radius: 5px;
  padding: 5px;
  border: 1px solid #c0c0c0;
}

.bloque-cargas h3 {
  margin-bottom: 12px;
  font-size: 1.6rem;
  font-weight: 600;
}

/* =========================
TABLA DE CARGAS
========================= */
.tabla-cargas-previa,
.tabla-cargas {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}

/* .tabla-cargas-previa{
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
} */
.tabla-cargas-previa thead tr,
.tabla-cargas thead tr {
  background-color: #f2f2f2;
}

.tabla-cargas-previa th,
.tabla-cargas-previa td,
.tabla-cargas th,
.tabla-cargas td {
  border: 1px solid #d0d0d0;
  padding: 8px 10px;
  font-size: 1.2rem;
  text-align: left;
}

.tabla-cargas-previa th,
.tabla-cargas th {
  font-weight: 600;
}

.tabla-cargas-previa td.accion,
.tabla-cargas td.accion {
  text-align: center;
}

/* =========================
EDITOR DE FILAS
========================= */
.editor-carga {
  padding: 12px;
  border: 1px solid #d0d0d0;
  background-color: #fafafa;
  margin: 2rem 0;
}

.editor-row {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.editor-col {
  display: flex;
  flex-direction: column;
  min-width: 120px;
}

.editor-col label {
  font-size: 12px;
  margin-bottom: 4px;
}

.editor-col input {
  padding: 6px 8px;
  font-size: 1.2rem;
  border: 1px solid #c0c0c0;
  border-radius: 3px;
}

.editor-col input:focus {
  outline: none;
  border-color: #666;
}

/* =========================
COLUMNA DE ACCIÓN
========================= */
.editor-col-accion {
  min-width: 90px;
}

.editor-col-accion button {
  padding: 7px 10px;
  font-size: 13px;
  cursor: pointer;
  border: 1px solid #666;
  background-color: #eaeaea;
  border-radius: 3px;
}

.editor-col-accion button:hover {
  background-color: #dcdcdc;
}

.carga-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 16px;
  background: #f7f8fa;
  border-radius: 5px;
  margin-bottom: 20px;
}

.field-full {
  grid-column: span 3;
}

.carga-editor {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  padding: 5px;
  background: #c6c6dd;
  border: 1px solid #c0c0c0;
  border-radius: 5px;
  overflow-x: auto;
}

.editor-field {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}

.editor-field.small {
  min-width: 90px;
}

.editor-field.grow {
  flex: 1;
  min-width: 180px;
}

.editor-actions {
  display: flex;
  align-items: flex-end;
}

.btn-ok,
.btn-cancel {
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
  padding: 0.4rem;
  border-radius: 50%;
  border: none;
  width: 30px;
  height: 30px;
}

.btn-ok {
  background-color: #065f46;
}

.btn-ok:hover {
  background-color: #15cd99;
}

.btn-cancel {
  background-color: #b91c1c;
}

.btn-cancel:hover {
  background-color: #f87171;
}

.nav-resumen {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  border: 1px solid grey;
  margin-top: 2rem;
  padding: 1rem;
  background-color: lightblue;
}
.nav-resumen button {
  font-size: 1.5rem;
}

.activo {
  background-color: #007bff;
  color: white;
  border: none;
  cursor: pointer;
}

.inactivo {
  background-color: #6c757d;
  color: white;
  border: none;
  cursor: pointer;
}

/* Estado activo de los botones de filtro */
.nav-resumen button.activo {
  background-color: #1a252f; /* Un color oscuro profesional */
  color: #ffffff;
  border-color: #1a252f;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Estilo para los botones de remitos */
.btn-ok.activo {
  color: #27ae60;
  border-color: #27ae60;
  background: #ebf9f1;
}

.btn-cancel.activo {
  color: #e74c3c;
  border-color: #e74c3c;
  background: #fdeaea;
}

/* Animación de aparición */
#selector-remitos {
  transition: all 0.3s ease;
}

.remitos-lista {
  display: none;
  position: absolute;
  background: white;
  border: 1px solid #ccc;
  max-height: 200px;
  overflow-y: auto;
}

.remitos-lista.visible {
  display: block;
}

.btn-relacionado {
  padding: 4px 8px;
  border: 1px solid #999;
  border-radius: 4px;
  text-decoration: none;
  background: #f5f5f5;
  font-size: 12px;
}

.btn-relacionado:hover {
  background: #e6e6e6;
}

.input-error {
  background-color: #ffeaea;
  border: 1px solid #e03131 !important;
  transition: all 0.15s ease;
}

.input-error:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(224, 49, 49, 0.15);
}

.contendor-user {
  display: flex;
  flex-direction: column;
}

.opciones-lubri {
  width: 95%;
  margin: 1rem; /* Espacio entre secciones */
  border-radius: 10px;
  background-color: #170e59;
  padding: 1rem 2rem;
  text-align: center;
}
.opciones-lubri:hover {
  background-color: black;
  color: lightgreen;
}
@media (min-width: 480px) {
  .opciones-lubri {
    width: 50%;
    margin: 1.5rem; /* Espacio entre secciones */
    background-color: #170e59;
  }
}

.testcolor {
  color: #000000;
  color: #ffffff;
}

.contenedor-lista-user {
  margin: 2rem auto;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 1rem 1rem 3rem 1rem;
  border: 1px solid grey;
  border-radius: 10px;
  max-width: 95%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .contenedor-lista-user {
    width: 95%;
  }
}

.contenedordel {
  display: flex;
  justify-content: space-between;
}
.contenedordel__elementos {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.listado-usuarios {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.listado-usuarios__usuario, .listado-usuarios__usuario--seleccionado {
  color: #0a0057;
  border: 1px solid #0a0057;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
}
.listado-usuarios__usuario:hover, .listado-usuarios__usuario--seleccionado:hover {
  cursor: pointer;
}
.listado-usuarios__usuario--seleccionado {
  background-color: #0a0057;
  color: #ffffff;
}

.submit-formulario-taller {
  margin: 2rem;
}

.formulariouser {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  width: 100%;
  font-size: 2rem;
  gap: 5px;
}
.formulariouser__campo {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 55%;
  justify-content: space-around;
}
.formulariouser__campo--in {
  color: #000000;
}
.formulariouser__campo--out {
  color: #ffffff;
}
.formulariouser__submit {
  color: white;
  background-color: #060057;
  border: 1px solid #bfb7fd;
  width: 30%;
  margin-top: 1rem;
  margin-bottom: 4rem;
  border-radius: 5px;
  padding: 1rem;
}
.formulariouser .campo-cl {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  justify-content: space-between;
}
.formulariouser label {
  width: 35%;
  text-align: left;
}
.formulariouser select {
  width: 60%;
  border: 1px solid #bfb7fd;
  padding: 1rem;
  border-radius: 5px;
}
.formulariouser input {
  width: 55%;
  padding: 1rem;
  border-radius: 5px;
}
.formulariouser input:disabled {
  background-color: #0600a9;
  color: white;
  cursor: not-allowed;
}
.formulariouser .boton {
  border-radius: 10px;
  padding: 1rem;
  background-color: #0e03e0;
  padding: 1.5rem 4rem;
  color: #060057;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  transition-property: background-color;
  transition-duration: 0.3s;
  text-align: center;
  width: 100%;
  display: inline-block;
}
.formulariouser .boton:hover {
  background-color: #0b02ae;
  cursor: pointer;
}

.campouser {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.campouser label {
  flex: 0 0 45%;
  text-align: left;
}
.campouser input {
  flex: 1 1 50%;
  border: 1px solid rgb(146, 146, 146);
  padding: 1.5rem 1rem;
  border-radius: 1rem;
  width: 100%;
}
.campouser input:disabled {
  background-color: #0600a9;
  color: white;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .campouser {
    flex-direction: column;
    align-items: flex-start;
  }
  .campouser label {
    flex: 0 0 auto;
    margin-bottom: 0.5rem;
  }
  .campouser input {
    flex: 1;
  }
  .contenedor-transparente {
    width: 90%;
  }
}
.input-buscaruser {
  width: 60%;
}

.head-user-cr__in {
  color: #000000;
}
.head-user-cr__out {
  color: #ffffff;
}

.mensaje-create {
  background-color: rgba(129, 211, 132, 0.6352941176);
  padding: 1rem;
  border-radius: 5px;
}

.contador-prueba {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 4rem 2rem;
}
.contador-prueba__titulo {
  font-size: 2rem;
  font-weight: 700;
  color: #0a0057;
}
.contador-prueba__marco {
  position: relative;
  display: inline-flex;
  padding: 0.35rem;
  border-radius: 1.3rem;
  background: transparent;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contador-prueba__marco::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 4px;
  background: conic-gradient(from 0deg, #2d6cdf, #ff3b30, #ff4fb3, #ff8c42, #2d6cdf);
  opacity: 0;
  filter: saturate(1.15);
  transition: opacity 0.3s ease;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.contador-prueba__marco--jugando {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 1.2rem 3rem rgba(45, 108, 223, 0.2);
}
.contador-prueba__marco--jugando::before {
  opacity: 1;
  animation: contador-serpiente 1.8s linear infinite;
}
.contador-prueba__marco--rebotando {
  animation: contador-rebote 0.9s ease-in-out infinite;
}
.contador-prueba__display {
  background-color: #170e59;
  border-radius: 1rem;
  padding: 2rem 4rem;
  margin: 0;
  min-width: 19rem;
  text-align: center;
  transition: background-color 0.35s ease, transform 0.25s ease;
}
.contador-prueba__display--azul {
  background: linear-gradient(135deg, #184aa8, #4d8dff);
}
.contador-prueba__display--rojo {
  background: linear-gradient(135deg, #a61d24, #ff5c5c);
}
.contador-prueba__display--rosa {
  background: linear-gradient(135deg, #c2277a, #ff82c4);
}
.contador-prueba__display--naranja {
  background: linear-gradient(135deg, #c55a11, #ffb347);
}
.contador-prueba__numero {
  font-size: 5rem;
  font-weight: 900;
  color: #00c8c2;
  font-family: "AudioWide", sans-serif;
}
.contador-prueba__boton {
  background-color: #0a0057;
  color: #ffffff;
  border: none;
  border-radius: 0.8rem;
  padding: 1rem 3rem;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.contador-prueba__boton:hover {
  background-color: #17137d;
}
.contador-prueba__boton:active {
  transform: scale(0.97);
}
.contador-prueba__boton--jugar {
  background: linear-gradient(135deg, #ff5c5c, #ff9f43);
}
.contador-prueba__boton--jugar:hover {
  background: linear-gradient(135deg, #e14b4b, #f1882e);
}
.contador-prueba__boton--rebote {
  background: linear-gradient(135deg, #17a34a, #7adf63);
}
.contador-prueba__boton--rebote:hover {
  background: linear-gradient(135deg, #13853d, #5cc84f);
}

@keyframes contador-serpiente {
  0% {
    transform: rotate(0deg);
    filter: hue-rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
    filter: hue-rotate(360deg);
  }
}
@keyframes contador-rebote {
  0%, 100% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-1.8rem);
  }
  65% {
    transform: translateY(0.5rem);
  }
}
.informes {
  padding: 2rem;
}
.informes__filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  background: #fafafa;
  margin-bottom: 1.5rem;
}
.informes__filtro {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.8rem;
}
.informes__btn {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.4rem;
  background: #0a0057;
  color: #ffffff;
  font-weight: 600;
  cursor: pointer;
}
.informes__btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.informes__btn--sec {
  background: #17137d;
}
.informes__kpis {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.informes__kpi {
  border: 1px solid #e2e2e2;
  border-radius: 0.5rem;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.informes__kpi-titulo {
  font-size: 0.8rem;
  color: #666;
  display: block;
}
.informes__kpi-valor {
  font-size: 1.6rem;
  font-weight: 700;
  color: #0a0057;
}
.informes__kpi--link {
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.15s ease;
}
.informes__kpi--link:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
.informes__periodo {
  font-size: 0.8rem;
  color: #666;
  align-self: center;
}
.informes__estado {
  padding: 2rem;
  text-align: center;
  color: #777;
  border: 1px dashed #ccc;
  border-radius: 0.5rem;
}
.informes__estado--error {
  color: #a90000;
  border-color: #a90000;
}
.informes__tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.informes__tabla th, .informes__tabla td {
  border-bottom: 1px solid #eee;
  padding: 0.6rem;
  text-align: left;
}
.informes__tabla th {
  background: #f4f4f4;
}
.informes__grafico-slot {
  min-height: 0;
}
.informes__grafico {
  position: relative;
  height: 300px;
  margin-bottom: 1.5rem;
}
.informes__badge {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #ffffff;
  text-transform: capitalize;
}
.informes__badge--vencida {
  background: #a90000;
}
.informes__badge--por-vencer {
  background: #ff6f00;
}
.informes__badge--vigente {
  background: #02db02;
}
.informes__badge--roja {
  background: #a90000;
}
.informes__badge--amarilla {
  background: #ff6f00;
}
.informes__badge--verde {
  background: #02db02;
}
.informes__num--pos {
  color: #0a7a32;
  font-weight: 700;
}
.informes__num--neg {
  color: #a90000;
  font-weight: 700;
}

.informes-hub {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.informes-hub__header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #0a0057;
}
.informes-hub__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #0a0057;
  margin: 0;
}
.informes-hub__subtitle {
  font-size: 0.9rem;
  color: #777;
  margin: 0.25rem 0 0;
}
.informes-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}
.informes-hub__tarjeta {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #e6e6ef;
  border-left: 4px solid #00c8c2;
  border-radius: 0.6rem;
  background: #fff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.informes-hub__tarjeta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(10, 0, 87, 0.12);
  border-left-color: #0a0057;
  cursor: pointer;
}
.informes-hub__titulo {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0a0057;
}
.informes-hub__desc {
  font-size: 0.82rem;
  color: #777;
  line-height: 1.3;
}

.informes-tablero__seccion {
  margin-bottom: 1.5rem;
}
.informes-tablero__seccion-titulo {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #17137d;
  margin: 0 0 0.6rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid #e6e6ef;
}
.informes-tablero__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

.informes__filtros--filas {
  flex-direction: column;
  align-items: stretch;
}
.informes__filtros--filas .informes__filtros-fila {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}
.informes__filtros--filas .informes__filtros-fila--acciones {
  padding-top: 0.25rem;
}

.consulta-tabla-scroll {
  max-height: 360px;
  overflow-y: auto;
  border: 1px solid #e0e0e0;
  border-radius: 0.4rem;
  margin-bottom: 1.5rem;
}
.consulta-tabla-scroll .informes__tabla {
  margin-bottom: 0;
}

.consulta-switch {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.consulta-switch__btn {
  padding: 0.6rem 1.6rem;
  border: 2px solid #17137d;
  border-radius: 0.4rem;
  background: transparent;
  color: #17137d;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.consulta-switch__btn:hover {
  background: #f1f3fc;
}
.consulta-switch__btn--activo {
  background: #17137d;
  color: #fff;
}

.eventos-registro {
  width: min(95%, 140rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .eventos-registro {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }
}
@media (min-width: 768px) {
  .eventos-registro__listado {
    flex: 0 0 60%;
  }
}
.eventos-registro__grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .eventos-registro__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.eventos-registro__heading--conferencias, .eventos-registro__heading--workshops {
  white-space: nowrap;
  font-size: clamp(2rem, -0.8rem + 10vw, 6rem);
}
.eventos-registro__heading--conferencias {
  color: #0a0057;
}
.eventos-registro__heading--workshops {
  color: #00c8c2;
  margin-top: 5rem;
}
.eventos-registro__fecha {
  margin: 6rem 0 3rem 0;
}

.registro {
  background-color: #f4f4ff;
  padding: 3rem;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .registro {
    flex: 0 0 40%;
    position: -webkit-sticky;
    position: sticky;
    top: 3rem;
  }
}
.registro__heading {
  margin: 0 0 3rem 0;
}
.registro__evento {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}
.registro__evento:nth-child(even) {
  background-color: #e5e5ff;
}
.registro__nombre {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}
.registro__texto {
  text-align: center;
}
.registro__eliminar {
  all: unset;
  color: #a90000;
}
.registro__eliminar:hover {
  cursor: pointer;
}
.registro__regalo {
  margin-top: 3rem;
}
.registro__label {
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.registro__select {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #bcb8f9;
  padding: 1rem;
  border-radius: 0.5rem;
}
/*# sourceMappingURL=app.css.map */
