:root{--fondo:#f6f5f2;--tarjeta:#fff;--texto:#1c1c1f;--suave:#5f5f66;--linea:#ecebe6;--relleno:#efeee9;--anillo:0 0 0 1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);--acento:#2563eb;--acento-texto:#2563eb;--acento-suave:#e6eefc;--insignia:#4f8cff;--energia:#b45309;--ok:#1a7f4b;--ok-fondo:#e3f4ea;--aviso:#9a5b00;--aviso-fondo:#fdf0d9;--critico:#b42318;--critico-fondo:#fde8e6;--error:#b42318;--error-fondo:#fde8e6}@media (prefers-color-scheme:dark){:root{--fondo:#111113;--tarjeta:#1c1c1f;--texto:#ececec;--suave:#a3a3ab;--linea:#29292e;--relleno:#26262b;--anillo:0 0 0 1px hsla(0,0%,100%,.08);--acento-texto:#7aa8ff;--acento-suave:#1b2a45;--energia:#f2a541;--ok:#5fd39a;--ok-fondo:#12311f;--aviso:#f3b75a;--aviso-fondo:#33260f;--critico:#ff8a80;--critico-fondo:#3a1714;--error:#ff8a80;--error-fondo:#3a1714}}[data-persona=ME]{--acento:#c81e6b;--acento-texto:#c81e6b;--acento-suave:#fbe6ef;--insignia:#f472b6}@media (prefers-color-scheme:dark){[data-persona=ME]{--acento-texto:#f58cc0;--acento-suave:#3a1a2a}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--fondo);color:var(--texto);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-text-size-adjust:100%}a{color:var(--acento-texto)}.suave{color:var(--suave);font-size:14px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.app{max-width:820px;margin:0 auto;min-height:100vh;padding:0 16px calc(32px + env(safe-area-inset-bottom))}.cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 0 4px}.marca{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--texto);text-decoration:none}.logo{color:var(--energia)}.cabecera-derecha{display:flex;align-items:center;gap:14px;font-size:13px}.cabecera-derecha form{margin:0}.cabecera-derecha a{color:var(--suave);text-decoration:none}.insignia{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 8px;border-radius:999px;background:var(--insignia);color:#fff;font-size:12px;font-weight:700}.enlace-boton{border:0;background:none;padding:6px 0;font:inherit;font-size:13px;color:var(--suave);cursor:pointer}.pestanas{display:flex;gap:4px;overflow-x:auto;margin:10px -16px 0;padding:0 16px 2px;scrollbar-width:none}.pestanas::-webkit-scrollbar{display:none}.pestana{flex:none;padding:8px 13px;border-radius:999px;color:var(--suave);text-decoration:none;font-size:14.5px;font-weight:600}.pestana[aria-current=page]{background:var(--tarjeta);color:var(--texto);box-shadow:var(--anillo)}.contenido h1{font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:18px 0 4px}.subtitulo{margin:0 0 14px;font-size:15px}.subtitulo,h2{color:var(--suave)}h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:26px 0 10px}h3{font-size:15px;margin:0 0 6px}.tarjeta{background:var(--tarjeta);border-radius:16px;box-shadow:var(--anillo);padding:14px 16px;margin-bottom:10px}.cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width:640px){.cifras{grid-template-columns:repeat(4,minmax(0,1fr))}}.cifra{background:var(--tarjeta);border-radius:16px;box-shadow:var(--anillo);padding:12px 14px;min-width:0}.cifra-etiqueta{display:block;font-size:12.5px;color:var(--suave);font-weight:600}.cifra-valor{font-size:21px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cifra-nota,.cifra-valor{display:block;margin-top:2px}.cifra-nota{font-size:12.5px;color:var(--suave)}.sube{color:var(--critico)}.baja{color:var(--ok)}.avisos{list-style:none;margin:0;padding:0;display:grid;gap:8px}.avisos li a,.avisos li span.aviso-caja{display:flex;align-items:baseline;gap:10px;padding:11px 14px;border-radius:12px;background:var(--aviso-fondo);color:var(--aviso);text-decoration:none;font-weight:600;font-size:15px}.avisos li.tono-critico a,.avisos li.tono-critico span.aviso-caja{background:var(--critico-fondo);color:var(--critico)}.avisos .aviso-detalle{margin-left:auto;font-weight:500;font-size:13.5px;opacity:.9;text-align:right}.todo-bien{background:var(--ok-fondo);color:var(--ok);margin:0}.mensaje,.todo-bien{padding:11px 14px;border-radius:12px;font-weight:600;font-size:15px}.mensaje{margin:12px 0 0}.mensaje-ok{color:var(--ok);background:var(--ok-fondo)}.mensaje-error{color:var(--error);background:var(--error-fondo)}.filas{list-style:none;margin:0;padding:0;background:var(--tarjeta);border-radius:16px;box-shadow:var(--anillo);overflow:hidden}.fila{display:flex;align-items:center;gap:12px;padding:11px 14px;color:var(--texto);text-decoration:none}.filas li+li .fila,.filas li+li>.fila{border-top:1px solid var(--linea)}.fila-icono{flex:none;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--relleno);font-size:17px}.fila-cuerpo{flex:1;min-width:0}.fila-titulo{font-weight:600;font-size:15px}.fila-sub,.fila-titulo{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fila-sub{font-size:13px;color:var(--suave)}.fila-importe{flex:none;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.fila-importe small{display:block;font-weight:500;font-size:12px;color:var(--suave)}.chip{display:inline-block;font-size:12px;font-weight:650;padding:1px 9px;border-radius:999px;white-space:nowrap}.chip-validada{color:var(--ok);background:var(--ok-fondo)}.chip-pendiente_pdf,.chip-revision{color:var(--aviso);background:var(--aviso-fondo)}.filtros{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.filtro{padding:6px 12px;border-radius:999px;background:var(--tarjeta);box-shadow:var(--anillo);color:var(--suave);text-decoration:none;font-size:13.5px;font-weight:600}.filtro[aria-current=true]{background:var(--acento);color:#fff;box-shadow:none}.tabla-caja{background:var(--tarjeta);border-radius:16px;box-shadow:var(--anillo);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--linea);vertical-align:top}tr:last-child td{border-bottom:0}th{font-size:12px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.04em}td.n,th,th.n{white-space:nowrap}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}caption{text-align:left;padding:10px 12px 0;font-weight:700}.datos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:12px;margin:0}.datos dd,.datos dt{margin:0;padding:8px 0;border-bottom:1px solid var(--linea);font-size:14.5px}.datos dt{color:var(--suave)}.datos dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.datos dd:last-of-type,.datos dt:last-of-type{border-bottom:0}.acciones{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.acciones form{margin:0}label{display:block;font-size:13.5px;font-weight:600;margin:0 0 5px}.campo{width:100%;min-height:46px;padding:0 12px;border-radius:12px;border:0;box-shadow:var(--anillo);background:var(--tarjeta);color:var(--texto);font:inherit;font-size:16px}textarea.campo{padding:10px 12px;min-height:80px;resize:vertical}.campo:focus{outline:2px solid var(--acento)}.campo:user-invalid{outline:2px solid var(--error)}.rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width:640px){.rejilla{grid-template-columns:repeat(3,minmax(0,1fr))}}.rejilla .ancho{grid-column:1/-1}.ayuda{display:block;font-size:12.5px;color:var(--suave);font-weight:500;margin-top:4px}fieldset{border:0;margin:0 0 6px;padding:0}legend{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin:22px 0 10px;padding:0}details.mas{margin-top:10px}details.mas>summary{cursor:pointer;font-weight:600;color:var(--acento-texto);padding:8px 0}.boton{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:0;border-radius:12px;background:var(--acento);color:#fff;font-weight:650;font-size:15.5px;text-decoration:none;cursor:pointer}.boton-suave{background:var(--tarjeta);color:var(--texto);box-shadow:var(--anillo)}.boton-ancho{width:100%;margin-top:18px}.boton:disabled{opacity:.6}.pie{margin-top:32px;text-align:center;font-size:12.5px;color:var(--suave)}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:100%;max-width:360px}.login h1{font-size:26px;margin:0 0 6px}.login label{margin:14px 0 6px;font-size:14px}.login .boton{width:100%;min-height:48px;margin-top:18px}.aviso{border-radius:10px;padding:10px 14px;margin:12px 0 0;font-size:15px}.aviso-error,.fallo{color:var(--error);background:var(--error-fondo)}.fallo{border-radius:14px;padding:14px 16px;margin:16px 0;font-weight:600}