/* TABLO Analytic · estilos de los módulos (2.324.0)
   Antes iba cada uno dentro de su script y se añadía al cargarlo; ahora están aquí, en el mismo orden, y llegan con la
   página (se guardan en el navegador). Así un módulo puede cargarse más tarde sin que su pantalla se vea sin estilo.
   Orden: base (src/estilo.css) → estos → final (src/estilo-tokens.css + src/estilo-final.css, siempre la última). */

/* ---------- estudio.js ---------- */
.tdlg-bk.dstu-bk{position:fixed;inset:0;z-index:95;background:rgba(10,12,16,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:stretch;justify-content:center;padding:18px;overflow:hidden}
.dstu{box-sizing:border-box;display:flex;flex-direction:column;width:100%;max-width:1520px;height:100%;min-height:0;max-height:none;margin:0 auto;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:dstuIn .18s ease-out}
/* los diálogos que se abren encima del estudio (confirmaciones, avisos) */
.tdlg-bk.dstu-bk~.tdlg-bk:not(.dstu-bk){z-index:96}
@keyframes dstuIn{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dstu{animation:none}}
.dstu.noanim{animation:none}
.dstu-h{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--line);position:relative}
.dstu-h::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--k),color-mix(in srgb,var(--k) 30%,transparent))}
.dstu-ki{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--k) 14%,transparent);color:var(--k);flex:none}
.dstu-ki .tic{width:22px;height:22px}
.dstu-t{min-width:0;flex:1}
.dstu-t small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--k);font-weight:700}
.dstu-t h2{margin:1px 0 0;font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dstu-t .dstu-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;font-size:12px;color:var(--fg-3)}
.dstu-co{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:6px 8px 6px 12px;background:var(--bg);max-width:340px;min-width:0}
.dstu-co .dot{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}
.dstu-co .lb{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-3);font-weight:600;display:block}
.dstu-co select{font:inherit;font-size:14px;font-weight:600;color:var(--fg);background:transparent;border:0;padding:0 18px 0 0;max-width:250px;min-width:0;cursor:pointer}
.dstu-co select:disabled{cursor:default;opacity:1;appearance:none;-webkit-appearance:none;padding-right:0}
.dstu-co{position:relative}
.dstu-cob{display:flex;align-items:center;gap:8px;font:inherit;font-size:14px;font-weight:600;color:var(--fg);background:transparent;border:0;padding:0;cursor:pointer;max-width:260px;text-align:left}
.dstu-cob span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dstu-cob i{font-style:normal;color:var(--fg-3);font-size:11px}
.dstu-cob:disabled{cursor:default;color:var(--fg)}
.dstu-coP{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:320px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.22);padding:8px}
.dstu-coP[hidden]{}
.dstu .dstu-coP input{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
#dstuCoL{max-height:320px;overflow:auto;margin-top:6px;display:flex;flex-direction:column;gap:1px}
#dstuCoL button{display:flex;align-items:center;gap:8px;font:inherit;font-size:13.5px;text-align:left;background:none;border:0;color:var(--fg);padding:7px 9px;border-radius:7px;cursor:pointer}
#dstuCoL button .dot{width:8px;height:8px;border-radius:50%;flex:none}
#dstuCoL button:hover,#dstuCoL button.on{background:var(--surface-2)}#dstuCoL button[aria-selected=true]{font-weight:700}
#dstuCoL p{margin:8px;color:var(--fg-3);font-size:13px}
.dstu-hb{display:flex;align-items:center;gap:8px}.dstu-hb .msg{margin:0;font-size:12.5px;max-width:260px}.dstu-hb .btn{min-height:38px}.dstu-hb kbd{font:11px ui-monospace,monospace;color:var(--fg-3);margin-left:4px}
.dstu-co.chg{border-color:var(--k);box-shadow:0 0 0 3px color-mix(in srgb,var(--k) 18%,transparent)}
.dstu-x{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--fg-2);display:grid;place-items:center;cursor:pointer;flex:none}
.dstu-x:hover{background:var(--surface-2);color:var(--fg)}.dstu-x .tic{width:18px;height:18px}
.dstu-b{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px)}
.dstu-m{overflow:auto;padding:20px 22px 28px;display:flex;flex-direction:column;gap:16px}
.dstu-a{overflow:auto;padding:20px 20px 28px;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.dstu-f{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--surface);border-top:1px solid var(--line)}
.dstu-f .msg{flex:1;margin:0;font-size:13px;min-width:0}
.dstu-f .btn{min-height:38px;padding:0 16px}
.dstu-f kbd{font:11px ui-monospace,monospace;color:var(--fg-3);margin-left:4px}
.dsc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.dsc-h{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.dsc-h .ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--fg-2);flex:none}.dsc-h .ico .tic{width:16px;height:16px}
.dsc-h h3{margin:0;font-size:14.5px;font-weight:650;flex:1}
.dsc-h .hint{font-size:12px;color:var(--fg-3);font-weight:400}
.dsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px}
.dsg .w2{grid-column:span 2}.dsg .wf{grid-column:1/-1}
.dsf label,.dsf .lab{display:block;font-size:11.5px;font-weight:600;color:var(--fg-2);margin:0 0 5px}
.dsf label .sub,.dsf .lab .sub{font-weight:400;color:var(--fg-3)}
.dstu input:not([type=checkbox]):not([type=radio]):not(.ed-in),.dstu select:not(.dstu-co select):not(.ed-in),.dstu textarea:not(.ed-in){font:inherit;font-family:var(--font-body);font-size:14px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:9px 11px;width:100%;min-width:0;transition:border-color .12s,box-shadow .12s}
.dstu input:not([type=checkbox]):not(.ed-in):focus,.dstu select:not(.dstu-co select):not(.ed-in):focus,.dstu textarea:not(.ed-in):focus{outline:none;border-color:var(--k);box-shadow:0 0 0 3px color-mix(in srgb,var(--k) 18%,transparent)}
.dstu input[readonly],.dstu input:disabled,.dstu select:disabled,.dstu textarea:disabled{background:var(--surface-2);color:var(--fg-2);border-style:dashed}
.dstu .dsf.big input:not([type=checkbox]){font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}
.dsg.amts{grid-template-columns:minmax(120px,1fr) minmax(190px,1.5fr) minmax(190px,1.5fr) minmax(120px,1fr)}
.dsg.amts .dschip{padding:4px 9px;font-size:12px}
@media (max-width:900px){.dsg.amts{grid-template-columns:1fr 1fr}}
.dsnote{font-size:13px;line-height:1.45;border-radius:10px;padding:10px 12px;background:color-mix(in srgb,var(--k) 9%,transparent);border:1px solid color-mix(in srgb,var(--k) 30%,transparent);color:var(--fg)}
.dsnote.warn{background:color-mix(in srgb,var(--bad) 8%,transparent);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}
.dschips{display:flex;flex-wrap:wrap;gap:6px}
.dschip{font:inherit;font-size:12.5px;font-weight:600;border:1px solid var(--line);background:var(--bg);color:var(--fg-2);border-radius:999px;padding:5px 11px;cursor:pointer}
.dschip[aria-pressed=true]{background:var(--k);border-color:var(--k);color:#fff}
.dschip:hover{border-color:var(--k)}
.dstot{border-radius:14px;padding:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--k) 92%,#000) 0%,var(--k) 100%);color:#fff}
.dstot .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.8;font-weight:600}
.dstot .amt{font-size:34px;font-weight:750;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:2px 0 10px;line-height:1.1}
.dstot .rows div{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;opacity:.92;font-variant-numeric:tabular-nums}
.dstot .rows div.m{border-top:1px dashed rgba(255,255,255,.35);margin-top:6px;padding-top:7px;font-size:12px}
.dsprev{border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow:hidden;display:flex;flex-direction:column}
.dsprev-h{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;color:var(--fg-3)}
.dsprev-h b{color:var(--fg-2);font-size:12px;flex:1}
.dsprev-h button{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);border-radius:7px;padding:3px 8px;cursor:pointer}
.dsprev iframe,.dsprev img{display:block;width:100%;aspect-ratio:210/297;border:0;background:#fff;object-fit:contain}
.dsprev .ph{aspect-ratio:210/297;display:grid;place-items:center;text-align:center;padding:24px;color:var(--fg-3);font-size:13px;background:repeating-linear-gradient(135deg,var(--bg) 0 12px,var(--surface-2) 12px 13px)}
.dsprev.drop{outline:2px dashed var(--k);outline-offset:-6px}
.dskv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:12.5px}.dskv dt{color:var(--fg-3)}.dskv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.dstog,.dsf label.dstog{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--fg);padding:6px 0;margin:0}
.dstog input{position:absolute;opacity:0;width:1px;height:1px}
.dstog .tr{display:block;width:38px;height:22px;border-radius:99px;background:var(--line);position:relative;transition:background .15s;flex:none}
.dstog .tr::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.dstog input:checked+.tr{background:var(--k)}.dstog input:checked+.tr::after{transform:translateX(16px)}
.dstog input:focus-visible+.tr{outline:2px solid var(--k);outline-offset:2px}
.dstog small{display:block;color:var(--fg-3);font-size:12px}
@media (max-width:1100px){.dstu-b{grid-template-columns:minmax(0,1fr);overflow:auto}.dstu-m,.dstu-a{overflow:visible}.dstu-a{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:720px){.tdlg-bk.dstu-bk{padding:0}.dstu{border-radius:0;border:0}.dstu-h{flex-wrap:wrap;padding:12px 14px}.dstu-co{order:3;flex-basis:100%;max-width:none}.dstu-cob{max-width:none}.dstu-hb{order:4;flex-basis:100%;flex-wrap:wrap}.dstu-hb .btn{flex:1}.dstu-m,.dstu-a{padding:14px}.dsg .w2{grid-column:1/-1}.dstu-f{flex-wrap:wrap;padding:10px 14px}.dstu-f .msg{flex-basis:100%}.dstu-f .btn{flex:1}.dstu-f kbd{display:none}}

/* ---------- calendarios.js ---------- */
#p-pcal .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}
#p-pcal .ftools input[type=search]{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);min-width:260px;background:var(--surface);color:var(--fg)}
#p-pcal .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
#p-pcal .ftools .sp{flex:1}
#p-pcal .ftools label{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fg-2)}
#p-pcal .pcdoc{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:var(--surface)}
#p-pcal .pchd{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
#p-pcal .pchd:hover,#p-pcal .pchd:focus-visible{background:var(--surface-2,rgba(0,0,0,.025))}
#p-pcal .pchd .nm{font-weight:600;font-size:13.5px}#p-pcal .sub{font-size:11.5px;color:var(--fg-3)}
#p-pcal .kpis{}#p-pcal .pchd .tt{text-align:right;font-variant-numeric:tabular-nums}
#p-pcal .kchip{display:inline-block;--st:var(--st-mute);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;line-height:15px;padding:0 6px;border:1px solid color-mix(in srgb,var(--st) 40%,var(--bg));border-radius:0;color:var(--st);background:color-mix(in srgb,var(--st) 8%,var(--bg));margin-right:6px}
#p-pcal .kchip.order{--st:var(--st-info)}#p-pcal .kchip.invoice{--st:var(--st-ok)}#p-pcal .kchip.quote{--st:var(--st-warn)}
#p-pcal .bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:5px}#p-pcal .bar i{display:block;height:100%;background:var(--ok,#1f9d55)}
#p-pcal table.pcl td.cc,#p-pcal table.pcl th.cc{min-width:260px;white-space:normal}#p-pcal table.pcl td.cc2{white-space:normal}#p-pcal table.pcl tr[data-doc]{cursor:pointer}
#p-pcal table.pct th,#p-pcal table.pct td{text-align:left;white-space:normal}#p-pcal table.pct .n{text-align:right!important}
#p-pcal table.pct{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}#p-pcal table.pct.flat{table-layout:auto}
#p-pcal table.pct th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);text-align:left;font-weight:600;padding:6px 14px;border-bottom:1px solid var(--line)}
#p-pcal table.pct td{padding:6px 14px;border-bottom:1px solid var(--line);vertical-align:top}
#p-pcal table.pct tr:last-child td{border-bottom:0}
#p-pcal table.pct .n{font-variant-numeric:tabular-nums;white-space:nowrap}
#p-pcal table.pct tr[data-doc]{cursor:pointer}#p-pcal table.pct tr[data-doc]:hover{background:var(--surface-2,rgba(0,0,0,.025))}
#p-pcal table.pct tr.mo td{background:var(--surface-2,#f6f7f9);font-weight:600;font-size:12.5px}
#p-pcal .stc{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 8px;background:var(--surface-2,#f1f2f4);color:var(--fg-2)}

#p-pcal .done{color:var(--fg-3)}
#p-pcal .pcana{cursor:pointer;display:inline-block}#p-pcal .pcana:hover{outline:1px dashed var(--line);outline-offset:2px}
#p-pcal .pcch{position:relative;height:300px;margin:0 0 14px}#p-pcal .pcch.sm{height:210px}
#p-pcal .pcseg{display:flex;height:12px;border-radius:4px;overflow:hidden;background:var(--line);gap:2px;margin:8px 14px 2px}#p-pcal .pcseg i{display:block;height:100%;min-width:3px;background:var(--s1,#2563eb)}#p-pcal .pcseg i.ok{background:var(--good,#1f9d55)}#p-pcal .pcseg i.bad{background:var(--bad,#b42318)}#p-pcal .pcseg i.part{background:linear-gradient(90deg,var(--good,#1f9d55) var(--p),var(--s1,#2563eb) var(--p))}
#p-pcal .pcsegl{display:flex;gap:2px;margin:0 14px 8px;font-size:10.5px;color:var(--fg-3)}#p-pcal .pcsegl span{min-width:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#p-pcal tr.mo .mbar{display:inline-flex;vertical-align:middle;height:8px;width:min(260px,30vw);margin-left:12px;border-radius:3px;overflow:hidden;background:var(--line)}#p-pcal tr.mo .mbar i{display:block;height:100%}
#p-pcal .pcleg{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--fg-2);margin:-6px 0 12px}#p-pcal .pcleg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}#p-pcal table.pcmt tr[data-mon]{cursor:pointer}#p-pcal table.pcmt tr[data-mon]:hover td{background:var(--surface-2,rgba(0,0,0,.025))}
#p-pcal .pcsel{width:30px;text-align:center!important;padding-left:8px!important;padding-right:0!important}#p-pcal .pcsel input,#p-pcal .pcck{width:auto;margin:0;cursor:pointer}
#p-pcal .pchd .pcck{margin-right:8px;vertical-align:-2px}#p-pcal tr.pcon td{background:color-mix(in srgb,var(--accent,#2563eb) 7%,transparent)}
#p-pcal table.pct tr.pchr th{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:4px;padding-bottom:4px;font-size:10.5px}
#p-pcal table.pct td{overflow:hidden;text-overflow:ellipsis}
#p-pcal .pcrz{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;z-index:2}#p-pcal .pcrz:hover,#p-pcal .pcrz.on{background:color-mix(in srgb,var(--accent,#2563eb) 35%,transparent)}
#p-pcal a.pcinv{font-weight:600;white-space:nowrap}
#pcColsM{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.14);min-width:230px;font-size:13px}
#pcColsM .t{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin-bottom:6px}
#pcColsM label{display:flex;gap:8px;align-items:center;padding:4px 0;color:var(--fg);cursor:pointer;text-transform:none;letter-spacing:0;font-size:13px}#pcColsM label input{width:auto;margin:0}
#pcColsM .f{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
#pcBulk{position:sticky;bottom:0;z-index:6;display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--accent);border-radius:10px;padding:10px 12px;margin-top:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}#pcBulk[hidden]{}#pcBulk .sp{flex:1}#pcBulk .msg{font-size:12.5px;color:var(--fg-2)}
@media (max-width:760px){#p-pcal .pchd{grid-template-columns:1fr 1fr}#p-pcal .ftools input[type=search]{min-width:0;width:100%}#p-pcal table.pct .hm{display:none}}

/* ---------- manual.js ---------- */
#p-man .mnw{display:grid;grid-template-columns:270px minmax(0,1fr);gap:36px;align-items:start}
#p-man .mntoc{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;padding-right:6px}
#p-man .mnq{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);margin:0 0 12px}
#p-man .mnch{display:block;width:100%;text-align:left;font:inherit;font-size:13.5px;font-weight:600;color:var(--fg-2);background:none;border:0;border-radius:7px;padding:7px 9px;cursor:pointer}
#p-man .mnch:hover{background:var(--surface-2);color:var(--fg)}#p-man .mnch[aria-current="true"]{color:var(--fg);background:color-mix(in srgb,var(--accent) 10%,transparent)}
#p-man .mnch small{display:inline-block;width:22px;color:var(--fg-3);font-weight:500;font-variant-numeric:tabular-nums}
#p-man .mnsl{list-style:none;margin:2px 0 8px;padding:0 0 0 31px}
#p-man .mnsl button{display:block;width:100%;text-align:left;font:inherit;font-size:12.5px;color:var(--fg-2);background:none;border:0;border-radius:6px;padding:4px 8px;cursor:pointer}
#p-man .mnsl button:hover{background:var(--surface-2);color:var(--fg)}
#p-man .mnbody{max-width:920px;min-width:0}
#p-man .mnk{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin:0 0 4px}
#p-man .mnbody h2{font-size:30px;line-height:1.15;margin:0 0 10px}
#p-man .mnlead{font-size:15.5px;line-height:1.6;color:var(--fg-2);margin:0 0 22px}
#p-man .mnsec{border-top:1px solid var(--line);padding:22px 0 8px;scroll-margin-top:16px}
#p-man .mnsec h3{font-size:19px;margin:0 0 4px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#p-man .mnsec h3 .sp{flex:1}
#p-man .mngo{font:inherit;font-size:12.5px;font-weight:600;color:var(--accent);background:none;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:7px;padding:4px 10px;cursor:pointer;white-space:nowrap}
#p-man .mngo:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
#p-man .mnwhere{font-size:12px;color:var(--fg-3);margin:0 0 10px}
#p-man .mnsec p,#p-man .mnsec li{font-size:14.5px;line-height:1.65;color:var(--fg)}
#p-man .mnsec p{margin:0 0 10px}
#p-man .mnsec ol,#p-man .mnsec ul{margin:4px 0 12px;padding-left:22px}#p-man .mnsec li{margin:3px 0}
#p-man .mnsec b{font-weight:600}
#p-man .mnsec kbd{font:inherit;font-size:12px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px;background:var(--surface)}
#p-man .mntip{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);padding:9px 12px;margin:10px 0 14px;font-size:14px;line-height:1.55}
#p-man .mntip.warn{border-left-color:var(--st-warn);background:color-mix(in srgb,var(--st-warn) 8%,transparent)}
#p-man figure{margin:12px 0 18px}
#p-man figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;cursor:zoom-in;background:#fff}
#p-man figcaption{font-size:12.5px;color:var(--fg-3);margin-top:6px}
#p-man .mnnav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
#p-man .mnnav button{font:inherit;font-size:13.5px;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;color:var(--fg)}
#p-man .mnnav button:hover{background:var(--surface-2)}
#p-man .mnres{list-style:none;margin:0;padding:0}#p-man .mnres li{border-bottom:1px solid var(--line)}
#p-man .mnres button{display:block;width:100%;text-align:left;font:inherit;background:none;border:0;padding:10px 4px;cursor:pointer;color:var(--fg)}
#p-man .mnres button:hover{background:var(--surface-2)}#p-man .mnres small{display:block;color:var(--fg-3);font-size:12px;margin-top:2px}
#p-man mark{background:color-mix(in srgb,#F2C94C 45%,transparent);color:inherit;padding:0 1px}
#p-man .mnidx{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:8px 0 10px}
#p-man .mnidx button{text-align:left;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--fg)}
#p-man .mnidx button:hover{border-color:var(--accent)}#p-man .mnidx b{display:block;font-size:14.5px;margin-bottom:3px}#p-man .mnidx span{font-size:12.5px;color:var(--fg-2);line-height:1.45}
#mnLb{position:fixed;inset:0;z-index:400;background:rgba(10,14,20,.86);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
#mnLb img{max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff}
#pgHelp.mnhelp{font:inherit;font-size:12px;font-weight:600;color:var(--accent);background:none;border:0;padding:0 2px;margin-left:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){#p-man .mnw{grid-template-columns:1fr}#p-man .mntoc{position:static;max-height:none}}

/* ---------- informes-barra.js ---------- */
.rfcp .ttpanel{width:min(900px,98%)}
.rfcp .ttpanel .rfform{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px;margin:0!important;align-items:end}
.rfcp .ttpanel .rfform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.rfcp .ttpanel .rfform label.chk{flex-direction:row;align-items:center;gap:8px}
.rfcp .ttpanel .rfform input,.rfcp .ttpanel .rfform select{min-width:0!important;width:100%}
.rfcp .ttpanel .rfform .w2{grid-column:span 2}
.rfcp .rffav{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto}
.rfcp .rffav .rfi{display:flex;align-items:center;gap:4px}.rfcp .rffav .rfi .ttpi{flex:1}.rfcp .rffav small{color:var(--fg-3);font-size:11px}
.rfcp .rffav .rfx{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:5px}.rfcp .rffav .rfx:hover{color:var(--bad);background:var(--surface-2)}
.rfcp .rfsave{display:flex;flex-direction:column;gap:6px;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.rfcp .rfsave input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.rfcp .rfsave label{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--fg-2)}
.rfcp .rfmsg{font-size:12px;color:var(--fg-3)}
.rfcp .ttcr .rfact{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.rfcp .rfpc2{grid-column:span 1}
#p-rsav .rsl td{cursor:pointer}

/* ---------- visorpdf.js ---------- */
.pv{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface-2);font-size:12.5px;}
.pv-bar{display:flex;align-items:center;gap:6px;row-gap:8px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}
.pv-tabs{display:flex;gap:4px;margin-right:auto;padding-bottom:2px;min-width:0;overflow-x:auto;scrollbar-width:thin}
.pv-tabs button{font:inherit;font-size:12.5px;border:0;background:none;color:var(--fg-2);border-radius:5px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;padding:7px 10px}
.pv-tabs button[aria-selected=true]{background:#f3f0f4;color:var(--accent);font-weight:600}
.pv-tabs button i{width:6px;height:6px;border-radius:50%;background:var(--line);flex:none}.pv-tabs button.has i{background:var(--st-ok)}
.pv-bar .pv-b{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:5px;padding:5px 9px;cursor:pointer;min-width:30px;line-height:1.4;white-space:nowrap}
.pv-bar .pv-b:hover:not(:disabled){background:var(--surface-2)}.pv-bar .pv-b:disabled{opacity:.45;cursor:default}
.pv-bar .pv-z{font-variant-numeric:tabular-nums;min-width:0;text-align:center;color:var(--fg-2);font-size:12px}
.pv-bar .pv-pg{font-variant-numeric:tabular-nums;color:#6b7280;font-size:12px;padding:0 4px}
.pv-bar .pv-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.pv-body{flex:1;min-height:0;overflow:auto;position:relative;padding:8px;outline:0}
.pv-body.drop{outline:2px dashed var(--accent);outline-offset:-6px}
.pv-pages{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:min-content}
.pv-pages canvas,.pv-pages img{display:block;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);max-width:none}
/* 2.206.0: capa de texto encima de cada página: se puede seleccionar y copiar el texto del PDF */
.pv-pg{position:relative;flex:none}
.pv-pg .textLayer{position:absolute;inset:0;overflow:hidden;line-height:1;text-align:initial;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;cursor:text}
.pv-pg .textLayer span,.pv-pg .textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}
.pv-pg .textLayer ::selection{background:rgba(0,90,255,.28)}
.pv-pg .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;user-select:none}
.pv-body iframe{width:100%;height:100%;border:0;background:var(--surface);display:block}
.pv-ph{position:absolute;inset:8px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;color:var(--fg-2);line-height:1.5;padding:16px;border:1px dashed var(--line);background:var(--surface-2)}
.pv-ph b{color:var(--fg)}.pv-ph .pv-b{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:5px 12px;cursor:pointer}
.pv-msg{padding:3px 8px;font-size:12px;color:var(--fg-2);background:var(--surface);border-top:1px solid var(--line);min-height:0}.pv-msg:empty{display:none}.pv-msg.bad{color:var(--st-bad)}
.pv-split{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:5}
.pv-split:hover,.pv-split.on{}
.dstu.pv-hidden .dstu-b{grid-template-columns:minmax(0,1fr) 0!important}.dstu.pv-hidden .dstu-a{display:none}
.pv-show{position:absolute;right:10px;top:8px;z-index:6;font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:3px 9px;cursor:pointer;display:none}
.dstu.pv-hidden .pv-show{display:block}

/* ---------- editor-docs.js ---------- */
.ed-anab{font:inherit;font-size:12.5px;border:1px dashed transparent;background:transparent;border-radius:6px;padding:2px 4px;cursor:pointer;text-align:left;min-height:26px;max-width:100%;color:var(--fg)}
.ed-anasel{display:inline-block;margin-left:4px;position:static}.ed-anaselB{border:0;background:none;cursor:pointer;color:var(--fg-3);font:inherit;padding:0 3px}.ed-anaselM{position:absolute;top:100%;left:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:220px;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;color:var(--fg)}.ed-anaselM[hidden]{}.ed-anaselM label{display:flex;gap:6px;align-items:center;white-space:nowrap}
.ed-anab .achip,.ed-anab .anachip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.ed-anab{overflow:hidden;display:flex;flex-wrap:wrap;gap:2px}
.ed-anab:hover{border-color:var(--line,#ccc);background:var(--surface)}
.ed-ana{display:flex;flex-direction:column;gap:2px;min-width:0}.ed-f:has(>#eAna){grid-column:1/-1}.ed-meta>div:has(>#eAna){grid-column:span 2;min-width:260px}.ed-meta .ed-anarow{grid-template-columns:minmax(80px,auto) 1fr}
[data-gosch],[data-paytgo]{color:inherit!important;text-decoration:underline;text-underline-offset:2px}.ed-inh{opacity:.55}.ed-inh:hover{opacity:.85}.ed-anah{margin-top:12px}.ed-projw[hidden]+.ed-anah{margin-top:0}
.ed-anarow .pl{flex-wrap:wrap;}.ed-anarow .pl small{font-weight:500;font-size:10px;color:var(--fg-3,#888);flex-basis:100%;padding-left:14px}.ed-anarow.need .pl small{color:var(--neg,#b42318)}.ed-anarow.need .ed-anab .ed-muted{color:var(--neg,#b42318)}
@keyframes edFlash{0%{box-shadow:0 0 0 3px rgba(15,76,129,.35)}100%{box-shadow:0 0 0 3px rgba(15,76,129,0)}}.ed-flash{animation:edFlash 1.6s ease-out;border-radius:8px}.ed-anarow{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}
.ed-anarow .pl{font-size:12px;font-weight:600;color:var(--fg-2,#555);display:flex;align-items:center;gap:6px}.ed-anarow .pl i{width:8px;height:8px;border-radius:50%;flex:none}
.ed-tax{display:flex;gap:4px}.ed-tax select{min-width:0;flex:1}

.dstu .dsw{display:flex;align-items:center;gap:6px}
.dstu .dsw select{font:inherit;font-size:12.5px;border:1px solid var(--line);padding:8px 8px;background:var(--bg);color:var(--fg);max-width:210px}
.dstu .dfs{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--fg-2);cursor:pointer;font-size:17px;flex:none}
.dstu .dfs:hover{color:var(--fg);background:var(--surface-2)}
.tdlg-bk.dstu-bk:fullscreen{padding:0;background:var(--bg)}.tdlg-bk.dstu-bk:fullscreen .dstu{max-width:none;border-radius:0;border:0}
.ed-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ed-add button{font:inherit;font-size:12.5px;border:1px dashed var(--line);background:transparent;color:var(--fg-2);border-radius:8px;padding:6px 11px;cursor:pointer}
.ed-add button:hover{border-color:var(--k);color:var(--k)}
.ed-add button.cat{border-style:solid}
.ed-in{font:inherit;color:var(--fg);background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 6px;width:100%;min-width:0}
.ed-in:hover{border-color:var(--line)}.ed-in:focus{outline:none;border-color:var(--k);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--k) 15%,transparent)}
textarea.ed-in{resize:vertical;min-height:30px;line-height:1.35}
.ed-t td .ed-in{display:block;width:100%}
.ed-in.n{text-align:right;font-variant-numeric:tabular-nums}
.ed-x{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:6px}.ed-x:hover{color:var(--bad);background:var(--surface-2)}
.ed-h{cursor:grab;color:var(--fg-3);user-select:none;padding:0 2px;letter-spacing:-2px}
[data-row].drag{opacity:.4}[data-row].over{box-shadow:inset 0 3px 0 var(--k)}
.ed-amt{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.ed-muted{color:var(--fg-3)}
.ed-pick{margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface)}
.ed-pick input{font:inherit;width:100%;padding:7px 9px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ed-cli{position:relative}
.ed-cli .bclil{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px rgba(16,24,40,.16);padding:4px;margin-top:2px;max-height:300px;overflow:auto}
.ed-cli .bclil[hidden]{}
.ed-cli input[type=search]{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ed-cliD{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px;margin-top:10px}
.ed-cliD[hidden]{}
.ed-cliD label,.ed-f label{display:block;font-size:11.5px;font-weight:600;color:var(--fg-2);margin:0 0 4px}
.ed-cliD .w2{grid-column:span 2}
.ed-cliD input,.ed-cliD select,.ed-f input,.ed-f select,.ed-f textarea{font:inherit;font-size:13.5px;width:100%;padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ed-fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 14px}
.ed-fg .wf{grid-column:1/-1}.ed-fg .w2{grid-column:span 2}
.ed-tile{display:flex;align-items:center;gap:12px;margin-top:10px}
.ed-tile[hidden]{}
.ed-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:var(--k);flex:none}
.ed-tile .i{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12.5px;color:var(--fg-3)}.ed-tile .i b{font-size:14.5px;color:var(--fg)}
.ed-sch table{width:100%;border-collapse:collapse;font-size:13px}.ed-sch th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);text-align:left;padding:4px}
.ed-sch td{padding:4px}.ed-sch input,.ed-sch select{font:inherit;font-size:13px;width:100%;padding:6px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ed-sch .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.ed-sch .row select{width:auto!important}.ed-sch td.cp{font-size:12.5px;color:var(--fg-3)}
.ed-tot div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-variant-numeric:tabular-nums}
.ed-tot .g{font-weight:750;font-size:18px;border-top:2px solid var(--fg);margin-top:6px;padding-top:8px}
.ed-tot .m{font-size:12px;color:var(--fg-3)}
.ed-lp label{display:block;font-size:11.5px;font-weight:600;color:var(--fg-2);margin:10px 0 4px}
.ed-lp input,.ed-lp select{font:inherit;font-size:13.5px;width:100%;padding:7px 9px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ed-sec{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-3);font-weight:700;margin:18px 0 6px}

/* calendario de pago */
.ed-paysum{font-weight:700;color:var(--k)}
.ed-payl:empty{display:none}
.ed-payl{font-size:12.5px;margin-top:10px}.ed-payl b{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:4px}
.ed-payl div{display:flex;justify-content:space-between;gap:12px;padding:2px 0;font-variant-numeric:tabular-nums}

.pyt{width:100%;border-collapse:collapse;font-size:13px}.pyt th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);text-align:left;padding:4px}
.pyt td{padding:3px 4px}.pyt input,.pyt select{font:inherit;font-size:13px;padding:6px 7px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%}
.pyt td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.pyp{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.pyp button{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:999px;padding:4px 10px;cursor:pointer}
.pys{margin:8px 0 0;font-size:12.5px}

/* A · hoja de documento */























/* B · hoja de cálculo (como la maqueta: rejilla clara, filas numeradas, totales en barra negra) */
























































/* C · como Odoo — 2.77.0: compacto (Odoo denso), acciones encima de la hoja, modo lectura y el documento a la derecha */
.st-C{}
.dstu-bk:has(.st-C){padding:4px}
.dstu.st-C{max-width:none;width:100%;height:100%}
.dstu.st-C .dstu-h{padding:4px 10px;gap:8px;min-height:0}.dstu.st-C .dstu-ki{width:24px;height:24px;border-radius:6px}.dstu.st-C .dstu-ki .tic{width:15px;height:15px}
.dstu.st-C .dstu-t{display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap}.dstu.st-C .dstu-t small{font-size:10px;letter-spacing:.06em;white-space:nowrap}.dstu.st-C .dstu-t h2{font-size:14px;font-weight:600;margin:0}
.dstu.st-C .dstu-t .dstu-sub{margin:0;font-size:11px}.dstu.st-C .dstu-t .dstu-sub .bchip{font-size:11px;padding:0 6px}
.dstu.st-C .dstu-co{padding:2px 8px;border-radius:7px;gap:6px}.dstu.st-C .dstu-co .lb{display:none}.dstu.st-C .dstu-cob{font-size:12.5px}
.dstu.st-C .dstu-x,.dstu.st-C .dfs{width:28px;height:28px;border-radius:6px;font-size:14px}
.dstu.st-C .dstu-f{padding:4px 10px;gap:6px}.dstu.st-C .dstu-f .btn{min-height:28px;padding:0 12px;font-size:12.5px;}.dstu.st-C .dstu-f .btn.primary{}.dstu.st-C .dstu-f .msg{font-size:12px}
.dstu.st-C .dstu-b{grid-template-columns:minmax(0,1fr) 42%}
.dstu.st-C .dstu-a{padding:0;gap:0;background:var(--surface-2);border-left:1px solid var(--line);overflow:hidden}
.dstu.st-C .dstu-a>.pv-host{flex:1;min-height:0}
.st-C .dstu-m{background:var(--surface-2);}
.st-C .ed-sheet{background:#fff;width:100%;margin:0 auto;border:1px solid #e5e7eb;border-radius:4px;--fg:#1f2937;--fg-2:#374151;--fg-3:#6b7280;--bg:#fff;--line:#e5e7eb;--surface:#fff;--surface-2:#f3f4f6;color:var(--fg)}
.ed-smart{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0;margin:0 0 10px}/* 2.94.0: botones de trazabilidad, como los de Odoo */
.ed-smw{position:relative}.ed-sm{display:flex;align-items:center;gap:8px;min-width:132px;height:44px;padding:4px 14px 4px 10px;border:1px solid var(--line,#e5e7eb);margin-left:-1px;background:var(--surface,#fff);color:var(--fg,#111);font:inherit;cursor:pointer;text-align:left}
.ed-smw:first-child .ed-sm{border-radius:6px 0 0 6px}.ed-smw:last-child .ed-sm{border-radius:0 6px 6px 0}.ed-smw:only-child .ed-sm{border-radius:6px}
.ed-sm:hover{background:var(--surface-2,#f3f4f6);color:var(--accent,#1d4ed8)}.ed-sm svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;color:var(--fg-3,#6b7280)}.ed-sm:hover svg{color:inherit}
.ed-sm .tx{display:flex;flex-direction:column;line-height:1.15;min-width:0}.ed-sm b{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ed-sm small{font-size:11.5px;color:var(--fg-3,#6b7280)}
.ed-smM{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:260px;max-height:320px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.14);padding:4px 0}
.ed-smM[hidden]{}.ed-smM button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13px;padding:6px 12px;cursor:pointer;color:var(--fg,#111)}.ed-smM button:hover{background:var(--surface-2,#f3f4f6)}.ed-smM small{display:block;font-size:11.5px;color:var(--fg-3,#6b7280)}
.st-C .ed-acts{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-left:6px}
.st-C .ed-acts .btn{font-size:12px;padding:2px 9px;min-height:24px;}
.st-C .ed-acts .btn.primary{}
.st-C .ed-more2{position:relative}.st-C .ed-moreM{position:absolute;left:0;top:calc(100% + 3px);z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px rgba(16,24,40,.16);padding:3px;min-width:220px}
.st-C .ed-moreM button{display:block;width:100%;text-align:left;font:inherit;font-size:12.5px;border:0;background:none;padding:5px 9px;border-radius:4px;cursor:pointer;color:var(--fg)}.st-C .ed-moreM button:hover{background:var(--surface-2)}
.st-C .ed-ronote{font-size:12px;background:#f3f0f4;color:#4b3a47;border-radius:4px;}
.st-C.ed-ro .ed-sheet input:disabled,.st-C.ed-ro .ed-sheet select:disabled,.st-C.ed-ro .ed-sheet textarea:disabled{border-bottom-color:transparent!important;color:#1f2937!important;background:transparent!important;opacity:1;-webkit-text-fill-color:#1f2937}
.st-C.ed-ro .ed-sheet select:disabled{appearance:none;-webkit-appearance:none;background-image:none!important}
.st-C.ed-ro .ed-t td [draggable],.st-C.ed-ro .ed-drag,.st-C.ed-ro .ed-x{visibility:hidden}
.st-C.ed-ro .ed-sheet textarea{resize:none}
.st-C .ed-info dl{display:grid;grid-template-columns:140px 1fr;font-size:12.5px;}.st-C .ed-info dt{font-weight:600;color:var(--fg)}.st-C .ed-info dd{margin:0}
.st-C .ed-info .sub{font-size:11.5px;color:var(--fg-2)}
.st-C .ed-sbar{display:flex;align-items:center;flex-wrap:wrap;font-size:12.5px}
.st-C .ed-st{margin-left:auto;display:flex}
.st-C .ed-st span{padding:2px 12px;border:1px solid #d8dadd;background:var(--surface);font-size:11.5px;margin-left:-1px;clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,10% 50%)}
.st-C .ed-st span.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.st-C .ed-st span.on.pd{background:#1E7B34;border-color:#1E7B34}
.st-C .ed-sheet h2{font-weight:500;}
.st-C .ed-two{display:grid;grid-template-columns:1fr 1fr;}
.st-C .ed-of{display:grid;align-items:center;}
.st-C .ed-of>label{font-weight:600;color:var(--fg);margin:0;line-height:1.2}
.st-C .ed-of input,.st-C .ed-of select,.st-C .ed-of textarea{font:inherit;width:100%;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--fg);box-shadow:none!important;min-height:0}
.st-C .ed-of input:focus,.st-C .ed-of select:focus{outline:none;border-bottom-color:var(--accent)!important}
.st-C .ed-cliw{margin:2px 0 8px}.st-C .ed-cliw .ed-tile .i>b{font-size:20px;font-weight:500;display:flex;align-items:center;gap:8px}.st-C .ed-cliw .ed-cligo{width:30px;height:28px;font-size:16px;font-weight:400}
.ed-pgo{display:flex;align-items:center;gap:4px;min-width:0}.ed-pgo input{flex:1;min-width:0}
.ed-go{flex:none;border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);color:var(--accent);border-radius:6px;width:24px;height:22px;padding:0;font-size:13px;line-height:1;cursor:pointer}.ed-go:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.st-C .ed-cli input[type=search]{border:0;border-bottom:1px solid var(--line);}
.st-C .ed-tile{margin-top:2px;gap:8px}.st-C .ed-av{width:26px;height:26px;font-size:11px}.st-C .ed-tile .i{font-size:11.5px}.st-C .ed-tile .i b{font-size:13px}
.st-C .ed-nb{display:flex;border-bottom:1px solid var(--line)}
.st-C .ed-nb button{background:none;border:0;cursor:pointer;color:var(--fg-2);border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit;}
.st-C .ed-nb button[aria-selected=true]{color:var(--accent);border-color:var(--accent);font-weight:600}
.st-C .ed-nb{align-items:center}.st-C .ed-nb button.ed-colsC,html.ed2 .st-C .ed-nb button.ed-colsC{border:1px solid var(--line,#e5e7eb)!important;border-radius:7px;height:30px;padding:0 10px!important;margin:0 0 4px;font-size:12.5px!important;color:var(--fg,#1f2937)!important;font-weight:400!important;background:var(--surface,#fff);text-transform:none!important;letter-spacing:0!important;white-space:nowrap}.st-C .ed-nb button.ed-colsC:hover,html.ed2 .st-C .ed-nb button.ed-colsC:hover{background:var(--surface-2,#f3f4f6)}
.st-C .ed-pane[hidden]{}
.st-C table.ed-t{width:100%;border-collapse:collapse;table-layout:fixed}
.st-C .ed-t th{text-align:left;font-weight:600;border-bottom:1px solid var(--line);color:var(--fg);white-space:nowrap;}
.st-C .ed-t td{border-bottom:1px solid #eef0f2;vertical-align:top}
.st-C .ed-t .ed-in{}.st-C .ed-t textarea.ed-in{}
.st-C .ed-t td.a{}.st-C .ed-anab{font-size:12px;}
.st-C .ed-t tr.t-section td{background:#eceff3}.st-C .ed-t tr.t-section .ed-in{font-weight:700}
.st-C .ed-t tr.t-note .ed-in{font-style:italic;color:var(--fg-2)}
.st-C .ed-t tr.t-subtotal td{font-weight:700;border-top:1px solid #9ca3af}
.st-C .ed-t tr.t-break td{text-align:center;color:#9ca3af;font-size:11px;letter-spacing:.1em;padding:3px}
.st-C .ed-links{display:flex;flex-wrap:wrap;}
.st-C .ed-links a{color:#017E84;cursor:pointer;text-decoration:none}.st-C .ed-links a:hover{text-decoration:underline}
.st-C .ed-tot{margin:4px 0 0 auto;}.st-C .ed-tot div{}.st-C .ed-tot .g{}
.st-C .ed-payl{font-size:12px}
.st-C .ed-f textarea,.st-C .ed-f input,.st-C .ed-f select{}
.st-C .ed-fg{}.st-C .ed-fg label,.st-C .ed-f label{font-size:11px;}
.st-C .ed-sheet{container-type:inline-size}
@container (max-width:940px){.st-C .ed-t .opt{display:none}}
.st-C .ed-chips{display:inline-block;font-size:11px;background:var(--surface-2);border-radius:999px;padding:1px 7px}
/* 2.91.2: más aire en la ficha de facturas y gastos (pedido por Roberto: «demasiado pegado») */
.st-C .dstu-m{padding:10px;gap:10px}
.st-C .ed-sheet{padding:18px 26px 22px;font-size:13px}
.st-C .ed-sbar{margin-bottom:12px;gap:8px}
.st-C .ed-ronote{margin:0 0 10px;padding:6px 10px}
.st-C .ed-sheet h2{font-size:20px;margin:4px 0 16px}
.st-C .ed-two{gap:2px 44px}
.st-C .ed-of{grid-template-columns:140px 1fr;gap:10px;min-height:36px;padding:2px 0;font-size:13px}
.st-C .ed-of input,.st-C .ed-of select,.st-C .ed-of textarea{font-size:13px;padding:5px 2px!important}
.st-C .ed-cli input[type=search]{padding:5px 2px;font-size:13px}
.st-C .ed-nb{margin:22px 0 4px}
.st-C .ed-nb button{padding:7px 14px;font-size:13px}
.st-C table.ed-t{margin-top:6px;font-size:13px}
.st-C .ed-t th{padding:8px 6px;font-size:11px}
.st-C .ed-t td{padding:3px 4px}
.st-C .ed-t .ed-in{padding:5px 6px;font-size:13px;line-height:1.35}.st-C .ed-t textarea.ed-in{min-height:28px}
.st-C .ed-t td.a{padding-top:7px}.st-C .ed-anab{min-height:28px;padding:3px 6px}
.st-C .ed-links{gap:18px;padding:10px 4px 4px}
.st-C .ed-links a{font-size:13px}
.st-C .ed-tot{width:320px;margin-top:14px;font-size:13px}.st-C .ed-tot div{padding:3px 0}.st-C .ed-tot .g{font-size:16px;margin-top:6px;padding-top:7px}
.st-C .ed-payl{margin-top:10px}
.st-C .ed-f textarea,.st-C .ed-f input,.st-C .ed-f select{font-size:13px;padding:7px 9px}
.st-C .ed-fg{gap:10px 16px}.st-C .ed-fg label,.st-C .ed-f label{margin-bottom:4px}
.st-C .ed-info dl{gap:6px 14px;margin:10px 0}
.st-C .dsnote{font-size:12px;padding:4px 8px;margin:0 0 4px}

/* D · estudio con bloques (oscuro) */































/* temas del estudio para gastos e ingresos */
.dstu.st-C .dsc{border-radius:6px}.dstu.st-C .dstot{background:var(--accent)}



@media (max-width:1100px){}
@media (max-width:720px){.dstu .dsw,.dstu .dfs{display:none}}
@media (max-width:1100px){.dstu.st-C .dstu-b{grid-template-columns:minmax(0,1fr)!important}.dstu.st-C .dstu-a{height:75vh;border-left:0;border-top:1px solid var(--line)}}
@media (max-width:900px){
  .st-C .ed-two{grid-template-columns:1fr}.st-C .ed-of{grid-template-columns:110px 1fr}.st-C .ed-tot{width:100%}
  .st-C .ed-t{min-width:760px}.st-C .ed-tw{overflow-x:auto}}
/* 2.150.4: columnas redimensionables en las tablas de los editores */
.ed-tw{overflow-x:auto}.ed-t th{position:relative}
.ed-rz{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:3;touch-action:none}
.ed-rz::after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:2px;border-radius:1px;background:transparent}
.ed-t th:hover .ed-rz::after{background:var(--line)}.ed-rz:hover::after,.ed-rz.on::after{background:var(--accent)!important}

/* ---------- facturas.js ---------- */
.ftools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.ftools .insearch{width:240px}
.ftools .sp{flex:1}
.invt td{vertical-align:top;font-family:var(--font-body)}
.invt td:nth-child(n+6){font-variant-numeric:tabular-nums}
.invt td.l,.invt th.l{text-align:left;white-space:normal}
.invt td:first-child{white-space:nowrap}
.invt tr.inv2{cursor:pointer}.invt tr.inv2:hover{background:var(--surface-2)}.invt tr.inv2.cur{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.anachip{display:inline-block;font-size:11px;border:1px solid var(--line);padding:1px 7px;color:var(--fg-2);white-space:nowrap;margin:1px 0}
.anachip.no{color:var(--bad);border-color:var(--bad)}.anachip.part{color:var(--fg-2);border-style:dashed}.anachip.prop{color:var(--accent-ink,var(--accent));border-color:var(--accent)}
.docl{display:inline-flex;gap:4px}.docl a{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:1px 6px;text-decoration:none;color:var(--fg-2);white-space:nowrap}.docl a:hover{border-color:var(--accent);color:var(--accent)}
.fmore{display:flex;justify-content:center;padding:12px 0}
.tdlg.tdlg-anl{width:min(1180px,96vw);max-width:none}
.anlbar{display:flex;gap:12px;align-items:center;margin:10px 20px 8px;flex-wrap:wrap}.tdlg-anl .tdlg-f{padding:10px 20px}
.anlw{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:0 20px 8px}
.anlt{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.anlt th{position:sticky;top:0;z-index:1;background:var(--surface-2,var(--surface));font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.anlt th.n,.anlt td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.anlt th,.anlt td{text-align:left}.anlt td{padding:5px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:middle}
.anlt th.ck,.anlt td.ck{width:28px;text-align:center}
.anlt td.ln{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anlt td.ac{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-2)}
.anlt th.pl i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.anlt .fo{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.anlt tr.chg td{background:color-mix(in srgb,var(--accent) 7%,transparent)}.anlt tr.none td.ln{color:var(--bad)}
.anlt td.ar,.anlt th.ar{background:color-mix(in srgb,var(--warn,#b45309) 5%,transparent)}.anachip.arch{border-style:dashed;color:var(--warn,#b45309);border-color:var(--warn,#b45309)}.anlwarn{color:var(--warn,#b45309)}
.anlt .anlnew{font-size:10.5px;color:var(--accent);font-weight:600}.anlt .btn.anled{padding:2px 8px;font-size:12px}
.gchip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 4px 3px 10px}.gchip button{border:0;background:transparent;color:inherit;font-size:15px;cursor:pointer;line-height:1;padding:0 4px}
.gbar{height:5px;background:var(--line);border-radius:3px;min-width:60px}.gbar i{display:block;height:5px;border-radius:3px;background:var(--accent)}
.invt th,.invt td{padding-left:7px;padding-right:7px}
.invt tbody td{font-size:13px}
.invt th:nth-child(1),.invt td:nth-child(1),.invt th:nth-child(9),.invt td:nth-child(9){text-align:left;white-space:nowrap}
.invt td:first-child{min-width:0;width:86px}
.invt td:nth-child(2){white-space:nowrap}
.invt td:nth-child(2) .xtag{display:table;margin:3px 0 0 0;font-size:9.5px}
.invt .anachip{font-size:10.5px;letter-spacing:0;text-transform:none}
.invt td:nth-child(3),.invt td:nth-child(4){max-width:220px}
.invt td:nth-child(5){max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbar{height:4px;border-radius:2px;background:var(--surface-2);margin-top:4px;overflow:hidden;min-width:60px}.pbar i{display:block;height:100%;background:var(--good)}
.pbar.part i{background:var(--st-warn)}.pdone{color:var(--good);font-weight:600;font-size:12px}
.invwrap{max-height:calc(100vh - 220px);overflow:auto;border:1px solid var(--line);border-radius:8px}
.invt{border-collapse:separate;border-spacing:0;width:100%}
.invt thead th{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--line);white-space:nowrap}
.invt tbody td{padding-top:7px;padding-bottom:7px;border-bottom:1px solid var(--line);vertical-align:middle}
.invt tbody tr.inv2:nth-child(even){background:color-mix(in srgb,var(--surface-2) 45%,transparent)}
.invt tbody tr.inv2:hover{background:var(--surface-2)}
.invt tr.inv2 td:first-child{box-shadow:inset 3px 0 0 var(--line)}
.invt tr.r-out td:first-child{box-shadow:inset 3px 0 0 var(--good)}
.invt tr.r-in td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.invt tr.r-venc td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.invt td.num,.invt th[data-o^="amount"]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.invt a.num{font-weight:600;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line)}.invt a.num:hover{color:var(--accent);border-color:var(--accent)}
.invt .odl{display:inline-block;margin-left:6px;font-size:10.5px;color:var(--fg-3);text-decoration:none;opacity:0;transition:opacity .1s}.invt tr:hover .odl,.invt tr:focus .odl{opacity:1}
.invt .lnk{font:inherit;font-size:13px;color:var(--fg);background:none;border:0;padding:0;text-align:left;cursor:pointer;border-bottom:1px dotted var(--fg-3)}.invt .lnk:hover{color:var(--accent);border-bottom-color:var(--accent)}
.ty{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:2px 6px;white-space:nowrap}
.ty-out{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}
.ty-in{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.ty-ref{color:var(--fg-2);background:var(--surface-2)}
.st{display:inline-block;font-style:normal;font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.st-ok{background:color-mix(in srgb,var(--good) 13%,transparent)}
.st-mid{background:color-mix(in srgb,var(--st-warn) 18%,transparent)}
.st-bad{background:color-mix(in srgb,var(--bad) 13%,transparent)}
.st-na{color:var(--fg-3);background:var(--surface-2)}
:root[data-theme="dark"] .st-mid{color:var(--st-warn)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st-mid{color:var(--st-warn)}}
.pv{color:var(--bad);font-weight:700}.pp{color:var(--st-warn);font-weight:600}
:root[data-theme="dark"] .pp{color:var(--st-warn)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pp{color:var(--st-warn)}}
.invt tfoot td{position:sticky;bottom:0;background:var(--surface);border-top:2px solid var(--fg);padding-top:8px;padding-bottom:8px;font-variant-numeric:tabular-nums}
.sumk{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}
.invleg{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px;font-size:12px}
.invleg .lg i{font-style:normal}
.invt tr.grp{cursor:pointer}.invt tr.grp:hover{background:var(--surface-2)}
/* visor */
#ivwBk{position:fixed;inset:0;background:rgba(10,12,16,.45);z-index:60}
#ivw{position:fixed;top:0;right:0;bottom:0;width:min(1080px,100%);background:var(--surface);border-left:1px solid var(--line);z-index:61;display:flex;flex-direction:column;box-shadow:-20px 0 48px rgba(0,0,0,.25)}
#ivw[hidden],#ivwBk[hidden]{display:none!important}
.ivh{padding:16px 20px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.ivtop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ivtop h3{font-family:var(--font-display);font-weight:700;font-size:22px;margin:0}
.ivtop p{margin:2px 0 0;color:var(--fg-2);font-size:13px}
.ivnav{display:flex;gap:6px;flex:none}.ivnav button{font:inherit;font-size:16px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:6px;width:34px;height:34px;cursor:pointer}
.ivnav button:disabled{opacity:.4;cursor:default}
.ivlinks{display:flex;gap:8px;flex-wrap:wrap}
.ivlinks a,.ivlinks span{font-size:12.5px;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:5px 10px;color:var(--fg)}
.ivlinks a:hover{border-color:var(--accent);color:var(--accent)}.ivlinks span{color:var(--fg-3);border-style:dashed}
.ivtabs{display:flex;gap:2px}.ivtabs button{font:inherit;font-size:13px;border:0;background:transparent;color:var(--fg-2);padding:9px 14px;border-bottom:2px solid transparent;cursor:pointer}
.xtag{border-color:var(--accent)!important;color:var(--accent)!important}
.ivtabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
.ivb{overflow:auto;flex:1;padding:16px 20px 24px}
.ivgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px}
.ivgrid>div{background:var(--surface);padding:9px 12px;min-width:0}.ivgrid .k{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600}
.ivgrid b{font-weight:500;overflow-wrap:anywhere}.ivgrid .big b{font-family:var(--font-display);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.ivdoc{display:flex;flex-direction:column;gap:10px;height:100%}
.ivdoc iframe{flex:1;min-height:70vh;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.lines td,.lines th{white-space:normal}
.lines td.num{white-space:nowrap;font-variant-numeric:tabular-nums}
.dedit{display:flex;flex-direction:column;gap:6px;padding:8px 0}
.tdlg.tdlg-ana{width:min(1040px,calc(100vw - 32px));max-width:none}.tdlg-ana .adh,.tdlg-anl .adh{display:flex;align-items:center;gap:12px;padding-right:14px;border-bottom:1px solid var(--line)}.tdlg-ana .adh h3,.tdlg-anl .adh h3{margin:0;border:0}.tdlg-ana .slot{padding:12px 20px;overflow:auto}.tdlg-ana .adx,.tdlg-anl .adx{margin-left:auto;border:0;background:transparent;font-size:22px;line-height:1;color:var(--fg-2,#666);cursor:pointer}.tdlg-ana .adn,.tdlg-anl .adn{margin:10px 20px 0;font-size:12.5px}.tdlg-ana .adm,.tdlg-anl .adm{margin:0 20px}.tdlg-ana .adm.bad,.tdlg-anl .adm.bad{color:var(--bad,#c0392b)}
.dtab{gap:8px}.dtab .dtw{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.dtt{border-collapse:collapse;width:100%;min-width:max-content;font-size:13px}
.dtt th{text-align:left;font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:bottom;min-width:170px;background:var(--surface)}
.dtt th .dpn{display:inline-flex;align-items:center;gap:6px}.dtt th .dpn i{width:9px;height:9px;border-radius:50%;background:var(--pc);flex:none}
.dtt th .dps{margin-left:6px;color:var(--fg-2,#666);font-weight:500}.dtt th .dps.over{color:var(--st-warn)}.dtt th .dps.need{color:var(--bad,#c0392b)}
.dtt th small{display:block;font-weight:500;font-size:10.5px;color:var(--fg-3,#999);text-transform:uppercase;letter-spacing:.04em}
.dtt th.foc,.dtt td.foc{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.dtt th.dpc,.dtt td.dpc{min-width:84px;width:84px;text-align:right;position:sticky;right:34px;background:var(--surface);box-shadow:-6px 0 8px -6px rgba(0,0,0,.18)}.dtt th.dx,.dtt td.dx{min-width:34px;width:34px;position:sticky;right:0;background:var(--surface)}
.dtt td{padding:4px 6px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.dtt td input{width:100%;min-width:0;font:inherit;font-size:13px;border:1px solid transparent;background:transparent;color:var(--fg);padding:5px 7px}
.dtt td input:hover{border-color:var(--line)}.dtt td input:focus{border-color:var(--accent);background:var(--bg);outline:0}
.dtt td.dpc input{text-align:right}.dtt .ddel{border:0;background:transparent;color:var(--fg-3,#999);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:5px}.dtt .ddel:hover{color:var(--bad,#c0392b);background:color-mix(in srgb,var(--bad,#c0392b) 10%,transparent)}
.dtt .dempty td{color:var(--fg-3,#999);padding:12px 10px}
.dtab .dnew{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:8px 0 4px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:13px}.dtab .dnew label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg-2)}.dtab .dnew select{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}.dtab .dnew .dnmsg{font-size:12px;color:var(--fg-3)}
.dtab .dadd{align-self:flex-start;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13.5px;cursor:pointer;padding:4px 2px}.dtab .dadd:hover{text-decoration:underline}
.dtab .dhid{font-size:12px;margin:0}
.dplan{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface)}.dplan.on{border-color:var(--accent)}.dph{display:flex;justify-content:space-between;align-items:center;gap:8px}.dtog{font:inherit;font-size:13px;border:0;background:transparent;color:var(--fg);display:flex;gap:8px;align-items:center;cursor:pointer;padding:4px 0}.dtog .dot{width:9px;height:9px;border-radius:50%}.dplan .drow{margin:4px 0}.dplan .dadd{font-size:12px;padding:3px 9px;margin:4px 0 2px}
.dsum.over{color:var(--warn,#a86400);font-weight:600}.drow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.drow .dacc{width:min(420px,100%)}.drow .dpct{width:90px}
.ledit{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:6px 0}
.tdlg-bk{position:fixed;inset:0;background:rgba(10,12,16,.5);z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}
.tdlg{background:var(--surface);border:1px solid var(--line);max-width:min(900px,100%);width:100%;max-height:90vh;display:flex;flex-direction:column;}
.tdlg h3{margin:0;padding:16px 20px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:500;font-size:18px}
.tdlg-b{padding:14px 20px;overflow:auto}.tdlg-f{padding:12px 20px;border-top:1px solid var(--line);justify-content:flex-end}
.btn.primary{}.btn.bad{color:var(--bad);}
.xfields{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;margin:8px 0 12px}
.xfields label{display:flex;gap:7px;align-items:center;font-size:13px;cursor:pointer}
.xfields input{accent-color:var(--accent)}
.xsec{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-top:10px}
.addlink{font:inherit;font-size:11px;border:1px dashed var(--line);border-radius:4px;padding:1px 6px;background:transparent;color:var(--fg-3);cursor:pointer;white-space:nowrap}.addlink:hover{border-color:var(--accent);color:var(--accent)}
.nchip{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:1px 7px;white-space:nowrap;color:var(--fg-2)}.nchip.mine{border-color:var(--accent);color:var(--accent);font-weight:600}
.note{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 8px;background:var(--surface)}.note.done{opacity:.6}.note .h{font-size:12px;color:var(--fg-3);display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}.note p{margin:6px 0 0;white-space:pre-wrap}
.nform{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:10px}.nform textarea{grid-column:1/-1;font:inherit;font-size:13px;min-height:70px;padding:8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.nform select,.nform input{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.dcgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}.dcgrid td.c{cursor:pointer}.dcgrid td.c:hover{text-decoration:underline}
@media (max-width:900px){.dcgrid{grid-template-columns:1fr}.nform{grid-template-columns:1fr}}
.prog{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:10px 0}.prog i{display:block;height:6px;background:var(--accent);transition:width .2s}
@media (max-width:820px){.ivgrid{grid-template-columns:1fr 1fr}.ftools .insearch{width:100%}}

/* ---------- colores.js ---------- */
.achip{--c:#64748b;display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:11.5px;font-weight:600;line-height:18px;padding:0 7px 0 6px;margin:1px 4px 1px 0;color:color-mix(in srgb,var(--c) 78%,var(--fg,#111));background:color-mix(in srgb,var(--c) 13%,var(--surface,#fff));border:1px solid color-mix(in srgb,var(--c) 30%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;cursor:default}
.achip i{flex:none;width:7px;height:7px;border-radius:2px;background:var(--c)}
.achip small{font-weight:500;opacity:.75;margin-left:2px}
.aplg{display:inline-flex;align-items:center;gap:0;margin-right:8px;padding-left:7px;border-left:2px solid color-mix(in srgb,var(--fg,#111) 18%,transparent)}.aplg:first-child{padding-left:0;border-left:0}
.aplg>b{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2,#666);margin-right:5px;white-space:nowrap}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .achip{color:color-mix(in srgb,var(--c) 60%,#fff)}}
:root[data-theme="dark"] .achip{color:color-mix(in srgb,var(--c) 60%,#fff)}
.anachip{border-left-width:3px!important}
.cpick{position:fixed;z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px rgba(16,24,40,.2);padding:10px;width:236px;font-size:13px}
.cpick .cpal{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0}
.cpick .cpal button{width:30px;height:24px;border-radius:6px;border:2px solid transparent;background:var(--c);cursor:pointer;padding:0}
.cpick .cpal button[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 0 0 2px var(--surface)}
.cpick .cft{display:flex;gap:8px;align-items:center}.cpick .cft input[type=color]{width:40px;height:30px;border:1px solid var(--line);padding:1px;background:var(--surface)}
.cpick .cmsg{font-size:12px;margin:6px 0 0;min-height:1em}

/* ---------- analitica.js ---------- */
.subnav{margin:0 0 16px;flex-wrap:wrap;max-width:100%;height:auto}.subnav button{flex:none}
.bulkbar{bottom:0;margin-top:10px;}
.bulkbar[hidden]{}.bulkbar .insearch{width:min(380px,100%)}
.invt td.ck,.invt th.ck{width:28px;text-align:center}.invt input[type=checkbox]{}
.pgrid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;align-items:start}
.plist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.plist button{font:inherit;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--fg);padding:10px 12px;cursor:pointer;display:flex;gap:10px;align-items:center}
.plist button:last-child{border-bottom:0}.plist button[aria-current="true"]{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.plist button[draggable=true]{cursor:grab}.plist button.pldrag{opacity:.45}.plist button.pldrop-a{box-shadow:inset 0 3px 0 var(--accent)}.plist button.pldrop-b{box-shadow:inset 0 -3px 0 var(--accent)}/* 2.92.0: ordenar arrastrando */
.plist .dot{width:10px;height:10px;border-radius:50%;flex:none}.plist .nm{flex:1;min-width:0}.plist small{display:block;color:var(--fg-3);font-size:11.5px}
.plist .plck{flex:none;width:16px;height:16px;border:1.5px solid var(--fg-3);border-radius:3px;display:inline-grid;place-items:center;font-size:11px;line-height:1;color:#fff;cursor:pointer}.plist .plck[aria-checked="true"]{background:var(--accent);border-color:var(--accent)}
.plist .plid{font-variant-numeric:tabular-nums}.plsel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.plsel b{margin-right:auto}
.aedit{border:1px solid var(--accent);border-radius:10px;padding:12px 14px;margin:0 0 12px;background:var(--surface)}
.aedit .frm{max-width:640px}
.rform{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-bottom:12px}
.rform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.rform select,.rform input{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 9px}
.rtab td:first-child,.rtab th:first-child{text-align:left;white-space:normal;min-width:200px}
.rtab tfoot td{font-weight:700;border-top:2px solid var(--fg)}
.sharebox{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border:1px solid var(--good);border-radius:8px;padding:10px 12px;margin:10px 0}
.sharebox input{flex:1;min-width:240px;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.hist .when{white-space:nowrap}
.chk2{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--fg-2);cursor:pointer}.chk2 input{accent-color:var(--accent)}
.anachip.sug{color:var(--good);border-color:var(--good)}
.pfk{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0 0 14px}.pfk>div{background:var(--surface);padding:9px 12px}.pfk .k{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600}.pfk b{font-family:var(--font-display);font-size:19px;font-variant-numeric:tabular-nums}
.pfgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pfchart{height:240px;position:relative}
.artab tfoot td{background:var(--surface-2,var(--surface));border-top:2px solid var(--line);font-weight:600}.artab tfoot tr+tr td{border-top:0}
.arqf{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.arqf:empty{display:none}
.armode{margin:0 0 12px}.armode .seg button{font-size:13px}
.pjtop{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0 0 10px;font-size:13px}.pjtop label{display:flex;gap:6px;align-items:center;color:var(--fg-2)}.pjtop select{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:4px 8px}
.pjkpi .mut small{display:block;margin-top:4px;font-size:12.5px;color:var(--fg-2);font-variant-numeric:tabular-nums}
#pjTab td.n,#pjTab th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#pjTab td.n small{font-size:11px}#pjTab tr.on td{background:color-mix(in srgb,var(--accent) 10%,transparent)}
body.pjonly .armode,body.pjonly .pjtop,body.pjonly #pjKpi,body.pjonly #pjTabW,body.pjonly #pjHint,body.pjonly .ttbar.pjhide{display:none!important}body.pjonly .pjdet{margin-top:0}
.pjdet{margin:16px 0 8px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--surface)}.pjdet h3{margin:0 0 8px;font-size:16px}
.pjlist td.pjpl{cursor:pointer}.pjlist td.pjpl:hover{background:color-mix(in srgb,var(--accent,#0F4C81) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent,#0F4C81) 35%,transparent)}.pjlist td.pjpl:empty::after{content:'+';color:var(--fg-3)}.pjdt{width:100%;border-collapse:collapse;font-size:13px}.pjdt th{text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--fg-3,#999)}.pjdt td{padding:4px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.pjdt .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pjdt tr[data-doc]:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.pjdt tfoot td{border-top:1px solid var(--fg-3,#999);border-bottom:0}.pjdt th.c{text-align:center;border-bottom:1px solid var(--line)}.pjdt th.pja,.pjdt td.pja{background:color-mix(in srgb,var(--accent) 4%,transparent)}.pjdt [hidden]{display:none!important}.pjdif{color:var(--warn,#b45309);font-weight:600}.pjlist .pjsv{display:none}.pjproj{width:190px;font:inherit;font-size:12.5px;padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg)}.pjproj:focus{border-color:var(--accent);outline:none}.pjproj.bad{border-color:var(--bad)}.pjproj.busy{opacity:.5}.pjproj.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--bg))}.pjpct{width:64px;font:inherit;font-size:12.5px;text-align:right;padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg)}.pjpct:focus{border-color:var(--accent);outline:none}.pjpct.dif{color:var(--warn,#b45309);font-weight:600}.pjpct.bad{border-color:var(--bad)}.pjpct.busy{opacity:.5}.pjpct.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--bg))}
.pjlist td.pjed{cursor:text;text-decoration:underline dotted;text-underline-offset:3px}.pjlist td.pjed:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.pjin{width:90px;font:inherit;text-align:right;padding:2px 4px;border:1px solid var(--accent);border-radius:4px}.pjin.bad{border-color:var(--bad)}
.pjlist td:nth-child(6){max-width:280px;overflow:hidden;text-overflow:ellipsis}.pjdet .pjh{margin:14px 0 6px;font-size:13px;font-weight:600}.pjdet .pjh .muted{font-weight:400}
.arbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 10px}.arbar label{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--fg-2)}.arbar select{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:6px 8px}.arbar .insearch{width:min(260px,100%)}
.arplans{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;font-size:12.5px}.arpl{font:inherit;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:3px 10px;cursor:pointer}.arpl i{width:8px;height:8px;border-radius:50%;background:var(--pc)}.arpl.off{opacity:.45;text-decoration:line-through}
.artab{width:100%;border-collapse:collapse;font-size:13px}.artab th{position:sticky;top:0;background:var(--surface);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--fg-3,#999);white-space:nowrap}.artab th.n,.artab td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.artab td{padding:5px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.artab tr[data-k]{cursor:pointer}.artab tr[data-k]:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.artab td:first-child{min-width:300px}.artab .arp td{background:color-mix(in srgb,var(--fg) 5%,var(--surface));font-weight:600}.artab .ars td{font-style:italic;color:var(--fg-2);padding-left:34px}.artab .ara td:first-child{padding-left:28px}.artab .arg td:first-child{padding-left:52px;color:var(--fg-2)}.artab .ari td{font-size:12.5px}.artab .ari td:first-child{padding-left:78px}.artab .ari[data-doc]{cursor:pointer}.artab .arn td{border-top:2px solid var(--line)}
.artab .artg{border:0;background:transparent;color:var(--fg-2);width:18px;padding:0;margin-right:4px;cursor:pointer;font-size:11px}.artab .ardot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle}.artab .tt{font-weight:600}.artab .pos{color:var(--good,#1f9d55)}
.arwrap{max-height:none}
.chap{cursor:pointer}.chap:hover{background:var(--surface-2)}
@media (max-width:900px){.pfgrid{grid-template-columns:1fr}}.hist details summary{cursor:pointer;color:var(--accent)}
@media (max-width:900px){.pgrid{grid-template-columns:1fr}}

/* ---------- anotaciones.js ---------- */
#p-led .lfrm{display:grid;grid-template-columns:150px 1fr 150px 1fr;gap:8px 12px;align-items:center}
#p-led .lfrm label{font-size:12px;color:var(--fg-2)}
#p-led .lfrm input,#p-led .lfrm select,#p-led .lfrm textarea,.tdlg .lfrm input,.tdlg .lfrm select,.tdlg .lfrm textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 9px;min-width:0;width:100%}
.tdlg .lfrm{display:grid;grid-template-columns:140px 1fr 140px 1fr;gap:8px 12px;align-items:center}.tdlg .lfrm label{font-size:12px;color:var(--fg-2)}.tdlg .lfrm .full{grid-column:2/-1}
.ledorig{font-size:12.5px;color:var(--fg-2);background:var(--surface-2);border-left:3px solid var(--accent);padding:10px 12px;margin:0 0 14px}
.ledorig b.t{color:var(--accent)}
.lspl{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px rgba(16,24,40,.16);padding:4px;margin-top:2px;display:flex;flex-direction:column;gap:2px}.lspl[hidden]{}
.lspl .bpicki{display:flex;justify-content:space-between;gap:10px;text-align:left;font:inherit;font-size:13px;color:var(--fg);background:none;border:0;border-radius:6px;padding:7px 8px;cursor:pointer}.lspl .bpicki:hover{background:var(--surface-2)}
.impbox textarea{width:100%;min-height:140px;font:12px/1.4 ui-monospace,monospace;padding:8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
@media (max-width:820px){.tdlg .lfrm{grid-template-columns:1fr}.tdlg .lfrm .full{grid-column:1}}

/* ---------- gasto.js ---------- */
.st-C .gxo .ed-of input[type=checkbox]{width:auto!important;border:0!important}
.st-C .gxo .gxo-due{display:flex;gap:8px}.st-C .gxo .gxo-due select{max-width:140px}
.st-C .gxo .gxo-pw{grid-template-columns:140px 1fr;margin:2px 0 8px}.st-C .gxo .gxo-pw input{font-size:20px!important;font-weight:500;padding:4px 2px!important;min-height:34px}.st-C .gxo .gxo-pw .ed-go{width:30px;height:28px;font-size:16px}@supports (field-sizing:content){.st-C .gxo .gxo-pw .ed-pgo input{flex:0 1 auto;field-sizing:content;width:auto!important;min-width:16ch;max-width:calc(100% - 40px)}.st-C .gxo .gxo-pw .ed-pgo{gap:8px}}
.st-C .gxo .gxo-bank{font-size:12.5px;color:var(--fg-2);padding:3px 2px}
.st-C .gxo .gxo-sw{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg)}
.st-C .gxo .ed-t .ed-in{padding:4px 4px}
.st-C .gxo .ed-t select.ed-in{padding:4px 2px}
.st-C .gxo .ed-t td.n,.st-C .gxo .ed-t th.n{text-align:right}.st-C .gxo .ed-t td.n .ed-in{text-align:right;font-variant-numeric:tabular-nums}
.st-C .gxo .ed-t .ed-amt{padding-top:6px;padding-right:6px}
.st-C .gxo .gxo-con{width:100%;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;resize:vertical;min-height:34px;background:var(--surface);color:var(--fg)}
.st-C .gxo .ed-tot .due{color:var(--fg-2);font-size:12.5px}.st-C .gxo .ed-tot .m{color:var(--bad,#b42318)}
.st-C .gxo .ed-info table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:4px}.st-C .gxo .ed-info td,.st-C .gxo .ed-info th{padding:3px 6px;border-bottom:1px solid #eef0f2;text-align:left}.st-C .gxo .ed-info td.n,.st-C .gxo .ed-info th.n{text-align:right;font-variant-numeric:tabular-nums}
.st-C .gxo .ed-info ol{margin:0;padding-left:18px}.st-C .gxo .ed-info li{margin:2px 0}

/* ---------- facturacion.js ---------- */
/* 2.150.9: pedidos con factura próxima */
.bt tr.burg>td{background:var(--urg)!important}.bt tr.burg>td:first-child{box-shadow:inset 3px 0 0 var(--urgb)}
.burgt{display:inline-block;font-size:11px;font-weight:600;padding:0 6px;border-radius:9px;background:var(--urgp);color:var(--urgt);margin-left:4px;vertical-align:1px}
.burgl i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:2px;vertical-align:-1px}

#p-bil table.bt tr[data-draft] td,#p-bil table.bt tr[data-draft] td b{color:var(--draft)}
#p-bil .bbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.bt .bsel{width:1px;text-align:center;padding-left:8px!important;padding-right:4px!important}.bt .bsel input{width:16px;height:16px;margin:0;cursor:pointer}.bt tr.bon td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.bbulk{position:sticky;bottom:0;z-index:6;display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--accent);border-radius:10px;padding:10px 12px;margin-top:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.bbulk[hidden]{}.bbulk .sp{flex:1}.bbulk .msg{font-size:12.5px;color:var(--fg-2)}
.bhist{list-style:none;margin:6px 0 0;padding:0;max-height:240px;overflow:auto}.bhist li{display:flex;flex-direction:column;padding:5px 0;border-bottom:1px solid var(--line);font-size:12.5px}.bhist li b{font-weight:500}
/* 2.138.0: nóminas */
#p-bil .nmbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 14px}#p-bil .nmbar .sp{flex:1}
#p-bil .pnav{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);position:relative}#p-bil .pnav button{border:0;background:none;width:34px;height:34px;font-size:17px;cursor:pointer;color:var(--fg)}#p-bil .pnav b{min-width:150px;text-align:center;font-size:15px}
#p-bil .pnav input[type=month]{position:absolute;inset:0 34px;opacity:0;cursor:pointer;width:calc(100% - 68px)}
#p-bil .nmseg button{padding:8px 14px}
#p-bil .pkp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}#p-bil .pkp.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){#p-bil .pkp{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){#p-bil .pkp,#p-bil .pkp.four{grid-template-columns:1fr 1fr}}
#p-bil .pkp>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);min-width:0}#p-bil .pkp small{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}#p-bil .pkp b{display:block;font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#p-bil .pkp b span{font-size:14px;color:var(--fg-3)}#p-bil .pkp em{display:block;font-style:normal;font-size:12px;color:var(--fg-2)}
#p-bil .pnote{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 12px;margin:0 0 10px;border-left:3px solid var(--warn,#a15c00);background:var(--surface-2);font-size:13px}#p-bil .pnote.soft{border-left-color:var(--line)}
#p-bil .pwho{display:flex;align-items:center;gap:10px;min-width:0}#p-bil .pwho b{font-weight:500}#p-bil .pwho small{display:block;color:var(--fg-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42ch}
#p-bil .pav{width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none}#p-bil .pav.dim{background:var(--surface-2);color:var(--fg-3)}#p-bil .pav.big{width:46px;height:46px;font-size:15px}
#p-bil .pchip{display:inline-block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;border:1px solid currentColor;border-radius:4px;padding:1px 6px;white-space:nowrap}
#p-bil th.bstar,#p-bil td.bstar{width:26px;padding-left:2px!important;padding-right:2px!important;text-align:center}#p-bil #bStar.on{background:#FFF6DB;border-color:var(--st-warn);color:#7a5600}#p-bil .c-ok{color:var(--good)}#p-bil .c-dr{color:var(--warn,#a15c00)}#p-bil .c-no{color:var(--fg-3)}#p-bil .c-pa{color:var(--accent)}#p-bil .c-erp{color:var(--fg-2)}
#p-bil .ptab{table-layout:fixed;width:100%}#p-bil .ptab td{vertical-align:middle;overflow:hidden;text-overflow:ellipsis}#p-bil .ptab .porig{display:block;color:var(--fg-3);font-size:11.5px;white-space:nowrap;margin-top:2px}#p-bil .ptab th.ck,#p-bil .ptab td.ck{width:34px;padding-left:8px;padding-right:0}#p-bil .ptab .pana{max-width:180px}#p-bil .ptab tr.pdraft td{background:color-mix(in srgb,var(--warn,#a15c00) 4%,transparent)}#p-bil .ptab tr.pdraft td.n{font-style:italic}
#p-bil .ptab tfoot td{font-weight:700;border-top:1px solid var(--fg);position:sticky;bottom:0;background:var(--surface,#fff);z-index:1}#p-bil .pact{white-space:nowrap;text-align:right}
#p-bil .plink{color:var(--fg);font-weight:600;text-decoration:underline;margin-left:10px;font-size:12.5px;cursor:pointer}#p-bil .plink:first-child{margin-left:0}#p-bil .plink.strong{color:var(--accent)}#p-bil .plink.q{font-weight:400;text-decoration:none;border-bottom:1px dotted var(--fg-3);margin:0;font-size:inherit}
#p-bil .pmore{border:0;background:none;font-size:16px;line-height:1;cursor:pointer;margin-left:8px;color:var(--fg-2);padding:2px 6px;border-radius:6px}#p-bil .pmore:hover{background:var(--surface-2)}
.pmenu{position:absolute;z-index:9500;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.16);padding:4px;display:flex;flex-direction:column;min-width:200px}.pmenu button{border:0;background:none;text-align:left;font:inherit;font-size:13px;padding:7px 10px;border-radius:7px;cursor:pointer;color:var(--fg)}.pmenu button:hover,.pmenu button:focus{background:var(--surface-2);outline:none}
#p-bil .gdrop.pstrip{flex-direction:row;align-items:center;gap:10px;padding:10px 14px;margin:14px 0 0;font-size:13px;color:var(--fg-2)}
#p-bil .pemp{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}@media (max-width:900px){#p-bil .pemp{grid-template-columns:1fr}}
#p-bil .nmlist{display:flex;flex-direction:column;border-top:1px solid var(--line);max-height:70vh;overflow:auto}#p-bil .nmlist input{margin:8px 0;padding:7px 10px;border:1px solid var(--line);font:inherit}
#p-bil .nmlist button{border:0;border-bottom:1px solid var(--line);background:none;text-align:left;padding:8px;cursor:pointer;font:inherit;color:var(--fg)}#p-bil .nmlist button[aria-selected=true]{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}#p-bil .nmlist button:hover{background:var(--surface-2)}
#p-bil .phd{display:flex;align-items:center;gap:14px;margin:0 0 14px}#p-bil .phd h3{margin:0;font-size:20px;font-weight:600}#p-bil .phd small{color:var(--fg-2)}#p-bil .phd .sp{flex:1}
#p-bil .nmgrid td.z{color:var(--fg-3);text-align:center}
#p-bil.pdrag::after{content:"Suelta aquí las nóminas de la gestoría";position:fixed;inset:10px;z-index:9000;border:2px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,transparent);display:grid;place-items:center;font-size:17px;font-weight:600;color:var(--accent);pointer-events:none}
#p-bil .gdrop{display:flex;flex-direction:column;gap:4px;border:1.5px dashed var(--line);border-radius:10px;padding:18px 20px;margin:0 0 14px;cursor:pointer;background:var(--surface);transition:border-color .12s,background .12s}
#p-bil .gdrop:hover,#p-bil .gdrop.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
#p-bil .gdrop .gk{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
#p-bil .gdrop b{font-size:15px}#p-bil .gdrop .sub{max-width:80ch}
#p-bil .pkpis,.bdlg .gsum{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 14px}
.bdlg .gsum{grid-template-columns:repeat(3,1fr)}
#p-bil .pkpis>div,.bdlg .gsum>div{padding:10px 14px}#p-bil .pkpis>div+div,.bdlg .gsum>div+div{border-left:1px solid var(--line)}
#p-bil .pkpis span,.bdlg .gsum span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
#p-bil .pkpis b,.bdlg .gsum b{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin-top:2px}.bdlg .gsum b.ok{color:var(--good)}
#p-bil .psel{display:flex;gap:10px;align-items:center;padding:8px 12px;margin:0 0 10px;border-left:3px solid var(--accent);background:var(--surface-2);font-size:13px}#p-bil .psel .sp{flex:1}
#p-bil td.ck,#p-bil th.ck{width:30px;text-align:center}
@media (max-width:640px){#p-bil .pkpis{grid-template-columns:1fr 1fr}#p-bil .pkpis>div:nth-child(3){border-left:0}}
#p-bil .bbar .sp{flex:1}
#p-bil .note{font-size:12.5px;color:var(--fg-2);background:var(--surface-2);border-left:3px solid var(--accent);padding:10px 12px;margin:0 0 14px}
#p-bil .note.warn{border-left-color:var(--bad)}
#p-bil .bcal{height:26px;min-height:26px;padding:0 8px;font-size:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bt{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.bt th{position:sticky;top:0;background:var(--surface);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600;padding:8px;border-bottom:1px solid var(--line);}
.bt td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.bt td.n,.bt th.n{}
.bt tr.cl{cursor:pointer}.bt tr.cl:hover{background:var(--surface-2)}
.bt .sub{font-size:11.5px;color:var(--fg-3)}
.bwrap{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:calc(100vh - 290px)}
.bchip{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap;border:1px solid transparent}
.bchip.ok{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}
.bchip.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.bchip.mid{background:var(--surface-2);color:var(--fg-2)}
.bchip.acc{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.bdlg .tdlg{max-width:min(1120px,100%)}
.bed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end}
.bed label{display:block;font-size:11.5px;color:var(--fg-2);margin-bottom:3px}
.bed input,.bed select,.bed textarea,.blines input,.blines select,.blines textarea,.bfrm input,.bfrm select,.bfrm textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;width:100%;min-width:0}
.bed .s2{grid-column:span 2}.bed .s4{grid-column:1/-1}
.bsec{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin:16px 0 8px}
.blines{width:100%;border-collapse:collapse;font-size:13px}
.bpickrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.bpick{margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--bg-2,var(--bg))}
.bpick input{font:inherit;font-size:13px;width:100%;padding:7px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.bpickl{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-height:260px;overflow:auto}
.bpicki{display:flex;justify-content:space-between;gap:10px;text-align:left;font:inherit;font-size:13px;color:var(--fg);background:none;border:0;border-radius:6px;padding:7px 8px;cursor:pointer}
.bpicki:hover,.bpicki:focus-visible{background:var(--hover,rgba(127,127,127,.12))}
.bpicki .n{white-space:nowrap;text-align:right}
.bclip{position:relative}.bclil{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(16,24,40,.16);padding:4px;margin-top:2px}
.bfromcat{font-size:11px;margin-top:2px}
.btot .bmargin{font-size:12px;color:var(--fg-3);border-top:1px dashed var(--line);margin-top:4px;padding-top:4px}
@media (max-width:640px){.bpicki{flex-direction:column;gap:2px}.bpicki .n{text-align:left}}
.blines th{font-size:11px;color:var(--fg-3);font-weight:600;padding:4px 4px 6px}
.blines td{padding:3px 4px;vertical-align:top}
.blines td.n{padding-top:10px;}
.blines textarea{min-height:34px;resize:vertical}
.btot{margin-left:auto;max-width:360px;font-size:13px}
.btot div{display:flex;justify-content:space-between;padding:3px 0;color:var(--fg-2)}
.btot div.t{font-size:16px;font-weight:700;color:var(--fg);border-top:1px solid var(--line);margin-top:4px;padding-top:8px}
.bview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-height:60vh}
.bview iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.bview .bodd{margin-top:8px}.bview .bodd .bodl{max-height:40vh}
.bview .bodl{max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:8px}.bview .bodl tr.sec td{background:color-mix(in srgb,var(--fg) 5%,transparent)}.bview .bodl tfoot td{font-weight:500}
.bacts{display:flex;flex-direction:column;gap:8px}
.bacts .btn{justify-content:flex-start}
.bkv{font-size:12.5px;display:grid;grid-template-columns:110px 1fr;gap:4px 8px;margin:6px 0 10px}.bkv dt{color:var(--fg-3)}.bkv dd{margin:0;word-break:break-word}
.bfrm{display:grid;grid-template-columns:170px 1fr 170px 1fr;gap:8px 12px;align-items:center}
.bfrm label{font-size:12px;color:var(--fg-2)}.bfrm .f3{grid-column:2/-1}
.bcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.bcard{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface)}
.bcard h3{margin:0 0 2px;font-family:var(--font-display);font-weight:500;font-size:17px}
.bcard .big{font-size:22px;font-weight:700;margin:8px 0}
.bcas{width:100%;font-size:12.5px;border-collapse:collapse}.bcas td{padding:4px 0;border-bottom:1px solid var(--line)}.bcas td:last-child{}
.bcas td.c{color:var(--fg-3);width:70px}
.bdrop{border:2px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--fg-2);cursor:pointer}
.bdrop.on{border-color:var(--accent);background:var(--surface-2)}
.pdfg{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:18px;align-items:start}@media (max-width:1100px){.pdfg{grid-template-columns:1fr}}
.pdftpl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ptpl{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px;cursor:pointer;color:var(--fg)}
.ptpl svg{width:100%;height:auto;aspect-ratio:70/96;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.ptpl b{font-size:13px}.ptpl small{font-size:11.5px;color:var(--fg-3);line-height:1.3}
.ptpl[aria-checked="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.pfrm{grid-template-columns:150px 1fr 150px 1fr}.pchks{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 8px}.pchk{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fg)}.pchk input{width:auto}
.plogos{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px}.plogo{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--surface)}.plogo img{max-height:38px;max-width:140px}
.pprev{position:sticky;top:10px}.pprev iframe{width:100%;aspect-ratio:210/297;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
@media (max-width:640px){.pfrm{grid-template-columns:1fr}}
#p-bil td,#p-bil th,.bdlg td,.bdlg th,.bt td,.bt th,.bcas td,.blines td,.blines th{text-align:left;font-family:var(--font-body);white-space:normal}
.bt td.n,.bt th.n,.blines td.n,.bcas td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bcas td.c{white-space:nowrap}
.bt input,.bt select{font:inherit;font-family:var(--font-body);font-size:13px;padding:5px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
#p-bil td.n,#p-bil th.n,.bdlg td.n,.bdlg th.n,#p-bil .bcas td:last-child,.bdlg .bcas td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bed input,.bed select,.bed textarea,.blines input,.blines select,.blines textarea,.bfrm input,.bfrm select,.bfrm textarea{font-family:var(--font-body)}
.vfbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin:0 0 14px}
.vfbar.off{border-left:3px solid var(--fg-3)}.vfbar.on{border-left:3px solid var(--good)}.vfbar.warn{border-left:3px solid var(--bad)}
.vfbar .sp{flex:1}
.vsw{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:14px}
.vsw input{position:absolute;opacity:0;width:1px;height:1px}
.vsw .tr{width:42px;height:24px;border-radius:99px;background:var(--line);position:relative;transition:background .15s;flex:none}
.vsw .tr::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.vsw input:checked+.tr{background:var(--good)}.vsw input:checked+.tr::after{transform:translateX(18px)}
.vsw input:focus-visible+.tr{outline:2px solid var(--accent);outline-offset:2px}
.vsw input:disabled+.tr{opacity:.5;cursor:default}
.ecli-t{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg)}
.ecli-t[hidden]{}
.ecli-av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;color:#fff;background:var(--k,var(--accent));flex:none}
.ecli-i{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:var(--fg-3)}.ecli-i b{font-size:15px;color:var(--fg)}
.ecli-b{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.dstu .elw{overflow-x:auto;margin:0 -4px}
.dstu .elines{border-collapse:separate;border-spacing:0 6px}
.dstu .elines th{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-3);padding:0 6px 2px}
.dstu .elines tbody tr td{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px}
.dstu .elines tbody tr td:first-child{border-left:3px solid color-mix(in srgb,var(--k) 55%,transparent);border-radius:10px 0 0 10px}
.dstu .elines tbody tr td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}
.dstu .elines tbody tr:focus-within td{border-color:color-mix(in srgb,var(--k) 45%,var(--line))}
.dstu .elines input,.dstu .elines select,.dstu .elines textarea{padding:7px 8px;font-size:13.5px;border-color:transparent;background:transparent}
.dstu .elines input:hover,.dstu .elines select:hover,.dstu .elines textarea:hover{border-color:var(--line)}
.dstu .elines td.n{font-weight:650;padding-top:13px}
.dstu .elines [data-rm],.dstu .elines [data-srm]{border:0;background:none;color:var(--fg-3);font-size:18px;min-height:0;padding:4px 8px}
.dstu .elines [data-rm]:hover:not(:disabled){color:var(--bad)}
.dstu .eadd{border-style:dashed}
.dstu .bpickrow{margin-top:10px;align-items:center}.dstu .bpickrow select{width:auto!important;padding:6px 28px 6px 10px!important}
.dstu .bpick{border-radius:12px}
.dstu .bclil{border-radius:12px}
@media (max-width:720px){.ecli-t{flex-wrap:wrap}.ecli-b{flex-direction:row;align-items:center}}
.vflog{font-size:12px;color:var(--fg-2);margin:8px 0 0;padding:0;list-style:none}.vflog li{padding:3px 0;border-bottom:1px solid var(--line)}
@media (max-width:900px){.bed{grid-template-columns:1fr 1fr}.bview{grid-template-columns:1fr}.bfrm{grid-template-columns:1fr}.bfrm .f3{grid-column:1}}

/* ---------- documentos.js ---------- */
.dvp td.num,.dvp th.num{text-align:right;white-space:nowrap}.dvp td.l,.dvp th.l{text-align:left}
.dvp tr.clk{cursor:pointer}.dvp tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.dvp tr.selr td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.dvp .selc{width:34px;text-align:center}.dvp .selc input{width:16px;height:16px;cursor:pointer}
.dvp .fchips{display:flex;flex-wrap:wrap;gap:6px}.dvp .fchip{font:inherit;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:4px 11px;cursor:pointer}.dvp .fchip[aria-pressed="true"]{}
.dvp .fchips .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);align-self:center;margin-left:6px}
.dvp .erpb{font-size:11px;color:var(--fg-3);margin-top:2px;white-space:nowrap}.dvp .erpb.ok{color:var(--good)}.dvp .erpb.ko{color:var(--bad);font-weight:600}
.dvp .newm{position:relative;display:inline-block}.dvp .newm>div{position:absolute;left:0;max-width:calc(100vw - 32px);top:calc(100% + 6px);z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(16,24,40,.16);padding:6px;min-width:290px}
.dvp .newm>div[hidden]{}.dvp .newm button.it{display:flex;flex-direction:column;align-items:flex-start;width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:0;background:none;color:var(--fg);border-radius:7px;cursor:pointer;text-align:left}.dvp .newm button.it:hover{background:var(--surface-2)}.dvp .newm button.it small{color:var(--fg-3);font-size:12px}
.dvp .bulkbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border:1px solid var(--accent);padding:8px 12px;margin-bottom:10px;box-shadow:0 6px 18px rgba(16,24,40,.1)}.dvp .bulkbar .sp{flex:1}
/* 2.150.27: en la barra oscura de la selección, el botón principal («Publicar») se veía como texto suelto: lleva su borde */
.dvp .bulkbar .btn.primary{box-shadow:inset 0 0 0 1.5px currentColor;font-weight:700}
.dvp tfoot td{font-weight:700;border-top:2px solid var(--line)}
.dvp .drafts{border:1px dashed var(--line);border-radius:10px;font-size:13px}.dvp .drafts b{margin-right:6px}.dvp .drafts button{margin:4px 6px 0 0}
.dvp .drop{border:2px dashed var(--line);border-radius:10px;text-align:center;color:var(--fg-2);cursor:pointer}.dvp .drop.on{border-color:var(--accent);background:var(--surface-2)}
.dvp .ctx{font-size:12.5px;color:var(--fg-3);margin:2px 0 10px}
.dvp>.panel.wide{padding:0 12px!important;border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important}
.dvp{position:relative}
.dvp .dropov{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:2px dashed var(--accent);border-radius:12px}
.dvp .dropov[hidden]{}
.dvp .hdraft{height:32px;padding:0 10px;font-size:12.5px;color:var(--warn,#a86400);border-color:color-mix(in srgb,var(--warn,#a86400) 40%,var(--line))}
.dvp .newm .it small{display:block}
.wbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 8px}
.wbar .wl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
.wbar input[type=date],.wbar .wsel{font:inherit;font-size:12.5px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);height:30px}
.wbar .btn{height:30px;padding:0 11px;display:inline-flex;align-items:center;gap:6px}
.wbar .btn.ghost{background:transparent}
.wbar .wsep{width:1px;height:20px;background:var(--line);margin:0 2px}
.wbar .fchip{padding:3px 10px;font-size:12px}
.dvp .nmco{display:flex;flex-direction:column;gap:4px;padding:6px 10px 10px;margin:0 0 4px;border-bottom:1px solid var(--line);font-size:12px;color:var(--fg-3)}.dvp .nmco select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}.dvp .nmco small{font-size:11.5px}
.wbar .wconn{font-size:11.5px;font-weight:600;color:var(--good);border:1px solid color-mix(in srgb,var(--good) 35%,var(--line));border-radius:999px;padding:2px 8px}
.dvp .drafts{padding:6px 10px;margin:0 0 8px}.dvp .drafts .btn{padding:2px 8px;font-size:12px}
.dvp .drop{padding:7px;margin:0 0 8px;font-size:12.5px}

/* ---------- contabilidad.js ---------- */
#p-acc .acct td.num,#p-acc .acct th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#p-acc .acct td.l,#p-acc .acct th.l{text-align:left}
#p-acc .acct tr.ent td{border-top:2px solid var(--line)}#p-acc .acct tr.ent:first-child td{border-top:0}
#p-acc .acct .ehd{font-weight:700}#p-acc .acct .jr{font-size:10.5px;font-weight:700;letter-spacing:.04em;border-radius:4px;padding:1px 6px;background:var(--surface-2);color:var(--fg-2)}
#p-acc .acct tr.tot td{font-weight:700;border-top:2px solid var(--ink,var(--fg))}
#p-acc .acct tr.sub td{font-weight:700;background:var(--surface-2)}
#p-acc .acct tr.det td{color:var(--fg-2);font-size:12.5px}#p-acc .acct tr.det td:first-child{padding-left:28px}
#p-acc .acct a.acl{cursor:pointer;color:var(--accent);text-decoration:none}#p-acc .acct a.acl:hover{text-decoration:underline}
#p-acc .acct tr.clk{cursor:pointer}#p-acc .acct tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
#p-acc .st{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
#p-acc .st.ok{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}#p-acc .st.no{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}#p-acc .st.pt{color:#a86f00;background:color-mix(in srgb,var(--st-warn) 14%,transparent)}
.accdlg table{width:100%}.accdlg .pyg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.accdlg .pyg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.accdlg .pyg .w{grid-column:1/-1}@media (max-width:560px){.accdlg .pyg{grid-template-columns:1fr}}.accdlg td{padding:3px 4px}.accdlg input{width:100%;box-sizing:border-box}.accdlg .num input{text-align:right}
.accdlg .sumrow{display:flex;gap:16px;justify-content:flex-end;margin-top:6px;font-size:13px}.accdlg .bad{color:var(--bad)}.accdlg .ok{color:var(--good)}
#p-acc .fchips{display:flex;flex-wrap:wrap;gap:6px}.fchip{font:inherit;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:4px 11px;cursor:pointer}.fchip:hover{border-color:var(--fg-3)}.fchip[aria-pressed="true"]{}
#p-acc .selc{width:34px;text-align:center}#p-acc .selc input{width:16px;height:16px;cursor:pointer}#p-acc tr.selr td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
#p-acc a.pname{color:inherit;text-decoration:none;cursor:pointer}#p-acc a.pname:hover{color:var(--accent);text-decoration:underline}
.bulkbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border:1px solid var(--accent);padding:8px 12px;margin-bottom:10px;box-shadow:0 6px 18px rgba(16,24,40,.1)}.bulkbar .sp{flex:1}
#p-acc tfoot td{font-weight:700;border-top:2px solid var(--line)}
#p-acc .accnodb{padding:28px 8px;text-align:center}#p-acc .accnodb p{max-width:640px;margin:8px auto}

/* ---------- fiscal.js ---------- */
.fsc .fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:6px 0}.fsc .fgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.fsc .fgrid label.w{grid-column:1/-1}
.fsc .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media (max-width:900px){.fsc .two{grid-template-columns:1fr}}
.fsc .res{font:500 26px/1.2 var(--font-display,inherit);margin:4px 0 10px}.fsc .res.neg{color:var(--bad)}
.fsc table.lines td.n,.fsc table.lines th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fsc .ftools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.fadlg .tdlg{max-width:720px;width:calc(100vw - 32px)}
.fcwrap{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow-x:auto}.fcwrap table{width:100%;table-layout:fixed}.fcwrap td{vertical-align:top!important;white-space:normal!important}
.fcco{display:flex;flex-wrap:wrap;gap:4px}.fcco label{display:inline-flex;align-items:center;gap:4px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:1px 9px 1px 5px;cursor:pointer;white-space:nowrap}
.fcco label input{margin:0}.fcco label.ok{background:color-mix(in srgb,var(--good) 12%,transparent);border-color:color-mix(in srgb,var(--good) 35%,transparent);color:var(--good)}.fcco label.maybe{color:var(--fg-3);border-style:dashed}

/* ---------- impuestos.js ---------- */
.txs .ftools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.txs .kp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 14px}@media (max-width:900px){.txs .kp{grid-template-columns:repeat(2,minmax(0,1fr))}}
.txs .kp>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}.txs .kp small{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
.txs .kp b{display:block;font:500 22px/1.25 var(--font-display,inherit);margin-top:2px}.txs .kp b.neg{color:var(--bad)}.txs .kp b.pos{color:var(--good)}.txs .kp em{font-style:normal;font-size:12px;color:var(--fg-2)}
.txs .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width:1000px){.txs .cols{grid-template-columns:1fr}}
.txs h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);margin:14px 0 6px;font-weight:600}
.txs table.cas{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.txs table.cas td{white-space:normal}.txs table.cas td,.txs table.cas th{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left}
.txs table.cas th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);font-weight:600}
.txs table.cas td.n,.txs table.cas th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.txs table.cas td.c{width:46px;color:var(--fg-3);font-variant-numeric:tabular-nums}
.txs table.cas tr.tot td{font-weight:600;border-top:1.5px solid var(--fg);border-bottom:0}.txs table.cas tr.res td{font-weight:600;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.txs a.cv{color:inherit;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.txs a.cv:hover{color:var(--accent)}
.txs tr.on td{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.txs .drill{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:10px;padding:8px 12px;margin:8px 0 4px;background:var(--surface)}
.txs .drill td,.txs .drill th{text-align:left!important}.txs .drill td:last-child,.txs .drill th:last-child{text-align:right!important;white-space:nowrap}
.txs .drill h4{margin:2px 0 6px;font-size:13px;display:flex;gap:8px;align-items:center}.txs .drill h4 span{flex:1}
.txs .kp.kp5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.txs .kp.kp5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.txs .sutab td,.txs .sutab th,.txs .sulist td,.txs .sulist th{text-align:left}.txs .sutab .n,.txs .sulist .n{text-align:right;white-space:nowrap}.txs .sucell{color:inherit;text-decoration:none;border-bottom:1px dotted var(--fg-3)}.txs .sucell.est{font-style:italic}.txs .sud{display:inline-block;width:14px;margin-left:4px;font-size:11px;color:var(--fg-3);text-align:center}.txs .sud.ok{color:var(--good)}.txs .sud.due{color:var(--bad);font-weight:700}.txs .sud.soon{color:var(--warn,#b7791f);font-weight:700}.txs .sulist tbody tr:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.txs .txdocs td,.txs .txdocs th{text-align:left}.txs .txdocs .n{text-align:right;white-space:nowrap}.txs .txdocs tr.tot td{font-weight:600;border-top:1px solid var(--line)}
.txs .warn{border:1px solid color-mix(in srgb,var(--warn,#8A5A00) 35%,var(--line));background:color-mix(in srgb,var(--warn,#8A5A00) 6%,var(--surface));border-radius:10px;padding:8px 12px;margin:0 0 12px}
.txs .warn summary{cursor:pointer;font-weight:600;font-size:13px}.txs .warn ul{margin:6px 0 2px;padding-left:18px;font-size:12.5px}.txs .warn li{margin:2px 0}
.txs .st{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;border:1px solid var(--line);white-space:nowrap}.txs .st.ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}
.txs .st.due{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.txs .st.soon{color:var(--warn,#8A5A00)}
.txs table.ovw{width:100%;border-collapse:collapse;font-size:13px}.txs table.ovw td,.txs table.ovw th{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.txs table.ovw th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);font-weight:600}.txs table.ovw td.p{cursor:pointer}.txs table.ovw td.p:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.txs table.ovw td.p small{display:block;color:var(--fg-3);font-size:11.5px}
.txcfg table{width:100%;border-collapse:collapse;font-size:13px}.txcfg td,.txcfg th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.txcfg th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}
.txs .isd{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:14px 0 4px;background:var(--surface)}.txs .isd h3{margin-top:2px}
.txs .isd table{width:100%;border-collapse:collapse;font-size:13px}.txs .isd td,.txs .isd th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.txs .isd th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);font-weight:600}
.txs .isd input:not([type=checkbox]),.txs .isd select,.txs .isd textarea{border:1px solid var(--line);padding:4px 8px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;box-sizing:border-box}.txs .isd input[type=number]{width:130px;text-align:right}.txs .isd input::placeholder,.txs .isd textarea::placeholder{text-align:left;color:var(--fg-3)}.txs .isd input.nm{width:100%}.txs .isd .g{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 14px;margin:8px 0}
.txs .isd .g label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--fg-2)}.txs .isd .g label input,.txs .isd .g label textarea{width:100%}.txs .isd .brow{display:flex;gap:8px;align-items:center;margin-top:8px}
.txcfg td.ck{text-align:center;width:90px}.txcfg th.ck{text-align:center}.txcfg small{color:var(--fg-3)}

/* ---------- gastos.js ---------- */
.gxt td.ck,.gxt th.ck{width:28px;text-align:center}
.gxt tr.sel td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.gxt .ojr{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:2px 6px;white-space:nowrap;color:var(--fg-2);background:var(--surface-2)}
.gxt .ojr.inv{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.gxt tr.r-none td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.gxt tr.r-ok td:first-child{box-shadow:inset 3px 0 0 var(--good)}
.gxt .cov{display:flex;align-items:center;gap:8px;justify-content:flex-end}.gxt .cov .pbar{width:70px;margin:0}
.gxbulk{flex-direction:column;align-items:stretch;gap:8px;position:sticky;bottom:0;z-index:5;background:var(--surface);box-shadow:0 -6px 18px rgba(0,0,0,.08)}
.gxbulk .dedit{max-height:40vh;overflow:auto}
.gxt .sugc{font-size:11px;color:var(--accent-ink,var(--accent))}

/* ---------- buzon.js ---------- */
.ibxwrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.ibxt{width:100%}
.ibxt td,.ibxt th{text-align:left;vertical-align:top;white-space:normal}.ibxt td{max-width:none!important;overflow:visible!important}.ibxt .n{text-align:right;white-space:nowrap}.ibxt .ac{white-space:nowrap;text-align:right}.ibxt .ac .btn{padding:3px 9px;font-size:12px;margin-left:4px}
.ibxt small{display:block;color:var(--fg-2);font-size:11.5px}.ibxt select{font:inherit;font-size:12.5px;max-width:200px}
.ibxbox{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 10px;background:var(--surface)}.ibxbox b{font-weight:600}.ibxbox .sp{flex:1}.ibxbox .ok{color:var(--good)}.ibxbox .bad{color:var(--bad)}
.ibxbox .wplay{min-width:86px;font-weight:600}.ibxbox .wplay.on{background:color-mix(in srgb,var(--good) 12%,var(--surface));border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.wst{font-weight:600;color:var(--fg-3)}.wst.ok{color:var(--good)}.wst.warn{color:var(--warn,#8A5A00)}
.ibxset{border:1px dashed var(--accent);border-radius:12px;padding:16px;margin:0 0 12px}.ibxset h3{margin:0 0 6px;font-size:15px}
.ibxai{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:4px;padding:0 5px;margin-right:4px;vertical-align:1px}
.ibxf{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center}.ibxf input,.ibxf select{width:100%}

/* ---------- buzon.js ---------- */
.ibxrev .rvnav{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--fg-2)}.ibxrev .rvnav .btn{min-height:28px;width:30px;padding:0}
.ibxrev .ed-of input.n{text-align:right;font-variant-numeric:tabular-nums}
.ibxrev .rvfo{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg-2);margin-right:auto}.ibxrev .rvfo input{width:auto}
.ibxrev .dstu-f .msg{flex:1}.ibxrev .dstu-f .msg .btn{min-height:26px;margin-left:6px}
.ibxrev .rvnote{font-size:12px;color:var(--fg-3);margin:10px 0 0}
.ibxrev .ed-anab{font:inherit;font-size:13px;text-align:left;background:none;border:0;padding:4px 2px;width:100%;cursor:pointer;color:var(--fg)}
.ibxrev .ed-anab:hover{color:var(--k)}
.ibxrev .rvkbd{font-size:11px;color:var(--fg-3);white-space:nowrap}
@media (max-width:900px){.ibxrev .rvkbd{display:none}}

/* ---------- aprobaciones.js ---------- */
.aprwrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.aprt{width:100%}
.aprt td,.aprt th{white-space:nowrap}.aprt td.l{white-space:normal;min-width:160px}.aprt td small{display:block;color:var(--fg-3);font-size:11.5px}
.aprt td.n,.aprt th.n{text-align:right}.aprt td.act{text-align:right}.aprt td.act .btn{margin-left:4px}
.aprst{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px}.aprst.pending{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.aprst.approved{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.aprst.rejected{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.aprempty{border:1px dashed var(--accent);border-radius:12px;padding:16px;margin:0 0 12px}.aprempty h3{margin:0 0 6px;font-size:15px}
.aprcfg{display:grid;gap:12px}.aprco{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.aprco h4{margin:0 0 8px;font-size:13.5px;display:flex;gap:8px;align-items:center}
.aprco .g{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;align-items:center;font-size:13px}.aprco .us{display:flex;flex-wrap:wrap;gap:4px 12px}
.aprco[data-off] .g{opacity:.45;pointer-events:none}

/* ---------- cashflow.js ---------- */
.cfbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 8px}
.cfopt{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:10px 12px;margin:0 0 10px;border:1px dashed var(--line);border-radius:8px;font-size:12.5px;color:var(--fg-2)}
.cfopt label{display:flex;gap:8px;align-items:center}.cfopt select{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.cfk{margin:6px 0 12px}
.cft{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
.cft th,.cft td{padding:7px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);font-size:12.5px}
.cft thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);vertical-align:bottom}
.cft thead th small{display:block;font-size:10px;text-transform:none;letter-spacing:0;color:var(--fg-3);font-weight:400}
.cft th:first-child,.cft td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1;min-width:210px;max-width:260px;white-space:normal}
.cft thead th:first-child{z-index:3}
.cft td.c{cursor:pointer}.cft td.c:hover{background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--accent)}
.cft tr.in td:first-child{box-shadow:inset 3px 0 0 var(--good)}.cft tr.out td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.cft tr.so td:first-child{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--good) 45%,transparent)}
.cft tr.so td{background:color-mix(in srgb,var(--good) 5%,transparent)}
.cft tr.sum td{font-weight:700;background:var(--surface-2)}
.cft tr.bal td{font-weight:700;border-top:2px solid var(--fg);font-size:13px}
.cft tr.sec td{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);background:transparent;border-bottom:0;padding-top:12px}
.cft td.neg,.cft .neg{color:var(--bad)}.cft td.pos{color:var(--good)}
.cft td.z{color:var(--fg-3)}
.cft td.tot{border-left:1px solid var(--line);font-weight:600}
.cft .rk{display:block;font-size:11px;color:var(--fg-3);font-weight:400}
.cft td.low{outline:2px solid var(--bad);outline-offset:-2px}
.cfso .so-old td{opacity:.6}
.cfso .chipx{font-size:10.5px;font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap}
.chipx.in{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.chipx.old{color:var(--fg-3);background:var(--surface-2)}.chipx.late{color:var(--st-warn);background:color-mix(in srgb,var(--st-warn) 18%,transparent)}.chipx.intra{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.cfd h4{margin:14px 0 6px}
.segbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-2);min-width:90px;margin-top:4px}.segbar i{display:block;height:100%}
.s-col{background:var(--good)}.s-tc{background:var(--st-warn)}.s-tb{background:color-mix(in srgb,var(--fg-3) 45%,transparent)}
.seglg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--fg-2);margin:6px 0 4px}.seglg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.cfd .lines td,.cfd .lines th{font-size:12.5px}
.cfmini{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:10px}.cfmini div{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.cfmini span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3)}.cfmini b{font-size:16px}

/* ---------- bancos.js ---------- */
#p-bk .phead:has(+.ttbar) h2{display:none} /* 2.170.0: los botones se quedan a la vista; el título ya lo pone la barra */
.bclogo{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:6px;border-radius:3px}
.bkpick .tdlg{max-width:640px;width:calc(100vw - 32px)}.bkpick .bprow{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.bkpick label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.bkpick .bpq{flex:1;min-width:200px}
.bkpick select,.bkpick input{font:inherit;font-size:13.5px;padding:7px 9px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.bkpick .bplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;max-height:min(52vh,460px);overflow:auto;padding:2px}
.bkpick .bpb{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);cursor:pointer}
.bkpick .bpb:hover,.bkpick .bpb:focus{border-color:var(--accent);outline:0}.bkpick .bpb img,.bkpick .bpn{width:28px;height:28px;object-fit:contain;flex:none;border-radius:4px;background:var(--surface-2)}
.bkpick .bpb small{display:block;font-size:11px;color:var(--fg-3)}
.bkt tr.acc{cursor:pointer}.bkt tr.acc.bksel>td{background:color-mix(in srgb,var(--accent) 9%,transparent)}.bkt tr.acc.bksel>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.bkt td.ac .btn+.btn{margin-left:4px}.bkstar{border:0;background:none;cursor:pointer;color:var(--fg-3);font-size:14px;padding:0 6px 0 0;line-height:1}.bkstar.on{color:var(--st-warn)}.bkstar.big{font-size:22px;padding:0 4px 0 0}.bkfi{padding:0}.bkfi .tdlg{max-width:none;width:100vw;height:100vh;height:100dvh;max-height:none;border:0}.bkfi .tdlg-b{flex:1;overflow:auto;padding:20px clamp(16px,3vw,40px)}.bkfi .tdlg-f{padding:12px clamp(16px,3vw,40px)}.bkfh{display:flex;gap:10px;align-items:flex-start}.bkfk{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:14px 0 12px}.bkfk .k{background:var(--bg);padding:10px 12px}.bkfk .l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-weight:700}.bkfk .v{font-size:16px;font-weight:600;margin-top:4px;white-space:nowrap}.bkfa{display:flex;flex-wrap:wrap;gap:8px}.bkt .bkgrip{cursor:grab;color:var(--fg-3);margin:0 8px 0 -2px;user-select:none;font-size:13px;opacity:.5}.bkt tr.acc:hover .bkgrip{opacity:1}.bkt tr.bkdrag{opacity:.45}.bkt tr.bkover td{box-shadow:inset 0 2px 0 var(--accent,#0F4C81)}.bkt tr.bkunder td{box-shadow:inset 0 -2px 0 var(--accent,#0F4C81)}.bkt tr.acc.off td{color:var(--fg-3)}
.bkt tr.acc td:first-child{box-shadow:inset 3px 0 0 var(--good)}.bkt tr.acc.warn td:first-child{box-shadow:inset 3px 0 0 var(--warn,#d89614)}.bkt tr.acc.bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.bkt .src{font-weight:700;text-transform:uppercase;padding:2px 6px;white-space:nowrap;color:var(--fg-2);}
.bkt .src.api{color:var(--accent);}
.bkt td.ac{white-space:nowrap;text-align:right}.bkt td.ac .btn{padding:2px 9px;font-size:12px;margin-left:4px}
.bkdlg .tdlg{max-width:720px;width:calc(100vw - 32px)}
.bkdlg .fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:6px 0}
.bkdlg .fgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.bkdlg .fgrid label.w{grid-column:1/-1}
.bkdlg .fgrid input,.bkdlg .fgrid select,.bkdlg .fgrid textarea{font:inherit;font-size:13px}
.bkdlg .seg3{display:flex;gap:0}.bkdlg .seg3 label{flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);padding:5px 10px;cursor:pointer;color:var(--fg)}.bkdlg .seg3 label+label{margin-left:-1px}
.bkdlg .seg3 label:has(input:checked){background:var(--fg);color:var(--surface);border-color:var(--fg)}.bkdlg .seg3 input{display:none}
.bkdlg .ro{font-size:12.5px;color:var(--fg-2);background:var(--surface-2);padding:8px 10px;margin:0 0 8px}
@media (max-width:640px){.bkdlg .fgrid{grid-template-columns:1fr}}
.bkcfg .prov{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.bkcfg .fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 12px;margin:8px 0}
.bkcfg .fgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.bkcfg textarea{min-height:90px;font-family:ui-monospace,monospace;font-size:11px}
.bkcfg code{font-size:11.5px;word-break:break-all}
.bkcfg details{margin-top:8px}.bkcfg details p,.bkcfg details li{font-size:13px}

/* ---------- conciliar.js ---------- */
.cbkbusy{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:13px}.cbkbusy[hidden]{}.cbksp{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:cbksp .8s linear infinite;flex:none}@keyframes cbksp{to{transform:rotate(360deg)}}.cbkbar{flex:1;max-width:320px;height:6px;background:var(--line);overflow:hidden;border-radius:3px;margin-left:auto}.cbkbar i{display:block;height:100%;width:30%;background:var(--accent);transition:width .3s}.cbkbar.ind i{width:30%;animation:cbkind 1.2s ease-in-out infinite}@keyframes cbkind{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}.cbkwrap.busy{opacity:.55;pointer-events:none;transition:opacity .2s}
.cbkwrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.cbkt{width:100%}.cbkt td{max-width:none!important;overflow:visible!important;text-overflow:clip!important}.cbkt .sg small{white-space:normal}.cbkt td,.cbkt th,.cbkpk td,.cbkpk th{text-align:left;vertical-align:top;white-space:normal}.cbkt td.amt,.cbkt td.ac,.cbkt td:first-child{white-space:nowrap}.cbkt .n,.cbkpk .n,.cbkt td.amt{text-align:right}.cbkt .amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cbkt .amt.in{color:var(--good)}
.cbkt .ds{max-width:420px}.cbkt .ds small{display:block;color:var(--fg-2);font-size:11.5px}
.cbkt .sg{display:flex;flex-direction:column;gap:2px}.cbkt .sg b{font-weight:600}.cbkt .sg small{color:var(--fg-2);font-size:11.5px}
.dbk .sc{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;vertical-align:1px}.dbk .sc.ok{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.dbk .sc.m{color:var(--warn,#8A5A00);background:color-mix(in srgb,var(--warn,#d89614) 15%,transparent)}.dbk table{width:100%}.dbk td{vertical-align:top}.dbk .sub{font-size:11.5px}.dbk h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.cbkt .sc{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px}
.cbkt .sc.ok{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.cbkt .sc.m{color:var(--warn,#8A5A00);background:color-mix(in srgb,var(--warn,#d89614) 15%,transparent)}
.cbkt .ac{white-space:nowrap;text-align:right}.cbkt .ac .btn{padding:3px 9px;font-size:12px;margin-left:4px}
.cbkt tr.on>td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.cbkdlg .tdlg{max-width:980px;width:calc(100vw - 32px)}.cbkdlg .sumrow{position:sticky;bottom:-14px;background:var(--surface);padding:10px 0;border-top:1px solid var(--line);z-index:2}
.cbkpk{display:flex;flex-direction:column;gap:8px}.cbkpk table{width:100%}.cbkpk td,.cbkpk th{padding:5px 8px;font-size:13px}.cbkpk tr.sel td{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.cbkpk input[type=number]{width:110px}.cbkpk .sumrow{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:13px}.cbkpk .sumrow b.ok{color:var(--good)}.cbkpk .sumrow b.bad{color:var(--bad)}
.cbkt .st{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}.cbkt .st.ok{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.cbkt .st.ig{color:var(--fg-2);background:var(--surface-2)}
.cbkchip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px;font-size:13px}.cbkchip b{font-weight:600}.cbkchip .btn{padding:3px 10px;}
.cbkdrop{border:2px dashed var(--accent);border-radius:12px;padding:26px;text-align:center;color:var(--accent);font-weight:600;margin:8px 0}

/* ---------- remesas.js ---------- */
#p-rem td.num,#p-rem th.num{text-align:right;white-space:nowrap}#p-rem td.l,#p-rem th.l{text-align:left}
#p-rem tr.clk{cursor:pointer}#p-rem tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
#p-rem .rhead{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;margin:6px 0 14px}
#p-rem .rhead label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}#p-rem .rhead .w2{grid-column:span 2}
@media (max-width:900px){#p-rem .rhead{grid-template-columns:1fr 1fr}}@media (max-width:560px){#p-rem .rhead{grid-template-columns:1fr}#p-rem .rhead .w2{grid-column:auto}}
#p-rem h3{font-size:15px;margin:18px 0 8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}#p-rem h3 small{font-weight:500;color:var(--fg-3);font-size:12.5px}
#p-rem .rt{width:100%;border-collapse:collapse;font-size:13px}#p-rem .rt th{font-size:11.5px;font-weight:600;color:var(--fg-3);padding:6px;border-bottom:1px solid var(--line);background:var(--surface-2)}
#p-rem .rt td,#p-rem .rt th{text-align:left!important}#p-rem .rt td.num,#p-rem .rt th.num{text-align:right!important}#p-rem .rt td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:middle}#p-rem .rt td.c{width:30px;text-align:center}
#p-rem .rt input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;padding:4px 6px}#p-rem .rt input.amt{text-align:right;max-width:110px}#p-rem .rt input.ib{min-width:220px;font-family:var(--font-data,monospace);font-size:12px}#p-rem .rt input.bc{max-width:110px;font-family:var(--font-data,monospace);font-size:12px}
#p-rem .rt input.bad{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}#p-rem .rt tr.off td{opacity:.55}#p-rem .rt tr.on td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
#p-rem .rt .src{color:var(--fg-3)}#p-rem .rt .tiny{font-size:11.5px;color:var(--fg-3)}
#p-rem .rbar{position:sticky;bottom:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;margin-top:16px;box-shadow:0 -6px 18px rgba(16,24,40,.06)}
#p-rem .rbar .sp{flex:1}#p-rem .rbar b{font-size:16px;font-variant-numeric:tabular-nums}
#p-rem .fchips{display:flex;flex-wrap:wrap;gap:6px}#p-rem .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}#p-rem .fchip[aria-pressed="true"]{}
#p-rem .dl{display:grid;grid-template-columns:170px 1fr;gap:6px 12px;font-size:13.5px;margin:4px 0 14px}#p-rem .dl dt{color:var(--fg-3)}#p-rem .dl dd{margin:0}
#p-rem .note{background:var(--surface-2);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--fg-2);margin:8px 0}
#p-rem .back{font:inherit;font-size:13px;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;margin-bottom:6px}
@media (max-width:640px){#p-rem .bulkhide{display:none}}
.remdlg label{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:13px}.remdlg .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.remdlg .grid2 label{flex-direction:column;align-items:stretch;gap:4px;font-size:12px;color:var(--fg-2)}

/* ---------- taquilla.js ---------- */
#p-taq .phead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
#p-taq .tqbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
#p-taq .tqpk{position:relative;display:inline-block}
#p-taq .tqpk input{min-width:340px;font:inherit;padding:5px 8px}
#p-taq .tqpl{position:absolute;left:0;top:calc(100% + 4px);z-index:30;min-width:100%;width:max-content;max-width:520px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:4px;display:flex;flex-direction:column}
#p-taq .tqpl[hidden]{}
#p-taq .tqpi{display:flex;justify-content:space-between;gap:16px;text-align:left;font:inherit;font-size:13px;color:var(--fg);background:none;border:0;border-radius:6px;padding:7px 8px;cursor:pointer}
#p-taq .tqpi:hover,#p-taq .tqpi.on{background:var(--surface-2)}
#p-taq .tqbar .sp{flex:1}
#p-taq td.num,#p-taq th.num{text-align:right;white-space:nowrap}
#p-taq .warn{color:var(--bad,#B3261E);font-size:12.5px}
#p-taq .muted{color:var(--fg-3)}
#p-taq a.lk{color:var(--link,#0F4C81);cursor:pointer}
.taqdlg label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--fg-2);margin:0 0 10px}
.taqdlg input,.taqdlg select{font:inherit;padding:6px 8px}

/* ---------- justificacion.js ---------- */
#p-jus .jtabs{display:flex;gap:6px;margin:0 0 14px;border-bottom:1px solid var(--line)}#p-jus .jtabs button{font:inherit;font-size:13.5px;background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;color:var(--fg-2);cursor:pointer}#p-jus .jtabs button[aria-selected="true"]{color:var(--fg);border-color:var(--accent);font-weight:600}
#p-jus .jf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;margin:0 0 12px}#p-jus .jf label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}#p-jus .jf .w2{grid-column:span 2}#p-jus .jf .chk{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--fg)}
#p-jus .jf input,#p-jus .jf select{font:inherit;font-size:13px}
#p-jus .jach{display:flex;flex-wrap:wrap;gap:4px}#p-jus .jach:empty{display:none}#p-jus .jchip{display:inline-flex;align-items:center;gap:4px;font-size:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--fg);border-radius:999px;padding:2px 4px 2px 9px}#p-jus .jchip button{border:0;background:none;color:var(--fg-2);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}
@media (max-width:900px){#p-jus .jf{grid-template-columns:1fr 1fr}}@media (max-width:560px){#p-jus .jf{grid-template-columns:1fr}#p-jus .jf .w2{grid-column:auto}}
#p-jus .jbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:4px 0 12px}#p-jus .jbar .sp{flex:1}
#p-jus table.jt{width:100%;border-collapse:collapse;font-size:13px}#p-jus .jt th{font-size:11.5px;font-weight:600;color:var(--fg-3);padding:6px;border-bottom:1px solid var(--line);background:var(--surface-2);text-align:left;white-space:nowrap}
#p-jus .jt td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}#p-jus .jt td.num,#p-jus .jt th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
#p-jus .jt tr.clk{cursor:pointer}#p-jus .jt tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}#p-jus .jt tfoot td{font-weight:700;border-top:2px solid var(--fg)}
#p-jus .jt .sub{display:block;font-size:11.5px;color:var(--fg-3)}#p-jus .jt td:nth-child(3),#p-jus .jt td:nth-child(4){max-width:230px;white-space:normal;overflow-wrap:anywhere}#p-jus .jt td:nth-child(5){max-width:170px}#p-jus .jt td:nth-child(2){white-space:nowrap}#p-jus .jt .lk{display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
#p-jus .jt .lk button,#p-jus .jt .lk a{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:2px 7px;cursor:pointer;text-decoration:none}
#p-jus .note{background:var(--surface-2);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--fg-2);margin:8px 0}
#p-jus td.c,#p-jus th.c{width:28px;text-align:center}

/* ---------- catalogo.js ---------- */
#p-cat td.num,#p-cat th.num{text-align:right;white-space:nowrap}#p-cat td.l,#p-cat th.l{text-align:left}
#p-cat tr.clk{cursor:pointer}#p-cat tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
#p-cat tr.off td{opacity:.55}
#p-cat .cchip,.catdlg .cchip{display:inline-block;font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:0 8px;margin:1px 3px 1px 0;color:var(--fg-2);white-space:nowrap;background:var(--surface)}
#p-cat .cchip.all,.catdlg .cchip.all{border-style:dashed;color:var(--fg-3)}#p-cat .cchip.more{color:var(--fg-3)}
#p-cat .cst{font-size:11.5px;color:var(--fg-3)}#p-cat .cst.ok{color:var(--good,#1a7f37)}
#p-cat .catsy{font-size:12px;margin-top:8px}
.cosp{display:flex;flex-wrap:wrap;gap:6px}.cosc{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:4px 11px;cursor:pointer}
.cosc[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.cosc.cosall{border-style:dashed}.cosc.cosall[aria-pressed="true"]{border-style:solid}.cosc[hidden]{}
#p-cat .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}
#p-cat .ftools input[type=search]{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);min-width:240px;background:var(--surface);color:var(--fg)}
#p-cat .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
#p-cat .fchips{display:flex;flex-wrap:wrap;gap:6px}#p-cat .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}#p-cat .fchip[aria-pressed="true"]{}
#p-cat .sub{font-size:11.5px;color:var(--fg-3)}#p-cat .mono{font-family:var(--font-data,monospace);font-size:12px}
#p-cat .ebadge{display:inline-block;font-size:11px;border-radius:999px;padding:1px 7px;margin:1px 3px 1px 0;border:1px solid var(--line);color:var(--fg-2);white-space:nowrap}
#p-cat .ebadge.ok{border-color:color-mix(in srgb,var(--good,#1a7f37) 40%,transparent);color:var(--good,#1a7f37)}#p-cat .ebadge.ko{border-color:var(--bad);color:var(--bad)}#p-cat .ebadge.pend{}
#p-cat .syncs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
#p-cat .sync{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12.5px;background:var(--surface);min-width:220px}
#p-cat .sync b{font-size:13px}#p-cat .sync .ko{color:var(--bad)}
@media (max-width:640px){#p-cat .ftools input[type=search]{min-width:0;width:100%}}
.catdlg .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.catdlg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.catdlg label.ck{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg)}
.catdlg .w2{grid-column:span 2}.catdlg .w4{grid-column:1/-1}
.catdlg input,.catdlg select,.catdlg textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;width:100%;min-width:0;box-sizing:border-box}
.catdlg input[type=checkbox],.catdlg input[type=radio]{width:auto;flex:none}
.catdlg h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin:16px 0 8px;font-weight:600}
.catdlg .mg{font-size:13px;padding:8px 10px;border-radius:8px;background:var(--surface-2);grid-column:span 2;align-self:end}
.catdlg .cos{display:flex;flex-wrap:wrap;gap:4px 14px}
.catdlg table{width:100%;border-collapse:collapse;font-size:13px}.catdlg td,.catdlg th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.catdlg th{font-size:11px;color:var(--fg-3);font-weight:600}
.catdlg .erp{font-size:12.5px;color:var(--fg-2)}.catdlg .erp .ko{color:var(--bad)}
.catdlg-bk .tdlg{max-width:860px;width:calc(100vw - 32px)}
@media (max-width:720px){.catdlg .g{grid-template-columns:1fr 1fr}.catdlg .mg{grid-column:1/-1}}

/* ---------- rrhh.js ---------- */
.hrp td.num,.hrp th.num{text-align:right;white-space:nowrap}.hrp td.l,.hrp th.l{text-align:left}.hrp tr.clk{cursor:pointer}.hrp tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.hrp .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}.hrp .ftools input[type=search],.hrp .ftools select,.hrp .ftools input[type=month]{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
.hrp .fchips{display:flex;flex-wrap:wrap;gap:6px}.hrp .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}.hrp .fchip[aria-pressed="true"]{}
.hrp .sub,.hrf .sub{font-size:11.5px;color:var(--fg-3)}.hrp .avatar,.hrf .avatar{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;font-weight:700;font-size:11.5px;margin-right:8px;vertical-align:middle;flex:none}
.hrp .who{display:flex;align-items:center}
.hrp .daytab td,.hrp .daytab th,.hrf .daytab td,.hrf .daytab th{text-align:left}.hrp .daytab td.num,.hrp .daytab th.num,.hrf .daytab td.num,.hrf .daytab th.num{text-align:right}.hrp .cards .card{text-align:left}
.hrf .ev{display:inline-block;font-size:11.5px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;margin:1px 3px 1px 0;white-space:nowrap}.hrf .ev.c{border-style:dashed}.hrf .inc{color:var(--bad);font-size:11.5px}.hrf .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 12px}.hrf .ftools input,.hrf .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}.hrp .card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.hrp .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.hrp .card b{font-size:14px}
.hrp .pendbox{border:1px solid color-mix(in srgb,#f5b700 50%,var(--line));background:color-mix(in srgb,#f5b700 7%,var(--surface));border-radius:12px;padding:10px 14px;margin:0 0 14px}
.hrp .pendbox .row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.hrp .pendbox .row:last-child{border:0}.hrp .pendbox .row .sp{flex:1}
.hrp .gantt{overflow:auto;border:1px solid var(--line);border-radius:10px}.hrp .gantt table{border-collapse:collapse;font-size:11.5px;min-width:100%}.hrp .gantt th,.hrp .gantt td{border:1px solid var(--line);padding:0;height:24px;min-width:24px;text-align:center}
.hrp .gantt th.n,.hrp .gantt td.n{text-align:left;padding:0 8px;white-space:nowrap;position:sticky;left:0;background:var(--surface);z-index:1;min-width:170px;font-size:12.5px}.hrp .gantt .we{background:var(--surface-2)}.hrp .gantt .hol{background:color-mix(in srgb,var(--st-bad) 10%,var(--surface))}.hrp .gantt .tod{box-shadow:inset 0 0 0 2px var(--accent)}
.hrp .gantt td.ab{color:#fff;font-weight:700;font-size:10px}.hrp .gantt td.ab.p{opacity:.55;background-image:repeating-linear-gradient(45deg,transparent 0 4px,rgba(255,255,255,.35) 4px 8px)}
.hrp .org{overflow:auto;padding:10px 0}.hrp .org ul{list-style:none;margin:0;padding-left:26px;position:relative}.hrp .org>ul{padding-left:0}.hrp .org li{position:relative;padding:6px 0 6px 0}
.hrp .org ul ul li::before{content:"";position:absolute;left:-16px;top:0;bottom:50%;border-left:1px solid var(--line);border-bottom:1px solid var(--line);width:14px}.hrp .org ul ul li:not(:last-child)::after{content:"";position:absolute;left:-16px;top:50%;bottom:0;border-left:1px solid var(--line)}
.hrp .org .node{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:6px 12px;background:var(--surface);cursor:pointer}.hrp .org .node:hover{border-color:var(--accent)}.hrp .org .node small{color:var(--fg-3)}
.hrp .daytab td{vertical-align:top}.hrp .daytab tr.we td{background:var(--surface-2)}.hrp .ev{display:inline-block;font-size:11.5px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;margin:1px 3px 1px 0;white-space:nowrap}.hrp .ev.c{border-style:dashed}
.hrp .inc{color:var(--bad);font-size:11.5px}.hrp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:900px){.hrp .grid2{grid-template-columns:1fr}}
.hrd .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.hrd label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.hrd label.ck{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg)}
.hrd .w2{grid-column:span 2}.hrd .w4{}.hrd input,.hrd select,.hrd textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;width:100%;min-width:0;box-sizing:border-box}.hrd input[type=checkbox],.hrd input[type=radio]{width:auto}
.hrgf{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.hrgf label{display:flex;gap:6px;align-items:center}.hrgf select{width:auto;max-width:320px}
.hgw{overflow-x:auto;border:1px solid var(--line);background:var(--surface,#fff)}.hgg{position:relative;min-width:980px;--hgn:230px}.hgr{display:grid;grid-template-columns:var(--hgn) 1fr;border-bottom:1px solid var(--line);min-height:40px}.hgr:last-of-type{border-bottom:0}.hgr .hgn{padding:6px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-width:0}.hgr .hgn .pjn{background:none;border:0;padding:0;font:inherit;font-weight:600;font-size:13px;color:var(--fg);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hgr .hgn .pjn:hover{color:var(--accent,#0F4C81);text-decoration:underline}.hgr .hgn small{font-size:11.5px;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hgt{position:relative;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100%/24) 100%}.hgh{position:sticky;top:0;z-index:2;background:var(--surface,#fff);min-height:30px}.hgh .hgn{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}.hgh .hgt span{position:absolute;top:8px;font-size:11px;color:var(--fg-3);transform:translateX(4px)}.hgr.off{background:var(--surface-2,#F4F3EF)}.hgr.off .hgt{background-color:var(--surface-2,#F4F3EF)}.hgoff{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--fg-3);font-style:italic}.hgb{position:absolute;top:8px;bottom:8px;margin-left:1px;border-radius:3px;--st:var(--st-info);background:color-mix(in srgb,var(--st) 8%,var(--bg));color:var(--st);font-size:11.5px;font-weight:600;line-height:22px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st) 40%,var(--bg))}.hgb.on{--st:var(--st-ok)}.hgb.miss{--st:var(--st-bad)}.hgb.pa{background:repeating-linear-gradient(45deg,#F4F3EF,#F4F3EF 4px,#E6E4DE 4px,#E6E4DE 8px);color:var(--fg-3);font-weight:500}/* 2.360.0: fichajes por Día, Semana y Mes; tramos editables */
.hgsc{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-right:6px}.hgsc button{font:inherit;font-size:12.5px;border:0;background:var(--surface,#fff);color:var(--fg-2);padding:5px 12px;cursor:pointer}.hgsc button+button{border-left:1px solid var(--line)}.hgsc button.on{background:var(--ink,#141414);color:var(--surface,#fff)}
.hgb em{font-style:normal}.hgb.ed{cursor:pointer;overflow:visible}.hgb.ed em{display:block;overflow:hidden;text-overflow:ellipsis}.hgb.ed:hover{box-shadow:inset 0 0 0 1.5px var(--st)}.hgb.drag{z-index:4;box-shadow:0 0 0 2px var(--st)}
.hgk{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2;touch-action:none}.hgk.a{left:-3px}.hgk.b{right:-3px}.hgk::after{content:"";position:absolute;top:30%;bottom:30%;left:3px;width:2px;border-radius:1px;background:var(--st);opacity:0}.hgb.ed:hover .hgk::after,.hgb.drag .hgk::after{opacity:.8}
.hgt.new{cursor:copy}.hgc{position:absolute;top:0;bottom:0}.hgc.off{background:var(--surface-2,#F4F3EF)}.hgc.fut{background:repeating-linear-gradient(45deg,transparent 0 6px,color-mix(in srgb,var(--line) 45%,transparent) 6px 7px)}
.hgh .hgt span.c{transform:none;text-align:center;font-size:11px;white-space:nowrap;overflow:hidden}.hgh .hgt span.tod{color:var(--accent,#0F4C81);font-weight:700}
.hg-sem .hgb,.hg-mes .hgb{font-size:10.5px;padding:0 3px}
.hgm{position:absolute;top:8px;bottom:8px;margin-left:2px;border:0;border-radius:3px;font:inherit;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;padding:0;cursor:pointer;--st:var(--st-info);background:color-mix(in srgb,var(--st) 10%,var(--bg));color:var(--st);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st) 40%,var(--bg))}.hgm.on{--st:var(--st-ok)}.hgm.miss{--st:var(--st-bad)}.hgm.none{--st:var(--fg-3);background:transparent;box-shadow:none}.hgm:hover{box-shadow:inset 0 0 0 1.5px var(--st)}
.hgnow{position:absolute;top:0;bottom:0;width:2px;background:var(--st-bad);z-index:3;pointer-events:none}.hrgmap{height:420px;border:1px solid var(--line);background:var(--surface-2);z-index:0}.hrgsw{display:inline-flex;margin:0 0 12px}.hrgsw button.on{background:var(--ink,#141414);color:var(--surface,#fff);border-color:var(--ink,#141414)}#tb-geo tr[data-gid]{cursor:pointer}.hrd .w4{grid-column:1/-1}
.hrd h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin:16px 0 8px;font-weight:600}@media (max-width:720px){.hrd .g{grid-template-columns:1fr 1fr}}
.hrdlg-bk .tdlg{max-width:820px;width:calc(100vw - 32px)}
.hrf .avseg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.hrf .avseg button{font:inherit;font-size:12.5px;border:0;background:var(--surface);color:var(--fg-2);padding:5px 12px;cursor:pointer}.hrf .avseg button+button{border-left:1px solid var(--line)}.hrf .avseg button[aria-pressed="true"]{background:var(--accent);color:var(--bg)}
.hrf .avcal{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px;margin-top:6px}.hrf .avm h5{margin:0 0 4px;font-size:12px;text-transform:capitalize;color:var(--fg-2);font-weight:600}.hrf .avm .g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.hrf .avm .g span{font-size:10.5px;text-align:center;line-height:22px;border-radius:4px;color:var(--fg)}.hrf .avm .g span.h{color:var(--fg-3);font-weight:600}.hrf .avm .g span.we{background:var(--surface-2);color:var(--fg-3)}.hrf .avm .g span.hol{background:color-mix(in srgb,var(--st-bad) 12%,var(--surface))}.hrf .avm .g span.ab{color:#fff;font-weight:700}.hrf .avm .g span.ab.p{opacity:.6;background-image:repeating-linear-gradient(45deg,transparent 0 3px,rgba(255,255,255,.4) 3px 6px)}.hrf .avm .g span.tod{box-shadow:inset 0 0 0 2px var(--accent)}
.hrf .avlg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--fg-2);margin:10px 0 0}.hrf .avlg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hrf .avgt{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:6px;font-size:12px}.hrf .avgt .hd2,.hrf .avgt .r{display:grid;grid-template-columns:220px 1fr}.hrf .avgt .hd2{background:var(--surface-2);font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em}.hrf .avgt .mo{display:flex}.hrf .avgt .mo span{border-left:1px solid var(--line);padding:5px 4px;overflow:hidden;white-space:nowrap}.hrf .avgt .r{border-top:1px solid var(--line);min-height:30px}.hrf .avgt .lb{padding:6px 10px;line-height:1.3;border-right:1px solid var(--line)}.hrf .avgt .lb .sub{display:block}.hrf .avgt .tr{position:relative;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px)}.hrf .avgt .avb{position:absolute;top:6px;bottom:6px;border-radius:5px;min-width:4px;color:#fff;font-size:10.5px;font-weight:700;line-height:18px;padding:0 4px;overflow:hidden;white-space:nowrap}.hrf .avgt .avb.p{opacity:.6;background-image:repeating-linear-gradient(45deg,transparent 0 4px,rgba(255,255,255,.35) 4px 8px)}.hrf .avgt .now{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.7}
.hrf{position:fixed;inset:0;z-index:76;background:rgba(10,14,20,.35);display:flex;justify-content:flex-end}
.hrf .pn{width:min(980px,100vw);height:100%;display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(16,24,40,.2)}
.hrf .hd{}.hrf .hd .row{display:flex;}.hrf .hd h2{}.hrf .hd .sp{flex:1}
.hrf .tabs{display:flex;gap:2px;overflow:auto;}.hrf .tabs button{font:inherit;border:0;background:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.hrf .tabs button[aria-selected="true"]{}
.hrf .bd{flex:1;overflow:auto;}.hrf .hral{display:flex;flex-wrap:wrap;gap:6px}.hrf table{width:100%;border-collapse:collapse;font-size:13px}.hrf td,.hrf th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.hrf th{font-size:11.5px;color:var(--fg-3);font-weight:600}.hrf td.num,.hrf th.num{text-align:right}
.hrf .kv{display:grid;font-size:13.5px}.hrf .kv dt{}.hrf .kv dd{margin:0}
.hrf .bal{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.hrf .bal div{border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:110px}.hrf .bal b{display:block;font-size:20px}.hrf .bal span{font-size:11.5px;color:var(--fg-3)}
@media (max-width:640px){.hrf .kv{}.hrf .bd{}}

/* ---------- 2.56.0: ficha editorial (sistema visual de la casa) y documentos en carpetas ---------- */
@font-face{font-family:'Space Grotesk';font-weight:500;font-display:swap;src:url(/editorial/fonts/space-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-display:swap;src:url(/editorial/fonts/space-grotesk-latin-700-normal.woff2) format('woff2')}
.hrf,.hrp#p-hrd,.hrpv{--ink:#141414;--gray:#6E6E6E;--faint:#B9B9B9;--ghost:#EFEFEF;--tint:#F7F6F3;--hair:#E3E1DC;--blue:#0F4C81;--flag:#B3261E;--hh:'Space Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;--ss:Georgia,'Times New Roman',serif}
.hrf .pn{background:var(--surface);color:var(--ink)}
.hrf .hd{position:relative;overflow:hidden;padding:22px 26px 0;border-bottom:2px solid var(--ink)}
.hrf .hd>*:not(.hrgh){position:relative}
.hrf .hrgh{position:absolute;top:-30px;right:-12px;font-family:var(--hh);font-weight:700;font-size:170px;line-height:1;letter-spacing:-.04em;color:var(--ghost);pointer-events:none;user-select:none}
.hrf .hd .row{align-items:flex-start;gap:16px}
.hrf .hd .avatar{width:52px;height:52px;font-family:var(--hh);font-weight:500;font-size:18px;margin:4px 0 0}
.hrf .hrkick{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 6px}
.hrf .hrkick .fl{color:var(--flag)}
.hrf .hd h2{font-family:var(--hh);font-weight:500;font-size:34px;line-height:1.04;letter-spacing:-.02em;margin:0;max-width:22ch}
.hrf .hrrole{font-family:var(--ss);font-style:italic;font-size:16px;color:var(--gray);margin:6px 0 0}
.hrf .hracts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:52%}
.hrf .hrfigs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--hair);margin-top:18px}
.hrf .hrfig{padding:12px 14px 12px 0}.hrf .hrfig+.hrfig{padding-left:14px;border-left:1px solid var(--hair)}
.hrf .hrfig b{display:block;font-family:var(--hh);font-weight:500;font-size:22px;line-height:1.1;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.hrf .hrfig b.blue{color:var(--blue)}.hrf .hrfig b.flag{color:var(--flag)}
.hrf .hrfig span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);margin-top:5px}
.hrf .hrfig em{display:block;font-style:normal;font-size:11.5px;color:var(--gray);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hrf .hral{margin:0 0 4px}.hrf .hrflag{display:inline-block;font-size:12.5px;background:color-mix(in srgb,var(--flag) 4.5%,var(--surface));box-shadow:inset 3px 0 0 var(--flag);padding:6px 12px 6px 14px;color:var(--ink)}
.hrf .tabs{margin-top:10px}.hrf .tabs button{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gray);padding:11px 12px 10px;border-bottom-width:2px}
.hrf .tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--blue);font-weight:700}.hrf .tabs button i{font-style:normal;color:var(--faint);font-weight:400;margin-left:2px}
.hrf .bd{padding:20px 26px 30px}
.hrf .kv{grid-template-columns:150px 1fr;gap:0}.hrf .kv dt{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);padding:10px 0;border-bottom:1px solid var(--hair)}.hrf .kv dd{padding:9px 0;border-bottom:1px solid var(--hair)}
.hrf .pn{width:min(1180px,100vw)}
/* explorador de documentos */
div.dx{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0;min-height:420px;border-top:1px solid var(--hair)}
.dxl{border-right:1px solid var(--hair);padding:12px 12px 12px 0;display:flex;flex-direction:column;gap:1px}
.dxh{display:flex;align-items:center;justify-content:space-between;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:4px 0 8px;padding-left:10px}
.dxh2{margin-top:18px;padding-top:12px;border-top:1px solid var(--hair)}.dxh a{font-size:9px;letter-spacing:.12em;color:var(--gray);border:0}
.dxadd{border:1px solid var(--hair);background:var(--surface);width:22px;height:22px;line-height:18px;font-size:15px;cursor:pointer;color:var(--ink);padding:0}
.dxadd:hover{border-color:var(--blue);color:var(--blue)}
.dxf{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;font:inherit;font-size:13px;color:var(--ink);padding:7px 10px;cursor:pointer;border-left:2px solid transparent}
.dxf svg{width:15px;height:15px;stroke:var(--gray);fill:none;stroke-width:1.5;flex:none}
.dxf span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dxf b{font-weight:400;color:var(--faint);font-size:11.5px}.dxf em{font-style:normal;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.dxf:hover{background:var(--tint)}.dxf.on{background:var(--tint);border-left-color:var(--blue);font-weight:600}.dxf.on svg{stroke:var(--blue)}
.dxf.off span{color:var(--gray)}.dxf.over{background:color-mix(in srgb,var(--blue) 10%,var(--surface));box-shadow:inset 0 0 0 1px var(--blue)}
.dxseed{margin:10px 0 0 10px;font-size:12px}.dxsh{margin:6px 0 0 10px;line-height:1.4}.dxarch{margin:auto 0 0 10px;padding-top:16px}
.dxr{padding:12px 0 0 20px;min-width:0}
.dxbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--hair)}
.dxkick{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 4px}
.dxti h3{font-family:var(--hh);font-weight:500;font-size:24px;letter-spacing:-.015em;margin:0;line-height:1.1}
.dxwarn{font-size:12px;color:var(--flag);margin:6px 0 0}
.dxbar input[type=search]{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--hair);background:var(--surface);color:var(--ink);min-width:200px}
.dx .seg,.hrpv .seg{display:inline-flex;border:1px solid var(--hair)}.dx .seg button,.hrpv .seg button{display:inline-flex;align-items:center;border:0;background:var(--surface);font:inherit;font-size:13px;padding:6px 10px;cursor:pointer;color:var(--gray)}.dx .seg button+button,.hrpv .seg button+button{border-left:1px solid var(--hair)}
.dx .seg button[aria-pressed="true"],.hrpv .seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.dxfa{display:flex;flex-wrap:wrap;gap:4px 16px;padding:8px 0}.dxfa .lnk{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--blue);cursor:pointer}.dxfa .lnk.bad{color:var(--flag)}
.dxflag{background:color-mix(in srgb,var(--flag) 4.5%,var(--surface));box-shadow:inset 3px 0 0 var(--flag);padding:10px 14px;margin:12px 0 0}.dxflag span{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--flag);font-weight:700}.dxflag b{font-family:var(--hh);font-weight:500;font-size:15px}
.dxdrop{min-height:240px;margin-top:14px;position:relative}.dxdrop.over{outline:2px dashed var(--blue);outline-offset:4px;background:color-mix(in srgb,var(--blue) 4%,var(--surface))}
.dxg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.dxc{position:relative;border:1px solid var(--hair);background:var(--surface);display:flex;flex-direction:column;transition:border-color .12s}
.dxc:hover{border-color:var(--ink)}.dxc.arch{opacity:.55}.dxc.hid .dxt{opacity:.6}
.dxc[draggable="true"]{cursor:grab}
.dxn>a:hover{color:var(--blue)}#p-hrd #hrdB{background:var(--surface);padding:18px 22px}#p-hrd .phead select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--hair);background:var(--surface)}
.dxt{display:flex;align-items:center;justify-content:center;height:112px;background:var(--tint);border:0;border-bottom:1px solid var(--hair);overflow:hidden;text-decoration:none}
.dxt span{font-family:var(--hh);font-weight:500;font-size:26px;letter-spacing:.06em;color:var(--gray)}
.dxt.pdf span{color:var(--flag)}.dxt.img span,.dxt.doc span{color:var(--blue)}
.dxt img{width:100%;height:100%;object-fit:cover}
.dxn{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dxn>a{font-size:13px;color:var(--ink);border:0;text-decoration:none;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;padding-right:18px}
.dxk{font-size:11px;color:var(--gray)}
.dxw{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--faint)}.dxw svg{width:12px;height:12px;stroke:var(--faint);fill:none;stroke-width:1.5}
.dxnote{font-family:var(--ss);font-style:italic;font-size:12px;color:var(--gray);margin-top:2px}
.dxbs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.dxb{display:inline-block;font:inherit;font-size:8.6px;letter-spacing:.11em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--hair);color:var(--gray);background:var(--surface);line-height:1.3;white-space:nowrap}
button.dxb{cursor:pointer}.dxb.ok{border-color:var(--blue);color:var(--blue)}.dxb.fl{border-color:var(--flag);color:var(--flag)}
.dxmore{position:absolute;right:6px;top:6px;border:1px solid var(--hair);background:var(--surface);font-size:16px;line-height:1;color:var(--ink);cursor:pointer;padding:3px 7px 6px;opacity:0;transition:opacity .12s}.dxc:hover .dxmore,.dxmore:focus-visible{opacity:1}@media (hover:none){.dxmore{opacity:1}}
.dxmore:hover{color:var(--ink);background:var(--tint)}
.dxe{display:inline-block;font-size:8.5px;letter-spacing:.1em;font-weight:700;color:var(--gray);border:1px solid var(--hair);padding:3px 4px}.dxe.pdf{color:var(--flag)}.dxe.img{color:var(--blue)}
.dxlist tr.arch td{opacity:.55}
.dxempty{border:1px dashed var(--hair);padding:48px 20px;text-align:center}.dxempty p{font-family:var(--ss);font-style:italic;font-size:16px;color:var(--gray);margin:0 0 6px}.dxempty span{font-size:12px;color:var(--faint)}
.dxfoot{margin-top:16px}
.dxm{position:fixed;z-index:1400;background:var(--surface);border:1px solid var(--ink,#141414);min-width:200px;padding:4px 0;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.dxm button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13px;padding:8px 14px;cursor:pointer;color:var(--ink)}.dxm button:hover{background:var(--surface-2)}.dxm button.bad{color:var(--st-bad)}
.dxul{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto}.dxul li{padding:6px 0;border-bottom:1px solid var(--line)}
/* vista del empleado */
.hrpv{position:fixed;inset:0;z-index:95;background:rgba(20,20,20,.42);display:flex;align-items:center;justify-content:center;padding:20px}
.hrpv-in{background:var(--surface);width:min(1240px,100%);height:min(920px,100%);display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.hrpv-h{display:flex;align-items:flex-end;gap:12px;padding:16px 22px 14px;border-bottom:1px solid var(--hair)}
.hrpv-h h3{font-family:var(--hh);font-weight:500;font-size:22px;letter-spacing:-.01em;margin:0}
.hrpv-s{flex:1;background:var(--tint);display:flex;justify-content:center;align-items:stretch;padding:22px;overflow:auto}
.hrpv-f{background:var(--surface);border:1px solid var(--hair);box-shadow:0 18px 50px rgba(0,0,0,.10);display:flex}
.hrpv-f.mov{width:400px;border:10px solid var(--ink);border-radius:34px;overflow:hidden}.hrpv-f.desk{width:100%;max-width:1100px}
.hrpv-f iframe{flex:1;border:0;width:100%;height:100%;min-height:600px}
@media (max-width:900px){.hrf .hrfigs{grid-template-columns:repeat(3,minmax(0,1fr))}.hrf .hrfig:nth-child(4){border-left:0;padding-left:0}.hrf .hracts{max-width:none}.hrf .hd .row{flex-wrap:wrap}div.dx{grid-template-columns:1fr}.dxl{border-right:0;border-bottom:1px solid var(--hair);padding-right:0}.dxr{padding-left:0}.hrf .hrgh{font-size:96px;top:-10px}}
@media (max-width:640px){.hrf .hd{padding:16px 16px 0}.hrf .hd h2{font-size:26px}.hrf .bd{padding:14px 16px}.hrpv{padding:0}.hrpv-f.mov{width:100%;border:0;border-radius:0}}

/* ---------- tableros.js ---------- */
/* secciones de trabajo: cabecera compacta y sin tarjetas */
body.tb-work #pghead{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;margin:0 0 8px}
body.tb-work #pghead .pgk{flex-basis:100%}
body.tb-work #pghead h1{font-size:21px!important}
body.tb-work #pghead p{display:none}
body.tb-work section[role=tabpanel]>.kpis,body.tb-work .kpis[hidden]{display:none!important}
body.tb-work #srcline{display:none}
body.tb-work .phead .hint{display:none}
body.tb-work .phead h2.dup{display:none}
body.tb-work .phead h2{font-size:15px}
body.tb-work .phead h2.hastip{cursor:help}
body.tb-work .phead{margin-bottom:6px}
body.tb-work:not(.tb-charts) .panel.tbchart{display:none!important}
.pgch{margin-left:auto}.pgch+.pgtb{margin-left:8px}
.pgch[aria-pressed="true"]{}
#pghead{position:relative}
.pgtb{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;padding:5px 10px;cursor:pointer;align-self:center}
.pgtb:hover{}
.pgtb svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
/* tableros */
.kpi.tbgo{cursor:pointer}.kpi.tbgo:hover{}
/* 2.359.0: filas y cifras con enlace en los tableros */
.tbr li[data-lk],.tbr li[data-go],.tbl2 li[role=button],.tbbig.tbgo{cursor:pointer}.tbr li[data-lk]:hover,.tbr li[data-go]:hover,.tbl2 li[role=button]:hover{background:var(--tint,color-mix(in srgb,var(--line) 35%,transparent))}
.tbr li[data-lk]:focus-visible,.tbr li[data-go]:focus-visible,.tbl2 li[role=button]:focus-visible,.kpi.tbgo:focus-visible{outline:2px solid var(--accent,#2f6fdb);outline-offset:1px}
.kpi .v.warnv{color:var(--warn,#a86400)}
.tbk .d .pos{color:var(--good);font-weight:600}.tbk .d .neg{color:var(--bad);font-weight:600}
.tbk{margin:0 0 12px}
.tbg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.tbp{min-width:0}
.tbp.w2{grid-column:span 2}
.tbh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}.tbh h3{margin:0;font-size:14px;font-weight:650}.tbh .muted{font-size:12px}
.tbcv{position:relative;}
.tbr{list-style:none;margin:0;padding:0}
.tbr li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.tbr li:last-child{border-bottom:0}
.tbr .tl{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tbr .tl small{color:var(--fg-3);margin-left:6px;font-size:11.5px}
.tbr .tv{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tbr .tv small{color:var(--fg-3);font-weight:500;margin-left:6px;font-size:11px;display:inline-block;min-width:44px}
.tbr .tb{grid-column:1/-1;height:4px;border-radius:2px;background:color-mix(in srgb,var(--line) 55%,transparent);overflow:hidden}
.tbr .tb i{display:block;height:100%;border-radius:2px;background:var(--accent)}
.tbmore{font-size:12px;margin:6px 0 0}
.tbempty{color:var(--fg-3);font-size:13px;margin:6px 0}
.tbpipe{margin-top:22px}.tbsub{font-weight:500;font-size:19px;margin:0 0 10px;padding-top:14px;}
.tbl2{list-style:none;margin:0;padding:0}.tbl2 li{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:13px}.tbl2 li:last-child{border:0}
.tbl2 li span{color:var(--fg-3);font-size:12px;margin-left:auto;text-align:right}.tbl2 .dot{width:8px;height:8px;border-radius:2px;margin:0;flex:none;align-self:center}
.tbbig{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.tbbig small{font-size:14px;color:var(--fg-3);font-weight:500}
#tbTes .tbk{margin:12px 0}
@media (max-width:1100px){.tbg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.tbg{grid-template-columns:1fr}.tbp.w2{grid-column:auto}.tbk{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- tablas.js ---------- */
.ttbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 6px}
.ttbar .ttq{font:inherit;font-size:12.5px;padding:4px 9px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);min-width:200px}
.ttbar select{width:auto!important;max-width:240px;font:inherit;font-size:12.5px;height:30px;padding:0 6px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
.ttb{font:inherit;font-size:12.5px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);cursor:pointer}
.ttb:hover{background:var(--surface-2)}.ttb.pri{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.ttbar .ttsp{flex:1}
.ttgbs{display:inline-flex;align-items:center;gap:4px}.ttgc{display:inline-flex;align-items:center;gap:2px;font-size:12px;line-height:24px;background:var(--st-ok);color:var(--bg);border-radius:6px;padding:0 2px 0 8px}.ttgc button{border:0;background:none;color:#fff;cursor:pointer;font-size:14px;padding:0 4px}.ttgsep{color:var(--fg-3)}
tr.tgrp.tg1 td{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}tr.tgrp.tg2 td{background:color-mix(in srgb,var(--surface-2) 25%,var(--surface));font-weight:500}.ttbar .ttn{font-size:12px;color:var(--fg-3)}
th.tth{position:relative;padding-right:22px!important}
th.tth .ttf{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:17px;height:17px;border:0;border-radius:4px;background:none;color:var(--fg-3);font-size:10px;line-height:17px;padding:0;cursor:pointer;opacity:0;transition:opacity .12s}
th.tth:hover .ttf,th.tth.tton .ttf{opacity:1}th.tth.tton .ttf{background:var(--accent);color:var(--bg)}
table.ttfix{table-layout:fixed!important;max-width:none!important}table.ttfix>thead>tr>th,table.ttfix>tbody>tr>td,table.ttfix>tfoot>tr>td{overflow:hidden;text-overflow:ellipsis}body.ttrzing,body.ttrzing *{cursor:col-resize!important;user-select:none!important}
th.tth .ttrz{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;z-index:2}/* 2.165.4: dentro de su columna (con la cabecera fija, la siguiente la tapaba y no se podía arrastrar) */
th.tth .ttrz::after{content:'';position:absolute;left:7px;top:22%;bottom:22%;width:1px;background:var(--line,#d6d9de);transition:background .12s,width .12s}
th.tth:hover .ttrz::after{background:var(--fg-3,#8a8f98)}th.tth .ttrz:hover::after{width:3px;left:5px;background:var(--accent,#0F4C81)}
.ttbar .ttcolsb{width:auto!important;padding:0 10px!important;white-space:nowrap;font-size:12px!important}
th.tth[data-tts="a"]::after{content:" ▲";font-size:9px;color:var(--accent)}th.tth[data-tts="d"]::after{content:" ▼";font-size:9px;color:var(--accent)}
.tthide{display:none!important}
/* 2.35.0: lista compacta como Odoo */
@media (min-width:641px){

/* 2.48.2: listas sin barra con el aspecto compacto de Odoo */
table.ttlook{font-size:13px;border-collapse:collapse;width:100%}
table.ttlook>thead>tr>th{background:var(--surface)!important;color:var(--fg);font-weight:600;font-size:12.5px;text-transform:none;letter-spacing:0;padding:7px 8px;border-bottom:1px solid var(--fg-3,#999)!important;white-space:nowrap}
table.ttlook>tbody>tr>td{padding:4px 8px!important;min-height:27px;line-height:1.35;border-right:0!important;border-left:0!important;border-bottom:1px solid var(--line);vertical-align:middle}
table.ttlook>tbody>tr:hover>td{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
table.ttlook>tfoot>tr>td,table.ttlook>tfoot>tr>th{padding:5px 8px;border-top:1px solid var(--fg-3,#999)}
table.ttodoo{font-size:13px;border-collapse:collapse}
table.ttodoo>thead>tr>th{background:var(--surface)!important;color:var(--fg);font-weight:600;font-size:12.5px;text-transform:none;letter-spacing:0;padding:7px 8px;border-bottom:1px solid var(--fg-3,#999)!important;white-space:nowrap!important}
table.ttodoo>tbody>tr>td{padding:4px 8px!important;height:27px;line-height:1.35;border-right:0!important;border-left:0!important;border-bottom:1px solid var(--line);vertical-align:middle!important;white-space:nowrap!important;max-width:420px;overflow:hidden;text-overflow:ellipsis}
table.ttodoo>tbody>tr>td .sub,table.ttodoo>tbody>tr>td .ttsec,table.ttodoo>tbody>tr>td>small{display:none}
table.ttodoo>tbody>tr:not(.tgrp):hover>td{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
table.ttodoo>tbody>tr.tgrp>td{height:27px;padding:4px 8px!important;background:color-mix(in srgb,var(--fg) 4%,var(--surface))}
table.ttodoo>tbody>tr.tgrp.tst>td{background:var(--surface)}
table.ttodoo>tfoot>tr>td,table.ttodoo>tfoot>tr>th{padding:5px 8px;border-top:1px solid var(--fg-3,#999)}
table.ttodoo .chip,table.ttodoo .bchip,table.ttodoo .stc{font-size:11.5px;line-height:18px;padding:0 8px;border-radius:999px}

/* 2.81.0: reordenar columnas */
th.tth.ttdrg{cursor:grab}th.tth.ttdragging{opacity:.45}
th.tth.ttdl{}th.tth.ttdr{}
.ttpop .ttcl2 label{display:flex;align-items:center;gap:6px;cursor:grab;padding:2px 0}.ttpop .ttcl2 label span{flex:1}.ttpop .ttcl2 .ttgrip{font-style:normal;color:var(--fg-3);font-size:11px;letter-spacing:-2px}
.ttpop .ttcl2 label.ttdragging{opacity:.4}.ttpop .ttcl2{max-height:min(60vh,520px)}
/* 2.80.0: densidades */
table.ttodoo.ttd-n>tbody>tr>td,table.ttodoo.ttd-n>tbody>tr.tgrp>td{height:34px}
table.ttodoo.ttd-u{font-size:11.5px}
table.ttodoo.ttd-u>thead>tr>th{padding:4px 6px;font-size:11px}
table.ttodoo.ttd-u>tbody>tr>td,table.ttodoo.ttd-u>tbody>tr.tgrp>td{height:21px;padding:0 6px!important;line-height:20px}
table.ttodoo.ttd-u>tfoot>tr>td,table.ttodoo.ttd-u>tfoot>tr>th{padding:3px 6px}
table.ttodoo.ttd-u .chip,table.ttodoo.ttd-u .bchip,table.ttodoo.ttd-u .stc,table.ttodoo.ttd-u .tst,table.ttodoo.ttd-u .pill,table.ttodoo.ttd-u .st{font-size:10px;line-height:14px;padding-top:0;padding-bottom:0}
table.ttodoo.ttd-u .btn{padding-top:0;padding-bottom:0;min-height:0;height:18px;line-height:16px;font-size:11px}
table.ttodoo.ttd-u input[type=checkbox]{width:12px;height:12px}
.ttbar .ttvw .ttb+.ttb{margin-left:-1px}

/* 2.58.0: encabezado común */
.ttcp .ttttl{display:none;font-weight:600;font-size:14px;color:var(--fg);white-space:nowrap;margin-right:4px}
section.ttmulti .ttcp .ttttl{display:inline-block}
.ttcp .ttinfo{font-family:Georgia,serif;font-style:italic;font-weight:700}
.ttpop.ttinfow{max-width:min(520px,92vw)}.ttinfop p{margin:0 0 8px;font-size:12.5px;line-height:1.5;color:var(--fg-2)}.ttinfop p:last-child{margin:0}
table.ttodoo>thead>tr>th.ttck,table.ttlook>thead>tr>th.ttck{width:1px!important;min-width:0!important;padding-left:8px!important;padding-right:4px!important}
table.ttodoo>tbody>tr>td.ttckc,table.ttlook>tbody>tr>td.ttckc,td.ttckc{width:1px!important;min-width:0!important;padding-left:8px!important;padding-right:4px!important}
/* 2.188.1: con anchos fijos, la casilla siempre cabe (si no, la columna se quedaba en 8 px) */
table.ttfix.ttfix>thead>tr>th.ttck,table.ttfix.ttfix>thead>tr>th.ck,table.ttfix.ttfix>thead>tr>th.dsel{width:36px!important;box-sizing:border-box}/* 2.102.3: la casilla de selección no hereda el ancho mínimo de la primera columna */
/* 2.57.0: un solo estilo de etiqueta de estado en todas las listas (relleno suave del color de su texto, sin borde) */
table.ttodoo .tst,table.ttodoo .st,table.ttodoo td>.pill,table.ttodoo .bst,table.ttodoo .stag{display:inline-block;font-size:11.5px;font-weight:600;line-height:18px;padding:0 8px;border-radius:999px;border:0!important;background:color-mix(in srgb,currentColor 13%,transparent)!important;white-space:nowrap}
table.ttodoo tr[data-draft]>td,table.ttodoo tr[data-draft]>td b{color:var(--draft)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) table.ttodoo tr[data-draft]>td,:root:not([data-theme=light]) table.ttodoo tr[data-draft]>td b{color:#6ea8fe}}:root[data-theme=dark] table.ttodoo tr[data-draft]>td,:root[data-theme=dark] table.ttodoo tr[data-draft]>td b{color:#6ea8fe}
}
/* 2.36.0: panel de control común */
.ttbar.ttcp{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:6px 0 8px;margin:0;position:relative}
.ttbar.ttcp.ttcardt{}
.ttbar.ttcp.ttcardt.ttcards{margin-bottom:12px}
.ttcardb{background:var(--surface);}.ttcardb.ttcardo{}
.ttcardb>table.ttodoo>thead>tr>th:first-child,.ttcardb>table.ttodoo>tbody>tr>td:first-child{padding-left:12px!important}
.ttbar.ttcardt+.ttcardb>table>thead>tr>th{border-top:1px solid var(--line)}
.ttcp>.ttcl{flex:0 1 auto}.ttcp>.ttsearch{flex:1 1 300px;max-width:560px;min-width:0;margin:0 auto}.ttcp>.ttcr{flex:0 0 auto;margin-left:auto}
.ttcp .ttcl{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.ttcp .ttcl .btn{white-space:nowrap}
.ttcp .ttcr{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.ttcp .tthic{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.ttcp .ttsearch{display:flex;align-items:center;gap:4px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--bg,#fff);padding:2px 2px 2px 8px;cursor:text;flex-wrap:wrap}
.ttcp .ttsearch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.ttcp .ttsearch>svg{width:16px;height:16px;flex:none;stroke:var(--fg-3);fill:none;stroke-width:2;stroke-linecap:round}
.ttcp .ttsearch input,.ttcp .ttqh input{flex:1;min-width:90px;width:auto!important;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:13px;padding:4px 2px!important;color:var(--fg);box-shadow:none!important;height:auto!important}
.ttcp .ttqh{display:contents}.ttcp .ttfac{display:contents}
.ttcp .ttfc{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:22px;padding:0 2px 0 0;white-space:nowrap;max-width:280px;}
.ttcp .ttfc b{background:var(--accent);color:var(--bg);font-weight:600;padding:0 7px;border-radius:5px 0 0 5px}.ttcp .ttfc.g b{background:var(--st-ok)}
.ttcp .ttfc button{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.ttcp .ttfc button:hover{color:var(--bad)}
.ttcp .tttog{border:0;background:none;color:var(--fg-2);width:28px;height:28px;border-radius:6px;cursor:pointer;margin-left:auto}.ttcp .tttog:hover,.ttcp .tttog[aria-expanded="true"]{background:var(--surface-2)}
.ttcp .ttpanel{position:absolute;z-index:30;top:calc(100% - 4px);left:50%;transform:translateX(-50%);width:min(900px,96vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-height:min(72vh,640px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px rgba(16,24,40,.18)}
.ttcp:has(>.ttpanel:not([hidden])){z-index:60}/* 2.93.0: el panel abierto queda por encima de la barra de la tabla siguiente */.ttcp .ttpanel[hidden]{}.ttcp .ttpc{padding:12px 14px;min-width:0}.ttcp .ttpc+.ttpc{border-left:1px solid var(--line)}
.ttcp .ttpc h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:13px}.ttcp .ttpc h4 svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ttcp .ttpc hr{border:0;border-top:1px solid var(--line);margin:8px 0}.ttcp .ttpc .hpt{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin:6px 0 6px}
.ttcp .ttfvr{display:flex;align-items:center}.ttcp .ttfvx{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:15px;padding:0 6px}.ttcp .ttfvn{width:100%;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);box-sizing:border-box}.ttcp .ttfvs{display:flex;gap:6px;align-items:center;font-size:12.5px;margin:6px 0}.ttcp .ttfvm{font-size:12px;margin:4px 0 0}
.ttcp .ttpf{display:flex;flex-direction:column;gap:8px}.ttcp .ttpfi{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ttcp .ttpfi select{max-width:100%}
.ttgbf{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}.ttgbf select{flex:1;min-width:160px;font:inherit;font-size:12.5px}.ttgbh{font-size:12px;margin:0 0 6px}
.ttgbe{display:flex;gap:8px;align-items:center;padding:3px 8px;font-size:13px;cursor:pointer}.ttgbe input{width:auto}
.ttcp .ttpi{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;font:inherit;font-size:13px;border:0;background:none;color:var(--fg);padding:5px 8px 5px 22px;border-radius:6px;cursor:pointer;position:relative}
.ttcp .ttpi:hover{background:var(--surface-2)}.ttcp .ttpi.on::before{content:"✓";position:absolute;left:6px;color:var(--accent);font-weight:700}.ttcp .ttpi small{color:var(--fg-3)}
.ttcp .ttgear{position:relative}.ttcp .ttgearm{position:absolute;right:0;top:calc(100% + 4px);z-index:31;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px rgba(16,24,40,.2);padding:6px;display:flex;flex-direction:column;gap:2px}
.ttcp .ttgearm[hidden]{}.ttcp .ttgearm .btn,.ttcp .ttgearm button{display:block;width:100%;text-align:left;border:0;background:none;box-shadow:none;font:inherit;font-size:13px;padding:6px 8px;border-radius:6px;color:var(--fg);cursor:pointer;justify-content:flex-start}.ttcp .ttgearm .btn:hover{background:var(--surface-2)}
.ttcp .ttn{font-size:12.5px;color:var(--fg-2);white-space:nowrap}
.ttfull{position:fixed!important;inset:0;z-index:70;overflow:auto;background:var(--bg,var(--surface))!important;padding:14px 20px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.ttfull-on #mbar{display:none!important}.ttfull .bwrap,.ttfull .tablewrap{max-height:calc(100vh - 120px)!important}
@media (min-width:761px){.hoja .hcp.ttbal{display:grid;grid-template-columns:minmax(var(--ttside),1fr) minmax(220px,560px) minmax(var(--ttside),1fr);column-gap:14px}.hoja .hcp.ttbal>.hcl{grid-column:1;justify-self:start}.hoja .hcp.ttbal>.hsearch{grid-column:2;margin:0;max-width:none;width:100%}.hoja .hcp.ttbal>.hcr{grid-column:3;justify-self:end;margin-left:0}.hoja .hcp.ttbal>:not(.hcl):not(.hsearch):not(.hcr):not(.hpanel){grid-column:1/-1}
.ttbar.ttcp,.ttbar.ttcp.ttbal{display:grid;grid-template-columns:max-content minmax(240px,1fr) max-content;column-gap:14px}.ttbar.ttcp>.ttcl{grid-column:1;justify-self:start}.ttbar.ttcp>.ttsearch{grid-column:2;margin:0;max-width:none;width:100%}.ttbar.ttcp>.ttcr{grid-column:3;justify-self:end;margin-left:0}.ttbar.ttcp>:not(.ttcl):not(.ttsearch):not(.ttcr):not(.ttpanel){grid-column:1/-1}}
@media (max-width:760px){.ttbar.ttcp{grid-template-columns:auto minmax(0,1fr)}.ttcp .ttcr{grid-column:1/-1;justify-content:flex-start}.ttcp .ttcl .btn.primary{white-space:nowrap}.ttcp .ttfs,.ttcp .ttcols{display:none}}
.ttbar .ttpg{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--fg-2);font-variant-numeric:tabular-nums}
.ttbar .ttpgv{font:inherit;border:0;background:none;color:var(--fg);cursor:pointer;padding:2px 4px;border-radius:5px}.ttbar .ttpgv:hover{background:var(--surface-2)}
.ttbar .ttpgi{font:inherit;font-size:13px;width:84px;padding:2px 6px;border:1px solid var(--accent);border-radius:5px;background:var(--bg);color:var(--fg)}
.ttbar .ttpgb{font:inherit;font-size:15px;width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);cursor:pointer;margin-left:2px}.ttbar .ttpgb:disabled{opacity:.4;cursor:default}
.ttbar .ttvw{display:inline-flex}.ttbar .ttvw .ttb{border-radius:0;width:32px;padding:0}.ttbar .ttvw .ttb:first-child{border-radius:7px 0 0 7px}.ttbar .ttvw .ttb:last-child{border-radius:0 7px 7px 0;margin-left:-1px}
.ttbar .ttvw .ttb[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
@media (max-width:640px){.ttbar .ttvw{display:none}}
tfoot.tttot td{position:sticky;bottom:0;z-index:3;background:var(--surface-2);border-top:2px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.tcolhost:has(.ttbar)>.tcolb,.ttodoow>.tcolb,.tcolhost:has(>.ttodoow)>.tcolb{display:none!important}
@media (max-width:640px){.ttbar .ttgb,.ttbar .ttcols{display:none}th.tth .ttf{display:none}}
@media (max-width:720px){table tfoot.tttot{display:block}table tfoot.tttot tr{display:flex!important;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;background:var(--surface-2);border-radius:10px}table tfoot.tttot td{display:inline!important;border:0!important;position:static;padding:0!important;width:auto!important}table tfoot.tttot td:empty{display:none!important}}
tr.tgrp td{background:var(--surface-2);font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}
tr.tgrp.tst td{background:var(--surface);font-weight:700;color:var(--fg);border-top:1px solid var(--fg-3);cursor:default}tr.tgrp.tst td.l{color:var(--fg-2);font-weight:600}
tr.tgrp .ttar{display:inline-block;width:14px;color:var(--fg-3)}
.ttfoot{position:sticky;bottom:0;z-index:4;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;font-size:12px;color:var(--fg-2);background:var(--surface-2);border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;padding:5px 12px;margin-top:-1px}
.ttfoot b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:650}.ttfoot b.neg{color:var(--bad)}
.ttpop{position:fixed;z-index:85;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 36px rgba(16,24,40,.2);padding:8px;min-width:230px;max-width:320px;font-size:13px}
.ttpop button.it{display:block;width:100%;text-align:left;font:inherit;font-size:13px;border:0;background:none;color:var(--fg);padding:6px 8px;border-radius:6px;cursor:pointer}.ttpop button.it:hover{background:var(--surface-2)}
.ttpop hr{border:0;border-top:1px solid var(--line);margin:6px 0}
.ttpop .vl{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:4px 6px;margin:6px 0}
.ttpop .vl label{display:flex;gap:6px;align-items:center;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ttpop .vl label small{color:var(--fg-3);margin-left:auto}
.ttpop input[type=search],.ttpop input[type=text],.ttpop input[type=date]{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.ttpop .rg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}.ttpop .ft{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}

/* ---------- vistas.js ---------- */
.tviews .vlist li{display:flex;gap:4px;align-items:center}.tviews .tag{font-size:10px}.tviews .vcopy{font:inherit;font-size:11px;border:1px solid var(--line);background:transparent;border-radius:4px;padding:1px 6px;cursor:pointer;color:var(--fg-2)}

/* ---------- config.js ---------- */
.cfgcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.ccard{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ccard h3{margin:0;font-family:var(--font-display);font-weight:500;font-size:17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ccard .st{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:1px 8px}
.st.ok{}.st.no{}.st.off{color:var(--fg-3)}
.ccard .meta{font-size:12.5px;color:var(--fg-2)}
.frm{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;align-items:center}
.frm label{font-size:12px;color:var(--fg-2)}
.frm input,.frm select{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 9px;min-width:0;width:100%}
.frm .hint2{grid-column:2;font-size:11.5px;color:var(--fg-3);margin-top:-4px}
.brow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.brow .msg{font-size:12.5px}
.msg.ok{color:var(--good)}.msg.bad{color:var(--bad)}
.wsw{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--bg)}.wsw.on{border-color:color-mix(in srgb,var(--good,#1f9d55) 45%,var(--line))}.wsw.off{border-color:color-mix(in srgb,var(--st-warn) 55%,var(--line))}
.wsw input{appearance:none;-webkit-appearance:none;flex:none;width:36px;height:20px;background:var(--line);position:relative;cursor:pointer;margin:1px 0 0;transition:background .15s}.wsw input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.3);transition:left .15s}
.wsw input:checked{background:var(--good,#1f9d55)}.wsw input:checked::after{left:18px}.wsw input:disabled{cursor:default;opacity:.7}.wsw input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.owt{display:grid;gap:6px;margin:8px 0 2px;padding:8px 11px;border:1px solid var(--line);border-radius:8px}.owti{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.owti input{margin-top:3px}.owti b{font-size:13px;font-weight:600}.owti small{display:block;color:var(--fg-3);font-size:12px}
.wsw b{font-size:13px}.wsw small{display:block;color:var(--fg-3);font-size:12px;margin-top:2px}
.hrow{display:grid;grid-template-columns:1fr;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.soon{display:flex;flex-wrap:wrap;gap:6px}.soon span{font-size:12px;border:1px dashed var(--line);border-radius:999px;padding:2px 10px;color:var(--fg-3)}
.ro{font-size:12.5px;color:var(--fg-2);background:var(--surface-2);border-left:3px solid var(--accent);padding:10px 12px;margin:0 0 16px}
.coschk{grid-column:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg)}
html .frm .coschk label{display:flex;gap:8px;align-items:center;justify-content:flex-start;text-align:left;font-size:12.5px;color:var(--fg);cursor:pointer;margin:0;letter-spacing:0;text-transform:none}
html .frm .coschk input{width:auto;min-width:0;flex:none;padding:0;margin:0;accent-color:var(--accent)}
html .frm .coschk .all{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:2px;font-weight:600}
.coschk[aria-disabled="true"]{opacity:.55}
/* 2.102.0: permisos por sección */
.permbox{grid-column:2;border:1px solid var(--line);border-radius:6px;background:var(--bg);overflow:hidden}
.permbox[aria-disabled="true"]{opacity:.55;pointer-events:none}
.permbox .ptop{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--fg-2)}
.permbox .ptop .sp{flex:1}
.permt{width:100%;border-collapse:collapse;font-size:13px}
.permt td{padding:4px 10px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}
.permt tr:last-child td{border-bottom:0}
.permt tr.ps td{background:var(--surface-2)}
.permt tr.ps td:first-child{font-weight:600}
.permt tr.pi td:first-child{padding-left:34px;color:var(--fg)}
.permt td:last-child{width:1%;white-space:nowrap}
.permt .ptg{font:inherit;border:0;background:none;cursor:pointer;color:var(--fg-3);width:18px;padding:0;margin-right:4px}
.permt .pn{font-weight:400;color:var(--fg-3);font-size:11.5px;margin-left:6px}
.pseg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pseg button{font:inherit;font-size:12px;padding:3px 9px;border:0;border-left:1px solid var(--line);background:var(--surface);color:var(--fg-2);cursor:pointer}
.pseg button:first-child{border-left:0}
.pseg button[aria-pressed="true"][data-l="0"]{background:var(--surface-2);color:var(--fg);font-weight:600}
.pseg button[aria-pressed="true"][data-l="1"]{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink,var(--accent));font-weight:600}
.pseg button[aria-pressed="true"][data-l="2"]{background:var(--accent);color:var(--bg);font-weight:600}
.pseg button:disabled{opacity:.35;cursor:default}
html .frm label.chk{display:flex;gap:8px;align-items:center;justify-content:flex-start;text-align:left;text-transform:none;letter-spacing:0;font-size:13px;color:var(--fg);margin:0;cursor:pointer}
html .frm label.chk input{width:auto;min-width:0;flex:none;margin:0;padding:0;accent-color:var(--accent)}
.cosmini{font-size:12px;color:var(--fg-2)}
.cfgnotes{margin:0;padding-left:20px;font-size:13.5px;line-height:1.55;color:var(--fg-2);max-width:900px}.cfgnotes li{margin:0 0 6px}
.vistas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;max-width:720px}
.vista{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--surface);color:var(--fg);text-decoration:none;cursor:pointer}
.vista:hover{border-color:var(--fg-3)}
.vista b{font-family:var(--font-display);font-weight:500;font-size:16px;display:flex;gap:8px;align-items:center}
.vista span{font-size:12.5px;color:var(--fg-2)}
.vista[aria-current="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
@media (max-width:820px){.coschk{grid-column:1}.frm{grid-template-columns:1fr}.frm .hint2{grid-column:1}}

/* ---------- config.js ---------- */
.kcode{font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:6px 9px;word-break:break-all;flex:1;min-width:0}
.kpre{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:10px;margin:0;overflow:auto;max-width:100%}
.ccard code{font-size:12px;word-break:break-all}
.knew{border:1px solid var(--accent);border-radius:8px;padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}

/* ---------- config.js ---------- */
#p-cfg.cfgorg{display:flex;flex-direction:column}
body.es-work #p-cfg .ttbar{position:static} /* 2.193.4: en Configuración la barra de una tabla no se queda fija encima de los formularios que van debajo */
#p-cfg.cfgorg [data-cfgp].cfgoff{display:none!important}
#cfgSub{display:flex;flex-wrap:wrap;gap:0;margin:0 0 14px;border-bottom:1px solid var(--line)}
#cfgSub button{font:inherit;font-size:13.5px;padding:9px 14px 10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--fg-2);cursor:pointer;margin-bottom:-1px}
#cfgSub button:hover{color:var(--fg)}
#cfgSub button[aria-pressed="true"]{color:var(--fg);font-weight:600;border-bottom-color:var(--accent)}
#cfgHead{margin:0 0 14px}#cfgHead p{margin:0;color:var(--fg-2);font-size:13.5px}
#cfgHead .cfgrel{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
#cfgHead .cfgrel a{color:var(--link,var(--accent));text-decoration:none}#cfgHead .cfgrel a:hover{text-decoration:underline}
.cfgsubh{margin:0 0 4px}

/* ---------- sociedades.js ---------- */
#cfgDb .dbst{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#cfgDb code{font-size:11.5px;word-break:break-all}
#cfgDb .cnt{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:6px 0}#cfgDb .cnt b{font-family:var(--font-data,inherit)}
#cfgCos .fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 12px;margin:8px 0}
#cfgCos .fgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
#cfgCos .src{font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;white-space:nowrap;color:var(--fg-2)}
#cfgCos .src.tablo{color:var(--accent);}
#cfgCos tr.off td{opacity:.5}

/* ---------- sociedades.js ---------- */
.cfbk{border-top:1px solid var(--line);margin:12px 0;padding-top:10px}.cfbk-h{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.cfbk-h .muted{font-size:12px}
.cfbk table{width:100%;border-collapse:collapse;margin-bottom:8px;font-size:13px}.cfbk td,.cfbk th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.cfbk th{font-size:11px;color:var(--fg-3);font-weight:600}.cfbk td.r{text-align:right}

/* ---------- navegacion.js ---------- */
#cosTop{display:flex;align-items:center;gap:6px}
#intraTop{font:inherit;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap}#intraTop .k{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}#intraTop[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-ink,var(--accent));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}#intraTop[hidden]{}
.ttmini .ttsearch{cursor:pointer}.ttmini .ttmsp{flex:1;color:var(--fg-3);font-size:13px}.ttmini .ttfc.tfstripf b{background:var(--accent)}.ttfc.tfstripf .tfsl{padding-right:6px}
.tfstrip .tfcs select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
@media (min-width:761px){header.top{position:relative}header.top>div:first-child{padding-right:420px}#cosTop{position:absolute;top:6px;right:0;z-index:31}}
#cosTop details.cos summary{min-width:0;gap:8px}
#cosTop #cosSummary::before{content:"Sociedades";font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
#cosTop.na details.cos:not([open])>summary{opacity:.5}#cosTop .cospanel{opacity:1;background:var(--surface)}
#cosTop .cospanel{max-height:min(70vh,560px);overflow:auto}
.cosq{position:sticky;top:-10px;background:var(--surface);padding:0 0 8px;z-index:1}.cosq input{width:100%;font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.cosqa{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:12px;color:var(--fg-3)}.cosqa[hidden]{}.cosqa button{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:5px;padding:3px 8px;cursor:pointer}.cosqa span{margin-left:auto}
#cosList label[hidden]{}
.cospanel .quick [data-q=all],.cospanel .quick [data-q=none]{display:none}
.cosall{display:flex;align-items:center;gap:8px;font-weight:600;padding:6px 0 7px;margin-bottom:4px;border-bottom:1px solid var(--line);cursor:pointer}.cosall .n{margin-left:auto;font-weight:400;font-size:12px;color:var(--fg-3)}
@media (max-width:760px){#cosTop{order:-1;margin-left:auto}}
@media (max-width:640px){#cosTop #cosSummary::before{content:none}}
#side nav.tabs .navgrp{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-3);padding:14px 18px 4px;white-space:nowrap}
#side nav.tabs .navgrp:first-child{padding-top:6px}
nav.tabs:not(#side nav.tabs) .navgrp{display:none}
nav.tabs button[data-tab]{display:flex;align-items:center;justify-content:space-between;gap:8px}
nav.tabs button .nl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
nav.tabs button .nb{flex:none;font-family:var(--font-body,inherit);font-size:10.5px;font-weight:700;line-height:1;min-width:18px;text-align:center;padding:3px 6px;border-radius:999px;background:var(--surface-2);color:var(--fg-2)}
nav.tabs button .nb.bad{background:var(--bad);color:#fff}
#pghead{margin:4px 0 6px}
#pghead .pgk{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink,var(--accent))}
#pghead h1{margin:2px 0 0;font-family:var(--font-display,inherit);font-weight:600;font-size:26px;line-height:1.15;letter-spacing:-.01em}
#pghead p{margin:2px 0 0;font-size:13px;color:var(--fg-2)}
.fgroup[hidden]{display:none!important}
.fnote{font-size:11.5px;color:var(--fg-3);font-style:italic}
@media (max-width:820px){#pghead h1{font-size:21px}}

/* ---------- ui.js ---------- */
:root{--sp1:4px;--sp2:8px;--sp3:16px;--sp4:24px;--sp5:32px;--fs1:12px;--fs2:14px;--fs3:18px;--fs4:26px;--r1:8px;--r2:12px;
  --ko:var(--bad);--info:var(--accent);--mute:var(--fg-3);
  --ok-bg:color-mix(in srgb,var(--good) 12%,transparent);--ko-bg:color-mix(in srgb,var(--bad) 11%,transparent);--warn-bg:color-mix(in srgb,#d89614 15%,transparent);--info-bg:color-mix(in srgb,var(--accent) 12%,transparent);--mute-bg:var(--surface-2)}
:root{}
:root[data-theme="dark"]{}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--warn:#f0b84a;--draft:#6ea8fe}}
/* 2.42.0: foco visible en todo lo que se maneja con teclado */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
:root[data-theme="dark"]{}:root[data-theme="light"]{}
/* cifras: siempre tabulares para que las columnas cuadren */
td,th,.kpi .v,.kpi .d,.num,.n,.mono,.tnum,input[type=number]{font-variant-numeric:tabular-nums}
.tic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
/* estados (mismo color en todo TABLO) */
.tst{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1;border-radius:999px;padding:4px 8px;white-space:nowrap}
.tst.ok{color:var(--ok);background:var(--ok-bg)}.ok.pd,.tst.pd,.chip.pd,.bchip.pd{color:var(--good)!important}.tst.pd,.bchip.pd{background:color-mix(in srgb,var(--good) 12%,transparent)!important}.tst.ko{color:var(--ko);background:var(--ko-bg)}.tst.warn{color:var(--warn);background:var(--warn-bg)}.tst.info{color:var(--info);background:var(--info-bg)}.tst.mute{color:var(--fg-2);background:var(--mute-bg)}
.chip.ok,.st.ok,.st-ok{color:var(--ok)}.chip.bad,.st.no,.st-bad{color:var(--ko)}.chip.mid,.st.pt,.st-mid{color:var(--warn)}
/* carga, vacío y error */
.skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 0%,color-mix(in srgb,var(--surface-2) 50%,var(--surface)) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:tskel 1.2s linear infinite;margin:8px 0}
.skel.w60{width:60%}.skel.w40{width:40%}.skel.h28{height:28px}
.tskw{display:block;max-width:520px;padding:6px 0}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes tskel{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
.tstate{display:flex;flex-direction:column;align-items:center;gap:var(--sp2);text-align:center;padding:var(--sp4) var(--sp3);color:var(--fg-2);font-size:var(--fs2)}
.tstate .tic{width:28px;height:28px;color:var(--fg-3)}.tstate b{color:var(--fg);font-size:var(--fs2)}.tstate.err .tic{color:var(--ko)}
/* tablas: cabeceras fijas y elegir columnas */
.tablewrap.tsticky,.invwrap.tsticky,.bwrap.tsticky{max-height:72vh;overflow:auto}
.tsticky thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--line)}
.tcolb{position:absolute;right:6px;top:6px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg-2);cursor:pointer;opacity:0;transition:opacity .15s}
.tcolhost{position:relative}.tcolhost:hover>.tcolb,.tcolb:focus-visible,.tcolb[aria-expanded="true"]{opacity:1}
@media (hover:none){.tcolb{opacity:.85}}
.tcolp{position:absolute;right:6px;top:38px;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(16,24,40,.18);padding:8px;min-width:200px;max-height:320px;overflow:auto;font-size:13px}
.tcolp label{display:flex;gap:8px;align-items:center;padding:5px 6px;border-radius:6px;cursor:pointer}.tcolp label:hover{background:var(--surface-2)}
.tcolp .ttl{font-size:11px;font-weight:700;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px 6px}
/* densidad compacta */
body.dense td,body.dense th{padding-top:3px!important;padding-bottom:3px!important}
body.dense .kpi{}body.dense .kpi .v{font-size:clamp(18px,1.7vw,24px)!important}
body.dense .panel{padding:12px 14px!important}body.dense .grid{gap:10px!important}body.dense .kpis{}
body.dense .btn{padding-top:4px;padding-bottom:4px}
/* preferencias en el menú de la cuenta */
.uipref{border-top:1px solid var(--line);margin:8px 0;padding-top:8px}.uipref .flabel{display:block;margin:6px 0 4px;font-size:11.5px}
.uipref .seg{display:flex}.uipref .seg button{flex:1;font-size:12.5px}
/* móvil: barra inferior y tablas como tarjetas */
#mbar{display:none}
@media (max-width:820px){
  #mbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px rgba(16,24,40,.06)}
  #mbar button{display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;font-size:10.5px;font-weight:600;color:var(--fg-2);background:none;border:0;padding:6px 2px;border-radius:8px;cursor:pointer}
  #mbar button[aria-current="page"]{color:var(--accent)}
  #mbar button.new .tic{background:var(--accent);color:var(--bg);border-radius:999px;padding:5px;width:30px;height:30px;margin-top:-4px}
  #mbar .tic{width:21px;height:21px}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  body.side-closed #side{display:none!important}
  #side{z-index:110}
  #foot{margin-bottom:64px}
}
#msheet{position:fixed;inset:0;z-index:120;background:rgba(10,14,20,.45);display:flex;align-items:flex-end}
#msheet[hidden]{}
#msheet .sh{background:var(--surface);width:100%;border-radius:16px 16px 0 0;padding:10px 12px calc(16px + env(safe-area-inset-bottom,0px));max-height:80vh;overflow:auto}
#msheet .sh .grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:2px auto 10px}
#msheet .sh button{display:flex;align-items:center;gap:12px;width:100%;font:inherit;font-size:15px;padding:12px 10px;border:0;background:none;color:var(--fg);border-radius:10px;text-align:left;cursor:pointer}
#msheet .sh button:hover{background:var(--surface-2)}
#msheet .sh .sep{height:1px;background:var(--line);margin:4px 6px}
#msheet .sh button.hl{font-weight:700;color:var(--accent)}
@media (max-width:640px){
  table.tcards thead{display:none}
  table.tcards.ttfix{width:100%!important;table-layout:auto!important}
  table.tcards,table.tcards tbody,table.tcards tr,table.tcards td{display:block;width:100%}
  table.tcards tr{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:8px 12px}
  table.tcards td{display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0!important;border:0!important;text-align:right!important;white-space:normal!important;background:none!important}
  table.tcards td::before{content:attr(data-label);color:var(--fg-3);font-size:12px;font-weight:500;text-align:left;flex:0 0 40%}
  table.tcards td .tcv{flex:1;min-width:0;text-align:right;overflow-wrap:anywhere}
  table.tcards td:has(>.tcv:empty){display:none!important}
  table.tcards td[data-label=""]::before{display:none}
  table.tcards td[data-label=""] .tcv{text-align:left}
  table.tcards td:first-child::before{display:none}
  table.tcards td:first-child .tcv{text-align:left;font-size:15px}
  table.tcards td.selc{position:absolute;right:10px;top:8px;width:auto}table.tcards td.selc::before{display:none}
  table.tcards tr{position:relative}
  table.tcards td.empty{display:block;text-align:center!important}
  table.tcards tfoot tr{background:var(--surface-2)}
  .tsticky{max-height:none!important;overflow:visible!important}
  .tcolb{display:none}
}

/* ---------- fichas.js ---------- */
.fichabk{position:fixed;inset:0;z-index:150;background:rgba(10,14,20,.32)}
.fichap{position:fixed;top:0;right:0;bottom:0;z-index:151;width:min(620px,100vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:-16px 0 40px rgba(16,24,40,.18);display:flex;flex-direction:column;animation:fpin .16s ease-out}
@keyframes fpin{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.fichap{animation:none}}
.fichap .fh{padding:16px 20px 0;border-bottom:1px solid var(--line)}
.fichap .fh .row{display:flex;align-items:flex-start;gap:12px}
.fichap .fh h2{font-size:20px;margin:2px 0 2px;letter-spacing:-.01em;flex:1;min-width:0;overflow-wrap:anywhere}
.fichap .fh .k{font-size:12px;color:var(--fg-3);font-weight:500}
.fichap .fh .sub{color:var(--fg-2);font-size:13px;margin:2px 0 10px}
.fichap .fx{border:0;background:none;color:var(--fg-2);cursor:pointer;border-radius:8px;padding:6px;line-height:0}.fichap .fx:hover{background:var(--surface-2)}
.fichap .ftabs{display:flex;gap:2px;overflow-x:auto;margin:0 -4px;scrollbar-width:none}
.fichap .ftabs button{font:inherit;font-size:13px;font-weight:500;color:var(--fg-2);background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;cursor:pointer;white-space:nowrap}
.fichap .ftabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
.fichap .fb{flex:1;overflow:auto;padding:16px 20px 24px}
.fichap .ff{border-top:1px solid var(--line);padding:10px 20px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;background:var(--surface)}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.fgrid .fk{background:var(--surface-2);border-radius:10px;padding:10px 12px}.fgrid .fk span{display:block;font-size:12px;color:var(--fg-3)}.fgrid .fk small{display:block;font-size:11.5px;margin-top:2px}
.fichap a{color:var(--accent);text-decoration:none}.fichap a:hover{text-decoration:underline}.fgrid .fk b{font-size:18px;font-variant-numeric:tabular-nums}
.fgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:560px){.fgrid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fdl{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:13.5px;margin:0 0 14px}.fdl dt{color:var(--fg-3)}.fdl dd{margin:0;overflow-wrap:anywhere}
.ftab{width:100%;border-collapse:collapse;font-size:13px}.ftab th{font-size:11.5px;font-weight:600;color:var(--fg-3);text-align:left;padding:6px 6px;border-bottom:1px solid var(--line)}.ftab td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}.ftab .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ftab tr.tot td{font-weight:700;border-bottom:0}
.ftab tr.clk{cursor:pointer}.ftab tr.clk:hover td{background:var(--surface-2)}
.ftl{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line)}
.ftl li{position:relative;padding:0 0 14px 4px;font-size:13.5px}.ftl li::before{content:"";position:absolute;left:-25px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.ftl li small{display:block;color:var(--fg-3);font-size:12px}
.fpay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-top:8px}.fpay label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.fpay .w{grid-column:1/-1}.fpay input{width:100%;box-sizing:border-box}
@media (max-width:560px){.fpay{grid-template-columns:1fr}.fdl{grid-template-columns:110px 1fr}}
.fichap iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.fichap .note{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--fg-2)}
.fchart{height:160px;margin:4px 0 14px}
.fform{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.fform .w{grid-column:1/-1}.fform textarea{min-height:120px;font:inherit}
@media (max-width:560px){.fform{grid-template-columns:1fr}}

/* ---------- fichas.js ---------- */
#p-crm .fchips{display:flex;flex-wrap:wrap;gap:6px}#p-crm .fchip{font:inherit;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:4px 11px;cursor:pointer}#p-crm .fchip[aria-pressed="true"]{}
#p-crm table td.num,#p-crm table th.num{text-align:right;white-space:nowrap}#p-crm table td.l,#p-crm table th.l{text-align:left}#p-crm tr.clk{cursor:pointer}#p-crm tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}#p-crm th.srt{cursor:pointer;user-select:none}#p-crm tfoot td{font-weight:700;border-top:2px solid var(--line)}

/* ---------- inicio.js ---------- */
#hoy{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 16px}
#hoy .hc{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2,12px);padding:14px 16px 12px;cursor:pointer;text-align:left;font:inherit;color:var(--fg);min-height:132px;transition:border-color .15s,box-shadow .15s}
#hoy .hc:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 4px 14px rgba(16,24,40,.07)}
#hoy .hc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#hoy .hc .hk{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--fg-2)}
#hoy .hc .hk .tic{width:16px;height:16px}
#hoy .hc .hv{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
#hoy .hc .hd{font-size:12.5px;color:var(--fg-3);line-height:1.35}
#hoy .hc .ha{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;padding-top:8px}
#hoy .hc .ha .btn{font-size:12.5px;padding:4px 10px}
#hoy .hc.bad .hv{color:var(--bad)}#hoy .hc.ok .hv{color:var(--good)}#hoy .hc.warn .hv{color:var(--warn,#b26b00)}
#hoy .hc .dot{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
#hoyTitle{display:flex;align-items:baseline;gap:10px;margin:2px 0 8px}#hoyTitle h2{font-size:16px;margin:0}#hoyTitle span{color:var(--fg-3);font-size:12.5px}
.kspark{display:block;width:100%;height:28px;margin-top:6px;overflow:visible}
.kspark .ln{fill:none;stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke}
.kspark .ar{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:none}
.kspark .z{stroke:var(--line);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.kspark .end{fill:var(--accent)}
.hlegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--fg-2);margin:4px 0 8px}.hlegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.claimdlg .cp{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px}
.claimdlg .cp h4{margin:0 0 4px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.claimdlg .cp h4 small{color:var(--fg-3);font-weight:500}
.claimdlg textarea{width:100%;min-height:150px;font:inherit;font-size:13px;box-sizing:border-box}
.claimdlg .cpa{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.claimdlg input[type=email]{flex:1;min-width:200px}

/* ---------- buscar.js ---------- */
#gs{position:fixed;inset:0;z-index:300;background:rgba(10,14,20,.42);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}
#gs[hidden]{}
#gs .box{width:min(680px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 64px rgba(10,14,20,.3);overflow:hidden;display:flex;flex-direction:column;max-height:76vh}
#gs .in{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
#gs .in .tic{color:var(--fg-3)}
#gs input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:17px;color:var(--fg);padding:4px 0}
#gs kbd{font:11px/1 var(--font-data,monospace);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:3px 5px;color:var(--fg-3)}
#gs ul{list-style:none;margin:0;padding:6px;overflow:auto}
#gs li.h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:10px 10px 4px}
#gs li.r{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer}
#gs li.r .tic{color:var(--fg-3)}
#gs li.r .t{flex:1;min-width:0}#gs li.r .t b{font-weight:600}#gs li.r .t small{display:block;color:var(--fg-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gs li.r .x{font-size:12.5px;color:var(--fg-2);font-variant-numeric:tabular-nums;white-space:nowrap}
#gs li.r.on{background:color-mix(in srgb,var(--accent) 11%,transparent)}#gs li.r.on .tic{color:var(--accent)}
#gs .ft{display:flex;gap:14px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--fg-3)}
#gs li.r .fav{border:0;background:none;font-size:16px;line-height:1;color:var(--fg-3);cursor:pointer;padding:2px 4px;border-radius:6px;opacity:.55}#gs li.r:hover .fav,#gs li.r.on .fav,#gs li.r .fav.on{opacity:1}#gs li.r .fav.on{color:#C08A00}
#gs .empty{padding:18px 12px;color:var(--fg-3);font-size:13px;text-align:center}
@media (max-width:820px){#gs{padding-top:4vh}}

/* ---------- avisos.js ---------- */
#bell{position:relative;display:inline-flex;align-items:center;justify-content:center;padding-left:9px;padding-right:9px}
#bell .bn{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:999px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;padding:0 5px;box-shadow:0 0 0 2px var(--surface)}
#bellp{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(420px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 48px rgba(16,24,40,.2);display:flex;flex-direction:column;max-height:72vh}
#bellp[hidden]{}
#bellw{position:relative;display:inline-block}
#bellp .bt{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--line)}
#bellp .bt button{font:inherit;font-size:13px;font-weight:500;background:none;border:0;border-bottom:2px solid transparent;color:var(--fg-2);padding:6px 10px;cursor:pointer}
#bellp .bt button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
#bellp .bt .sp{flex:1}#bellp .bt .lnk{font-size:12px;color:var(--accent)}
#bellp .bb{overflow:auto;padding:6px}
#bellp .it{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;cursor:pointer}
#bellp .it:hover{background:var(--surface-2)}
#bellp .it .sv{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--fg-3)}
#bellp .it .sv.alta{background:var(--bad)}#bellp .it .sv.media{background:var(--warn,#b26b00)}#bellp .it .sv.info{background:var(--accent)}
#bellp .it .tx{flex:1;min-width:0;font-size:13px}#bellp .it .tx b{display:block;font-weight:600}#bellp .it .tx small{display:block;color:var(--fg-3);font-size:12px;margin-top:2px}
#bellp .it.new .tx b::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:2px}
#bellp .tk{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:9px}
#bellp .tk:hover{background:var(--surface-2)}
#bellp .tk input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex:none;cursor:pointer}
#bellp .tk .tx{flex:1;min-width:0;font-size:13px}#bellp .tk .tx small{display:block;color:var(--fg-3);font-size:12px}
#bellp .tk.done .tx>span{text-decoration:line-through;color:var(--fg-3)}
#bellp .tk .due.late{color:var(--bad);font-weight:600}
#bellp .tk a{color:var(--accent);cursor:pointer}
#bellp .bf{border-top:1px solid var(--line);padding:8px 10px;display:flex;gap:8px;justify-content:space-between;align-items:center}
#bellp .empty{padding:20px 10px;text-align:center;color:var(--fg-3);font-size:13px}
.tkdlg{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tkdlg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.tkdlg .w{grid-column:1/-1}.tkdlg textarea{min-height:80px;font:inherit}
@media (max-width:560px){.tkdlg{grid-template-columns:1fr}}

/* ---------- atajos.js ---------- */
#kbHelp{position:fixed;inset:0;z-index:2000;background:rgba(10,14,20,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto}
#kbHelp .kbh{background:var(--surface,#fff);color:var(--fg);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-width:920px;width:100%;padding:20px 22px}
#kbHelp .kbh-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
#kbHelp h3{margin:0;font-family:var(--font-display);font-weight:500;font-size:20px}
#kbHelp .kbh-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 28px}
#kbHelp h4{margin:14px 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
#kbHelp dl{margin:0}#kbHelp dl>div{display:flex;gap:12px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line)}
#kbHelp dt{flex:0 0 112px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}#kbHelp dd{margin:0;font-size:13px;color:var(--fg-2)}
#kbHelp .th{font-size:10.5px;color:var(--fg-3)}
#kbHelp .kbh-f{margin:14px 0 0;font-size:12px;color:var(--fg-3)}
kbd{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11.5px;line-height:1;min-width:20px;text-align:center;padding:4px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--surface-2,var(--bg));color:var(--fg)}
#kbToast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:2100;background:var(--fg);color:var(--bg);font-size:13px;padding:7px 14px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.2);pointer-events:none}
.kbmenu{display:flex;width:100%;justify-content:space-between;align-items:center;margin-bottom:8px}

/* ---------- espacio.js ---------- */
#crumb{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px;white-space:nowrap}
#crumb .cm{color:var(--fg-2);font-weight:500}
#crumb .cs{color:var(--fg-3)}
#crumb .ct{font-weight:650;color:var(--fg);overflow:hidden;text-overflow:ellipsis}
#crumb .pgtb{margin-left:6px;height:28px;padding:0 9px;}
body:not(.es-work) #crumb{visibility:hidden}
@media (max-width:820px){#crumb{display:none}}
@media (min-width:821px){
  header.top{display:flex!important;align-items:center;gap:12px;}
  header.top>div:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding-right:0!important}
  header.top>div:first-child .sub{display:none}
  header.top .tools{flex:none;margin:0!important;padding:6px 0;gap:6px!important;flex-wrap:nowrap!important}
  header.top .tools .btn,header.top .tools summary.btn{height:32px;min-height:32px}
  header.top #cosTop{position:static!important;margin:0}
  header.top #cosTop summary{height:32px}
  #userMenu summary,#viewsDetails summary{min-width:0!important;width:auto!important}
  .wrap{padding-top:6px!important}
  body.es-work #pghead{display:none!important}
  body.es-work #viewsDetails,body.es-work #btnRefresh,body.es-work #btnXls{display:none!important}
  body.es-work .brandrow .logo{height:20px!important;width:auto}
}
/* menú plegado: solo iconos y el botón para desplegar */
@media (min-width:821px){body.side-closed .sidehead{display:flex;justify-content:center;padding:10px 0 6px!important}body.side-closed #sideToggle{position:static!important;margin:0 auto}}
/* listas a todo lo ancho: sin tarjetas alrededor */
body.es-work .wrap{padding-left:16px!important;padding-right:16px!important}
body.es-work section[role=tabpanel] .panel{border-radius:0;box-shadow:none;border-left:0;border-right:0;background:transparent;padding-left:0;padding-right:0;margin-bottom:10px}
body.es-work section[role=tabpanel] .panel+.panel{border-top:1px solid var(--line);padding-top:12px}
body.es-work .tablewrap{border-radius:0}
body.es-work .tablewrap thead th{position:sticky;top:0;z-index:3;background:var(--surface)}
body.es-work table.invt td,body.es-work table.invt th{padding-top:6px;padding-bottom:6px}
body.es-work .ttbar{position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0;margin:0}

/* ---------- suscripcion.js ---------- */
.subbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 14px;margin:0 0 8px;border-radius:8px;font-size:13.5px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.subbar.bad{background:color-mix(in srgb,var(--bad) 10%,var(--surface));border-color:color-mix(in srgb,var(--bad) 35%,transparent)}
.subbar.warn{background:color-mix(in srgb,var(--st-warn) 12%,var(--surface));border-color:color-mix(in srgb,var(--st-warn) 40%,transparent)}
#subPanel .subdl{display:grid;grid-template-columns:200px 1fr;gap:6px 12px;font-size:13.5px;margin:10px 0 14px}#subPanel .subdl dt{color:var(--fg-3)}#subPanel .subdl dd{margin:0}
#subPanel .subplans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:6px 0}
#subPanel .subplan{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
#subPanel .subprice{font-size:24px;font-weight:700}#subPanel .subprice small{font-size:12px;font-weight:500;color:var(--fg-3)}
@media (max-width:640px){#subPanel .subdl{grid-template-columns:1fr}}

/* ---------- visor.js ---------- */
.vsr~.tdlg-bk{z-index:170}
.vsr{position:fixed;inset:0;z-index:160;background:var(--bg);display:flex;flex-direction:column}
.vsr .vtop{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.vsr .vtop h2{margin:0;font-size:17px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsr .vtop .k{font-size:12px;color:var(--fg-3);font-weight:500;margin-right:8px}
.vsr .vnav{display:flex;align-items:center;gap:6px}.vsr .vnav .c{font-variant-numeric:tabular-nums;font-size:13px;color:var(--fg-2);min-width:70px;text-align:center}
.vsr .vnav .btn{min-width:36px;justify-content:center}
.vsr .vbody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,440px) 1fr}
.vsr .vdata{overflow:auto;padding:16px 18px 24px;border-right:1px solid var(--line);background:var(--surface)}
.vsr .vdoc{min-height:0;display:flex;flex-direction:column;background:var(--surface-2)}
.vsr .vdoc iframe,.vsr .vdoc .vimg{flex:1;width:100%;border:0;background:var(--surface)}
.vsr .vdoc .vimg{object-fit:contain;background:var(--surface-2)}
.vsr .vdoc .vdh{display:flex;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--fg-2);background:var(--surface)}
.vsr .vdoc .vdh .sp{flex:1}
.vsr .vempty{flex:1;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--fg-2);font-size:14px;text-align:center;padding:24px}
.vsr .vempty.on{outline:2px dashed var(--accent);outline-offset:-14px}
.vsr .vf{display:grid;grid-template-columns:130px 1fr;gap:7px 10px;align-items:center;font-size:13px}
.vsr .vf label{color:var(--fg-3);font-size:12px}
.vsr .vf input,.vsr .vf select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%;min-width:0}
.vsr .vf input[readonly],.vsr .vf select:disabled{background:transparent;border-color:transparent;color:var(--fg);padding-left:0}
.vsr .vf input.dirty{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}
.vsr .vf input.num{text-align:right;font-variant-numeric:tabular-nums}
.vsr .vana{display:flex;flex-direction:column;gap:2px}.vsr .vapl{display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line)}
.vsr .vapn{font-size:12px;font-weight:600;color:var(--fg-2,#555);display:flex;align-items:center;gap:6px}.vsr .vapn i{width:8px;height:8px;border-radius:50%;flex:none}
.vsr .vaped{font-size:12px;padding:2px 9px}
.vsr .vsec{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin:16px 0 8px}
.vsr .vkpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.vsr .vkpi div{background:var(--surface-2);border-radius:8px;padding:8px 10px}.vsr .vkpi span{display:block;font-size:11px;color:var(--fg-3)}.vsr .vkpi b{font-size:15px;font-variant-numeric:tabular-nums}
.vsr .vacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vsr .vnote{font-size:12px;color:var(--fg-3);margin:10px 0 0}
.vsr .vmsg{font-size:12.5px;min-height:1.2em;margin-top:8px}
@media (max-width:900px){.vsr .vbody{grid-template-columns:1fr;grid-template-rows:auto 60vh}.vsr .vdata{border-right:0;border-bottom:1px solid var(--line)}}

/* ---------- contactos.js ---------- */
.mbar{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.mbar .mbt{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.mbar .mbb{position:relative;display:block;width:100%;height:4px;border-radius:99px;background:color-mix(in srgb,var(--accent) 16%,transparent);overflow:hidden}
.mbar .mbb i{position:absolute;right:0;top:0;bottom:0;background:var(--accent)}.mbar .mbb i.ov{background:var(--bad)}
#p-ctc .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}
#p-ctc .ftools input[type=search]{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);min-width:280px;background:var(--surface);color:var(--fg)}
#p-ctc .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
#p-ctc .fchips{display:flex;flex-wrap:wrap;gap:6px}#p-ctc .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}#p-ctc .fchip[aria-pressed="true"]{}
#p-ctc .sub,.ctcdlg .sub{font-size:11.5px;color:var(--fg-3)}
#p-ctc .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
#p-ctc .cw{position:relative;min-width:0;display:flex}#p-ctc .cw>.card{flex:1}#p-ctc .cw>.ck{position:absolute;top:8px;right:9px;z-index:1;line-height:0}#p-ctc .cw>.ck input{width:auto;margin:0;cursor:pointer;opacity:.45}#p-ctc .cw:hover>.ck input,#p-ctc .cw.sel>.ck input,#p-ctc .cw>.ck input:focus-visible{opacity:1}#p-ctc .cw.sel>.card{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
#p-ctc .card{display:flex;gap:10px;align-items:flex-start;text-align:left;font:inherit;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);cursor:pointer;min-width:0}
#p-ctc .card:hover,#p-ctc .card:focus-visible{border-color:var(--accent);box-shadow:0 2px 10px rgba(16,24,40,.08)}
#p-ctc .card.off{opacity:.55}
.ctcav{flex:none;width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff}
.ctcav.p{border-radius:50%}
#p-ctc .card .b{min-width:0;flex:1}#p-ctc .card .nm{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#p-ctc .card .ln{font-size:12px;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctag{display:inline-block;font-size:11px;border-radius:999px;padding:1px 8px;margin:3px 3px 0 0;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--fg-2);white-space:nowrap}
.ctag.r{background:color-mix(in srgb,var(--st-ok) 14%,var(--surface))}.ctag.s{background:color-mix(in srgb,#b35c00 14%,var(--surface))}
.cbadge{display:inline-block;font-size:10.5px;border-radius:999px;padding:0 7px;margin:3px 3px 0 0;border:1px solid var(--line);color:var(--fg-3)}.cbadge.ko{border-color:var(--bad);color:var(--bad)}.cbadge.pend{}
#p-ctc table.ct{width:100%;border-collapse:collapse;font-size:13px}
#p-ctc table.ct th.ck,#p-ctc table.ct td.ck{width:28px;padding-right:0}#p-ctc table.ct td.ck input,#p-ctc table.ct th.ck input{width:auto;margin:0;cursor:pointer}#p-ctc table.ct tr.sel td{background:color-mix(in srgb,var(--accent) 9%,transparent)}
#p-ctc .ctcbulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}#p-ctc .ctcbulk b{margin-right:6px}
#p-ctc table.ct tr.clk{cursor:pointer}#p-ctc table.ct tr.clk:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}#p-ctc table.ct tr.off td{opacity:.55}
#p-ctc .syncs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}#p-ctc .sync{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12.5px;background:var(--surface);min-width:260px}#p-ctc .sync .ko{color:var(--bad)}#p-ctc .sync .brow{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
#p-ctc .more{display:flex;justify-content:center;margin:12px 0}
.salnew{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.salh{margin:12px 0 6px;font-size:13px}.saltab{width:100%;border-collapse:collapse;font-size:13px}.saltab td{padding:6px 6px;border-bottom:1px solid var(--line)}.saltab td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.saltab tr{cursor:pointer}.saltab tr:hover td{background:var(--surface-2)}
.ctcdlg-bk .tdlg{max-width:900px;width:calc(100vw - 32px)}
/* 2.150.3: la ficha en un lateral (desde el editor de facturas y gastos) */
.ctcdlg-bk.ctcside{justify-content:flex-end;align-items:stretch;padding:0;background:rgba(10,12,16,.28)}
.ctcdlg-bk.ctcside .tdlg{max-width:none;width:min(760px,100vw);height:100vh;max-height:none;display:flex;flex-direction:column;animation:ctcsIn .18s ease-out}
.ctcdlg-bk.ctcside .tdlg-b{flex:1;overflow:auto;max-height:none}
@keyframes ctcsIn{from{transform:translateX(40px);opacity:.6}to{transform:none;opacity:1}}
.mgdlg .tdlg{max-width:1100px;width:calc(100vw - 32px)}.mgpick .tdlg{max-width:680px}
.mgwrap{overflow:auto;max-width:100%}.mgt{border-collapse:collapse;font-size:13px;min-width:100%}.mgt th,.mgt td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.mgt thead th{font-weight:400;min-width:170px;text-transform:none;letter-spacing:0;font-size:12.5px;background:var(--surface-2)}.mgt thead th.keep{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.mgt thead th:first-child{min-width:110px;background:none}
.mgt thead .nm{font-weight:600;margin-top:4px}.mgt tbody th{font-weight:600;white-space:nowrap;color:var(--fg-2,var(--fg))}.mgt td.on{background:color-mix(in srgb,var(--good) 9%,transparent)}.mgt td label{display:flex;gap:6px;align-items:flex-start;cursor:pointer}
.mgt thead th.res{vertical-align:bottom;font-weight:600}.mgt .res{border-right:2px solid var(--line);background:color-mix(in srgb,var(--accent) 6%,transparent);font-weight:600;min-width:170px}.mgt tr.same td,.mgt tr.same th{color:var(--fg-3)}.mgk{display:flex;gap:6px;align-items:center;cursor:pointer}
.mgh{margin:16px 0 6px;font-size:13px}.mgl{margin:0;padding-left:18px;font-size:13px;line-height:1.55}.mgnote{white-space:pre-wrap;font-size:12px;color:var(--fg-3);border-left:2px solid var(--line);padding:2px 0 2px 8px;margin-top:4px;max-height:120px;overflow:auto}
.mgwarn{margin-top:12px;padding:8px 12px;border:1px solid var(--warn,#b45309);border-radius:6px;background:color-mix(in srgb,var(--warn,#b45309) 8%,transparent);font-size:13px}.mgwarn p{margin:3px 0}
.mgban{margin:0 0 10px;padding:8px 12px;border-radius:6px;font-size:13px;background:color-mix(in srgb,var(--warn,#b45309) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn,#b45309) 40%,transparent)}.mgban.in{background:var(--surface-2);border-color:var(--line)}.mgban a{text-decoration:underline;cursor:pointer}
.dpg{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px}.dpw{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.dpt{width:100%;border-collapse:collapse;font-size:13px}.dpt td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:left!important;white-space:nowrap}.dpt td:nth-child(2){width:40%;white-space:normal}.dpt td:last-child{text-align:right!important}.dpt td.ck{width:24px}.dpt a{cursor:pointer}.dpg .brow{margin-top:8px;align-items:center}
.mpl,#mpSug{margin-top:8px}.mpr{display:flex;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}.mpr .sub{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viesc{display:block;min-width:0}
.eiw{display:block;position:relative}.eil{position:absolute;left:0;right:0;top:100%;z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(16,24,40,.16);max-height:300px;overflow:auto;padding:4px}.eil[hidden]{}
.eil button{display:block;width:100%;text-align:left;font:inherit;font-size:13px;border:0;background:none;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--fg)}.eil button:hover,.eil button.on{background:var(--surface-2)}.eig{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:6px 8px 2px}
.eiinfo{margin:8px 0 2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:12.5px}.eih{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.eih .btn{padding:2px 8px!important;font-size:12px!important}.eih .ok{color:var(--good)}
.eiinfo dl{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:6px 0 0}.eiinfo dt{color:var(--fg-3)}.eiinfo dd{margin:0}.eilk{cursor:pointer;text-decoration:underline}.viesw{display:flex;gap:6px;align-items:center}.viesw input{flex:1;min-width:0}.viesb{padding:2px 8px!important;font-size:12px!important;white-space:nowrap}.vies{display:block;font-size:12px;margin-top:3px;line-height:1.35}.vies:empty{display:none}.vies.ok{color:var(--good)}.vies.ko{color:var(--bad)}.vies.wa{color:var(--warn,#b45309)}.vies a{color:inherit;text-decoration:underline;cursor:pointer}
.ctcdlg .top{display:flex;gap:14px;align-items:flex-start}.ctcdlg .top .ctcav{width:56px;height:56px;font-size:20px}
.ctcdlg .kind{display:flex;gap:14px;font-size:13px;margin-bottom:6px}
.ctcdlg .nmi{font-size:20px!important;font-weight:600;padding:6px 8px!important}
.ctcdlg .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.ctcdlg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.ctcdlg label.ck{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg)}
.ctcdlg .w2{grid-column:span 2}.ctcdlg .w4{grid-column:1/-1}
.ctcdlg input,.ctcdlg select,.ctcdlg textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;width:100%;min-width:0;box-sizing:border-box}
.ctcdlg input[type=checkbox],.ctcdlg input[type=radio]{width:auto;flex:none}
.ctcdlg .tabs2{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:16px 0 10px;flex-wrap:wrap}.ctcdlg .tabs2 button{font:inherit;font-size:13px;border:0;background:none;padding:7px 10px;border-bottom:2px solid transparent;color:var(--fg-2);cursor:pointer}.ctcdlg .tabs2 button[aria-selected="true"]{border-color:var(--accent);color:var(--fg);font-weight:600}
.ctcdlg .kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.ctcdlg .kid{border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;background:var(--surface);text-align:left;font:inherit;color:var(--fg)}.ctcdlg .kid:hover{border-color:var(--accent)}
.ctcdlg .tagbox{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--bg)}.ctcdlg .tagbox input{border:0;padding:3px;flex:1;min-width:120px}.ctcdlg .tagbox .ctag button{border:0;background:none;cursor:pointer;color:inherit;padding:0 0 0 4px;font:inherit}
.ctcdlg .pp{position:relative}.ctcdlg .ppl{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(16,24,40,.16);max-height:220px;overflow:auto;padding:4px}.ctcdlg .ppl button{display:block;width:100%;text-align:left;font:inherit;font-size:13px;border:0;background:none;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--fg)}.ctcdlg .ppl button:hover,.ctcdlg .ppl button:focus-visible{background:var(--surface-2)}
.ctcdlg .act{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ctcdlg .act div{border:1px solid var(--line);border-radius:8px;padding:10px}.ctcdlg .act b{font-size:16px}
.ctcdlg .erp{font-size:12.5px;color:var(--fg-2)}.ctcdlg .erp .ko{color:var(--bad)}
@media (max-width:720px){.ctcdlg .g{grid-template-columns:1fr 1fr}#p-ctc .ftools input[type=search]{min-width:0;width:100%}.ctcdlg .act{grid-template-columns:1fr}}

/* ---------- contactos.js ---------- */
.cfp{--gap:16px}
.cfp .cfbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.cfp .crumb{font-size:15px;display:flex;gap:6px;align-items:center;min-width:0}.cfp .crumb a{color:var(--accent);text-decoration:none;cursor:pointer}.cfp .crumb a:hover{text-decoration:underline}
.cfp .crumb b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50vw}
.cfp .cfbar .sp{flex:1}.cfp .dirty{font-size:12px;color:var(--warn,#b35c00)}
.cfp .cfnew{position:relative}.cfp .cfnew .mn{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(16,24,40,.16);padding:6px;min-width:200px}
.cfp .cfnew .mn button{display:block;width:100%;text-align:left;font:inherit;font-size:13.5px;border:0;background:none;color:var(--fg);padding:8px 10px;border-radius:7px;cursor:pointer}.cfp .cfnew .mn button:hover{background:var(--surface-2)}
.cfp .smart{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 var(--gap);background:var(--surface)}
.cfp .smart button{flex:1 1 130px;min-width:120px;font:inherit;text-align:left;border:0;border-right:1px solid var(--line);background:none;color:var(--fg);padding:9px 14px;cursor:pointer;display:flex;flex-direction:column;gap:1px}
.cfp .smart button:last-child{border-right:0}.cfp .smart button:hover{background:var(--surface-2)}
.cfp .smart b{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.cfp .smart span{font-size:11.5px;color:var(--fg-3)}.cfp .smart b.warn{color:var(--bad)}
.cfp .cfgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--gap);align-items:start}.cfp .cfgrid.nochat{grid-template-columns:minmax(0,1fr)}.cfp .cfgrid.nochat>aside.chat{display:none}.cfp .chat{}.cfp .cfchx{position:absolute;top:8px;right:8px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);border-radius:6px;width:26px;height:24px;cursor:pointer;line-height:1}.cfp .cfchx:hover{color:var(--fg);border-color:var(--fg-3)}.cfp .chat>.acts{padding-right:30px}.cfp .cfdw{max-height:none!important;overflow-x:auto}.cfp #cfDocsT td.anaw{white-space:normal!important;min-width:160px;max-width:300px}.cfp #cfDocsT td.anaw .achip{margin:1px 2px 1px 0}
.cfp .sheet{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;min-width:0}
.cfp .cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;margin-top:14px}
.cfp .fr{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;min-height:34px}
.cfp .fr>span{font-size:12.5px;color:var(--fg-2);font-weight:500}
/* 2.150.8: la dirección, a todo el ancho de la ficha: calle y 2.ª línea anchas; C. P., población, provincia y país en una fila */
.cfp .fr.adrw{margin-bottom:6px}.cfp .fr.adrw .adrg{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.cfp .fr.adrw .adrg>.w:nth-child(-n+2){grid-column:1/-1}.cfp .fr.adrw .adrg>.w:last-child{grid-column:auto}
@media (max-width:720px){.cfp .fr.adrw .adrg{grid-template-columns:90px 1fr}.cfp .fr.adrw .adrg>.w{grid-column:1/-1!important}}
.cfp .fr.adr{align-items:start}.cfp .fr.adr>span{padding-top:8px}.cfp .adrg{display:grid;grid-template-columns:90px 1fr 1fr;gap:6px}.cfp .adrg .w{grid-column:1/-1}
.cfp input,.cfp select,.cfp textarea{font:inherit;font-size:13.5px;color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--line);padding:6px 2px;width:100%;min-width:0;box-sizing:border-box}
.cfp input:hover,.cfp select:hover,.cfp textarea:hover{border-bottom-color:var(--fg-3)}
.cfp input:focus,.cfp select:focus,.cfp textarea:focus{outline:0;border-bottom:2px solid var(--accent);padding-bottom:5px}
.cfp input[type=checkbox],.cfp input[type=radio]{width:auto;flex:none;border:0}
.cfp input:disabled,.cfp select:disabled,.cfp textarea:disabled{border-bottom-color:transparent;color:var(--fg)}
.cfp .ck{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--fg);margin-right:14px}
.cfp .top{display:flex;gap:16px;align-items:flex-start}.cfp .top .ctcav{width:72px;height:72px;font-size:24px;border-radius:10px}.cfp .top .ctcav.p{border-radius:50%}
.cfp .nmi{font-size:26px!important;font-weight:600;padding:4px 2px!important;font-family:var(--font-display,inherit)}
.cfp .kind{display:flex;gap:4px;font-size:13px;margin-bottom:4px}
.cfp .pp{position:relative}.cfp .ppl{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(16,24,40,.14);max-height:260px;overflow:auto}
.cfp .ppl button{display:block;width:100%;text-align:left;font:inherit;font-size:13px;border:0;background:none;color:var(--fg);padding:7px 10px;cursor:pointer}.cfp .ppl button:hover{background:var(--surface-2)}
.cfp .tagbox{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:3px 0;min-height:32px}.cfp .tagbox input{border:0!important;padding:3px!important;flex:1;min-width:120px}
.cfp .ctag button{border:0;background:none;color:inherit;cursor:pointer;padding:0 0 0 4px;font:inherit}
.cfp .tabs2{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:22px 0 14px;flex-wrap:wrap}
.cfp .tabs2 button{font:inherit;font-size:13px;border:0;background:none;padding:8px 12px;border-bottom:2px solid transparent;color:var(--fg-2);cursor:pointer;margin-bottom:-1px}
.cfp .tabs2 button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--fg);font-weight:600}
.cfp .kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.cfp .kid{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;font-size:12.5px;cursor:pointer;background:var(--bg);color:var(--fg);text-align:left}.cfp .kid:hover{border-color:var(--accent)}
.cfp table.cft2{width:100%;border-collapse:collapse;font-size:13px}.cfp table.cft2 th{font-size:11.5px;font-weight:600;color:var(--fg-3);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.cfp table.cft2 td{padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.cfp table.cft2 td.n,.cfp table.cft2 th.n{text-align:right;font-variant-numeric:tabular-nums}
.cfp table.cft2 tr[data-doc],.cfp table.cft2 tr[data-acc]{cursor:pointer}.cfp table.cft2 tr[data-doc]:hover td,.cfp table.cft2 tr[data-acc]:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.cfp table.cft2 tfoot td{font-weight:600;border-bottom:0}.cfp .ell{max-width:280px;overflow:hidden;text-overflow:ellipsis}
.cfp .chip{display:inline-block;font-size:11px;padding:1px 8px;background:var(--surface-2);color:var(--fg-2)}.cfp .chip.ok{background:color-mix(in srgb,var(--st-ok) 14%,var(--surface));color:var(--st-ok)}.cfp .chip.ko{background:color-mix(in srgb,var(--bad) 14%,var(--surface));color:var(--bad)}.cfp .chip.dr{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}
.cfp .fchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.cfp .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}.cfp .fchip[aria-pressed=true]{}
.cfp .banks td input{border-bottom-color:transparent}.cfp .banks td input:hover{border-bottom-color:var(--line)}.cfp .banks .x{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:16px}
.cfp .chat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.cfp .chat.drop{outline:2px dashed var(--accent);outline-offset:-6px}
.cfp .chat h4{margin:0 0 8px;font-size:13px}.cfp .chat .acts{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.cfp .chat textarea{border:1px solid var(--line);padding:8px;min-height:70px;resize:vertical}
.cfp .files{display:flex;flex-direction:column;gap:6px;margin:6px 0 14px}
.cfp .file{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;background:var(--bg)}
.cfp .file .ic{flex:none;width:30px;height:30px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;background:#6b7280}.cfp .file .ic.pdf{background:#b3261e}.cfp .file .ic.img{background:#1a7f37}.cfp .file .ic.xls{background:#107c41}.cfp .file .ic.doc{background:#185abd}
.cfp .file .nm{flex:1;min-width:0}.cfp .file .nm a{color:var(--fg);text-decoration:none;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfp .file .nm a:hover{color:var(--accent)}
.cfp .file button{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:15px;padding:2px 4px}
.cfp .tl{list-style:none;margin:0;padding:0}.cfp .tl li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}
.cfp .tl .who{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}
.cfp .tl .bd{min-width:0;flex:1}.cfp .tl .meta{color:var(--fg-3);font-size:11.5px}.cfp .tl .tx{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.cfp .tl li.k-note .tx{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-radius:8px;padding:6px 8px}
.cfp .tl li.k-change .tx{color:var(--fg-2)}
.cfp .msg{font-size:12.5px;color:var(--fg-2);min-height:16px}
.cfp .act2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cfp .act2>div{border:1px solid var(--line);border-radius:8px;padding:10px}
@media (max-width:1100px){.cfp .cfgrid{grid-template-columns:1fr}.cfp .chat{position:static;max-height:none}}
@media (max-width:720px){.cfp .cols{grid-template-columns:1fr}.cfp .fr{grid-template-columns:1fr}.cfp .sheet{padding:14px}.cfp .act2{grid-template-columns:1fr}}

/* ---------- importador.js ---------- */
#p-imp .srcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:8px 0 16px}
#p-imp .src{text-align:left;font:inherit;color:var(--fg);border:1px solid var(--line);padding:14px;cursor:pointer}
#p-imp .src:hover,#p-imp .src[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
#p-imp .src b{display:block;font-size:14.5px;margin-bottom:4px}#p-imp .src span{font-size:12.5px;color:var(--fg-2)}
#p-imp .box{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);margin-bottom:16px}
#p-imp .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}#p-imp .w2{grid-column:span 2}#p-imp .w4{grid-column:1/-1}
#p-imp label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}#p-imp label.ck{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg)}
#p-imp input,#p-imp select{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;min-width:0}
#p-imp input[type=checkbox],#p-imp input[type=radio]{width:auto}
#p-imp table.it{width:100%;border-collapse:collapse;font-size:12.5px}#p-imp table.it th,#p-imp table.it td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}#p-imp table.it th{font-size:11px;color:var(--fg-3);font-weight:600}
#p-imp .prev{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:8px}
#p-imp .note{font-size:12.5px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--st-warn) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--st-warn) 35%,transparent);margin:8px 0}
#p-imp .ok{color:var(--good,#1a7f37)}#p-imp .ko{color:var(--bad)}#p-imp .sub{font-size:11.5px;color:var(--fg-3)}
#p-imp .bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin:6px 0}#p-imp .bar i{display:block;height:100%;background:var(--accent);transition:width .3s}
@media (max-width:720px){#p-imp .g{grid-template-columns:1fr 1fr}}

/* ---------- flujo.js ---------- */
#p-cfw .cfiva{display:inline-flex;margin-right:6px}#p-cfw .cfiva button{font-size:12.5px;padding:3px 10px}#p-cfw .cfinc{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:0 0 10px;padding:8px 12px;border:1px solid var(--line);font-size:13px}#p-cfw .cfinc .cfincl{color:var(--fg-3);font-size:12px}#p-cfw .cfinc label.ck{display:inline-flex;gap:5px;align-items:center}
#p-cfw .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}
#p-cfw .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
#p-cfw .ftools label.ck{display:flex;gap:5px;align-items:center;font-size:13px}
#p-cfw .fchips{display:flex;gap:6px}#p-cfw .fchip{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--fg-2);padding:3px 10px;cursor:pointer}#p-cfw .fchip[aria-pressed="true"]{}
#p-cfw .chart{height:260px;margin:4px 0 0}
#p-cfw .scg{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:4px 0 14px}
#p-cfw .scc{border:1px solid var(--line);border-top:3px solid var(--sc);border-radius:10px;padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:8px}
#p-cfw .scn{font:inherit;font-weight:700;font-size:14px;border:0;background:transparent;color:var(--fg);padding:2px 0;width:100%}
#p-cfw .scp{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--fg-2)}#p-cfw .scp input{width:64px}
#p-cfw .scp input,#p-cfw .scx input{font:inherit;font-size:12.5px;padding:3px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
#p-cfw .scx{display:flex;flex-direction:column;gap:4px}#p-cfw .scxi{display:flex;gap:4px;align-items:center}#p-cfw .scxi input[data-k=label]{flex:1;min-width:0}#p-cfw .scxi input[data-k=amount]{width:100px}#p-cfw .scx .btn{padding:2px 8px;font-size:12px;align-self:flex-start}
#p-cfw .scr{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:8px}#p-cfw .scr span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}#p-cfw .scr b{font-size:14px;font-variant-numeric:tabular-nums}#p-cfw .scr small{display:block;font-size:11px;color:var(--fg-3)}#p-cfw .pos{color:var(--good)}
#p-cfw table.cf td.xoff{text-decoration:line-through;color:var(--fg-3)}#p-cfw table.cf tr.xrow td:first-child{color:var(--fg-3)}#p-cfw table.cf td.xpart{box-shadow:inset 0 -2px 0 var(--fg-3)}#p-cfw .xck{display:inline-flex;gap:6px;align-items:center;cursor:pointer}#p-cfw .xck input{margin:0}.cfdlg .xnote{display:flex;gap:8px;align-items:center;margin:0 0 10px;font-size:13px}.cfdlg tr.xrow td{color:var(--fg-3)}.cfdlg td.xoff{text-decoration:line-through}
#p-cfw table.cf{border-collapse:separate;border-spacing:0;font-size:12.5px;width:100%}
#p-cfw table.cf th,#p-cfw table.cf td{padding:5px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
#p-cfw table.cf th:first-child,#p-cfw table.cf td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1;min-width:220px}
#p-cfw table.cf thead th{font-size:11px;color:var(--fg-3);font-weight:600;background:var(--surface)}#p-cfw table.cf thead th:first-child{z-index:3}
#p-cfw table.cf .past{color:var(--fg-3);background:color-mix(in srgb,var(--fg-3) 5%,transparent)}#p-cfw table.cf thead th.cur{color:var(--accent)}
#p-cfw table.cf tr.sec td{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-weight:600;background:var(--surface-2,#f4f5f7)}
#p-cfw table.cf tr.tot td{font-weight:700}#p-cfw table.cf tr.bal td{font-weight:700;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
#p-cfw table.cf td.clk,#p-cfw table.cf td[data-real]{cursor:pointer}#p-cfw table.cf td[data-real]:hover,#p-cfw table.cf td.clk:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
#p-cfw .neg{color:var(--bad)}#p-cfw .sub{font-size:11.5px;color:var(--fg-3)}
#p-cfw .notes{font-size:12px;color:var(--fg-2);margin:10px 0 0 16px}
#p-cfw .lg{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--fg-2);margin:0 0 6px}#p-cfw .lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.cfdlg .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.cfdlg .w2{grid-column:span 2}.cfdlg .w4{grid-column:1/-1}
.cfdlg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}.cfdlg label.ck{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg)}
.cfdlg input,.cfdlg select,.cfdlg textarea{font:inherit;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:7px 8px;min-width:0}
/* 2.265.0: detalle de una cifra */
.cfx-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}.cfx-sum{flex:1;font-size:13px;color:var(--fg-2)}.cfx-sum b{color:var(--fg);font-variant-numeric:tabular-nums}
.cfdlg label.cfx-sw{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--fg);white-space:nowrap;cursor:pointer}.cfdlg .cfx-sw input{margin:0}.cfx-lock{font-size:13px;display:inline-flex;gap:8px;align-items:center}
.cfx-bar{display:flex;gap:6px;align-items:center;margin:0 0 8px}.cfx-bar input[type=search]{flex:1;min-width:0}.cfx-bar .btn{white-space:nowrap}
.cfx-wrap{max-height:min(62vh,640px);overflow:auto;border:1px solid var(--line);border-radius:8px}
.cfdlg table.cfx-t{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12.5px}
.cfx-t th,.cfx-t td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cfx-t thead th{position:sticky;top:0;z-index:1;background:var(--surface,var(--bg));font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3)}
.cfx-t th.srt{cursor:pointer;user-select:none}.cfx-t th.srt:hover{color:var(--fg)}
.cfx-t tfoot th{position:sticky;bottom:0;background:var(--surface,var(--bg));border-top:1px solid var(--line);border-bottom:0;font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--fg)}
.cfx-t th:nth-child(1){width:34px}.cfx-t th:nth-child(2){width:104px}.cfx-t th:nth-child(3){width:150px}.cfx-t th:nth-child(5){width:150px}.cfx-t th:nth-child(6){width:120px}
.cfx-t .c{text-align:center}.cfx-t .c input{margin:0}.cfx-t .r{text-align:right}.cfx-t .nw{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfx-t .el{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfx-t td.r{font-variant-numeric:tabular-nums}.cfx-t tbody tr:hover td{background:var(--hover,rgba(0,0,0,.03))}.cfx-t .sub{color:var(--fg-3);font-size:11.5px}
.cfx-tag{display:inline-block;margin-left:6px;font-size:10.5px;padding:0 5px;border-radius:4px;background:var(--line);color:var(--fg-2)}.cfx-tag.neg{background:rgba(180,35,24,.1);color:var(--bad,#b42318)}
@media (max-width:720px){.cfx-t th:nth-child(5),.cfx-t td:nth-child(5){display:none}.cfx-t th:nth-child(3){width:110px}}
.cfdlg table{width:100%;border-collapse:collapse;font-size:12.5px}.cfdlg td,.cfdlg th{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left}.cfdlg td.r,.cfdlg th.r{text-align:right;white-space:nowrap}
@media (max-width:720px){.cfdlg .g{grid-template-columns:1fr 1fr}}

/* ---------- subvenciones.js ---------- */
#p-sbv .sbvh{font-family:var(--font-display);font-weight:500;font-size:19px;margin:0 0 12px}#p-sbv .tbload{padding:20px 0;color:var(--fg-3)}#p-sbv .tbempty{color:var(--fg-3);padding:14px 8px}

/* ---------- prestamos.js ---------- */
.lnsch td,.lnsch th{white-space:nowrap}.lnsch tr.past td{color:var(--fg-3)}.lnsch td.r,.lnsch th.r{text-align:right;font-variant-numeric:tabular-nums}.tdlg .lnk{background:none;border:0;color:var(--bad,#B3261E);cursor:pointer;font:inherit;padding:0 4px}

/* ---------- compras.js ---------- */
#p-oc .ftools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}#p-oc .ftools .sp{flex:1}
#p-oc .ftools input[type=search]{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);min-width:280px;background:var(--surface);color:var(--fg)}
#p-oc .ftools select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
#p-oc .ocsum{font-size:13px;color:var(--fg-2);margin:0 0 10px}#p-oc .empty{color:var(--fg-3);padding:16px 8px}
.ocdlg .tdlg{max-width:min(1100px,100%)}.ocdlg .tdlg h3 .bchip{vertical-align:middle;margin-left:6px}
.ocbed{grid-template-columns:repeat(4,minmax(0,1fr))}.ocana{width:100%;text-align:left;min-height:34px;display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.ocl2{width:100%;margin-top:14px;border-collapse:collapse}.ocl2 th,.ocsch th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-weight:600;text-align:left;padding:4px 6px}
.ocl2 td,.ocsch td{padding:3px 4px;vertical-align:top}.ocl2 .n,.ocsch .n{text-align:right}.ocl2 td.n input{text-align:right;max-width:110px}.ocl2 .ocb{padding-top:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ocl2 textarea{resize:vertical;min-height:34px}.ocadd{margin:6px 0 0}.octot{margin:10px 0 0 auto;max-width:300px;font-size:13px}.octot div{display:flex;justify-content:space-between;padding:2px 0}.octot .t{font-weight:700;border-top:1px solid var(--ink,#141414);margin-top:4px;padding-top:6px}
.ocsec{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.ocsec h4{font-size:13px;margin:0 0 6px}.ocsec textarea{width:100%;margin:4px 0 10px}
.ocgrid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ocrec{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px;font-size:13px}.ocrec label{display:flex;gap:6px;align-items:center}.ocrec .sub{flex-basis:100%;margin:0}
.ocsch{width:100%;border-collapse:collapse}.ocsch input{width:100%}
.ocmini{width:100%;border-collapse:collapse;font-size:13px}.ocmini th{font-size:11px;text-transform:uppercase;color:var(--fg-3);text-align:left;padding:4px 6px;font-weight:600}.ocmini td{padding:4px 6px;border-top:1px solid var(--line)}.ocmini .n{text-align:right}
.ocsum2{font-size:13px;margin-top:6px;text-align:right}.ocfile{display:inline-flex;align-items:center;gap:2px;margin:0 10px 4px 0;font-size:13px}
.ochist{font-size:12px;margin:6px 0 0 16px;padding:0}.ocwarn{font-size:13px;padding:7px 10px;margin:0 0 8px;border-left:3px solid var(--fg-3);background:var(--surface-2)}.ocwarn.dev{border-color:var(--bad,#b42318)}.ocwarn.late{border-color:#E67E22}
.oclks{display:flex;flex-direction:column;gap:4px;margin:6px 0;max-height:280px;overflow:auto}.oclk{font-size:13px;display:flex;gap:6px;align-items:baseline;cursor:pointer}
.ocapr{font-family:var(--font-display);font-weight:500;font-size:16px;margin:22px 0 8px}.ocapr .muted{font-size:13px;font-family:var(--font-body,inherit)}
@media (max-width:760px){.ocbed{grid-template-columns:1fr 1fr}.ocgrid2{grid-template-columns:1fr}}

/* ---------- crm.js ---------- */
#p-crmo .seg button.on,#p-crma .seg button.on{background:var(--ink,#141414);color:var(--surface,#fff);border-color:var(--ink,#141414)}
#p-crmo .ftools,#p-crma .ftools{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:4px 0 12px}#p-crmo .ftools .sp{flex:1}.crmsum{font-size:13px;color:var(--fg-2)}
.crmhid{display:none!important}
.crmkb{display:flex;gap:12px;overflow-x:auto;padding:2px 0 12px;align-items:flex-start;min-height:300px}
.crmcol{flex:1 0 220px;max-width:300px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;max-height:calc(100vh - 250px)}
.crmcol.over{outline:2px dashed var(--accent);outline-offset:-2px}.crmcol.won{background:color-mix(in srgb,var(--good) 7%,var(--surface-2))}.crmcol.lost{opacity:.75}
.crmch{display:flex;gap:6px;align-items:baseline;padding:10px 12px 8px;border-bottom:1px solid var(--line);font-size:13px}.crmch .crmcs{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--fg-2)}
.crmcb{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.crmempty{color:var(--fg-3);text-align:center;font-size:12px;padding:10px}
.crmcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 10px;cursor:pointer;font-size:13px;display:flex;flex-direction:column;gap:4px}
.crmcard:hover{border-color:var(--fg-3)}.crmcard.drag{opacity:.4}.crmcard.won{border-left:3px solid var(--good)}.crmcard.lost{opacity:.65}
.crmct{font-weight:600;line-height:1.25}.crmcc{color:var(--fg-2);font-size:12px}.crmcm{display:flex;gap:8px;align-items:center;font-variant-numeric:tabular-nums}.crmcm .sub{font-size:11.5px}
.crmav{margin-left:auto;width:22px;height:22px;border-radius:50%;background:var(--ink,#141414);color:var(--surface,#fff);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.crmcn{font-size:11.5px;color:var(--fg-2)}.crmcn.late{color:var(--bad,#b42318)}.crmco{font-size:11px;color:var(--fg-3)}.crmtg{display:flex;flex-wrap:wrap;gap:4px}.crmtg span{font-size:10.5px;border:1px solid var(--line);border-radius:999px;padding:0 7px;color:var(--fg-2)}
tr.crmdone td{color:var(--fg-3)}tr.crmlate td{background:color-mix(in srgb,var(--bad,#b42318) 5%,transparent)}.crmatab td.ck{width:28px}
.crmdlg .tdlg{max-width:min(980px,100%)}.crmdlg h3 .bchip{vertical-align:middle;margin-left:6px}.crmbed{grid-template-columns:repeat(4,minmax(0,1fr))}.crmbed textarea{width:100%}
.crmacts{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.crmacts li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:5px 6px;border-bottom:1px solid var(--line)}
.crmacts li.done b{text-decoration:line-through;color:var(--fg-3)}.crmacts li.late .sub{color:var(--bad,#b42318)}.crmacts li .lnk{margin-left:auto}.crmacts .ty{display:inline-block;width:16px;text-align:center}
.crmdfind{position:relative;margin-top:6px;max-width:640px}.crmdfind input{width:100%}.crmdsugs{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:300px;overflow:auto}
.crmdsg{display:grid;gap:8px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:7px 10px;font:inherit;font-size:13px;cursor:pointer}.crmdsg.on,.crmdsg:hover{background:var(--surface-2)}.crmdsg{grid-template-columns:auto auto auto 1fr auto auto}.crmdsg.pk{background:color-mix(in srgb,var(--accent) 8%,transparent)}.crmck{font-size:14px;color:var(--accent)}.crmdfoot{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 10px;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line)}.crmdtot td{border-top:1px solid var(--ink,#141414)}.crmpj{display:flex;gap:6px}.crmpj input{flex:1;min-width:0}
.crmdsg.none{display:block;color:var(--fg-3);cursor:default}.crmdsg .n{font-variant-numeric:tabular-nums}
.crmaadd{display:flex;gap:6px;flex-wrap:wrap}.crmaadd input#caTi{flex:1;min-width:220px}
.crmcf{background:var(--surface);border:1px solid var(--line);padding:16px 18px;margin-bottom:14px}
#p-crmc input:not([type=checkbox]){font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--line);background:var(--surface);color:var(--fg);outline:none;box-shadow:none}#p-crmc input:not([type=checkbox]):focus{border-color:var(--ink,#141414)}#p-crmc input:disabled{background:var(--surface-2);color:var(--fg-3)}.crmcf h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin:0 0 10px;font-weight:600}
.crmg2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.crmg2 .crmcf{margin-bottom:0}
.crmcos{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.crmcos .btn.on,#p-crmc .seg button.on{background:var(--ink,#141414);color:var(--surface,#fff);border-color:var(--ink,#141414)}
.crmflow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;margin:0 0 14px;padding:10px 12px;background:var(--surface-2);border-radius:8px}.crmflow span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px 10px}.crmflow span.ok{border-color:color-mix(in srgb,var(--good) 45%,transparent);color:var(--good)}.crmflow span.bad{border-color:color-mix(in srgb,var(--bad,#b42318) 40%,transparent);color:var(--bad,#b42318)}.crmflow i{font-style:normal;color:var(--fg-3)}
.crmsth,.crmst{display:grid;grid-template-columns:22px minmax(160px,1fr) 96px minmax(80px,180px) 86px 24px;gap:10px;align-items:center}
.crmsth{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-weight:600;padding:0 0 6px;border-bottom:1px solid var(--ink,#141414)}
.crmst{padding:7px 0;border-bottom:1px solid var(--line)}.crmst.drag{opacity:.4}.crmst.over{box-shadow:0 -2px 0 var(--accent) inset}.crmst.won,.crmst.lost{background:var(--surface-2)}
.crmgrip{cursor:grab;color:var(--fg-3);text-align:center;letter-spacing:-2px;user-select:none}.crmst .sn{width:100%}.crmpr{display:flex;align-items:center;gap:4px}.crmpr input{width:60px;text-align:right}.crmpr span{color:var(--fg-3);font-size:12px}
.crmbar{height:6px;background:var(--line);border-radius:999px;overflow:hidden}.crmbar i{display:block;height:100%;background:var(--accent,#1f4fd1)}.crmst.won .crmbar i{background:var(--good)}.crmst .bchip{justify-self:start}.crmrm{font-size:16px}
.crmcfb{margin-top:12px;align-items:center}.crmchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.crmchip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 11px;font-size:13px;background:var(--surface)}.crmchip button{border:0;background:none;color:var(--fg-3);cursor:pointer;font-size:14px;line-height:1;padding:0 3px}.crmchip button:hover{color:var(--bad,#b42318)}
.crmadd{display:flex;gap:6px}.crmadd input{flex:1}.crmseg button{font-size:12px;padding:3px 10px}
@media (max-width:760px){.crmbed{grid-template-columns:1fr 1fr}.crmg2{grid-template-columns:1fr}.crmsth{display:none}.crmst{grid-template-columns:22px 1fr 86px;row-gap:6px}.crmst .crmbar{grid-column:2/4}.crmcol{flex-basis:84vw}}

/* ---------- compensar.js ---------- */
.cpdlg .tdlg{max-width:min(1060px,100%)}.cpgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.cpcol h4{font-size:13px;margin:0 0 6px;display:flex;justify-content:space-between;gap:8px}.cpcol h4 small{font-weight:400;color:var(--fg-3)}
.cpt{width:100%;border-collapse:collapse;font-size:12.5px}.cpt th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-weight:600;text-align:left;padding:4px 5px;border-bottom:1px solid var(--line)}
.cpt td{padding:4px 5px;border-bottom:1px solid var(--line);vertical-align:middle}.cpt .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cpt input.cpa{width:96px;text-align:right;font:inherit;padding:4px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.cpt tr.off td{color:var(--fg-3)}.cpt tr.off input.cpa{opacity:.45}.cpt .ref{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bad,#b42318);margin-left:4px}
.cpsum{margin-top:12px;padding:10px 12px;border:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:13px}.cpsum .ok{color:var(--good,#1E7A46);font-weight:700}.cpsum .ko{color:var(--bad,#b42318);font-weight:700}
.cphd{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.cphd label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--fg-2)}.cphd input,.cphd select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.cpprev{margin-top:14px;font-size:12.5px}.cpprev li{margin:2px 0}.cpnote{font-size:12px;color:var(--fg-3);margin:8px 0 0}
.cpar{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--accent,#0F4C81);font-size:13px}.cpar ul{margin:6px 0 0 18px;padding:0}.cpar li{margin:3px 0}
@media (max-width:760px){.cpgrid{grid-template-columns:1fr}}

/* ---------- prevision.js ---------- */
#p-prev .pvks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 12px}#p-prev .pvk{border:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:3px}
#p-prev .pvkl{font-size:12px;color:var(--fg-2);display:flex;align-items:center;gap:6px}#p-prev .pvkl i,#p-prev .pvleg i{display:inline-block;width:10px;height:10px;border-radius:2px}#p-prev .pvk b{font-size:20px;font-variant-numeric:tabular-nums}#p-prev .pvk small{font-size:11.5px;color:var(--fg-3)}
#p-prev .pvrng{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;margin:0 0 8px}#p-prev .pvrng label{display:inline-flex;gap:6px;align-items:center}#p-prev .pvrng input[type=month]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}#p-prev .pvrng .sp{flex:1}#p-prev .pvrng .btn{padding:4px 10px;font-size:12.5px}#p-prev .pvsw{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line)}#p-prev .pvsw .sub{font-size:11.5px}#p-prev .pvck{display:inline-flex;gap:5px;align-items:center;cursor:pointer}
#p-prev .pvch{margin:0 0 14px}#p-prev .pvch h3{font-size:14px;margin:0 0 4px}#p-prev .pvch h3 small{font-weight:400;color:var(--fg-3)}#p-prev .pvsvg{overflow-x:auto}
#p-prev .pvleg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--fg-2);margin:0 0 4px}#p-prev .pvleg span{display:inline-flex;align-items:center;gap:5px}#p-prev .pvleg .off{opacity:.45;text-decoration:line-through}
#p-prev .pvt td.pvm{font-size:11px;text-align:right;color:var(--fg-3);padding:6px 4px;min-width:40px}#p-prev .pvt td.pvm.on{background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--fg);font-weight:600}#p-prev .pvt th.pvmh{padding:8px 4px;text-align:right}
#p-prev .pvtw{overflow-x:auto;border:1px solid var(--line)}#p-prev .pvst{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
#p-prev .pvst th,#p-prev .pvst td{padding:5px 8px;border-bottom:1px solid var(--line);white-space:nowrap}#p-prev .pvst thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-weight:600;text-align:right}
#p-prev .pvst thead th.cur{color:var(--fg);border-bottom:2px solid var(--ink,#141414)}#p-prev .pvst thead th small{font-size:9px;text-transform:none;letter-spacing:0;font-weight:400}
#p-prev .pvst tbody th{text-align:left;font-weight:500;position:sticky;left:0;background:var(--surface,#fff);min-width:170px;max-width:220px;white-space:normal;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--fg)}#p-prev .pvst tbody th small{display:block;font-size:10.5px;line-height:1.25}#p-prev .pvst td{padding:5px 6px}#p-prev .pvst tbody th i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}#p-prev .pvst tbody th small{color:var(--fg-3);font-weight:400}
#p-prev .pvst .n{text-align:right}#p-prev .pvst tr.off td{color:var(--fg-3);text-decoration:line-through}#p-prev .pvst tr.grp th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);background:var(--surface-2,#f6f6f4);padding-top:8px}
#p-prev .pvst tr.tot th,#p-prev .pvst tr.tot td{font-weight:700;border-top:1px solid var(--ink,#141414)}#p-prev .pvst tr.res td,#p-prev .pvst tr.res th{font-weight:600}#p-prev .pvst tr.sal th,#p-prev .pvst tr.sal td{font-weight:700;background:color-mix(in srgb,var(--accent,#0F4C81) 7%,transparent)}
#p-prev .pvst tr.firm th,#p-prev .pvst tr.firm td{font-weight:500;color:var(--fg-2);background:none}.pvdlg .pvadw{max-height:52vh;overflow:auto;border:1px solid var(--line)}.pvdlg .pvad{width:100%;border-collapse:collapse;font-size:12.5px}.pvdlg .pvad th,.pvdlg .pvad td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.pvdlg .pvad .n{text-align:right;white-space:nowrap}.pvdlg .pvcfr{margin:8px 0 4px;display:flex;gap:14px;align-items:center}
#p-prev .pvst td.neg{color:var(--bad,#b42318)}
#p-prev .pvlist tr.off td{color:var(--fg-3)}#p-prev .pvlist tr.off b{text-decoration:line-through;font-weight:500}#p-prev .pvlist .pjn{background:none;border:0;padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left}#p-prev .pvlist .pjn:hover b{text-decoration:underline}
#p-prev .pvlist tr.paidrow td:first-child{box-shadow:inset 4px 0 0 #2E8B57}#p-prev .pvlist .pdb{display:inline-block;--st:var(--st-ok);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;line-height:15px;padding:0 6px;border:1px solid color-mix(in srgb,var(--st) 40%,var(--bg));border-radius:0;color:var(--st);background:color-mix(in srgb,var(--st) 8%,var(--bg))}
#p-prev .pvlist .cfs{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}#p-prev .pvlist .pvact{white-space:nowrap;text-align:right}#p-prev .pvlist .pvact .btn{padding:3px 10px;font-size:12px}#p-prev .pvlist .nw{white-space:nowrap}
#p-prev .pviva{display:inline-flex;margin-right:6px}#p-prev .pviva button{font-size:12.5px;padding:3px 10px}#p-prev .pvanasel{margin-left:auto}#p-prev .pvanasel select{font:inherit;font-size:12.5px;padding:3px 6px;max-width:280px}#p-prev .pvfilt.pvana{background:#EEF3F8;border-left-color:#0F4C81;display:flex;gap:10px;align-items:center}#p-prev .pvfilt.pvana span{flex:1}#p-prev .pvfilt{margin:14px 0 8px;padding:8px 12px;background:#FFF7E6;border-left:3px solid #E0A23B;font-size:13px}
#p-prev .pvfbarX{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 12px;margin:4px 0 14px;border:1px solid var(--ink,#141414);background:var(--surface,#fff);position:sticky;top:0;z-index:6}
#p-prev .pvq{flex:1 1 320px;display:flex}#p-prev #pvQ{flex:1;font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line);background:var(--surface,#fff);color:var(--fg)}
#p-prev .pvfl{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--fg-2)}#p-prev .pvfl select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line);background:var(--surface,#fff);color:var(--fg)}
#p-prev .pvseg{display:inline-flex;border:1px solid var(--line)}#p-prev .pvseg button{font:inherit;font-size:12.5px;padding:5px 10px;border:0;border-left:1px solid var(--line);background:var(--surface,#fff);color:var(--fg-2);cursor:pointer}#p-prev .pvseg button:first-child{border-left:0}#p-prev .pvseg button.on{background:var(--ink,#141414);color:#fff}
#p-prev .pvclr{font:inherit;font-size:12.5px;background:none;border:0;color:var(--accent,#0F4C81);text-decoration:underline;cursor:pointer;padding:0}#p-prev .pvfnote{font-size:11.5px;color:var(--fg-3)}
#p-prev .cfv.real{box-shadow:inset 0 -2px 0 var(--c)}#p-prev .cft small.dev{display:block;font-size:10px;font-weight:600;margin-top:1px}#p-prev .cft small.dev.neg{color:var(--st-bad)}#p-prev .cft small.dev.pos{color:var(--st-ok)}#p-prev .cft th small .pos{color:var(--st-ok)}#p-prev .cft th small .neg{color:var(--st-bad)}
.pvdlg .pvad .adjv{font:inherit;padding:4px 6px;border:1px solid var(--line);text-align:right}.pvdlg .pvad .pos{color:var(--st-ok)}.pvdlg .pvad .neg{color:var(--st-bad)}
.pvdlg .cfs{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
#p-prev .cft td.tt,#p-prev .cft th.tt{min-width:96px}
.pvdlg .lkl{max-height:300px;overflow:auto;border:1px solid var(--line);margin-top:6px}.pvdlg .lki{display:grid;grid-template-columns:auto auto 120px 1fr 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}.pvdlg .lki.on{background:var(--surface-2,#f4f3f0)}.pvdlg .lki .n{text-align:right;white-space:nowrap}.pvdlg .lkl p{padding:8px}
#p-prev .cfv.paid{--st:var(--st-ok);background:color-mix(in srgb,var(--st) 8%,var(--bg));color:var(--st);font-weight:600}#p-prev .cfv.pend{--st:var(--st-warn);background:color-mix(in srgb,var(--st) 8%,var(--bg));color:var(--st);font-weight:600}#p-prev .cfv.paid+.cfv{margin-left:4px}#p-prev .cft td .cfv{white-space:nowrap}
#p-prev .cft tr.paidrow th{background:#F1F9F4}#p-prev .cft tr.paidrow .pjn{color:var(--st-ok)}#p-prev .cft tr.paidsum th,#p-prev .cft tr.paidsum td{color:var(--st-ok);font-size:12px}
#p-prev .cft td.past{}#p-prev .cft thead th.past{}
#p-prev .pvpt tr.paidrow td:first-child{box-shadow:inset 4px 0 0 #2E8B57}#p-prev .pvpt .pdb{display:inline-block;--st:var(--st-ok);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;line-height:15px;padding:0 6px;border:1px solid color-mix(in srgb,var(--st) 40%,var(--bg));border-radius:0;color:var(--st);background:color-mix(in srgb,var(--st) 8%,var(--bg))}
#p-prev .cfw .pvtw{cursor:grab;user-select:none;overscroll-behavior-x:contain}#p-prev .cfw .pvtw.drag{cursor:grabbing}
/* 2.248.0 (Roberto): al bajar por el calendario por meses, la fila de los meses queda fija arriba: la tabla tiene su propio desplazamiento vertical */
#p-prev .cfw .pvtw{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow:auto}#p-prev .cft thead th{box-shadow:inset 0 -1px 0 var(--line)}#p-prev .cft{width:auto;min-width:100%}
#p-prev .cft td.n,#p-prev .cft thead th.n{min-width:78px}#p-prev .cft thead th small{display:block;font-size:9.5px;color:var(--fg-3);font-weight:400;letter-spacing:0}
#p-prev .cft th.jan,#p-prev .cft td.jan{border-left:2px solid var(--ink,#141414)}#p-prev .cft thead th{position:sticky;top:0;background:var(--surface,#fff);z-index:2}
#p-prev .cft thead th:first-child{left:0;z-index:4;text-align:left;text-transform:none;letter-spacing:0;font-weight:400}#p-prev .cft tbody th{z-index:1}#p-prev .cft tr.cfsec th{position:static}#p-prev .cft tr.cfsec .stk{position:sticky;left:8px}
#p-prev .cft td.tt,#p-prev .cft th.tt,#p-prev .cft tr td:last-child{position:sticky;right:0;background:var(--surface,#fff);box-shadow:-1px 0 0 var(--line);z-index:1}#p-prev .cft tr.sal td:last-child{background:var(--surface-2,#f6f6f4)}
#p-prev .pvpl h3 small{font-weight:400;color:var(--fg-3);font-size:12px}#p-prev .pvfind{position:relative;display:flex;gap:8px;align-items:center;margin:6px 0 8px}#p-prev #pvFind,#p-prev #pvGFind{flex:1;font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--ink,#141414);background:var(--surface,#fff);color:var(--fg)}
#p-prev .pvsugs{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface,#fff);border:1px solid var(--ink,#141414);border-top:0;max-height:360px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.12)}#p-prev .pvsg{display:grid;grid-template-columns:auto 130px 1fr 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:7px 10px;font:inherit;font-size:13px;color:var(--fg);cursor:pointer}#p-prev .pvsg.on,#p-prev .pvsg:hover{background:var(--surface-2,#f4f3f0)}#p-prev .pvsg.none{display:block;color:var(--fg-3);cursor:default}#p-prev .pvsg .n{text-align:right;font-variant-numeric:tabular-nums}
#p-prev .pvpt{width:100%;border-collapse:collapse;font-size:13px}#p-prev .pvpt th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--ink,#141414)}#p-prev .pvpt td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}#p-prev .pvpt .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#p-prev .pvpt .nw{white-space:nowrap}#p-prev .pvpt tr.off td{color:var(--fg-3)}#p-prev .pvpt tr.off b{text-decoration:line-through;font-weight:500}#p-prev .pvpt .pjn{background:none;border:0;padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left}#p-prev .pvpt .pjn:hover b{text-decoration:underline}#p-prev .pvpt a{color:var(--accent,#0F4C81)}#p-prev .pvpt .pvact .btn{padding:3px 10px;font-size:12px}
.pvdlg .pvtabs{display:flex;gap:6px;margin-bottom:8px}.pvdlg .pvcalopt{margin-top:10px;font-size:13px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.pvdlg .pvcalopt label{display:inline-flex;gap:5px;align-items:center}
#p-prev .cft tr.fx>th{cursor:pointer;user-select:none}#p-prev .cft .pvfc{all:unset;cursor:pointer;display:inline-block;width:14px;margin-right:4px;color:var(--fg-3);font-size:11px}#p-prev .cft tr.cfg.fold th{border-bottom-color:transparent}#p-prev .cft tr.cfsec.fx th:hover{opacity:.9}#p-prev .cft td.exc{cursor:pointer}#p-prev .cft td.exc:hover .cfv{outline:1px dashed var(--fg-3)}#p-prev .cft tr.cfg.off td,#p-prev .cft tr.cfg.off th span{opacity:.5}
#p-prev .cft tr.cfg td[colspan]{position:static;box-shadow:none}/* 2.279.0: la celda vacía de «Del Cashflow» tapaba su cabecera */
#p-prev .cft tr.cfg td{font-size:11.5px;font-weight:600;color:var(--fg-2);border-bottom:1px solid var(--line)}#p-prev .cft tr.cfconv td{background:#FFF7E6;font-size:12.5px;padding:6px 10px}#p-prev .cft tr.cfconv .btn{margin-left:6px;padding:2px 10px;font-size:12px}
#p-prev .pvsw .pvck i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:2px}#p-prev .pvk b.pos{color:var(--st-ok)}#p-prev .pvk b.neg{color:var(--st-bad)}
#p-prev .cft tbody th{min-width:230px;max-width:300px}#p-prev .cft td.past{background:var(--surface-2,#f6f6f4)}#p-prev .cft thead th.past{color:var(--fg-3)}
#p-prev .cft tr.cfsec th{background:var(--ink,#141414);color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:6px 8px}
#p-prev .cft tr.cfg th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--fg-2);padding:10px 8px 4px;border-bottom:1px solid var(--line);background:var(--surface,#fff)}#p-prev .cft tr.cfg th span{border-left:4px solid var(--c);padding-left:6px}#p-prev .cft tr.cfg th small{text-transform:none;letter-spacing:0;font-weight:400;color:var(--fg-3)}
#p-prev .cft tr.cfr th{border-left:4px solid var(--c,transparent);padding-left:8px;font-weight:500}#p-prev .cft tr.cfr small{display:block;padding-left:0;color:var(--fg-3);font-size:11px}#p-prev .cft tr.cfr small a{color:var(--accent,#0F4C81)}
#p-prev .cft tr.cfr.off .pjn{text-decoration:line-through;color:var(--fg-3)}#p-prev .cft tr.cfr td.tt{font-weight:600}#p-prev .cft tr.cfr.off td.tt{text-decoration:line-through;color:var(--fg-3);font-weight:400}
#p-prev .cfs{display:inline-block;flex:none;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
#p-prev .cfv{display:inline-block;padding:2px 6px;border-radius:3px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--fg);font-weight:500}#p-prev .cfv.off{background:none;color:var(--fg-3);text-decoration:line-through;font-weight:400}
#p-prev .cfres{display:inline-block;padding:2px 6px;border-radius:3px;font-weight:700}#p-prev .cfres.pos{--st:var(--st-ok);color:var(--st);background:color-mix(in srgb,var(--st) 8%,var(--bg))}#p-prev .cfres.neg{--st:var(--st-bad);color:var(--st);background:color-mix(in srgb,var(--st) 8%,var(--bg))}
#p-prev .cflg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}#p-prev .cflg .sub{margin-left:6px}#p-prev .cft a.pjn{color:var(--fg);text-decoration:none}#p-prev .cft a.pjn:hover{text-decoration:underline}
#p-prev .pvcal1{white-space:nowrap;color:var(--fg-2)}
#p-prev .pvst tr.pj th{padding-left:24px;font-weight:400}#p-prev .pvst tr.pj td{color:var(--fg-2);font-size:12px}#p-prev .pvst tr.pj.off td{text-decoration:line-through;color:var(--fg-3)}
#p-prev .pvst .pjh{display:flex;align-items:center;gap:6px}#p-prev .pvst .pjh input{margin:0}#p-prev .pvst .pjn{background:none;border:0;padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left}#p-prev .pvst .pjn:hover{text-decoration:underline}
#p-prev .pvst tr.pj small{display:block;padding-left:20px}#p-prev .pvst tr.pj small a{color:var(--accent,#0F4C81)}#p-prev .pvst .pjok{background:none;border:0;padding:0;font:inherit;color:var(--accent,#0F4C81);font-weight:600;cursor:pointer}#p-prev .pvst .pjok:hover{text-decoration:underline}
#p-prev .pvt td.pvact{white-space:nowrap;text-align:right}#p-prev .pvt td.pvact .btn{font-size:12px;padding:3px 8px;margin-left:4px}
.pvdlg .tdlg{max-width:min(900px,100%)}.pvbed{grid-template-columns:repeat(4,minmax(0,1fr))}.pvcal{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.pvcal h4{font-size:13px;margin:0 0 6px}.pvcal h4 small{font-weight:400;color:var(--fg-3)}
.pvrep{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;margin:0 0 8px}.pvrep input{font:inherit;padding:4px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.pvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.pvc{display:flex;gap:4px;align-items:center}.pvc input{font:inherit;font-size:13px;padding:5px 6px;border:1px solid var(--line);background:var(--bg);color:var(--fg);min-width:0}.pvc .pvcm{flex:1.2}.pvc .pvca{flex:1;text-align:right}
.pvsum{font-size:13px;margin-top:8px}
@media (max-width:760px){#p-prev .pvks{grid-template-columns:1fr 1fr}.pvbed{grid-template-columns:1fr 1fr}}

/* ---------- compartir.js ---------- */
.shdlg .tdlg{max-width:620px;width:calc(100vw - 32px)}.shdlg .g{display:grid;gap:10px}.shdlg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-2)}
.shdlg input[type=text],.shdlg input[type=password]{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}
.shdlg .lk{display:flex;gap:6px;align-items:center}.shdlg .lk input{flex:1;font-family:var(--font-data,monospace);font-size:12.5px}
.shdlg .note{font-size:12.5px;color:var(--fg-3);margin:4px 0 0}.shdlg h4{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin:18px 0 8px;font-weight:600}
.shdlg ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.shdlg li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.shdlg li .n{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shdlg li .m{grid-column:1;font-size:11.5px;color:var(--fg-3)}.shdlg li .a{grid-row:1/3;grid-column:2;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.shdlg li.off .n{text-decoration:line-through;color:var(--fg-3)}.shdlg .a .btn{font-size:12px;padding:4px 8px}
body.share-mode #side,body.share-mode header.top .tools,body.share-mode .gtop .gtools,body.share-mode #synHd,body.share-mode #alertPill,body.share-mode #cosDetails,body.share-mode .filters,body.share-mode nav.tabs,body.share-mode #srcline,body.share-mode .ttbar .ttgear,body.share-mode .bbulk,body.share-mode #mbar,body.share-mode .gsearch,body.share-mode #gsearch,body.share-mode .hoja .hgear,body.share-mode .bsel,body.share-mode #pgTb,body.share-mode tbody button,body.share-mode .bcal,body.share-mode #gnew,body.share-mode .gnew,body.share-mode .ttcl .btn.primary{display:none!important}
body.share-mode .hoja input[type=checkbox],body.share-mode .hoja .hcl{visibility:hidden}
body.share-mode .wrap{}body.share-mode{padding-top:var(--shh,40px)}
body.share-mode .ttfull{top:var(--shh,40px)!important}body.share-mode .ttfull .ttfs{display:none}
body.share-mode .ttck,body.share-mode table input[type=checkbox]{visibility:hidden}
#shBar{flex-direction:column;align-items:stretch!important;gap:6px!important}#shBar .r1,#shBar .r2{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#shBar .r2{font-size:12px;color:#3C3C3C}#shBar .r2 .li{font-weight:600;color:var(--ink)}#shBar .r2 .ch{border:1px solid #D8D6D0;border-radius:999px;padding:2px 9px;background:#F7F6F2}
#shBar{position:fixed;top:0;left:0;right:0;z-index:150;display:flex;padding:8px 18px;background:var(--surface);border-bottom:1px solid var(--ink);font:12.5px "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink)}
#shBar .k{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#0F4C81;font-weight:700}#shBar b{font:500 15px "Space Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif}
#shBar .sp{flex:1}#shBar .t{color:#6E6E6E}#shBar button{font:9.5px "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);background:var(--surface);border-radius:999px;padding:5px 11px;cursor:pointer}
@media (max-width:640px){#shBar .t{display:none}}

/* ---------- 2.330.0: Previsión → órdenes periódicas, calendario desplegable mes a mes ---------- */
#p-prev .pvdet summary{cursor:pointer}
#p-prev .pvdet .pvdl{display:flex;justify-content:space-between;gap:14px;font-size:12px;padding:1px 0;font-variant-numeric:tabular-nums}
/* 2.332.0: los tres apartados de la Previsión */
#p-prev .pvsub{margin:0 0 14px}
/* 2.336.0 (Roberto): franjas de la Previsión mes a mes: Ingresos en verde, Gastos en rojo y Resultado neutra, en claro y en oscuro
   (antes las tres usaban la tinta, que en oscuro es casi blanca, con el texto en blanco) */
#p-prev .cft tr.cfs-in th{background:#1E7B3C;color:#fff}
#p-prev .cft tr.cfs-out th{background:#B3261E;color:#fff}
#p-prev .cft tr.cfs-res th{background:var(--ink);color:var(--bg)}
html[data-theme="dark"] #p-prev .cft tr.cfs-in th{background:#2E7D4F;color:#fff}
html[data-theme="dark"] #p-prev .cft tr.cfs-out th{background:#A8322B;color:#fff}
html[data-theme="dark"] #p-prev .cft tr.cfs-res th{background:#3c3e4b;color:#e4e4e4}

/* 2.361.0: barra de selección de gastos y dietas */
.xbulk{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:0 0 8px;border:1px solid var(--line);background:var(--surface-2,#F4F3EF)}.xbulk .sp{flex:1}.xbulk b{font-size:13px}
/* 2.363.0: grupos en Fichajes */
.hgr.hggr{min-height:30px;background:var(--surface-2,#F4F3EF)}.hgr.hggr .hgn{flex-direction:row;align-items:baseline;gap:8px}.hgr.hggr .hgn b{font-size:12.5px}.hgr.hggr .hgt{background-image:none}
#tb-clk tr.grp td{background:var(--surface-2,#F4F3EF);font-size:12.5px}
.cfpins{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}.cfpins .ttfc{display:inline-flex;align-items:center;gap:4px;font-size:12px;border:1px solid var(--line);padding:2px 6px;background:var(--surface,#fff)}.cfpins .ttfc b{font-weight:600;color:var(--fg-3)}.cfpins .ttfc button{border:0;background:none;cursor:pointer;color:var(--fg-3);font:inherit;padding:0 2px}
