@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--fondo: #fdf8f5;--papel: #f7f4ee;--superficie: #ffffff;--tinta: #1c1b19;--tinta-suave: #5e5b54;--tinta-tenue: #8c877d;--borde: #e7e2d8;--borde-fuerte: #d4cdc0;--acento: #c98a2e;--acento-oscuro: #b0741e;--acento-tenue: #f9f0df;--verde: #2d5a43;--verde-fondo: #e3ebe6;--rojo: #a23b2a;--rojo-fondo: #f7e6e3;--ambar: #9c6215;--ambar-fondo: #f9f0df;--fuente-ui: "Hanken Grotesk Variable", "Segoe UI", system-ui, sans-serif;--fuente-titulo: "Space Grotesk Variable", "Segoe UI", system-ui, sans-serif;--fuente-datos: ui-monospace, "SFMono-Regular", Consolas, monospace;--radio: 6px;--sombra: 0 10px 30px rgba(28, 27, 25, .12);font-family:var(--fuente-ui);color:var(--tinta);background:var(--fondo);font-size:15px;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--fuente-titulo);letter-spacing:-.01em;margin:0}h1{font-size:1.75rem;line-height:1.15}h2{font-size:1.125rem}a{color:var(--acento-oscuro)}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;min-height:36px;padding:.4rem .9rem;border:1px solid var(--acento-oscuro);border-radius:var(--radio);background:var(--acento);color:#fff;font-weight:600;cursor:pointer}button:hover{background:var(--acento-oscuro)}button.secundario{background:var(--papel);border-color:var(--borde-fuerte);color:var(--tinta);font-weight:500}button.secundario:hover{background:#ece7de}button.peligro{background:transparent;border-color:var(--rojo);color:var(--rojo)}button.peligro:hover{background:var(--rojo-fondo)}button.icono{min-height:32px;width:32px;padding:0;background:transparent;border-color:transparent;color:var(--tinta-suave)}button.icono:hover{background:#1c1b190f}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--acento);outline-offset:2px}input,select,textarea{width:100%;padding:.45rem .55rem;border:1px solid var(--borde-fuerte);border-radius:var(--radio);background:var(--superficie);color:var(--tinta);font-size:.9rem}textarea{min-height:3rem;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--acento)}label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--tinta-suave)}label.casilla{flex-direction:row;align-items:center;gap:.45rem}label.casilla input{width:auto}code,.mono{font-family:var(--fuente-datos);font-size:.8rem;letter-spacing:.01em;word-break:break-all}.numero{font-variant-numeric:tabular-nums lining-nums;text-align:right}.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1.25rem .9rem;background:var(--papel);border-right:1px solid var(--borde)}.marca{display:flex;align-items:center;gap:.6rem;padding:0 .35rem 1.5rem}.marca-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radio);background:var(--acento);color:#fff;font-family:var(--fuente-titulo);font-weight:700;font-size:.85rem}.marca-texto{display:flex;flex-direction:column;line-height:1.1}.marca-texto strong{font-family:var(--fuente-titulo);font-size:1rem;letter-spacing:-.02em}.marca-texto small{color:var(--tinta-tenue);font-size:.72rem;letter-spacing:.04em}.rail-nav{display:flex;flex-direction:column;gap:.15rem;flex:1}.rail-nav button{justify-content:flex-start;gap:.6rem;min-height:38px;padding:.35rem .6rem;background:transparent;border-color:transparent;color:var(--tinta);font-weight:500}.rail-nav button:hover{background:#1c1b190d}.rail-nav button.activo{background:var(--superficie);border-color:var(--borde-fuerte);font-weight:600}.rail-nav .chip{margin-left:auto}.rail-pie{display:flex;align-items:center;gap:.4rem;padding:.6rem .35rem 0;border-top:1px solid var(--borde)}.usuario{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ebe5da;color:var(--tinta-suave);font-size:.72rem;font-weight:700}.usuario-texto{display:flex;flex-direction:column;min-width:0;line-height:1.2}.usuario-texto strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usuario-texto small{color:var(--tinta-tenue);font-size:.7rem}.contenido{min-width:0;padding:1.75rem 2rem 3rem}.pagina{max-width:1180px;margin:0 auto}.barra-superior,.nav-inferior,.velo{display:none}.cabecera{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1.25rem}.cabecera-texto{flex:1;min-width:0}.cabecera h1{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.cabecera p{margin:.25rem 0 0;color:var(--tinta-suave);font-size:.85rem}.migas{display:flex;align-items:center;gap:.35rem;margin-bottom:.35rem;color:var(--tinta-tenue);font-size:.78rem}.panel{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:1rem;margin-bottom:1rem}.panel-cabecera{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.panel-cabecera h2{flex:1}.nota,.vacio{color:var(--tinta-suave);font-size:.85rem;margin:0 0 .75rem}.vacio{margin:0}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border:1px solid var(--borde-fuerte);border-radius:4px;background:var(--papel);color:var(--tinta-suave);font-size:.72rem;font-weight:600;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip.sin-punto:before{display:none}.chip.activa{background:var(--verde-fondo);border-color:#cad7cf;color:var(--verde)}.chip.por-vencer,.chip.pendiente{background:var(--ambar-fondo);border-color:#e8d7b8;color:var(--ambar)}.chip.vencida,.chip.cancelada{background:var(--rojo-fondo);border-color:#e8c8c3;color:var(--rojo)}.chip.suspendida{background:#ece7de;border-color:var(--borde-fuerte);color:var(--tinta-suave)}.error,.exito{border-radius:var(--radio);padding:.5rem .7rem;font-size:.85rem;margin:0 0 .75rem}.error{color:var(--rojo);background:var(--rojo-fondo);border:1px solid #e8c8c3}.exito{color:var(--verde);background:var(--verde-fondo);border:1px solid #cad7cf}.aviso-texto{color:var(--ambar);font-weight:600}.malo{color:var(--rojo);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.kpi{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:.85rem 1rem}.kpi small{display:block;color:var(--tinta-suave);font-size:.75rem;font-weight:600}.kpi strong{display:block;margin-top:.2rem;font-family:var(--fuente-titulo);font-size:1.9rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}.kpi strong.acento{color:var(--acento-oscuro)}.kpi strong.peligro{color:var(--rojo)}.kpi span{color:var(--tinta-tenue);font-size:.75rem}.tabla-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.45rem .65rem;border-bottom:1px solid var(--borde-fuerte);background:var(--papel);color:var(--tinta-suave);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}td{padding:.55rem .65rem;border-bottom:1px solid var(--borde);font-size:.88rem;vertical-align:middle}tbody tr:hover{background:#fbf8f4}tr:last-child td{border-bottom:none}.celda-principal{display:flex;flex-direction:column;gap:.1rem;min-width:0}.celda-principal strong{font-weight:600}.celda-principal small{color:var(--tinta-tenue);font-size:.72rem}td.acciones{display:flex;gap:.35rem;justify-content:flex-end;align-items:center}td.acciones button{min-height:30px;padding:.2rem .6rem;font-size:.8rem}.pie-tabla{display:flex;justify-content:space-between;gap:1rem;padding-top:.7rem;color:var(--tinta-tenue);font-size:.78rem}.menu{position:relative}.menu>summary{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;list-style:none;border:1px solid var(--borde-fuerte);border-radius:var(--radio);background:var(--papel);color:var(--tinta);cursor:pointer;font-weight:700;letter-spacing:.1em}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{background:var(--acento-tenue);border-color:var(--acento)}.menu-lista{position:absolute;right:0;z-index:20;min-width:170px;margin-top:.3rem;padding:.25rem;background:var(--superficie);border:1px solid var(--tinta);border-radius:var(--radio);box-shadow:var(--sombra)}.menu-lista button{justify-content:flex-start;width:100%;min-height:34px;background:transparent;border-color:transparent;color:var(--tinta);font-weight:500}.menu-lista button:hover{background:var(--papel)}.menu-lista button.peligro{color:var(--rojo)}.barras{display:flex;flex-direction:column;gap:.65rem}.barra-fila{display:grid;grid-template-columns:6.5rem 1fr 2rem;align-items:center;gap:.6rem;font-size:.8rem}.barra-pista{height:8px;border-radius:999px;background:var(--papel);overflow:hidden}.barra-pista span{display:block;height:100%;border-radius:999px;background:var(--tinta-tenue)}.barra-pista span.activa{background:var(--verde)}.barra-pista span.por-vencer{background:var(--acento)}.barra-pista span.vencida{background:var(--rojo)}.barra-fila b{font-variant-numeric:tabular-nums;text-align:right}.lista-simple{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.lista-simple li{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--borde);font-size:.85rem}.lista-simple li:last-child{border-bottom:none;padding-bottom:0}.lista-simple b{font-variant-numeric:tabular-nums}.columnas{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}.columnas-iguales{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:start}.dos-paneles{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}.dos-paneles.sin-editor{grid-template-columns:minmax(0,1fr)}.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:.75rem}.acciones{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem 1.25rem;margin:0}.datos dt{color:var(--tinta-tenue);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.datos dd{margin:.2rem 0 0;font-size:.9rem}.modulos{display:flex;flex-direction:column;gap:.3rem}.modulos>span{font-size:.8rem;font-weight:600;color:var(--tinta-suave)}.modulos label{flex-direction:row;align-items:center;gap:.45rem;font-weight:400}.modulos input{width:auto}.login{display:grid;place-items:center;min-height:100vh;padding:1.5rem;background:var(--fondo)}.login form{width:min(400px,100%);display:flex;flex-direction:column;gap:.9rem;padding:2rem;background:var(--superficie);border:1px solid var(--borde);border-radius:10px}.login .marca{padding:0 0 .5rem}.login h1{font-size:1.5rem}.login p{margin:0;color:var(--tinta-suave);font-size:.85rem}.login .pie{padding-top:.75rem;border-top:1px solid var(--borde);text-align:center;color:var(--tinta-tenue);font-size:.75rem}@media(max-width:1024px){.app{grid-template-columns:minmax(0,1fr)}.rail{position:fixed;z-index:40;left:0;top:0;width:250px;transform:translate(-100%);transition:transform .16s ease}.rail.abierto{transform:translate(0)}.velo.abierto{display:block;position:fixed;inset:0;z-index:30;background:#1c1b1959}.barra-superior{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-bottom:1px solid var(--borde);background:var(--papel)}.barra-superior .marca{padding:0}.barra-superior .marca-logo{width:28px;height:28px}.contenido{padding:1rem 1rem 2rem}.dos-paneles,.columnas{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){h1{font-size:1.4rem}.contenido{padding:.75rem .75rem 5.5rem}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.kpi strong{font-size:1.6rem}.cabecera{align-items:center}.cabecera button{width:100%}.nav-inferior{position:fixed;z-index:25;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--superficie);border-top:1px solid var(--borde)}.nav-inferior button{flex-direction:column;gap:.15rem;min-height:56px;border:none;border-radius:0;background:transparent;color:var(--tinta-suave);font-size:.68rem;font-weight:600}.nav-inferior button.activo{color:var(--acento-oscuro);background:var(--acento-tenue)}.nav-inferior svg{width:18px;height:18px}.tabla-tarjetas thead{display:none}.tabla-tarjetas,.tabla-tarjetas tbody,.tabla-tarjetas tr,.tabla-tarjetas td{display:block;width:100%}.tabla-tarjetas tr{margin-bottom:.6rem;padding:.7rem .8rem;background:var(--superficie);border:1px solid var(--borde);border-radius:8px}.tabla-tarjetas td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.2rem 0;border:none;text-align:right}.tabla-tarjetas td:before{content:attr(data-label);flex:0 0 auto;color:var(--tinta-tenue);font-size:.72rem;font-weight:600;text-align:left}.tabla-tarjetas td.celda-sin-etiqueta:before{display:none}.tabla-tarjetas td.celda-sin-etiqueta{justify-content:flex-start;text-align:left}.tabla-tarjetas td.acciones{justify-content:flex-end;padding-top:.5rem}.tabla-tarjetas td.acciones:before{display:none}.menu-lista{right:0}.barra-fila{grid-template-columns:5.5rem 1fr 2rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
