:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--negro:#070707;--negro-suave:#101010;--tinta:#f4f1e8;--tinta-suave:#b8b2a4;--papel:#0b0b0a;--superficie:#151513;--superficie-alterna:#1b1b18;--borde:#2c2c27;--borde-fuerte:#41413a;--acento:#f5cf16;--acento-oscuro:#d8b30e;--verde:#8fd6ad;--ambar:#f5cf16;--rojo:#f08a82;--radio:10px;--sombra:0 1px 2px #0009, 0 18px 40px #00000059;--lateral:250px;--alto-barra:64px;--fuente:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--papel);color:var(--tinta);font-family:var(--fuente);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45}h1,h2,h3,h4,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--acento)}:focus-visible{outline:2px solid var(--acento);outline-offset:2px}.app{min-height:100dvh}.barra{z-index:30;min-height:var(--alto-barra);padding:0 clamp(14px,3vw,24px);padding-top:env(safe-area-inset-top);background:var(--tinta);color:#f4f2ee;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.marca{min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.marca__sigla{letter-spacing:.14em;text-transform:uppercase;border:1px solid #f4f2ee66;justify-content:center;align-items:center;min-width:38px;height:30px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.marca__nombre{letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:600}.marca__nombre span{color:#f4f2ee9e;font-weight:400}.usuario{align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.usuario__datos{text-align:right;min-width:0;line-height:1.25;display:none}.usuario__nombre{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;display:block;overflow:hidden}.usuario__rol{letter-spacing:.08em;text-transform:uppercase;color:#f4f2ee9e;font-size:11px;display:block}.boton-salir{color:#f4f2ee;cursor:pointer;background:0 0;border:1px solid #f4f2ee59;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:13px;display:inline-flex}.boton-salir:hover{background:#f4f2ee1a}.cuerpo{grid-template-columns:var(--lateral) minmax(0, 1fr);display:grid}.lateral{top:var(--alto-barra);height:calc(100vh - var(--alto-barra));height:calc(100dvh - var(--alto-barra));border-right:1px solid var(--borde);background:#efece5;align-self:start;padding:18px 12px 32px;position:sticky;overflow-y:auto}.nav{flex-direction:column;gap:2px;display:flex}.nav__grupo{letter-spacing:.14em;text-transform:uppercase;color:#837d72;padding:18px 12px 6px;font-size:10px;font-weight:600}.nav__grupo:first-child{padding-top:4px}.nav__enlace{min-height:44px;color:var(--tinta-suave);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.nav__enlace.activo{background:var(--tinta);color:#f4f2ee}.nav__sprint{letter-spacing:.08em;text-transform:uppercase;color:#8b857a;white-space:nowrap;font-size:10px}.contenido{width:100%;max-width:1280px;padding:28px clamp(16px,3vw,40px) 72px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.pagina{flex-direction:column;gap:24px;display:flex}.pagina__cabecera{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.titulo{letter-spacing:-.025em;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.15}.subtitulo{max-width:68ch;color:var(--tinta-suave);margin-top:6px;font-size:14px;line-height:1.55}.seccion__cabecera{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.seccion__titulo{letter-spacing:.01em;font-size:15px;font-weight:600}.seccion__nota{color:var(--tinta-suave);font-size:13px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:clamp(16px,2.4vw,24px)}.tarjeta--plana{box-shadow:none}.rejilla-kpi{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.kpi__etiqueta{letter-spacing:.14em;text-transform:uppercase;color:#7d776c;font-size:10px;font-weight:600}.kpi__valor{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:clamp(28px,4vw,36px);font-weight:600;line-height:1}.kpi__nota{color:var(--tinta-suave);margin-top:8px;font-size:12px}.medidor{background:#eae5dc;border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.medidor__relleno{background:var(--acento);border-radius:999px;height:100%;transition:width .3s}.rejilla-dos{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;display:grid}.lista-obras{margin:0;padding:0;list-style:none}.obra-fila{border-bottom:1px solid #efeae2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.obra-fila:last-child{border-bottom:0;padding-bottom:0}.obra-fila__datos{flex:220px;min-width:0}.obra-fila__meta{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.meta-dato{color:var(--tinta);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;gap:2px;font-size:13px;display:flex}.meta-etiqueta{color:#837d72;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:600}.datos-cuenta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;display:grid}.dato{flex-direction:column;gap:4px;min-width:0;display:flex}.dato__valor{overflow-wrap:anywhere;font-size:14px}.lista-marco{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden}.lista-asistencia{margin:0;padding:0;list-style:none}.asistencia-fila{border-bottom:1px solid #efeae2;grid-template-columns:minmax(190px,1.4fr) minmax(250px,1fr) auto;align-items:center;gap:20px;padding:14px 20px;display:grid}.asistencia-fila:last-child{border-bottom:0}.asistencia-fila__persona{min-width:0}.asistencia-fila__marcas{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.marca-tiempo{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:14px;display:flex}.asistencia-fila__accion{justify-content:flex-end;align-items:center;gap:8px;display:flex}.asistencia-fila__accion .boton{white-space:nowrap}.lista-simple{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lista-simple li{border-bottom:1px solid #ece7de;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font-size:14px;display:flex}.lista-simple li:last-child{border-bottom:0;padding-bottom:0}.lista-numerada{color:var(--tinta-suave);flex-direction:column;gap:10px;margin:0;padding-left:20px;font-size:14px;line-height:1.55;display:flex}.tabla-marco{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);-webkit-overflow-scrolling:touch;overflow-x:auto}.tabla{border-collapse:collapse;width:100%;min-width:660px;font-size:14px}.tabla th{background:var(--superficie-alterna);border-bottom:1px solid var(--borde);color:#79736a;letter-spacing:.12em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 16px;font-size:10px;font-weight:600}.tabla td{vertical-align:middle;border-bottom:1px solid #efeae2;padding:12px 16px}.tabla tr:last-child td{border-bottom:0}.tabla__num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tabla__acciones{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.celda-principal{font-weight:500}.celda-nota{color:var(--tinta-suave);margin-top:2px;font-size:12px;display:block}.boton{border:1px solid var(--borde-fuerte);background:var(--superficie);min-height:44px;color:var(--tinta);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.boton:hover{background:#f6f3ec}.boton--tenue{color:var(--acento);background:0 0;border-color:#0000;padding:0 8px}.boton--peligro{color:var(--rojo);background:0 0;border-color:#dcc0bd}.boton:disabled{opacity:.5;cursor:not-allowed}.formulario{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.campo{flex-direction:column;gap:6px;min-width:0;display:flex}.campo--ancho{grid-column:1/-1}.campo__etiqueta{color:#6f695f;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.campo__control{border:1px solid var(--borde-fuerte);width:100%;min-height:44px;color:var(--tinta);background:#fff;border-radius:8px;padding:10px 12px;font-size:16px}.campo__control:focus{border-color:var(--acento);outline:none;box-shadow:0 0 0 3px #9c452724}.campo__control--fijo{color:var(--tinta-suave);background:#f6f3ec;align-items:center;display:flex}.campo__ayuda{color:var(--tinta-suave);font-size:12px}.campo__error{color:var(--rojo);font-size:12px}.acciones{flex-wrap:wrap;gap:10px;display:flex}.filtros{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.filtros .campo{min-width:190px}.casilla{min-height:44px;color:var(--tinta-suave);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:inline-flex}.casilla input{width:18px;height:18px;accent-color:var(--acento)}.insignia{letter-spacing:.05em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.insignia--terminado{color:#3d3a34;background:#e7e5df}.insignia--tenue{color:#6f695f;background:#f1ede6}.aviso{border:1px solid var(--borde);color:var(--tinta-suave);background:#f2efe8;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.55}.aviso strong{font-weight:600}.cargando{color:var(--tinta-suave);align-items:center;gap:12px;padding:40px 0;font-size:14px;display:flex}.cargando:before{content:"";border:2px solid var(--borde);border-top-color:var(--acento);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite girar}@keyframes girar{to{transform:rotate(360deg)}}.vacio{text-align:center;color:var(--tinta-suave);padding:32px 20px;font-size:14px}.vacio strong{color:var(--tinta);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.pantalla-centrada{background:var(--papel);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.pantalla-caja{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);width:100%;max-width:460px;box-shadow:var(--sombra);padding:32px}.pantalla-caja h1{letter-spacing:-.02em;margin-bottom:12px;font-size:22px}.pantalla-caja p{color:var(--tinta-suave);margin-bottom:12px;font-size:14px;line-height:1.6}.pantalla-caja ul{color:var(--tinta-suave);margin:0 0 14px;padding-left:20px;font-size:14px;line-height:1.6}.pantalla-caja code{background:#f1ede6;border-radius:4px;padding:1px 5px;font-size:12px}.acceso{background:var(--papel);grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.acceso__marca{background:var(--tinta);color:#f4f2ee;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(32px,5vw,64px);display:flex}.acceso__logo{letter-spacing:.22em;text-transform:uppercase;color:#f4f2eeb8;font-size:13px;font-weight:600}.acceso__titular{letter-spacing:-.035em;max-width:14ch;font-size:clamp(32px,4.6vw,52px);font-weight:500;line-height:1.05}.acceso__pie{color:#f4f2ee9e;max-width:40ch;font-size:13px;line-height:1.6}.acceso__panel{justify-content:center;align-items:center;padding:clamp(24px,5vw,64px);display:flex}.acceso__caja{flex-direction:column;gap:20px;width:100%;max-width:380px;display:flex}.acceso__encabezado h1{letter-spacing:-.025em;font-size:24px;font-weight:600}.acceso__encabezado p{color:var(--tinta-suave);margin-top:6px;font-size:13px}.acceso__formulario{flex-direction:column;gap:16px;display:flex}.acceso__formulario .boton{margin-top:4px}.acceso__nota{border-top:1px solid var(--borde);color:#837d72;padding-top:16px;font-size:12px;line-height:1.6}@media (width>=720px){.usuario__datos{display:block}.campo__control{font-size:14px}}@media (width<=980px){.rejilla-dos{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.cuerpo{grid-template-columns:minmax(0,1fr)}.lateral{top:var(--alto-barra);z-index:20;border-right:0;border-bottom:1px solid var(--borde);background:#efece5;height:auto;padding:8px}.nav{scrollbar-width:thin;flex-direction:row;gap:6px;padding-bottom:2px;overflow-x:auto}.nav__grupo{display:none}.nav__enlace{white-space:nowrap;background:var(--superficie);border:1px solid var(--borde);min-height:44px;padding:8px 14px}.nav__enlace.activo{border-color:var(--tinta)}.nav__sprint{display:none}.contenido{padding:20px 16px calc(56px + env(safe-area-inset-bottom))}}@media (width<=760px){.asistencia-fila{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.asistencia-fila__marcas{border-top:1px solid #f1ece4;border-bottom:1px solid #f1ece4;padding:12px 0}.asistencia-fila__accion{justify-content:stretch}.asistencia-fila__accion .boton{width:100%}.obra-fila__meta{gap:16px;width:100%}}@media (width<=860px){.acceso{grid-template-columns:minmax(0,1fr)}.acceso__marca{gap:12px;padding:28px 24px}.acceso__titular{max-width:none;font-size:26px}.acceso__pie{display:none}.acceso__panel{align-items:flex-start;padding:28px 20px 56px}}@media (width<=560px){.rejilla-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rejilla-kpi .tarjeta{padding:14px}.kpi__valor{font-size:26px}.kpi__nota{font-size:11px}.pagina__cabecera{align-items:flex-start}.pagina__cabecera .acciones{width:100%}.pagina__cabecera .acciones .boton{flex:auto}.marca__nombre span{display:none}.tabla{min-width:600px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.barra,.lateral,.acciones,.boton{display:none!important}.cuerpo{display:block}.contenido{padding:0}.tarjeta,.tabla-marco{box-shadow:none}}::selection{background:var(--acento);color:#0a0a08}.barra{background:var(--negro);border-bottom:1px solid #1c1c18}.marca__marca{width:auto;height:34px;display:block}.marca__texto{color:var(--tinta);letter-spacing:-.02em;white-space:nowrap;font-size:17px;font-weight:700}.marca__texto span{color:var(--acento)}.marca__obra{color:var(--acento);letter-spacing:.2em;text-transform:uppercase;border-left:1px solid #f4f1e838;padding-left:10px;font-size:10px;font-weight:600}.lateral{border-right-color:var(--borde);background:#0e0e0d}.nav__grupo{color:#8d887b}.nav__enlace{color:var(--tinta-suave)}.nav__enlace:hover{color:var(--tinta);background:#f5cf1614}.nav__enlace.activo{background:var(--acento);color:#0a0a08;border-color:var(--acento)}.nav__enlace.activo .nav__sprint{color:#0a0a08a6}.nav__sprint{color:#7f7a6e}.boton{background:var(--superficie);border-color:var(--borde-fuerte);color:var(--tinta)}.boton:hover{background:#20201c;border-color:#55554b}.boton--primario{background:var(--acento);border-color:var(--acento);color:#0a0a08}.boton--primario:hover{background:var(--acento-oscuro);border-color:var(--acento-oscuro)}.boton--tenue{color:var(--acento)}.boton--tenue:hover{background:#f5cf161a}.boton--peligro{color:var(--rojo);border-color:#5a2c2a}.boton--peligro:hover{background:#2a1513}.boton-salir{border-color:#f4f1e847}.boton-salir:hover{background:#f5cf161f;border-color:#f5cf1666}.campo__control{border-color:var(--borde-fuerte);color:var(--tinta);background:#0f0f0d}.campo__control:focus{border-color:var(--acento);box-shadow:0 0 0 3px #f5cf1629}.campo__control--fijo{color:var(--tinta-suave);background:#191916}.campo__etiqueta{color:#9b9588}.campo__ayuda{color:#989285}.tabla-marco,.lista-marco{background:var(--superficie);border-color:var(--borde)}.tabla th{background:var(--superficie-alterna);border-bottom-color:var(--borde);color:#a7a194}.tabla td{border-bottom-color:#242420}.tabla tbody tr:hover{background:#1c1c18}.celda-nota,.seccion__nota,.kpi__nota,.subtitulo{color:var(--tinta-suave)}.lista-simple li,.obra-fila,.asistencia-fila{border-bottom-color:#242420}.meta-etiqueta,.kpi__etiqueta{color:#9d978a}.medidor{background:#2a2a24}.insignia--planeado{color:#c5bfb1;background:#242420}.insignia--en_ejecucion{color:#8fd6ad;background:#183026}.insignia--pausado{color:var(--acento);background:#332b0e}.insignia--terminado,.insignia--tenue{color:#b8b2a4;background:#22221f}.insignia--alerta{color:#f3a39b;background:#3a1c19}.aviso{border-color:var(--borde);color:var(--tinta-suave);background:#191916}.aviso--error{color:#f3a39b;background:#2a1513;border-color:#5a2c2a}.aviso--exito{color:#9adbb7;background:#14261d;border-color:#2f5a43}.aviso--info{color:var(--tinta-suave);background:#191916;border-color:#34342d}.pantalla-caja{background:var(--superficie);border-color:var(--borde)}.pantalla-caja code{color:var(--acento);background:#242420}.pantalla-caja ul{color:var(--tinta-suave)}.acceso{background:var(--papel)}.acceso__marca{background:#050505;border-right:1px solid #1a1a16}.acceso__panel{background:var(--papel)}.acceso__caja{background:var(--superficie);border:1px solid var(--borde);box-shadow:var(--sombra);border-radius:14px;padding:clamp(24px,3vw,36px)}.acceso__logo-img{width:min(240px,72%);height:auto;display:block}.acceso__nota{border-top-color:var(--borde);color:#8f897c}.acceso__pie{color:#f4f1e88c}.cargando,.vacio{color:var(--tinta-suave)}.pantalla-centrada{background:var(--papel)}.tabla-marco,.lista-marco,.tarjeta,.pantalla-caja,.acceso__caja{box-shadow:var(--sombra)}@media (width<=760px){.marca__marca{height:28px}.marca__texto{font-size:15px}.marca__obra{display:none}.acceso__logo-img{width:min(200px,68%)}.acceso__caja{padding:24px 20px}}
