/* Capa 2: sistema completo. Se monta sobre base.css (tokens HMI: gabinete RAL 7035 / grafito, rojo de marca, torre de señalización). */
:root{--pink:#db2777;--violet:#5b3cc4}
html{scroll-behavior:smooth}
body{overscroll-behavior-y:none}
.muted{color:var(--muted)}.bad{color:var(--red-ink)!important}.up{color:var(--green)}.down{color:var(--red-ink)}.r{text-align:right!important}
.in{color:var(--green)}.out{color:var(--ink)}
.num.sm{font-size:1.05rem}.num.big{font-size:1.6rem}
.pad{padding:0 16px 16px}
.btn.big{padding:12px 18px;font-size:1rem;justify-content:center}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.iconbtn.sm{width:28px;height:28px;border-radius:5px}
.inl{display:flex;gap:9px;align-items:center}
.empty.sm{padding:6px 4px;font-size:.82rem}
.lead{font-size:1rem;margin:0}
.ph{margin:14px 0 10px;font-size:1.05rem;font-weight:750;font-variation-settings:"wdth" 80}
h3.sub{font-size:.9rem;font-weight:700;margin:14px 0 8px}

/* ---------- estructura ---------- */
.rail{overflow-y:auto}
.rail-foot .who{display:flex;gap:9px;align-items:center;color:var(--rail-ink);font-size:.86rem}
.rail-foot .who small{display:block;color:var(--rail-muted);font-size:.72rem}
.avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:750;font-size:.9rem;flex:none;background:var(--ink);text-transform:uppercase}
.avatar.lg{width:44px;height:44px;font-size:1.15rem}
.top .tt{min-width:0}
.bellb{position:relative}.bellb .dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--surface-2)}
.loading{display:flex;gap:12px;align-items:center}
.spinner{width:20px;height:20px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}
.tabsx{overflow-x:auto;margin:-4px 0 0;scrollbar-width:none}.tabsx::-webkit-scrollbar{display:none}
.tabsx .seg{flex-wrap:nowrap}
.seg{flex-wrap:wrap}
.panel.hot{border-color:color-mix(in srgb,var(--red) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 25%,transparent)}
.panel-h h2 .count{display:inline-block;background:var(--red);color:#fff;border-radius:99px;font-size:.75rem;padding:1px 8px;margin-left:6px;vertical-align:2px}
.panel-h .ph-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.minibar{width:90px;height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}.minibar i{display:block;height:100%;background:var(--green)}
.cols2e{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 8px}

/* ---------- avisos / callouts ---------- */
.callout{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--idle);border-radius:8px;padding:12px 14px}
.callout>.ic{margin-top:2px;color:var(--muted)}
.callout b{display:block;font-weight:700}.callout p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.callout .btn{margin-top:10px}
.callout.warn{border-left-color:var(--amber)}.callout.warn>.ic{color:var(--amber)}
.callout.ok{border-left-color:var(--green)}.callout.ok>.ic{color:var(--green)}
.toast.bad{background:var(--red);color:#fff}

/* ---------- KPIs del dinero ---------- */
.kpis6{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:13px 14px;display:grid;gap:5px;text-align:left;color:inherit;cursor:pointer;align-content:start;position:relative;overflow:hidden}
button.kcard:hover{border-color:var(--ink)}
.kcard>span{font-size:.8rem;color:var(--muted);font-weight:600}
.kcard .num{font-size:1.85rem}
.kcard small{font-size:.76rem;color:var(--muted)}
.kcard.neg .num{color:var(--red-ink)}
.kcard .spark{margin:-2px 0}
.mini3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.dr-s .mini3{padding:0}
.mini3>div{display:grid;gap:3px}.mini3 span{font-size:.78rem;color:var(--muted);font-weight:600}.mini3 .num{font-size:1.5rem}.mini3 .bad .num{color:var(--red-ink)}
.minirow{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.minirow span{display:flex;gap:6px;align-items:baseline}.minirow .num{font-size:1.15rem;color:var(--ink)}
.minirow .num.in{color:var(--green)}

/* ---------- Hoy ---------- */
.agenda{display:grid}
.arow{display:flex;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2);cursor:pointer}
.arow:hover{background:var(--surface-2)}
.arow .ah{font-size:.78rem;font-weight:700;color:var(--red-ink);min-width:62px;font-variant-numeric:tabular-nums}
.arow .at{flex:1;min-width:0}.arow .at b{display:block;font-weight:600}.arow .at small{color:var(--muted);font-size:.78rem;display:flex;gap:4px;align-items:center}
.arow.done .at b{text-decoration:line-through;color:var(--muted)}
.sublbl{padding:10px 16px 4px;font-size:.78rem;color:var(--muted);font-weight:700;border-top:1px solid var(--line-2)}
.plist{display:grid}
.prow{padding:11px 16px;border-top:1px solid var(--line-2);display:grid;gap:6px;cursor:pointer}
.prow:hover{background:var(--surface-2)}
.prow .pt{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.prow .pt b{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow .num{font-size:1.2rem}
.prow small{color:var(--muted);font-size:.78rem}
.recmini{display:flex;gap:14px;align-items:center;padding:0 16px 16px}.recmini p{margin:0;color:var(--muted);font-size:.86rem}

/* micrófono */
.micbtn{border:0;cursor:pointer;background:var(--red);color:#fff;border-radius:50%;width:132px;height:132px;display:grid;place-items:center;align-content:center;gap:4px;box-shadow:0 10px 30px color-mix(in srgb,var(--red) 40%,transparent),inset 0 -6px 0 rgba(0,0,0,.18);transition:transform .12s}
.micbtn:active{transform:scale(.96)}
.micbtn span{font-weight:750;font-size:.85rem}
.micbtn.sm{width:58px;height:58px;flex:none}
.micbtn.live{animation:pulse 1.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 55%,transparent)}100%{box-shadow:0 0 0 28px transparent}}
@media (prefers-reduced-motion:reduce){.micbtn.live{animation:none}}
.hero-papa{background:var(--rail);color:var(--rail-ink);border-radius:12px;padding:24px 20px;display:grid;justify-items:center;text-align:center;gap:16px;border:1px solid var(--line)}
.hero-papa h2{margin:0;font-variation-settings:"wdth" 72;font-weight:800;font-size:1.9rem;line-height:1.05}
.hero-papa p{margin:6px 0 0;color:var(--rail-muted)}
.hero-papa .btn.quiet{color:var(--rail-muted)}
.hero-rec{display:flex;gap:18px;align-items:center;background:var(--rail);color:var(--rail-ink);border-radius:12px;padding:18px 20px;flex-wrap:wrap;border:1px solid var(--line)}
.hero-rec .micbtn{width:78px;height:78px}
.hero-rec>div{flex:1;min-width:220px}.hero-rec h2{margin:0;font-variation-settings:"wdth" 75;font-weight:800;font-size:1.4rem}.hero-rec p{margin:4px 0 0;color:var(--rail-muted);font-size:.9rem}
.biglist .task{padding:15px 16px}.task.big input{width:28px;height:28px}.task.big .tx b{font-size:1.08rem}
.task .tx{cursor:pointer}

/* ---------- tareas ---------- */
.grp h3{margin:0;padding:12px 16px 6px;border-top:1px solid var(--line-2);font-size:.9rem;font-weight:750;display:flex;gap:8px;align-items:center}
.grp h3 span{font-size:.75rem;color:var(--muted);font-weight:600}
.grp.late h3{color:var(--red-ink)}.grp.today h3{color:var(--amber)}
.addrow{grid-template-columns:minmax(0,1fr) 140px 140px 150px auto}

/* ---------- equipo ---------- */
.inbox{display:grid;gap:6px}
.inb{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line-2);border-radius:8px;text-decoration:none;color:inherit;background:var(--surface-2)}
.inb.new{border-left:4px solid var(--red)}.inb span{color:var(--muted);font-size:.86rem}.inb small{color:var(--muted);font-size:.74rem}
.prop{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2)}
.dr-s .prop{padding:10px 0}
.prop .pt{flex:1;min-width:0;cursor:pointer}.prop .pt b{display:block;font-weight:600}.prop .pt small{color:var(--muted);font-size:.78rem}
.prop .acts{display:flex;gap:6px;flex:none}.prop.done{opacity:.6}
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center}
.person b{font-weight:750}.person small{display:block;color:var(--muted);font-size:.78rem}
.person .pstats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pstats span{display:grid;font-size:.7rem;color:var(--muted);gap:1px}.pstats .num{font-size:1.4rem;color:var(--ink)}.pstats .bad .num{color:var(--red-ink)}
.person .btn{grid-column:1/-1;justify-self:start}
.person.add{border-style:dashed;grid-template-columns:1fr auto}
.recbox{align-content:start}
.recstage{display:flex;gap:18px;align-items:center;padding:6px 0 4px}
.recstage .micbtn{width:104px;height:104px}
.rect b{display:block;font-size:1.15rem;font-weight:750}.rect span{font-variant-numeric:tabular-nums;color:var(--red-ink);font-weight:700}.rect small{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}
#rec-text{font-size:1rem;min-height:140px}
.quote{background:var(--surface-2);border-left:4px solid var(--red);border-radius:6px;padding:12px 14px;font-size:.98rem;line-height:1.55;white-space:pre-wrap}
audio{width:100%}

/* ---------- semana ---------- */
.weekbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.wnav{display:flex;gap:8px;align-items:center}
.wnav .wl{display:grid;min-width:150px;text-align:center}.wnav .wl b{font-weight:750;font-variation-settings:"wdth" 80;font-size:1.05rem}.wnav .wl span{font-size:.78rem;color:var(--muted)}
.wact{display:flex;gap:8px}
.wload{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(120px,auto);gap:6px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.wl-d{display:grid;justify-items:center;gap:4px;height:84px;grid-template-rows:1fr auto auto}
.wl-d i{align-self:end;width:60%;max-width:34px;min-height:3px;background:var(--line);border-radius:3px 3px 0 0}
.wl-d.is-today i{background:var(--red)}
.wl-d span{font-size:.72rem;color:var(--muted)}.wl-d b{font-size:.8rem;font-variant-numeric:tabular-nums}
.wl-sum{display:grid;gap:2px;padding-left:12px;border-left:1px solid var(--line-2)}.wl-sum .num{font-size:2rem}.wl-sum span{font-size:.78rem;color:var(--muted)}.wl-sum small{font-size:.74rem;color:var(--green)}
.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wday{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:220px;display:flex;flex-direction:column;cursor:pointer;min-width:0}
.wday.past{opacity:.78}
.wday.is-today{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.wday header{display:flex;align-items:baseline;gap:6px;padding:10px 10px 6px;cursor:default}
.wday header span{font-size:.78rem;color:var(--muted);text-transform:capitalize}.wday header .num{font-size:1.5rem}.wday header .iconbtn{margin-left:auto}
.wday.is-today header .num{color:var(--red-ink)}
.witems{display:grid;gap:5px;padding:0 6px 8px;align-content:start}
.wit{display:grid;gap:2px;text-align:left;border:1px solid var(--line-2);border-left:3px solid var(--idle);background:var(--surface-2);border-radius:5px;padding:6px 7px;cursor:pointer;color:inherit;font-size:.78rem;line-height:1.2;min-width:0}
.wit b{font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wit .wk{font-size:.68rem;font-weight:750;color:var(--muted)}.wit small{color:var(--muted);font-size:.7rem}
.wit.done{opacity:.55}.wit.done b{text-decoration:line-through}
.wit.ev,.lg-ev{border-left-color:var(--red)}.wit.ta,.lg-ta{border-left-color:var(--ink)}.wit.se,.lg-se{border-left-color:var(--amber)}.wit.co,.lg-co{border-left-color:var(--green)}.wit.pa,.lg-pa{border-left-color:#2b7fb8}.wit.sa,.lg-sa{border-left-color:var(--violet)}
.wit.ev .wk{color:var(--red-ink)}
.wempty{font-size:.76rem;color:var(--muted);padding:4px 6px}
.wlegend i{width:12px;height:12px;border-radius:2px;border-left:4px solid;background:var(--surface-2);display:inline-block}
.copyline{display:flex;gap:8px}.copyline input{flex:1;font-size:.8rem}
.steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:.92rem}
.check{display:flex;gap:9px;align-items:center;font-size:.9rem;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--red)}

/* ---------- ventas ---------- */
.copyb{white-space:pre-wrap;margin:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);padding:12px;font-family:var(--f);font-size:.9rem;line-height:1.5;max-height:380px;overflow:auto}
.stepper.six{grid-template-columns:repeat(6,minmax(0,1fr))}

/* ---------- operación ---------- */
.projgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.proj{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:8px;text-align:left;cursor:pointer;color:inherit;align-content:start;border-top:4px solid var(--ink)}
.proj:hover{border-color:var(--ink)}
.pj-h{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.pj-h b{font-weight:750;font-size:1rem;line-height:1.2}
.proj>small{color:var(--muted);font-size:.8rem}
.pj-av{display:flex;gap:10px;align-items:center}.pj-av .prog{flex:1;height:10px;border-radius:5px}.pj-av .num{font-size:1.35rem;min-width:52px;text-align:right}
.pj-m{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}.pj-m b{color:var(--ink)}
.prog.thin{height:4px}
.avrow{display:flex;gap:12px;align-items:center}.avrow input[type=range]{flex:1;accent-color:var(--red);height:28px}.avrow .num{font-size:1.8rem;min-width:70px;text-align:right}
.inline3{display:grid;grid-template-columns:1fr 1fr 150px auto;gap:8px}
.mvrow{display:grid;grid-template-columns:60px 1fr auto;gap:8px;font-size:.84rem;padding:6px 0;border-bottom:1px solid var(--line-2)}.mvrow span:first-child{color:var(--muted)}
.chk{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:.86rem;cursor:pointer}.chk input{width:18px;height:18px;accent-color:var(--red)}.chk small{color:var(--muted)}
.btnrow.sticky{position:sticky;bottom:-30px;background:var(--surface);padding:12px 0}
.items{display:grid;gap:6px}
.item{display:grid;grid-template-columns:62px 70px minmax(0,1fr) 110px 96px 28px;gap:6px;align-items:center}
.item input{padding:6px 7px;font-size:.84rem}.item span{text-align:right;font-size:.84rem;font-variant-numeric:tabular-nums}
.totals{display:grid;grid-template-columns:1fr auto;gap:4px 16px;justify-content:end;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;margin-left:auto;min-width:260px}
.totals span{color:var(--muted);font-size:.86rem}.totals b{text-align:right}

/* ---------- dinero ---------- */
.mv{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2);cursor:pointer}
.mv:hover{background:var(--surface-2)}
.mv>i{width:10px;height:10px;border-radius:3px}
.mv .mt b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv .mt small{color:var(--muted);font-size:.76rem}
.mv .num{font-size:1.05rem;white-space:nowrap}.mv.pend{background:color-mix(in srgb,var(--amber) 8%,transparent)}
.dayh{display:flex;justify-content:space-between;padding:12px 16px 6px;font-size:.8rem;font-weight:700;color:var(--muted);text-transform:capitalize;border-top:1px solid var(--line-2)}
.dayh:first-child{border-top:0}
.cards3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.acct{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c,var(--ink));border-radius:10px;padding:14px;display:grid;gap:6px;text-align:left;cursor:pointer;color:inherit}
.acct>span{display:flex;gap:8px;align-items:center;font-weight:650;font-size:.9rem}.acct .num{font-size:1.75rem}.acct small{color:var(--muted);font-size:.76rem}
.acct.add,.ap.add{border-style:dashed;border-top-width:1px;place-items:center;align-content:center;color:var(--muted);min-height:110px}
.repart{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.repart .field{flex:1;min-width:200px}
.split{display:grid;gap:6px;margin-top:12px}
.split span{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;font-size:.86rem}
.split span i{display:block;height:10px;border-radius:5px;background:var(--c);order:2}
.split span b{order:1;font-weight:600}
.aps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:0 16px 16px}
.ap{background:var(--surface-2);border:1px solid var(--line-2);border-left:4px solid var(--c);border-radius:8px;padding:12px;display:grid;gap:6px;color:inherit}
.aph{display:flex;justify-content:space-between;gap:8px;align-items:center}.ap .num{font-size:1.5rem}.ap small{color:var(--muted);font-size:.76rem}
.taxgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);gap:12px}
.taxbig{background:var(--rail);color:var(--rail-ink);border-radius:10px;padding:16px;display:grid;gap:6px;align-content:start}
.taxbig span{color:var(--rail-muted);font-size:.84rem}.taxbig .num{font-size:2.6rem;color:#fff}.taxbig small{color:var(--rail-muted);font-size:.8rem}
.taxcol{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.taxcol h3{margin:0 0 8px;font-size:1rem;font-weight:750}
.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.88rem;border-bottom:1px solid var(--line-2)}
.kv span{color:var(--muted)}.kv b{font-variant-numeric:tabular-nums;white-space:nowrap}.kv.tot{border-bottom:0;font-size:.95rem}.kv.tot span{color:var(--ink);font-weight:650}
.ptable tr.strike td{text-decoration:line-through;opacity:.5}
.advice{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.adv{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--idle);border-radius:10px;padding:14px 16px;display:grid;gap:6px;align-content:start}
.adv.late{border-left-color:var(--red)}.adv.today{border-left-color:var(--amber)}.adv.ok{border-left-color:var(--green)}
.adh{display:flex;gap:9px;align-items:center}.adh b{flex:1;font-weight:750}.adh .num{font-size:1.4rem}
.adv p{margin:0;font-size:.88rem;color:var(--muted)}.adv p.act{color:var(--ink);font-weight:550}
.report h3{margin:0 0 8px}.md{font-size:.92rem;line-height:1.55}.md ul{margin:6px 0;padding-left:20px}.md h3,.md h4{margin:12px 0 4px}
.rules{margin:0;padding:0 16px 16px 36px;display:grid;gap:8px;font-size:.92rem}
.drop{border:2px dashed var(--line)}.drop.over{border-color:var(--red);background:color-mix(in srgb,var(--red) 5%,var(--surface))}
.dz{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px 18px;color:var(--muted)}
.dz h2{margin:0;color:var(--ink);font-size:1.15rem;font-weight:750;max-width:46ch}.dz p{margin:0;max-width:56ch;font-size:.9rem}
.uplog{padding:0 16px 14px;font-size:.86rem;display:grid;gap:4px}
.donutw{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.donutw svg{flex:none}.dc{font:800 22px var(--f);font-variation-settings:"wdth" 65;fill:var(--ink)}.ds{font:500 10px var(--f);fill:var(--muted)}
.dlegend{display:grid;gap:5px;flex:1;min-width:200px;font-size:.84rem}
.dlegend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 38px;gap:8px;align-items:center}
.dlegend i{width:10px;height:10px;border-radius:2px}.dlegend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlegend b{font-variant-numeric:tabular-nums;font-weight:600}.dlegend small{color:var(--muted);text-align:right}
.chart .gl{stroke:var(--line-2)}
.toggles{display:grid;gap:4px}
.tgl{display:flex;gap:10px;align-items:center;padding:7px 0;cursor:pointer;font-size:.9rem}
.tgl input{appearance:none;width:40px;height:23px;border-radius:12px;background:var(--line);position:relative;cursor:pointer;flex:none;transition:background .15s}
.tgl input::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.tgl input:checked{background:var(--green)}.tgl input:checked::after{transform:translateX(17px)}
.stat .sm{font-size:.95rem;font-weight:650}.stat small{color:var(--muted);font-size:.76rem}

/* login */
.login-line{display:flex;gap:10px;align-items:center}
.login-line i{width:46px;height:46px;border-radius:8px;background:var(--rail-2);border:2px solid #343940;position:relative}
.login-line i::after{content:"";position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;background:#5f666e;border:2px solid var(--rail)}
.login-line i.on{border-color:var(--green)}.login-line i.on::after{background:var(--green)}

/* ---------- responsivo ---------- */
@media (max-width:1200px){.weekgrid{grid-template-columns:repeat(4,minmax(0,1fr))}.taxgrid{grid-template-columns:1fr 1fr}.taxbig{grid-column:1/-1}}
@media (max-width:900px){
  .top{gap:8px}.top-act{gap:6px}.sync span{display:none}
  .tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tabbar button span:not(.badge){font-size:.68rem}
  .cols2e{grid-template-columns:minmax(0,1fr)}
  .kpis6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kcard .num{font-size:1.45rem}
  .weekgrid{grid-template-columns:minmax(0,1fr)}
  .wday{min-height:0}.wday header{padding:10px 12px 4px}.witems{padding:0 8px 10px}
  .wload{grid-template-columns:repeat(7,minmax(0,1fr));padding:10px}.wl-sum{grid-column:1/-1;border-left:0;padding:8px 0 0;border-top:1px solid var(--line-2);grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px}
  .wl-d{height:64px}
  .weekbar{gap:8px}.wact{width:100%}.wact .btn{flex:1;justify-content:center}
  .stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.stepper button{border-radius:5px!important;padding:9px 4px}
  .addrow{grid-template-columns:1fr 1fr}.addrow input[type=text]{grid-column:1/-1}.addrow .btn{grid-column:1/-1;justify-content:center}
  .inline3{grid-template-columns:1fr 1fr}.inline3 .btn{grid-column:1/-1;justify-content:center}
  .item{grid-template-columns:52px minmax(0,1fr) 92px 26px;grid-template-areas:"c d d x" "u p s s"}
  .item input:nth-child(1){grid-area:c}.item input:nth-child(2){grid-area:u}.item input:nth-child(3){grid-area:d}.item input:nth-child(4){grid-area:p}.item span{grid-area:s}.item button{grid-area:x}
  .item{padding-bottom:8px;border-bottom:1px solid var(--line-2)}
  .taxgrid{grid-template-columns:minmax(0,1fr)}
  .person .pstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .micbtn{width:150px;height:150px}
  .hero-papa h2{font-size:1.6rem}
  .recstage{flex-direction:column;text-align:center}
  .projgrid{grid-template-columns:minmax(0,1fr)}
  .drawer{width:100vw;border-left:0;border-top:3px solid var(--red)}
  .dr-h{padding-top:calc(14px + env(safe-area-inset-top,0px))}
  .mini3 .num{font-size:1.2rem}
  .rowi .acts .num.sm{display:none}
  .donutw{justify-content:center}
}
@media (max-width:420px){.kpis6{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.kcard{padding:11px}.mini3{grid-template-columns:1fr}}
@media (display-mode:standalone){.top{padding-top:calc(16px + env(safe-area-inset-top,0px))}}
.ptable .num,.kv .num,.item span,.totals .num:not(.big),.mvrow .num,.dlegend b,.mv .num{font-variation-settings:"wdth" 100;font-weight:650;letter-spacing:0;line-height:1.3}
.tabsx .seg button{white-space:nowrap}

/* ---------- v4: Hoy limpio ---------- */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tr{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:3px;text-align:left;color:inherit;cursor:pointer}
.tr span{font-size:.8rem;color:var(--muted);font-weight:650}.tr b{font-size:1.7rem;line-height:1.1}.tr small{font-size:.76rem;color:var(--muted)}
.urs{display:grid}.ur{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2);cursor:pointer}
.ur:first-child{border-top:0}.ur:hover{background:var(--surface-2)}.ur>svg:first-child{color:var(--muted)}.ur.hot>svg:first-child{color:var(--red)}
.ur b{display:block;font-size:.95rem}.ur small{display:block;color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.urt{border-top:1px solid var(--line);padding:4px 0}
.pcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:0 14px 14px}.pcs.one{grid-template-columns:minmax(0,1fr)}
.pc{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:13px 14px;display:grid;gap:7px;text-align:left;color:inherit;cursor:pointer}
.pc:hover{border-color:var(--ink)}.pc-t{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.pc-t b{font-size:1rem}.pc>small{color:var(--muted);font-size:.8rem}
.pc-f{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.78rem;color:var(--muted)}.pc-f span{display:inline-flex;gap:4px;align-items:center}.pc-f .warn{color:var(--red-ink);font-weight:650}
.pc.big{padding:16px}.pc.big .pc-t b{font-size:1.15rem}.pc.big .prog{height:10px;border-radius:5px}
.count.dim{background:var(--line-2)!important;color:var(--muted)!important}
.fab{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:60px;height:60px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px color-mix(in srgb,var(--red) 45%,transparent);cursor:pointer;z-index:30}
@media (min-width:901px){.fab{bottom:24px;right:24px}}
.fl-mini{display:flex;gap:3px}.fl-mini i{flex:1;height:4px;border-radius:2px;background:var(--line-2)}.fl-mini i.on{background:var(--green)}.fl-mini i.cur{background:var(--amber)}

/* ---------- v4: expediente del proyecto ---------- */
.exp-h{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px 16px;display:grid;gap:12px}
.exp-h>.btn{justify-self:start;margin-left:-8px}
.exp-t{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.exp-t h2{margin:0;font-size:1.45rem;font-variation-settings:"wdth" 80;font-weight:800;line-height:1.1}.exp-t p{margin:4px 0 0;color:var(--muted);font-size:.88rem}
.exp-tags{display:flex;gap:6px;flex-wrap:wrap}
.exp-av{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.exp-av b{font-size:1.4rem}.avbtns{display:flex;gap:6px}
.prog.big{height:12px;border-radius:6px}
.flujo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px;counter-reset:f}
.flujo li{display:grid;justify-items:center;text-align:center;gap:3px;position:relative;padding-top:2px}
.flujo li::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line-2);z-index:0}.flujo li:first-child::before{display:none}
.flujo li.on::before,.flujo li.cur::before{background:var(--green)}
.flujo .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--line);font-size:.75rem;font-weight:750;color:var(--muted);z-index:1}
.flujo li.on .dot{background:var(--green);border-color:var(--green);color:#fff}.flujo li.cur .dot{border-color:var(--amber);color:var(--ink);box-shadow:0 0 0 3px var(--amber-soft)}
.flujo b{font-size:.74rem}.flujo small{font-size:.68rem;color:var(--muted);min-height:1em}
.exp-m{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-top:1px solid var(--line-2);padding-top:12px}
.exp-m span{display:block;font-size:.74rem;color:var(--muted);font-weight:650}.exp-m b{font-size:1.1rem}.exp-m .warn b{color:var(--red-ink)}.exp-m .bad b{color:var(--red-ink)}
.nextstep{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));border-radius:10px;padding:12px 14px}
.nextstep p{margin:0;flex:1;min-width:200px;font-weight:600}.nextstep>svg{color:var(--amber)}
.sug{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2)}.sug:first-child{border-top:0}
.sug b{display:block;font-size:.9rem}.sug small{display:block;color:var(--muted);font-size:.78rem}.sg-k{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--line-2);border-radius:4px;padding:2px 6px}
.sug .acts{display:flex;gap:6px}
.hist{list-style:none;margin:0;padding:6px 0}.hist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:9px 16px;cursor:pointer;position:relative}
.hist li:hover{background:var(--surface-2)}.hist .hi{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--line-2);color:var(--muted)}
.hist .h-in .hi{background:var(--green-soft);color:var(--green)}.hist .h-out .hi{background:var(--red-soft);color:var(--red-ink)}.hist .h-fac .hi,.hist .h-cot .hi{background:var(--amber-soft);color:var(--ink)}
.hist b{display:block;font-size:.9rem}.hist small{color:var(--muted);font-size:.78rem}
.bits{display:grid}.bit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 16px;border-top:1px solid var(--line-2);cursor:pointer}
.bit img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:var(--line-2)}.bit .bi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--line-2);color:var(--muted)}
.bit p{margin:0 0 2px;font-size:.9rem;white-space:pre-wrap}.bit small{color:var(--muted);font-size:.76rem}
.bitform{display:grid;gap:8px}.bitform textarea{width:100%;min-height:76px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:0 14px 14px}.ph{border:0;padding:0;background:none;cursor:pointer;display:grid;gap:3px;text-align:left;color:var(--muted)}
.ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--line-2)}.ph small{font-size:.74rem}
.bigph{width:100%;border-radius:10px;background:var(--line-2);min-height:120px}
.mbars{display:grid;gap:8px;margin:12px 0}.mbar{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.84rem}.mbar span{color:var(--muted)}
@media (max-width:700px){.tres{gap:6px}.tr{padding:10px 10px;gap:1px}.tr span{font-size:.7rem;line-height:1.2}.tr b{font-size:1.02rem}.tr small{font-size:.68rem}
 .exp-m{grid-template-columns:1fr 1fr}.flujo{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}.flujo li:nth-child(5)::before{display:none}
 .exp-av{grid-template-columns:minmax(0,1fr) auto}.avbtns{grid-column:1/-1}.avbtns .btn{flex:1;justify-content:center;padding:11px}
 .sug{grid-template-columns:minmax(0,1fr) auto}.sg-k{display:none}}

/* ---------- v5: expediente como ruta ---------- */
.exp{display:grid;gap:14px;max-width:920px}
.ruta{display:grid;gap:0}
.et{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 12px}
.et-rail{display:flex;flex-direction:column;align-items:center;position:relative}
.et-rail::after{content:"";flex:1;width:2px;background:var(--line);margin:4px 0}
.et:last-child .et-rail::after{display:none}
.et-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;background:var(--surface);border:2px solid var(--line);color:var(--muted);flex:none;margin-top:14px}
.et.on .et-n{background:var(--green);border-color:var(--green);color:#fff}.et.on .et-rail::after{background:var(--green)}
.et.cur .et-n{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 4px var(--red-soft)}
.et-c{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:6px 0 10px;display:grid;gap:10px;min-width:0}
.et.cur .et-c{border-color:color-mix(in srgb,var(--red) 50%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 20%,transparent)}
.et.pend .et-c{background:var(--surface-2)}
.et-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.et-h h3{margin:0;font-size:1.05rem}.et-s{font-size:.82rem;color:var(--muted);font-weight:650}
.et.on .et-s{color:var(--green)}
.et-a{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.et .rowi{padding-left:0;padding-right:0}
.sub-b{display:grid;gap:6px;border-top:1px solid var(--line-2);padding-top:10px}.sub-b h4{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.sub-l{margin:4px 0 0;font-size:.78rem;font-weight:700;color:var(--muted)}
.sugs{border:1px dashed color-mix(in srgb,var(--red) 40%,var(--line));border-radius:10px;overflow:hidden}
.doc-c{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;background:var(--surface-2)}
.doc-c:hover{border-color:var(--ink)}.doc-c b{display:block;font-size:.92rem}.doc-c small{color:var(--muted);font-size:.78rem}
.chain{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--surface-2)}
.ch-m b{display:block;font-size:1rem}.ch-m small{color:var(--muted);font-size:.76rem}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 10px;font-size:.76rem;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
.pill.ok{background:var(--green-soft);border-color:transparent;color:var(--green)}.pill.falta{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 50%,transparent)}
.hist-f{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 6px}.hist-f summary{padding:10px;display:flex;gap:8px;align-items:center;font-weight:700;cursor:pointer}
.papa-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.bigact{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:16px;cursor:pointer;min-height:84px}
.bigact b{display:block;font-size:1.05rem}.bigact small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.bigact.primary{background:var(--red);border-color:var(--red);color:#fff}.bigact.primary small{color:rgba(255,255,255,.82)}
.hero-papa .bigact:not(.primary){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--rail-ink)}.hero-papa .bigact:not(.primary) small{color:var(--rail-muted)}
.desc{margin:0;color:var(--muted)}
@media (max-width:700px){.et{grid-template-columns:30px minmax(0,1fr);gap:0 8px}.et-n{width:28px;height:28px;font-size:.78rem}.et-c{padding:12px}
 .chain{grid-template-columns:1fr 1fr}.ch-m{grid-column:1/-1}.pill{justify-content:center}.papa-acts{grid-template-columns:1fr}.et-a .btn{flex:1 1 auto;justify-content:center}}

/* ---------- v5: flujos paso a paso ---------- */
body.wz-open{overflow:hidden}
.wz{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,#000 45%,transparent);display:grid;place-items:center;padding:20px;animation:wzf .18s ease-out}
@keyframes wzf{from{opacity:0}to{opacity:1}}
.wz-sheet{background:var(--bg);width:min(560px,100%);max-height:min(860px,calc(100vh - 40px));border-radius:18px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.wz-h{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:12px 12px 6px}
.wz-ht{display:grid;justify-items:center;gap:6px}.wz-ht span{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.wz-dots{display:flex;gap:5px}.wz-dots i{width:22px;height:5px;border-radius:3px;background:var(--line)}.wz-dots i.on{background:var(--green)}.wz-dots i.cur{background:var(--red)}
.wz-b{overflow:auto;padding:8px 20px 20px;display:grid;align-content:start;gap:6px}
.wz-b h2{margin:4px 0 0;font-size:1.6rem;font-variation-settings:"wdth" 78;font-weight:800;line-height:1.1}
.wz-sub{margin:0 0 6px;color:var(--muted)}
.wz-body{display:grid;gap:8px;margin-top:8px}
.wz-f{padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}.wz-f .btn{width:100%;justify-content:center}
.wz-err{margin:6px 0 0;color:var(--red-ink);font-weight:650}
.wc{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:14px;cursor:pointer;transition:border-color .12s,transform .08s}
.wc:hover{border-color:var(--ink)}.wc:active{transform:scale(.99)}.wc.on{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.wc.quiet{background:transparent;border-style:dashed}.wc>svg:last-child{color:var(--muted)}
.wc-i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--line-2);color:var(--ink)}.wc.on .wc-i{background:var(--red);color:#fff}
.wc-t b{display:block;font-size:1rem}.wc-t small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.wc-tag{font-size:.7rem;font-weight:800;background:var(--green-soft);color:var(--green);border-radius:99px;padding:3px 8px;text-transform:uppercase;letter-spacing:.03em}
.wz-lbl{margin:10px 0 0;font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.wz-amt{display:flex;align-items:center;gap:6px;border:2px solid var(--line);border-radius:16px;padding:10px 16px;background:var(--surface)}
.wz-amt:focus-within{border-color:var(--red)}.wz-amt span{font-size:2rem;font-weight:800;color:var(--muted)}
.wz-amt input{border:0;outline:0;background:none;font:inherit;font-size:2.3rem;font-weight:800;width:100%;color:var(--ink);font-variant-numeric:tabular-nums;padding:0}
.wz-chips{display:flex;flex-wrap:wrap;gap:8px}.wz-chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:9px 14px;font-weight:700;font-size:.9rem;cursor:pointer}
.wz-chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.wz-fecha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.wz-fecha>span{font-weight:700;color:var(--muted);font-size:.85rem}.wz-fecha input{width:auto}
.wz-txt{display:grid;gap:6px;margin-top:4px}.wz-txt span{font-size:.8rem;font-weight:700;color:var(--muted)}.wz-txt input{font-size:1.05rem;padding:12px 14px;border-radius:12px}.wz-txt.big input{font-size:1.2rem}
.wz-info{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--muted)}.wz-info p{margin:0}
.wz-people{display:flex;gap:10px;flex-wrap:wrap}.wp{display:grid;justify-items:center;gap:6px;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 18px;cursor:pointer;color:var(--ink);min-width:110px}.wp.on{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.wz-date{margin-top:8px;width:auto}
.wz-voice{display:grid;gap:10px}.wz-voice textarea{font-size:1.05rem;border-radius:14px;padding:12px 14px;min-height:130px}
.wz-vb{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wz-mic,.wz-photo{display:grid;justify-items:center;gap:6px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:16px 10px;cursor:pointer;font-weight:700;font-size:.9rem;text-align:center}
.wz-mic{background:var(--red);border-color:var(--red);color:#fff}.wz-mic.live{animation:pulse 1.4s ease-out infinite}
.wz-av{display:grid;gap:8px;margin-bottom:8px}.wz-av b{font-size:3rem;line-height:1}
.cadena{list-style:none;margin:4px 0;padding:0;display:grid;gap:0}
.cadena li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;position:relative}
.cadena li:not(:last-child)::before{content:"";position:absolute;left:17px;top:40px;bottom:-6px;width:2px;background:var(--line)}
.cadena li>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}
.cadena li.falta>span{background:var(--amber-soft);color:var(--ink)}.cadena b{display:block}.cadena small{color:var(--muted);font-size:.82rem}
@media (max-width:700px){.wz{padding:0;place-items:end stretch}.wz-sheet{width:100%;max-height:100%;height:100%;border-radius:0}.wz-b h2{font-size:1.45rem}}

/* ---------- v6: centro (dashboard del ERP) ---------- */
.cnav{justify-content:flex-start}
.k8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.k8c{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:3px;text-align:left;color:inherit;cursor:pointer;min-width:0}
.k8c:hover{border-color:var(--ink)}.k8c span{font-size:.76rem;color:var(--muted);font-weight:650}.k8c b{font-size:1.35rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.k8c small{font-size:.72rem;color:var(--muted)}
.k8c small.up{color:var(--green)}.k8c small.down{color:var(--red-ink)}.k8c small.bad{color:var(--red-ink);font-weight:700}.k8c.neg b{color:var(--red-ink)}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.cgrid>.span2{grid-column:1/-1}
.hb{display:grid;gap:2px;padding:4px 10px 12px}.hb-r{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 6px;gap:3px 10px;border:0;background:none;padding:7px 6px;border-radius:8px;cursor:pointer;color:inherit;text-align:left}
.hb-r:hover{background:var(--surface-2)}.hb-r span{font-size:.86rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-r b{font-size:.86rem}
.hb-r i{grid-column:1/-1;height:6px;border-radius:3px;background:var(--ink);display:block;min-width:4px}
/* clientes por RFC */
.clist{display:grid}.cl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border:0;border-top:1px solid var(--line-2);background:none;color:inherit;text-align:left;cursor:pointer;width:100%}
.cl:first-child{border-top:0}.cl:hover{background:var(--surface-2)}.cl-t b{display:block}.cl-t small{display:block;color:var(--muted);font-size:.76rem;font-family:var(--mono,inherit)}
.cl-bar{display:block;height:4px;background:var(--line-2);border-radius:2px;margin-top:6px}.cl-bar i{display:block;height:100%;background:var(--ink);border-radius:2px}
.cl-n{text-align:right}.cl-n b{display:block}.cl-n small{font-size:.74rem;color:var(--muted)}.cl-n small.warn{color:var(--red-ink);font-weight:700}
/* etapas compactas */
.et-c{padding:0}.et-c>summary{list-style:none;cursor:pointer;padding:13px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
.et-c>summary::-webkit-details-marker{display:none}.et-c>summary h3{margin:0;font-size:1rem}.et-chev{color:var(--muted);transition:transform .15s;display:grid}
.et-c[open]>summary .et-chev{transform:rotate(90deg)}.et-in{padding:0 16px 14px;display:grid;gap:10px}
.et.pend .et-c>summary h3{color:var(--muted)}
.et-c{margin:4px 0 6px}.et-n{margin-top:10px}
@media (max-width:900px){.k8{grid-template-columns:repeat(2,minmax(0,1fr))}.cgrid{grid-template-columns:minmax(0,1fr)}.k8c b{font-size:1.12rem}}
.frows{display:grid}.fr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2)}.fr:first-child{border-top:0}
.fr-t b{display:block;font-size:.98rem}.fr-t small{display:block;color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-p{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:700px){.fr{grid-template-columns:minmax(0,1fr)}.fr-p{justify-content:flex-start}}
.hb-r{grid-template-rows:auto auto}.hb-r b{grid-row:1;grid-column:2}
.et-c{display:block}.et-c>summary{margin:0}
/* v7: conciliación automática y análisis */
.cqp{border-color:var(--red)}
.cqs{display:grid}
.cq{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line-2)}
.cq:first-child{border-top:0}
.cq-t{display:grid;gap:3px;min-width:0}.cq-t b{font-weight:650;font-size:.92rem;line-height:1.35}.cq-t small{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cq-b{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:55%}
.cq-b select{max-width:220px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:0 8px;font:inherit;font-size:.85rem}
p.lead{font-size:1.02rem;line-height:1.5;margin:4px 0 14px;max-width:70ch}
.ccs{display:grid}
.cc{border-top:1px solid var(--line-2)}.cc:first-child{border-top:0}
.cc summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) auto;gap:12px;align-items:center;padding:10px 16px;cursor:pointer;list-style:none}
.cc summary::-webkit-details-marker{display:none}
.cc-n{display:flex;gap:8px;align-items:center;min-width:0}.cc-n b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-bar{height:8px;background:var(--line-2);border-radius:4px;overflow:hidden}.cc-bar i{display:block;height:100%;border-radius:4px}
.cc-v{display:grid;justify-items:end}.cc-v small{color:var(--muted);font-size:.72rem}
i.g-neg{background:var(--red)}i.g-per{background:#db2777}i.g-mix{background:#94a3b8}
.tag.g-neg{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red-ink)}.tag.g-per{background:color-mix(in srgb,#db2777 12%,transparent);color:#9d174d}.tag.g-mix{background:var(--line-2);color:var(--muted)}
.cc-l{display:grid;padding:0 8px 8px}
.cc-m{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 8px;border:0;background:none;color:inherit;text-align:left;border-radius:6px;cursor:pointer;font:inherit;font-size:.84rem}
.cc-m:hover{background:var(--line-2)}.cc-m span:first-child{color:var(--muted);font-size:.78rem}.cc-m .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-m small.warn{color:var(--red-ink);font-weight:650}
.panel .cc-l{padding:6px 8px}
ol.cal{list-style:none;margin:0;padding:0;display:grid;gap:8px}ol.cal li{display:grid;grid-template-columns:90px 1fr;gap:10px;font-size:.88rem;padding:6px 8px;border-radius:8px}
ol.cal li b{font-weight:700}ol.cal li.now{background:color-mix(in srgb,var(--red) 8%,transparent)}
@media (max-width:700px){.cq{flex-direction:column;align-items:stretch}.cq-b{max-width:none;justify-content:flex-start}.cc summary{grid-template-columns:minmax(0,1fr) auto}.cc-bar{display:none}.cc-m{grid-template-columns:48px minmax(0,1fr) auto}.cc-m .tag,.cc-m small{display:none}}
/* v8: cuadre con evidencia */
.cu-h{padding:4px 16px 12px;display:grid;gap:6px}
.cu-p{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.cu-p b{font-size:1.6rem;line-height:1}.cu-p span{color:var(--muted);font-size:.88rem}
.cu-bar{height:8px;background:var(--line-2);border-radius:4px;overflow:hidden}.cu-bar i{display:block;height:100%;background:var(--green);border-radius:4px}
.cu-h small{color:var(--muted);font-size:.76rem}
.fgs{display:grid;border-top:1px solid var(--line-2)}
.fg{border-bottom:1px solid var(--line-2)}.fg:last-child{border-bottom:0}
.fg summary{display:flex;gap:10px;align-items:center;padding:12px 16px;cursor:pointer;list-style:none}.fg summary::-webkit-details-marker{display:none}
.fg summary b{flex:1;font-weight:650}.fg summary .num{font-weight:700}.fg summary>.ic:last-child{transition:transform .15s;color:var(--muted)}.fg[open] summary>.ic:last-child{transform:rotate(90deg)}
.fg-b{padding:0 16px 12px;display:grid;gap:2px}.fg-b .note{margin:0 0 8px}
.fi{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line-2)}
.fi-t{display:grid;gap:2px;min-width:0}.fi-t b{font-weight:600;font-size:.9rem}.fi-t small{color:var(--muted);font-size:.78rem;line-height:1.4}
.fi-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:50%}
.fi-a select{max-width:240px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:0 8px;font:inherit;font-size:.82rem}
.fgs.mini{border-top:0;padding:0 8px 8px}
.fgm{display:flex;gap:10px;align-items:center;padding:10px 8px;border:0;background:none;color:inherit;font:inherit;text-align:left;border-radius:8px;cursor:pointer;border-top:1px solid var(--line-2)}
.fgm:hover{background:var(--line-2)}.fgm span{flex:1;font-weight:600;font-size:.9rem}.fgm b{font-weight:700}
@media (max-width:700px){.fi{flex-direction:column;align-items:stretch}.fi-a{max-width:none;justify-content:flex-start}}
/* v9: expediente con plan, cronograma, pendientes, dinero real y 3D */
.exp-pl{display:grid;gap:8px;margin:2px 0 10px}
.exp-res{margin:0;font-size:.95rem;line-height:1.5;max-width:90ch}.exp-res small{color:var(--muted);font-size:.74rem;white-space:nowrap}
.exp-chips{display:flex;flex-wrap:wrap;gap:6px}
.xchip{display:inline-flex;gap:5px;align-items:baseline;padding:4px 10px;border-radius:999px;background:var(--line-2);font-size:.8rem;color:var(--ink)}
.xchip b{font-weight:700}.xchip.late{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red-ink)}.xchip.today{background:color-mix(in srgb,var(--amber) 16%,transparent)}
.pjtabs{margin:4px 0 12px;overflow-x:auto;scrollbar-width:none}.pjtabs::-webkit-scrollbar{display:none}.pjtabs .seg{flex-wrap:nowrap;width:max-content}
.pjbody{display:grid;gap:14px}
.gantt{display:grid;gap:0;overflow-x:auto;min-width:0}
.gantt .g-r{display:grid;grid-template-columns:minmax(150px,250px) minmax(420px,1fr);align-items:center;border-top:1px solid var(--line-2);min-height:46px}
.gantt.mini .g-r{min-height:34px;grid-template-columns:minmax(130px,220px) minmax(320px,1fr)}
.gantt .g-r[role=button]{cursor:pointer}.gantt .g-r[role=button]:hover{background:var(--line-2)}
.gantt .g-h{border-top:0;min-height:30px}
.g-n{padding:6px 10px 6px 0;display:grid;gap:1px;min-width:0}.g-n b{font-size:.84rem;font-weight:650;line-height:1.25}.g-n small{font-size:.72rem;color:var(--muted)}.g-n em{color:var(--red-ink);font-style:normal;font-weight:650}
.gantt.mini .g-n small{display:none}
.g-t{position:relative;height:100%;min-height:28px}
.g-m,.g-w{position:absolute;top:4px;font-size:.7rem;color:var(--muted);transform:translateX(2px);white-space:nowrap}.g-m{font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.g-w{top:17px;font-size:.64rem}
.g-bar{position:absolute;top:50%;height:16px;margin-top:-8px;border-radius:5px;background:color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden}
.g-bar i{display:block;height:100%;background:color-mix(in srgb,var(--ink) 45%,transparent)}
.g-bar.ok{background:color-mix(in srgb,var(--green) 25%,transparent)}.g-bar.ok i{background:var(--green)}
.g-bar.cur{background:color-mix(in srgb,var(--red) 18%,transparent)}.g-bar.cur i{background:var(--red)}
.g-bar.late{outline:2px solid var(--red);outline-offset:-2px}.g-bar.today{background:color-mix(in srgb,var(--amber) 25%,transparent)}.g-bar.today i{background:var(--amber)}
.g-body{position:relative}
.g-ov{position:absolute;inset:0;display:grid;grid-template-columns:minmax(150px,250px) minmax(420px,1fr);pointer-events:none}.gantt.mini .g-ov{grid-template-columns:minmax(130px,220px) minmax(320px,1fr)}
.g-mk{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--muted)}.g-mk span{position:absolute;bottom:-18px;left:-2px;font-size:.66rem;font-style:normal;white-space:nowrap;color:var(--muted);font-weight:700}
.g-mk.hoy{border-left:2px solid var(--red)}.g-mk.hoy span{color:var(--red-ink)}.g-mk.comp{border-color:var(--ink)}.g-mk.comp span{color:var(--ink)}.g-mk.est{border-color:var(--amber)}.g-mk.est span{color:var(--amber);bottom:-32px}
.gantt{padding-bottom:36px}
.its{display:grid;gap:14px}.itg h4{display:flex;gap:6px;align-items:center;margin:0 0 4px;font-size:.84rem}
.it{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line-2)}
.it-c{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:#fff;margin-top:1px}
.it.done .it-c{background:var(--green);border-color:var(--green)}.it.done .it-t b{text-decoration:line-through;color:var(--muted)}
.it-t{flex:1;display:grid;gap:2px;cursor:pointer;min-width:0}.it-t b{font-size:.88rem;font-weight:600;line-height:1.3}.it-t small{font-size:.78rem;color:var(--muted);line-height:1.4}.it-f{color:var(--ink)!important;font-weight:650}
.it.blq .it-t b{color:var(--red-ink)}
.fu{display:grid;gap:10px}.fu-r{display:flex;gap:10px}.fu-r b{font-size:.88rem}.fu-r small{display:block;font-size:.74rem;color:var(--muted);word-break:break-all}.fu-r p{margin:4px 0 0;font-size:.84rem}
.pegar{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}.pegar textarea{width:100%}
.dm-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px}
.dm-k>div{background:var(--line-2);border-radius:10px;padding:10px 12px;display:grid;gap:2px}.dm-k span{font-size:.72rem;color:var(--muted);font-weight:650}.dm-k b{font-size:1.15rem}.dm-k small{font-size:.72rem;color:var(--red-ink);font-weight:650}
.dm-f{border-top:1px solid var(--line-2);padding:8px 0}
.dm-h{display:flex;gap:10px;align-items:center;cursor:pointer}.dm-h div{flex:1;min-width:0;display:grid;gap:1px}.dm-h b{font-size:.88rem}.dm-h small{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-p{display:flex;gap:8px;align-items:baseline;padding:4px 0 4px 26px;font-size:.82rem;flex-wrap:wrap}.dm-p[role=button]{cursor:pointer;padding-left:0}.dm-p small{color:var(--muted);font-size:.74rem}
.m3d-v{height:min(62vh,520px);border-radius:12px;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--ink) 6%,transparent),transparent 70%),var(--line-2);overflow:hidden;position:relative}
.m3d-ph{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);font-size:.86rem}
.m3d-s{margin-top:8px}
.sem{display:grid;gap:8px}.sem-r{display:flex;gap:8px;align-items:flex-start}.sem-r span{display:grid}.sem-r b{font-size:.86rem;font-weight:600}.sem-r small{font-size:.74rem;color:var(--muted)}
.field.chk{flex-direction:row;align-items:center;gap:8px;display:flex}
@media (max-width:700px){.dm-k{grid-template-columns:repeat(2,minmax(0,1fr))}.m3d-v{height:52vh}}
/* v10: 3D de página completa */
.m3d-if{height:min(84vh,860px)}.m3d-if iframe{width:100%;height:100%;border:0;display:block;background:#d9dfe3}
.m3d .m3d-s{margin:0 0 8px}.fu-r a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:700px){.m3d-if{height:88vh}}
/* v10: dinero al día */
.ad{padding:14px 16px;display:grid;gap:14px}.ad-tot span{display:block;font-size:.8rem;color:var(--muted)}.ad-tot b{font-size:2rem;line-height:1.1;display:block}.ad-tot small{color:var(--muted)}
.ad-per{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ad-per>div{background:var(--line-2);border-radius:10px;padding:10px;display:grid;gap:2px}.ad-per span{font-size:.78rem;color:var(--muted)}.ad-per b.up{color:var(--green)}.ad-per b.down{color:var(--red)}.ad-per small{color:var(--muted);font-size:.75rem}
.ad .hb-r{cursor:default}.ad .sub{margin:0}
@media (max-width:520px){.ad-per{grid-template-columns:1fr 1fr 1fr;gap:6px}.ad-per>div{padding:8px}.ad-per b{font-size:.86rem}.ad-tot b{font-size:1.7rem}}
.at .steps{display:grid;gap:8px;padding-left:20px;margin:6px 0 4px}.at .steps li{line-height:1.45}.at code{background:var(--line-2);padding:1px 5px;border-radius:5px;font-size:.85em}
.cpy{display:flex;gap:6px;margin-top:6px}.cpy input{flex:1;min-width:0;font:12px ui-monospace,Menlo,monospace;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--line-2);color:inherit}
.pv{display:grid;gap:6px;margin-top:10px}.pv-r{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:center;background:none;border:0;padding:4px 0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.pv-r span{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-r i{display:block;height:8px;border-radius:5px;background:var(--line-2);overflow:hidden}.pv-r i b{display:block;height:100%;border-radius:5px}.pv-r small{font-size:.78rem;white-space:nowrap}
.ad-plan{display:grid;gap:6px;cursor:pointer}.ad-plan small{color:var(--muted)}.ad-plan small.bad{color:var(--red)}
@media (max-width:520px){.pv-r{grid-template-columns:1fr auto}.pv-r i{grid-column:1/-1;order:3}}
/* v12: flujo */
.fl{display:grid;gap:12px}.fl-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fl-k>div{background:var(--line-2);border-radius:10px;padding:10px;display:grid;gap:2px}.fl-k span{font-size:.76rem;color:var(--muted)}.fl-k b{font-size:1.05rem}
.fl-k .up,.fl-r .up{color:var(--green)}.fl-k .down,.fl-r .down{color:var(--red)}.bad{color:var(--red)}
.fl-al{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:.88rem}.fl-al.bad{background:color-mix(in srgb,var(--red) 10%,transparent)}.fl-al.ok{background:color-mix(in srgb,var(--green) 10%,transparent)}
.fl-l{display:grid}.fl-r{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 2px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}
.fl-r:last-child{border-bottom:0}.fl-f{font-size:.8rem;color:var(--muted)}.fl-c b{display:block;font-size:.9rem;font-weight:600}.fl-c small{display:block;color:var(--muted);font-size:.76rem}.fl-c small.bad{color:var(--red)}.fl-s{color:var(--muted);font-size:.78rem;min-width:76px;text-align:right}.fl-r.venc .fl-f{color:var(--red)}
@media (max-width:600px){.fl-k{grid-template-columns:1fr 1fr}.fl-r{grid-template-columns:48px minmax(0,1fr) auto;row-gap:2px}.fl-s{grid-column:3;min-width:0}}

.cb-k{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.cb-k>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.cb-k span{font-size:12px;color:var(--mute)}.cb-k b{font-size:20px}.cb-k small{font-size:11px;color:var(--mute)}
.cb{display:grid;gap:6px}.cb-p{display:grid;gap:4px;margin-bottom:8px}.cb-ph{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:4px 2px;border-bottom:1px solid var(--line);font-size:13px}.cb-ph small{color:var(--mute);font-weight:400}
.cb-r{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:inherit;font:inherit;cursor:pointer}.cb-r:hover{border-color:var(--line-2)}.cb-r.pos{border-style:dashed;opacity:.85}.cb-r.hecho{opacity:.6}
.cb-c{display:grid;gap:3px;min-width:0}.cb-c small{color:var(--mute);font-size:12px}.cb-t{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cb-r>b{white-space:nowrap}
.cb-cl{display:grid;gap:4px;margin-top:10px}.cb-cl div{display:flex;justify-content:space-between;font-size:14px}
.cb-v{display:flex;gap:6px;align-items:center;margin-top:8px}

.pj{display:grid;gap:14px}.pj .pj-h{display:grid;gap:4px;padding:14px 16px;border-radius:12px;border:1px solid var(--line)}.pj .pj-h.bad{border-color:color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 6%,transparent)}.pj .pj-h.ok{background:color-mix(in srgb,var(--green) 7%,transparent)}
.pj .pj-h span{font-size:13px;color:var(--mute)}.pj .pj-h b{font-size:28px;line-height:1.1}.pj .pj-h small{font-size:12px;color:var(--mute)}
.pj-k{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.pj-k>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.pj-k span{font-size:12px;color:var(--mute)}.pj-k b{font-size:19px}.pj-k small{font-size:11px;color:var(--mute)}
.pj-t{width:100%;border-collapse:collapse;font-size:13px}.pj-t th{text-align:right;font-weight:600;color:var(--mute);font-size:11px;padding:6px 4px;border-bottom:1px solid var(--line)}.pj-t th:first-child,.pj-t td:first-child{text-align:left}.pj-t td{text-align:right;padding:7px 4px;border-bottom:1px solid var(--line)}
.pj-mini{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line);margin-bottom:14px;font-size:14px}.pj-mini span{flex:1}.pj-mini.bad{border-color:color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 6%,transparent)}

.cn{display:grid;gap:14px}.cn-bars{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;min-height:96px}
.cn-b{display:grid;justify-items:center;gap:4px}.cn-col{display:flex;flex-direction:column-reverse;gap:3px;align-items:center;min-height:16px}.cn-col i{display:block;width:min(26px,80%);min-width:14px;height:13px;border-radius:3px;background:var(--ink)}.cn-col i.falta{background:none;border:1.5px dashed var(--red)}
.cn-b.cur .cn-col i:not(.falta){background:var(--green)}.cn-b small{font-size:11px;color:var(--mute)}.cn-b.cur small{color:var(--ink);font-weight:700}
.cn-meta{position:absolute;left:0;right:0;border-top:1.5px dashed var(--red);opacity:.6;pointer-events:none}.cn-meta span{position:absolute;right:0;top:-16px;font-size:10px;color:var(--red)}

.cn-rg{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.cn-rg>div>span,.cn-w>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}.cn-rg b{font-size:15px}
.cn-w{display:grid;gap:8px}.cn-wr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.cn-wr small{font-size:13px}.cn-wr i{grid-column:1/-1;height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}.cn-wr i em{display:block;height:100%;background:var(--red)}.cn-wr.ok i em{background:var(--green)}
.cp{display:grid;gap:14px}.cp-l{display:grid;gap:6px}.cp-r{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:inherit;font:inherit;cursor:pointer}.cp-r.ok{border-color:color-mix(in srgb,var(--green) 50%,transparent)}
.cp-c{display:grid;gap:4px}.cp-c small{font-size:11px;color:var(--mute)}.cp-w{display:grid;justify-items:end;gap:2px;text-align:right}.cp-w small{font-size:12px;color:var(--mute)}.cp-w small.up{color:var(--green)}
.cp-rg{font-size:13px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,transparent)}.cp-rg ol{margin:6px 0 0;padding-left:18px;display:grid;gap:5px}
/* facturas */
.fc-r{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line,rgba(0,0,0,.08))}
.fc-r:last-child{border-bottom:0}
.fc-c{display:grid;gap:3px;min-width:0}.fc-c small{color:var(--mute);font-size:12px}.fc-d{overflow-wrap:anywhere}
.fc-t{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.fc-m{display:grid;gap:8px;justify-items:end;flex:none}.fc-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.fc-r{animation:fcIn .35s ease both}@keyframes fcIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fc-r{animation:none}}
/* ==========================================================================
   Tablero — sistema de diseño del Centro de mando (v19)
   Vernáculo de gabinete de control: lámina gris RAL 7035, placas grafito,
   pilotos verde/ámbar/rojo. Rojo ATM = marca, acción principal y alarma.
   ========================================================================== */
:root{
  --bg:#e6e8e5; --surface:#ffffff; --surface-2:#ffffff; --sunk:#f1f2f0;
  --line:#d3d6d2; --line-2:#e4e6e3;
  --ink:#23272b; --muted:#5f666c; --faint:#8a9096;
  --red:#d40000; --red-ink:#b30000; --red-soft:#fbe3e1;
  --amber:#c27a0a; --amber-soft:#fbefd6; --green:#17834a; --green-soft:#ddf1e5; --idle:#a3a9ae;
  --rail:#23272b; --rail-2:#2f343a; --rail-ink:#eef0f1; --rail-muted:#9aa2a9;
  --face:#23272b; --face-2:#2c3136; --face-ink:#eef0f1; --face-muted:#9aa2a9;
  --shadow:0 20px 50px rgba(28,32,36,.22); --lift:0 1px 0 rgba(28,32,36,.04),0 1px 3px rgba(28,32,36,.06);
  --r:10px; --r-panel:14px; --r-sheet:20px;
  --t-xs:.8125rem; --t-s:.875rem; --t-m:1rem; --t-l:1.125rem; --t-xl:1.375rem; --t-2xl:1.75rem; --t-3xl:2.25rem;
  --gut:16px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#15181b; --surface:#1d2125; --surface-2:#23282d; --sunk:#191c20; --line:#30363c; --line-2:#272c31;
  --ink:#eceef0; --muted:#a0a8af; --faint:#737b82;
  --red:#ef2b2b; --red-ink:#ff7a70; --red-soft:#3b1718; --amber:#eaa53a; --amber-soft:#3a2d14; --green:#3fc57a; --green-soft:#16301f; --idle:#5b636a;
  --rail:#101315; --rail-2:#1c2024; --face:#101315; --face-2:#1a1e22; --shadow:0 20px 50px rgba(0,0,0,.55); --lift:none; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#15181b; --surface:#1d2125; --surface-2:#23282d; --sunk:#191c20; --line:#30363c; --line-2:#272c31;
  --ink:#eceef0; --muted:#a0a8af; --faint:#737b82;
  --red:#ef2b2b; --red-ink:#ff7a70; --red-soft:#3b1718; --amber:#eaa53a; --amber-soft:#3a2d14; --green:#3fc57a; --green-soft:#16301f; --idle:#5b636a;
  --rail:#101315; --rail-2:#1c2024; --face:#101315; --face-2:#1a1e22; --shadow:0 20px 50px rgba(0,0,0,.55); --lift:none; color-scheme:dark}

/* ---------- base y tipografía ---------- */
html{scroll-padding-top:72px}
body{font-size:var(--t-m);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
h1,h2,h3{text-wrap:balance}
p,small,.note{text-wrap:pretty}
.num{font-variation-settings:"wdth" 62;font-weight:800;font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.note{font-size:var(--t-s);line-height:1.45;color:var(--muted)}
.up{color:var(--green)}.down,.bad{color:var(--red-ink)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- controles ---------- */
.btn{min-height:40px;padding:8px 14px;border-radius:var(--r);font-size:var(--t-s);font-weight:650;gap:8px;border-color:var(--line);background:var(--surface);box-shadow:var(--lift);transition:background .15s,border-color .15s,transform .08s}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.btn.quiet{box-shadow:none}
.btn.sm{min-height:34px;padding:6px 11px;font-size:var(--t-xs)}
.btn.big{min-height:52px;font-size:var(--t-m);padding:12px 18px}
.iconbtn{width:40px;height:40px;border-radius:var(--r);border-color:transparent;background:transparent}
.iconbtn:hover{background:var(--sunk)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],input[type=time],input[type=tel],select,textarea{min-height:44px;border-radius:var(--r);border-color:var(--line);background:var(--surface);padding:10px 12px;font-size:var(--t-m)}
textarea{min-height:88px}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--red) 55%,transparent);outline-offset:0;border-color:var(--red)}
.field{font-size:var(--t-xs);gap:6px;color:var(--muted)}
.tag{font-size:var(--t-xs);font-weight:600;padding:3px 9px;line-height:1.25}
.tag.ok{background:var(--green-soft);color:var(--green)}
.count{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--t-xs);padding:1px 8px}
.count.dim{background:var(--sunk);color:var(--muted)}

/* segmentos: una fila desplazable, nunca se parten */
.seg{display:inline-flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;background:var(--sunk);border:1px solid var(--line-2);border-radius:999px;padding:3px;gap:2px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:none;white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:var(--t-s);font-weight:600;color:var(--muted);scroll-snap-align:start;min-height:36px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(28,32,36,.14)}
.tabsx{margin:0 calc(var(--gut)*-1) 4px;padding:0 var(--gut);overflow-x:auto;scrollbar-width:none}
.tabsx::-webkit-scrollbar{display:none}

/* ---------- paneles ---------- */
.panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-panel);box-shadow:var(--lift);overflow:hidden}
.panel-h{padding:16px 16px 10px;min-height:52px}
.panel-h h2{font-size:var(--t-l);font-weight:700;font-variation-settings:"wdth" 82;letter-spacing:-.005em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.panel-h .ph-r{display:flex;gap:6px;align-items:center;flex:none}
.empty{font-size:var(--t-s);padding:18px 16px}
.callout{border-radius:var(--r-panel);border-left-width:4px}
.ur{padding:13px 16px;min-height:56px}
.ur b{font-weight:650}
.ur small{color:var(--muted)}
.rowi{min-height:52px}

/* ---------- escritorio: riel ---------- */
.rail{border-right:0;box-shadow:inset -1px 0 0 rgba(255,255,255,.04)}
.navbtn[aria-current="page"]::before{width:4px;background:var(--red);box-shadow:0 0 10px var(--red)}
.top h1{font-variation-settings:"wdth" 75;font-weight:800;letter-spacing:-.01em}

/* ---------- móvil y tablet ---------- */
@media (max-width:900px){
  :root{--gut:16px}
  body{font-size:var(--t-m)}
  .top{position:sticky;top:0;z-index:15;flex-wrap:nowrap;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) var(--gut) 10px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
  body.scrolled .top{border-bottom-color:var(--line)}
  .top .tt{min-width:0;flex:1}
  .top h1{font-size:var(--t-xl);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top p{margin:2px 0 0;font-size:var(--t-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-act{gap:2px;flex:none}
  .top-act .sync,#reload{display:none}
  .search{min-width:0;width:40px;height:40px;padding:0;justify-content:center;border:0;background:transparent;box-shadow:none}
  #view{padding:8px var(--gut) calc(104px + env(safe-area-inset-bottom,0px));display:grid;gap:14px;align-content:start}
  #view>*{margin-top:0!important;margin-bottom:0!important;min-width:0}

  .tabbar{background:var(--rail);border-top:0;box-shadow:0 -1px 0 rgba(0,0,0,.25);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));gap:2px}
  .tabbar button{min-height:52px;border-radius:12px;gap:4px;font-size:.6875rem;letter-spacing:.01em;color:var(--rail-muted)}
  .tabbar button span:not(.badge){font-size:.6875rem!important;font-weight:600}
  .tabbar button[aria-current="page"]{color:#fff;background:var(--rail-2)}
  .tabbar button[aria-current="page"] .ic{color:#fff}
  .tabbar button[aria-current="page"]::before{content:"";position:absolute;top:5px;left:50%;width:6px;height:6px;margin-left:15px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red),0 0 2px #fff inset}
  .tabbar .badge{top:4px;left:calc(50% + 8px);min-width:18px;text-align:center;line-height:16px;font-size:.625rem;border:2px solid var(--rail)}
  .tabbar button[aria-current="page"] .badge{display:none}

  .fab{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:58px;height:58px;box-shadow:0 10px 28px color-mix(in srgb,var(--red) 40%,transparent),0 2px 6px rgba(0,0,0,.2)}

  /* hojas desde abajo */
  .drawer{top:auto;left:0;right:0;bottom:0;width:100vw;height:auto;max-height:calc(100dvh - 40px - env(safe-area-inset-top,0px));border:0;border-radius:var(--r-sheet) var(--r-sheet) 0 0;transform:translateY(104%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .drawer.open{transform:translateY(0)}
  .drawer::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--line);z-index:2}
  .dr-h{padding:22px var(--gut) 12px!important}
  .dr-h h2{font-size:var(--t-xl)}
  .dr-b{padding:14px var(--gut) calc(24px + env(safe-area-inset-bottom,0px))}
  .dr-b .btnrow{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom,0px));background:var(--surface);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));margin:0 0 -12px;border-top:1px solid var(--line-2);z-index:1}
  .dr-b .btnrow .btn.primary{flex:1;justify-content:center;min-height:48px}
  .scrim{background:rgba(16,19,22,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .sheet-in{border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 1fr;gap:6px}
  .sheet-in .grab{grid-column:1/-1}
  .sheet-in .navbtn{background:var(--sunk);color:var(--ink);min-height:56px;border-radius:12px;font-size:var(--t-s)}
  .toast{bottom:calc(92px + env(safe-area-inset-bottom,0px));border-radius:12px}

  .panel-h{padding:14px 14px 8px}
  .btnrow{gap:8px}
  .btn{min-height:44px}
  .btn.sm{min-height:36px}
  .wz-sheet{border-radius:0}
}
@media (max-width:380px){:root{--gut:12px}.top h1{font-size:var(--t-l)}}

/* ---------- anunciador (Hoy) ---------- */
.anun{background:var(--face);color:var(--face-ink);border-radius:var(--r-panel);padding:14px;display:grid;gap:10px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px rgba(20,23,26,.18)}
.anun-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 2px 0}
.anun-h b{font-variation-settings:"wdth" 82;font-weight:700;font-size:var(--t-m)}
.anun-h small{color:var(--face-muted);font-size:var(--t-xs)}
.anun-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.win{position:relative;display:grid;gap:3px;align-content:start;text-align:left;border:1px solid rgba(255,255,255,.06);background:var(--face-2);color:inherit;border-radius:10px;padding:12px 12px 12px 12px;min-height:104px;cursor:pointer;overflow:hidden;font:inherit}
.win::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lc) 35%,transparent),inset 0 -40px 50px -30px color-mix(in srgb,var(--lc) 26%,transparent)}
.win .lamp{width:11px;height:11px;border-radius:50%;background:var(--lc);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc) 22%,transparent),0 0 14px var(--lc);margin-bottom:6px}
.win span{font-size:var(--t-xs);color:var(--face-muted);font-weight:550}
.win b{font-size:1.5rem;line-height:1.05;color:#fff}
.win b.txt{font-variation-settings:"wdth" 75;font-weight:800;font-size:1.25rem;letter-spacing:-.005em}
.win small{font-size:var(--t-xs);color:var(--face-muted);line-height:1.3}
.win.ok{--lc:#2fd27a}.win.warn{--lc:#f4a627}.win.bad{--lc:#ff3b30}.win.off{--lc:#6b737a}
.win.bad .lamp{animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35;box-shadow:0 0 0 3px transparent}}
.win:active{transform:scale(.985)}
.anun-f{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.anun-f .btn{background:var(--face-2);border-color:rgba(255,255,255,.08);color:#fff;box-shadow:none;justify-content:center;min-height:48px}
.anun-f .btn.primary{background:var(--red);border-color:var(--red)}
@media (min-width:901px){.anun-g{grid-template-columns:repeat(4,1fr)}.anun{padding:16px}}

/* secciones de Hoy en orden */
.paso{display:grid;gap:10px}
.paso-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:4px 2px 0}
.paso-h h2{margin:0;font-size:var(--t-l);font-weight:700;font-variation-settings:"wdth" 82}
.paso-h a,.paso-h button{font-size:var(--t-s);font-weight:600;color:var(--muted);background:none;border:0;cursor:pointer;padding:6px 0;text-decoration:none}

/* lista compacta del dinero que viene */
.nx{display:grid}
.nx-r{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.nx-r:first-child{border-top:0}
.nx-d{display:grid;justify-items:center;line-height:1;border-radius:8px;background:var(--sunk);padding:6px 0}
.nx-d b{font-size:1.25rem}.nx-d small{font-size:.6875rem;color:var(--muted);margin-top:2px}
.nx-c{min-width:0}.nx-c b{display:block;font-weight:600;font-size:var(--t-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-c small{font-size:var(--t-xs);color:var(--muted)}
.nx-m{text-align:right;display:grid;gap:2px}.nx-m b{font-size:1.0625rem}.nx-m small{font-size:var(--t-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.nx-m small.bad{color:var(--red-ink);font-weight:650}

/* proyectos compactos */
.pl{display:grid}
.pl-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:13px 16px;border-top:1px solid var(--line-2);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.pl-r:first-child{border-top:0}
.pl-r b{font-weight:650;font-size:var(--t-s);line-height:1.3}
.pl-r small{font-size:var(--t-xs);color:var(--muted)}
.pl-r .num{font-size:1.125rem;align-self:start}
.pl-r .prog{grid-column:1/-1;height:5px;border-radius:3px}
.pl-r .pl-w{color:var(--amber);font-weight:600}

details.mas{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-panel);overflow:hidden}
details.mas>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;cursor:pointer;font-weight:700;font-variation-settings:"wdth" 82;font-size:var(--t-l)}
details.mas>summary::-webkit-details-marker{display:none}
details.mas>summary small{font-weight:500;font-variation-settings:"wdth" 100;color:var(--muted);font-size:var(--t-xs)}
details.mas>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-right:4px;transition:transform .2s}
details.mas[open]>summary::after{transform:rotate(-135deg)}
details.mas>.mas-b{padding:0 12px 14px;display:grid;gap:12px}
details.mas>.mas-b .panel{box-shadow:none;background:var(--sunk)}

/* ---------- papá: modo simple, letra grande ---------- */
body.simple{font-size:1.0625rem}
body.simple .hero-papa{border-radius:var(--r-panel);background:var(--face);padding:22px 16px}
body.simple .hero-papa h2{font-size:1.75rem;font-variation-settings:"wdth" 78}
body.simple .bigact{min-height:92px;border-radius:16px}
body.simple .bigact b{font-size:1.1875rem}
body.simple .ur{min-height:64px}
body.simple .ur b,body.simple .task b{font-size:1.0625rem}
body.simple .pc{border-radius:14px;padding:16px}
body.simple .pc .pc-t b{font-size:1.125rem}
body.simple .tabbar button span:not(.badge){font-size:.75rem!important}

/* ---------- arreglos de pantallas existentes ---------- */
.cn-rg>div>span,.cn-w>span{text-transform:none;letter-spacing:0;font-size:var(--t-xs);font-weight:600}
.pj .pj-h b{font-variation-settings:"wdth" 75}
.kpis6,.k8{gap:8px}
.kcard,.k8c{border-radius:12px}
@media (max-width:900px){
  .cols2,.cgrid{gap:14px}
  .pcs{grid-template-columns:minmax(0,1fr);padding:0 12px 12px}
  .proj-card h3,.pcard h3{font-size:var(--t-xl)!important}
}

.urt{display:grid}.urt .vermas{justify-self:start;margin:6px 12px 12px}
body.simple .pl-r{padding:16px}body.simple .pl-r b{font-size:1.0625rem}body.simple .pl-r .prog{height:7px}
.toolbar>*{min-width:0;max-width:100%}
.proj{border-radius:var(--r-panel);border-top-width:3px;box-shadow:var(--lift);border-color:var(--line-2)}.proj .pj-h b{font-size:var(--t-l);font-variation-settings:"wdth" 85}

.hoy-g{display:grid;gap:14px;align-items:start}
@media (min-width:901px){#view{max-width:1240px;width:100%}.hoy-g{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
:root[data-theme="dark"] .anun{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .anun{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}}

.bv{list-style:none;margin:0;padding:0 16px 16px;display:grid;gap:14px}
.bv li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}
.bv-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--face);color:#fff;font-weight:800;font-variation-settings:"wdth" 70;font-size:1.0625rem}
.bv li.ok .bv-n{background:var(--green)}
.bv b{display:block;font-size:1.0625rem;line-height:1.3}.bv p{margin:3px 0 0;color:var(--muted);font-size:var(--t-s)}
.bv .callout{margin-top:10px}

/* agenda con voz y toques */
.ag{display:grid;justify-items:center;text-align:center;gap:14px;padding-top:26px!important}
.ag-mic{width:132px;height:132px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px color-mix(in srgb,var(--red) 40%,transparent)}
.ag-mic.on{animation:pulso 1.4s ease-in-out infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 45%,transparent)}70%{box-shadow:0 0 0 26px transparent}100%{box-shadow:0 0 0 0 transparent}}
.ag-st{font-size:var(--t-xl);font-variation-settings:"wdth" 80}
.ag-txt{margin:0;font-size:var(--t-l);line-height:1.4;max-width:30ch;color:var(--muted);min-height:2.8em}
.ag-card{display:flex;gap:14px;align-items:center;text-align:left;width:100%;background:var(--sunk);border:1px solid var(--line-2);border-radius:var(--r-panel);padding:18px}
.ag-card>span{width:44px;height:44px;border-radius:12px;background:var(--face);color:#fff;display:grid;place-items:center;flex:none}
.ag-card b{font-size:var(--t-xl);line-height:1.2;display:block}.ag-card p{margin:4px 0 0;font-size:var(--t-l);font-weight:600;color:var(--green)}
.ag-acts{display:grid;gap:10px;width:100%}.ag-acts .btn{justify-content:center;width:100%}
.ag-n{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:13px;background:rgba(255,255,255,.22);font-variant-numeric:tabular-nums;margin-left:4px}
.ag2{gap:20px}.ag-g b{display:block;font-size:var(--t-l);margin-bottom:10px;font-variation-settings:"wdth" 82}
.tqs{display:flex;flex-wrap:wrap;gap:8px}
.tq{display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:10px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:var(--t-s);cursor:pointer}
.tq.on{background:var(--face);border-color:var(--face);color:#fff}
.ag2 .btn.primary[disabled]{opacity:.45}.tq[disabled]{opacity:.35;text-decoration:line-through}.tq{width:auto;flex:0 0 auto}
.ag-r{display:grid;grid-template-columns:62px minmax(0,1fr) 48px;gap:10px;align-items:center;padding:12px 12px 12px 16px;border-top:1px solid var(--line-2)}
.ag-r:first-child{border-top:0}
.ag-h{display:grid;line-height:1.05}.ag-h b{font-size:1.25rem}.ag-h small{font-size:var(--t-xs);color:var(--muted)}
.ag-r.rec .ag-h b{color:var(--red-ink)}
.ag-t{min-width:0;cursor:pointer}.ag-t b{display:block;font-weight:650;line-height:1.3}.ag-t small{color:var(--muted);font-size:var(--t-xs)}
.ag-ok{width:44px;height:44px;border:1.5px solid var(--line)!important;border-radius:12px}
.ag-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid var(--line-2)}
.ag-btns .btn{justify-content:center;min-height:48px}
.papa-acts.tres{grid-template-columns:1fr}
@media (min-width:700px){.papa-acts.tres{grid-template-columns:repeat(3,1fr)}}
.mt{display:grid}
.mt-r{display:grid;gap:5px;padding:14px 16px;border-top:1px solid var(--line-2)}.mt-r:first-child{border-top:0}
.mt-t{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.mt-t b{font-weight:650}.mt-t .num{font-size:1.375rem;white-space:nowrap}.mt-t em{font-style:normal;font-size:var(--t-s);color:var(--muted);font-weight:600}
.mt-r small{color:var(--muted);font-size:var(--t-xs)}
.mt-r .prog{height:7px;border-radius:4px}
.mt-r.met .mt-t .num{color:var(--green)}
.tag.pj{background:color-mix(in srgb,var(--face) 10%,transparent)}
.grp h3{display:flex;gap:8px;align-items:center}
.wact{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:900px){.wact .btn{flex:1 1 40%;justify-content:center}}

/* balance por cotización */
.bl-k{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.bl-k>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--sunk)}.bl-k span{font-size:var(--t-xs);color:var(--muted)}.bl-k b{font-size:1.25rem}.bl-k small{font-size:var(--t-xs);color:var(--muted)}
.bl-f{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
.bl{display:grid}
.bl-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 16px;border-top:1px solid var(--line-2);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.bl-r:first-child{border-top:0}
.bl-c{display:grid;gap:3px;min-width:0}.bl-c b{font-weight:700;font-size:var(--t-s)}.bl-c>small{color:var(--muted);font-size:var(--t-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bl-c .cb-t{font-size:var(--t-xs);color:var(--muted);gap:6px}
.bl-n{display:grid;justify-items:end;gap:2px;text-align:right}.bl-n b{font-size:1.0625rem}.bl-n small{font-size:var(--t-xs);font-weight:600;white-space:nowrap}
.bl-gt{display:grid;justify-items:end;line-height:1.1}.bl-gt b{font-size:1rem}.bl-gt small{font-size:var(--t-xs);font-weight:600}
.bc{gap:18px}.bc h3{margin:0 0 8px;font-size:var(--t-l);font-variation-settings:"wdth" 82;display:flex;gap:6px;align-items:center}
.bc-k{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bc-k>div{display:grid;gap:2px;padding:12px;border-radius:12px;background:var(--sunk)}.bc-k span{font-size:var(--t-xs);color:var(--muted)}.bc-k b{font-size:1.25rem}.bc-k small{font-size:var(--t-xs);color:var(--muted)}
.bc-it{display:grid;gap:6px}.bc-it>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--t-s);padding:8px 0;border-bottom:1px solid var(--line-2)}.bc-it>div span{min-width:0}
.bc-l{display:grid;gap:8px;margin-bottom:12px}
.bc-r{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px}
.bc-t b{display:block;font-size:var(--t-s)}.bc-t small{font-size:var(--t-xs);color:var(--muted)}
.bc-e{display:grid;grid-template-columns:minmax(0,1fr) 40px 40px 40px;gap:6px;align-items:center}.bc-e input{min-height:40px}
.bc-add{padding:12px;border-radius:12px;background:var(--sunk)}
@media (min-width:700px){.bc-k{grid-template-columns:repeat(4,1fr)}}

/* hablar */
.hablar{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:0;border-radius:16px;background:var(--red);color:#fff;padding:18px;min-height:96px;cursor:pointer;font:inherit;box-shadow:0 10px 26px color-mix(in srgb,var(--red) 35%,transparent)}
.hablar .ic{flex:none;width:52px;height:52px;padding:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.hablar b{display:block;font-size:1.375rem;font-variation-settings:"wdth" 80}.hablar small{display:block;opacity:.9;font-size:var(--t-s);line-height:1.35}
.papa-acts.dos{grid-template-columns:1fr 1fr;width:100%}.papa-acts.dos .bigact{min-height:76px;padding:12px;gap:8px;flex-direction:column;align-items:flex-start}.papa-acts.dos .bigact b{font-size:var(--t-m)}
.hero-papa{gap:14px}
.vz{gap:14px}.vz-dicho{margin:0;color:var(--muted);font-size:var(--t-m);line-height:1.45;font-style:italic}
.vz-l{display:grid;gap:8px}
.vz-a{display:grid;grid-template-columns:40px minmax(0,1fr) 32px;gap:12px;align-items:center;text-align:left;width:100%;padding:12px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:inherit;font:inherit;cursor:pointer}
.vz-a.on{border-color:var(--face)}.vz-a:not(.on){opacity:.45}.vz-a:not(.on) b{text-decoration:line-through}
.vz-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sunk)}
.vz-a.k-hecha .vz-i{background:var(--green-soft);color:var(--green)}.vz-a.k-evento .vz-i{background:var(--face);color:#fff}.vz-a.k-tarea .vz-i{background:var(--amber-soft);color:var(--amber)}.vz-a.k-prop .vz-i{background:var(--red-soft);color:var(--red-ink)}
.vz-t{display:grid;gap:2px;min-width:0}.vz-t small{font-size:var(--t-xs);color:var(--muted);font-weight:600}.vz-t b{font-size:var(--t-m);line-height:1.3}.vz-t em{font-style:normal;font-size:var(--t-xs);color:var(--muted)}
.vz-c{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--sunk)}.vz-a.on .vz-c{background:var(--green);color:#fff}
.vz-ej{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%;text-align:left}.vz-ej li{font-size:var(--t-s);color:var(--muted);padding:8px 12px;border-radius:10px;background:var(--sunk)}

/* dinero en claro */
.pd-k{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pd-k.dos{grid-template-columns:1fr 1fr}
.pd-c{display:grid;gap:3px;padding:14px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-2);border-top:4px solid var(--line)}
.pd-c span{font-size:var(--t-xs);color:var(--muted);font-weight:600}.pd-c b{font-size:1.5rem;line-height:1.1}.pd-c small{font-size:var(--t-xs);color:var(--muted)}
.pd-c.ent{border-top-color:var(--green)}.pd-c.sal{border-top-color:var(--red)}.pd-c.deb{border-top-color:var(--amber)}.pd-c.cob{border-top-color:var(--face)}
@media (min-width:900px){.pd-k{grid-template-columns:repeat(4,1fr)}}
.pd-m{display:grid;gap:10px}.pd-mr{display:grid;grid-template-columns:34px minmax(0,1fr) 74px;gap:10px;align-items:center}.pd-mr>span{font-size:var(--t-s);color:var(--muted);font-weight:600}.pd-mr>b{text-align:right;font-size:var(--t-m)}
.pd-b{display:grid;gap:3px}.pd-b i{display:block;height:9px;border-radius:5px;min-width:2px}.pd-b i.e{background:var(--green)}.pd-b i.s{background:var(--red)}
.pd-f{display:grid}.pd-fr{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2)}.pd-fr:first-child{border-top:0}.pd-fr>span{color:var(--amber)}.pd-fr b{display:block;font-size:var(--t-s)}.pd-fr small{font-size:var(--t-xs);color:var(--muted)}
.pd-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pd-bar input{min-width:0}
.pd-mes{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-panel);padding:6px}.pd-mes b{font-size:var(--t-l);font-variation-settings:"wdth" 82}
.pd-l{display:grid}.pd-lr{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line-2)}.pd-lr:first-child{border-top:0}.pd-lt{min-width:0}.pd-lt b{display:block;font-size:var(--t-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-lt small{font-size:var(--t-xs);color:var(--muted)}
.pd-mini{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;width:100%;text-align:left;padding:16px;border-radius:var(--r-panel);border:1px solid var(--line-2);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.pd-mini small{display:block;font-size:var(--t-xs);color:var(--muted)}.pd-mini b{font-size:1.375rem}.pd-mv{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-weight:650;font-size:var(--t-s);color:var(--red-ink)}

/* ===== v27: más grande, más claro ===== */
@media (max-width:900px){
  :root{--t-xs:.875rem;--t-s:.9375rem;--t-m:1.0625rem;--t-l:1.1875rem;--t-xl:1.5rem}
  body{font-size:1.0625rem}
  .top h1{font-size:1.5rem}
  .top p{font-size:.875rem}
  .panel-h h2{font-size:1.25rem}
  .btn{min-height:48px;font-size:1rem;border-radius:12px}
  .btn.sm{min-height:40px;font-size:.9375rem;padding:8px 14px}
  .tabbar button{min-height:58px}
  .tabbar button .ic{width:24px;height:24px}
  .tabbar button span:not(.badge){font-size:.75rem!important}
  .ur,.bl-r,.pl-r,.nx-r{padding-top:14px;padding-bottom:14px}
  .tag{font-size:.8125rem;padding:4px 10px}
  .seg button{min-height:42px;font-size:.9375rem;padding:8px 16px}
  .win span,.win small{font-size:.875rem}
  .win b{font-size:1.625rem}.win b.txt{font-size:1.375rem}
  .note{font-size:.9375rem}
}
body.simple{font-size:1.125rem}

/* navegación principal de Dinero: 4 botones grandes */
.ptabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:6px;box-shadow:var(--lift);position:sticky;top:calc(62px + env(safe-area-inset-top,0px));z-index:9}
.ptabs button{display:grid;justify-items:center;gap:4px;padding:10px 4px;border:0;border-radius:12px;background:none;color:var(--muted);font:inherit;font-weight:650;font-size:.875rem;cursor:pointer;min-height:62px}
.ptabs button[aria-pressed="true"]{background:var(--face);color:#fff}
.back{display:flex;align-items:center;gap:8px}.back h2{margin:0;font-size:1.375rem;font-variation-settings:"wdth" 80}
.tiles{display:grid;gap:8px}
.tile{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;gap:14px;align-items:center;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);color:inherit;font:inherit;cursor:pointer;box-shadow:var(--lift)}
.tile-i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--sunk);color:var(--ink)}
.tile b{display:block;font-size:1.125rem}.tile small{display:block;color:var(--muted);font-size:.9375rem;line-height:1.35;margin-top:2px}
@media (min-width:700px){.tiles{grid-template-columns:1fr 1fr}}

/* cerebro financiero */
.cf-hero{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:12px 16px;align-items:center;padding:20px 18px;border-radius:18px;background:var(--face);color:#fff}
.cf-h-t span{font-size:.9375rem;color:var(--face-muted)}.cf-h-t h2{margin:4px 0;font-size:1.875rem;line-height:1.1;font-variation-settings:"wdth" 78;font-weight:800}.cf-h-t p{margin:0;color:#dfe3e6;font-size:1rem;line-height:1.4}.cf-h-t p b{color:#fff}
.cf-hero.bad .cf-h-t h2{color:#ffb3ad}
.cf-ring{position:relative;width:128px;height:128px}.cf-ring svg{width:128px;height:128px}.cf-ring circle{fill:none;stroke-width:12;stroke-linecap:round}.cf-ring circle.bg{stroke:rgba(255,255,255,.12)}.cf-ring .tick{stroke:#fff;stroke-width:3;stroke-linecap:round}
.cf-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.cf-ring b{font-size:1.75rem;line-height:1}.cf-ring small{font-size:.75rem;color:var(--face-muted);max-width:80px}
.cf-h-k{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}
.cf-h-k small{display:block;font-size:.8125rem;color:var(--face-muted);line-height:1.25}.cf-h-k b{font-size:1.125rem;color:#fff}.cf-h-k b.bad{color:#ffb3ad}.cf-h-k b.up{color:#7fe0a8}
.cf-cat{display:grid;gap:14px;padding:4px 16px 16px}
.cf-r{display:grid;gap:5px}.cf-rt{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.cf-rt b{font-weight:650}.cf-rt span{font-size:.9375rem;color:var(--muted);white-space:nowrap}.cf-r small{font-size:.875rem;color:var(--muted)}
.cf-r.over .cf-rt span{color:var(--red-ink);font-weight:700}
.cf-bar{position:relative;height:12px;border-radius:6px;background:var(--sunk);overflow:visible}.cf-bar i{display:block;height:100%;border-radius:6px;background:var(--green)}.cf-r.over .cf-bar i{background:var(--red)}
.cf-bar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55;border-radius:1px}
.cf-p{display:grid}.cf-pr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 16px;border-top:1px solid var(--line-2)}.cf-pr:first-child{border-top:0}.cf-pr b{font-size:1.125rem;text-align:right}.cf-pr small{grid-column:1/-1;font-size:.875rem;color:var(--muted)}
.cf-sv{display:grid;gap:14px}.cf-sv>div{display:grid;gap:3px}.cf-sv small{font-size:.875rem;color:var(--muted)}.cf-sv b{font-size:1.375rem}
.cf-rg{margin:0;padding-left:20px;display:grid;gap:6px;font-size:1rem}
.cf-tx{display:grid;gap:12px}.cf-tk{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cf-tk>div{padding:12px;border-radius:12px;background:var(--sunk);display:grid;gap:2px}.cf-tk small{font-size:.8125rem;color:var(--muted)}.cf-tk b{font-size:1.25rem}
.cf-big{display:grid;justify-items:center;text-align:center;padding:16px;border-radius:14px;background:var(--green-soft)}.cf-big b{font-size:2.25rem;line-height:1.1}.cf-big small{font-size:.875rem;color:var(--muted)}
.cf-es{display:grid;gap:8px;padding:0 12px 12px}
.cf-e{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);overflow:hidden}
.cf-e summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 12px;align-items:center;padding:14px;cursor:pointer}
.cf-e summary::-webkit-details-marker{display:none}
.cf-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--face);color:#fff;font-weight:800;grid-row:span 2}
.cf-e summary b{font-size:1.0625rem;line-height:1.3}.cf-e summary em{font-style:normal;color:var(--green);font-weight:700;font-size:.9375rem}
.cf-e p,.cf-e ul{margin:0 14px 12px;font-size:1rem;line-height:1.5}.cf-e ul{padding-left:20px;display:grid;gap:4px;margin-bottom:16px}
@media (min-width:900px){.cf-hero{grid-template-columns:minmax(0,1fr) 150px}.cf-tk{grid-template-columns:repeat(4,1fr)}}

/* v28 · Cuentas claras del proyecto */
.cc .pos{color:var(--green)}.cc .neg{color:var(--red)}
.cc-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cc-top>div{background:var(--sunk);border-radius:14px;padding:12px 12px 10px;min-width:0}
.cc-top small{display:block;color:var(--muted);font-size:var(--t-xs)}
.cc-top b{display:block;font-size:clamp(17px,4.6vw,24px);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}
.cc-bar{height:10px;border-radius:99px;background:var(--sunk);overflow:hidden;margin:12px 0 4px}
.cc-bar i{display:block;height:100%;background:var(--green);border-radius:99px}
.cc-t{margin:18px 0 8px;font-size:var(--t-s);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cc-f{border:1px solid var(--line);border-left:5px solid var(--green);border-radius:14px;padding:12px;margin-bottom:10px;background:var(--surface)}
.cc-f.debe{border-left-color:var(--red)}
.cc-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.cc-h small{display:block;color:var(--muted);font-size:var(--t-xs)}
.cc-n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--surface);display:grid;place-items:center;font-weight:700}
.cc-m{font-variant-numeric:tabular-nums;font-size:17px}
.cc-p{margin:10px 0 0 40px;display:grid;gap:4px}
.cc-p>div,.cc-l{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.cc-p>div span,.cc-l span{color:var(--muted);min-width:0}
.cc-r{border-top:1px dashed var(--line-2);padding-top:6px;margin-top:2px}
.cc-r span{color:var(--ink)!important;font-weight:600}
.cc-l{padding:8px 0;border-bottom:1px solid var(--line)}
.cc-l.tot{border-bottom:0;font-weight:600}.cc-l.tot span{color:var(--ink)}
.cc-x{margin-top:16px;border-radius:12px;background:var(--sunk);padding:10px 12px}
.cc-x summary{cursor:pointer;font-weight:600;color:var(--muted)}
@media(max-width:520px){.cc-top{grid-template-columns:1fr}.cc-top>div{display:flex;justify-content:space-between;align-items:baseline}.cc-p{margin-left:0}}
.cc-m{white-space:nowrap}
@media(max-width:520px){.cc-m{font-size:15px}.cc-h{gap:8px}.cc-f{padding:12px 10px}}

/* v29 · Control: orden, resultados y cierre */
.ct-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:var(--face);color:#fff;border-radius:20px;padding:18px;margin:12px 0}
.ct-hero h3{margin:0 0 4px;font-size:var(--t-l);color:#fff}.ct-hero p{margin:0;color:rgba(255,255,255,.78);font-size:var(--t-s)}.ct-hero p b{color:#fff}
.ct-sc{width:84px;height:84px;border-radius:50%;display:grid;place-content:center;text-align:center;border:6px solid var(--lc,#888);flex:none}
.ct-sc b{font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.ct-sc small{font-size:11px;opacity:.75}
.ct-hero.ok,.ct-mini.ok{--lc:#2fbf71}.ct-hero.warn,.ct-mini.warn{--lc:#f0a020}.ct-hero.bad,.ct-mini.bad{--lc:#ff4d4d}
.ct-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line-2);border-left:6px solid var(--lc);border-radius:16px;padding:12px 14px;margin:10px 0;font:inherit;color:var(--ink);cursor:pointer}
.ct-mini .ct-sc{width:48px;height:48px;border-width:4px}.ct-mini .ct-sc b{font-size:18px}
.ct-mini small{display:block;color:var(--muted);font-size:var(--t-xs)}
.ct-list{display:grid}.ct-c{border-bottom:1px solid var(--line)}.ct-c:last-child{border-bottom:0}
.ct-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:14px 16px;background:none;border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-height:64px}
.ct-c.done .ct-h{cursor:default}
.ct-n{min-width:34px;height:34px;padding:0 8px;border-radius:99px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-variant-numeric:tabular-nums}
.ct-n.ok{background:var(--green-soft);color:var(--green)}
.ct-t small,.ct-steps small{display:block;color:var(--muted);font-size:var(--t-xs)}
.ct-b{padding:0 16px 16px;display:grid;gap:8px}.ct-pq{margin:0;font-size:var(--t-s);color:var(--ink)}
.ct-b h5{margin:8px 0 0;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ct-b h5 span{background:var(--sunk);border-radius:99px;padding:1px 8px;margin-left:4px}
.ct-l{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--t-s);font-variant-numeric:tabular-nums}
.ct-l span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.ct-l b{white-space:nowrap}
.ct-mes{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}.ct-mes b{font-size:var(--t-m);text-transform:capitalize}
.ct-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.ct-k>div{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:12px;min-width:0}
.ct-k.two>div{background:var(--sunk);border:0}
.ct-k small{display:block;color:var(--muted);font-size:var(--t-xs)}.ct-k b{display:block;font-size:clamp(20px,5.4vw,28px);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}
.ct-k span{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-k .pos,.ct-pl .pos{color:var(--green)}.ct-k .neg,.ct-pl .neg{color:var(--red)}
.ct-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ct-pl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:var(--t-s)}
.ct-pl th,.ct-pl td{padding:10px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.ct-pl th:first-child{text-align:left;white-space:normal;font-weight:500;padding-left:16px;min-width:150px}
.ct-pl thead th{font-size:var(--t-xs);color:var(--muted);text-transform:capitalize;font-weight:600}
.ct-pl .dim{color:var(--muted)}.ct-pl .var{font-size:var(--t-xs)}
.ct-pl tr.tot th,.ct-pl tr.tot td{font-weight:700;background:var(--sunk)}.ct-pl tr.big td:nth-child(2){font-size:var(--t-m)}
.ct-ins{margin:0;padding-left:34px;display:grid;gap:8px}
.ct-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-bottom:10px;font-size:var(--t-s)}
.ct-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-bar b{font-variant-numeric:tabular-nums}
.ct-bar i{grid-column:1/-1;height:8px;border-radius:99px;background:var(--sunk);overflow:hidden}.ct-bar u{display:block;height:100%;background:var(--red);border-radius:99px}
.ct-steps{list-style:none;margin:0;padding:0}
.ct-steps li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.ct-steps li:last-child{border-bottom:0}.ct-steps .ct-n{background:var(--sunk);color:var(--ink)}.ct-steps .ct-n.ok{background:var(--green-soft);color:var(--green)}
.ct-steps li.ok b{color:var(--muted)}
@media(max-width:520px){.hide-s{display:none}.ct-pl .var{display:block}.ct-hero{padding:16px}}
.ct-hero .ct-sc b,.ct-hero .ct-sc small{color:#fff}.ct-b>*{min-width:0}.ct-pq{overflow-wrap:anywhere}
.ct-mes b{text-transform:none}.ct-mes b::first-letter{text-transform:uppercase}
@media(max-width:520px){.ct-pl .var{display:table-cell}.ct-pl th:first-child{min-width:0;padding-left:12px}.ct-pl th,.ct-pl td{padding:10px 6px}}

/* v30 · Tablero de widgets con datos reales */
.tb{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin:14px 0}
.wd{background:var(--surface);border:1px solid var(--line-2);border-radius:20px;padding:16px;display:grid;gap:12px;align-content:start;min-width:0;box-shadow:0 1px 2px rgba(20,23,26,.04)}
.wd>header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wd h3{margin:0;font-size:var(--t-s);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.wd h3 .cnt{background:var(--sunk);border-radius:99px;padding:1px 8px;margin-left:4px;color:var(--ink)}
.wd>header button{border:0;background:none;color:var(--muted);font:inherit;font-size:var(--t-xs);font-weight:600;display:inline-flex;align-items:center;gap:2px;padding:8px 0 8px 12px;cursor:pointer;min-height:36px}
.wd>header button:hover{color:var(--red)}
.wd .num{font-variant-numeric:tabular-nums}.wd .up{color:var(--green)}.wd .dn{color:var(--red)}.wd .wn{color:var(--amber)}
.wd-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.wd-big>b{font-size:clamp(30px,8.4vw,42px);line-height:1;font-weight:800;letter-spacing:-.02em;font-variation-settings:"wdth" 88}
.wd-d{font-size:var(--t-xs);color:var(--muted);font-weight:600}
.wd-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:12px}
.wd-3.top{border-top:0;padding-top:0}
.wd-3 small,.wd-3 span{display:block;color:var(--muted);font-size:11px;line-height:1.25}
.wd-3 b{display:block;font-size:clamp(15px,4vw,19px);overflow-wrap:anywhere;line-height:1.25}
.wd-n{margin:0;font-size:var(--t-xs);color:var(--muted)}
.spark{width:100%;height:120px;display:block;overflow:visible}
.sp-l{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sp-dot{fill:var(--red);stroke:var(--surface);stroke-width:3;vector-effect:non-scaling-stroke}
.sp-x{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted);margin-top:-6px}
.sp-x span:nth-child(2),.sp-x span:nth-child(3){display:none}
.bars{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;height:150px;align-items:end;padding:16px 0 20px}
.bar{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}
.bar u{display:block;width:100%;max-width:44px;height:var(--h);min-height:3px;background:var(--line-2);border-radius:7px 7px 3px 3px;transform-origin:bottom}
.bar.hit u{background:var(--green)}.bar.now u{background:var(--red)}
.bar small{position:absolute;bottom:-18px;font-size:10.5px;color:var(--muted);text-transform:capitalize}
.bar.now small{color:var(--ink);font-weight:700}
.bar em{position:absolute;bottom:calc(var(--h) + 3px);font-style:normal;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.bars-m{position:absolute;left:0;right:0;border-top:1.5px dashed var(--ink);opacity:.45;margin-bottom:20px;z-index:1}
.bars-m span{position:absolute;right:0;top:-15px;font-size:10px;font-style:normal;font-weight:700}
.stack{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--sunk);gap:2px}
.stack i{display:block;height:100%;min-width:4px;transform-origin:left}
.wd-l{list-style:none;margin:0;padding:0;display:grid}
.wd-l li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.wd-l li:first-child{border-top:0}.wd-l li>i{width:10px;height:10px;border-radius:3px}
.wd-l b{display:block;font-size:var(--t-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-l small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-l .r{text-align:right}.wd-l.sm li{padding:7px 0}.wd-l .vac{display:block;color:var(--muted);font-size:var(--t-s)}
.pr-g{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.pr{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;text-align:left;background:var(--sunk);border:0;border-radius:14px;padding:12px;font:inherit;color:var(--ink);cursor:pointer;transition:transform .15s,box-shadow .15s}
.pr:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,23,26,.1)}.pr:active{transform:scale(.985)}
.pr-t{display:grid;gap:2px;min-width:0}.pr-t b{font-size:var(--t-s);line-height:1.25}.pr-t>small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-t em{font-style:normal;font-size:11.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-t em.ok{color:var(--green)}
.pr-m{display:grid;gap:3px;margin-top:4px}.pr-m i{display:block;height:5px;border-radius:99px;background:var(--line-2);overflow:hidden}.pr-m u{display:block;height:100%;background:var(--green);border-radius:99px;transform-origin:left}
.pr-m small{font-size:11px;color:var(--muted)}
.ring .rg-b{fill:none;stroke:var(--line-2);stroke-width:5}.ring .rg-f{fill:none;stroke:var(--red);stroke-width:5;stroke-linecap:round;stroke-dashoffset:var(--o)}
.ring text{font-size:15px;font-weight:800;fill:var(--ink);font-variant-numeric:tabular-nums}
.dn-w{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:center}
.dn-t{font-size:20px;font-weight:800;fill:var(--ink)}.dn-u{font-size:10px;fill:var(--muted)}
.dn-k{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dn-k li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:var(--t-s)}
.dn-k i{width:10px;height:10px;border-radius:3px}.dn-k .tt{grid-template-columns:minmax(0,1fr) auto;border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:var(--t-xs)}
.fun{display:grid;gap:7px}.fun>div{display:grid;grid-template-columns:104px minmax(0,1fr) 26px;gap:8px;align-items:center;font-size:var(--t-xs)}
.fun span{color:var(--muted)}.fun i{display:block;height:12px;border-radius:99px;background:var(--sunk);overflow:hidden}.fun u{display:block;height:100%;background:var(--ink);border-radius:99px;transform-origin:left}.fun b{text-align:right}
@media(min-width:700px){.tb{grid-template-columns:repeat(2,minmax(0,1fr))}.wd-proy{grid-column:1/-1}.pr-g{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-x span:nth-child(2),.sp-x span:nth-child(3){display:inline}.spark{height:140px}}
@media(min-width:1100px){.tb{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.wd{padding:20px}.wd-banco,.wd-meses,.wd-gasto,.wd-ventas{grid-column:span 3}.wd-deben{grid-column:span 2}.wd-proy{grid-column:span 4}.wd-big>b{font-size:44px}.bars{height:180px}}
@media(min-width:901px){.wd{transition:box-shadow .2s,transform .2s}.wd:hover{box-shadow:0 10px 30px rgba(20,23,26,.09)}}
/* animaciones: solo al entrar a la vista (body.anim), nunca con movimiento reducido */
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes growY{from{transform:scaleY(0)}to{transform:none}}
@keyframes growX{from{transform:scaleX(0)}to{transform:none}}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ringd{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--o)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
body.anim .wd,body.anim .anun .win,body.anim .ct-mini,body.anim #view>.panel,body.anim #view>section{animation:up .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
body.anim .bar u{animation:growY .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(200ms + var(--i,0)*60ms)}
body.anim .stack i,body.anim .pr-m u,body.anim .fun u,body.anim .prog i,body.anim .cc-bar i,body.anim .ct-bar u{animation:growX .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(250ms + var(--i,0)*70ms)}
body.anim .sp-l{stroke-dasharray:1;animation:draw 1.2s ease-out both .15s}
body.anim .sp-a,body.anim .sp-dot,body.anim .bar em,body.anim .dn-s{animation:fade .6s ease both .9s}
body.anim .ring .rg-f{animation:ringd 1s cubic-bezier(.2,.7,.2,1) both .2s}
@media(prefers-reduced-motion:reduce){body.anim *{animation:none!important}}
.wd-ok{margin:0;font-size:11.5px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:4px}.wd-ok.mal{color:var(--amber)}
.tb-h{display:none}
.wd-proy{margin:14px 0}
@media(max-width:699px){.tb{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(var(--gut,16px)*-1);padding:2px var(--gut,16px);scroll-padding-inline:var(--gut,16px);gap:12px}
 .tb::-webkit-scrollbar{display:none}.tb>.wd{flex:0 0 88%;scroll-snap-align:start}
 .tb-h{display:block;text-align:center;font-size:11px;color:var(--muted);margin:-8px 0 0}}
@media(min-width:1100px){.tb>.wd-banco,.tb>.wd-meses{grid-column:span 3}.tb>.wd-deben,.tb>.wd-gasto,.tb>.wd-ventas{grid-column:span 2}.pr-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
#view>.wd-proy{grid-column:auto!important;margin:0}.tb{margin:0}
@media(max-width:699px){.tb{align-items:flex-start}}
@media(max-width:699px){.tb{align-items:stretch}.tb .wd-ventas .wd-l,.tb .wd-gasto .wd-l,.tb .wd-deben .wd-n{display:none}.tb .wd-deben .wd-l li:nth-child(n+4){display:none}}

/* v31 · Tareas, Proyecto, Ventas: resumen arriba y listas plegadas */
.tk-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tk-s{display:grid;gap:2px;text-align:left;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:12px 10px;font:inherit;color:var(--ink);cursor:pointer;min-width:0;border-top:4px solid var(--line-2);transition:transform .15s}
.tk-s:active{transform:scale(.97)}.tk-s b{font-size:clamp(24px,7vw,32px);line-height:1;font-weight:800;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 88}
.tk-s small{color:var(--muted);font-size:11px;line-height:1.2}
.tk-s.bad{border-top-color:var(--red)}.tk-s.bad b{color:var(--red)}.tk-s.now{border-top-color:var(--amber)}.tk-s.ok{border-top-color:var(--green)}.tk-s.ok b{color:var(--green)}
.tk-s.cero b{color:var(--muted)}.tk-s.bad.cero{border-top-color:var(--green)}
.tk-add{padding:14px 16px;display:grid;gap:8px;border-bottom:1px solid var(--line)}
.tk-a1{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px}.tk-a1 input{min-height:52px;font-size:17px}.tk-a1 .btn{min-height:52px;padding:0;justify-content:center}
.tk-add summary{font-size:var(--t-xs);color:var(--muted);cursor:pointer;padding:4px 0;font-weight:600}
.tk-a2{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding-top:8px}
.grp h3 .tk-m{margin-left:auto;font-size:var(--t-xs);text-transform:none;letter-spacing:0}.grp h3{display:flex;align-items:center;gap:8px}
.tk-more{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:48px;background:none;border:0;border-top:1px solid var(--line);font:inherit;font-size:var(--t-s);font-weight:600;color:var(--muted);cursor:pointer}
.tk-more:hover{color:var(--red);background:var(--sunk)}
.clampx{max-height:230px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.pj-w{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pj-w>div{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:12px 14px;display:grid;gap:1px;align-content:start;min-width:0}
.pj-w small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.pj-w b{font-size:clamp(20px,5.6vw,26px);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 88}
.pj-w span{color:var(--muted);font-size:11.5px}.pj-w .neg{color:var(--red)}.pj-w .pos{color:var(--green)}
.pj-w1{grid-column:1/-1;grid-template-columns:64px minmax(0,1fr)!important;display:grid!important;gap:14px!important;align-items:center}
.pj-w1>div{display:grid;gap:1px}.pj-b{display:block;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden;margin-top:6px}.pj-b u{display:block;height:100%;background:var(--green);border-radius:99px;transform-origin:left}
@media(min-width:900px){.pj-w{grid-template-columns:1.3fr repeat(4,1fr)}.pj-w1{grid-column:auto}.tk-s{padding:16px}}
.vt-5{background:var(--face);color:#fff;border-radius:20px;padding:16px;display:grid;gap:10px}
.vt-5>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.vt-5 h3{margin:0 0 4px;font-size:var(--t-l);color:#fff}.vt-5 header p{margin:0;font-size:var(--t-xs);color:rgba(255,255,255,.7)}
.vt-n{font-size:34px;line-height:1;font-weight:800;color:#ff5a5a;text-align:right;font-variation-settings:"wdth" 88}.vt-n small{display:block;font-size:10.5px;font-weight:500;color:rgba(255,255,255,.7)}
.vt-p{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;display:grid;gap:10px}
.vt-t{cursor:pointer}.vt-t b{display:block;font-size:var(--t-m);line-height:1.25}.vt-t small{display:block;color:rgba(255,255,255,.65);font-size:var(--t-xs);margin-top:2px}
.vt-a{display:flex;flex-wrap:wrap;gap:6px}.vt-a .btn{background:rgba(255,255,255,.1);border-color:transparent;color:#fff;box-shadow:none;min-height:42px;flex:1 1 auto;justify-content:center;text-decoration:none}
.vt-a .btn.primary{background:var(--red);flex-basis:100%}
.vt-5 .tk-more{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}.vt-5 .tk-more:hover{background:rgba(255,255,255,.06);color:#fff}
@media(min-width:900px){.vt-5{grid-template-columns:repeat(5,minmax(0,1fr))}.vt-5>header,.vt-5>.tk-more{grid-column:1/-1}.vt-a .btn{flex-basis:100%}}
body.anim .tk-s,body.anim .vt-p,body.anim .pj-w>div{animation:up .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*60ms)}
body.anim .pj-b u{animation:growX .8s cubic-bezier(.2,.7,.2,1) both .25s}
.tk-s:nth-child(2),.pj-w>div:nth-child(2){--i:1}.tk-s:nth-child(3),.pj-w>div:nth-child(3){--i:2}.tk-s:nth-child(4),.pj-w>div:nth-child(4){--i:3}.pj-w>div:nth-child(5){--i:4}
.vt-p{align-content:start}.vt-a{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vt-a .btn{padding:0 6px;font-size:13px;min-height:44px;gap:5px}.vt-a .btn.primary{grid-column:1/-1}
@media(min-width:900px){.vt-a{grid-template-columns:minmax(0,1fr)}.vt-a .btn{min-height:40px}}
.pj-w span.neg{color:var(--red)}

/* v32 · ligar facturas desde Orden, grupos en Dinero */
.ct-la{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 10px;border-bottom:1px solid var(--line)}.ct-la .btn{min-height:38px;font-size:13px}
.ct-l:has(+.ct-la){border-bottom:0}
.tg{display:grid;gap:8px}.tg>header{padding:6px 2px 0}.tg h3{margin:0;font-size:var(--t-s);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.tg small{color:var(--muted);font-size:var(--t-xs)}
@media(min-width:900px){.tg .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v33 — cotizador */
.cz-f{border:1px solid var(--line,#d9dcd8);border-radius:14px;padding:12px;display:grid;gap:8px;background:var(--card,#fff)}
.cz-fh{display:flex;justify-content:space-between;align-items:center}
.cz-n{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;align-items:end}
.cz-n label{display:grid;gap:4px;font-size:12px;color:var(--mut,#666)}
.cz-i{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.cz-fs{display:grid;gap:10px}
.cz-t{display:grid;gap:4px;padding:12px;border-radius:14px;background:var(--card,#f4f5f3);border:1px solid var(--line,#d9dcd8)}
.cz-t div{display:flex;justify-content:space-between}.cz-t .g{border-top:2px solid #d40000;padding-top:6px;margin-top:2px;font-size:1.15em}
.cz-ok{padding:18px;border-radius:14px;border:1px solid var(--line,#d9dcd8);text-align:center}.cz-ok b{font-size:1.2em}
.cz-bt{display:grid;gap:10px;margin-top:14px}
.cz .field input,.cz .field select,.cz .field textarea,.cz-n input,.cz-f textarea{padding:12px;border-radius:12px;border:1px solid var(--line,#cfd3cf);font:inherit;width:100%;background:var(--card,#fff);color:inherit;min-height:46px}
.cz-f textarea{min-height:64px}

/* v36 — cotizador por toques */
.cz-ch{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}.cz-ch>span{font-size:12px;color:var(--mute,#6b7176);font-weight:600}
.cz-ch>div{display:flex;flex-wrap:wrap;gap:6px}.cz-ch button{border:1px solid var(--line,#d9dcd8);background:var(--card,#fff);color:inherit;border-radius:999px;padding:9px 13px;font-size:14px;min-height:40px;cursor:pointer}
.cz-ch button:active{background:#d40000;color:#fff;border-color:#d40000}.cz-hb{display:flex;gap:4px}
