:root{--rojo: #E2211C;--rojo-osc: #B9140F;--rojo-suave: #FDE8E7;--marino: #011640;--marino-2: #0B2559;--marino-3: #1A3670;--gris: #6C6B6B;--gris-claro: #C3C8D0;--linea: #E4E7EC;--fondo: #F5F6F8;--blanco: #FFFFFF;--tinta: #172033;--tinta-2: #4A5162;--verde: #18864B;--verde-suave: #E3F4EA;--ambar: #C77A00;--ambar-suave: #FFF1D6;--azul: #2160C4;--azul-suave: #E3ECFB;--violeta: #6A47B0;--violeta-suave: #EEE8F8;--gris-suave: #EDEFF2;--sombra: 0 1px 2px rgba(1, 22, 64, .06), 0 2px 8px rgba(1, 22, 64, .05);--sombra-alta: 0 12px 40px rgba(1, 22, 64, .22);--radio: 10px;--menu: 250px;--menu-plegado: 70px;--letra: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--fondo);color:var(--tinta);font-family:var(--letra);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}h1,h2,h3,h4{color:var(--marino);margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:24px}h2{font-size:16px}h3{font-size:15px}h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin:20px 0 8px}a{color:var(--azul)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}input,select,textarea{border:1px solid var(--gris-claro);border-radius:8px;background:var(--blanco);padding:8px 10px;min-height:38px;width:100%;transition:border-color .15s,box-shadow .15s}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--rojo);margin:0;cursor:pointer}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--marino-3);box-shadow:0 0 0 3px #1a367026}textarea{resize:vertical}select{cursor:pointer}.filtros select,.filtros input[type=date],.filtros .buscar{width:auto}.filtros .buscar{min-width:260px}.form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 14px}.form>*{grid-column:span 6}.form>.medio{grid-column:span 3}.form>.tercio{grid-column:span 2}.form>.completo{grid-column:1 / -1}.campo{display:flex;flex-direction:column;gap:5px;min-width:0}.campo-etiqueta{font-size:12px;font-weight:600;color:var(--tinta-2)}.campo-ayuda{font-size:12px;color:var(--gris)}.campo.en-linea{flex-direction:row;align-items:center;gap:10px}.campo.en-linea input{width:auto}.casilla{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.numero-grande{font-size:22px;font-weight:700;color:var(--marino)}.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:0 16px;min-height:38px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,transform .05s,box-shadow .15s}.boton:active:not(:disabled){transform:translateY(1px)}.boton:disabled{opacity:.5;cursor:not-allowed}.boton.principal{background:var(--rojo);color:#fff;box-shadow:0 1px 2px #e2211c4d}.boton.principal:hover:not(:disabled){background:var(--rojo-osc)}.boton.secundario{background:var(--blanco);border-color:var(--gris-claro);color:var(--marino)}.boton.secundario:hover:not(:disabled){border-color:var(--marino-3);background:#f8f9fb}.boton.peligro{background:var(--blanco);border-color:var(--rojo);color:var(--rojo)}.boton.peligro:hover:not(:disabled){background:var(--rojo);color:#fff}.boton.exito{background:var(--verde);color:#fff}.boton.peque{min-height:30px;padding:0 10px;font-size:13px}.boton.grande{min-height:48px;font-size:15px;padding:0 22px}.boton.ancho{width:100%}.boton.icono-solo{padding:0;width:38px}.enlace{background:none;border:0;padding:0;color:var(--marino);font-weight:600;cursor:pointer;text-align:left}.enlace:hover{color:var(--rojo);text-decoration:underline}.cerrar-x{background:none;border:0;font-size:26px;line-height:1;color:var(--gris);cursor:pointer;padding:2px 8px;border-radius:6px}.cerrar-x:hover{background:var(--gris-suave);color:var(--marino)}.grupo-botones{display:inline-flex;gap:6px;align-items:center}.acciones{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}.acciones.entre{justify-content:space-between;margin-top:10px}.arranque{min-height:100vh;display:grid;place-items:center}.marco{display:grid;grid-template-columns:var(--menu) minmax(0,1fr);min-height:100vh}.marco.plegado{grid-template-columns:var(--menu-plegado) minmax(0,1fr)}.menu{background:var(--marino);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;z-index:30}.menu-logo{padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-logo img{display:block;width:100%;max-width:190px;height:auto}.menu-logo .logo-gancho{width:34px;height:34px;border-radius:8px;background:#fff;object-fit:contain;padding:3px}.plegado .menu-logo{padding:18px 0;display:flex;justify-content:center}.menu-grupos{flex:1;overflow-y:auto;padding:10px 0;scrollbar-width:thin;scrollbar-color:var(--marino-3) transparent}.menu-grupo{padding:4px 10px 8px}.menu-grupo-titulo{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;color:#ffffff80;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:8px 10px 6px;cursor:pointer}.menu-grupo-titulo:hover{color:#fff}.menu-grupo-flecha{transition:transform .2s;font-size:12px}.menu-grupo.cerrado .menu-grupo-flecha{transform:rotate(-90deg)}.menu-entrada{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:#ffffffd1;text-decoration:none;font-weight:500;position:relative;white-space:nowrap}.menu-entrada:hover{background:#ffffff12;color:#fff}.menu-entrada.activa{background:var(--marino-2);color:#fff;font-weight:600}.menu-entrada.activa:before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:4px;border-radius:0 4px 4px 0;background:var(--rojo)}.menu-entrada svg{flex-shrink:0;opacity:.9}.plegado .menu-grupo-titulo{display:none}.plegado .menu-grupo{padding:2px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.plegado .menu-entrada{justify-content:center;padding:11px 0}.plegado .menu-entrada span,.plegado .menu-plegar span,.plegado .menu-ecinsa{display:none}.menu-pie{border-top:1px solid rgba(255,255,255,.08);padding:10px}.menu-plegar{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff9;padding:8px 12px;cursor:pointer;border-radius:8px}.plegado .menu-plegar{justify-content:center;padding:8px 0}.menu-plegar:hover{background:#ffffff12;color:#fff}.menu-ecinsa{display:flex;justify-content:space-between;font-size:11px;color:#fff6;padding:6px 12px 2px}.menu-ecinsa span:last-child{font-weight:700;letter-spacing:.06em}.zona-principal{min-width:0;display:flex;flex-direction:column}.barra{position:sticky;top:0;z-index:20;height:64px;background:var(--blanco);border-bottom:1px solid var(--linea);display:flex;align-items:center;gap:16px;padding:0 24px}.barra-titulo{font-weight:700;color:var(--marino);font-size:16px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boton-menu{display:none;background:none;border:0;color:var(--marino);cursor:pointer;padding:6px}.estado-sap{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:10px;background:var(--fondo);border:1px solid var(--linea);max-width:420px;min-width:0}.estado-sap>i{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--gris)}.estado-sap.tono-verde>i{background:var(--verde);box-shadow:0 0 0 3px var(--verde-suave)}.estado-sap.tono-ambar>i{background:var(--ambar);box-shadow:0 0 0 3px var(--ambar-suave)}.estado-sap.tono-rojo>i{background:var(--rojo);box-shadow:0 0 0 3px var(--rojo-suave)}.estado-sap div{display:flex;flex-direction:column;line-height:1.2;min-width:0}.estado-sap strong{font-size:12px;color:var(--marino);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estado-sap small{font-size:11px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.barra-usuario{display:flex;align-items:center;gap:8px}.barra-avatar{width:32px;height:32px;border-radius:50%;background:var(--marino);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.barra-nombre{font-weight:600;font-size:13px;color:var(--tinta-2);white-space:nowrap}.boton-salir{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--linea);color:var(--marino);border-radius:8px;padding:6px 12px;cursor:pointer;font-weight:600}.boton-salir:hover{border-color:var(--rojo);color:var(--rojo)}.velo-menu{display:none}.contenido{padding:24px 28px 48px;min-width:0}.pagina{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.pagina-ancha{max-width:none}.pagina-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.pagina-sub{margin:4px 0 0;color:var(--gris);font-size:13px}.pagina-acciones{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tarjeta{background:var(--blanco);border-radius:var(--radio);box-shadow:var(--sombra);padding:18px 20px;min-width:0;border:1px solid #EEF0F3}.tarjeta-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.tarjeta-extra{display:flex;align-items:center;gap:8px}.rejilla{display:grid;gap:18px;min-width:0}.rejilla.dos{grid-template-columns:repeat(2,minmax(0,1fr))}.rejilla.dos-uno{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.rejilla.uno-dos{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.rejilla.arriba{align-items:start}.columna{display:flex;flex-direction:column;gap:18px;min-width:0}.suave{color:var(--gris)}.peque{font-size:12px}.der{text-align:right}.centro{text-align:center}.hueco{flex:1}.texto-rojo{color:var(--rojo)}.texto-verde{color:var(--verde)}.texto-ambar{color:var(--ambar)}.vacio{padding:28px 16px;text-align:center;color:var(--gris);background:var(--blanco);border:1px dashed var(--gris-claro);border-radius:var(--radio)}.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.cifra{background:var(--blanco);border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid #EEF0F3;padding:14px 16px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;position:relative;overflow:hidden;min-width:0}.cifra:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--linea)}.cifra.tono-verde:before{background:var(--verde)}.cifra.tono-ambar:before{background:var(--ambar)}.cifra.tono-rojo:before{background:var(--rojo)}.cifra.tono-azul:before{background:var(--azul)}.cifra.tono-marino:before{background:var(--marino)}.cifra-enlace{transition:transform .15s,box-shadow .15s}.cifra-enlace:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0116401a}.cifra-cab{display:flex;align-items:center;gap:8px}.cifra-icono{color:var(--gris);display:inline-flex}.cifra-titulo{font-size:12px;font-weight:600;color:var(--gris);text-transform:uppercase;letter-spacing:.03em}.cifra-valor{font-size:24px;font-weight:800;color:var(--marino);line-height:1.15;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cifra-grande .cifra-valor{font-size:30px}.cifra.tono-rojo .cifra-valor{color:var(--rojo)}.cifra-sub{font-size:12px;color:var(--tinta-2)}.tarjeta .cifras{margin-top:12px}.tarjeta .cifra{box-shadow:none;background:var(--fondo);border:0}.tarjeta .cifra-valor{font-size:20px}.cifras.fijas{grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr))}.tabla-caja{overflow:auto;border:1px solid var(--linea);border-radius:8px;max-width:100%;background:var(--blanco)}.tabla{width:100%;border-collapse:separate;border-spacing:0}.tabla th{position:sticky;top:0;z-index:1;background:#f1f3f6;color:var(--tinta-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);white-space:nowrap}.tabla th.ordenable{cursor:pointer;-webkit-user-select:none;user-select:none}.tabla th.ordenable:hover{color:var(--marino)}.tabla th.der,.tabla td.der{text-align:right}.tabla td.der{white-space:nowrap}.tabla th.centro,.tabla td.centro{text-align:center}.flecha-orden{font-size:9px;color:var(--rojo)}.tabla td{padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:middle}.tabla tbody tr:last-child td{border-bottom:0}.tabla tbody tr:hover td{background:#fafbfc}.tabla tr.clicable{cursor:pointer}.tabla tr.seleccionada td{background:var(--azul-suave)!important}.tabla tr.apagada td{color:var(--gris)}.tabla-vacia{text-align:center;color:var(--gris);padding:28px!important}.tabla tfoot td{font-weight:700;background:#f8f9fb;position:sticky;bottom:0}.compacta .tabla td,.compacta .tabla th{padding:7px 10px}.tabla.mini td{padding:6px 14px;font-size:13px;border-bottom:1px solid var(--linea)}.tabla th.col-acciones,.tabla td.col-acciones{position:sticky;right:0;white-space:nowrap;box-shadow:-6px 0 8px -6px #01164026}.tabla td.col-acciones{background:var(--blanco)}.tabla th.col-acciones{z-index:2}.tabla tbody tr:hover td.col-acciones{background:#fafbfc}.tabla td.col-codigo,.tabla td .col-codigo{white-space:nowrap}.pastilla,.semaforo{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--gris-suave);color:var(--tinta-2)}.pastilla>i,.semaforo>i{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.tono-verde.pastilla,.tono-verde.semaforo{background:var(--verde-suave);color:var(--verde)}.tono-ambar.pastilla,.tono-ambar.semaforo{background:var(--ambar-suave);color:#9a5c00}.tono-rojo.pastilla,.tono-rojo.semaforo{background:var(--rojo-suave);color:var(--rojo-osc)}.tono-azul.pastilla{background:var(--azul-suave);color:var(--azul)}.tono-marino.pastilla{background:#dde3ee;color:var(--marino)}.tono-violeta.pastilla{background:var(--violeta-suave);color:var(--violeta)}.punto{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--gris)}.punto.tono-verde{background:var(--verde)}.punto.tono-azul{background:var(--azul)}.punto.tono-ambar{background:var(--ambar)}.punto.tono-gris{background:var(--gris-claro)}.insignia{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--rojo);color:#fff;font-size:11px;font-weight:700;font-style:normal;margin-left:4px}.insignia.azul{background:var(--azul)}.insignia.ambar{background:var(--ambar)}.uso{display:flex;align-items:center;gap:8px;min-width:110px}.uso-pista{flex:1;height:8px;border-radius:4px;background:var(--gris-suave);overflow:hidden}.uso-barra{height:100%;border-radius:4px;background:var(--verde);transition:width .3s}.uso.tono-ambar .uso-barra{background:var(--ambar)}.uso.tono-rojo .uso-barra{background:var(--rojo)}.uso.tono-azul .uso-barra{background:var(--azul)}.uso-texto{font-size:12px;font-weight:700;color:var(--tinta-2);min-width:46px;text-align:right;white-space:nowrap}.leyenda{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--tinta-2);margin-bottom:10px}.leyenda-item{display:inline-flex;align-items:center;gap:6px}.leyenda-item>i{width:14px;height:10px;border-radius:3px;background:var(--gris-claro)}.leyenda-item.tono-verde>i{background:var(--verde)}.leyenda-item.tono-ambar>i{background:var(--ambar)}.leyenda-item.tono-rojo>i{background:var(--rojo)}.leyenda-item.tono-azul>i{background:var(--azul)}.leyenda-item.tono-marino>i{background:var(--marino)}.leyenda-item.tono-violeta>i{background:var(--violeta)}.leyenda-item.tono-gris>i{background:var(--gris)}.cargando{display:flex;align-items:center;gap:12px;padding:24px;color:var(--gris);font-weight:500}.rueda{width:22px;height:22px;border-radius:50%;border:3px solid var(--linea);border-top-color:var(--rojo);animation:gira .8s linear infinite;display:inline-block;flex-shrink:0}.rueda.peque{width:16px;height:16px;border-width:2px}@keyframes gira{to{transform:rotate(360deg)}}.error-caja{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 16px;border-radius:8px;background:var(--rojo-suave);color:var(--rojo-osc);border:1px solid #F6C3C1;margin:4px 0}.error-caja strong{flex-basis:100%;font-size:13px}.error-caja span{flex:1}.exito-caja{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:8px;background:var(--verde-suave);color:#0f5531;border:1px solid #BFE3CD;margin:4px 0 10px;line-height:1.6}.exito-caja>div{flex:1}.exito-marca{width:26px;height:26px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;font-weight:800;flex-shrink:0}.aviso-caja{padding:12px 16px;border-radius:8px;background:var(--gris-suave);border-left:4px solid var(--gris);margin:0}.aviso-caja.tono-ambar{background:var(--ambar-suave);border-color:var(--ambar);color:#6b4000}.aviso-caja.tono-rojo{background:var(--rojo-suave);border-color:var(--rojo);color:var(--rojo-osc)}.aviso-caja.tono-verde{background:var(--verde-suave);border-color:var(--verde);color:#0f5531}.aviso-caja.tono-azul{background:var(--azul-suave);border-color:var(--azul);color:#173f80}.nota{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;max-width:min(640px,calc(100vw - 32px));background:var(--marino);color:#fff;padding:14px 20px;border-radius:10px;box-shadow:var(--sombra-alta);font-weight:500;border-left:5px solid var(--verde);cursor:pointer;animation:sube .25s ease-out}.nota.tono-rojo{border-left-color:var(--rojo)}@keyframes sube{0%{opacity:0;transform:translate(-50%,12px)}}.avisos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.aviso{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--fondo)}.aviso>i{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--azul)}.aviso.tono-rojo>i{background:var(--rojo)}.aviso.tono-ambar>i{background:var(--ambar)}.aviso a{color:var(--tinta);text-decoration:none;font-weight:500}.aviso a:hover{color:var(--rojo)}.lista-conflictos{margin:8px 0;padding-left:20px;color:var(--rojo-osc)}.lista-avisos{margin:8px 0;padding-left:20px;color:#6b4000}.ranking{list-style:none;margin:0;padding:0}.ranking li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linea)}.ranking li:last-child{border:0}.ranking-n{width:22px;height:22px;border-radius:50%;background:var(--fondo);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--marino);flex-shrink:0}.ranking-nombre{flex:1;min-width:0;white-space:normal;line-height:1.25;overflow-wrap:anywhere}.pestanas{display:flex;gap:4px;border-bottom:2px solid var(--linea);overflow-x:auto;scrollbar-width:none}.pestanas button{background:none;border:0;padding:10px 16px;font-weight:600;color:var(--gris);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;display:inline-flex;align-items:center}.pestanas button:hover{color:var(--marino)}.pestanas button.activa{color:var(--marino);border-bottom-color:var(--rojo)}.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.ver-mas{display:flex;justify-content:center;margin-top:12px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--gris-claro);background:var(--blanco);border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px;color:var(--tinta-2)}.chip:hover{border-color:var(--marino-3)}.chip.activa{background:var(--marino);color:#fff;border-color:var(--marino)}.velo{position:fixed;top:0;right:0;bottom:0;left:0;background:#01164073;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;animation:aparece .15s}@keyframes aparece{0%{opacity:0}}.modal{background:var(--blanco);border-radius:14px;width:100%;box-shadow:var(--sombra-alta);display:flex;flex-direction:column;max-height:90vh}.modal-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--linea)}.modal-cab h2{font-size:17px}.modal-cuerpo{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-pie{padding:14px 20px;border-top:1px solid var(--linea);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;background:#fafbfc;border-radius:0 0 14px 14px}.velo-panel{justify-content:flex-end;padding:0}.panel{background:var(--blanco);width:min(500px,100vw);height:100vh;display:flex;flex-direction:column;box-shadow:var(--sombra-alta);animation:entra .2s ease-out}.panel .modal-cuerpo{flex:1}.panel .modal-pie{border-radius:0}@keyframes entra{0%{transform:translate(40px);opacity:0}}.ficha{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 18px;margin:0}.ficha div{min-width:0}.ficha dt{font-size:11px;color:var(--gris);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.ficha dd{margin:2px 0 0;font-weight:600;color:var(--tinta);overflow-wrap:anywhere}.panel .ficha{grid-template-columns:1fr 1fr}.detalle-cab{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--linea)}.detalle-cab h3{font-size:18px;margin-top:6px}.detalle-cab p{margin:0}.detalle-cab .pastilla{align-self:flex-start}.caja-anular{background:var(--fondo);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.caja-anular h4{margin:0}.lista-simple{list-style:none;margin:0;padding:0}.lista-simple li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linea);flex-wrap:wrap}.lista-simple li:last-child{border:0}.grafico{position:relative;width:100%}.grafico svg{width:100%;height:auto;display:block;overflow:visible}.eje-rejilla{stroke:var(--linea);stroke-width:1}.eje-base{stroke:var(--gris-claro);stroke-width:1}.eje-texto{font-size:11px;fill:var(--gris);font-family:var(--letra)}.eje-texto.fuerte{fill:var(--marino);font-weight:700}.grafico rect:focus{outline:none}.grafico-globo{position:absolute;transform:translate(-50%,calc(-100% - 10px));background:var(--marino);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;box-shadow:var(--sombra)}.grafico-globo span{opacity:.8;font-size:11px}.reparto{display:flex;flex-direction:column;gap:10px}.reparto-fila{display:grid;grid-template-columns:minmax(0,1fr) 96px;column-gap:12px;row-gap:4px;align-items:center}.reparto-nombre{grid-column:1;grid-row:1;font-size:13px;font-weight:500;white-space:normal;line-height:1.25}.reparto-pista{grid-column:1;grid-row:2;height:10px;background:var(--gris-suave);border-radius:0 5px 5px 0;overflow:hidden}.reparto-barra{height:100%;border-radius:0 4px 4px 0}.reparto-valor{grid-column:2;grid-row:1 / span 2;font-weight:700;font-size:13px;text-align:right;white-space:nowrap;display:flex;flex-direction:column;line-height:1.2}.reparto-valor small{font-weight:500;color:var(--gris);font-size:11px}.gantt{background:var(--blanco);border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid var(--linea);overflow:auto;max-height:calc(100vh - 280px);min-height:300px;position:relative}.gantt-cab,.gantt-fila{display:flex;min-width:calc(210px + var(--dias) * 56px)}.gantt-cab{position:sticky;top:0;z-index:4;background:#f1f3f6;border-bottom:1px solid var(--linea)}.gantt-equipo{width:210px;flex-shrink:0;position:sticky;left:0;z-index:3;background:var(--blanco);border-right:1px solid var(--linea);padding:8px 12px;display:flex;align-items:center;gap:10px;min-width:0}.gantt-equipo div{display:flex;flex-direction:column;min-width:0;line-height:1.25}.gantt-equipo strong{font-size:13px;color:var(--marino);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-equipo small{font-size:11px;color:var(--gris);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-esquina{background:#f1f3f6;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--tinta-2);letter-spacing:.04em;z-index:5}.gantt-linea{flex:1;display:grid;grid-template-columns:repeat(var(--dias),minmax(56px,1fr));position:relative}.gantt-dia{text-align:center;padding:6px 0;display:flex;flex-direction:column;border-right:1px solid var(--linea);line-height:1.2}.gantt-dia span{font-size:10px;text-transform:uppercase;color:var(--gris);font-weight:600}.gantt-dia strong{font-size:13px;color:var(--marino)}.gantt-dia.festivo{background:#e9ecf0}.gantt-dia.hoy{background:var(--rojo)}.gantt-dia.hoy span,.gantt-dia.hoy strong{color:#fff}.gantt-fila{border-bottom:1px solid var(--linea)}.gantt-fila:hover .gantt-equipo{background:#fafbfc}.gantt-celda{border-right:1px solid var(--linea)}.gantt-celda.festivo{background:#f6f7f9}.gantt-celda.hoy{background:#e2211c0d;box-shadow:inset 2px 0 #e2211c80}.gantt-celda.conflicto{background:repeating-linear-gradient(-45deg,#e2211c1a 0,#e2211c1a 6px,#e2211c2e 6px,#e2211c2e 12px)}.gantt-celda.destino{background:#2160c424}.gantt-vacio{padding:40px;text-align:center;color:var(--gris)}.bloque{position:absolute;z-index:2;border-radius:6px;padding:3px 8px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;justify-content:center;line-height:1.2;font-size:12px;box-shadow:0 1px 2px #0116401f;border-left:4px solid transparent;transition:box-shadow .15s,transform .1s}.bloque[draggable=true]{cursor:grab}.bloque:hover{box-shadow:0 4px 12px #01164038;z-index:3}.bloque strong,.bloque small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bloque small{font-size:10.5px;opacity:.85}.bloque-PLANIF{background:var(--azul-suave);color:var(--marino);border-left-color:var(--azul)}.bloque-CONFIRM{background:var(--marino);color:#fff;border-left-color:var(--rojo)}.bloque-CURSO{background:var(--verde);color:#fff;border-left-color:#0b5e32}.bloque-TERMIN{background:#e3e6ea;color:var(--tinta-2);border-left-color:var(--gris)}.bloque-FACTUR{background:var(--violeta-suave);color:var(--violeta);border-left-color:var(--violeta)}.bloque-ANULADO{background:var(--blanco);color:var(--gris);border:1px dashed var(--gris-claro);text-decoration:line-through}.bloque-taller{background:repeating-linear-gradient(45deg,#fff3d9 0,#fff3d9 7px,#f7d998 7px,#f7d998 14px);color:#6b4000;border-left-color:var(--ambar);cursor:pointer}.bloque.conflicto{outline:2px solid var(--rojo);outline-offset:1px}.bloque.moviendo{opacity:.5}.bloque.corta-izq{border-top-left-radius:0;border-bottom-left-radius:0}.bloque-alerta{position:absolute;top:2px;right:3px;width:16px;height:16px;border-radius:50%;background:var(--rojo);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.leyenda-item>i[class^=bloque-]{border-left-width:3px;border-left-style:solid;width:18px;height:12px}.leyenda-item>i.bloque-PLANIF{background:var(--azul-suave)}.leyenda-item>i.bloque-CONFIRM{background:var(--marino)}.leyenda-item>i.bloque-CURSO{background:var(--verde)}.leyenda-item>i.bloque-TERMIN{background:#e3e6ea}.leyenda-item>i.bloque-FACTUR{background:var(--violeta-suave)}.leyenda-item>i.bloque-taller{background:repeating-linear-gradient(45deg,#fff3d9 0,#fff3d9 3px,#f7d998 3px,#f7d998 6px)}.leyenda-conflicto>i{background:var(--blanco)!important;outline:2px solid var(--rojo)}.leyenda .pastilla{margin-left:auto}.esquema{width:100%;height:auto;display:block;background:linear-gradient(#f7f9fc,#fff);border-radius:8px}.esquema-cota{font-size:11px;fill:var(--tinta-2);font-weight:600;font-family:var(--letra)}.esquema-pluma{font-size:11px;fill:var(--marino);font-weight:700;font-family:var(--letra)}.esquema-carga{font-size:10px;fill:#fff;font-weight:700;font-family:var(--letra)}.esquema-nombre{font-size:12px;fill:var(--marino);font-weight:700;font-family:var(--letra)}.horas-linea{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}.horas-linea div{background:var(--fondo);border-radius:8px;padding:8px;text-align:center;display:flex;flex-direction:column}.horas-linea small{font-size:10px;color:var(--gris);text-transform:uppercase}.horas-linea strong{font-size:16px;color:var(--marino)}.firma-vista{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.firma-vista img{max-width:360px;border:1px solid var(--linea);border-radius:8px;background:#fff}.firma-vista div{display:flex;flex-direction:column}.barra-accion{display:flex;align-items:center;gap:16px;background:var(--blanco);padding:12px 18px;border-radius:var(--radio);box-shadow:var(--sombra);position:sticky;top:76px;z-index:5}.barra-accion>strong{font-size:20px;color:var(--marino)}.grupos-fact{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}.grupo-fact{background:var(--blanco);border-radius:var(--radio);box-shadow:var(--sombra);border:2px solid transparent;overflow:hidden;transition:border-color .15s}.grupo-fact.elegido{border-color:var(--rojo)}.grupo-fact header{display:flex;gap:12px;align-items:center;padding:12px 14px;cursor:pointer;background:#fafbfc;border-bottom:1px solid var(--linea)}.grupo-fact-nombre{flex:1;display:flex;flex-direction:column;min-width:0}.grupo-fact-nombre strong{color:var(--marino)}.grupo-fact-nombre span{font-size:12px;color:var(--gris)}.grupo-fact-total{font-size:17px;color:var(--marino);white-space:nowrap}.cifra-linea{font-size:15px}.flota{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.equipo-tarjeta{text-align:left;background:var(--blanco);border:1px solid #EEF0F3;border-radius:var(--radio);box-shadow:var(--sombra);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;border-top:4px solid var(--verde);transition:transform .15s,box-shadow .15s}.equipo-tarjeta:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0116401f}.equipo-tarjeta.estado-SERVICIO{border-top-color:var(--azul)}.equipo-tarjeta.estado-TALLER{border-top-color:var(--ambar)}.equipo-tarjeta.estado-BAJA{border-top-color:var(--gris-claro);opacity:.7}.equipo-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}.equipo-tipo{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);font-weight:700}.equipo-cap{font-size:34px;font-weight:800;color:var(--marino);line-height:1.05;letter-spacing:-.02em;margin-top:4px}.equipo-cap small{font-size:16px;color:var(--gris)}.equipo-nombre{color:var(--tinta)}.equipo-modelo{font-size:12px;color:var(--gris)}.equipo-datos{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:8px 0 4px;padding-top:8px;border-top:1px solid var(--linea)}.equipo-datos dt{font-size:10px;color:var(--gris);text-transform:uppercase}.equipo-datos dd{margin:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipo-semaforos{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:4px}.mini-semaforo{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--gris-suave);color:var(--gris)}.mini-semaforo.tono-verde{background:var(--verde-suave);color:var(--verde)}.mini-semaforo.tono-ambar{background:var(--ambar-suave);color:#9a5c00}.mini-semaforo.tono-rojo{background:var(--rojo);color:#fff}.semaforo-resumen{margin-left:auto;width:12px;height:12px;border-radius:50%;background:var(--verde)}.semaforo-resumen.tono-ambar{background:var(--ambar)}.semaforo-resumen.tono-rojo{background:var(--rojo);box-shadow:0 0 0 3px var(--rojo-suave)}.celda-caducidad{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.celda-caducidad small{font-size:11px;color:var(--gris);padding-left:4px}.linea-repuesto{display:grid;grid-template-columns:minmax(0,1fr) 80px 100px 36px;gap:8px;align-items:center;margin-bottom:8px}.linea-repuesto .completo{grid-column:1 / -1}.calendario{overflow:auto;border:1px solid var(--linea);border-radius:8px;max-height:560px}.cal-fila{display:grid;grid-template-columns:220px repeat(var(--dias),minmax(26px,1fr));min-width:calc(220px + var(--dias) * 26px);border-bottom:1px solid var(--linea)}.cal-cab{position:sticky;top:0;z-index:2;background:#f1f3f6}.cal-nombre{position:sticky;left:0;background:var(--blanco);padding:6px 10px;display:flex;flex-direction:column;border-right:1px solid var(--linea);z-index:1;line-height:1.2;min-width:0}.cal-cab .cal-nombre{background:#f1f3f6;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--tinta-2);justify-content:center}.cal-nombre strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-nombre small{font-size:10px;color:var(--gris)}.cal-dia{text-align:center;font-size:11px;font-weight:700;color:var(--marino);padding:4px 0;display:flex;flex-direction:column;line-height:1.1}.cal-dia small{font-size:9px;color:var(--gris);font-weight:600;text-transform:uppercase}.cal-dia.festivo{background:#e6e9ee}.cal-dia.hoy{background:var(--rojo);color:#fff}.cal-dia.hoy small{color:#fff}.cal-celda{border-right:1px solid #F0F2F5;min-height:34px}.cal-celda.festivo{background:#f6f7f9}.cal-celda.marcada{margin:5px 0;border-radius:0}.cal-celda.tono-azul{background:var(--azul)}.cal-celda.tono-violeta{background:var(--violeta)}.cal-celda.tono-marino{background:var(--marino)}.cal-celda.tono-rojo{background:var(--rojo)}.cal-celda.tono-verde{background:var(--verde)}.cal-celda.tono-ambar{background:var(--ambar)}.cal-celda.tono-gris{background:var(--gris)}.cal-celda.pendiente{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.7) 0 3px,transparent 3px 6px)}.leyenda-item.pendiente>i{background:repeating-linear-gradient(45deg,var(--azul) 0 3px,#fff 3px 6px)}.progreso-grande{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.progreso-grande strong{font-size:44px;color:var(--marino);font-weight:800}.tablero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tablero-col{background:var(--fondo);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:160px}.tablero-col header{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px}.tablero-lista{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.nc-tarjeta{text-align:left;background:var(--blanco);border:1px solid var(--linea);border-left:4px solid var(--gris-claro);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:box-shadow .15s}.nc-tarjeta:hover{box-shadow:0 4px 14px #0116401f}.nc-tarjeta.graved-GRAVE{border-left-color:var(--rojo)}.nc-tarjeta.graved-MEDIA{border-left-color:var(--ambar)}.nc-tarjeta p{margin:0;font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nc-tarjeta small{color:var(--gris);font-size:11px}.nc-tarjeta .pastilla{align-self:flex-start}.nc-cab{display:flex;justify-content:space-between;align-items:center;gap:6px}.nc-cab strong{color:var(--marino)}.ciclo{display:flex;gap:4px}.ciclo-paso{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--fondo);font-size:12px;font-weight:600;color:var(--gris);border-radius:6px}.ciclo-paso span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gris-claro);color:#fff;font-size:11px;flex-shrink:0}.ciclo-paso.hecho{color:var(--verde)}.ciclo-paso.hecho span{background:var(--verde)}.ciclo-paso.actual{background:var(--marino);color:#fff}.ciclo-paso.actual span{background:var(--rojo)}.estrellas{color:#e8a70a;letter-spacing:1px;white-space:nowrap}.estrellas span{color:var(--gris-claro)}.entrar{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(160deg,#011640f0,#011640fa),repeating-linear-gradient(-45deg,#0b2559 0,#0b2559 18px,#011640 18px,#011640 36px)}.entrar-caja{width:100%;max-width:420px;background:var(--blanco);border-radius:16px;padding:30px 28px 22px;box-shadow:var(--sombra-alta);border-top:6px solid var(--rojo)}.entrar-logo{display:block;margin:0 auto;width:230px;height:auto}.entrar-lema{text-align:center;color:var(--gris);font-size:12px;margin:8px 0 20px;letter-spacing:.04em}.entrar .pestanas{justify-content:center}.entrar .pestanas button{flex:1;justify-content:center}.entrar-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}.entrar-num{font-size:22px;font-weight:700;text-align:center;letter-spacing:.1em}.pin-puntos{display:flex;justify-content:center;gap:14px;padding:8px 0 4px}.pin-puntos span{width:16px;height:16px;border-radius:50%;border:2px solid var(--gris-claro);transition:background .1s}.pin-puntos span.lleno{background:var(--marino);border-color:var(--marino)}.pin-oculto{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.teclado button{height:60px;font-size:24px;font-weight:700;border-radius:12px;border:1px solid var(--linea);background:var(--fondo);color:var(--marino);cursor:pointer;touch-action:manipulation}.teclado button:active{background:var(--gris-claro)}.teclado .tecla-borrar{font-size:20px;color:var(--gris)}.teclado .tecla-ok{background:var(--rojo);color:#fff;border-color:var(--rojo)}.entrar-error{background:var(--rojo-suave);color:var(--rojo-osc);padding:10px 14px;border-radius:8px;font-weight:600;text-align:center}.entrar-pie{text-align:center;color:var(--gris);font-size:11px;margin:18px 0 0}.marco-movil{min-height:100vh;background:var(--fondo)}.barra-movil{position:sticky;top:0;z-index:20;background:var(--marino);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.barra-movil img{height:22px;width:auto}.barra-movil .boton-salir{color:#fff;border-color:#ffffff4d}.movil{max-width:560px;margin:0 auto;padding:16px 16px 100px;display:flex;flex-direction:column;gap:12px}.contenido .movil{padding-bottom:100px}.movil-saludo span{color:var(--gris);font-size:13px;display:block}.movil-saludo span:first-letter{text-transform:uppercase}.movil-saludo h1{font-size:26px}.movil-titulo{font-size:15px;margin-top:12px}.fichar{border:0;border-radius:18px;padding:24px 16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 8px 24px #01164033;touch-action:manipulation;transition:transform .1s}.fichar:active{transform:scale(.98)}.fichar.entrada{background:linear-gradient(160deg,#1FA45C,var(--verde))}.fichar.salida{background:linear-gradient(160deg,#F0413C,var(--rojo-osc))}.fichar strong{font-size:26px;font-weight:800}.fichar span{font-size:14px;opacity:.9}.fichar:disabled{opacity:.7}.servicio-movil{background:var(--blanco);border-radius:14px;box-shadow:var(--sombra);padding:16px;display:flex;flex-direction:column;gap:6px;border-left:5px solid var(--rojo)}.servicio-movil header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.servicio-fecha{font-weight:700;color:var(--rojo);font-size:13px}.servicio-movil h3{font-size:18px}.servicio-obra{margin:0;color:var(--tinta-2);font-weight:500}.servicio-dir{display:flex;gap:8px;align-items:center;padding:10px 12px;background:var(--azul-suave);border-radius:10px;text-decoration:none;color:var(--azul);font-weight:600}.servicio-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:6px 0}.servicio-datos div{background:var(--fondo);border-radius:8px;padding:6px 10px}.servicio-datos dt{font-size:10px;color:var(--gris);text-transform:uppercase}.servicio-datos dd{margin:0;font-weight:700;color:var(--marino)}.servicio-notas{margin:0;padding:10px 12px;background:var(--ambar-suave);border-radius:8px;color:#6b4000;font-size:13px}.incidencia-boton{margin-top:12px;color:var(--rojo)!important;border-color:var(--rojo)!important}.movil-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--blanco);border-top:1px solid var(--linea);display:grid;grid-template-columns:repeat(4,minmax(0,132px));justify-content:center;padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px #01164014}.marco .movil-nav{left:var(--menu)}.marco.plegado .movil-nav{left:var(--menu-plegado)}.movil-nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:var(--gris);font-size:11px;font-weight:600;cursor:pointer;position:relative;border-radius:10px}.movil-nav button.activa{color:var(--rojo);background:var(--rojo-suave)}.movil-nav .insignia{position:absolute;top:0;right:calc(50% - 22px)}.movil-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.movil-lista li{background:var(--blanco);border-radius:12px;padding:14px 16px;box-shadow:var(--sombra);display:flex;justify-content:space-between;align-items:center;gap:10px}.movil-lista li>div{display:flex;flex-direction:column;min-width:0}.movil-lista small{color:var(--gris);font-size:12px}.vacaciones-cifras{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.vacaciones-cifras div{background:var(--blanco);border-radius:12px;padding:14px 10px;text-align:center;box-shadow:var(--sombra);display:flex;flex-direction:column}.vacaciones-cifras div:first-child{background:var(--marino);color:#fff}.vacaciones-cifras div:first-child strong{color:#fff;font-size:40px}.vacaciones-cifras strong{font-size:28px;font-weight:800;color:var(--marino);line-height:1.1}.vacaciones-cifras span{font-size:12px;opacity:.8}.dos-botones,.tres-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tres-botones{grid-template-columns:repeat(3,1fr)}.dos-campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opcion{min-height:56px;border-radius:12px;border:2px solid var(--linea);background:var(--blanco);font-weight:700;font-size:15px;cursor:pointer;color:var(--tinta-2)}.opcion.ok.activa{border-color:var(--verde);background:var(--verde-suave);color:var(--verde)}.opcion.nok.activa{border-color:var(--rojo);background:var(--rojo-suave);color:var(--rojo)}.opcion.activa.tono-gris{border-color:var(--marino);background:var(--gris-suave);color:var(--marino)}.opcion.activa.tono-ambar{border-color:var(--ambar);background:var(--ambar-suave);color:#9a5c00}.opcion.activa.tono-rojo{border-color:var(--rojo);background:var(--rojo-suave);color:var(--rojo)}.movil .tarjeta{display:flex;flex-direction:column;gap:12px}.pantalla-movil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--fondo);display:flex;flex-direction:column;animation:entra .2s ease-out}.pantalla-cab{background:var(--marino);color:#fff;display:flex;align-items:center;gap:10px;padding:10px 12px}.pantalla-cab .cerrar-x{color:#fff;font-size:32px}.pantalla-cab .cerrar-x:hover{background:#ffffff1a;color:#fff}.pantalla-cab div{display:flex;flex-direction:column;min-width:0}.pantalla-cab small{opacity:.75;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pantalla-cuerpo{flex:1;overflow-y:auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:12px;max-width:560px;width:100%;margin:0 auto}.pantalla-cuerpo h3{margin-top:8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris)}.pantalla-cuerpo input,.pantalla-cuerpo select,.pantalla-cuerpo textarea{min-height:48px;font-size:16px}.hora-fila{display:grid;grid-template-columns:1fr 120px 82px;gap:8px;align-items:center;background:var(--blanco);border-radius:12px;padding:8px 8px 8px 14px;box-shadow:var(--sombra)}.hora-fila span{font-weight:600;font-size:14px}.hora-fila input{font-size:18px;font-weight:700;text-align:center;color:var(--marino);padding:4px}.hora-fila .boton{min-height:48px;padding:0 8px}.firma{position:relative}.firma-lienzo{width:100%;height:220px;border:2px dashed var(--gris-claro);border-radius:12px;background:#fff;touch-action:none;display:block;cursor:crosshair}.firma-guia{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:var(--gris-claro);font-size:18px;font-weight:600;pointer-events:none}.firma-borrar{position:absolute;top:8px;right:8px}.horas-resultado{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.horas-resultado div{background:var(--fondo);border-radius:10px;padding:12px 8px;text-align:center;display:flex;flex-direction:column}.horas-resultado small{font-size:11px;color:var(--gris);text-transform:uppercase}.horas-resultado strong{font-size:24px;color:var(--marino);font-weight:800}.horas-resultado .total{grid-column:1 / -1;background:var(--marino)}.horas-resultado .total small,.horas-resultado .total strong{color:#fff}@media(max-width:1280px){.estado-sap{max-width:300px}.barra-nombre{display:none}}@media(max-width:1100px){.rejilla.dos-uno,.rejilla.uno-dos{grid-template-columns:minmax(0,1fr)}.cifras.fijas{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tablero{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.marco,.marco.plegado{grid-template-columns:minmax(0,1fr)}.menu{position:fixed;left:0;top:0;bottom:0;width:270px;transform:translate(-100%);transition:transform .2s}.marco.plegado .menu{width:270px}.menu-abierto .menu{transform:none}.menu-abierto .velo-menu{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#01164066;z-index:25}.boton-menu{display:inline-flex}.barra{padding:0 12px;gap:10px}.estado-sap small{display:none}.contenido{padding:16px}.marco .movil-nav,.marco.plegado .movil-nav{left:0}.rejilla.dos,.grupos-fact{grid-template-columns:minmax(0,1fr)}.barra-accion{top:70px;flex-wrap:wrap}}@media(max-width:560px){h1{font-size:21px}.form>.medio,.form>.tercio{grid-column:1 / -1}.tablero{grid-template-columns:minmax(0,1fr)}.barra-titulo{font-size:14px}.estado-sap{display:none}.boton-salir{padding:6px 10px}.velo{padding:0;align-items:stretch}.modal{border-radius:0;max-height:none;min-height:100vh;max-width:none!important}.modal-pie{border-radius:0;position:sticky;bottom:0}.modal-pie .boton{flex:1}.entrar-caja{padding:24px 18px 18px}.teclado button{height:64px}.horas-linea{grid-template-columns:repeat(3,1fr)}.linea-repuesto{grid-template-columns:minmax(0,1fr) 70px 36px}.linea-repuesto>span.der{display:none}.cifra-grande .cifra-valor{font-size:24px}.cifras.fijas{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cifras.fijas .cifra{padding:12px 12px 12px 14px}.cifras.fijas .cifra-valor{font-size:19px;white-space:normal;overflow:visible;overflow-wrap:anywhere}.cifras.fijas>:last-child:nth-child(odd){grid-column:1 / -1}.gantt-cab,.gantt-fila{min-width:calc(128px + var(--dias) * 56px)}.gantt-equipo{width:128px;padding:6px 8px;gap:6px}.gantt-equipo small{display:none}.ciclo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ciclo-paso{padding:6px 8px}.tabla td.col-acciones .boton{padding:6px 10px;font-size:13px}.grupo-fact .tabla.mini td:nth-child(3){display:none}.tabla.mini td{padding:6px 8px}.tabla.mini td:first-child{padding-left:14px}.tabla.mini td:last-child{padding-right:14px;white-space:nowrap}.grupo-fact header{flex-wrap:wrap;row-gap:4px}.grupo-fact-nombre{flex-basis:calc(100% - 40px)}.grupo-fact header .suave{margin-left:32px}.grupo-fact-total{margin-left:auto}}.mapa-rejilla{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:18px;align-items:start}.mapa{width:100%;height:auto;display:block;border-radius:8px}.mapa-mar{fill:#eaf1fa}.mapa-tierra{fill:#fff;stroke:#aeb9c9;stroke-width:1.2;stroke-linejoin:round}.mapa-tierra.lejos{fill:#f3f5f8;stroke:#d3dae3}.mapa-frontera{fill:none;stroke:#c3cbd6;stroke-width:1;stroke-dasharray:4 4}.mapa-base rect{fill:var(--marino);stroke:#fff;stroke-width:2}.mapa-base text{font-size:11px;font-weight:700;fill:var(--marino);font-family:var(--letra);paint-order:stroke;stroke:#fff;stroke-width:3px}.mapa-punto{stroke:#fff;stroke-width:2;cursor:pointer;transition:r .15s}.mapa-punto:hover{stroke:var(--marino)}.mapa-punto.elegido{stroke:var(--marino);stroke-width:3}.mapa-etiqueta rect{fill:var(--marino)}.mapa-etiqueta text{fill:#fff;font-size:11px;font-weight:600;font-family:var(--letra)}.leyenda-base>i{background:var(--marino)!important;transform:rotate(45deg) scale(.75);border-radius:2px!important;width:12px!important;height:12px!important}.mapa-detalle{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--fondo);border-radius:10px;padding:12px 14px;margin-top:10px}.mapa-detalle>div{display:flex;flex-direction:column;min-width:0;flex:1}.mapa-detalle strong{color:var(--marino)}.mapa-detalle span{font-size:12px;color:var(--tinta-2);display:inline-flex;gap:4px;align-items:center}.mapa-lista{list-style:none;margin:0;padding:0;max-height:620px;overflow-y:auto;border:1px solid var(--linea);border-radius:8px}.mapa-lista li{border-bottom:1px solid var(--linea)}.mapa-lista li:last-child{border:0}.mapa-lista li.suave{padding:16px}.mapa-lista button{width:100%;background:none;border:0;display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;text-align:left}.mapa-lista button:hover{background:#fafbfc}.mapa-lista button.activa{background:var(--azul-suave)}.mapa-lista button div{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.25}.mapa-lista strong{font-size:13px;color:var(--marino)}.mapa-lista small{font-size:11px;color:var(--gris);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filtros .buscar.ancho{width:100%;min-width:0}.enlace-copiar{font-size:12px;background:var(--fondo)}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.checklist li{display:flex;align-items:center;gap:10px;background:var(--blanco);border-radius:12px;padding:8px 8px 8px 14px;box-shadow:var(--sombra);border-left:4px solid var(--gris-claro)}.checklist li.ok{border-left-color:var(--verde)}.checklist li.nok{border-left-color:var(--rojo);background:#fff8f8}.checklist li>span{flex:1;font-size:14px;font-weight:500}.checklist li>div{display:flex;gap:6px}.checklist .opcion{min-height:46px;width:52px;font-size:20px}.publica{min-height:100vh;background:var(--fondo);display:flex;flex-direction:column}.publica-cab{background:var(--blanco);display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--linea)}.publica-cab img{height:30px;width:auto;display:block}.publica-tel{font-weight:800;color:var(--rojo);letter-spacing:.03em}.publica-banda{background:var(--marino);color:#fff;padding:28px 20px 30px;border-bottom:6px solid var(--rojo);text-align:center}.publica-banda h1{color:#fff;font-size:28px}.publica-banda p{margin:8px auto 0;max-width:560px;opacity:.85}.publica-cuerpo{flex:1;width:100%;max-width:720px;margin:-16px auto 0;padding:0 16px 32px;display:flex;flex-direction:column;gap:14px}.publica-bloque{background:var(--blanco);border-radius:14px;box-shadow:var(--sombra);padding:20px;display:flex;flex-direction:column;gap:14px}.publica-bloque h2{display:flex;align-items:center;gap:10px;font-size:17px}.publica-bloque h2 span{width:28px;height:28px;border-radius:50%;background:var(--rojo);color:#fff;display:grid;place-items:center;font-size:14px}.publica-bloque input,.publica-bloque select,.publica-bloque textarea{min-height:46px;font-size:16px}.publica-bloque .casilla{align-items:flex-start;font-weight:500}.publica-bloque .casilla input{margin-top:2px;flex-shrink:0;min-height:0}.publica-horario{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.publica-horario button{border:2px solid var(--linea);background:var(--blanco);border-radius:12px;padding:12px 8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;text-align:center}.publica-horario button strong{color:var(--marino);font-size:14px}.publica-horario button small{color:var(--gris);font-size:11px}.publica-horario button.activa{border-color:var(--rojo);background:var(--rojo-suave)}.publica-gracias{background:var(--blanco);border-radius:14px;box-shadow:var(--sombra);padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.publica-gracias p{margin:0;font-size:16px}.publica-marca{width:64px;height:64px;border-radius:50%;background:var(--verde);color:#fff;font-size:34px;font-weight:800;display:grid;place-items:center}.publica-numero{font-size:32px!important;font-weight:800;color:var(--marino)}.publica-pie{text-align:center;color:var(--gris);font-size:12px;padding:16px}.pregunta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--linea);flex-wrap:wrap}.pregunta:last-child{border:0}.pregunta>span{font-weight:600;color:var(--tinta)}.estrellas-elegir{display:flex;gap:2px}.estrellas-elegir button{background:none;border:0;font-size:34px;line-height:1;color:var(--gris-claro);cursor:pointer;padding:2px;touch-action:manipulation}.estrellas-elegir button.llena{color:#e8a70a}.nota-diez{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.nota-diez button{min-height:46px;border-radius:10px;border:2px solid var(--linea);background:var(--blanco);font-weight:800;font-size:16px;cursor:pointer;color:var(--marino)}.nota-diez button.activa.baja{background:var(--rojo);border-color:var(--rojo);color:#fff}.nota-diez button.activa.media{background:var(--ambar);border-color:var(--ambar);color:#fff}.nota-diez button.activa.alta{background:var(--verde);border-color:var(--verde);color:#fff}@media(max-width:1100px){.mapa-rejilla{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.publica-horario{grid-template-columns:minmax(0,1fr)}.publica-banda h1{font-size:23px}.publica-cab img{height:24px}.nota-diez{grid-template-columns:repeat(5,1fr)}.estrellas-elegir button{font-size:32px}.pregunta{flex-direction:column;align-items:flex-start;gap:4px}}.telemetria-intro{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.telemetria-intro p{margin:0;line-height:1.6}.cadena{width:100%;min-width:680px;height:auto;display:block}.tarjeta:has(>.cadena){overflow-x:auto}.cadena-titulo{font-size:14px;font-weight:700;fill:#fff;font-family:var(--letra)}.cadena-texto{font-size:13px;fill:var(--tinta-2);font-family:var(--letra)}.telemetria-pos{font-size:18px}.telemetria-limitador{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin-top:12px;background:var(--fondo);border-radius:10px;padding:14px 16px;align-items:center}.telemetria-limitador>div{display:flex;flex-direction:column;gap:4px}.telemetria-limitador small{font-size:11px;text-transform:uppercase;color:var(--gris);font-weight:600}.telemetria-limitador strong{font-size:26px;color:var(--marino);font-weight:800}.telemetria-limitador .uso-pista{height:14px;border-radius:7px}.telemetria-limitador .uso-texto{font-size:18px;min-width:80px}.telemetria-eventos{list-style:none;margin:0;padding:0}.telemetria-eventos li{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--linea);font-size:13px}.telemetria-eventos li:last-child{border:0}.latido{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--verde);margin-left:6px;animation:latido 2s infinite;vertical-align:middle}@keyframes latido{0%{box-shadow:0 0 #18864b99}70%{box-shadow:0 0 0 8px #18864b00}to{box-shadow:0 0 #18864b00}}@media(max-width:560px){.telemetria-limitador{grid-template-columns:1fr 1fr}.telemetria-limitador .ancho{grid-column:1 / -1}}button.menu-entrada{width:100%;background:none;border:0;cursor:pointer;font:inherit;text-align:left}.menu-paseo-icono{width:20px;flex-shrink:0;text-align:center;font-style:normal;font-size:13px;color:var(--rojo)}.barra-movil-botones{display:flex;gap:8px}.ficha-paseo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 16px;padding:12px 14px;background:var(--fondo);border-radius:var(--radio)}.ayuda-paseo h3{margin:16px 0 6px}.ayuda-paseo ul{margin:0;padding-left:20px;display:grid;gap:6px}.ayuda-paseo p{margin:0 0 4px}.ayuda-areas{margin:0;display:grid;gap:12px}.ayuda-areas dt{font-weight:700}.ayuda-areas dt a{color:var(--marino);text-decoration:none}.ayuda-areas dt a:hover{color:var(--rojo);text-decoration:underline}.ayuda-areas dd{margin:2px 0 0;color:var(--tinta-2)}kbd{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid var(--gris-claro);border-bottom-width:2px;border-radius:5px;background:var(--blanco);font:600 12px var(--letra);text-align:center}.tabla .fila-filtros th{padding-top:0;top:37px;text-transform:none;letter-spacing:0}.tabla .fila-filtros input{width:100%;min-width:80px;min-height:30px;padding:4px 8px;font-size:12px;font-weight:500}.tabla-seguimiento td{white-space:nowrap}
