:root{--fondo: #FFFFFF;--fondo-suave: #F4F5F7;--tinta: #111827;--tinta-suave: #4B5563;--tinta-secundaria: #616875;--tinta-tenue: #9CA3AF;--borde: #E5E7EB;--primario: #1A56DB;--primario-oscuro: #1240A8;--aviso: #FFB700;--aviso-fondo: #FFF7E0;--aviso-tinta: #7A5800;--grabando: #DC2626;--error: #B91C1C;--error-fondo: #FEE2E2;--ok: #15803D;--ok-fondo: #DCFCE7;--sobre-accion: #FFFFFF;--primario-suave: #EFF4FF;--enviado-fondo: #DBEAFE;--toque: 56px;--radio-s: 8px;--radio-m: 12px;--radio-l: 16px;--radio-chapa: 6px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--fondo);color:var(--tinta);font:17px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}h1,h2,h3{margin:0 0 16px;line-height:1.2}h1{font-size:30px;font-weight:900}h2{font-size:22px;font-weight:800;margin-top:32px}a{color:var(--primario)}:focus-visible{outline:3px solid var(--primario);outline-offset:2px}.contenedor{max-width:1100px;margin:0 auto;padding:24px 16px 48px}.secundario{color:var(--tinta-secundaria);font-size:15px}.tabular{font-variant-numeric:tabular-nums}.boton{min-height:var(--toque);padding:0 24px;border-radius:var(--radio-m);font:inherit;font-weight:800;cursor:pointer;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.boton:disabled{opacity:.5;cursor:not-allowed}.boton-primario{background:var(--primario);color:var(--sobre-accion)}.boton-secundario{background:var(--fondo);color:var(--primario);border-color:var(--primario)}@media(hover:hover){.boton-primario:hover:not(:disabled){background:var(--primario-oscuro)}.boton-secundario:hover:not(:disabled){background:var(--primario-suave)}}.boton-enlace{background:none;border:none;color:var(--primario);font:inherit;font-weight:700;min-height:var(--toque);padding:0 8px;cursor:pointer;text-decoration:underline}.campo{display:grid;gap:6px}.campo label{font-weight:800;font-size:15px}.campo-control{display:flex;gap:8px}.campo input,.campo select,.campo textarea{min-height:var(--toque);width:100%;padding:12px 16px;font:inherit;color:var(--tinta);background:var(--fondo);border:2px solid var(--borde);border-radius:var(--radio-m)}.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--primario);outline:none}.campo input:disabled{background:var(--fondo-suave);color:var(--tinta-suave)}.campo input[aria-invalid=true]{border-color:var(--error)}.campo-ojo{min-height:var(--toque);min-width:var(--toque);padding:0 12px;border:2px solid var(--borde);border-radius:var(--radio-m);background:var(--fondo);color:var(--tinta);font:inherit;font-weight:700;cursor:pointer}.campo-error{margin:0;color:var(--error);font-size:15px;font-weight:600}.campo-ayuda{margin:0;color:var(--tinta-secundaria);font-size:15px}.banda{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radio-m);margin:0 0 16px;font-weight:600}.banda p{margin:0}.banda-aviso{background:var(--aviso-fondo);color:var(--aviso-tinta)}.banda-error{background:var(--error-fondo);color:var(--error)}.banda-ok{background:var(--ok-fondo);color:var(--ok)}.chapa{display:inline-block;padding:4px 10px;border-radius:var(--radio-chapa);font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.chapa-borrador{background:var(--fondo-suave);color:var(--tinta-suave)}.chapa-enviado{background:var(--enviado-fondo);color:var(--primario-oscuro)}.chapa-aceptado{background:var(--ok-fondo);color:var(--ok)}.chapa-rechazado{background:var(--error-fondo);color:var(--error)}.chapa-en_ejecucion{background:var(--aviso-fondo);color:var(--aviso-tinta)}.chapa-cobrado{background:var(--tinta);color:var(--fondo)}.chapa-visto{background:var(--ok-fondo);color:var(--ok)}.marco-cabecera{border-bottom:1px solid var(--borde);background:var(--fondo)}.marco-cabecera .contenedor{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:8px;padding-bottom:8px}.marca{font-size:24px;font-weight:900;color:var(--tinta);text-decoration:none;letter-spacing:-1px;margin:0}.marca span{color:var(--primario)}.marco-nav{display:flex;flex-wrap:wrap;gap:4px;flex:1}.marco-nav a{min-height:var(--toque);display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--radio-s);color:var(--tinta-suave);font-weight:700;text-decoration:none}.marco-nav a.active{color:var(--primario);background:var(--primario-suave)}.tabla{width:100%;border-collapse:collapse}.tabla th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--tinta-secundaria);padding:8px 12px;border-bottom:2px solid var(--borde)}.tabla td{padding:16px 12px;border-bottom:1px solid var(--borde);vertical-align:middle}.tabla .numero{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tabla tr.fila-enlace{cursor:pointer}@media(hover:hover){.tabla tr.fila-enlace:hover td{background:var(--fondo-suave)}}.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0 0 16px}.cifra{border:1px solid var(--borde);border-radius:var(--radio-l);padding:16px}.cifra-valor{font-size:34px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1}.cifra-etiqueta{color:var(--tinta-secundaria);font-size:15px;margin-top:4px}.filtros{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:0 0 24px}.filtros .campo{min-width:180px}.formulario{display:grid;gap:16px;max-width:560px}.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0 16px}.bloque{background:var(--fondo-suave);border-radius:var(--radio-l);padding:16px;margin:16px 0 24px}.bloque p{margin:4px 0;display:flex;justify-content:space-between;gap:16px}.partida{border:1px solid var(--borde);border-radius:var(--radio-l);padding:16px;margin:0 0 16px}.partida legend{font-weight:800;padding:0 8px}.partida-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.partida-campos .ancha{grid-column:1 / -1}.cargando{color:var(--tinta-secundaria)}.entrar{max-width:440px;margin:64px auto;padding:0 16px}@media(max-width:640px){.tabla .ocultar-movil{display:none}}
