@import url("../inicio/inicio.css");
body {
  overflow: hidden;
  background: #020403;
}
.boveda-pagina {
  position: absolute;
  top: 50%;
  left: 50%;
  isolation: isolate;
  width: 1672px;
  height: 941px;
  overflow: hidden;
  color: #d7d0c6;
  background: url("../imagenes/9.1.png") center/100% 100% no-repeat;
  transform: translate(-50%, -50%) scale(var(--escala-boveda-dev, 1));
  transform-origin: center;
}
.boveda-pagina::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.4),
    transparent 50%,
    rgba(0, 0, 0, 0.18)
  );
}
.boveda-pagina a {
  text-decoration: none;
}
.boveda-pagina .insignia {
  color: var(--oro-claro);
}
.intro-boveda {
  position: absolute;
  top: 8.2rem;
  left: 4.2rem;
}
.intro-boveda h1 {
  font-size: 4rem;
  line-height: 1;
}
.intro-boveda h2 {
  margin: 0.5rem 0;
  color: var(--cian);
  font-size: 1.25rem;
  font-weight: 400;
}
.intro-boveda p {
  padding: 0.45rem 1rem;
  border-left: 2px solid var(--cian);
  background: #030707b8;
  font:
    0.75rem/1.55 Arial,
    sans-serif;
}
.inventario-boveda {
  position: absolute;
  top: 22.8rem;
  left: 3rem;
  width: 20.5rem;
}
.inventario-boveda article {
  padding: 1rem 1.4rem;
  border: 2px solid #805719;
  background: #030707df;
}
.inventario-boveda article + article {
  margin-top: 0.7rem;
}
.inventario-boveda h2 {
  margin: 0 0 0.6rem;
  color: var(--oro-claro);
  font-size: 0.95rem;
}
.inventario-boveda p {
  margin: 0;
  color: #d4ccc1;
  font:
    0.72rem/1.8 Arial,
    sans-serif;
}
.sistemas > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.sistemas span {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  border: 1px solid #674514;
  color: var(--oro-claro);
  font-size: 1.5rem;
}
.sistemas small {
  margin-top: 0.35rem;
  font-size: 0.55rem;
}
.paneles-tecnicos article {
  position: absolute;
  border: 2px solid #00bcd0;
  color: var(--cian);
  background: #032027d9;
  box-shadow: 0 0 16px #00d7f233;
}
.paneles-tecnicos h3 {
  margin: 0;
  padding: 0.4rem 0.7rem;
  border-bottom: 1px solid #008899;
  font-size: 0.7rem;
}
.arquitectura {
  top: 25.7rem;
  left: 28rem;
  width: 22rem;
  height: 10rem;
  padding-bottom: 0.5rem;
}
.flujo-arquitectura {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.8rem 0.4rem;
}
.flujo-arquitectura span,
.datos-arquitectura span {
  padding: 0.45rem;
  border: 1px solid #00a7ba;
  text-align: center;
  font-size: 0.55rem;
}
.flujo-arquitectura small {
  display: block;
}
.datos-arquitectura {
  display: flex;
  justify-content: space-around;
}
.codigo {
  top: 19.8rem;
  left: 53.6rem;
  width: 19rem;
  height: 12rem;
  transform: rotate(-1deg);
}
.paneles-tecnicos pre {
  margin: 0.5rem;
  padding: 0;
  color: #27e3f0;
  font:
    0.58rem/1.35 Consolas,
    monospace;
}
.consulta {
  top: 36rem;
  left: 30rem;
  width: 21rem;
  height: 12rem;
}
.consulta p {
  margin: 0.4rem;
  padding: 0.4rem;
  border-top: 1px solid #008899;
  font-size: 0.55rem;
  line-height: 1.45;
}
.integraciones {
  top: 33rem;
  left: 52.8rem;
  width: 18rem;
  height: 11.5rem;
}
.integraciones > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-items: center;
  padding: 0.5rem;
}
.integraciones span,
.integraciones b {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.2rem;
}
.integraciones b {
  position: absolute;
  top: 4rem;
  left: 7.2rem;
}
.integraciones small {
  font-size: 0.5rem;
  text-align: center;
}
.archivos-panel {
  position: absolute;
  top: 7.5rem;
  right: 3.8rem;
  width: 24.5rem;
  padding: 1rem 1.4rem;
  border: 2px solid #805719;
  background: #030707e8;
}
.archivos-panel > h2 {
  margin: 0 0 0.5rem;
  color: var(--oro-claro);
  font-size: 1rem;
}
.archivo-item {
  display: grid;
  grid-template-columns: 3.2rem 1fr 5.5rem;
  align-items: center;
  min-height: 3.5rem;
  border-top: 1px solid #674514;
}
.archivo-item > b {
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid var(--cian);
  color: var(--cian);
  font-size: 1.3rem;
}
.archivo-item span {
  display: flex;
  flex-direction: column;
}
.archivo-item strong {
  color: var(--oro-claro);
  font-size: 0.7rem;
}
.archivo-item small {
  margin-top: 0.2rem;
  font-size: 0.58rem;
}
.archivo-item button {
  padding: 0.5rem;
  border: 1px solid #9b6517;
  color: var(--oro-claro);
  background: #050807;
}
.totales {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 0.7rem;
}
.totales span {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  border: 1px solid #765018;
  color: var(--oro-claro);
}
.totales b {
  font-size: 1.25rem;
}
.totales small {
  font-size: 0.48rem;
}
.explorar-archivos,
.volver-campamento {
  display: block;
  width: 100%;
  margin-top: 0.7rem;
  padding: 0.75rem;
  border: 1px solid #805719;
  color: var(--oro-claro);
  background: #030707;
  text-align: center;
}
.volver-campamento {
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease;
  animation: pulso-volver-campamento 2.4s ease-in-out infinite;
}
.volver-campamento:hover,
.volver-campamento:focus-visible {
  border-color: var(--cian);
  color: #d8fbff;
  background: rgba(4, 31, 34, 0.96);
  box-shadow:
    0 0 0.5rem rgba(0, 229, 255, 0.65),
    0 0 1.5rem rgba(0, 229, 255, 0.28),
    inset 0 0 1rem rgba(0, 229, 255, 0.1);
  text-shadow: 0 0 0.45rem rgba(0, 229, 255, 0.65);
  transform: scale(1.025);
  outline: none;
  animation-play-state: paused;
}
@keyframes pulso-volver-campamento {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(0, 229, 255, 0);
  }
  50% {
    box-shadow:
      0 0 0.55rem rgba(0, 229, 255, 0.65),
      0 0 1.25rem rgba(216, 154, 66, 0.25),
      inset 0 0 1rem rgba(0, 229, 255, 0.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .volver-campamento {
    animation: none;
    box-shadow: 0 0 0.5rem rgba(0, 229, 255, 0.4);
  }
}
.estado-archivo {
  position: absolute;
  right: 0;
  bottom: -1.8rem;
  color: var(--cian);
  font-size: 0.65rem;
}
.menu-boveda-dev {
  position: absolute;
  right: 10rem;
  bottom: 1.7rem;
  left: 10rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr) 7rem repeat(3, 1fr);
  height: 5.3rem;
  border: 2px solid #805719;
  background: #030706f2;
}
.menu-boveda-dev > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  border-right: 1px solid #634315;
  color: var(--oro-claro);
}
.menu-boveda-dev a span {
  font-weight: 700;
}
.menu-boveda-dev small {
  display: block;
  margin-top: 0.25rem;
  color: #d4cbbb;
  font-size: 0.6rem;
}
.menu-boveda-dev .sello {
  display: grid;
  place-items: center;
  width: 7rem;
  height: 7rem;
  align-self: center;
  border: 5px double var(--oro);
  border-radius: 50%;
  color: var(--oro-claro);
  background: #050808;
  box-shadow:
    0 0 0 5px #062c32,
    0 0 0 7px var(--cian);
  font:
    700 1.8rem Georgia,
    serif;
}

.archivo-item {
  grid-template-columns: 3.2rem 1fr 7rem;
}
.archivo-item button {
  min-height: 2.25rem;
  font-size: 0.52rem;
  line-height: 1.25;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}
.archivo-item button:hover,
.archivo-item button:focus-visible,
.explorar-archivos:hover,
.explorar-archivos:focus-visible {
  border-color: var(--cian);
  color: #dcfbff;
  box-shadow:
    0 0 10px rgba(0, 215, 242, 0.42),
    inset 0 0 10px rgba(0, 215, 242, 0.08);
  outline: none;
}
.totales span {
  justify-content: center;
  min-height: 2.1rem;
}
.totales small {
  font-size: 0.46rem;
  text-align: center;
}

.vault-open .boveda-pagina {
  filter: blur(4px) brightness(0.55);
}
.tech-vault {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  font-family: Arial, sans-serif;
}
.tech-vault[hidden] {
  display: none;
}
.tech-vault__backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at center,
    rgba(1, 30, 34, 0.38),
    rgba(0, 0, 0, 0.9)
  );
  backdrop-filter: blur(2px);
}
.tech-vault__dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: min(90vw, 1500px);
  height: min(85vh, 900px);
  overflow: hidden;
  border: 2px solid #956219;
  color: #d9d2c8;
  background: linear-gradient(
    145deg,
    rgba(2, 15, 17, 0.98),
    rgba(2, 5, 6, 0.99)
  );
  box-shadow:
    0 0 0 1px #051f22,
    0 0 34px rgba(0, 215, 242, 0.26),
    inset 0 0 45px rgba(155, 101, 23, 0.08);
}
.tech-vault__dialog::before {
  position: absolute;
  z-index: 2;
  inset: 0.45rem;
  border: 1px solid rgba(0, 215, 242, 0.18);
  content: "";
  pointer-events: none;
}
.tech-vault__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.4rem;
  border-bottom: 1px solid #805719;
  background: linear-gradient(90deg, rgba(128, 87, 25, 0.17), transparent);
}
.tech-vault__header p {
  margin: 0;
  color: var(--cian);
  font-size: 0.65rem;
  letter-spacing: 0.18em;
}
.tech-vault__header h2 {
  margin: 0.3rem 0 0;
  color: var(--oro-claro);
  font:
    700 1.25rem Georgia,
    serif;
}
.tech-vault__close,
.tech-vault__footer button {
  position: relative;
  z-index: 3;
  padding: 0.65rem 0.9rem;
  border: 1px solid #956219;
  color: var(--oro-claro);
  background: #030908;
  cursor: pointer;
}
.tech-vault__close:hover,
.tech-vault__close:focus-visible,
.tech-vault__footer button:hover,
.tech-vault__footer button:focus-visible {
  border-color: var(--cian);
  color: #e2fdff;
  box-shadow: 0 0 12px rgba(0, 215, 242, 0.38);
  outline: none;
}
.tech-vault__nav {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-bottom: 1px solid #805719;
  background: #020707;
}
.tech-vault__nav button {
  padding: 0.8rem 0.4rem;
  border: 0;
  border-right: 1px solid #4e3717;
  color: #9e978e;
  background: transparent;
  font-size: 0.62rem;
  cursor: pointer;
}
.tech-vault__nav button b {
  margin-right: 0.35rem;
  color: #9b681e;
}
.tech-vault__nav button[aria-current="page"] {
  color: #dffcff;
  background: linear-gradient(180deg, rgba(0, 215, 242, 0.16), transparent);
  box-shadow: inset 0 -2px var(--cian);
  text-shadow: 0 0 8px rgba(0, 215, 242, 0.55);
}
.tech-vault__nav button:hover,
.tech-vault__nav button:focus-visible {
  color: #fff;
  background: rgba(0, 215, 242, 0.1);
  outline: 1px solid var(--cian);
  outline-offset: -2px;
}
.tech-vault__content {
  min-width: 0;
  overflow: auto;
  padding: 1.15rem 1.4rem;
  scrollbar-color: #805719 #020707;
}
.tech-vault__content:focus {
  outline: none;
}
.tech-vault__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1.4rem;
  border-top: 1px solid #805719;
  color: #7cdbe3;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  background: #020707;
}

.vault-title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.vault-title > span {
  display: grid;
  place-items: center;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid var(--cian);
  color: var(--cian);
  font-size: 1.5rem;
  box-shadow: inset 0 0 14px rgba(0, 215, 242, 0.12);
}
.vault-title p {
  margin: 0;
  color: #70ccd5;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
}
.vault-title h3 {
  margin: 0.3rem 0 0;
  color: var(--oro-claro);
  font:
    700 1.3rem Georgia,
    serif;
}
.architecture-map {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 13rem;
  padding: 2rem 1rem;
  border: 1px solid #315b5d;
  background-image:
    linear-gradient(rgba(0, 215, 242, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 215, 242, 0.05) 1px, transparent 1px);
  background-size: 24px 24px;
}
.architecture-map > button,
.architecture-orbits button,
.schema-map button {
  padding: 0.65rem 0.8rem;
  border: 1px solid #008fa0;
  color: #8fe8ef;
  background: #031416;
  cursor: pointer;
  transition: 0.18s ease;
}
.architecture-map button:hover,
.architecture-map button:focus-visible,
.schema-map button:hover,
.schema-map button:focus-visible {
  color: #fff;
  border-color: var(--oro-claro);
  box-shadow: 0 0 13px rgba(0, 215, 242, 0.45);
  transform: translateY(-2px);
  outline: none;
}
.architecture-map i {
  color: var(--oro-claro);
  font-style: normal;
  transform: rotate(-90deg);
}
.architecture-orbits {
  position: absolute;
  right: 1rem;
  bottom: 0.7rem;
  left: 1rem;
  display: flex;
  justify-content: space-around;
}
.architecture-orbits button {
  padding: 0.35rem 0.55rem;
  font-size: 0.55rem;
}
.vault-facts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem;
  margin-top: 0.8rem;
}
.vault-facts article,
.module-card,
.optimization-grid article {
  padding: 0.8rem;
  border: 1px solid #72501c;
  background: rgba(4, 11, 11, 0.72);
}
.vault-facts h4,
.module-card h4,
.optimization-grid h4 {
  margin: 0 0 0.35rem;
  color: var(--oro-claro);
  font-size: 0.68rem;
}
.vault-facts p,
.module-card dd,
.optimization-grid dd {
  margin: 0;
  color: #c9c1b7;
  font-size: 0.68rem;
  line-height: 1.45;
}

.module-grid,
.optimization-grid,
.connection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
}
.module-card {
  position: relative;
  transition: 0.18s ease;
}
.module-card > small,
.connection-card > small {
  color: var(--cian);
  font-size: 0.56rem;
}
.module-card:focus,
.module-card:hover {
  border-color: var(--cian);
  box-shadow: 0 0 13px rgba(0, 215, 242, 0.25);
  transform: translateY(-2px);
  outline: none;
}
.module-card dl,
.optimization-grid dl,
.connection-card dl {
  margin: 0.7rem 0 0;
}
.module-card dt,
.optimization-grid dt,
.connection-card dt {
  margin-top: 0.55rem;
  color: #69d4de;
  font-size: 0.55rem;
}
.module-card dd,
.optimization-grid dd,
.connection-card dd {
  margin: 0.2rem 0 0;
}
.module-card em {
  display: block;
  margin-top: 0.8rem;
  padding: 0.4rem;
  border-left: 2px solid #956219;
  color: #b88c49;
  font-size: 0.52rem;
  font-style: normal;
}
.connection-card {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid #60451d;
  background: #030a0a;
  cursor: pointer;
  opacity: 0.68;
  transition: 0.2s ease;
}
.connection-card.active,
.connection-card:hover,
.connection-card:focus {
  border-color: var(--cian);
  box-shadow: 0 0 15px rgba(0, 215, 242, 0.25);
  opacity: 1;
  outline: none;
}
.connection-card h4 {
  margin: 0.3rem 0;
  color: var(--oro-claro);
}
.connection-path {
  min-height: 3.2rem;
  margin: 0.65rem 0;
  padding: 0.6rem;
  border: 1px dashed #167985;
  color: #8ce8ef;
  font:
    0.61rem/1.45 Consolas,
    monospace;
}
.connection-card dd {
  color: #c5bdb2;
  font-size: 0.61rem;
  line-height: 1.35;
}

.data-table {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  min-height: 19rem;
}
.schema-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #315b5d;
  background: radial-gradient(circle, rgba(0, 215, 242, 0.12), transparent 55%);
}
.schema-map h4 {
  color: var(--oro-claro);
  font-size: 0.68rem;
}
.schema-map i {
  color: var(--cian);
  font-style: normal;
}
.schema-map > div {
  display: flex;
  gap: 3rem;
  margin-top: 0.5rem;
}
.entity-inspector {
  padding: 1rem;
  border: 1px solid #805719;
  background: #030909;
}
.entity-inspector small {
  color: var(--cian);
}
.entity-inspector h4 {
  color: var(--oro-claro);
}
.entity-inspector code {
  display: block;
  margin: 0.35rem 0;
  padding: 0.45rem;
  border-left: 2px solid #008fa0;
  color: #a8edf2;
  background: #061517;
}
.optimization-grid article {
  border-top: 2px solid var(--cian);
}

@media (max-width: 1000px) {
  .tech-vault__dialog {
    width: 95vw;
    height: 90vh;
  }
  .tech-vault__nav {
    display: flex;
    overflow-x: auto;
  }
  .tech-vault__nav button {
    flex: 0 0 10rem;
  }
  .architecture-map {
    flex-direction: column;
  }
  .architecture-map i {
    transform: none;
  }
  .architecture-orbits {
    position: static;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
  }
  .module-grid,
  .optimization-grid,
  .connection-grid {
    grid-template-columns: 1fr 1fr;
  }
  .connection-grid article:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 650px) {
  .tech-vault {
    padding: 0;
  }
  .tech-vault__dialog {
    width: 100%;
    height: 100dvh;
    border-right: 0;
    border-left: 0;
  }
  .tech-vault__header {
    padding: 0.8rem;
  }
  .tech-vault__header h2 {
    font-size: 0.9rem;
  }
  .tech-vault__close {
    padding: 0.5rem;
    font-size: 0.58rem;
  }
  .tech-vault__content {
    padding: 0.8rem;
  }
  .tech-vault__footer {
    padding: 0.55rem 0.8rem;
  }
  .tech-vault__footer span {
    display: none;
  }
  .vault-facts,
  .module-grid,
  .optimization-grid,
  .connection-grid,
  .data-table {
    grid-template-columns: 1fr;
  }
  .connection-grid article:last-child {
    grid-column: auto;
  }
  .architecture-map {
    padding: 1rem 0.5rem;
  }
  .schema-map > div {
    gap: 0.5rem;
  }
  .vault-title h3 {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .archivo-item button,
  .module-card,
  .connection-card,
  .architecture-map button {
    transition: none;
  }
  .vault-open .boveda-pagina {
    filter: brightness(0.55);
  }
}

/* Expediente 01 · Arquitectura */
.architecture-view {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.architecture-title {
  margin-bottom: 0.65rem;
}
.architecture-title > span {
  position: relative;
  overflow: hidden;
}
.architecture-title > span::after {
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(0, 215, 242, 0.3);
  content: "";
}
.architecture-evidence {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.42rem;
}
.architecture-evidence em {
  padding: 0.18rem 0.38rem;
  border: 1px solid rgba(149, 98, 25, 0.65);
  color: #a9916c;
  background: rgba(128, 87, 25, 0.06);
  font:
    normal 0.47rem/1 Consolas,
    monospace;
  letter-spacing: 0.08em;
}
.architecture-view .architecture-map {
  position: relative;
  display: block;
  flex: 1;
  min-height: 27rem;
  overflow: hidden;
  padding: 0;
  border-color: #315b5d;
  background-color: #020909;
  background-image:
    linear-gradient(rgba(0, 215, 242, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 215, 242, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(0, 215, 242, 0.1), transparent 35%);
  background-size:
    24px 24px,
    24px 24px,
    100% 100%;
  isolation: isolate;
  animation: blueprint-grid 0.18s ease-out both;
}
.architecture-view .architecture-map::before,
.architecture-view .architecture-map::after {
  position: absolute;
  z-index: 4;
  width: 2.2rem;
  height: 2.2rem;
  border-color: #99702f;
  content: "";
  pointer-events: none;
}
.architecture-view .architecture-map::before {
  top: 0.65rem;
  left: 0.65rem;
  border-top: 2px solid;
  border-left: 2px solid;
}
.architecture-view .architecture-map::after {
  right: 0.65rem;
  bottom: 0.65rem;
  border-right: 2px solid;
  border-bottom: 2px solid;
}
.blueprint-coordinate {
  position: absolute;
  z-index: 3;
  color: rgba(112, 204, 213, 0.5);
  font:
    0.46rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.coordinate-a {
  top: 0.65rem;
  left: 3.4rem;
}
.coordinate-b {
  right: 1rem;
  top: 0.65rem;
}
.architecture-lines {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.architecture-lines path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  animation: blueprint-line 0.3s 0.3s ease-out forwards;
  transition:
    opacity 0.22s ease,
    stroke-width 0.22s ease,
    filter 0.22s ease;
}
.connection-main path {
  stroke: #b58a45;
  stroke-width: 1.6;
}
.connection-secondary path {
  stroke: #188b96;
  stroke-width: 1;
  stroke-dasharray: 5 6;
  animation-delay: 0.43s;
}
.architecture-map.has-active-node .architecture-lines path {
  opacity: 0.1 !important;
}
.architecture-map.has-active-node .architecture-lines path.related {
  opacity: 1 !important;
  stroke: #00d7f2;
  stroke-width: 2;
  filter: drop-shadow(0 0 4px rgba(0, 215, 242, 0.9));
}
.architecture-core {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: flex;
  width: 13.2rem;
  height: 6rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid #a77a34;
  color: #e0bc76;
  background: radial-gradient(
    circle,
    rgba(0, 215, 242, 0.16),
    rgba(4, 12, 12, 0.97) 68%
  );
  box-shadow:
    0 0 0 5px rgba(128, 87, 25, 0.08),
    0 0 28px rgba(0, 215, 242, 0.16);
  clip-path: polygon(
    8% 0,
    92% 0,
    100% 18%,
    100% 82%,
    92% 100%,
    8% 100%,
    0 82%,
    0 18%
  );
  transform: translate(-50%, -50%);
  animation: blueprint-core 0.2s 0.12s both;
}
.architecture-core::before {
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(0, 215, 242, 0.28);
  content: "";
  clip-path: inherit;
}
.architecture-core small {
  color: #64c8d1;
  font:
    0.45rem Consolas,
    monospace;
  letter-spacing: 0.16em;
}
.architecture-core strong {
  margin: 0.35rem 0 0.2rem;
  font:
    700 0.9rem Georgia,
    serif;
  letter-spacing: 0.08em;
}
.architecture-core span {
  color: #9b9182;
  font:
    0.5rem Consolas,
    monospace;
  letter-spacing: 0.13em;
}
.architecture-node {
  position: absolute !important;
  z-index: 2;
  display: flex !important;
  min-width: 8.8rem;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.55rem 0.72rem !important;
  border: 1px solid #177d87 !important;
  color: #99e7ed !important;
  background: linear-gradient(135deg, #041719, #020a0b) !important;
  font:
    600 0.6rem/1.15 Consolas,
    monospace !important;
  letter-spacing: 0.06em;
  box-shadow: inset 0 0 14px rgba(0, 215, 242, 0.05);
  transform: none !important;
  transition:
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease !important;
  animation: blueprint-node 0.18s both;
}
.architecture-node::before,
.architecture-node::after {
  position: absolute;
  width: 6px;
  height: 6px;
  border-color: #aa7a32;
  content: "";
}
.architecture-node::before {
  top: -1px;
  left: -1px;
  border-top: 1px solid;
  border-left: 1px solid;
}
.architecture-node::after {
  right: -1px;
  bottom: -1px;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
.architecture-node small {
  color: #99733b;
  font-size: 0.43rem;
}
.architecture-node:hover,
.architecture-node:focus-visible,
.architecture-node.active {
  z-index: 3 !important;
  border-color: #00d7f2 !important;
  color: #efffff !important;
  box-shadow:
    0 0 14px rgba(0, 215, 242, 0.48),
    inset 0 0 14px rgba(0, 215, 242, 0.12) !important;
  outline: none;
}
.architecture-map.has-active-node
  .architecture-node:not(.active):not(.related) {
  opacity: 0.34;
}
.architecture-node.related {
  border-color: #268f98 !important;
}
.architecture-node.active {
  background: #062328 !important;
}
.node-interface {
  top: 7%;
  left: 50%;
  transform: translateX(-50%) !important;
  animation-delay: 0.2s;
}
.node-laravel {
  top: 22%;
  left: 50%;
  transform: translateX(-50%) !important;
  animation-delay: 0.24s;
}
.node-logic {
  top: 67%;
  left: 50%;
  transform: translateX(-50%) !important;
  animation-delay: 0.28s;
}
.node-database {
  bottom: 4%;
  left: 25%;
  animation-delay: 0.32s;
}
.node-services {
  right: 22%;
  bottom: 4%;
  animation-delay: 0.36s;
}
.architecture-modules {
  display: contents;
}
.architecture-node--module {
  min-width: 7rem !important;
  padding: 0.4rem 0.55rem !important;
  border-style: dashed !important;
  font-size: 0.52rem !important;
  animation-delay: 0.55s;
}
.node-crm {
  top: 31%;
  left: 5%;
}
.node-users {
  top: 54%;
  left: 13%;
}
.node-properties {
  bottom: 8%;
  left: 4%;
}
.node-maps {
  top: 30%;
  right: 7%;
}
.node-stats {
  top: 58%;
  right: 5%;
}
.architecture-inspector {
  position: absolute;
  z-index: 3;
  top: 2.3rem;
  right: 1rem;
  width: 13.5rem;
  min-height: 6.8rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #76521d;
  border-top: 2px solid #a97a31;
  background: rgba(3, 10, 10, 0.94);
  box-shadow: inset 0 0 18px rgba(128, 87, 25, 0.06);
}
.architecture-inspector > small {
  color: #c09145;
  font:
    0.49rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.architecture-inspector h4 {
  margin: 0.5rem 0 0.35rem;
  color: #8be4eb;
  font:
    0.66rem Consolas,
    monospace;
}
.architecture-inspector p {
  margin: 0;
  color: #a9a197;
  font-size: 0.57rem;
  line-height: 1.4;
}
.architecture-inspector dl {
  margin: 0.4rem 0 0;
}
.architecture-inspector dl div {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 0.35rem;
  margin-top: 0.28rem;
}
.architecture-inspector dt {
  color: #5ebdc6;
  font:
    0.45rem Consolas,
    monospace;
}
.architecture-inspector dd {
  margin: 0;
  color: #c6beb3;
  font-size: 0.52rem;
  line-height: 1.3;
}
.architecture-inspector dl div:last-child {
  display: block;
  margin-top: 0.45rem;
}
.architecture-inspector dl div:last-child dt {
  display: block;
  margin-bottom: 0.2rem;
}
.architecture-facts {
  gap: 0.5rem;
  margin-top: 0.55rem;
}
.architecture-facts article {
  position: relative;
  min-height: 3.65rem;
  padding: 0.6rem 0.75rem 0.55rem 2.5rem;
  border-color: #624619;
  background: linear-gradient(
    90deg,
    rgba(128, 87, 25, 0.09),
    rgba(4, 11, 11, 0.72)
  );
}
.architecture-facts h4 {
  margin-bottom: 0.25rem;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
}
.architecture-facts h4 span {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  color: #51c9d3;
  font-size: 1rem;
}
.architecture-facts p {
  font-size: 0.6rem;
  line-height: 1.35;
}
@keyframes blueprint-grid {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes blueprint-core {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes blueprint-node {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes blueprint-line {
  to {
    opacity: 0.75;
    stroke-dashoffset: 0;
  }
}

.architecture-view .architecture-map {
  min-height: clamp(19rem, 38vh, 27rem);
}
.architecture-view .node-maps {
  right: 25%;
}
@media (max-width: 1000px) and (min-width: 651px) {
  .architecture-view .architecture-map {
    min-height: 28rem;
  }
  .architecture-inspector {
    top: auto;
    right: 1rem;
    bottom: 1rem;
  }
  .node-database {
    left: 21%;
  }
  .node-services {
    right: 20%;
  }
  .node-crm {
    left: 3%;
  }
  .node-users {
    left: 5%;
  }
  .node-properties {
    left: 3%;
  }
  .architecture-view .node-maps {
    right: 22%;
  }
  .node-stats {
    right: 3%;
  }
}
@media (max-width: 650px) {
  .architecture-title {
    align-items: flex-start;
  }
  .architecture-evidence {
    gap: 0.25rem;
  }
  .architecture-view .architecture-map {
    display: flex;
    min-height: 0;
    overflow: visible;
    align-items: stretch;
    flex: none;
    flex-direction: column;
    padding: 2.3rem 0.7rem 0.7rem;
    gap: 0.4rem;
  }
  .architecture-lines {
    display: none;
  }
  .blueprint-coordinate.coordinate-b {
    display: none;
  }
  .architecture-core {
    position: relative;
    top: auto;
    left: auto;
    order: 0;
    width: auto;
    height: 4.8rem;
    flex: none;
    transform: none;
    animation: blueprint-node 0.18s 0.12s both;
  }
  .architecture-node {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    min-width: 0 !important;
    min-height: 2.2rem;
    flex: none;
    transform: none !important;
  }
  .node-interface {
    order: 1;
  }
  .node-laravel {
    order: 2;
  }
  .node-logic {
    order: 3;
  }
  .node-database {
    order: 4;
  }
  .node-services {
    order: 5;
  }
  .architecture-node--layer:not(.node-services)::after {
    right: 50%;
    bottom: -0.45rem;
    width: 0;
    height: 0.45rem;
    border: 0;
    border-left: 1px solid #00a9bb;
  }
  .architecture-modules {
    display: grid;
    order: 6;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    margin-top: 0.2rem;
  }
  .architecture-node--module {
    width: auto;
    min-height: 2rem;
  }
  .architecture-modules .node-stats {
    grid-column: 1/-1;
  }
  .architecture-inspector {
    position: relative;
    inset: auto;
    order: 7;
    width: auto;
    min-height: 5.5rem;
    margin-top: 0.15rem;
  }
  .architecture-facts {
    grid-template-columns: 1fr;
    margin-top: 0.5rem;
  }
  .architecture-facts article {
    min-height: 0;
  }
  .architecture-facts p {
    font-size: 0.62rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .architecture-view .architecture-map,
  .architecture-core,
  .architecture-node,
  .architecture-lines path {
    animation: none;
  }
  .architecture-lines path {
    opacity: 0.75;
    stroke-dashoffset: 0;
  }
}

/* Expediente 02 · Módulos */
.modules-workbench {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}
.modules-title {
  margin-bottom: 0.65rem;
}
.modules-title > span {
  position: relative;
}
.modules-title > span::after {
  position: absolute;
  inset: 6px;
  border: 1px dashed rgba(0, 215, 242, 0.28);
  content: "";
}
.modules-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  margin-top: 0.4rem;
}
.modules-tags em {
  padding: 0.16rem 0.36rem;
  border: 1px solid rgba(149, 98, 25, 0.68);
  color: #ae9369;
  background: rgba(128, 87, 25, 0.06);
  font:
    normal 0.47rem Consolas,
    monospace;
  letter-spacing: 0.08em;
  opacity: 0;
  animation: module-label-in 0.18s 0.7s forwards;
}
.workbench-stage {
  position: relative;
  flex: 1;
  min-height: clamp(26rem, 50vh, 31rem);
  overflow: hidden;
  border: 1px solid #315b5d;
  background-color: #020909;
  background-image:
    linear-gradient(rgba(0, 215, 242, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 215, 242, 0.05) 1px, transparent 1px),
    radial-gradient(circle at 43% 50%, rgba(0, 215, 242, 0.12), transparent 27%);
  background-size:
    25px 25px,
    25px 25px,
    100% 100%;
  isolation: isolate;
}
.workbench-stage::before,
.workbench-stage::after {
  position: absolute;
  z-index: 4;
  width: 2rem;
  height: 2rem;
  border-color: #9d7130;
  content: "";
  pointer-events: none;
}
.workbench-stage::before {
  top: 0.7rem;
  left: 0.7rem;
  border-top: 2px solid;
  border-left: 2px solid;
}
.workbench-stage::after {
  right: 0.7rem;
  bottom: 0.7rem;
  border-right: 2px solid;
  border-bottom: 2px solid;
}
.workbench-mark {
  position: absolute;
  z-index: 3;
  color: rgba(112, 204, 213, 0.5);
  font:
    0.45rem Consolas,
    monospace;
  letter-spacing: 0.13em;
}
.mark-a {
  top: 0.7rem;
  left: 3.5rem;
}
.mark-b {
  right: 1rem;
  top: 0.7rem;
}
.module-circuits {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.module-circuits path {
  fill: none;
  stroke: #9a7436;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 7 7;
  stroke-dashoffset: 800;
  opacity: 0;
  animation: module-circuit-in 0.25s 0.2s forwards;
  transition:
    opacity 0.2s,
    stroke 0.2s,
    stroke-width 0.2s,
    filter 0.2s;
}
.module-circuits circle {
  fill: #00b9ce;
  opacity: 0.55;
  filter: drop-shadow(0 0 3px #00d7f2);
  animation: module-energy 2.8s ease-in-out infinite;
}
.workbench-stage.has-active-module .module-circuits path {
  opacity: 0.1;
}
.module-circuits path.active {
  stroke: #00d7f2;
  stroke-width: 2.2;
  opacity: 1 !important;
  filter: drop-shadow(0 0 5px rgba(0, 215, 242, 0.9));
}
.wordpress-core {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 43%;
  display: flex;
  width: 9.4rem;
  height: 9.4rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid #a67935;
  border-radius: 50%;
  color: #e5c27f;
  background: radial-gradient(
    circle,
    rgba(0, 215, 242, 0.18),
    #051012 58%,
    #020707 70%
  );
  box-shadow:
    0 0 0 6px rgba(128, 87, 25, 0.08),
    0 0 25px rgba(0, 215, 242, 0.18);
  transform: translate(-50%, -50%);
  animation: wordpress-core-in 0.22s 0.05s both;
}
.wordpress-core::before,
.wordpress-core::after {
  position: absolute;
  border-radius: 50%;
  content: "";
}
.wordpress-core::before {
  inset: 9px;
  border: 1px dashed rgba(0, 215, 242, 0.42);
}
.wordpress-core::after {
  inset: 22px;
  border: 1px solid rgba(166, 121, 53, 0.65);
}
.wordpress-core > b {
  position: relative;
  z-index: 1;
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid #40bdc8;
  border-radius: 50%;
  font:
    700 1.8rem Georgia,
    serif;
}
.wordpress-core strong {
  z-index: 1;
  margin-top: 0.48rem;
  font:
    0.68rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.wordpress-core small {
  z-index: 1;
  margin-top: 0.18rem;
  color: #68c9d2;
  font:
    0.43rem Consolas,
    monospace;
  letter-spacing: 0.11em;
}
.core-ring {
  position: absolute;
  border-radius: 50%;
  border-color: rgba(0, 215, 242, 0.45);
}
.ring-a {
  inset: -7px;
  border-top: 1px solid;
  border-bottom: 1px solid;
  animation: core-rotate 14s linear infinite;
}
.ring-b {
  inset: 16px;
  border-right: 1px solid;
  border-left: 1px solid;
  animation: core-rotate 9s linear infinite reverse;
}
.workbench-modules {
  display: contents;
}
.workbench-module {
  position: absolute;
  z-index: 2;
  width: 27%;
  min-height: 7.4rem;
  padding: 0.72rem 1rem 0.65rem 3.2rem;
  border: 1px solid #79551f;
  color: #d8d0c4;
  background: linear-gradient(
    135deg,
    rgba(12, 18, 17, 0.98),
    rgba(2, 10, 11, 0.98)
  );
  clip-path: polygon(
    0 0,
    94% 0,
    100% 14%,
    100% 86%,
    94% 100%,
    0 100%,
    0 64%,
    2% 56%,
    0 48%
  );
  cursor: pointer;
  text-align: left;
  opacity: 0;
  animation: module-piece-in 0.2s 0.43s forwards;
  transition:
    border-color 0.18s,
    box-shadow 0.18s,
    opacity 0.18s,
    filter 0.18s,
    transform 0.18s;
}
.workbench-module::before {
  position: absolute;
  inset: 6px;
  border: 1px dashed rgba(0, 215, 242, 0.17);
  content: "";
  clip-path: inherit;
  pointer-events: none;
}
.module-piece-01 {
  top: 10%;
  left: 4%;
}
.module-piece-02 {
  top: 10%;
  right: 4%;
  animation-delay: 0.52s;
}
.module-piece-03 {
  bottom: 9%;
  left: 4%;
  animation-delay: 0.61s;
}
.module-piece__number {
  position: absolute;
  top: 0.7rem;
  left: 0.75rem;
  color: #b9893e;
  font:
    700 1.05rem Georgia,
    serif;
}
.module-piece__icon {
  position: absolute;
  top: 2.35rem;
  left: 0.75rem;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 1px solid #137d88;
  color: #79dce4;
  font-size: 0.8rem;
}
.module-piece__name {
  display: block;
  min-height: 1.55rem;
  color: #e1bd77;
  font:
    700 0.68rem/1.2 Georgia,
    serif;
  letter-spacing: 0.05em;
}
.module-piece__state {
  display: block;
  margin-top: 0.18rem;
  color: #639fa4;
  font:
    0.42rem Consolas,
    monospace;
  letter-spacing: 0.11em;
}
.module-flow {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  margin-top: 0.62rem;
  color: #62cbd4;
}
.module-flow i {
  padding: 0.22rem 0.3rem;
  border: 1px solid rgba(0, 143, 160, 0.55);
  font:
    normal 0.42rem Consolas,
    monospace;
  white-space: nowrap;
}
.module-flow b {
  font-size: 0.55rem;
  transform: rotate(-90deg);
}
.workbench-module:hover,
.workbench-module:focus-visible,
.workbench-module.active {
  border-color: #00d7f2;
  color: #fff;
  box-shadow:
    0 0 15px rgba(0, 215, 242, 0.38),
    inset 0 0 18px rgba(0, 215, 242, 0.08);
  outline: none;
  filter: none;
}
.workbench-stage.has-active-module .workbench-module:not(.active) {
  opacity: 0.38 !important;
  filter: saturate(0.55);
}
.workbench-module.active {
  background: linear-gradient(
    135deg,
    rgba(5, 33, 36, 0.98),
    rgba(2, 10, 11, 0.98)
  );
  animation: module-activate 0.28s ease-out;
}
.workbench-module.active .module-flow i {
  animation: flow-step 0.2s both;
}
.workbench-module.active .module-flow i:nth-of-type(2) {
  animation-delay: 0.08s;
}
.workbench-module.active .module-flow i:nth-of-type(3) {
  animation-delay: 0.16s;
}
.module-inspector {
  position: absolute;
  z-index: 2;
  right: 4%;
  bottom: 5%;
  display: flex;
  width: 34%;
  min-height: 13.2rem;
  padding: 0.8rem;
  flex-direction: column;
  border: 1px solid #76521d;
  border-top: 2px solid #a87a34;
  background: rgba(3, 10, 10, 0.96);
  box-shadow: inset 0 0 22px rgba(128, 87, 25, 0.07);
}
.module-inspector header {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(128, 87, 25, 0.45);
}
.module-inspector header > small {
  color: #d0a35c;
  font:
    0.5rem Consolas,
    monospace;
  letter-spacing: 0.13em;
}
.module-inspector header > span {
  color: #6dbac1;
  font:
    0.4rem Consolas,
    monospace;
  text-align: right;
}
.module-inspector header b,
.module-inspector footer b {
  display: block;
  margin-top: 0.12rem;
  color: #b7aaa0;
  font-weight: 400;
}
.module-inspector__empty {
  display: grid;
  min-height: 7rem;
  place-content: center;
  text-align: center;
}
.module-inspector__empty h4 {
  margin: 0 0 0.4rem;
  color: #79dbe3;
  font:
    0.67rem Consolas,
    monospace;
}
.module-inspector__empty p {
  max-width: 18rem;
  margin: 0;
  color: #a9a197;
  font-size: 0.56rem;
  line-height: 1.45;
}
.module-inspector__content > p {
  margin: 0.55rem 0 0.18rem;
  color: #55c9d3;
  font:
    0.45rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.module-inspector__content h4 {
  margin: 0 0 0.45rem;
  color: #e0b96f;
  font:
    700 0.72rem Georgia,
    serif;
}
.module-inspector dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.7rem;
  margin: 0;
}
.module-inspector dl div:nth-child(3),
.module-inspector dl div:nth-child(4) {
  grid-column: 1/-1;
}
.module-inspector dt {
  color: #54bec7;
  font:
    0.43rem Consolas,
    monospace;
  letter-spacing: 0.08em;
}
.module-inspector dd {
  margin: 0.15rem 0 0;
  color: #c6beb4;
  font-size: 0.53rem;
  line-height: 1.3;
}
.module-inspector [data-module-resources] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.module-inspector [data-module-resources] span {
  padding: 0.15rem 0.28rem;
  border: 1px solid rgba(0, 143, 160, 0.55);
  color: #8bdde4;
  font:
    0.43rem Consolas,
    monospace;
}
.module-inspector footer {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(0, 143, 160, 0.3);
  color: #6dbac1;
  font:
    0.4rem Consolas,
    monospace;
}
.module-inspector footer b {
  color: #c7a76e;
}
.module-inspector [hidden] {
  display: none;
}
@keyframes wordpress-core-in {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.82);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes module-circuit-in {
  to {
    opacity: 0.55;
    stroke-dashoffset: 0;
  }
}
@keyframes module-piece-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes module-label-in {
  to {
    opacity: 1;
  }
}
@keyframes module-energy {
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 7px #00d7f2);
  }
}
@keyframes core-rotate {
  to {
    transform: rotate(360deg);
  }
}
@keyframes module-activate {
  50% {
    transform: translateX(3px);
  }
}
@keyframes flow-step {
  from {
    opacity: 0.25;
  }
  to {
    opacity: 1;
    border-color: #00d7f2;
    box-shadow: 0 0 5px rgba(0, 215, 242, 0.28);
  }
}
@media (max-width: 1000px) and (min-width: 651px) {
  .workbench-stage {
    min-height: 43rem;
  }
  .wordpress-core {
    top: 22%;
    left: 50%;
  }
  .module-piece-01 {
    top: 38%;
    left: 4%;
  }
  .module-piece-02 {
    top: 38%;
    right: 4%;
  }
  .module-piece-03 {
    top: 60%;
    bottom: auto;
    left: 4%;
  }
  .module-inspector {
    right: 4%;
    bottom: 4%;
    width: 44%;
  }
  .module-circuits {
    display: none;
  }
}
@media (max-width: 650px) {
  .modules-title {
    align-items: flex-start;
  }
  .modules-tags {
    gap: 0.22rem;
  }
  .workbench-stage {
    display: flex;
    min-height: 0;
    overflow: visible;
    flex: none;
    flex-direction: column;
    padding: 2.4rem 0.65rem 0.65rem;
    gap: 0.45rem;
  }
  .wordpress-core {
    position: relative;
    inset: auto;
    order: 0;
    width: 7.8rem;
    height: 7.8rem;
    align-self: center;
    margin: 0.3rem 0 0.6rem;
    transform: none;
    animation: module-label-in 0.2s 0.05s both;
  }
  .wordpress-core > b {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.4rem;
  }
  .module-circuits {
    display: none;
  }
  .workbench-modules {
    display: flex;
    order: 1;
    flex-direction: column;
    gap: 0.4rem;
  }
  .workbench-module {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 7rem;
    opacity: 1;
  }
  .module-flow {
    flex-wrap: wrap;
  }
  .module-inspector {
    position: relative;
    inset: auto;
    order: 2;
    width: auto;
    min-height: 12rem;
  }
  .module-inspector dl {
    grid-template-columns: 1fr;
  }
  .module-inspector dl div:nth-child(3),
  .module-inspector dl div:nth-child(4) {
    grid-column: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .modules-tags em,
  .module-circuits path,
  .module-circuits circle,
  .wordpress-core,
  .core-ring,
  .workbench-module,
  .workbench-module.active,
  .workbench-module.active .module-flow i {
    animation: none;
  }
  .modules-tags em,
  .module-circuits path,
  .workbench-module {
    opacity: 1;
  }
}

/* Expediente 03 · Integraciones */
.tech-vault__content--integrations {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}
.integration-view {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}
.integration-title {
  margin-bottom: 0.4rem;
}
.integration-title > span {
  position: relative;
  overflow: hidden;
}
.integration-title > span::after {
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(0, 215, 242, 0.3);
  content: "";
}
.integration-console {
  display: grid;
  min-height: 0;
  flex: 1;
  grid-template-columns: minmax(10.5rem, 20%) minmax(26rem, 56%) minmax(
      13rem,
      24%
    );
  border: 1px solid #315b5d;
  background: #020707;
  isolation: isolate;
}
.integration-cases,
.integration-inspector {
  min-width: 0;
  background: linear-gradient(
    180deg,
    rgba(128, 87, 25, 0.08),
    rgba(2, 8, 8, 0.96)
  );
}
.integration-cases {
  display: flex;
  padding: 0.75rem;
  flex-direction: column;
  border-right: 1px solid #614719;
}
.integration-cases > header,
.integration-stage > header,
.integration-inspector > header {
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(128, 87, 25, 0.48);
}
.integration-cases header small,
.integration-stage header span,
.integration-inspector header small {
  display: block;
  color: #4fbac4;
  font:
    0.43rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.integration-cases h4,
.integration-stage h4,
.integration-inspector h4 {
  margin: 0.25rem 0 0;
  color: #d8ae65;
  font:
    700 0.65rem Georgia,
    serif;
  letter-spacing: 0.04em;
}
.integration-case {
  position: relative;
  display: flex;
  min-width: 0;
  margin-top: 0.55rem;
  padding: 0.65rem 0.62rem;
  flex-direction: column;
  border: 1px solid #694a1d;
  color: #c7beb1;
  background: rgba(4, 11, 11, 0.78);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.18s,
    box-shadow 0.18s,
    background 0.18s,
    transform 0.18s;
}
.integration-case::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #a47731;
  border-right: 1px solid #a47731;
  content: "";
}
.integration-case > small {
  color: #a9864c;
  font:
    0.43rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.integration-case > strong {
  overflow: hidden;
  margin: 0.28rem 0 0.38rem;
  color: #d8b46e;
  font:
    700 0.62rem/1.2 Georgia,
    serif;
  text-overflow: ellipsis;
}
.integration-case > em {
  align-self: flex-start;
  padding: 0.2rem 0.28rem;
  border: 1px solid rgba(153, 112, 47, 0.58);
  font:
    normal 0.38rem/1.2 Consolas,
    monospace;
  letter-spacing: 0.05em;
}
.integration-case:hover,
.integration-case:focus-visible,
.integration-case.active {
  border-color: #00c6dc;
  color: #effeff;
  background: linear-gradient(
    110deg,
    rgba(0, 215, 242, 0.13),
    rgba(4, 11, 11, 0.86)
  );
  box-shadow:
    0 0 13px rgba(0, 215, 242, 0.24),
    inset 2px 0 #00d7f2;
  outline: none;
}
.integration-case:hover {
  transform: translateX(2px);
}
.integration-case.active > strong {
  color: #bff9fe;
  text-shadow: 0 0 8px rgba(0, 215, 242, 0.5);
}
.evidence-state--conceptual {
  color: #b69a70;
}
.evidence-state--pending {
  color: #87bec3;
  border-style: dashed !important;
}
.integration-legend {
  display: grid;
  margin-top: auto;
  padding-top: 0.7rem;
  grid-template-columns: 1fr;
  gap: 0.28rem;
  border-top: 1px solid rgba(0, 143, 160, 0.28);
}
.integration-legend h5 {
  margin: 0 0 0.18rem;
  color: #aa8142;
  font:
    0.42rem Consolas,
    monospace;
  letter-spacing: 0.13em;
}
.integration-legend span {
  color: #8dafaf;
  font:
    0.4rem Consolas,
    monospace;
  letter-spacing: 0.05em;
}
.integration-legend span::first-letter {
  color: #55cbd5;
}
.integration-stage {
  display: flex;
  min-width: 0;
  padding: 0.75rem;
  flex-direction: column;
  overflow: hidden;
  background-image:
    linear-gradient(rgba(0, 215, 242, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 215, 242, 0.045) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(0, 215, 242, 0.095), transparent 40%);
  background-size:
    22px 22px,
    22px 22px,
    100% 100%;
}
.integration-stage > header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
}
.integration-stage header span {
  grid-column: 1/-1;
}
.integration-stage header b {
  color: #79d9e1;
  font:
    0.44rem Consolas,
    monospace;
  letter-spacing: 0.09em;
}
.integration-network-stack {
  position: relative;
  min-height: 25rem;
  flex: 1;
  opacity: 1;
  transform: none;
  transition:
    opacity 0.17s,
    transform 0.17s;
}
.integration-console.is-switching .integration-network-stack {
  opacity: 0;
  transform: scale(0.985);
}
.integration-network {
  position: absolute;
  inset: 0;
  overflow: hidden;
  animation: integration-network-in 0.28s ease-out both;
}
.integration-network[hidden] {
  display: none;
}
.integration-network::before,
.integration-network::after {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  border-color: #9a7131;
  content: "";
  pointer-events: none;
}
.integration-network::before {
  top: 0.55rem;
  left: 0.15rem;
  border-top: 1px solid;
  border-left: 1px solid;
}
.integration-network::after {
  right: 0.15rem;
  bottom: 0.2rem;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
.network-coordinate {
  position: absolute;
  z-index: 3;
  color: rgba(93, 192, 201, 0.48);
  font:
    0.38rem Consolas,
    monospace;
  letter-spacing: 0.1em;
}
.network-coordinate--a {
  top: 0.55rem;
  left: 2rem;
}
.network-coordinate--b {
  right: 0.2rem;
  bottom: 0.25rem;
  max-width: 45%;
  text-align: right;
}
.integration-links {
  position: absolute;
  z-index: 0;
  inset: 1.5rem 0 0.5rem;
  width: 100%;
  height: calc(100% - 2rem);
  overflow: visible;
  pointer-events: none;
}
.integration-links g {
  opacity: 0.72;
  transition:
    opacity 0.18s,
    filter 0.18s;
}
.integration-links path {
  fill: none;
  stroke: #9a7438;
  stroke-width: 0.42;
  stroke-dasharray: 2.2 1.2;
  vector-effect: non-scaling-stroke;
  animation: integration-line-in 0.34s ease-out both;
}
.integration-links circle {
  fill: #00d7f2;
  filter: drop-shadow(0 0 2px #00d7f2);
}
.integration-network.is-locked .integration-links path {
  stroke: #43868b;
  stroke-dasharray: 1.3 2.2;
  opacity: 0.55;
}
.integration-network.has-active-node .integration-links g {
  opacity: 0.1;
}
.integration-network.has-active-node .integration-links g.related {
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(0, 215, 242, 0.7));
}
.integration-network.has-active-node .integration-links g.related path {
  stroke: #00d7f2;
  stroke-width: 0.65;
  stroke-dasharray: none;
}
.integration-nodes {
  position: absolute;
  z-index: 2;
  inset: 1.5rem 0.4rem 0.5rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: repeat(5, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
}
.integration-node {
  position: relative;
  display: flex;
  width: min(8.2rem, 94%);
  min-height: 3.2rem;
  padding: 0.42rem 0.48rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid #8a6529;
  color: #d8b66f;
  background: linear-gradient(
    145deg,
    rgba(10, 18, 17, 0.98),
    rgba(2, 9, 10, 0.98)
  );
  cursor: pointer;
  text-align: center;
  opacity: 1;
  animation: integration-node-in 0.24s 0.08s ease-out both;
  transition:
    opacity 0.18s,
    filter 0.18s,
    border-color 0.18s,
    box-shadow 0.18s,
    transform 0.18s;
}
.integration-node > small {
  position: absolute;
  top: 0.22rem;
  left: 0.3rem;
  color: #56aeb6;
  font:
    0.34rem Consolas,
    monospace;
  letter-spacing: 0.07em;
}
.integration-node > strong {
  font:
    700 0.54rem/1.15 Consolas,
    monospace;
  letter-spacing: 0.045em;
}
.integration-node > em {
  margin-top: 0.28rem;
  color: #8e887f;
  font:
    normal 0.31rem/1.15 Consolas,
    monospace;
  letter-spacing: 0.025em;
}
.integration-node--platform {
  border-radius: 1px;
}
.integration-node--service {
  clip-path: polygon(
    8% 0,
    92% 0,
    100% 22%,
    100% 78%,
    92% 100%,
    8% 100%,
    0 78%,
    0 22%
  );
  border-color: #4e8b8f;
}
.integration-node--data {
  border-radius: 45% / 16%;
  box-shadow:
    inset 0 5px rgba(0, 215, 242, 0.035),
    inset 0 -5px rgba(0, 215, 242, 0.035);
}
.integration-node--internal {
  width: 6.6rem;
  min-height: 5rem;
  border-radius: 50%;
  border-color: #3b9ea8;
}
.integration-node--locked {
  border-style: dashed;
  color: #8bafaf;
  filter: saturate(0.45);
}
.integration-node:hover,
.integration-node:focus-visible,
.integration-node.active {
  z-index: 4;
  border-color: #00d7f2;
  color: #e7fdff;
  box-shadow:
    0 0 14px rgba(0, 215, 242, 0.42),
    inset 0 0 16px rgba(0, 215, 242, 0.09);
  outline: none;
  filter: none;
  transform: translateY(-2px);
}
.integration-network.has-active-node
  .integration-node:not(.active):not(.related) {
  opacity: 0.34;
  filter: saturate(0.35);
}
.integration-node.related {
  border-color: #278b94;
}
.integration-node.active > em {
  color: #88e6ed;
}
.integration-network--real [data-integration-node="wordpress"],
.integration-network--emirates [data-integration-node="wordpress"] {
  grid-column: 3;
  grid-row: 1;
}
.integration-network--real [data-integration-node="integration"] {
  grid-column: 3;
  grid-row: 2;
}
.integration-network--real [data-integration-node="crm"] {
  grid-column: 2;
  grid-row: 4;
}
.integration-network--real [data-integration-node="inmovilla"] {
  grid-column: 4;
  grid-row: 4;
}
.integration-network--real [data-integration-node="properties"] {
  grid-column: 3;
  grid-row: 5;
}
.integration-network--emirates [data-integration-node="locked"] {
  grid-column: 3;
  grid-row: 3;
}
.integration-network--emirates [data-integration-node="external"] {
  grid-column: 2;
  grid-row: 5;
}
.integration-network--emirates [data-integration-node="data"] {
  grid-column: 4;
  grid-row: 5;
}
.integration-network--golden [data-integration-node="laravel"] {
  grid-column: 3;
  grid-row: 2;
}
.integration-network--golden [data-integration-node="stripe"] {
  grid-column: 2;
  grid-row: 4;
}
.integration-network--golden [data-integration-node="google"] {
  grid-column: 4;
  grid-row: 4;
}
.locked-evidence {
  position: absolute;
  z-index: 3;
  top: 2.15rem;
  left: 0.2rem;
  width: 9rem;
  padding: 0.45rem;
  border-left: 2px solid #547d80;
  color: #82bfc4;
  background: rgba(2, 10, 11, 0.9);
  font-family: Consolas, monospace;
}
.locked-evidence span,
.locked-evidence strong,
.locked-evidence small {
  display: block;
}
.locked-evidence span {
  font-size: 0.34rem;
  letter-spacing: 0.1em;
}
.locked-evidence strong {
  margin: 0.18rem 0;
  font-size: 0.46rem;
}
.locked-evidence small {
  color: #817b73;
  font-size: 0.34rem;
  line-height: 1.25;
}
.integration-inspector {
  display: flex;
  padding: 0.75rem;
  flex-direction: column;
  border-left: 1px solid #614719;
  overflow: auto;
}
.integration-inspector__empty {
  display: grid;
  min-height: 7rem;
  padding: 0.8rem 0;
  place-content: center;
  text-align: center;
}
.integration-inspector__empty strong {
  color: #76d7df;
  font:
    0.58rem Consolas,
    monospace;
}
.integration-inspector__empty p {
  margin: 0.45rem auto 0;
  color: #9e978e;
  font-size: 0.52rem;
  line-height: 1.4;
}
.integration-inspector__detail {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(0, 143, 160, 0.28);
}
.integration-inspector__detail h5 {
  margin: 0 0 0.55rem;
  color: #c6f8fb;
  font:
    700 0.68rem Consolas,
    monospace;
  text-shadow: 0 0 7px rgba(0, 215, 242, 0.4);
}
.integration-inspector__detail dl,
.active-case-facts dl {
  margin: 0;
}
.integration-inspector__detail dl div {
  margin-top: 0.42rem;
}
.integration-inspector__detail dt,
.active-case-facts dt {
  color: #56c1ca;
  font:
    0.4rem Consolas,
    monospace;
  letter-spacing: 0.08em;
}
.integration-inspector__detail dd,
.active-case-facts dd {
  margin: 0.13rem 0 0;
  color: #bdb5aa;
  font-size: 0.49rem;
  line-height: 1.35;
}
.integration-inspector [hidden],
.active-case-facts[hidden] {
  display: none;
}
.integration-case-file {
  margin-top: auto;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(128, 87, 25, 0.48);
}
.integration-case-file > h5 {
  margin: 0 0 0.45rem;
  color: #c7964b;
  font:
    0.44rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.active-case-facts > p {
  margin: 0 0 0.48rem;
  color: #d5b16b;
  font:
    700 0.52rem Georgia,
    serif;
}
.active-case-facts dl div {
  margin-top: 0.38rem;
}
.active-case-facts dl div:first-child {
  margin-top: 0;
}
@keyframes integration-network-in {
  from {
    opacity: 0;
    transform: scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes integration-line-in {
  from {
    stroke-dashoffset: 30;
    opacity: 0;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}
@keyframes integration-node-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 1050px) and (min-width: 701px) {
  .integration-console {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 36%);
  }
  .integration-cases {
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    border-right: 0;
    border-bottom: 1px solid #614719;
  }
  .integration-cases > header {
    grid-column: 1/-1;
  }
  .integration-case {
    margin-top: 0;
  }
  .integration-legend {
    display: flex;
    grid-column: 1/-1;
    align-items: center;
    gap: 0.8rem;
    margin-top: 0;
  }
  .integration-legend h5 {
    margin: 0 auto 0 0;
  }
  .integration-stage {
    min-height: 32rem;
  }
  .integration-inspector {
    min-height: 32rem;
  }
  .integration-node {
    width: min(7.4rem, 94%);
  }
}
@media (max-width: 700px) {
  .integration-title {
    align-items: flex-start;
  }
  .integration-console {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }
  .integration-cases {
    display: grid;
    padding: 0.6rem;
    grid-template-columns: 1fr;
    gap: 0.38rem;
    border-right: 0;
    border-bottom: 1px solid #614719;
  }
  .integration-cases > header {
    grid-column: 1/-1;
  }
  .integration-case {
    margin-top: 0;
  }
  .integration-legend {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column: 1/-1;
  }
  .integration-legend h5 {
    grid-column: 1/-1;
  }
  .integration-stage {
    min-height: 0;
    padding: 0.6rem;
    overflow: visible;
  }
  .integration-stage > header {
    margin-bottom: 0.55rem;
  }
  .integration-network-stack {
    min-height: 0;
  }
  .integration-network {
    position: relative;
    inset: auto;
    overflow: visible;
  }
  .integration-links,
  .network-coordinate {
    display: none;
  }
  .integration-nodes {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 0.55rem;
  }
  .integration-node {
    width: 100%;
    min-height: 3.2rem;
    border-radius: 0;
    clip-path: none;
  }
  .integration-node--internal {
    width: 100%;
    min-height: 3.7rem;
  }
  .integration-nodes [data-integration-node] {
    grid-row: auto;
  }
  .integration-network--real [data-integration-node="wordpress"],
  .integration-network--real [data-integration-node="integration"],
  .integration-network--real [data-integration-node="properties"],
  .integration-network--emirates [data-integration-node="wordpress"],
  .integration-network--emirates [data-integration-node="locked"],
  .integration-network--golden [data-integration-node="laravel"] {
    grid-column: 1/-1;
  }
  .integration-network--real [data-integration-node="crm"],
  .integration-network--emirates [data-integration-node="external"],
  .integration-network--golden [data-integration-node="stripe"] {
    grid-column: 1;
  }
  .integration-network--real [data-integration-node="inmovilla"],
  .integration-network--emirates [data-integration-node="data"],
  .integration-network--golden [data-integration-node="google"] {
    grid-column: 2;
  }
  .locked-evidence {
    position: relative;
    inset: auto;
    width: auto;
    margin-top: 0.65rem;
  }
  .integration-inspector {
    min-height: 0;
    padding: 0.65rem;
    border-top: 1px solid #614719;
    border-left: 0;
    overflow: visible;
  }
  .integration-inspector__empty {
    min-height: 5rem;
  }
  .integration-case-file {
    margin-top: 0.4rem;
  }
  .integration-inspector__detail dd,
  .active-case-facts dd {
    font-size: 0.56rem;
  }
  .active-case-facts dl div {
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(128, 87, 25, 0.24);
  }
}
@media (prefers-reduced-motion: reduce) {
  .integration-case,
  .integration-network-stack,
  .integration-network,
  .integration-links path,
  .integration-node {
    animation: none;
    transition: none;
  }
  .integration-links circle {
    display: none;
  }
}
@media (min-width: 1051px) {
  .tech-vault__content--integrations {
    overflow: hidden;
  }
  .tech-vault__content--integrations .integration-network-stack {
    min-height: 0;
  }
}

/* Expediente 04 · Datos */
.database-view {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}
.database-title {
  margin-bottom: 0.55rem;
}
.database-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
}
.database-status em {
  padding: 0.18rem 0.38rem;
  border: 1px solid rgba(149, 98, 25, 0.68);
  color: #b69a70;
  background: rgba(128, 87, 25, 0.06);
  font:
    normal 0.46rem Consolas,
    monospace;
  letter-spacing: 0.07em;
}
.database-view .data-table {
  display: grid;
  min-height: clamp(25rem, 52vh, 34rem);
  flex: 1;
  grid-template-columns: minmax(0, 2.15fr) minmax(14rem, 1fr);
  gap: 0.7rem;
}
.database-view .schema-map {
  position: relative;
  display: flex;
  min-width: 0;
  padding: 2.2rem 1rem 1rem;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #315b5d;
  background-color: #020909;
  background-image:
    linear-gradient(rgba(0, 215, 242, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 215, 242, 0.045) 1px, transparent 1px),
    radial-gradient(
      circle at 50% 48%,
      transparent 0 18%,
      rgba(0, 215, 242, 0.055) 18.2% 18.6%,
      transparent 18.8% 29%,
      rgba(155, 101, 23, 0.05) 29.2% 29.6%,
      transparent 29.8%
    );
  background-size:
    24px 24px,
    24px 24px,
    100% 100%;
}
.database-view .schema-map::before,
.database-view .schema-map::after {
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  border-color: #96702e;
  content: "";
  pointer-events: none;
}
.database-view .schema-map::before {
  top: 0.6rem;
  left: 0.6rem;
  border-top: 1px solid;
  border-left: 1px solid;
}
.database-view .schema-map::after {
  right: 0.6rem;
  bottom: 0.6rem;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
.database-view .schema-map > h4 {
  position: relative;
  z-index: 2;
  margin: 0.1rem 0 0.5rem;
  color: #c99c53;
  font:
    0.58rem Consolas,
    monospace;
  letter-spacing: 0.11em;
  text-align: center;
}
.schema-mark {
  position: absolute;
  color: rgba(91, 192, 201, 0.48);
  font:
    0.38rem Consolas,
    monospace;
  letter-spacing: 0.11em;
}
.schema-mark--a {
  top: 0.65rem;
  left: 3rem;
}
.schema-mark--b {
  right: 1rem;
  bottom: 0.7rem;
}
.schema-flow {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 0;
  flex: 1;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.database-view .schema-entity {
  position: relative;
  display: grid;
  width: min(11rem, 88%);
  min-height: 3.65rem;
  padding: 0.52rem 0.7rem 0.5rem 2.7rem;
  grid-template-columns: 1fr;
  align-content: center;
  border: 1px solid #8d6728;
  color: #d9b66e;
  background: linear-gradient(
    135deg,
    rgba(11, 19, 18, 0.98),
    rgba(2, 10, 11, 0.98)
  );
  clip-path: polygon(0 0, 94% 0, 100% 18%, 100% 100%, 6% 100%, 0 82%);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.18s,
    box-shadow 0.18s,
    color 0.18s,
    transform 0.18s;
}
.database-view .schema-entity > small {
  color: #5dbbc4;
  font:
    0.37rem Consolas,
    monospace;
  letter-spacing: 0.1em;
}
.database-view .schema-entity > span {
  position: absolute;
  top: 50%;
  left: 0.68rem;
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid #267d85;
  color: #81dbe2;
  font-size: 0.7rem;
  transform: translateY(-50%);
}
.database-view .schema-entity > strong {
  margin-top: 0.22rem;
  font:
    700 0.62rem Consolas,
    monospace;
  letter-spacing: 0.07em;
}
.database-view .schema-entity:hover,
.database-view .schema-entity:focus-visible,
.database-view .schema-entity.active {
  border-color: #00d7f2;
  color: #e8fdff;
  box-shadow:
    0 0 13px rgba(0, 215, 242, 0.34),
    inset 0 0 14px rgba(0, 215, 242, 0.07);
  outline: none;
  transform: translateY(-2px);
}
.database-view .schema-entity.active {
  background: linear-gradient(
    135deg,
    rgba(3, 31, 34, 0.98),
    rgba(2, 10, 11, 0.98)
  );
}
.schema-line {
  display: block;
  flex: none;
  font-style: normal;
  pointer-events: none;
}
.schema-line--vertical {
  height: 1.65rem;
  border-left: 2px solid rgba(0, 196, 216, 0.72);
  box-shadow: 0 0 4px rgba(0, 215, 242, 0.3);
}
.schema-line--branch {
  position: relative;
  width: 68%;
  height: 1.65rem;
  margin-top: 1.65rem;
  border-top: 2px solid rgba(0, 196, 216, 0.68);
}
.schema-line--branch::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  height: 1.65rem;
  border-left: 2px solid rgba(0, 196, 216, 0.68);
  content: "";
}
.schema-children {
  display: grid !important;
  width: 92%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}
.schema-children .schema-entity {
  width: 100%;
  min-height: 3.8rem;
  padding-left: 2.4rem;
}
.schema-children .schema-entity::before {
  position: absolute;
  right: 50%;
  bottom: 100%;
  height: 1.65rem;
  border-left: 2px solid rgba(0, 196, 216, 0.68);
  content: "";
}
.database-view .entity-inspector {
  display: flex;
  min-width: 0;
  padding: 0.85rem;
  flex-direction: column;
  border: 1px solid #76521d;
  border-top: 2px solid #a47731;
  background: linear-gradient(
    180deg,
    rgba(128, 87, 25, 0.08),
    rgba(3, 9, 9, 0.98)
  );
  box-shadow: inset 0 0 20px rgba(128, 87, 25, 0.06);
}
.database-view .entity-inspector header {
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(128, 87, 25, 0.48);
}
.database-view .entity-inspector header small {
  color: #57c4ce;
  font:
    0.42rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.database-view .entity-inspector header h4 {
  margin: 0.25rem 0 0;
  color: #d5ab63;
  font:
    700 0.66rem Georgia,
    serif;
}
.entity-inspector__empty {
  display: grid;
  min-height: 9rem;
  padding: 1rem;
  place-content: center;
  text-align: center;
}
.entity-inspector__empty strong {
  color: #78dce4;
  font:
    0.6rem Consolas,
    monospace;
}
.entity-inspector__empty p {
  max-width: 14rem;
  margin: 0.45rem auto 0;
  color: #9f978d;
  font-size: 0.54rem;
  line-height: 1.4;
}
.entity-inspector__detail {
  padding-top: 0.75rem;
}
.entity-inspector__detail > h5 {
  margin: 0 0 0.7rem;
  color: #c9f8fb;
  font:
    700 0.78rem Consolas,
    monospace;
  letter-spacing: 0.08em;
  text-shadow: 0 0 7px rgba(0, 215, 242, 0.35);
}
.entity-inspector__detail dl {
  margin: 0;
}
.entity-inspector__detail dl > div {
  margin-top: 0.58rem;
}
.entity-inspector__detail dt {
  color: #55c2cb;
  font:
    0.42rem Consolas,
    monospace;
  letter-spacing: 0.09em;
}
.entity-inspector__detail dd {
  margin: 0.18rem 0 0;
  color: #bfb7ad;
  font-size: 0.54rem;
  line-height: 1.4;
}
.database-view .entity-inspector code {
  display: inline-block;
  margin: 0.12rem 0.18rem 0.12rem 0;
  padding: 0.22rem 0.35rem;
  border: 1px solid rgba(0, 143, 160, 0.48);
  color: #91e7ed;
  background: #061517;
  font:
    0.44rem Consolas,
    monospace;
}
.database-view .entity-inspector [hidden] {
  display: none;
}
.database-evidence {
  display: grid;
  margin-top: 0.55rem;
  padding: 0.48rem 0.7rem;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid rgba(128, 87, 25, 0.52);
  border-left: 2px solid #956219;
  color: #a88a5c;
  background: linear-gradient(
    90deg,
    rgba(128, 87, 25, 0.1),
    rgba(3, 9, 9, 0.85)
  );
  font-family: Consolas, monospace;
}
.database-evidence span {
  font-size: 0.42rem;
  letter-spacing: 0.11em;
}
.database-evidence strong {
  color: #c5b18f;
  font-size: 0.52rem;
  font-weight: 400;
}
.database-evidence small {
  color: #75aeb3;
  font-size: 0.4rem;
  letter-spacing: 0.08em;
}
@media (max-width: 1000px) and (min-width: 651px) {
  .database-view .data-table {
    grid-template-columns: minmax(0, 1.65fr) minmax(13rem, 1fr);
  }
  .schema-children {
    width: 98%;
    gap: 0.35rem;
  }
  .schema-children .schema-entity {
    padding-left: 2rem;
  }
  .schema-children .schema-entity > span {
    left: 0.42rem;
  }
}
@media (max-width: 650px) {
  .database-view .data-table {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .database-view .schema-map {
    min-height: 30rem;
    padding-right: 0.6rem;
    padding-left: 0.6rem;
  }
  .schema-children {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }
  .schema-line--branch {
    width: 0;
    height: 1rem;
    margin-top: 1rem;
    border-top: 0;
    border-left: 2px solid rgba(0, 196, 216, 0.68);
  }
  .schema-line--branch::before,
  .schema-children .schema-entity::before {
    display: none;
  }
  .database-view .schema-entity,
  .schema-children .schema-entity {
    width: 100%;
    padding-left: 2.7rem;
  }
  .database-view .entity-inspector {
    min-height: 14rem;
  }
  .database-evidence {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .schema-mark--b {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .database-view .schema-entity {
    transition: none;
  }
}
.database-view .schema-flow {
  margin-top: 0;
  gap: 0;
}
@media (min-width: 1001px) {
  .tech-vault__content--database {
    overflow: hidden;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
  .tech-vault__content--database .database-view {
    height: 100%;
    min-height: 0;
  }
  .tech-vault__content--database .database-title {
    margin-bottom: 0.4rem;
  }
  .tech-vault__content--database .data-table {
    min-height: 0;
  }
  .tech-vault__content--database .schema-map,
  .tech-vault__content--database .entity-inspector {
    min-height: 0;
  }
}

/* Expediente 05 · Optimización */
.optimization-view {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}
.optimization-title {
  margin-bottom: 0.6rem;
}
.optimization-view .optimization-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.optimization-view .optimization-card {
  position: relative;
  min-width: 0;
  padding: 0.72rem 0.8rem 0.65rem;
  border: 1px solid #76531f;
  background: linear-gradient(
    145deg,
    rgba(10, 17, 16, 0.96),
    rgba(3, 9, 9, 0.94)
  );
  box-shadow: inset 0 0 18px rgba(128, 87, 25, 0.045);
  transition:
    border-color 0.18s,
    box-shadow 0.18s,
    transform 0.18s;
}
.optimization-view .optimization-card::before {
  position: absolute;
  top: -1px;
  left: 1rem;
  width: 3.2rem;
  border-top: 2px solid #2297a2;
  content: "";
}
.optimization-view .optimization-card:hover {
  border-color: #9d7330;
  box-shadow:
    0 0 11px rgba(0, 215, 242, 0.16),
    inset 0 0 18px rgba(0, 215, 242, 0.04);
  transform: translateY(-1px);
}
.optimization-card > header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding-bottom: 0.48rem;
  border-bottom: 1px solid rgba(128, 87, 25, 0.38);
}
.optimization-card > header > span {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #247e86;
  color: #7bd9e1;
  background: rgba(0, 215, 242, 0.045);
  font:
    0.7rem Consolas,
    monospace;
}
.optimization-card header small {
  display: block;
  color: #5caeb5;
  font:
    0.36rem Consolas,
    monospace;
  letter-spacing: 0.12em;
}
.optimization-card header h4 {
  margin: 0.16rem 0 0;
  color: #dfb96e;
  font:
    700 0.68rem Georgia,
    serif;
  letter-spacing: 0.045em;
}
.optimization-description {
  margin: 0.5rem 0;
  color: #afa79d;
  font-size: 0.5rem;
  line-height: 1.35;
}
.optimization-card ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.36rem 0.65rem;
  list-style: none;
}
.optimization-card li {
  position: relative;
  min-width: 0;
  padding-left: 0.58rem;
}
.optimization-card li::before {
  position: absolute;
  top: 0.12rem;
  left: 0;
  color: #4fc3cd;
  content: "›";
  font:
    0.55rem Consolas,
    monospace;
}
.optimization-card li strong,
.optimization-card li span {
  display: block;
}
.optimization-card li strong {
  color: #71d0d8;
  font:
    0.39rem Consolas,
    monospace;
  letter-spacing: 0.055em;
}
.optimization-card li span {
  margin-top: 0.12rem;
  color: #bdb5ab;
  font-size: 0.44rem;
  line-height: 1.28;
}
.optimization-result {
  margin: 0.55rem 0 0;
  padding: 0.42rem 0.52rem;
  border-left: 2px solid #9b6d25;
  color: #d0c3b0;
  background: rgba(128, 87, 25, 0.07);
  font-size: 0.47rem;
  line-height: 1.3;
}
.optimization-result small {
  display: block;
  margin-bottom: 0.16rem;
  color: #b78b48;
  font:
    0.35rem Consolas,
    monospace;
  letter-spacing: 0.1em;
}
.optimization-evidence {
  display: flex;
  margin-top: 0.6rem;
  padding: 0.52rem 0.7rem;
  align-items: center;
  gap: 0.8rem;
  border: 1px solid rgba(0, 143, 160, 0.46);
  border-left: 2px solid #00a8b9;
  color: #bdb5aa;
  background: linear-gradient(
    90deg,
    rgba(0, 215, 242, 0.075),
    rgba(3, 9, 9, 0.72)
  );
}
.optimization-evidence strong {
  flex: 0 0 auto;
  color: #75d8e0;
  font:
    0.43rem Consolas,
    monospace;
  letter-spacing: 0.09em;
}
.optimization-evidence p {
  margin: 0;
  font-size: 0.49rem;
  line-height: 1.35;
}
@media (max-width: 850px) {
  .optimization-card ul {
    grid-template-columns: 1fr;
  }
  .optimization-view .optimization-card {
    padding: 0.7rem;
  }
  .optimization-evidence {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.3rem;
  }
}
@media (max-width: 650px) {
  .optimization-view .optimization-grid {
    grid-template-columns: 1fr;
  }
  .optimization-card ul {
    grid-template-columns: 1fr;
  }
  .optimization-card li span {
    font-size: 0.5rem;
  }
  .optimization-evidence p {
    font-size: 0.53rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .optimization-view .optimization-card {
    transition: none;
  }
}
.optimization-view .optimization-grid {
  gap: 0.8rem;
}
.optimization-view .optimization-card {
  padding: 0.85rem 0.95rem 0.8rem;
}
.optimization-card header small {
  font-size: 0.43rem;
}
.optimization-card header h4 {
  font-size: 0.8rem;
}
.optimization-description {
  font-size: 0.62rem;
  line-height: 1.45;
}
.optimization-card ul {
  gap: 0.55rem 0.8rem;
}
.optimization-card li {
  padding-left: 0.7rem;
}
.optimization-card li::before {
  font-size: 0.7rem;
}
.optimization-card li strong {
  font-size: 0.5rem;
  line-height: 1.3;
}
.optimization-card li span {
  margin-top: 0.18rem;
  font-size: 0.57rem;
  line-height: 1.42;
}
.optimization-result {
  padding: 0.5rem 0.6rem;
  font-size: 0.59rem;
  line-height: 1.4;
}
.optimization-result small {
  font-size: 0.42rem;
}
.optimization-evidence strong {
  font-size: 0.5rem;
}
.optimization-evidence p {
  font-size: 0.59rem;
  line-height: 1.45;
}
@media (max-width: 650px) {
  .optimization-card header h4 {
    font-size: 0.86rem;
  }
  .optimization-description {
    font-size: 0.67rem;
  }
  .optimization-card li strong {
    font-size: 0.55rem;
  }
  .optimization-card li span,
  .optimization-result,
  .optimization-evidence p {
    font-size: 0.64rem;
  }
}
.optimization-card header small {
  font-size: 0.5rem;
}
.optimization-card header h4 {
  font-size: 0.94rem;
}
.optimization-description {
  font-size: 0.72rem;
}
.optimization-card li strong {
  font-size: 0.6rem;
}
.optimization-card li span {
  font-size: 0.67rem;
  line-height: 1.48;
}
.optimization-result {
  font-size: 0.69rem;
}
.optimization-result small {
  font-size: 0.5rem;
}
.optimization-evidence strong {
  font-size: 0.6rem;
}
.optimization-evidence p {
  font-size: 0.68rem;
}
@media (max-width: 650px) {
  .optimization-card header h4 {
    font-size: 1rem;
  }
  .optimization-description {
    font-size: 0.76rem;
  }
  .optimization-card li strong {
    font-size: 0.64rem;
  }
  .optimization-card li span,
  .optimization-result,
  .optimization-evidence p {
    font-size: 0.72rem;
  }
}
.database-view .entity-inspector header small {
  font-size: 0.5rem;
}
.database-view .entity-inspector header h4 {
  font-size: 0.94rem;
}
.database-view .entity-inspector__empty strong {
  font-size: 0.72rem;
}
.database-view .entity-inspector__empty p {
  font-size: 0.67rem;
  line-height: 1.48;
}
.database-view .entity-inspector__detail > h5 {
  font-size: 0.94rem;
}
.database-view .entity-inspector__detail dt {
  font-size: 0.6rem;
}
.database-view .entity-inspector__detail dd {
  font-size: 0.67rem;
  line-height: 1.48;
}
.database-view .entity-inspector code {
  font-size: 0.6rem;
}
@media (max-width: 650px) {
  .database-view .entity-inspector header h4,
  .database-view .entity-inspector__detail > h5 {
    font-size: 1rem;
  }
  .database-view .entity-inspector__detail dt {
    font-size: 0.64rem;
  }
  .database-view .entity-inspector__detail dd,
  .database-view .entity-inspector__empty p {
    font-size: 0.72rem;
  }
  .database-view .entity-inspector code {
    font-size: 0.64rem;
  }
}
.integration-case-file > h5 {
  font-size: 0.6rem;
}
.active-case-facts > p {
  font-size: 0.94rem;
}
.active-case-facts dt {
  font-size: 0.6rem;
}
.active-case-facts dd {
  font-size: 0.67rem;
  line-height: 1.48;
}
@media (max-width: 650px) {
  .integration-case-file > h5 {
    font-size: 0.64rem;
  }
  .active-case-facts > p {
    font-size: 1rem;
  }
  .active-case-facts dt {
    font-size: 0.64rem;
  }
  .active-case-facts dd {
    font-size: 0.72rem;
  }
}
.integration-inspector > header small {
  font-size: 0.5rem;
}
.integration-inspector > header h4 {
  font-size: 0.94rem;
}
.integration-inspector__empty strong {
  font-size: 0.72rem;
}
.integration-inspector__empty p {
  font-size: 0.67rem;
  line-height: 1.48;
}
.integration-inspector__detail h5 {
  font-size: 0.94rem;
}
.integration-inspector__detail dt {
  font-size: 0.6rem;
}
.integration-inspector__detail dd {
  font-size: 0.67rem;
  line-height: 1.48;
}
@media (max-width: 650px) {
  .integration-inspector > header h4,
  .integration-inspector__detail h5 {
    font-size: 1rem;
  }
  .integration-inspector__detail dt {
    font-size: 0.64rem;
  }
  .integration-inspector__detail dd,
  .integration-inspector__empty p {
    font-size: 0.72rem;
  }
}
.integration-cases > header small {
  font-size: 0.5rem;
}
.integration-cases > header h4 {
  font-size: 0.94rem;
}
.integration-case {
  padding: 0.75rem 0.68rem;
}
.integration-case > small {
  font-size: 0.55rem;
}
.integration-case > strong {
  font-size: 0.76rem;
  line-height: 1.3;
  white-space: normal;
}
.integration-case > em {
  font-size: 0.5rem;
  line-height: 1.3;
}
.integration-legend h5 {
  font-size: 0.52rem;
}
.integration-legend span {
  font-size: 0.5rem;
  line-height: 1.3;
}
@media (max-width: 700px) {
  .integration-cases > header h4 {
    font-size: 1rem;
  }
  .integration-case > strong {
    font-size: 0.82rem;
  }
  .integration-case > small {
    font-size: 0.6rem;
  }
  .integration-case > em,
  .integration-legend span {
    font-size: 0.55rem;
  }
}
.integration-legend h5 {
  font-size: 0.68rem;
}
.integration-legend span {
  font-size: 0.64rem;
  line-height: 1.45;
}
@media (max-width: 700px) {
  .integration-legend h5 {
    font-size: 0.72rem;
  }
  .integration-legend span {
    font-size: 0.68rem;
  }
}
.tech-vault__nav {
  grid-template-columns: repeat(5, 1fr);
}
.totales {
  grid-template-columns: repeat(3, 1fr);
}

/* Bóveda Dev vertical para móvil. */
@media (max-width: 700px) {
  html,
  body {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .boveda-pagina {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    background-image: url("../imagenes/boveda-dev-movil.webp");
    background-position: center top;
    background-size: cover;
    transform: none;
  }

  .boveda-pagina::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.38), transparent 38%, rgba(0, 0, 0, 0.3));
  }

  .barra-superior {
    top: 0.55rem;
    right: 0.7rem;
    left: 0.7rem;
    height: 3.15rem;
  }

  .barra-superior .insignia {
    width: 2.9rem;
    height: 2.9rem;
    font-size: 1.25rem;
  }

  .barra-superior .marca,
  .barra-superior .controles > span:not(.sonido) {
    display: none;
  }

  .barra-superior .controles {
    margin-left: auto;
  }

  .barra-superior .controles button {
    min-width: 2.5rem;
    min-height: 2.35rem;
    padding: 0.35rem;
  }

  .intro-boveda {
    top: 4.45rem;
    right: 0.75rem;
    left: 0.75rem;
    text-align: center;
  }

  .intro-boveda h1 {
    margin: 0;
    font-size: clamp(1.65rem, 8vw, 2.25rem);
    line-height: 1;
    text-shadow: 0 0.15rem 0.65rem #000;
  }

  .intro-boveda h2 {
    margin: 0.32rem 0 0;
    font-size: 0.72rem;
    text-shadow: 0 0.12rem 0.5rem #000;
  }

  .intro-boveda p,
  .inventario-boveda,
  .paneles-tecnicos {
    display: none;
  }

  .archivos-panel {
    position: fixed;
    z-index: 3;
    top: auto;
    right: 0.65rem;
    bottom: 4.75rem;
    left: 0.65rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
    box-sizing: border-box;
    width: auto;
    max-height: calc(100dvh - 10rem);
    margin: 0;
    padding: 0.55rem;
    overflow: hidden;
    border-width: 1px;
    background: rgba(3, 7, 7, 0.83);
    backdrop-filter: none;
  }

  .archivos-panel > h2 {
    grid-column: 1 / -1;
    margin: 0 0 0.05rem;
    font-size: 0.78rem;
    text-align: center;
  }

  .archivo-item {
    grid-template-columns: 1.4rem minmax(0, 1fr);
    gap: 0.2rem;
    min-width: 0;
    min-height: 0;
    padding: 0.3rem;
  }

  .archivo-item > b {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.9rem;
  }

  .archivo-item strong {
    font-size: 0.55rem;
    line-height: 1.15;
    white-space: normal;
  }

  .archivo-item small {
    display: none;
  }

  .archivo-item button {
    grid-column: 1 / -1;
    min-height: 1.45rem;
    padding: 0.25rem;
    font-size: 0.46rem;
  }

  .archivo-item:nth-of-type(5) {
    grid-column: 1 / -1;
  }

  .totales {
    display: none;
  }

  .totales span {
    min-height: 1.8rem;
    font-size: 0.72rem;
  }

  .totales small {
    font-size: 0.4rem;
  }

  .explorar-archivos,
  .volver-campamento,
  .estado-archivo {
    grid-column: 1 / -1;
    margin: 0;
  }

  .explorar-archivos {
    min-height: 2rem;
    padding: 0.4rem;
    font-size: 0.58rem;
  }

  .volver-campamento {
    display: none;
  }

  .estado-archivo:empty {
    display: none;
  }

  .boveda-pagina .menu-global {
    position: fixed;
    right: 0.45rem;
    bottom: 0.45rem;
    left: 0.45rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 3.8rem;
    clip-path: none;
  }

  .boveda-pagina .menu-global__ubicacion,
  .boveda-pagina .menu-global__atributos,
  .boveda-pagina .menu-global__sello {
    display: none;
  }

  .boveda-pagina .menu-global__item {
    gap: 0.2rem;
    padding: 0.35rem 0.2rem;
    text-align: center;
  }

  .boveda-pagina .menu-global__item > b {
    font-size: 1.05rem;
  }

  .boveda-pagina .menu-global__item > span {
    align-items: center;
  }

  .boveda-pagina .menu-global__item strong {
    font-size: 0.62rem;
  }

  .boveda-pagina .menu-global__item small,
  .boveda-pagina .menu-global__item em {
    display: none;
  }
}
