:root{--brand:#f07d00;--verde:#009c3d;--s1:#e06d00;--s2:#2e6fb8;--s3:#009c3d;--s4:#8a5cb8;--pos:#008c00;--neg:#d32f2f;--aviso:#b26a00;--txt:#1f2937;--txt2:#6b7280;--border:#e5e7eb;--bg:#f7f7f5;--card:#fff;--subtotal:#faf6f0;--grid:#eee}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--txt);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}.wrap{max-width:1360px;margin:0 auto;padding:0 20px}:root{--lateral-w:262px;--lateral-w-min:56px}.app{align-items:flex-start;min-height:100vh;display:flex}.contenido{flex:1;min-width:0}.contenido .wrap{max-width:none}.lateral{width:var(--lateral-w);flex:0 0 var(--lateral-w);border-right:1px solid var(--border);background:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.marca{border-bottom:1px solid var(--border);z-index:2;background:#fff;align-items:center;gap:10px;padding:13px 14px;display:flex;position:sticky;top:0}.marca img{width:auto;height:30px;display:block}.marca .txt{min-width:0}.marca .txt b{font-size:14px;font-weight:700;line-height:1.2;display:block}.marca .txt span{color:var(--txt2);font-size:11px;display:block}.plegar{border:1px solid var(--border);cursor:pointer;width:26px;height:26px;color:var(--txt2);background:#fff;border-radius:7px;flex:0 0 26px;margin-left:auto;font-size:13px;line-height:1}.plegar:hover{border-color:var(--brand);color:var(--brand)}.menu{flex:1;padding:8px 6px}.menu-submodulo,.menu-grupo{margin-bottom:2px}.menu-submodulo>summary,.menu-grupo>summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--txt2);border-radius:8px;align-items:center;gap:8px;padding:9px 11px;font-size:11.5px;font-weight:700;list-style:none;display:flex}.menu-submodulo>summary::-webkit-details-marker{display:none}.menu-grupo>summary::-webkit-details-marker{display:none}.menu-submodulo>summary:hover,.menu-grupo>summary:hover{color:var(--txt);background:#fff7ee}.menu-submodulo>summary .flecha,.menu-grupo>summary .flecha{color:#b6bac1;flex:none;font-size:9px;transition:transform .15s}.menu-submodulo[open]>summary .flecha,.menu-grupo[open]>summary .flecha{transform:rotate(90deg)}.menu-submodulo>summary .cuenta,.menu-grupo>summary .cuenta{background:var(--subtotal);color:var(--brand);letter-spacing:0;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}.menu-submodulo>summary{color:var(--txt);background:var(--bg);margin-bottom:4px;font-size:12px}.menu-submodulo[open]>summary{border-bottom:1px solid var(--border);border-radius:8px 8px 0 0}.menu-submodulo>.menu-grupo>summary{padding-left:19px}.menu ul{margin:2px 0 8px;padding:0;list-style:none}.menu li a{color:var(--txt);border-left:3px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:8px 11px 8px 14px;font-size:13.5px;text-decoration:none;display:flex}.menu li a:hover{background:var(--bg)}.menu li a.activo{color:var(--txt);border-left-color:var(--brand);background:#fff4e8;font-weight:600}.menu li a .ico{text-align:center;opacity:.75;flex:0 0 16px;width:16px}.menu-pie{border-top:1px solid var(--border);color:var(--txt2);padding:11px 14px;font-size:11px}.app.plegado .lateral{width:var(--lateral-w-min);flex-basis:var(--lateral-w-min)}.app.plegado .marca .txt,.app.plegado .menu summary span:not(.flecha),.app.plegado .menu li a span:not(.ico),.app.plegado .menu-pie{display:none}.app.plegado .marca{justify-content:center;padding:13px 8px}.app.plegado .marca img{height:26px}.app.plegado .plegar{margin-left:0}.app.plegado .menu summary{justify-content:center;padding:9px 4px}.app.plegado .menu li a{border-left-width:0;justify-content:center;padding:9px 4px}header{border-bottom:1px solid var(--border);background:#fff}.hd{flex-wrap:wrap;align-items:center;gap:16px;padding:14px 0;display:flex}.hd img{height:36px;display:block}.hd .ttl h1{font-size:19px;font-weight:700}.hd .ttl p{color:var(--txt2);font-size:12.5px}.hd .meta{text-align:right;color:var(--txt2);margin-left:auto;font-size:12px}.hd .meta b{color:var(--txt);font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:14px;padding:10px 0 14px;display:flex}.fgroup{align-items:center;gap:6px;display:flex}.fgroup label{color:var(--txt);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:700}.fgroup.off{opacity:.45}.fgroup.off label{color:var(--txt2)}.filters .fnota{color:var(--txt2);font-size:12px}select{font:inherit;color:var(--txt);border:1px solid var(--border);background:#fff;border-radius:6px;padding:5px 8px;font-size:13px}select:disabled{cursor:not-allowed;background:#f3f4f6}.chips{border:1px solid var(--border);background:#fff;border-radius:7px;display:inline-flex;overflow:hidden}.chip{cursor:pointer;color:var(--txt2);border:0;border-right:1px solid var(--border);background:#fff;padding:5px 11px;font-size:13px}.chip:last-child{border-right:0}.chip.active{color:var(--txt);box-shadow:inset 0 -2px 0 var(--brand);background:#fff4e8;font-weight:600}.chip:disabled{cursor:not-allowed;color:#b6bac1}main{padding:20px 0 8px}.tiles{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tile .lbl{color:var(--txt2);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.tile .val{font-variant-numeric:tabular-nums;margin:2px 0 3px;font-size:30px;font-weight:700}.tile .unit{color:var(--txt2);font-size:12px;font-weight:400}.tile .delta{font-variant-numeric:tabular-nums;font-size:12.5px}.tile .delta .vs{color:var(--txt2)}.dpos{color:var(--pos);font-weight:600}.dneg{color:var(--neg);font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:16px;display:flex}.tab{font:inherit;cursor:pointer;color:var(--txt2);background:0 0;border:0;border-bottom:3px solid #0000;padding:9px 16px;font-size:14px;font-weight:600}.tab:hover{color:var(--txt)}.tab.active{color:var(--txt);border-bottom-color:var(--brand)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:18px;padding:16px 16px 12px}.card h3{margin-bottom:1px;font-size:14.5px;font-weight:700}.card .note{color:var(--txt2);margin-bottom:10px;font-size:12px}.card .cabecera{align-items:flex-start;gap:12px;display:flex}.card .cabecera .crece{flex:1}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=1100px){.grid2{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.tiles{grid-template-columns:1fr}}.tablewrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{border-bottom:1px solid var(--grid);white-space:nowrap;padding:5px 10px;font-size:13px}thead th{z-index:2;color:var(--txt2);text-transform:uppercase;letter-spacing:.03em;text-align:right;border-bottom:1px solid var(--border);background:#fff;font-size:11.5px;position:sticky;top:0}thead th:first-child{text-align:left}td.num{text-align:right}td.neg{color:var(--neg)}td.vacio{color:#c6cad1}tr.titulo td{color:var(--txt2);text-transform:uppercase;letter-spacing:.05em;border-bottom:0;padding-top:10px;font-size:11.5px;font-weight:700}tr.sub td{background:var(--subtotal);font-weight:700}tr.total td{border-top:2px solid var(--txt);font-size:13.5px;font-weight:700}tr.separador td{border-bottom:0;height:10px}.btn{font:inherit;cursor:pointer;border:1px solid var(--border);color:var(--txt);background:#fff;border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--brand);color:var(--brand)}.valida{background:#f3faf5;border:1px solid #cfe9d8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:12.5px;display:flex}.valida.aviso{background:#fff8ec;border-color:#f0dcb8}.valida .ok{color:var(--verde);font-weight:700}.valida .warn{color:var(--aviso);font-weight:700}.valida .chk{font-variant-numeric:tabular-nums;background:#fff;border:1px solid #cfe9d8;border-radius:6px;padding:3px 9px}.valida.aviso .chk{border-color:#f0dcb8}.valida .chk b{color:var(--verde)}.valida.aviso .chk b{color:var(--aviso)}.foot-notes{color:var(--txt2);margin-top:10px;font-size:11.5px;line-height:1.6}.foot-notes b{color:var(--txt)}.estado{text-align:center;color:var(--txt2);padding:40px 0;font-size:13.5px}.estado.error{color:var(--neg)}.cargando-barra{background:linear-gradient(90deg, transparent, var(--brand), transparent);background-size:200% 100%;height:2px;animation:1.1s linear infinite desliza}@keyframes desliza{0%{background-position:200% 0}to{background-position:-200% 0}}footer{color:var(--txt2);border-top:1px solid var(--border);margin-top:8px;padding:18px 0 26px;font-size:12px}footer a{color:var(--brand);font-weight:600;text-decoration:none}.tile .sub{color:var(--txt2);margin-bottom:7px;font-size:12px}.avance{align-items:center;gap:8px;margin-bottom:5px;display:flex}.pista{background:var(--grid);border-radius:4px;flex:1;height:7px;overflow:hidden}.pista i{border-radius:4px;height:100%;display:block}.pct{font-variant-numeric:tabular-nums;text-align:right;min-width:52px;font-size:12.5px;font-weight:700}.av-ok i{background:var(--verde)}.av-ok.pct,.pct.av-ok{color:var(--verde)}.av-med i{background:#e0a100}.pct.av-med{color:var(--aviso)}.av-alto i{background:var(--neg)}.pct.av-alto{color:var(--neg)}.barras{flex-direction:column;gap:9px;display:flex}.barra{grid-template-columns:150px 1fr 150px;align-items:center;gap:10px;display:grid}.barra .nom{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.barra .par{flex-direction:column;gap:2px;display:flex}.barra .par i{border-radius:2px;min-width:1px;height:9px;display:block}.barra .cifras{text-align:right;font-variant-numeric:tabular-nums;color:var(--txt2);font-size:12px}.barra .cifras b{color:var(--txt);font-weight:600}.leyenda{color:var(--txt2);gap:14px;margin-bottom:10px;font-size:12px;display:flex}.leyenda span{align-items:center;gap:5px;display:inline-flex}.leyenda i{border-radius:2px;width:11px;height:11px;display:inline-block}.tablewrap.ancha{max-height:70vh;overflow:auto}table.compacta th,table.compacta td{padding:4px 8px;font-size:12.5px}table.compacta th.grupo{text-align:center;border-left:1px solid var(--border);background:#fafaf8}table.compacta td.sep,table.compacta th.sep{border-left:1px solid var(--border)}table.compacta tbody th{z-index:1;text-align:left;text-transform:none;letter-spacing:0;color:var(--txt);background:#fff;font-size:12.5px;font-weight:400;position:sticky;left:0}table.compacta tr.total tbody th,table.compacta tr.total th{font-weight:700}.futuro{color:#a8adb6}th.futuro{color:#b6bac1}.note .futuro{border-bottom:1px dotted #a8adb6}table.compacta td.ppto{background:#f4f7fb}table.compacta th.ppto{color:#4b5d78;background:#edf2f9}table.compacta th.ppto sup{font-size:9px;font-weight:700}table.compacta tr.sub td.ppto{background:#f1f2f2}.ppto-marca{background:#f4f7fb;border-bottom:1px solid #c9d6e6;padding:0 3px}table.compacta tr.sub th,table.compacta tr.sub td{background:var(--subtotal);font-weight:700}.filtros-tabla{border:1px solid var(--border);background:#fbfbf9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 10px;padding:9px 11px;display:flex}.filtros-tabla span{align-items:center;gap:6px;display:inline-flex}.filtros-tabla label{color:var(--txt);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:700}.filtros-tabla input[type=search],.filtros-tabla input[type=text]{font:inherit;border:1px solid var(--border);color:var(--txt);background:#fff;border-radius:7px;padding:4px 9px;font-size:13px}.filtros-tabla input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}td.desplazado{color:#b6bac1;text-decoration:line-through}tr.desplazada th,tr.desplazada td{background:#fcfcfb}.sub2{color:var(--txt2);white-space:normal;font-size:11px;font-weight:400}.serie{flex-direction:column;gap:3px;display:flex}.smes{grid-template-columns:38px 1fr 96px 62px;align-items:center;gap:8px;display:grid}.smes .snom{color:var(--txt2);font-size:12px}.smes .seje{background:linear-gradient(90deg,transparent 49.7%,var(--border) 49.7%,var(--border) 50.3%,transparent 50.3%);height:13px;position:relative}.smes .seje i{border-radius:2px;min-width:1px;height:9px;position:absolute;top:2px}.smes .scifra{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}.smes .smov{color:var(--txt2);text-align:right;font-size:11.5px}.smes.futuro .snom,.smes.futuro .scifra,.smes.futuro .smov{color:#b6bac1}.smes.futuro .seje i{opacity:.3}.expandir{font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--txt);text-align:left;background:0 0;border:0;padding:0;font-size:12.5px}.expandir:hover{color:var(--brand)}tr.abierta>td{background:#fff9f2}tr.drill>td{background:#fbfbf9;padding:10px 14px}.drillcab{color:var(--txt2);align-items:center;gap:12px;margin-bottom:8px;font-size:12.5px;display:flex}.drillcab b{color:var(--txt)}.drillcab .btn{margin-left:auto}td.txt,th.txt{white-space:normal;text-align:left;max-width:320px}.formgrid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px 16px;margin:12px 0 4px;display:grid}@media (width<=1100px){.formgrid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.formgrid{grid-template-columns:1fr}}.campo label{color:var(--txt2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:11.5px;font-weight:600;display:block}.campo input,.rejilla input{font:inherit;width:100%;color:var(--txt);border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 8px;font-size:13px}.campo input:disabled,.rejilla input:disabled{color:var(--txt2);cursor:not-allowed;background:#f3f4f6}.campo input:focus-visible,.rejilla input:focus-visible{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}.pista-campo{color:var(--txt2);margin-top:3px;font-size:11px;line-height:1.35}.banderas{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0 4px;display:flex}.banderas label{color:var(--txt2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.rejilla input.imp{text-align:right;font-variant-numeric:tabular-nums}.rejilla input.cta{font-variant-numeric:tabular-nums}.rejilla td{vertical-align:middle}.rejilla tfoot td{border-top:2px solid var(--txt);padding-top:8px;font-weight:700}.quitar{font:inherit;cursor:pointer;color:var(--txt2);border:1px solid var(--border);background:#fff;border-radius:6px;width:26px;height:26px;font-size:15px;line-height:1}.quitar:hover:not(:disabled){border-color:var(--neg);color:var(--neg)}.quitar:disabled{cursor:not-allowed;color:#c6cad1}.rejilla.meses{min-width:100%}.rejilla.meses th,.rejilla.meses td{vertical-align:top;padding:4px 5px}.rejilla.meses th.cta-col,.rejilla.meses td.cta-col{z-index:1;text-align:left;min-width:212px;box-shadow:1px 0 0 var(--grid);background:#fff;position:sticky;left:0}.rejilla.meses tfoot td.cta-col{background:#fff}.rejilla.meses th.mes{text-align:right;width:84px}.rejilla.meses input.imp{padding:5px 6px;font-size:12.5px}.rejilla.meses th.mes sup{color:var(--brand);margin-left:2px;font-size:11px}.rejilla.meses th.mes.fuera{color:#c6cad1;font-weight:400}.rejilla.meses td.mes.fuera{color:#c6cad1;text-align:center;background:#fafaf9}.rejilla.meses td.mes.fuera-con-importe input{border-color:var(--neg);background:#fef6f6}.cta-pie{flex-wrap:wrap;align-items:baseline;gap:4px 6px;max-width:206px;margin-top:3px;font-size:11px;line-height:1.3;display:flex}.rubro-cta{color:#4b5d78;background:#edf2f9;border-radius:4px;padding:0 4px}.rubro-cta.sin{color:var(--neg);background:#fef6f6}.ppto-cta{color:var(--txt2);font-variant-numeric:tabular-nums}.desplaza{border-color:#f0dcb8}.desplaza>h3{color:var(--aviso)}.btnrow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.btnrow.acciones{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.btn.primario{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primario:hover:not(:disabled){background:var(--s1);border-color:var(--s1);color:#fff}.btn.peligro:hover:not(:disabled){border-color:var(--neg);color:var(--neg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{border-color:var(--border);color:var(--txt)}.reglas{border:1px solid var(--border);border-radius:8px;margin-top:10px;overflow:hidden}.reglas-ttl{color:var(--txt2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:#fafaf9;padding:7px 12px;font-size:11.5px;font-weight:600}.pendiente-guardar{text-transform:none;letter-spacing:0;color:var(--aviso);font-weight:400}.regla{border-bottom:1px solid var(--grid);align-items:baseline;gap:8px;padding:6px 12px;font-size:12.5px;display:flex}.regla:last-child{border-bottom:0}.regla .marca{color:var(--pos);font-weight:700}.regla.mal .marca{color:var(--neg)}.regla .det{color:var(--txt2)}.folio{font-variant-numeric:tabular-nums;font-weight:700}.etiqueta{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.etiqueta.borrador{color:var(--aviso);background:#fff8ec;border-color:#f0dcb8}.etiqueta.confirmado{color:var(--verde);background:#f3faf5;border-color:#cfe9d8}.etiqueta.cancelado{border-color:var(--border);color:var(--txt2);background:#f3f4f6}.historial>summary{cursor:pointer;align-items:baseline;gap:10px;list-style:none;display:flex}.historial>summary::-webkit-details-marker{display:none}.historial>summary:before{content:"▶";color:var(--txt2);font-size:9px;transition:transform .12s}.historial[open]>summary:before{transform:rotate(90deg)}.historial[open]>summary{margin-bottom:10px}.compacta tr.es-ajuste td{background:#fff8ec}.marca-ajuste{text-transform:uppercase;letter-spacing:.04em;color:var(--aviso);vertical-align:1px;background:#fff;border:1px solid #f0dcb8;border-radius:4px;margin-right:5px;padding:0 4px;font-size:9.5px;font-weight:700;display:inline-block}.motivo-ajuste{color:var(--aviso);font-size:11.5px}.tablewrap.ancha.densa table.compacta th,.tablewrap.ancha.densa table.compacta td,.tablewrap.ancha.densa table.compacta tbody th{padding:3px 5px;font-size:11.5px}.tablewrap.ancha.mas-densa table.compacta th,.tablewrap.ancha.mas-densa table.compacta td,.tablewrap.ancha.mas-densa table.compacta tbody th{padding:2px 4px;font-size:11px}.tablewrap.ancha.mas-densa table.compacta th.ppto sup{font-size:8px}.tablewrap.ancha table.compacta thead th:first-child{z-index:4;left:0}.tablewrap.ancha.sin-recorte{max-height:none}
