.ct-cuadre{--navy:#193651;--navy2:#244F78;--navy9:#10243B;--navy95:#0A1A3D;--in:#0A6E96;--out:#B4233A;--line:#DCE4ED;--line2:#EEF2F7;--soft:#F7F9FC;--tx:#0F1E33;--tx2:#33445A;--mut:#617187;--disp:"Space Grotesk",Inter,sans-serif;--sh:0 1px 2px rgba(10,26,61,.06),0 6px 18px -10px rgba(10,26,61,.18)}
.ct-cuadre *{box-sizing:border-box}
.ct-cuadre{margin:0;background:transparent;color:var(--tx);font:14px/1.5 "DM Sans",ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.ct-cuadre .wrap{padding:0 0 32px}
.ct-cuadre .alert ul{margin:6px 0 0;padding-left:18px}
.ct-cuadre .alert li{margin:4px 0}
.ct-cuadre .alert li span{color:var(--mut);display:block;font-size:12px}
.ct-cuadre table.cq{width:100%;border-collapse:collapse}
.ct-cuadre .cq th{font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--mut);font-weight:550;text-align:left;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line)}
.ct-cuadre .cq td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:middle;white-space:nowrap;font-size:13px}
.ct-cuadre .cq .r{text-align:right}
.ct-cuadre .cq small{display:block;color:var(--mut);font-size:11px;font-weight:400}
.ct-cuadre .nm{display:flex;gap:10px;align-items:center;white-space:normal!important}
.ct-cuadre .tg{width:24px;height:24px;flex:0 0 24px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;color:var(--navy);font-weight:700;line-height:1}
.ct-cuadre .tg:hover{border-color:var(--navy2)}
.ct-cuadre .in{color:var(--in)}
.ct-cuadre .out{color:var(--out)}
.ct-cuadre .dif{font-weight:700}
.ct-cuadre .dif.zero{color:var(--navy)}
.ct-cuadre .dif.flag{color:var(--out)}
.ct-cuadre .muted-t{color:var(--mut);font-weight:400}
.ct-cuadre .flag{color:var(--out)}
.ct-cuadre .warn-t{color:var(--out);margin:0 0 8px}
.ct-cuadre .cnt{width:140px;text-align:right;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;background:#FAFBFC}
.ct-cuadre .cnt:focus{outline:2px solid var(--navy2);background:#fff}
.ct-cuadre tr.det td{background:#FAFBFC;white-space:normal;padding:12px 16px 14px 46px}
.ct-cuadre .dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin-bottom:10px}
.ct-cuadre .dgrid span{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.ct-cuadre table.mini{border-collapse:collapse;width:100%;max-width:760px;font-size:13px}
.ct-cuadre .mini th{font-size:11px;color:var(--mut);text-align:left;padding:4px 8px;border-bottom:1px solid var(--line)}
.ct-cuadre .mini td{padding:4px 8px;border-bottom:1px solid #EDF0F3}
.ct-cuadre .mini .r{text-align:right}
.ct-cuadre .pie{color:var(--mut);font-size:12px;margin-top:14px}
@media (max-width:760px){.ct-cuadre .wrap{padding:16px 12px 40px}
.ct-cuadre .cq thead{display:none}
.ct-cuadre .cq tr.acc,.ct-cuadre .ft tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.ct-cuadre .cq td{border:0;padding:3px 0;white-space:normal}
.ct-cuadre .cq td.nm{grid-column:1/-1;padding-bottom:6px}
.ct-cuadre .ft td:first-child{grid-column:1/-1}
.ct-cuadre .cq td.r{text-align:left}
.ct-cuadre .cq td[data-l]::before{content:attr(data-l);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600}
.ct-cuadre .cnt{width:100%;text-align:left}
.ct-cuadre tr.det{display:block}
.ct-cuadre tr.det td{display:block;padding:10px 12px}
.ct-cuadre .dgrid{grid-template-columns:1fr 1fr}
}
.ct-cuadre .nil{color:#A3ADB8}
.ct-cuadre .sr{margin:4px 0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.ct-cuadre .sr-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.ct-cuadre .sr-h span{display:block;color:var(--mut);font-size:12px}
.ct-cuadre .sr-h .zero{color:var(--navy)}
.ct-cuadre .sr-b{display:flex;gap:8px;flex-wrap:wrap}
.ct-cuadre .btn{border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:6px;padding:6px 12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.ct-cuadre .btn.ghost{background:#fff;color:var(--tx);border-color:rgba(0,0,0,.1)}
.ct-cuadre .fix{margin:0;padding:8px 12px 8px 30px;border-bottom:1px solid var(--line);color:var(--tx);font-size:13px}
.ct-cuadre .fix li{margin:3px 0}
.ct-cuadre .fix b{color:var(--out)}
.ct-cuadre .sr-l{overflow:visible}
.ct-cuadre table.mini.srt{max-width:none}
.ct-cuadre .srt td{white-space:nowrap}
.ct-cuadre .srt th{position:sticky;top:0;background:#fff}
.ct-cuadre .srt td.ds{white-space:normal;min-width:260px}
.ct-cuadre .srt td small{display:block;color:var(--mut);font-size:11px}
.ct-cuadre .srt td small b{color:var(--tx);font-weight:600}
.ct-cuadre .srt tr.done td{color:var(--mut)}
.ct-cuadre .srt tr.done td.in,.ct-cuadre .srt tr.done td.out{opacity:.6}
.ct-cuadre .cat{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:5px 6px;background:#FAFBFC;max-width:190px}
@media (max-width:760px){.ct-cuadre .srt thead{display:none}
.ct-cuadre .srt tr{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--line)}
.ct-cuadre .srt td{border:0;padding:2px 10px;background:transparent!important}
.ct-cuadre .cq .srt td[data-l]::before{display:none}
.ct-cuadre .srt td.ds{grid-column:1/-1;order:3;min-width:0}
.ct-cuadre .srt td.r{text-align:right;order:2;font-weight:600}
.ct-cuadre .srt td:first-child{order:1;color:var(--mut)}
.ct-cuadre .cat{max-width:none;width:100%}
.ct-cuadre .srt td[data-l="Clasificar como"]{grid-column:1/-1;order:4}
.ct-cuadre .sr-l{max-height:none}
}
.ct-cuadre .sr-m{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);color:var(--mut);font-size:12px}
.ct-cuadre .sr-ok{padding:10px 12px;margin:0}

.ct-cuadre .cq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ct-cuadre .cq-eyebrow{font-size:12px;font-weight:500;letter-spacing:.96px;color:#027BAC;margin-bottom:6px}
.ct-cuadre .cq-head h1{margin:0;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;font-size:31.68px;font-weight:750;letter-spacing:-1.27px;line-height:1.2;color:#192538}
.ct-cuadre .cq-head p{margin:8px 0 0;color:var(--mut);font-size:14px;line-height:21px}
.ct-cuadre .cq-meta{margin-top:6px;font-size:12px;color:var(--mut)}
.ct-cuadre .cq-meta .save{color:var(--tx2)}
.ct-cuadre .cq-meta .save.bad{color:var(--out)}
.ct-cuadre .cq-acts{display:flex;gap:8px;align-items:center;padding-top:20px}
.ct-cuadre .cq-b1,.ct-cuadre .cq-b2{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:6px;font:inherit;font-size:14px;font-weight:500;line-height:20px;padding:8px 16px;cursor:pointer;min-height:38px}
.ct-cuadre .cq-b1{background:var(--navy);border:1px solid var(--navy);color:#fff}
.ct-cuadre .cq-b1:hover{background:var(--navy2)}
.ct-cuadre .cq-b1:disabled{opacity:.7;cursor:wait}
.ct-cuadre .cq-b2{background:#fff;border:1px solid rgba(0,0,0,.1);color:#192538}
.ct-cuadre .cq-b2:hover{background:var(--soft)}
.ct-cuadre .how{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:-8px 0 16px;color:var(--tx2);font-size:13px;box-shadow:var(--sh)}
.ct-cuadre .cq-kpis{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px}
.ct-cuadre .cq-kpi{container-type:inline-size;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--sh);min-width:0;display:flex;flex-direction:column;gap:4px}
.ct-cuadre .cq-kpi .k-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--mut);min-height:20px}
.ct-cuadre .ct-cur{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--navy);color:#fff;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:-.02em;line-height:1}
.ct-cuadre .ct-cur.bs{font-size:10px}
.ct-cuadre .cq-kpi .k-v{font-family:var(--disp);font-size:min(28px,10cqi);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:4px}
.ct-cuadre .cq-kpi .k-s{font-size:13px;font-weight:500;color:var(--tx)}
.ct-cuadre .cq-kpi .k-n{font-size:12px;color:var(--tx2)}
.ct-cuadre .cq-kpi.is-off .k-v{color:var(--out)}
.ct-cuadre .cq-kpi.is-zero .k-v{color:var(--navy)}
.ct-cuadre .cq-kpi.is-none .k-v{color:var(--mut)}
.ct-cuadre .cq-kpi.total{background:linear-gradient(135deg,var(--navy95),var(--navy));border-color:var(--navy9)}
.ct-cuadre .cq-kpi.total .k-h,.ct-cuadre .cq-kpi.total .k-n{color:#AFC2DA}
.ct-cuadre .cq-kpi.total .k-v,.ct-cuadre .cq-kpi.total .k-s{color:#fff}
.ct-cuadre .alert{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px 14px 22px;margin-bottom:16px;box-shadow:var(--sh);position:relative;overflow:hidden}
.ct-cuadre .alert::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--out)}
.ct-cuadre .alert b{font-family:var(--disp);font-size:15px;color:var(--navy95)}
.ct-cuadre .grp{--co:#8A97A8;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:var(--sh)}
.ct-cuadre .grp::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--co);z-index:1}
.ct-cuadre .grp header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 14px 22px;border-bottom:1px solid var(--line)}
.ct-cuadre .grp h2{margin:0;font-family:var(--disp);font-size:15px;font-weight:700;color:var(--navy95);display:flex;align-items:center;gap:8px}
.ct-cuadre .grp h2 i{width:8px;height:8px;border-radius:50%;background:var(--co);display:inline-block}
.ct-cuadre .grp header span{color:var(--mut);font-size:12px}
.ct-cuadre .grp .cq th:first-child,.ct-cuadre .grp .cq td:first-child{padding-left:22px}
.ct-cuadre .ft{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh)}
.ct-cuadre .ft td b{font-family:var(--disp);font-size:14px}
.ct-cuadre .tg{border-radius:6px;border-color:var(--line)}
@media (max-width:1100px){.ct-cuadre .cq-kpis{grid-template-columns:1fr 1fr}.ct-cuadre .cq-kpi.total{grid-column:1/-1}}
@media (max-width:760px){.ct-cuadre .cq-kpis{grid-template-columns:1fr}.ct-cuadre .cq-acts{padding-top:0;width:100%}.ct-cuadre .cq-acts button{flex:1}.ct-cuadre .cq-head h1{font-size:26px}.ct-cuadre .cq-kpi .k-v{font-size:min(24px,9cqi)}.ct-cuadre .grp .cq td:first-child{padding-left:0}.ct-cuadre .grp .cq tr.acc{padding-left:18px}}
.ct-cuadre .cq td small,.ct-cuadre .grp header span{color:var(--mut)!important}
.ct-cuadre .btn.ghost.strong{color:var(--navy);border-color:var(--navy);font-weight:600}
/* ---- c: registrar desde el banco + reglas que aprenden ---- */
.ct-cuadre .cl{display:flex;gap:6px;align-items:center}
.ct-cuadre .btn.rg{padding:5px 10px;font-size:12.5px;color:var(--navy);border-color:var(--line);white-space:nowrap}
.ct-cuadre .btn.rg:hover{border-color:var(--navy)}
.ct-cuadre .btn:disabled{opacity:.6;cursor:default}
.ct-cuadre .lnk{border:0;background:none;padding:0;color:var(--navy);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.ct-cuadre .cq-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:55;width:max-content;max-width:min(760px,calc(100% - 32px));display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:0;padding:10px 14px;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;background:#fff;box-shadow:0 12px 32px -12px rgba(10,26,61,.45);font-size:13px;color:var(--tx2)}
.ct-cuadre .cq-toast[hidden],.ct-cuadre .cq-rules[hidden],.ct-cuadre .cq-dlg[hidden]{display:none}
.ct-cuadre .x{border:0;background:none;font-size:20px;line-height:1;color:var(--mut);cursor:pointer;padding:0 2px}
.ct-cuadre .cq-rules{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--sh);overflow:hidden}
.ct-cuadre .rl-h{padding:12px 14px;border-bottom:1px solid var(--line)}
.ct-cuadre .rl-h span{display:block;color:var(--mut);font-size:12px}
.ct-cuadre .rl-l{max-height:320px;overflow:auto;padding:4px 6px}
.ct-cuadre .rl-l table.mini{max-width:none}
.ct-cuadre .rl-e{padding:10px 14px;margin:0}
.ct-cuadre .cq-dlg{position:fixed;inset:0;z-index:60;background:rgba(10,26,61,.38);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto}
.ct-cuadre .dl-c{width:min(560px,100%);background:#fff;border-radius:14px;box-shadow:0 20px 50px -20px rgba(10,26,61,.45);padding:18px 20px 16px}
.ct-cuadre .dl-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ct-cuadre .dl-h h3{margin:2px 0 0;font:700 20px/1.2 Outfit,"DM Sans",sans-serif;color:var(--tx)}
.ct-cuadre .mv{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.ct-cuadre .mv span{display:block;font-size:12px;color:var(--mut)}
.ct-cuadre .mv b{font-weight:550;font-size:13px;word-break:break-word}
.ct-cuadre .mv strong{font:700 18px/1 var(--disp);white-space:nowrap}
.ct-cuadre .seg{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:max-content;max-width:100%;margin-bottom:10px}
.ct-cuadre .seg button{border:0;background:#fff;padding:7px 14px;font:inherit;font-size:13px;color:var(--tx2);cursor:pointer}
.ct-cuadre .seg button+button{border-left:1px solid var(--line)}
.ct-cuadre .seg button.on{background:var(--soft);color:var(--navy);font-weight:650;box-shadow:inset 0 -2px 0 var(--navy)}
.ct-cuadre .fg{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:6px 0 8px}
.ct-cuadre .f{display:flex;flex-direction:column;gap:4px;min-width:0}
.ct-cuadre .f.wide,.ct-cuadre .ck.wide{grid-column:1/-1}
.ct-cuadre .f>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:600}
.ct-cuadre .f input,.ct-cuadre .f select{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#FAFBFC;width:100%}
.ct-cuadre .f input:focus,.ct-cuadre .f select:focus{outline:2px solid var(--navy2);background:#fff}
.ct-cuadre .f small{color:var(--mut);font-size:11.5px}
.ct-cuadre .f.eq b{font:700 18px/1.3 var(--disp);color:var(--tx);padding:6px 0 0}
.ct-cuadre .ck{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--tx2)}
.ct-cuadre .pk{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;margin:4px 0 8px}
.ct-cuadre .pk-i{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.ct-cuadre .pk-i.on{border-color:var(--navy);background:#F4F7FB}
.ct-cuadre .pk-i span{flex:1;min-width:0}
.ct-cuadre .pk-i b{display:block;font-weight:600;font-size:13px}
.ct-cuadre .pk-i small{display:block;color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-cuadre .pk-i em{font-style:normal;font-size:12.5px;color:var(--tx2);white-space:nowrap}
.ct-cuadre .pk .more{margin:2px 2px 0;font-size:12px}
.ct-cuadre .note{font-size:12.5px;margin:6px 0}
.ct-cuadre .dl-f{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.ct-cuadre .dl-f .btn{padding:8px 16px;font-size:14px}
@media (max-width:760px){.ct-cuadre .cl{flex-direction:column;align-items:stretch}.ct-cuadre .btn.rg{width:100%}.ct-cuadre .fg{grid-template-columns:1fr}.ct-cuadre .cq-dlg{padding:0;align-items:flex-end}.ct-cuadre .dl-c{border-radius:14px 14px 0 0;max-height:92vh;overflow:auto}}
/* CT cuadre-hay-h */
.ct-cuadre .cnt-n{display:block;margin-top:3px;font-size:11px;line-height:1.3;color:var(--mut);text-align:right}
.ct-cuadre .cnt-n.warn{color:var(--out)}
.ct-cuadre .cnt-n.bad{color:var(--out);font-weight:600}
.ct-cuadre .cnt:disabled{opacity:.6}
@media (max-width:760px){.ct-cuadre .cnt-n{text-align:left}}
@media (min-width:761px){.ct-cuadre table.cq tr.acc>td.nm{display:table-cell;vertical-align:middle}
.ct-cuadre table.cq tr.acc>td.nm>.tg,.ct-cuadre table.cq tr.acc>td.nm>div{display:inline-block;vertical-align:middle}
.ct-cuadre table.cq tr.acc>td.nm>div{margin-left:10px;max-width:calc(100% - 40px)}}
