@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('tipografia/archivo-100-900.woff2') format('woff2');
}
:root[data-tema="lilbru"] {
  --fondo: #f6f7f5;
  --tarjeta: #ffffff;
  --tinta: #12312c;
  --tinta-suave: #5a6b67;
  --borde: #e2e7e3;
  --marca: #0f766e;
  --marca-claro: #e6f4f1;
  --marca-borde: #a6ceca;
  --lateral-1: #115e59;
  --lateral-2: #0f4f4a;
  --lateral-3: #0d423f;
  --acento-ruta: #16a75c;
  --acento-nodo: #b9ce1f;
}
:root[data-tema="lilbru"] .menu a.activo { box-shadow: inset 3px 0 0 var(--acento-nodo); }
:root[data-tema="lilbru"] .lateral-pie strong { color: #c9de3a; }
:root[data-tema="lilbru"] .marca-nombre { letter-spacing: 1.5px; }
:root[data-tema="inventario"] {
  --fondo: #f8fafc;
  --tarjeta: #ffffff;
  --tinta: #0f172a;
  --tinta-suave: #64748b;
  --borde: #e6e8ea;
  --marca: #334155;
  --marca-claro: #e9edf2;
  --marca-borde: #b2b9c3;
  --lateral-1: #1e293b;
  --lateral-2: #0f172a;
  --lateral-3: #14293f;
}
:root[data-tema="ferreteria"] {
  --fondo: #f8fafc;
  --tarjeta: #ffffff;
  --tinta: #1e293b;
  --tinta-suave: #64748b;
  --borde: #e2e8f0;
  --marca: #c2410c;
  --marca-claro: #fdf0e8;
  --marca-borde: #ebbca6;
  --lateral-1: #27303b;
  --lateral-2: #1c242e;
  --lateral-3: #33251c;
}
:root[data-tema="tinta"] {
  --fondo: #f6f7fb;
  --tarjeta: #ffffff;
  --tinta: #1b1f3b;
  --tinta-suave: #5d6285;
  --borde: #e3e5f0;
  --marca: #3730a3;
  --marca-claro: #ecebf8;
  --marca-borde: #b6b3e0;
  --lateral-1: #2a2570;
  --lateral-2: #201c56;
  --lateral-3: #191645;
}
:root[data-tema="granate"] {
  --fondo: #faf7f7;
  --tarjeta: #ffffff;
  --tinta: #2c1219;
  --tinta-suave: #6f5259;
  --borde: #ece3e5;
  --marca: #9f1239;
  --marca-claro: #fbeaee;
  --marca-borde: #e0adba;
  --lateral-1: #6d1028;
  --lateral-2: #560c20;
  --lateral-3: #430a19;
}
:root[data-tema="oliva"] {
  --fondo: #f8f9f3;
  --tarjeta: #ffffff;
  --tinta: #22280f;
  --tinta-suave: #5f6a4a;
  --borde: #e6eadc;
  --marca: #3f6212;
  --marca-claro: #eef3e2;
  --marca-borde: #bacb9b;
  --lateral-1: #3a5416;
  --lateral-2: #2c4110;
  --lateral-3: #22330c;
}
:root[data-tema="grafito"],
:root[data-tema="noche"],
:root[data-tema="neon"],
:root[data-tema="brasa"],
:root[data-tema="plata"],
:root[data-tema="amaderado"] {
  color-scheme: dark;
  --alerta: #fbbf24;
  --alerta-fondo: #3a2c08;
  --rojo: #f87171;
  --rojo-fondo: #3d1717;
  --ok: #4ade80;
  --ok-fondo: #102c1b;
  --azul: #93c5fd;
  --azul-fondo: #1e3a8a;
  --violeta: #c4b5fd;
  --sobre-violeta: #1e1033;
  --sobre-rojo: #1f0606;
  --velo-modal: rgba(0, 0, 0, .62);
  --sombra-modal: 0 18px 55px rgba(0, 0, 0, .55);
}
:root[data-tema="grafito"] {
  --sobre-marca: #15181c;
  --fondo: #15181c;
  --tarjeta: #1d2126;
  --tinta: #e8ebee;
  --tinta-suave: #9aa3ad;
  --borde: #2c323a;
  --marca: #d97706;
  --marca-claro: #33240f;
  --marca-borde: #6b4a13;
  --gris-fondo: #23282e;
  --lateral-1: #101317;
  --lateral-2: #0b0d10;
  --lateral-3: #16191d;
}
:root[data-tema="noche"] {
  --sobre-marca: #0f172a;
  --fondo: #0f172a;
  --tarjeta: #1a2338;
  --tinta: #e6ecf7;
  --tinta-suave: #94a3c4;
  --borde: #2a3550;
  --marca: #60a5fa;
  --marca-claro: #1b2c4d;
  --marca-borde: #35507f;
  --gris-fondo: #202b45;
  --lateral-1: #0b1224;
  --lateral-2: #070c19;
  --lateral-3: #101a33;
}
:root[data-tema="neon"] {
  --sobre-marca: #0a0a12;
  --fondo: #0a0a12;
  --tarjeta: #13131f;
  --tinta: #e9e9f5;
  --tinta-suave: #9a9ab8;
  --borde: #26263a;
  --marca: #22d3ee;
  --marca-claro: #0d2a33;
  --marca-borde: #1c5a68;
  --gris-fondo: #1a1a29;
  --lateral-1: #0d0d18;
  --lateral-2: #08080f;
  --lateral-3: #141428;
}
:root[data-tema="brasa"] {
  --sobre-marca: #17100f;
  --fondo: #17100f;
  --tarjeta: #211717;
  --tinta: #f1e6e3;
  --tinta-suave: #b09a95;
  --borde: #352624;
  --marca: #fb7185;
  --marca-claro: #38181f;
  --marca-borde: #7a3540;
  --gris-fondo: #281c1b;
  --lateral-1: #140d0c;
  --lateral-2: #0d0807;
  --lateral-3: #1e1211;
}
:root[data-tema="plata"] {
  --sobre-marca: #191d22;
  --fondo: #191d22;
  --tarjeta: #242a31;
  --tinta: #eef1f5;
  --tinta-suave: #b1bac5;
  --borde: #46515e;
  --marca: #c4cdd8;
  --marca-claro: #323c48;
  --marca-borde: #7b899b;
  --gris-fondo: #2c333d;
  --lateral-1: #303945;
  --lateral-2: #202730;
  --lateral-3: #151a20;
}
:root[data-tema="amaderado"] {
  --sobre-marca: #241a15;
  --fondo: #211a16;
  --tarjeta: #30251f;
  --tinta: #f3e9df;
  --tinta-suave: #c4b2a3;
  --borde: #614d40;
  --marca: #d6b28f;
  --marca-claro: #453328;
  --marca-borde: #a17d5e;
  --gris-fondo: #392d25;
  --lateral-1: #493426;
  --lateral-2: #32231b;
  --lateral-3: #211812;
}
:root {
  --sobre-marca: #ffffff;
  --glifo-inline: 20px;
  --glifo-control: 28px;
  --velo-modal: rgba(13, 31, 25, .5);
  --sombra-modal: 0 18px 55px rgba(8, 27, 20, .28);
  --fondo: #f4f6f8;
  --tarjeta: #ffffff;
  --tinta: #1c2733;
  --tinta-suave: #5b6b7a;
  --borde: #e3e8ee;
  --marca: #0f6b5c;
  --marca-claro: #e6f2ef;
  --marca-borde: #a6cac3;
  --lateral-1: #16222e;
  --lateral-2: #1c2733;
  --lateral-3: #123a32;
  --alerta: #a04a06;
  --alerta-fondo: #fef3c7;
  --rojo: #b91c1c;
  --rojo-fondo: #fee2e2;
  --ok: #116b33;
  --ok-fondo: #dcfce7;
  --gris-fondo: #eef1f4;
  --azul: #1d4ed8;
  --azul-fondo: #dbeafe;
  --violeta: #6d28d9;
  --sobre-violeta: #ffffff;
  --sobre-rojo: #ffffff;
  --ancho-ficha: 1100px;
  --ancho-datos: 1440px;
  --esp-1: 4px;
  --esp-2: 8px;
  --esp-3: 12px;
  --esp-4: 16px;
  --esp-5: 20px;
  --esp-6: 24px;
  --esp-8: 32px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Archivo', "Segoe UI", system-ui, -apple-system, sans-serif;
  font-feature-settings: 'tnum' 1;
  background: var(--fondo);
  color: var(--tinta);
  font-size: 15px;
}
a { color: var(--marca); text-decoration: none; }
a:hover { text-decoration: underline; }
main {
  --lateral: 232px;
  --ancho-max: var(--ancho-datos);
  max-width: var(--ancho-max);
  margin-left: calc(var(--lateral) + max(0px, (100vw - var(--lateral) - var(--ancho-max)) / 2));
  margin-right: auto;
  padding: var(--esp-5) var(--esp-6) 60px;
}
main.ancho-ficha { --ancho-max: var(--ancho-ficha); }
.lateral {
  position: fixed; top: 0; left: 0; bottom: 0; width: 232px; z-index: 20;
  background: linear-gradient(180deg, var(--lateral-1) 0%, var(--lateral-2) 55%, var(--lateral-3) 100%);
  color: #fff; display: flex; flex-direction: column; gap: 20px;
  padding: 20px 14px; box-sizing: border-box;
  border-right: 2px solid var(--marca);
}
.marca-logo { display: block; width: 76px; height: auto; }
.marca-nombre { font-weight: 800; font-size: 18px; margin-top: 6px; letter-spacing: 1.2px; }
.menu { display: flex; flex-direction: column; gap: 4px; }
.menu a { color: #d3e6e1; padding: 10px 12px; border-radius: 8px; font-size: 14px; transition: background .15s, color .15s; }
.menu a:hover { background: rgba(255, 255, 255, .08); color: #fff; text-decoration: none; }
.menu a.activo { background: var(--marca); color: var(--sobre-marca); font-weight: 700; }
.menu-modulo { display: flex; flex-direction: column; gap: 2px; }
.menu-modulo.abierto > a.activo { background: rgba(255, 255, 255, .10); color: #fff; }
.menu-sub { display: flex; flex-direction: column; gap: 2px; margin: 0 0 4px 12px; padding-left: 8px; border-left: 2px solid rgba(255, 255, 255, .18); }
.menu-sub a { font-size: 13px; padding: 7px 10px; }
@media (min-width: 1041px) { .procesos-modulo { display: none; } }
.procesos-modulo {
  --lateral: 232px;
  --ancho-max: 1440px;
  max-width: var(--ancho-max);
  margin: 0 auto 0;
  margin-left: calc(var(--lateral) + max(0px, (100vw - var(--lateral) - var(--ancho-max)) / 2));
  padding: 18px var(--esp-6) 0;
  box-sizing: border-box;
}
.procesos-modulo-area {
  color: var(--tinta); font-size: 16px; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase; margin-bottom: 10px;
}
.procesos-modulo-nav {
  display: flex; gap: 4px; overflow-x: auto; padding-bottom: 8px;
  border-bottom: 1px solid var(--borde); scrollbar-width: thin;
}
.procesos-modulo-nav a {
  flex: 0 0 auto; color: var(--tinta-suave); font-size: 15px; font-weight: 600;
  padding: 12px 14px; border-radius: 6px; text-decoration: none;
}
.procesos-modulo-nav a:hover { color: var(--tinta); background: var(--gris-fondo); }
.procesos-modulo-nav a.activo { color: var(--marca); background: var(--marca-claro); font-weight: 700; }
.lateral-pie { margin-top: auto; color: #d3e6e1; font-size: 12px; display: flex; flex-direction: column; gap: 10px; }
.lateral-pie strong { color: #b6ecdd; }
.pagina-titulo {
  font-size: 30px; font-weight: 800; letter-spacing: -0.6px; line-height: 1.15;
  color: var(--tinta); margin: 0 0 18px;
}
@media (max-width: 900px) {
  .pagina-titulo { font-size: 22px; letter-spacing: -0.2px; }
}
.menu-boton { display: none; }
@media (max-width: 1040px) {
  .lateral {
    position: static; width: auto; flex-direction: row; align-items: center;
    flex-wrap: wrap; gap: 8px 14px; padding: 12px 14px; border-right: 0;
    border-bottom: 2px solid rgba(15, 107, 92, .5);
  }
  .marca-logo { width: 46px; display: inline-block; vertical-align: middle; }
  .marca-nombre { display: inline; font-size: 15px; margin: 0 0 0 4px; }
  .menu a { padding: 7px 9px; font-size: 13px; }
  .lateral-pie { margin: 0 0 0 auto; flex-direction: row; align-items: center; gap: 8px; }
  .lateral-pie > div:not(.tema-caja) { display: none; }
  main, footer.pie { margin-left: 0; }
  .procesos-modulo { margin-left: 0; padding: var(--esp-3) var(--esp-3) 0; }
  .menu-boton {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 11px; font-size: 13px; font-weight: 700;
    background: rgba(255, 255, 255, .08); color: #d3e6e1;
    border: 1px solid transparent; border-radius: 8px; min-height: 0;
  }
  .menu-boton:hover { background: rgba(255, 255, 255, .18); box-shadow: none; filter: none; }
  .menu-boton svg { flex: 0 0 auto; }
  .lateral .menu { display: none; }
  .lateral.menu-abierto .menu {
    display: flex; flex-direction: column; gap: 2px;
    flex-basis: 100%; order: 9; margin-top: 4px;
  }
  .lateral.menu-abierto .menu a { padding: 11px 12px; font-size: 15px; }
  .lateral.menu-abierto .menu-sub a { padding: 9px 12px; font-size: 14px; }
  .procesos-modulo-area { display: none; }
}
.tarjeta {
  --pad-tarjeta: 20px;
  background: var(--tarjeta);
  border: 1px solid var(--borde);
  border-radius: 10px;
  padding: var(--pad-tarjeta);
  margin-bottom: var(--esp-6);
}
.tarjeta h2 { margin: 0 0 2px; font-size: 18px; letter-spacing: -0.2px; }
.sub-titulo {
  margin: 0 0 14px; font-size: 13px; color: var(--tinta-suave);
}
@media (min-width: 761px) {
  table :is(th, td).num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  table :is(th, td).centro { text-align: center; }
}
[hidden] { display: none !important; }
.badge {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 600; white-space: nowrap;
}
.badge.pedir { background: var(--rojo-fondo); color: var(--rojo); font-weight: 700; box-shadow: inset 0 0 0 1px var(--rojo); }
.badge.acercandose { background: var(--alerta-fondo); color: var(--alerta); }
.badge.ok { background: var(--ok-fondo); color: var(--ok); }
.badge.sin { background: var(--gris-fondo); color: var(--tinta-suave); }
.cuerpo-login {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 100vh; padding: 24px; background: var(--fondo);
}
.login-caja { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 14px; }
.login-marca { text-align: center; margin-bottom: 4px; }
.login-marca .marca-nombre { font-size: 26px; }
.login-form { display: flex; flex-direction: column; gap: 12px; }
.login-form h2 { margin: 0; }
.cuerpo-login footer.pie { margin-left: 0; }
.cuerpo-login main.login-caja { margin-left: auto; margin-right: auto; }
.login-opciones { display: flex; flex-direction: column; gap: 8px; }
.login-opciones button {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  width: 100%; min-height: 48px; text-align: left;
}
.login-opciones button .login-opcion-actual { font-size: 12px; font-weight: 600; color: var(--marca); }
.login-opciones button[aria-current="true"] { outline: 2px solid var(--marca-borde); outline-offset: -2px; }
.login-volver { align-self: flex-start; font-size: 14px; }
.login-ayuda { font-size: 13px; line-height: 1.4; color: var(--tinta-suave); }
.login-enlace { align-self: flex-start; background: none; border: 0; padding: 6px 0; min-height: 44px; color: var(--tinta-suave); font-size: 13px; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.login-enlace:hover { color: var(--tinta); }
.login-contacto { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; font-size: 13px; line-height: 1.5; color: var(--tinta-suave); text-align: center; }
.login-contacto a { display: inline-flex; align-items: center; min-height: 44px; color: var(--marca); }
.login-contacto[hidden], #l-contacto-whatsapp[hidden], #l-solicitar[hidden] { display: none; }
#l-codigo-campo[hidden], .login-enlace[hidden] { display: none; }
#l-codigo { letter-spacing: .3em; }
#entrada-titulo:focus { outline: none; }
.login-volver[hidden], #entrada[hidden] { display: none; }
#cambio-clave[hidden], #c-actual-campo[hidden], #form-cambio[hidden], .login-salir[hidden] { display: none; }
#cambio-clave h2:focus { outline: none; }
#cambio-texto { margin: 0; line-height: 1.45; }
.login-regla { margin: 0; font-size: 13px; line-height: 1.45; color: var(--tinta-suave); }
.login-ver { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; color: var(--tinta); cursor: pointer; }
.login-ver input { width: 20px; height: 20px; margin: 0; }
#form-cambio input[type="password"], #form-cambio input[type="text"] { min-height: 44px; }
.login-cambio-pie { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.login-salir { background: none; border: 0; padding: 10px 0; min-height: 44px; color: var(--tinta-suave); font-size: 14px; text-decoration: underline; cursor: pointer; }
.login-salir:hover { color: var(--tinta); }
#avisos-clave[hidden], .avisos-grupo[hidden], #avisos-botones button[hidden], #avisos-botones[hidden], #avisos-despues[hidden], #avisos-pregunta[hidden] { display: none; }
#avisos-pregunta { margin: 0; font-size: 14px; }
.avisos-grupo { display: flex; flex-direction: column; gap: 6px; }
.avisos-grupo h3 { margin: 0; font-size: 13px; font-weight: 600; color: var(--tinta-suave); }
.avisos-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--borde); }
.avisos-lista li { padding: 10px 0; border-bottom: 1px solid var(--borde); font-size: 15px; line-height: 1.45; color: var(--tinta); }
#avisos-botones, #avisos-despues { display: flex; flex-wrap: wrap; gap: 8px; }
select[hidden], .sede-sesion[hidden] { display: none !important; }
.sede-sesion { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 6px; }
.sede-sesion-nombre { color: var(--tinta); }
.sede-sesion-cambiar { font-weight: 600; white-space: nowrap; }
.sede-sesion-nota { color: var(--tinta-suave); font-size: 13px; }
.sesion-sede-nueva { font-size: 12px; line-height: 1.4; color: #d3e6e1; }
.sesion-sede-nueva strong { color: #fff; }
.sesion-sede-nueva a { color: #fff; font-weight: 600; text-decoration: underline; white-space: nowrap; }
.sesion-chip {
  margin-top: 14px; padding: 10px 12px; border-radius: 8px;
  background: rgba(255, 255, 255, .05); color: #d3e6e1; font-size: 12px;
  display: flex; flex-direction: column; gap: 6px;
}
.sesion-chip .sesion-nombre { color: #fff; font-weight: 700; font-size: 13px; }
.sesion-chip select {
  width: 100%; padding: 6px 8px; border-radius: 8px; border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08); color: #fff; font-size: 12px;
}
.sesion-chip select option { color: #12312c; background: #fff; }
button, .boton {
  background: var(--marca); color: var(--sobre-marca); border: 0; border-radius: 8px;
  padding: 9px 16px; font-size: 14px; font-weight: 600; cursor: pointer;
  transition: filter .15s, transform .08s, box-shadow .15s;
}
button:hover, .boton:hover { filter: brightness(1.1); box-shadow: 0 2px 10px rgba(15, 107, 92, .28); }
button:active, .boton:active { transform: scale(.97); }
button.secundario, .boton.secundario { background: var(--gris-fondo); color: var(--tinta); }
button.secundario:hover, .boton.secundario:hover { box-shadow: 0 2px 8px rgba(28, 39, 51, .15); }
a.boton { display: inline-block; text-decoration: none; }
button:disabled {
  opacity: 1; background: #c6d0d9; color: #3f4d5b; border-color: #c6d0d9;
  cursor: default; transform: none; box-shadow: none;
}
input, select, textarea {
  border: 1px solid var(--borde); border-radius: 8px; padding: 9px 10px;
  font-size: 15px; background: var(--tarjeta); color: var(--tinta);
}
input::placeholder, textarea::placeholder { color: var(--tinta-suave); opacity: .8; }
input:focus, select:focus { outline: 2px solid var(--marca); border-color: var(--marca); }
input[type="file"] { max-width: 100%; }
label.campo { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--tinta-suave); }
.aviso { border-radius: 8px; padding: 10px 14px; font-size: 14px; margin: 10px 0; }
.aviso.error { background: var(--rojo-fondo); color: var(--rojo); }
.aviso.exito { background: var(--ok-fondo); color: var(--ok); }
.aviso.info-btn { background: var(--marca-claro); color: var(--marca); }
.banner-instalar {
  position: fixed; left: 14px; right: 14px; bottom: 14px; z-index: 55;
  max-width: 420px; margin: 0 auto;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 10px;
  box-shadow: 0 10px 40px rgba(28, 39, 51, .22);
  padding: 12px 14px;
}
.banner-instalar-texto { flex: 1 1 220px; font-size: 15px; color: var(--tinta); }
.banner-instalar-acciones { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.banner-instalar-btn {
  min-height: 38px; padding: 0 16px; border-radius: 8px; border: 0;
  background: var(--marca); color: var(--sobre-marca); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.banner-instalar-btn:hover { filter: brightness(1.08); }
.banner-instalar-cerrar {
  width: 30px; height: 30px; padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--tinta-suave); font-size: 22px; line-height: 1; cursor: pointer;
}
.banner-instalar-cerrar:hover, .banner-instalar-cerrar:focus-visible { background: rgba(0, 0, 0, .07); }
details summary { cursor: pointer; font-weight: 600; color: var(--marca); }
.suave { color: var(--tinta-suave); font-size: 13px; }
p.suave, p.sub-titulo, .tarjeta > p { max-width: 72ch; }
.doc-sku { font-size: 12px; color: #5b6b7a; }
.doc-nota { margin-top: 14px; font-size: 13px; }
.doc-nota::before {
  content: 'Nota';
  display: block; font-size: 12px; color: #5b6b7a;
  text-transform: uppercase; letter-spacing: .5px; margin-bottom: 2px;
}
.doc-principal {
  display: flex; flex-direction: column; justify-content: center; gap: 6px;
  text-align: left; width: 100%; min-height: 104px;
  cursor: pointer; font: inherit; margin-bottom: 14px; padding: 24px 22px;
  background: var(--marca); color: var(--sobre-marca); border: 1px solid var(--marca);
  transition: box-shadow .15s, filter .15s;
}
.doc-principal:hover { filter: brightness(1.06); box-shadow: 0 4px 14px rgba(15, 107, 92, .28); }
.doc-principal:focus-visible { outline: 2px solid var(--marca); outline-offset: 2px; }
@page ticket { size: 80mm auto; margin: 4mm; }
@page documento { size: A4; margin: 16mm; }
footer.pie {
  text-align: center; color: var(--tinta-suave); font-size: 13px;
  padding: 18px 10px 26px; margin-left: 232px;
}
footer.pie strong { color: var(--marca); }
@media (max-width: 1040px) {
  main { padding: var(--esp-3) var(--esp-3) 40px; }
  .tarjeta { --pad-tarjeta: 14px; }
}
.info-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; flex: 0 0 18px;
  border: 1.5px solid var(--tinta-suave); border-radius: 50%;
  color: var(--tinta-suave); background: none;
  font-size: 12.5px; font-weight: 700; font-style: italic;
  cursor: pointer; vertical-align: middle; margin-left: 7px;
  user-select: none; transition: color .15s, border-color .15s, background .15s;
}
.info-btn::before { content: 'i'; }
.info-btn:hover, .info-btn:focus-visible {
  color: var(--sobre-marca); background: var(--marca); border-color: var(--marca); outline: none;
}
.info-btn[aria-expanded="true"] { color: var(--sobre-marca); background: var(--marca); border-color: var(--marca); }
h2 .info-btn { margin-left: 9px; }
.info-globo {
  position: absolute; z-index: 950;
  background: var(--tinta); color: var(--tarjeta);
  border-radius: 10px; padding: 12px 14px;
  font-size: 13.5px; line-height: 1.5; font-weight: 400;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
}
.info-globo strong { color: var(--tarjeta); }
.info-globo::before {
  content: ''; position: absolute; top: -7px; left: var(--flecha, 20px);
  margin-left: -7px; border: 7px solid transparent;
  border-bottom-color: var(--tinta); border-top: 0;
}
.info-globo.arriba::before {
  top: auto; bottom: -7px;
  border: 7px solid transparent; border-top-color: var(--tinta); border-bottom: 0;
}
.tema-caja { position: relative; margin-bottom: 8px; }
.tema-tuerca {
  display: flex; align-items: center; gap: 7px; width: 100%;
  padding: 6px 9px; font-size: 12px; font-weight: 600;
  background: rgba(255, 255, 255, .08); color: #d3e6e1;
  border: 1px solid transparent; border-radius: 8px; min-height: 0;
}
.tema-tuerca:hover { background: rgba(255, 255, 255, .18); box-shadow: none; filter: none; }
.tema-tuerca svg { flex: 0 0 auto; }
.modal.ajustes-modal { width: min(460px, 100%); padding: 22px; }
.ajustes-titulo { margin: 0 0 4px; font-size: 20px; }
.ajustes-seccion {
  margin: 20px 0 8px; font-size: 13px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .5px; color: var(--tinta-suave);
}
.ajustes-nota { margin: 0 0 12px; font-size: 12px; }
.ajustes-acciones { display: flex; flex-direction: column; gap: 8px; }
.ajustes-accion {
  display: flex; flex-direction: column; gap: 2px; text-align: left; width: 100%;
  padding: 11px 13px; border-radius: 10px; text-decoration: none;
  background: var(--gris-fondo); border: 1px solid var(--borde); color: var(--tinta);
}
.ajustes-accion:hover { background: var(--marca-claro); text-decoration: none; box-shadow: none; filter: none; }
.ajustes-accion-tit { font-size: 14px; font-weight: 700; color: var(--tinta); }
.ajustes-accion-det { font-size: 12px; color: var(--tinta-suave); }
.ajustes-salir:hover { background: var(--rojo-fondo); border-color: var(--rojo); }
.ajustes-salir:hover .ajustes-accion-tit { color: var(--rojo); }
.tema-grupo {
  font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px;
  color: var(--tinta-suave); margin: 2px 0 6px;
}
.tema-grupo + .tema-opciones + .tema-grupo { margin-top: 12px; }
.tema-opciones { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; }
.tema-opciones button {
  padding: 6px 4px; font-size: 12px; font-weight: 500; min-height: 0;
  background: var(--gris-fondo); color: var(--tinta);
  border: 1px solid var(--borde); border-radius: 8px;
}
.tema-opciones button:hover { background: var(--marca-claro); box-shadow: none; filter: none; }
.tema-opciones button.activo {
  background: var(--marca); color: var(--sobre-marca); border-color: var(--marca); font-weight: 700;
}
@media (max-width: 860px) {
  .tema-caja { margin-bottom: 0; }
  .tema-tuerca { width: auto; padding: 7px 9px; }
  .tema-tuerca span { display: none; }
  .tema-tuerca svg { width: 18px; height: 18px; }
}
.ajustes-cuenta { display: none; }
@media (max-width: 860px) {
  .ajustes-cuenta:not(:empty) {
    display: block; margin: 4px 0; padding: 14px 16px; border-radius: 12px;
    background: linear-gradient(180deg, var(--lateral-1) 0%, var(--lateral-2) 100%);
  }
  .ajustes-cuenta .sesion-chip { margin-top: 0; background: transparent; padding: 0; }
  .sesion-chip { display: none; }
  .ajustes-cuenta .sesion-chip { display: flex; }
  .ajustes-cuenta .sesion-clave { display: none; }
  .ajustes-cuenta .sesion-nombre { display: none; }
  .ajustes-cuenta:not(:empty) { margin: 0 0 8px; padding: 10px 14px; }
}
.mi-cuenta-nombre { margin: 10px 0 0; font-size: 17px; font-weight: 700; color: var(--tinta); }
.mi-cuenta-quien { margin: 0 0 4px; font-size: 13px; color: var(--tinta-suave); }
.mi-cuenta-texto { margin: 0 0 8px; font-size: 14px; line-height: 1.45; color: var(--tinta); }
.mi-cuenta-permisos { margin: 0 0 8px; padding-left: 18px; display: grid; gap: 3px; font-size: 14px; line-height: 1.4; color: var(--tinta); }
.mi-cuenta-grupos { margin-bottom: 8px; border-top: 1px solid var(--borde); }
.mi-cuenta-grupo { border-bottom: 1px solid var(--borde); }
.mi-cuenta-grupo summary {
  display: flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; list-style: none;
  font-size: 14px; color: var(--tinta);
}
.mi-cuenta-grupo summary::-webkit-details-marker { display: none; }
.mi-cuenta-grupo-titulo { font-weight: 600; }
.mi-cuenta-grupo-cuenta { font-size: 13px; color: var(--tinta-suave); }
.mi-cuenta-ver { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--marca); }
.mi-cuenta-grupo .mi-cuenta-permisos { margin-bottom: 10px; }
.mi-menu { display: flex; flex-direction: column; gap: 2px; }
.mi-menu-plegado .mi-menu { padding-bottom: 10px; }
.mi-menu .tema-grupo { margin-top: 8px; }
.mi-menu-casilla { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 14px; color: var(--tinta); cursor: pointer; }
.mi-menu-casilla input { width: 20px; height: 20px; margin: 0; flex: none; }
.mi-menu-eco { margin: 6px 0; min-height: 18px; font-size: 13px; color: var(--ok); }
.mi-menu-eco:empty { min-height: 0; margin: 0; }
.mi-menu-eco.mi-menu-mal { color: var(--rojo); }
.mi-menu-guardar { align-self: flex-end; min-height: 44px; margin-top: 6px; }
:root { --acento-ruta: #16a75c; --acento-nodo: #b9ce1f; }
.tarjeta > h2 {
  position: relative;
  display: flex; align-items: center; gap: 8px;
  margin: calc(var(--pad-tarjeta) * -1) calc(var(--pad-tarjeta) * -1) 12px;
  padding: 11px var(--pad-tarjeta);
  background: var(--marca-claro);
  border-bottom: 1px solid var(--borde);
  border-radius: 10px 10px 0 0;
}
.tarjeta > h2 + .sub-titulo { margin-top: -4px; }
@media (max-width: 720px) {
  .tarjeta > h2 { flex-wrap: wrap; }
}
@media print {
  :root:root {
    color-scheme: light;
    --fondo: #f4f6f8; --tarjeta: #ffffff; --tinta: #1c2733; --tinta-suave: #5b6b7a;
    --borde: #e3e8ee; --marca: #0f6b5c; --marca-claro: #e6f2ef; --marca-borde: #a6cac3;
    --sobre-marca: #ffffff; --gris-fondo: #eef1f4;
    --alerta: #a04a06; --alerta-fondo: #fef3c7;
    --rojo: #b91c1c; --rojo-fondo: #fee2e2;
    --ok: #116b33; --ok-fondo: #dcfce7;
    --azul: #1d4ed8; --azul-fondo: #dbeafe; --violeta: #6d28d9; --sobre-violeta: #ffffff; --sobre-rojo: #ffffff;
  }
  .lateral,
footer.pie { display: none !important; }
  main { margin: 0 !important; max-width: none !important; }
  body { background: #fff; }
  .tarjeta > h2 { background: none; }
  tr { break-inside: avoid; }
}
.modal-velo { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:20px; background:var(--velo-modal); overflow:auto; }
.modal { position:relative; width:min(940px, 100%); max-height:calc(100vh - 40px); overflow:auto; background:var(--tarjeta); border:1px solid var(--borde); border-radius:12px; box-shadow:var(--sombra-modal); padding:26px; }
.modal-cerrar:not(.boton-secundario) { position:absolute; top:14px; right:16px; border:0; background:transparent; color:var(--tinta-suave); font-size:var(--glifo-control); line-height:1; cursor:pointer; }
@media (max-width:640px) { .modal-velo { padding:0; align-items:end; }.modal { max-height:94vh; border-radius:12px 12px 0 0; padding:20px 14px; } }
.negocio-identidad { font-size:12px; line-height:1.4; margin-top:6px; overflow-wrap:anywhere; }
html[data-navegacion="cargando"] .lateral,
html[data-navegacion="cargando"] body > main,
html[data-navegacion="cargando"] .procesos-modulo,
html[data-navegacion="cargando"] body > .pie,
html[data-seguir] body > * {
  visibility: hidden !important;
}
#estado-navegacion {
  position: fixed;
  inset: 35% 24px auto;
  z-index: 100;
  text-align: center;
  color: var(--tinta);
  visibility: hidden;
  animation: estado-navegacion-aparece 0s linear 300ms forwards;
}
@keyframes estado-navegacion-aparece { to { visibility: visible; } }
#estado-navegacion p { margin: 0 auto 16px; max-width: 440px; }
@media (max-width: 760px) {
  .procesos-modulo-nav { flex-wrap: wrap; overflow-x: visible; gap: 4px; padding-bottom: 4px; }
  .procesos-modulo-nav a { padding: 10px 9px; font-size: 13px; }
  .procesos-modulo { padding-top: 6px; }
}
.guia-vacia { margin: 12px 0 0; padding: 14px 16px; border: 1px dashed var(--borde); border-radius: 10px; background: var(--tarjeta); max-width: none; }
.guia-vacia + .guia-vacia { margin-top: 10px; }
.guia-vacia p { margin: 0; max-width: 72ch; }
.guia-vacia-titulo { font-size: 15px; font-weight: 700; color: var(--tinta); }
.guia-vacia-texto { margin-top: 4px !important; font-size: 14px; line-height: 1.45; color: var(--tinta-suave); }
.guia-vacia-quien { margin-top: 8px !important; font-size: 14px; line-height: 1.45; color: var(--tinta); }
.guia-vacia-boton { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; padding: 10px 18px; box-sizing: border-box; }
.termino-pro { font-size: .78em; font-weight: 400; color: var(--tinta-suave); white-space: nowrap; letter-spacing: 0; text-transform: none; }
.termino-pro::before { content: "· "; }
a.activo .termino-pro, [aria-current] .termino-pro { color: inherit; opacity: .8; }
.pagina-titulo .termino-pro { font-size: .45em; vertical-align: middle; }
.franjas { position: sticky; top: 0; z-index: 15; margin: 0 0 16px; display: grid; gap: 0; }
.franja-practica {
  padding: 8px 14px; border-radius: 0 0 10px 10px;
  background: var(--alerta-fondo); color: var(--alerta);
  border: 1px solid color-mix(in srgb, var(--alerta) 35%, transparent); border-top: 0;
  font-weight: 700; font-size: 14px; text-align: center; letter-spacing: .01em;
}
.franja-soporte {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 14px;
  padding: 8px 14px; border-radius: 0 0 10px 10px;
  background: var(--tinta, #16222e); color: var(--fondo, #fff);
  font-weight: 700; font-size: 14px; text-align: center; letter-spacing: .01em;
}
.franja-soporte + .franja-practica { border-radius: 0 0 10px 10px; }
.franjas .franja-soporte:not(:last-child) { border-radius: 0; }
.franja-soporte-salir {
  min-height: 32px; padding: 4px 12px; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 700;
  background: transparent; color: inherit; border: 1px solid currentColor; cursor: pointer;
}
.franja-soporte-salir:hover { background: color-mix(in srgb, currentColor 14%, transparent); }
.franja-soporte-salir:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.franja-soporte-modo { font-weight: 400; opacity: .9; }
body.solo-mirar [data-solo-mirar]:disabled { opacity: .55; cursor: not-allowed; }
body.solo-mirar [data-solo-mirar]::after { content: " · Solo mirar"; font-weight: 400; }
.aviso-intentos { margin: 0 0 12px; padding: 10px 14px; font-size: 14px; border-radius: 8px; background: var(--rojo-fondo); color: var(--rojo); }
.aviso-intentos a { color: inherit; font-weight: 600; }
.cpe-bloqueo .cpe-texto { margin: 6px 0; }
.cpe-soporte-estado { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 0 10px; }
.cpe-ingresos { margin-top: 14px; }
.cpe-solo-lista { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 4px; }
.cpe-ingresos-lista { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.cpe-ingreso { padding: 10px 12px; border: 1px solid var(--borde, #d9dfdc); border-radius: 10px; background: var(--superficie, transparent); }
.cpe-ingreso p { margin: 2px 0; overflow-wrap: anywhere; }
.cpe-ingreso-cab { font-size: 14px; }
details.ver-mas { display: block; margin: 2px 0 6px; font-size: inherit; line-height: inherit; color: inherit; max-width: 72ch; }
details.ver-mas > summary {
  display: inline-block; list-style: none; cursor: pointer; font-weight: 600; color: var(--marca);
  text-decoration: underline; text-underline-offset: 2px; border-radius: 4px;
}
details.ver-mas > summary::-webkit-details-marker { display: none; }
details.ver-mas > summary:focus-visible { outline: 2px solid var(--marca); outline-offset: 2px; }
details.ver-mas[open] .ver-mas-abrir, details.ver-mas:not([open]) .ver-mas-cerrar { display: none; }
.ver-mas-resto { display: block; margin-top: 4px; }
.info-globo .globo-corto { margin: 0; }
.info-globo details.ver-mas > summary { color: var(--tarjeta); }
.info-globo details.ver-mas > summary:focus-visible { outline-color: var(--tarjeta); }
.con-ver-mas > p { margin: 0; max-width: none; }
.mi-cuenta-enlace { color: var(--marca); text-decoration: underline; text-underline-offset: 2px; }
:root {
  --ven-marca: var(--marca);
  --ven-sobre-marca: var(--sobre-marca);
  --ven-accion: var(--ok);
  --ven-sobre-accion: var(--tarjeta);
  --ven-alerta: var(--rojo);
  --ven-alerta-fondo: var(--rojo-fondo);
  --ven-gris: var(--gris-fondo);
  --ven-gris-texto: var(--tinta-suave);
}
.ini-pasos { list-style: decimal; margin: 14px 0 0; padding-left: 26px; display: grid; gap: 8px; }
.ini-paso { padding: 10px 12px; border: 1px solid var(--borde); border-radius: 10px; }
.ini-paso::marker { font-weight: 700; color: var(--tinta-suave); }
.ini-texto { font-weight: 600; }
.ini-hecho .ini-texto { color: var(--tinta-suave); font-weight: 500; }
.ini-marca { margin-left: 10px; font-size: .82rem; color: var(--tinta-suave); }
.ini-siguiente { background: var(--marca-claro); border-color: var(--marca-borde); }
.ini-siguiente::marker { color: var(--marca); }
.ini-boton { display: inline-block; margin-left: 12px; }
.ini-ajeno { margin: 14px 0 0; }
.ini-listo { margin: 0; font-weight: 600; }
@media (max-width: 560px) { .ini-boton { display: block; margin: 8px 0 0; text-align: center; } }
.lectura-opcion { padding: 2px 10px; min-height: 0; font-size: .85rem; margin: 2px 2px; }
.carga { margin: 0 0 16px; }
.carga-texto { margin: 0 0 10px; color: var(--tinta-suave); font-weight: 600; }
.carga-linea { height: 12px; margin: 0 0 10px; border-radius: 6px; background: var(--borde); animation: carga-pulso 1.2s ease-in-out infinite; }
.carga-linea-90 { width: 90%; } .carga-linea-80 { width: 80%; } .carga-linea-70 { width: 70%; } .carga-linea-55 { width: 55%; }
.carga-lento .carga-texto, .carga-fallo .carga-texto, .carga-sesion .carga-texto { color: var(--tinta); }
.carga-reintentar { margin-top: 4px; }
#estado-navegacion .carga-linea { margin-left: auto; margin-right: auto; max-width: 440px; }
@keyframes carga-pulso { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .carga-linea { animation: none; } }
.ayuda-enlace { text-decoration: none; margin-bottom: 6px; }
@media (max-width: 1040px) { .ayuda-enlace { margin-bottom: 0; } .tema-caja { display: flex; gap: 6px; align-items: center; } }
.ter-caja { max-width: 560px; }
.ter-tarjeta { display: flex; flex-direction: column; gap: 10px; }
.ter-tarjeta h2, .ter-tarjeta p { margin: 0; }
.ter-provisional, .legal-provisional { padding: 8px 12px; border-radius: 8px; background: var(--alerta-fondo); color: var(--tinta); font-size: 13px; font-weight: 600; }
.ter-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ter-doc { display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid var(--borde); border-radius: 8px; }
.ter-doc p { font-size: 14px; color: var(--tinta-suave); }
.pin-form label { font-size: 13px; font-weight: 600; color: var(--tinta); }
.pin-form input { width: 100%; max-width: 220px; font-size: 20px; letter-spacing: 6px; }
.pin-regla { font-size: 13px; margin: 0; }
.pin-cuadro { width: min(380px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--borde); border-radius: 10px; background: var(--fondo-tarjeta, var(--fondo)); color: var(--tinta); }
.pin-cuadro::backdrop { background: var(--velo-modal, rgba(13, 31, 25, .5)); }
.pin-cuadro-cuerpo { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 20px; }
.pin-cuadro h2 { margin: 0; font-size: 17px; line-height: 1.3; }
.pin-cuadro p { margin: 0; font-size: 13px; }
.pin-cuadro label { font-size: 13px; font-weight: 600; }
.pin-cuadro input { width: 100%; max-width: 200px; font-size: 20px; letter-spacing: 6px; }
.pin-cuadro textarea.pin-cuadro-motivo { width: 100%; font: inherit; font-size: 14px; resize: vertical; }
.pin-cuadro .pin-cuadro-error { color: var(--rojo, #b42318); font-size: 13px; }
.pin-cuadro-botones { display: flex; gap: 8px; justify-content: flex-end; margin-top: 4px; }
.ter-version { font-size: 13px; }
.ter-leer { font-size: 14px; font-weight: 600; }
.ter-acciones { display: flex; gap: 10px; flex-wrap: wrap; }
.cuerpo-legal { background: var(--fondo); }
.legal { max-width: 760px; margin: 0 auto; padding: 24px 16px 48px; line-height: 1.55; font-size: 15px; }
.cuerpo-legal main.legal { margin-left: auto; }
.legal h1 { font-size: 26px; margin: 16px 0 4px; }
.legal h2 { font-size: 18px; margin: 22px 0 6px; }
.legal-recuadro { padding: 10px 14px; border: 1px solid var(--borde); border-radius: 8px; background: var(--tarjeta); }
.legal-tabla { overflow-x: auto; }
.legal-tabla table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-tabla th, .legal-tabla td { padding: 8px; border-bottom: 1px solid var(--borde); text-align: left; vertical-align: top; }
.legal-volver { margin-top: 24px; }
.sop-arriba { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 760px) { .sop-arriba { grid-template-columns: minmax(0, 1fr); row-gap: 0; } }
.sop-form { display: flex; flex-direction: column; gap: 12px; }
.sop-form textarea { width: 100%; resize: vertical; font: inherit; }
.sop-vias { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.sop-vias legend { font-size: 13px; color: var(--tinta-suave); margin-bottom: 4px; padding: 0; }
.sop-via { display: flex; align-items: center; gap: 6px; min-height: 32px; }
.sop-contacto p { margin: 0 0 10px; }
.sop-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sop-pedido { padding: 10px 12px; border: 1px solid var(--borde); border-radius: 8px; display: flex; flex-direction: column; gap: 4px; }
.sop-pedido-arriba { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sop-pedido-texto { margin: 0; white-space: pre-line; overflow-wrap: anywhere; font-size: 14px; }
.sop-estado { font-size: 13px; font-weight: 600; padding: 2px 10px; border-radius: 999px; background: var(--gris-fondo); color: var(--tinta); }
.sop-estado-en_curso { background: var(--alerta-fondo); }
.sop-estado-resuelto { background: var(--ok-fondo); }
.guia-halo { position: absolute; z-index: 1003; border: 3px solid #ffd84d; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(10, 20, 25, .45); pointer-events: none; box-sizing: border-box; }
.guia-globo { position: absolute; z-index: 1004; box-sizing: border-box; padding: 14px 16px 12px; border-radius: 12px; background: #ffd84d; color: #1d1d1b; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); font-size: 15px; line-height: 1.45; }
.guia-globo::before { content: ''; position: absolute; top: -8px; left: var(--guia-flecha, 24px); margin-left: -8px; border: 8px solid transparent; border-bottom-color: #ffd84d; border-top: 0; }
.guia-globo.guia-arriba::before { top: auto; bottom: -8px; border-bottom: 0; border-top: 8px solid #ffd84d; }
.guia-texto { margin: 0 0 12px; }
.guia-pie { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.guia-contador { flex: 1 1 100%; order: -1; font-size: 13px; color: #4a4636; }
.guia-pie .guia-ok { margin-left: auto; }
.guia-globo button { min-height: 40px; padding: 8px 12px; font-size: 14px; }
.guia-globo .guia-ok { background: #1d1d1b; color: #fff; border-color: #1d1d1b; }
.guia-globo .secundario { background: transparent; color: #1d1d1b; border: 1px solid rgba(29, 29, 27, .45); }
.guia-globo .guia-anterior:disabled { opacity: .45; }
.guia-globo button:focus-visible { outline: 3px solid #1d1d1b; outline-offset: 2px; }
.guia-velo { position: fixed; inset: 0; z-index: 1003; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(10, 20, 25, .5); }
.guia-bienvenida { width: 100%; max-width: 460px; max-height: calc(100vh - 32px); overflow: auto; margin: 0; box-sizing: border-box; }
.guia-bienvenida h2 { margin-top: 0; }
.guia-bienvenida-pasos { margin: 0 0 12px; padding-left: 22px; line-height: 1.6; }
.guia-bienvenida-pasos li { margin: 4px 0; }
.guia-bienvenida-pie { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.guia-ayuda-enlaces { display: flex; gap: 10px; flex-wrap: wrap; }
.guia-ciclo { margin: 0; padding-left: 22px; }
.guia-ciclo li { margin: 0 0 16px; }
.guia-ciclo h2 { margin: 0 0 4px; font-size: 1.05rem; }
.guia-ciclo p { margin: 0; }
.guia-ciclo-ir { margin-top: 8px; display: inline-block; }
.guia-ciclo-quien { margin-top: 6px !important; }
@media (max-width: 560px) { .guia-bienvenida-pie > *, .guia-ayuda-enlaces > * { flex: 1 1 100%; text-align: center; } }
.novedades-linea {
  display: inline-flex; align-items: center; gap: 6px; align-self: flex-start;
  padding: 2px 0; min-height: 0; background: none; border: 0; color: #d3e6e1;
  font-size: 12px; font-weight: 500; text-align: left; cursor: pointer;
}
.novedades-linea:hover { background: none; box-shadow: none; filter: none; text-decoration: underline; }
.novedades-nuevo { padding: 1px 7px; border-radius: 999px; background: #9bb347; color: #1c2410; font-size: 11px; font-weight: 700; }
.novedades-movil { display: none; }
@media (max-width: 1040px) {
  .lateral-pie .novedades-pc { display: none; }
  .lateral.menu-abierto .novedades-movil { display: inline-flex; flex-basis: 100%; order: 10; padding: 10px 12px; font-size: 13px; }
}
.modal.novedades-modal { width: min(520px, 100%); padding: 22px; }
.novedades-entrada h3 { margin: 14px 0 2px; font-size: 15px; }
.novedades-titulo-entrada { margin: 0 0 6px; font-weight: 700; }
.novedades-entrada ul { margin: 0; padding-left: 20px; }
.novedades-entrada li { margin: 4px 0; line-height: 1.45; }