:root{
  --lc-blanco:#FFFFFF;
  --lc-tinta:#14213D;
  --lc-fondo-escena:#E4E7EB;
  --lc-sombra-apoyo:rgba(20,33,61,.22);
  --lc-sombra-transparente:rgba(20,33,61,0);
  --lc-papel-stock:#F1F3F6;
  --lc-papel-obras:#F4F6F8;
  --lc-papel-facturacion:#F7F8FA;
  --lc-papel-indicadores:#FAFBFC;
  --lc-papel-reportes:#FDFDFE;
  --lc-borde-papel:#CBD1DA;
  --lc-sombra-suave:rgba(20,33,61,.05);
  --lc-sombra-media:rgba(20,33,61,.08);
  --lc-sombra-solapa:rgba(20,33,61,.07);
  --lc-tinta-hover:#0A1226;
  --lc-texto-suave:#5B6577;
  --lc-filete:#C9D0D9;
  --lc-esquema-claro:#E1E5EB;
  --lc-esquema-nombre:#D5DBE3;
  --lc-esquema-pista:#E6EAEF;
  --lc-esquema-relleno:#AEB7C4;
  --lc-esquema-avance:#8A94A6;
  --lc-sombra-portada:rgba(20,33,61,.06);
  --lc-verde:#509338;
  --lc-bajada:#4A5468;
  --lc-borde-campo:#BFC6D0;
  --lc-placeholder:#7A8496;
}

body{margin:0}
.lc-login,.lc-login *{box-sizing:border-box}
.lc-login{min-height:100vh;display:flex;flex-wrap:wrap;font-family:var(--font-ui);background:var(--lc-blanco);color:var(--lc-tinta)}

.lc-escena{position:relative;overflow:hidden;flex:999 1 560px;min-width:0;min-height:600px;display:flex;align-items:center;justify-content:center;padding:56px 56px 88px;background:var(--lc-fondo-escena);color:var(--lc-tinta)}
.lc-carpeta{position:relative;width:330px;height:425px}

.lc-sombra{position:absolute;left:8px;right:36px;bottom:-16px;height:30px;background:radial-gradient(closest-side,var(--lc-sombra-apoyo),var(--lc-sombra-transparente));animation:lc-sombra-entra .9s cubic-bezier(.22,.61,.36,1) .3s both}

.lc-hoja{position:absolute;left:0;top:0;width:300px;height:420px;transform:translate(0,var(--lc-desplazo));animation:lc-hoja-entra .9s cubic-bezier(.22,.61,.36,1) both}

.lc-hoja--stock{--lc-desplazo:5px;--lc-papel:var(--lc-papel-stock);animation-delay:.3s}
.lc-hoja--obras{--lc-desplazo:4px;--lc-papel:var(--lc-papel-obras);animation-delay:.75s}
.lc-hoja--facturacion{--lc-desplazo:3px;--lc-papel:var(--lc-papel-facturacion);animation-delay:1.2s}
.lc-hoja--indicadores{--lc-desplazo:2px;--lc-papel:var(--lc-papel-indicadores);animation-delay:1.65s}
.lc-hoja--reportes{--lc-desplazo:1px;--lc-papel:var(--lc-papel-reportes);animation-delay:2.1s}

.lc-hoja-cuerpo{position:relative;width:100%;height:100%;padding:28px;background:var(--lc-papel);color:var(--lc-tinta);border:1px solid var(--lc-borde-papel);box-shadow:0 1px 1px var(--lc-sombra-suave),0 3px 8px -2px var(--lc-sombra-media);transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.lc-solapa{position:absolute;left:100%;width:28px;height:76px;display:flex;align-items:center;justify-content:center;background:var(--lc-papel);color:var(--lc-tinta);border:1px solid var(--lc-borde-papel);border-left:0;border-radius:0 3px 3px 0;box-shadow:2px 1px 3px var(--lc-sombra-solapa)}

.lc-solapa::before{content:"";position:absolute;top:0;bottom:0;right:100%;width:56px}
.lc-solapa-texto{writing-mode:vertical-rl;font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--lc-tinta)}
.lc-hoja--stock .lc-solapa{top:340px}
.lc-hoja--obras .lc-solapa{top:260px}
.lc-hoja--facturacion .lc-solapa{top:180px}
.lc-hoja--indicadores .lc-solapa{top:100px}
.lc-hoja--reportes .lc-solapa{top:20px}

@media (hover:hover){
  .lc-hoja:hover .lc-hoja-cuerpo{transform:translateX(48px)}
  .lc-hoja:hover .lc-solapa-texto{color:var(--lc-tinta-hover);font-weight:600}
}

.lc-hoja-encabezado{height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.lc-hoja-logo{display:block;width:auto;max-width:150px;flex:0 0 auto}
.lc-hoja--stock .lc-hoja-logo{height:40px}
.lc-hoja--obras .lc-hoja-logo{height:31px}
.lc-hoja--facturacion .lc-hoja-logo{height:21px}
.lc-hoja--indicadores .lc-hoja-logo{height:29px}
.lc-hoja--reportes .lc-hoja-logo{height:34px}
.lc-hoja-tema{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lc-texto-suave);white-space:nowrap}
.lc-filete{height:1px;background:var(--lc-filete);margin:14px 0 22px}

.lc-linea{height:6px;background:var(--lc-esquema-claro);margin-bottom:12px}
.lc-nivel{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.lc-nivel-nombre{display:block;width:64px;height:6px;background:var(--lc-esquema-nombre)}
.lc-nivel-pista{display:block;flex:1;height:10px;background:var(--lc-esquema-pista)}
.lc-nivel-relleno{display:block;height:100%;background:var(--lc-esquema-relleno)}
.lc-obra{margin-bottom:24px}
.lc-obra-nombre{display:block;height:6px;background:var(--lc-esquema-nombre);margin-bottom:9px}
.lc-obra-pista{display:block;height:4px;background:var(--lc-esquema-pista)}
.lc-obra-avance{display:block;height:100%;background:var(--lc-esquema-avance)}
.lc-renglon{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--lc-esquema-pista)}
.lc-renglon-concepto,.lc-renglon-importe{display:block;height:6px;background:var(--lc-esquema-nombre)}
.lc-renglon--total{border-bottom:0;border-top:1px solid var(--lc-esquema-relleno);margin-top:6px}
.lc-renglon--total .lc-renglon-concepto,.lc-renglon--total .lc-renglon-importe{height:8px;background:var(--lc-esquema-avance)}
.lc-indicadores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}
.lc-indicador{border:1px solid var(--lc-esquema-claro);padding:12px}
.lc-indicador-nombre{display:block;width:50%;height:5px;background:var(--lc-esquema-nombre);margin-bottom:10px}
.lc-indicador-valor{display:block;width:70%;height:14px;background:var(--lc-esquema-relleno)}
.lc-indicador:nth-child(2) .lc-indicador-valor{width:55%}
.lc-grafico{display:block;width:100%;height:auto}
.lc-grafico-grilla{fill:none;stroke:var(--lc-esquema-pista);stroke-width:1}
.lc-grafico-serie{fill:none;stroke:var(--lc-tinta);stroke-width:1.5;stroke-linejoin:round}

.lc-hoja--stock .lc-esquema > :nth-child(1) .lc-nivel-relleno{width:82%}
.lc-hoja--stock .lc-esquema > :nth-child(2) .lc-nivel-relleno{width:64%}
.lc-hoja--stock .lc-esquema > :nth-child(3) .lc-nivel-relleno{width:91%}
.lc-hoja--stock .lc-esquema > :nth-child(4) .lc-nivel-relleno{width:38%}
.lc-hoja--stock .lc-esquema > :nth-child(5) .lc-nivel-relleno{width:73%}
.lc-hoja--stock .lc-esquema > :nth-child(6) .lc-nivel-relleno{width:55%}
.lc-hoja--obras .lc-esquema > :nth-child(1) .lc-obra-nombre{width:58%}
.lc-hoja--obras .lc-esquema > :nth-child(1) .lc-obra-avance{width:72%}
.lc-hoja--obras .lc-esquema > :nth-child(2) .lc-obra-nombre{width:44%}
.lc-hoja--obras .lc-esquema > :nth-child(2) .lc-obra-avance{width:45%}
.lc-hoja--obras .lc-esquema > :nth-child(3) .lc-obra-nombre{width:66%}
.lc-hoja--obras .lc-esquema > :nth-child(3) .lc-obra-avance{width:90%}
.lc-hoja--obras .lc-esquema > :nth-child(4) .lc-obra-nombre{width:38%}
.lc-hoja--obras .lc-esquema > :nth-child(4) .lc-obra-avance{width:28%}
.lc-hoja--facturacion .lc-esquema > :nth-child(1) .lc-renglon-concepto{width:46%}
.lc-hoja--facturacion .lc-esquema > :nth-child(1) .lc-renglon-importe{width:18%}
.lc-hoja--facturacion .lc-esquema > :nth-child(2) .lc-renglon-concepto{width:38%}
.lc-hoja--facturacion .lc-esquema > :nth-child(2) .lc-renglon-importe{width:22%}
.lc-hoja--facturacion .lc-esquema > :nth-child(3) .lc-renglon-concepto{width:52%}
.lc-hoja--facturacion .lc-esquema > :nth-child(3) .lc-renglon-importe{width:16%}
.lc-hoja--facturacion .lc-esquema > :nth-child(4) .lc-renglon-concepto{width:41%}
.lc-hoja--facturacion .lc-esquema > :nth-child(4) .lc-renglon-importe{width:20%}
.lc-hoja--facturacion .lc-esquema > :nth-child(5) .lc-renglon-concepto{width:34%}
.lc-hoja--facturacion .lc-esquema > :nth-child(5) .lc-renglon-importe{width:14%}
.lc-hoja--facturacion .lc-esquema > :nth-child(6) .lc-renglon-concepto{width:30%}
.lc-hoja--facturacion .lc-esquema > :nth-child(6) .lc-renglon-importe{width:24%}
.lc-hoja--reportes .lc-esquema > :nth-child(1){width:100%}
.lc-hoja--reportes .lc-esquema > :nth-child(2){width:94%}
.lc-hoja--reportes .lc-esquema > :nth-child(3){width:66%}
.lc-hoja--reportes .lc-esquema > :nth-child(4){width:88%;margin-top:22px}
.lc-hoja--reportes .lc-esquema > :nth-child(5){width:100%}
.lc-hoja--reportes .lc-esquema > :nth-child(6){width:72%}
.lc-hoja--reportes .lc-esquema > :nth-child(7){width:90%;margin-top:22px}
.lc-hoja--reportes .lc-esquema > :nth-child(8){width:58%}

.lc-portada{display:flex;flex-direction:column;padding:28px 28px 22px;background:var(--lc-blanco);color:var(--lc-tinta);border:1px solid var(--lc-borde-papel);box-shadow:0 1px 1px var(--lc-sombra-portada),0 12px 26px -10px var(--lc-sombra-apoyo);transform:none;animation:lc-portada-cae .85s cubic-bezier(.22,.61,.36,1) 2.65s both}
.lc-portada-centro{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lc-portada-logo{display:block;width:164px;height:auto;animation:lc-aparece .7s ease-out 3.1s both}
.lc-portada-filete{width:32px;height:2px;background:var(--lc-verde);margin-top:26px;animation:lc-aparece .7s ease-out 3.25s both}
.lc-portada-pie{padding-top:12px;border-top:1px solid var(--lc-esquema-pista);font-size:11px;letter-spacing:.02em;text-align:center;color:var(--lc-texto-suave);animation:lc-aparece .7s ease-out 3.4s both}

.lc-escena-pie{position:absolute;left:56px;bottom:30px;margin:0;font-size:12px;color:var(--lc-texto-suave)}

.lc-acceso{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:56px 48px;background:var(--lc-blanco);color:var(--lc-tinta)}
.lc-acceso-caja{width:100%;max-width:380px}
.lc-antetitulo{margin:0;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lc-texto-suave)}
.lc-titulo{margin:12px 0 0;font-family:var(--font-ui);font-size:40px;line-height:1.1;font-weight:500;color:var(--lc-tinta)}
.lc-bajada{margin:10px 0 0;font-size:15px;color:var(--lc-bajada)}
.lc-mensaje{margin:24px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-soft);font-size:14px;line-height:1.45}
.lc-mensaje--error{border-color:var(--rojo);background:var(--rojo-bg);color:var(--rojo)}
.lc-etiqueta{display:block;font-size:13px;font-weight:500;margin:22px 0 8px;color:var(--lc-tinta)}
.lc-campo{display:block;width:100%;height:48px;padding:0 14px;border:1px solid var(--lc-borde-campo);border-radius:2px;background:var(--lc-blanco);color:var(--lc-tinta);font-family:inherit;font-size:15px}
.lc-campo::placeholder{color:var(--lc-placeholder)}
.lc-campo:focus{border-color:var(--lc-tinta)}
.lc-boton{display:block;margin-top:30px;width:100%;height:50px;border:0;border-radius:2px;background:var(--lc-tinta);color:var(--lc-blanco);font-family:inherit;font-weight:600;font-size:15px;cursor:pointer}
.lc-boton:hover{background:var(--lc-tinta-hover);color:var(--lc-blanco)}
.lc-campo:focus-visible,.lc-boton:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.lc-ayuda{margin:24px 0 0;font-size:13px;line-height:1.5;color:var(--lc-texto-suave)}

@keyframes lc-hoja-entra{from{transform:translate(64px,var(--lc-desplazo));opacity:0}to{transform:translate(0,var(--lc-desplazo));opacity:1}}
@keyframes lc-sombra-entra{from{transform:translateX(64px);opacity:0}to{transform:none;opacity:1}}
@keyframes lc-portada-cae{from{transform:translate(-8px,-18px);opacity:0}to{transform:none;opacity:1}}
@keyframes lc-aparece{from{opacity:0}to{opacity:1}}

@media (min-width:600px) and (max-width:1000px){
  .lc-login{flex-wrap:nowrap}
  .lc-escena{flex:0 0 50%;padding:56px 16px 88px}
  .lc-carpeta{flex-shrink:0;transform:scale(.47);transform:scale(min(1,tan(atan2(calc(50vw - 34px),566px))))}
  .lc-acceso{flex:0 0 50%;min-width:0;padding:56px 24px}
}
@media not all and (min-width:600px){
  .lc-escena{flex-basis:100%;min-height:0;height:240px;padding:24px}
  .lc-carpeta{transform:scale(.48)}
  .lc-escena-pie{display:none}
  .lc-acceso{padding:40px 24px 56px}
}

@media (prefers-reduced-motion:reduce){
  .lc-sombra,.lc-hoja,.lc-portada,.lc-portada-logo,.lc-portada-filete,.lc-portada-pie{animation:none}
  .lc-hoja-cuerpo{transition:none}
}

.lc-escena--quieta .lc-sombra,.lc-escena--quieta .lc-hoja,.lc-escena--quieta .lc-portada,.lc-escena--quieta .lc-portada-logo,.lc-escena--quieta .lc-portada-filete,.lc-escena--quieta .lc-portada-pie{animation:none}
.lc-escena--quieta .lc-hoja-cuerpo{transition:none}
.lc-formulario .lc-etiqueta>.lc-campo{margin-top:8px}
.lc-nota{display:block;margin-top:8px;font-size:12px;font-weight:400;line-height:1.5;color:var(--lc-texto-suave)}
.lc-enlace{display:block;margin-top:24px;color:var(--lc-tinta);font-size:13px;text-align:center;text-decoration:underline}
.lc-enlace:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.lc-configuracion{margin-top:24px}
.lc-qr{display:grid;place-items:center;width:180px;min-height:180px;margin:0 auto 18px;border:1px solid var(--lc-borde-campo);background:var(--lc-blanco)}
.lc-qr img{display:block;width:164px;height:164px;max-width:none}
.lc-clave{display:grid;gap:8px}
.lc-clave>span{font-size:12px;font-weight:500;color:var(--lc-texto-suave)}
.lc-clave code,.lc-codigos code{display:block;padding:10px 12px;border:1px solid var(--lc-borde-campo);background:var(--surface-2);color:var(--lc-tinta);font:400 14px/1.5 var(--font-num);overflow-wrap:anywhere}
.lc-codigos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
