/* ═══ DEMO — del ticket al cierre contable ═══ */
.dm{--dm-bg:#0a0c0a;--dm-surface:#141816;--dm-surface2:#1a1f1b;--dm-ink:#e8ece6;--dm-muted:#8a948a;--dm-line:#262e26;
    --dm-venta:#69BB43;--dm-inv:#4A98D8;--dm-timb:#E8B84A;--dm-conta:#B48CF2;--dm-med:#E8ECE6;--dm-err:#E85D4A;
    --dm-glow:#69BB43;--dm-glow-soft:rgba(105,187,67,.22);--dm-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    color:var(--dm-ink);font-family:var(--font-body,Inter,system-ui,sans-serif)}
.dm *{box-sizing:border-box}
.dm-legend{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin:1.5rem 0 2rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted)}
.dm-legend span{display:inline-flex;align-items:center;gap:.5rem}
.dm-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}
.dm-board{border:1px solid var(--dm-line);background:var(--dm-bg);padding:clamp(1rem,2.5vw,2rem);position:relative}
.dm-sat-row{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr);gap:0;align-items:end;margin-bottom:0}
.dm-sat{grid-column:5;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:0;width:100%}
.dm-node{border:1px solid var(--dm-line);background:var(--dm-surface);padding:.9rem 1rem;position:relative;transition:border-color .3s,box-shadow .3s;min-height:150px;display:flex;flex-direction:column;gap:.5rem}
.dm-node.hl{border-color:var(--dm-glow);box-shadow:0 0 0 3px var(--dm-glow-soft)}
.dm-node.err{border-color:var(--dm-err);box-shadow:0 0 0 3px rgba(232,93,74,.22)}
.dm-node h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);font-weight:600;display:flex;justify-content:space-between;gap:.5rem}
.dm-node h4 b{color:var(--dm-ink);font-weight:600}
.dm-node small{font-size:.72rem;color:var(--dm-muted);line-height:1.4}
.dm-val{font-family:var(--dm-mono);font-variant-numeric:tabular-nums;font-size:.8rem;line-height:1.5}
.dm-val .row{display:flex;justify-content:space-between;gap:.6rem;padding:.15rem 0;border-bottom:1px dashed var(--dm-line)}
.dm-val .row:last-child{border-bottom:0}
.dm-val .row.tot{font-weight:600;color:var(--dm-ink);border-top:1px solid var(--dm-line);margin-top:.2rem;padding-top:.3rem}
.dm-val .muted{color:var(--dm-muted)}
.dm-big{font-family:var(--font-display,Georgia,serif);font-size:1.9rem;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dm-state{display:inline-block;font-family:var(--dm-mono);font-size:.68rem;padding:.2rem .5rem;border:1px solid var(--dm-line);color:var(--dm-muted);align-self:flex-start}
.dm-state.ok{border-color:var(--dm-venta);color:var(--dm-venta)}
.dm-state.warn{border-color:var(--dm-timb);color:var(--dm-timb)}
.dm-state.bad{border-color:var(--dm-err);color:var(--dm-err)}
.bump{animation:dmBump .45s ease}
@keyframes dmBump{0%{transform:scale(1)}35%{transform:scale(1.12);color:var(--dm-glow)}100%{transform:scale(1)}}
.dm-row{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch}
.dm-lane{position:relative;min-height:60px}
.dm-lane .wire{position:absolute;left:0;right:0;top:50%;border-top:2px solid var(--dm-line);transition:border-color .3s}
.dm-lane.v{min-height:44px;width:100%}
.dm-lane.v .wire{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px dashed var(--dm-line)}
.dm-lane.active .wire{border-color:var(--lane-c,var(--dm-venta))}
.dm-lane .tag{position:absolute;left:50%;top:calc(50% - 16px);transform:translateX(-50%);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dm-muted);white-space:nowrap;opacity:0;transition:opacity .2s}
.dm-lane.active .tag{opacity:1}
.dm-lane.v .tag{top:50%;left:calc(50% + 10px);transform:translateY(-50%)}
.dm-pk{position:absolute;top:50%;left:0;transform:translateY(-50%);padding:3px 8px;border-radius:999px;font:600 11px var(--dm-mono);color:#0a0c0a;background:var(--lane-c,var(--dm-venta));opacity:0;white-space:nowrap;z-index:2;pointer-events:none}
.dm-lane.v .dm-pk{left:50%;top:0;transform:translateX(-50%)}
.dm-pk.show{opacity:1}
.dm-lane.data{--lane-c:var(--dm-venta)}.dm-lane.inv{--lane-c:var(--dm-inv)}.dm-lane.net{--lane-c:var(--dm-timb)}.dm-lane.ev{--lane-c:var(--dm-conta)}.dm-lane.bad{--lane-c:var(--dm-err)}
.dm-bus{display:grid;grid-template-columns:1fr;margin-top:0}
.dm-bus .dm-lane{min-height:48px}
.dm-dash{border:1px solid var(--dm-line);background:var(--dm-surface);padding:1rem 1.2rem;display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:1.2rem;align-items:center;transition:border-color .3s,box-shadow .3s}
.dm-dash.hl{border-color:var(--dm-glow);box-shadow:0 0 0 3px var(--dm-glow-soft)}
.dm-dash h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);max-width:9ch;line-height:1.5}
.dm-kpi{display:flex;flex-direction:column;gap:.2rem}
.dm-kpi small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted)}
.dm-kpi .dm-big{font-size:1.6rem}
.dm-kpi i{font-style:normal;font-size:.68rem;font-family:var(--dm-mono);color:var(--dm-venta)}
/* phases + explanation */
.dm-phases{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:1.5rem}
.dm-ph{padding:.55rem .6rem;border:1px solid var(--dm-line);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted);position:relative;overflow:hidden;transition:color .3s,border-color .3s}
.dm-ph::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ph-c);opacity:.35}
.dm-ph.on{color:var(--dm-ink);border-color:var(--ph-c)}
.dm-ph.on::before{opacity:1}
.dm-ph.done{color:var(--dm-ink)}
.dm-ph[data-p="venta"]{--ph-c:var(--dm-venta)}.dm-ph[data-p="inventario"]{--ph-c:var(--dm-inv)}.dm-ph[data-p="timbrado"]{--ph-c:var(--dm-timb)}.dm-ph[data-p="contabilidad"]{--ph-c:var(--dm-conta)}.dm-ph[data-p="medicion"]{--ph-c:var(--dm-med)}
.dm-ph[data-p="operacion"]{--ph-c:var(--dm-venta)}.dm-ph[data-p="posteo"]{--ph-c:var(--dm-conta)}.dm-ph[data-p="indicadores"]{--ph-c:var(--dm-inv)}.dm-ph[data-p="interco"]{--ph-c:var(--dm-timb)}.dm-ph[data-p="tablero"]{--ph-c:var(--dm-med)}
.dm-ex{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;border:1px solid var(--dm-line);border-top:0;padding:1.2rem 1.4rem;background:var(--dm-surface)}
.dm-ex-title{font-family:var(--font-display,Georgia,serif);font-size:1.35rem;letter-spacing:-.02em;line-height:1.15;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.dm-chip{font-family:var(--dm-mono);font-size:.6rem;letter-spacing:.1em;padding:.2rem .5rem;border:1px solid var(--ph-c,var(--dm-line));color:var(--ph-c,var(--dm-muted))}
.dm-chip[data-p="venta"]{--ph-c:var(--dm-venta)}.dm-chip[data-p="inventario"]{--ph-c:var(--dm-inv)}.dm-chip[data-p="timbrado"]{--ph-c:var(--dm-timb)}.dm-chip[data-p="contabilidad"]{--ph-c:var(--dm-conta)}.dm-chip[data-p="medicion"]{--ph-c:var(--dm-med)}
.dm-chip[data-p="operacion"]{--ph-c:var(--dm-venta)}.dm-chip[data-p="posteo"]{--ph-c:var(--dm-conta)}.dm-chip[data-p="indicadores"]{--ph-c:var(--dm-inv)}.dm-chip[data-p="interco"]{--ph-c:var(--dm-timb)}.dm-chip[data-p="tablero"]{--ph-c:var(--dm-med)}
.dm-ex-detail{color:var(--dm-muted);line-height:1.65;margin-top:.6rem;font-size:.95rem;max-width:62ch}
.dm-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;align-content:start}
.dm-counters div{border-left:1px solid var(--dm-line);padding-left:.8rem}
.dm-counters small{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted)}
.dm-counters b{font-family:var(--dm-mono);font-weight:600;font-size:1.1rem;display:flex;align-items:center;gap:.4rem}
.dm-clk{width:8px;height:8px;border-radius:50%;background:var(--dm-line);display:inline-block;transition:background .15s,box-shadow .15s}
.dm-clk.tick{background:var(--dm-glow);box-shadow:0 0 0 4px var(--dm-glow-soft)}
/* controls */
.dm-ctrl{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.2rem}
.dm-btn{font:600 .72rem/1 var(--font-body,Inter,sans-serif);letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1.2rem;border:1px solid var(--dm-line);color:var(--dm-ink);background:transparent;transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.dm-btn:hover{border-color:var(--dm-ink)}
.dm-btn.pri{background:var(--dm-glow);border-color:var(--dm-glow);color:var(--dm-on-glow,#0a0c0a)}
.dm-btn.pri:hover{filter:brightness(1.12)}
.dm-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--dm-line)}
.dm-btn kbd{font-family:var(--dm-mono);font-size:.6rem;opacity:.6;margin-left:.4rem}
.dm-sel{display:inline-flex;align-items:center;gap:.5rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted);margin-left:auto}
.dm-sel select{max-width:min(100%,260px);background:var(--dm-surface);color:var(--dm-ink);border:1px solid var(--dm-line);padding:.6rem .7rem;font:inherit;font-size:.72rem;letter-spacing:.04em;text-transform:none}
/* support */
.dm-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.25rem;margin-top:1.25rem}
.dm-log,.dm-ref{border:1px solid var(--dm-line);padding:1rem 1.2rem;background:var(--dm-bg)}
.dm-foot h5{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);margin:0 0 .7rem;font-weight:600}
.dm-log ul{list-style:none;margin:0;padding:0;font-family:var(--dm-mono);font-size:.74rem;line-height:1.6;color:var(--dm-muted);min-height:6em}
.dm-log li b{color:var(--dm-ink);font-weight:600}
.dm-log li.empty{color:var(--dm-line)}
.dm-ref table{width:100%;border-collapse:collapse;font-size:.74rem}
.dm-ref th{text-align:left;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted);padding:.3rem 0;border-bottom:1px solid var(--dm-line);font-weight:600}
.dm-ref td{padding:.35rem 0;border-bottom:1px dashed var(--dm-line);vertical-align:top;color:var(--dm-muted)}
.dm-ref td:first-child{font-family:var(--dm-mono);color:var(--dm-ink);white-space:nowrap;padding-right:1rem}
.dm-ref td:nth-child(2){font-family:var(--dm-mono);white-space:nowrap;padding-right:1rem}
@media(max-width:900px){
  .dm-sat-row,.dm-row{grid-template-columns:1fr}
  .dm-sat{grid-column:1}
  .dm-row .dm-lane{min-height:44px}
  .dm-row .dm-lane .wire{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px solid var(--dm-line)}
  .dm-row .dm-lane .tag{top:50%;left:calc(50% + 10px);transform:translateY(-50%)}
  .dm-row .dm-lane .dm-pk{left:50%;top:0;transform:translateX(-50%)}
  .dm-dash{grid-template-columns:1fr 1fr}
  .dm-dash h4{grid-column:1/3;max-width:none}
  .dm-phases{grid-template-columns:1fr 1fr}
  .dm-ex,.dm-foot{grid-template-columns:1fr}
  .dm-counters{grid-template-columns:repeat(3,1fr)}
  .dm-sel{margin-left:0;max-width:100%}
  .dm-ref td:first-child,.dm-ref td:nth-child(2){white-space:normal}
}
@media(prefers-reduced-motion:reduce){.dm-pk{transition:none!important}.bump{animation:none}}
/* ═══ DEMO tabs + shared bits ═══ */
.dm-tabs{display:flex;gap:4px;margin:2rem 0 0;border-bottom:1px solid var(--dm-line);flex-wrap:wrap}
.dm-tab{font:600 .7rem/1 var(--font-body,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);padding:1rem 1.2rem;border:1px solid transparent;border-bottom:0;position:relative;transition:color .25s;cursor:pointer;background:none}
.dm-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--dm-glow);transform:scaleX(0);transition:transform 400ms cubic-bezier(.76,0,.24,1)}
.dm-tab:hover{color:var(--dm-ink)}
.dm-tab.on{color:var(--dm-ink)}
.dm-tab.on::after{transform:scaleX(1)}
.dm-tab small{display:block;font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--dm-muted);margin-top:.35rem;font-size:.7rem}
.dm-panel{padding-top:.5rem}
.dm-panel[hidden]{display:none}
.dm-intro{color:var(--dm-muted);line-height:1.7;max-width:62ch;margin-top:1.5rem}
/* generic board grid for demos 2/3 */
.dm-top{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch}
.dm-top.two{grid-template-columns:minmax(0,1.25fr) 56px minmax(0,1fr)}
.dm-wide{border:1px solid var(--dm-line);background:var(--dm-surface);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .3s,box-shadow .3s}
.dm-wide.hl{border-color:var(--dm-glow);box-shadow:0 0 0 3px var(--dm-glow-soft)}
.dm-wide h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);font-weight:600;display:flex;justify-content:space-between;gap:.5rem}
.dm-wide h4 b{color:var(--dm-ink)}
.dm-wide small{font-size:.72rem;color:var(--dm-muted);line-height:1.4}
.dm-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dm-bottom .dm-node{min-height:0}
/* kanban */
.kb{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;font-family:var(--dm-mono);font-size:.68rem}
.kb-col{border:1px dashed var(--dm-line);padding:.4rem;min-height:120px;display:flex;flex-direction:column;gap:.35rem}
.kb-col h6{margin:0 0 .2rem;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted);font-weight:600;display:flex;justify-content:space-between}
.kb-card{border:1px solid var(--dm-line);background:var(--dm-bg);padding:.35rem .45rem;display:flex;justify-content:space-between;gap:.3rem;transition:border-color .3s,box-shadow .3s}
.kb-card.crit{border-left:3px solid var(--dm-err)}
.kb-card.hl{border-color:var(--dm-glow);box-shadow:0 0 0 2px var(--dm-glow-soft)}
.kb-card span:last-child{color:var(--dm-muted)}
/* gantt */
.gt{display:grid;grid-template-columns:2.4rem 1fr;gap:.25rem .5rem;font-family:var(--dm-mono);font-size:.66rem;align-items:center}
.gt-scale{grid-column:2;display:grid;grid-template-columns:repeat(var(--days,10),1fr);color:var(--dm-muted);font-size:.55rem;border-bottom:1px solid var(--dm-line);padding-bottom:.2rem}
.gt-scale span{text-align:center}
.gt-scale span.today{color:var(--dm-venta);font-weight:600}
.gt-row{display:grid;grid-template-columns:repeat(var(--days,10),1fr);position:relative;height:18px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/var(--days) - 1px),var(--dm-line) calc(100%/var(--days) - 1px) calc(100%/var(--days)))}
.gt-bar{position:absolute;top:2px;height:14px;background:var(--dm-inv);border-radius:2px;display:flex;align-items:center;padding-left:4px;color:#0a0c0a;font-size:.55rem;font-weight:600;white-space:nowrap;overflow:hidden;transition:left .5s cubic-bezier(.4,0,.2,1),width .5s cubic-bezier(.4,0,.2,1),background .3s}
.gt-bar.crit{background:var(--dm-err);color:#fff}
.gt-bar.done{background:var(--dm-venta)}
.gt-float{position:absolute;top:6px;height:6px;border:1px dashed var(--dm-muted);border-left:0;opacity:.7}
.gt-ms{position:absolute;top:1px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);background:var(--dm-timb);transition:left .5s cubic-bezier(.4,0,.2,1)}
.gt-lbl{color:var(--dm-muted)}
.gt-lbl.crit{color:var(--dm-err)}
/* alerts + misc lists */
.al{list-style:none;margin:0;padding:0;font-family:var(--dm-mono);font-size:.68rem;display:flex;flex-direction:column;gap:.3rem}
.al li{border-left:3px solid var(--dm-line);padding:.25rem .5rem;color:var(--dm-muted)}
.al li.warning{border-color:var(--dm-timb);color:var(--dm-ink)}
.al li.critical{border-color:var(--dm-err);color:var(--dm-ink)}
.al li.info{border-color:var(--dm-inv)}
.al li.empty{border-color:transparent;color:var(--dm-line)}
.dm-bar{height:6px;background:var(--dm-line);position:relative;margin-top:.2rem}
.dm-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--dm-venta);transition:width .5s cubic-bezier(.4,0,.2,1)}
.dm-bar i.warn{background:var(--dm-timb)}.dm-bar i.bad{background:var(--dm-err)}
/* clínico specific */
.st-line{display:flex;gap:.3rem;flex-wrap:wrap;font-family:var(--dm-mono);font-size:.6rem}
.st-line span{padding:.15rem .4rem;border:1px solid var(--dm-line);color:var(--dm-muted)}
.st-line span.on{border-color:var(--dm-venta);color:var(--dm-venta)}
.st-line span.past{color:var(--dm-ink);border-color:var(--dm-ink)}
.st-line span.bad{border-color:var(--dm-err);color:var(--dm-err)}
.doc-list{font-family:var(--dm-mono);font-size:.7rem;display:flex;flex-direction:column;gap:.3rem}
.doc{border:1px solid var(--dm-line);padding:.35rem .5rem;display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;transition:border-color .3s,box-shadow .3s}
.doc.hl{border-color:var(--dm-glow);box-shadow:0 0 0 2px var(--dm-glow-soft)}
.doc.locked{border-color:var(--dm-conta)}
.doc.superseded{opacity:.55;text-decoration:line-through}
.doc .h{grid-column:1/3;color:var(--dm-muted);font-size:.6rem;word-break:break-all}
.doc .h b{color:var(--dm-conta);font-weight:600}
.enc{color:var(--dm-timb)}
.dm-audit{border:1px solid var(--dm-line);background:var(--dm-surface);padding:1rem 1.2rem;transition:border-color .3s,box-shadow .3s}
.dm-audit.hl{border-color:var(--dm-glow);box-shadow:0 0 0 3px var(--dm-glow-soft)}
.dm-audit h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm-muted);font-weight:600;margin:0 0 .5rem;display:flex;justify-content:space-between}
.dm-audit ul{list-style:none;margin:0;padding:0;font-family:var(--dm-mono);font-size:.66rem;color:var(--dm-muted);display:grid;grid-template-columns:auto auto 1fr;gap:.15rem 1rem}
.dm-audit ul li{display:contents}
.dm-audit ul li b{color:var(--dm-ink);font-weight:600}
.dm-audit ul li.empty{display:block;grid-column:1/4;color:var(--dm-line)}
@media(max-width:900px){
  .dm-top,.dm-top.two{grid-template-columns:1fr}
  .dm-top .dm-lane{min-height:44px}
  .dm-top .dm-lane .wire{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px solid var(--dm-line)}
  .dm-top .dm-lane .tag{top:50%;left:calc(50% + 10px);transform:translateY(-50%)}
  .dm-top .dm-lane .dm-pk{left:50%;top:0;transform:translateX(-50%)}
  .dm-bottom{grid-template-columns:1fr}
  .kb{grid-template-columns:1fr 1fr}
  .dm-audit ul{grid-template-columns:1fr}
  .dm-audit ul li{display:block}
}
/* ═══ DDMRP ═══ */
.bf{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:stretch}
.bf-col{width:64px;height:190px;display:flex;flex-direction:column-reverse;position:relative;border:1px solid var(--dm-line);background:var(--dm-bg)}
.bf-z{position:relative;transition:height .5s cubic-bezier(.4,0,.2,1)}
.bf-z.r{background:rgba(232,93,74,.55)}.bf-z.y{background:rgba(232,184,74,.5)}.bf-z.g{background:rgba(105,187,67,.5)}
.bf-mk{position:absolute;left:-6px;right:-6px;height:0;border-top:2px solid var(--dm-ink);transition:bottom .5s cubic-bezier(.4,0,.2,1)}
.bf-mk::after{content:attr(data-l);position:absolute;left:calc(100% + 6px);top:-.6em;font:600 .58rem var(--dm-mono);white-space:nowrap;color:var(--dm-ink)}
.bf-mk.oh{border-top-style:dashed;border-color:var(--dm-inv)}
.bf-mk.oh::after{color:var(--dm-inv);left:auto;right:calc(100% + 6px)}
.bf-info{font-family:var(--dm-mono);font-size:.7rem;display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1rem;align-content:start}
.bf-info .row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--dm-line);padding:.15rem 0}
.bf-info .row.tot{grid-column:1/3;border-top:1px solid var(--dm-line);border-bottom:0;font-weight:600;color:var(--dm-ink);margin-top:.2rem;padding-top:.3rem}
.bf-info .z{display:inline-block;width:8px;height:8px;margin-right:.3rem}
.days{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin-top:.6rem;font-family:var(--dm-mono);font-size:.58rem}
.days div{border:1px solid var(--dm-line);padding:.25rem .2rem;text-align:center;color:var(--dm-muted);line-height:1.4}
.days div b{display:block;color:var(--dm-ink);font-weight:600}
.days div.g{border-color:var(--dm-venta)}.days div.y{border-color:var(--dm-timb)}.days div.r{border-color:var(--dm-err)}.days div.k{border-color:var(--dm-ink);background:var(--dm-ink);color:var(--dm-bg)}
.days div.now{box-shadow:0 0 0 2px var(--dm-glow-soft)}
.zone-pill{display:inline-block;font-family:var(--dm-mono);font-size:.62rem;padding:.15rem .5rem;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.08em}
.zone-pill.verde{color:var(--dm-venta)}.zone-pill.amarillo{color:var(--dm-timb)}.zone-pill.rojo{color:var(--dm-err)}.zone-pill.negro{color:var(--dm-ink)}
@media(max-width:900px){.bf{grid-template-columns:1fr}.bf-col{width:100%;height:120px;flex-direction:row}.bf-z{height:100%!important;width:var(--w)}.bf-mk{display:none}.days{grid-template-columns:repeat(4,1fr)}}

/* ═══ sat-row variants + compact mode (login) ═══ */
.dm-sat-row.col3 .dm-sat{grid-column:3}
.dm-compact .dm-intro,.dm-compact .dm-legend,.dm-compact .dm-foot{display:none}
.dm-compact .dm-tabs{margin:0 0 .6rem;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.dm-compact .dm-tabs::-webkit-scrollbar{display:none}
.dm-compact .dm-tab{padding:.7rem .8rem;font-size:.62rem;white-space:nowrap}
.dm-compact .dm-tab small{display:none}
.dm-compact .dm-panel{padding-top:0}
.dm-compact .dm-board{padding:1rem}
.dm-compact .dm-node{min-height:120px;padding:.7rem .8rem}
.dm-compact .dm-node small,.dm-compact .dm-wide small{display:none}
.dm-compact .dm-ex{padding:.9rem 1rem;gap:1rem}
.dm-compact .dm-ex-detail{font-size:.84rem;margin-top:.4rem}
.dm-compact .dm-ex-title{font-size:1.1rem}
.dm-compact .dm-ctrl{margin-top:.8rem;gap:.5rem}
.dm-compact .dm-btn{padding:.65rem .9rem;font-size:.64rem}
.dm-compact .dm-phases{margin-top:1rem}
.dm-compact .dm-sel select{padding:.45rem .5rem}
.dm-compact .dm-sel{margin-left:0}
.dm-compact .dm-sel:first-of-type{margin-left:auto}
.dm-compact .dm-sel select{max-width:200px}
