:root{
  --bg:#F1F2F5; --surface:#FFFFFF; --surface-2:#F6F7F9; --ink:#1F232D; --muted:#626978; --line:#DEE1E7;
  /* v131: colores de Nuvorem (antes amarillo #FED104, parecido al de Mercado Libre) */
  --brand:#5B3FF5; --brand-ink:#FFFFFF; --brand-soft:#ECE8FF; --brand-hover:#4329D6; --brand-nav:#B3A6FF;
  --bar:#CDD2DA; --bar-hi:#1F232D;
  --orange:#C2410C; --orange-soft:#FDEBDD; --red:#B42318; --red-soft:#FDE3E0; --green:#1E7A45; --green-soft:#DCF2E4;
  --blue:#2563EB; --blue-soft:#DDE8FD;
  --nav:#17133A; --nav-ink:#E8E6F5; --nav-muted:#9C97C4; --nav-active:#2A2560;
  --radius:12px; --font:"Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --safe-b:env(safe-area-inset-bottom, 0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#111318; --surface:#1A1D24; --surface-2:#21252D; --ink:#ECEEF2; --muted:#9AA1AE; --line:#2E333D;
    --brand-soft:#262052; --bar:#3A404C; --bar-hi:#8C77FF;
    --orange:#F59E6B; --orange-soft:#3A2418; --red:#F28B7D; --red-soft:#3D1F1B; --green:#6CC592; --green-soft:#17352A;
    --blue:#7AA7FF; --blue-soft:#1A2A4A;
    --nav:#0D0A24; --nav-active:#221C4A;
  }
}
:root[data-theme="dark"]{
  --bg:#111318; --surface:#1A1D24; --surface-2:#21252D; --ink:#ECEEF2; --muted:#9AA1AE; --line:#2E333D;
  --brand-soft:#262052; --bar:#3A404C; --bar-hi:#8C77FF;
  --orange:#F59E6B; --orange-soft:#3A2418; --red:#F28B7D; --red-soft:#3D1F1B; --green:#6CC592; --green-soft:#17352A;
  --blue:#7AA7FF; --blue-soft:#1A2A4A;
  --nav:#0D0A24; --nav-active:#221C4A;
}
*{box-sizing:border-box}
html,body{margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.hidden{display:none!important}
.muted{color:var(--muted)}
.small{font-size:13px}
.nowrap{white-space:nowrap}

/* ---------- Estructura ---------- */
.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.nav{background:var(--nav);color:var(--nav-ink);padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;align-self:start}
.logo{padding:2px 8px 24px}
.logo img{display:block;width:150px;height:auto}
.logo small{display:block;font-size:12px;color:var(--nav-muted);margin-top:8px;padding-left:2px}
.nav-btn{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:var(--nav-ink);padding:9px 10px;border-radius:8px;cursor:pointer;text-align:left;font-weight:500;position:relative}
.nav-btn svg{width:19px;height:19px;flex:none;opacity:.85}
.nav-btn:hover{background:var(--nav-active)}
.nav-btn[aria-current="page"]{background:var(--nav-active);color:#fff;box-shadow:inset 3px 0 0 var(--brand-nav)}
.nav-btn .count{margin-left:auto;background:var(--brand);color:var(--brand-ink);font-size:12px;font-weight:700;border-radius:10px;padding:0 7px;min-width:22px;text-align:center;line-height:18px}
.nav-btn .count.err{background:#F28B7D;color:#2A0E0A}
.nav-mas{display:none}
@media (max-width:820px){.nav-mas{display:flex}}
.nav-foot{margin-top:auto;display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.nav-foot .nav-btn{color:var(--nav-muted);font-weight:400}
.version{font-size:11px;color:var(--nav-muted);padding:0 10px 4px;opacity:.8}

main{padding:22px 32px 64px;max-width:1240px;width:100%;min-width:0;position:relative}
.bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin:-22px -32px 20px;padding:16px 32px 14px;position:sticky;top:0;z-index:12;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent}
.bar.sombra{border-bottom-color:var(--line)}
.bar-title{display:flex;align-items:center;gap:12px;min-width:0}
.bar h1{font-size:22px;margin:0;letter-spacing:-.01em;white-space:nowrap}
.bar-right{display:flex;gap:8px;align-items:center;min-width:0}
.brand-m{display:none;height:24px;width:auto}
.updated{font-size:13px;color:var(--muted)}

.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:6px 11px;border-radius:7px;cursor:pointer;color:var(--muted);white-space:nowrap;font-size:14px}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink);font-weight:650}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 13px;border-radius:9px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;min-height:36px}
.btn:hover{border-color:var(--ink)}
.btn svg{width:17px;height:17px;flex:none}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:650}
.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn.ghost{border-color:transparent;background:none}
.btn.danger{color:var(--red)}
.btn.icon{padding:7px;width:38px}
.btn:disabled{opacity:.45;cursor:default}
.btn.spin svg{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.topbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .2s}
.topbar.on{opacity:1}
.topbar::before{content:"";position:absolute;inset:0;width:40%;background:var(--brand);animation:tb 1s ease-in-out infinite}
@keyframes tb{from{transform:translateX(-100%)}to{transform:translateX(260%)}}

.banner{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}
.banner button{border:0;background:none;cursor:pointer;color:inherit;opacity:.6;font-size:20px;line-height:1;padding:0 2px}
.banner.info{background:var(--green-soft)}
.banner.warn{background:var(--orange-soft)}
.banner.err{background:var(--red-soft)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px 0;flex-wrap:wrap}
.card-head h2{font-size:15px;margin:0;font-weight:650}
.card-body{padding:14px 18px 18px}
h2.sec{font-size:15px;font-weight:650;margin:0 0 10px}
.link{background:none;border:0;padding:0;color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px;font:inherit;font-weight:600}

/* ---------- Resumen ---------- */
.headline{font-size:clamp(21px,3vw,32px);line-height:1.3;font-weight:500;letter-spacing:-.015em;max-width:30ch;margin:4px 0 20px}
.headline b{font-weight:750;color:var(--brand-ink);background:var(--brand);padding:0 .22em;border-radius:.3em;-webkit-box-decoration-break:clone;box-decoration-break:clone;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 20px}
.kpi{padding:14px 18px;border-left:1px solid var(--line);margin:0}
.kpi:first-child{border-left:0}
@media (min-width:1101px){
  .kpis[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kpis[data-n="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpis[data-n="6"] .kpi:nth-child(4){border-left:0}
  .kpis[data-n="6"] .kpi:nth-child(n+4){border-top:1px solid var(--line)}
}
.kpi dt{font-size:13px;color:var(--muted)}
.kpi dd{margin:2px 0 0;font-size:22px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.kpi .delta{font-size:12px;color:var(--muted)}
.kpi.warn dd{color:var(--orange)}
.two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;margin-bottom:20px}
@media (max-width:1100px){.two{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi:nth-child(4){border-left:0}.kpi:nth-child(n+4){border-top:1px solid var(--line)}}

.chart{display:flex;align-items:flex-end;gap:3px;height:190px;padding-top:8px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;position:relative;outline:none}
.chart .b{width:100%;max-width:38px;background:var(--bar);border-radius:4px 4px 0 0;min-height:2px}
.chart .col:hover .b,.chart .col:focus .b,.chart .col.today .b{background:var(--bar-hi)}
.chart-x{display:flex;gap:3px;margin-top:6px}
.chart-x span{flex:1;text-align:center;font-size:11px;color:var(--muted);min-width:0;overflow:hidden}
.tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 10px;border-radius:8px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:5;display:none;text-align:left;line-height:1.45}
.col:hover .tip,.col:focus .tip{display:block}
.chart .col.edge-l .tip{left:0;transform:none}
.chart .col.edge-r .tip{left:auto;right:0;transform:none}
.chart-empty{height:190px;display:grid;place-items:center;color:var(--muted);text-align:center;padding:0 20px}
.rank{display:grid;gap:12px}
.rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}
.rank-row .track{grid-column:1/-1;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.rank-row .fill{height:100%;background:var(--bar-hi);border-radius:3px}

.tasks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:10px;background:var(--surface-2)}
.dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--line)}
.task.error .dot{background:var(--red)}
.task.preguntas .dot{background:#F97316}
.task.costos .dot,.task.config .dot{background:var(--blue)}
.task.calidad .dot{background:var(--brand);box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.task.precio .dot{background:var(--red)}
.task-acc{font-size:12px;color:var(--muted);font-weight:600}
.task details{margin-top:4px;font-size:13px}
.task details ul{margin:4px 0 0;padding-left:18px}
.empty{padding:22px;text-align:center;color:var(--muted)}
.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}

/* ---------- Tablas (en celular se convierten en tarjetas) ---------- */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font-weight:500;color:var(--muted);font-size:13px;text-align:right;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left}
td{padding:11px 14px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr.clickable{cursor:pointer}
tbody tr:hover td{background:var(--surface-2)}
tfoot td{font-weight:700;border-top:2px solid var(--line);border-bottom:0}
.t-name{font-weight:600}
.t-sub{color:var(--muted);font-size:12px}
.zero{color:var(--muted)}
.pill{display:inline-block;min-width:24px;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700;text-align:center;white-space:nowrap}
.pill.orange{background:var(--orange-soft);color:var(--orange)}
.pill.red{background:var(--red-soft);color:var(--red)}
.pill.green{background:var(--green-soft);color:var(--green)}
.pill.blue{background:var(--blue-soft);color:var(--blue)}
.pill.gray{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.pill.brand{background:var(--brand);color:var(--brand-ink)}
.ellipsis{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Preguntas ---------- */
.q-group{margin-bottom:20px}
.q-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.q-list{display:grid;gap:8px}
.q{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:block}
.q-text{font-size:15px}
.q-meta{font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}
.q-age.old{color:var(--red);font-weight:600}
.q-age.mid{color:var(--orange);font-weight:600}

.q-item{display:flex;gap:10px;align-items:center;margin-bottom:8px;min-width:0}
.q-item .thumb{width:40px;height:40px}
.q-ans{display:grid;gap:8px;margin-top:10px}
.q-ans textarea{min-height:90px;font-family:var(--font);font-size:14px}
.q-ans-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.q-ans-actions .grow{flex:1}
.q.respondida{opacity:.6}

/* ---------- Fábricas ---------- */
.accounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.acc{padding:18px;display:grid;gap:14px}
.acc-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.acc-name{font-size:17px;font-weight:700;line-height:1.25}
.acc-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}
.acc-facts dt{font-size:12px;color:var(--muted)}
.acc-facts dd{margin:0;font-weight:600}
.acc-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.acc.add{border-style:dashed;background:transparent;place-content:center;text-align:center;min-height:220px}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.toolbar .grow{flex:1}
.search{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 11px;min-width:280px;min-height:36px}
.toolbar input.search{width:auto}

/* ---------- Tareas ---------- */
.audit-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;margin-bottom:14px}
.progress{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;width:240px;max-width:100%}
.progress div{height:100%;background:var(--brand);transition:width .3s}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:14px;white-space:nowrap}
.chip b{font-variant-numeric:tabular-nums}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip .n0{opacity:.45}
.chip.hot b{color:var(--red)}
.chip.hot[aria-pressed="true"] b{color:inherit}
.health{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.health .card{padding:14px 16px;cursor:pointer;text-align:left;font:inherit;color:inherit}
.health .card[aria-pressed="true"]{outline:2px solid var(--brand);outline-offset:-2px}
.meter{height:8px;background:var(--red-soft);border-radius:4px;overflow:hidden;margin:8px 0 4px}
.meter div{height:100%;background:var(--green)}
.item-cell{display:flex;gap:10px;align-items:center;min-width:240px}
.thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--surface-2);flex:none;border:1px solid var(--line)}
.probs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.prob{font-size:12px;border-radius:6px;padding:2px 8px;background:var(--surface-2);border:1px solid var(--line)}
.prob.fotos,.prob.fotos_calidad{background:var(--brand-soft);border-color:transparent}
.prob.catalogo,.prob.perdida,.prob.precio{background:var(--red-soft);color:var(--red);border-color:transparent}
.prob.sku,.prob.lista{background:var(--orange-soft);color:var(--orange);border-color:transparent}
.note{display:flex;gap:10px;align-items:flex-start;background:var(--brand-soft);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}

/* ---------- Precios ---------- */
.params-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.params{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;align-items:start}
.params-grid .params{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.params-grid{grid-template-columns:1fr}}
.tag-envio{font-size:11px;color:var(--green);font-weight:600;display:block}
.ok-box{background:var(--green-soft)}
.warn-box{background:var(--orange-soft)}
.params label{align-content:start}
.params .stack{display:grid;gap:12px}
.params .span2{grid-column:span 2}
.tramos{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;align-items:center}
.tramos span{font-size:12px;color:var(--muted)}
.calc-example{background:var(--surface-2);border-radius:10px;padding:10px 14px;font-size:14px;margin-top:14px}
details.params-box summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-weight:650}
details.params-box summary::-webkit-details-marker{display:none}
details.params-box summary::after{content:"▾";color:var(--muted);transition:transform .2s}
details.params-box[open] summary::after{transform:rotate(180deg)}
.price-cell{white-space:nowrap}
.price-cell .manual{font-size:11px;color:var(--blue);font-weight:600;margin-left:4px}
.savebar{position:sticky;bottom:12px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);color:var(--bg);padding:10px 12px 10px 16px;border-radius:12px;margin-top:14px;box-shadow:0 8px 24px rgba(0,0,0,.2)}

/* ---------- Agente ---------- */
.progress .indet{width:35%!important;animation:tb 1.2s ease-in-out infinite}
.ag-lista{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.prop > *{min-width:0}
.prop{padding:14px 16px;display:grid;gap:12px}
.prop.hecha{opacity:.8}
.prop-top{display:flex;gap:12px;align-items:flex-start}
.prop-top .grow{flex:1;min-width:0}
.prop-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;align-items:center}
.cmp{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:4px 16px;align-items:baseline;font-size:14px}
.cmp .h{font-size:12px;color:var(--muted)}
.cmp .n{font-weight:700}
.cmp .up{color:var(--green)}
.cmp .down{color:var(--red)}
.cmp input{min-height:32px;padding:4px 8px;max-width:140px;width:100%}
.desc-box{white-space:pre-wrap;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13.5px;max-height:220px;overflow:auto}
.prop textarea{min-height:240px;font-family:var(--font);font-size:14px;line-height:1.5}
.prop-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.prop-actions .grow{flex:1}
.resultado{font-size:13px;border-radius:8px;padding:6px 10px}
.resultado.ok{background:var(--green-soft)}
.resultado.err{background:var(--red-soft);color:var(--red)}
.hist{list-style:none;margin:0;padding:0 18px 14px;display:grid;gap:6px;max-height:420px;overflow:auto}
.hist li{font-size:13px;border-top:1px solid var(--line);padding-top:6px}
.hist .t{color:var(--muted);font-size:12px}
@media (max-width:820px){
  .nav-hide-m{display:none!important}
  .cmp{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:4px 10px;font-size:13.5px}
  .prop-actions .btn{flex:1}
}

/* ---------- Chat del agente ---------- */
.chat{margin-bottom:16px}
.chat-msgs{display:flex;flex-direction:column;gap:8px;padding:12px 18px;max-height:360px;overflow-y:auto}
.chat-msgs:empty{display:none}
.msg{max-width:85%;padding:9px 12px;border-radius:14px;font-size:14.5px;white-space:pre-wrap;line-height:1.45}
.msg.vos{align-self:flex-end;background:var(--brand);color:var(--brand-ink);border-bottom-right-radius:4px}
.msg.agente{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}
.msg.error{background:var(--red-soft);color:var(--red)}
.msg .acc{display:block;font-size:11.5px;color:var(--muted);margin-top:4px}
.msg.pensando{color:var(--muted);font-style:italic}
.chat-sug{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 10px}
.chat-sug:empty{display:none}
.chat-form{display:flex;gap:8px;padding:0 18px 16px;align-items:flex-end}
.chat-form textarea{min-height:42px;max-height:140px;resize:none;font-family:var(--font);font-size:15px}

/* ---------- Reclamos ---------- */
.reps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.rep{padding:14px 16px;border-top:6px solid var(--line)}
.rep.verde{border-top-color:#00A650}.rep.verde_claro{border-top-color:#A2D47F}.rep.amarillo{border-top-color:#FFE600}
.rep.naranja{border-top-color:#FF8A00}.rep.rojo{border-top-color:#F23D4F}
.termo{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:8px 0}
.termo span{height:6px;border-radius:3px;opacity:.25}
.termo span:nth-child(1){background:#F23D4F}.termo span:nth-child(2){background:#FF8A00}.termo span:nth-child(3){background:#FFE600}
.termo span:nth-child(4){background:#A2D47F}.termo span:nth-child(5){background:#00A650}
.termo span.on{opacity:1}
.rep-met{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:13px}
.rc-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.rc-datos{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:14px}
.rc-datos dt{color:var(--muted)}
.rc-datos dd{margin:0}
.urg{font-weight:700}
.urg.alta{color:var(--red)}
.notif-prefs{display:grid;gap:6px}
@media (max-width:820px){
  .reps.hscroll > *{width:80%}
  .seg{max-width:100%}
  #rc-tabs{display:flex;width:100%}
  #rc-tabs button{flex:1}
  .chat-msgs{max-height:300px;padding:10px 14px}
  .chat-form,.chat-sug{padding-left:14px;padding-right:14px}
  .chat-sug.hscroll{margin-left:0;margin-right:0}
  .nav-btn .count{left:calc(50% + 2px)}
  .nav-btn{font-size:10px;padding:7px 0}
  .nav-btn svg{width:22px;height:22px}
}

/* ---------- Pestañas, accesos y menús ---------- */
.tabs{display:flex;margin-bottom:16px;width:max-content;max-width:100%}
.tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px}
.tab-n{background:var(--brand);color:var(--brand-ink);border-radius:9px;font-size:11.5px;font-weight:700;padding:0 6px;line-height:17px}
.tab-n.rojo{background:#F28B7D;color:#2A0E0A}
.tabs button[aria-pressed="true"] .tab-n{background:var(--brand-ink);color:var(--brand)}
.intro{margin:0 0 14px}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 18px}
.quick:empty{display:none}
.quick-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;cursor:pointer;font-size:14px;color:var(--ink);white-space:nowrap}
.quick-item:hover{border-color:var(--ink)}
.menu{position:relative}
.menu summary{list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;display:grid;min-width:180px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.menu-list .btn{justify-content:flex-start;width:100%}

/* ---------- Fotos ---------- */
.fo-meter{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}
.fo-meter div{height:100%;background:var(--green);transition:width .3s}
.fo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.fo-foto{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);padding:0;cursor:pointer}
.fo-foto img{width:100%;height:100%;object-fit:cover;display:block}
.fo-foto .n{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;border-radius:6px;padding:1px 6px}
.fo-foto .baja{position:absolute;bottom:4px;left:4px;right:4px;background:var(--red);color:#fff;font-size:10.5px;border-radius:6px;padding:1px 4px;text-align:center}
.fo-foto.sel{outline:3px solid var(--brand);outline-offset:-3px}
.fo-acciones{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.fo-vacia{aspect-ratio:1;border-radius:10px;border:2px dashed var(--line)}
.fo-subidas{display:grid;gap:6px}
.fo-subidas:empty{display:none}
.fo-item{display:flex;justify-content:space-between;gap:10px;font-size:13px;background:var(--surface-2);border-radius:8px;padding:6px 10px}

.catalogo-box{white-space:pre-wrap;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13.5px}
.afecta-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.afecta-item:first-child{border-top:0}
.afecta-ico{font-size:20px}
@media (max-width:820px){.afecta-item{grid-template-columns:auto minmax(0,1fr)}.afecta-item .acc{grid-column:1/-1;display:flex;gap:8px}.afecta-item .acc .btn{flex:1}}

.conv{padding:14px 16px;display:grid;gap:10px}
.conv-msgs{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}
.burbuja{max-width:85%;padding:8px 11px;border-radius:14px;font-size:14px;white-space:pre-wrap}
.burbuja.comprador{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}
.burbuja.mio{align-self:flex-end;background:var(--brand);color:var(--brand-ink);border-bottom-right-radius:4px}
.burbuja .t{display:block;font-size:11px;opacity:.7;margin-top:2px}

/* ---------- Diálogos ---------- */
dialog{border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:0;width:min(600px,94vw);max-height:90vh}
dialog::backdrop{background:rgba(8,10,14,.55)}
.dlg-head{padding:20px 22px 0}
.dlg-head h3{margin:0;font-size:18px}
.dlg-body{padding:16px 22px;display:grid;gap:14px}
.dlg-foot{padding:0 22px 20px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
label{display:grid;gap:4px;font-size:14px;font-weight:500}
input[type=text],input[type=email],input:not([type]),input[type=number],input[type=password],input[type=search],select,textarea{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:8px 10px;width:100%;min-height:38px}
textarea{min-height:150px;font-size:13px;font-family:ui-monospace,Menlo,Consolas,monospace}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;gap:8px;align-items:center;font-weight:400}
.check input{width:18px;height:18px;flex:none}
.hint{font-size:13px;color:var(--muted);font-weight:400}
.err-text{color:var(--red);font-size:14px;min-height:1.4em;margin:0}
.preview{background:var(--brand-soft);border-radius:10px;padding:10px 12px;font-size:14px}
fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;margin:0;display:grid;gap:8px}
legend{font-size:13px;color:var(--muted);padding:0 6px}

/* ---------- Login ---------- */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login{width:min(380px,100%);padding:30px}
.login h1{font-size:20px;margin:0 0 4px}
.login form{display:grid;gap:12px;margin-top:20px}
.login-logo{display:block;width:170px;margin:0 0 22px}
/* v129: ingreso con correo, «Creá tu usuario» y «Me olvidé la contraseña» */
.login-ayuda{margin:0;padding:8px 10px;border-radius:8px;background:var(--surface-2,rgba(127,127,127,.08));color:var(--muted);line-height:1.45}
.login .login-link{justify-self:center;margin-top:2px;font-weight:500;color:var(--muted)}
.login > .login-link{display:block;margin:14px auto 0}
.login .login-link:hover{color:var(--ink)}
.login form label{overflow-wrap:anywhere}
.usu-body{display:grid;gap:10px}
.usu-body .t-name{margin-top:2px}
.col-correo{overflow-wrap:anywhere}
/* Colaboradores: en pantallas angostas los botones bajan debajo del nombre (antes se salían por la derecha) */
.colab-fila{flex-wrap:wrap}
.colab-fila > .grow{flex:1 1 240px;min-width:0}
.colab-acciones{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
@media (max-width:700px){.colab-acciones{flex-basis:100%;padding-left:26px}}
/* v134: lo que Mercado Libre no deja hacer por ahora */
.imposibles{border-left:4px solid var(--orange,#c2410c)}
.imposibles .card-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.imp-pubs summary{cursor:pointer;padding:8px 0}
.pill.gris{background:var(--surface-2,rgba(127,127,127,.12));color:var(--muted)}
.login-logo.dark{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .login-logo.light{display:none}:root:not([data-theme="light"]) .login-logo.dark{display:block}}

.skel{background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;height:14px}
@keyframes sk{to{background-position:-200% 0}}

/* Transición al cambiar de sección */
.view-in-l{animation:inL .22s ease-out}
.view-in-r{animation:inR .22s ease-out}
@keyframes inL{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes inR{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.swipe-hint{position:fixed;left:50%;bottom:calc(76px + var(--safe-b));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:13px;z-index:30;white-space:nowrap;box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* ================= CELULAR ================= */
@media (max-width:820px){
  body{font-size:15px}
  .shell{grid-template-columns:minmax(0,1fr)}
  /* La app ocupa la pantalla y solo se desplaza el contenido: la barra de secciones queda fija abajo */
  body.app-on{height:100dvh;overflow:hidden;overscroll-behavior:none}
  body.app-on .shell{display:flex;flex-direction:column;height:100dvh;min-height:0}
  body.app-on main{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
  .nav{position:static;order:2;flex:none;align-self:stretch;width:100%;height:auto;flex-direction:row;padding:5px 2px calc(5px + var(--safe-b));z-index:20;gap:0;border-top:1px solid rgba(255,255,255,.06)}
  .logo,.nav-foot{display:none}
  .nav-btn{flex:1;flex-direction:column;gap:2px;font-size:9.5px;padding:6px 0;text-align:center;justify-content:center;min-width:0;border-radius:10px;letter-spacing:-.02em}
  .nav-btn svg{width:21px;height:21px}
  .nav-btn[aria-current="page"]{box-shadow:none;background:var(--nav-active);color:var(--brand-nav)}
  .nav-btn .count{position:absolute;top:1px;left:calc(50% + 4px);margin:0;font-size:10px;min-width:17px;line-height:16px;padding:0 5px}

  main{padding:0 14px 28px}
  .bar{position:sticky;top:0;z-index:12;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;margin:0 -14px 14px;padding:calc(10px + env(safe-area-inset-top, 0px)) 14px 10px;gap:10px;flex-wrap:nowrap;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
  .bar-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .brand-m{display:block}
  .bar h1{font-size:17px}
  .bar-right{width:100%}
  .updated{display:none}
  .seg{overflow-x:auto;scrollbar-width:none;flex:1;border-radius:10px}
  .seg::-webkit-scrollbar{display:none}
  .seg button{padding:7px 10px;font-size:13.5px}

  .hscroll{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;scroll-snap-type:x proximity}
  .hscroll::-webkit-scrollbar{display:none}
  .hscroll > *{scroll-snap-align:start;flex:none}
  .health.hscroll > *{width:78%}

  .headline{font-size:21px;margin:6px 0 16px}
  .kpis{grid-template-columns:1fr 1fr}
  .kpi{border-left:0!important;border-top:1px solid var(--line);padding:12px 14px}
  .kpi:nth-child(-n+2){border-top:0}
  .kpi:nth-child(even){border-left:1px solid var(--line)!important}
  .kpi:last-child{grid-column:1/-1}
  .kpi dd{font-size:19px}
  .card-head{padding:12px 14px 0}
  .card-body{padding:12px 14px 14px}
  .chart{height:150px}
  .tip{display:none!important}

  .rtable thead{display:none}
  .rtable,.rtable tbody,.rtable tfoot,.rtable tr,.rtable td{display:block;width:100%}
  .rtable tr{padding:12px 14px;border-bottom:1px solid var(--line)}
  .rtable tbody tr:last-child{border-bottom:0}
  .rtable td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0;border:0;text-align:right}
  .rtable td::before{content:attr(data-label);color:var(--muted);font-size:13px;text-align:left;font-weight:400;flex:none}
  .rtable td.main{display:block;text-align:left;padding-bottom:6px}
  .rtable td.main::before,.rtable td.bare::before{content:none}
  .rtable td.bare{justify-content:flex-start}
  .rtable td:empty{display:none}
  .rtable tbody tr:hover td{background:none}
  .rtable tfoot tr{background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}
  .rtable tfoot td{border:0}
  .table-wrap{overflow:visible}
  .probs{justify-content:flex-start}
  .item-cell{min-width:0}
  .ellipsis{max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

  .search{min-width:0;flex:1}
  .tabs{width:auto;margin-left:-14px;margin-right:-14px;border-radius:0;border-left:0;border-right:0}
  .tabs button{flex:1 0 auto}
  .quick{margin:-4px -14px 14px;padding:0 14px}
  .toolbar .menu{flex:0 0 auto}
  .toolbar .menu .btn{flex:0 0 auto}
  .toolbar input.search{flex-basis:100%}
  .toolbar .grow{display:none}
  .toolbar .btn{flex:1}
  .rtable td .v{text-align:right;display:block}
  .rtable td .v .t-sub{display:inline;margin-left:6px}
  .toolbar{gap:8px}
  .audit-head{padding:12px 14px}
  .audit-head > div:last-child{width:100%}
  .audit-head > div:last-child .btn{flex:1}
  .q{padding:12px 14px}
  .q-ans-actions .btn{flex:1}
  .accounts{grid-template-columns:1fr}
  .params{grid-template-columns:1fr 1fr}
  .params .span2{grid-column:1/-1}
  .row2{grid-template-columns:1fr}
  .savebar{bottom:10px}

  dialog{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0}
  dialog[open]{animation:sheet .22s ease-out}
  @keyframes sheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
  .dlg-foot{position:sticky;bottom:0;background:var(--surface);padding-top:12px;padding-bottom:calc(16px + var(--safe-b))}
  .btn{min-height:40px}
}
@media (hover:none){.chart .col:hover .b{background:var(--bar)}.chart .col.today .b{background:var(--bar-hi)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.agent-progress-info{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.35}
.agent-progress-info .stale{color:var(--orange);font-weight:650}

/* ---------- Cabecera del Agente compacta (v26) ---------- */
.head-acciones{display:flex;gap:8px;align-items:flex-start;flex-wrap:nowrap}
.head-acciones .menu summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.head-acciones .menu summary::marker,.head-acciones .menu summary::-webkit-details-marker{display:none;content:""}
.head-acciones .menu-list{min-width:250px;gap:2px}
.head-acciones .menu-list hr{border:0;border-top:1px solid var(--line);margin:4px 2px}
.head-acciones .menu-list .btn{justify-content:flex-start;text-align:left}
.chat-sum{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.chat-sum::-webkit-details-marker{display:none}
.chat-sum h2{display:flex;align-items:center;gap:8px}
.chat-sum h2::before{content:"💬"}
.chat[open] .chat-sum h2::after{content:"▾";color:var(--muted);font-weight:400}
.chat:not([open]) .chat-sum h2::after{content:"▸";color:var(--muted);font-weight:400}
.chat:not([open]){padding-bottom:0}
.chat-nueva-wrap{display:none}
.chat[open] .chat-nueva-wrap{display:inline-flex}
@media (max-width:820px){
  .audit-head{flex-direction:column;align-items:stretch;gap:10px}
  .head-acciones{width:100%}
  .head-acciones .btn.primary{flex:1}
  .head-acciones .menu-list{position:fixed;left:12px;right:12px;top:auto;bottom:calc(72px + var(--safe-b));min-width:0}
}

/* Tabla chica de la ficha técnica */
table.mini{width:100%;border-collapse:collapse;font-size:14px}
table.mini td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.mini tr:last-child td{border-bottom:0}
table.mini td:first-child{width:45%}

/* Rendimiento: tarjetas de visitas por fábrica */
#rend-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:0 0 16px}
#rend-cards .card.kpi{padding:14px 16px;border-left:0;margin:0}
#rend-cards .kpi-big{font-size:22px;font-weight:650;margin:4px 0 2px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
#rend-cards .kpi-big .small{font-weight:400}
@media (max-width:820px){ #rend-cards{grid-template-columns:1fr 1fr} #rend-cards .kpi-big{font-size:19px} }

/* ---------- Navegación agrupada (v34) ---------- */
.nav-grupo{
  font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;
  color:var(--muted);opacity:.75;padding:16px 16px 6px;
}
.nav-grupo:first-of-type{padding-top:6px}
.dlg-body .sep{border:0;border-top:1px solid var(--line);margin:12px 2px 10px}
@media (max-width:820px){
  /* En el celular la barra de abajo queda con 5: Resumen, Agente, Tareas, Clientes y Más */
  .nav-grupo{display:none!important}
}

/* ---------- Para hacer hoy (v39) ---------- */
.quick-tit{
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:650;
  color:var(--muted);margin:0 0 8px;
}
.quick-item.urge{
  border-color:color-mix(in srgb, var(--red) 45%, var(--line));
  background:color-mix(in srgb, var(--red) 7%, var(--surface));
}
.quick-item.urge strong{color:var(--red)}
.quick-item{transition:transform .12s ease, box-shadow .12s ease}
.quick-item:hover{transform:translateY(-1px)}
.quick-ok{
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  color:var(--muted);font-size:14px;display:flex;align-items:center;gap:8px;
}

/* Estados de la liquidación */
.chip.ok{border-color:color-mix(in srgb,var(--green) 45%,var(--line));color:var(--green)}
.chip.warn{border-color:color-mix(in srgb,var(--orange) 45%,var(--line));color:var(--orange)}
.chip.info{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));color:var(--blue)}
.btn.small{padding:5px 10px;font-size:13px}

/* Diagnóstico */
.diag-p{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;margin-bottom:4px;font-size:14px;line-height:1.45}
.diag-p.diag-mal{background:color-mix(in srgb,var(--red) 8%,transparent)}
.diag-p.diag-aviso{background:color-mix(in srgb,var(--orange) 8%,transparent)}
.diag-p .small{color:var(--muted)}

/* Gráfico de visitas */
.graf svg{display:block;background:linear-gradient(to top,var(--line) 1px,transparent 1px) 0 100%/100% 25% repeat-y;border-radius:6px}
.graf-pie{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:6px;flex-wrap:wrap}
button.link{background:none;border:0;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
button.link:hover{opacity:.7}

/* Impacto de la lista nueva */
.imp-impacto{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px;background:var(--surface)}
.imp-impacto .imp-tit{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:6px}
.imp-impacto ul{margin:0;padding-left:18px;font-size:14px;line-height:1.6}
.imp-impacto .small{margin-top:6px}

/* Resumen de errores agrupados */
.err-resumen{margin-bottom:12px;padding:14px 16px}
.err-fila{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line)}
.err-fila:first-of-type{border-top:0}
.err-fila .chip{cursor:default;padding:3px 10px;font-variant-numeric:tabular-nums}
.resultado.err details summary{cursor:pointer;color:var(--muted)}

/* ---------- Celular: los diálogos suben desde abajo (v48) ----------
   Un modal centrado en el teléfono queda lejos del pulgar y se siente pesado.
   Como hoja que sube desde abajo se lee y se cierra mucho más cómodo. */
@media (max-width:820px){
  dialog{
    margin:0 auto auto; position:fixed; inset:auto 0 0 0;
    width:100%; max-width:100%; max-height:88vh;
    border-radius:18px 18px 0 0; animation:sube .22s ease-out;
    padding-bottom:calc(10px + var(--safe-b));
  }
  @keyframes sube{ from{ transform:translateY(24px); opacity:.6 } to{ transform:none; opacity:1 } }
  dialog::backdrop{ background:rgba(0,0,0,.45) }
  /* Una barrita arriba, para que se entienda que se arrastra/cierra */
  .dlg-head{ position:sticky; top:0; background:var(--surface); z-index:2; padding-top:16px }
  .dlg-head::before{
    content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%);
    width:38px; height:4px; border-radius:2px; background:var(--line);
  }
  .dlg-foot{ position:sticky; bottom:0; background:var(--surface); border-top:1px solid var(--line); padding-top:10px }
  .dlg-foot .btn{ min-height:44px }
  /* Objetivos de toque más grandes */
  .btn{ min-height:42px }
  .chip{ padding:9px 14px }
  table.rtable td[data-label]{ padding-top:7px; padding-bottom:7px }
}

/* Pie del diálogo de fotos */
.fo-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media (max-width:820px){ .fo-foot .btn{flex:1 1 auto} }

/* Diagnóstico paso a paso de promos */
.pas-json{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;
  white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;margin:6px 0 0}

/* ---------- Celular: menos trabones al desplazar (v64) ---------- */
@media (max-width:820px){
  /* Las tiras y tablas se mueven con inercia y no arrastran la página */
  .hscroll, .table-wrap, .seg, .fo-grid, #rend-cards{
    -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-behavior:auto;
  }
  /* El scroll vertical de la página no rebota hacia la pantalla anterior */
  #main{ overscroll-behavior-y:contain; }
  /* (Se sacó "content-visibility": hacía saltar la barra de desplazamiento) */
  /* Menos sombras y transiciones caras mientras se desplaza */
  .card{ transition:none }
  .quick-item:hover{ transform:none }
}
/* Respeta a quien pide menos animación en el sistema */
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.01ms!important; transition-duration:.01ms!important } }

/* ---------- Celular: los filtros quedan a mano (v67) ---------- */
@media (max-width:820px){
  /* Al bajar en una lista larga no se pierde el filtro ni el buscador */
  #audit-chips, #ag-tipos, #pr-chips, #ag-estados{
    position:sticky; top:0; z-index:5;
    background:var(--bg); padding:8px 0; margin-bottom:0;
    box-shadow:0 6px 10px -10px rgba(0,0,0,.45);
  }
  .toolbar{ position:sticky; top:0; z-index:4; background:var(--bg); padding-top:8px }
  /* El botón principal de cada sección siempre visible y ancho */
  /* Tablas: la primera columna acompaña al desplazar de costado */
  .rtable td:first-child, .rtable th:first-child{ position:sticky; left:0; background:var(--card,var(--surface)); z-index:1 }
  /* Que el texto largo no ensanche la tabla */
  .rtable td{ max-width:62vw }
  /* Menos salto al abrir el teclado */
  input, select, textarea{ font-size:16px }
}
/* Aviso de "cargando" menos brusco */
.skel{ animation:latir 1.2s ease-in-out infinite }
@keyframes latir{ 0%,100%{ opacity:.45 } 50%{ opacity:.75 } }


/* ---------- Celular: que la página no se corra de costado (v76) ----------
   La fila de botones de Tareas no dejaba que se acomodaran en varias líneas, así
   que era más ancha que la pantalla y arrastraba TODA la página hacia la
   izquierda, sin manera de volver. */
/* OJO: overflow-x:hidden en <html> convierte la página en un contenedor de
   desplazamiento y en la computadora rompe el scroll vertical. "clip" recorta
   igual pero sin crear contenedor. */
body { overflow-x: clip; max-width: 100%; }
#main, section, .card { min-width: 0; max-width: 100%; }
.audit-head > div:last-child{ flex-wrap: wrap }
@media (max-width:820px){
  /* Los botones se acomodan en varias líneas en vez de empujar la página */
  .head-acciones{ flex-wrap: wrap; width:100%; }
  .head-acciones .btn{ flex:1 1 auto; min-width:44%; }
  .head-acciones .menu{ flex:0 0 auto }
  .audit-head, .card-head{ flex-wrap: wrap; gap:8px }
  /* Nada dentro de una tarjeta puede ser más ancho que la tarjeta */
  .card > *:not(.hscroll):not(.table-wrap):not(.chips){ max-width:100%; overflow-wrap:anywhere }
  /* Las tiras horizontales se desplazan solas, sin mover la página */
  .hscroll, .chips, .health, .table-wrap{ max-width:100%; overscroll-behavior-x:contain }
  /* La tabla ya no fuerza un ancho mínimo mayor que la pantalla */
  .rtable{ min-width:0 }
  .rtable td{ max-width:70vw; overflow-wrap:anywhere }
}

/* Chips que solo avisan (se resuelven en Mercado Libre, no cuentan como pendientes) */
.chip.aviso{ opacity:.72; border-style:dashed }
.chip.aviso b, .chip.aviso .n{ font-weight:500 }

/* Filtro de fábricas: visible en todas las secciones, debajo del encabezado */
#fab-filtro{margin:10px 0 0;padding-bottom:2px}
#fab-filtro .chip{font-size:13px;padding:5px 12px}
#fab-filtro .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
@media (max-width:820px){ #fab-filtro{margin:8px 0 0} }

/* Modo presentación: una sola fábrica a la vista */
.fab-sola{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:5px 2px 5px 0}
.fab-sola strong{color:var(--ink)}
/* Con una fábrica elegida se ocultan los selectores que nombran a las demás */
body.una-fabrica #ag-cuenta,
body.una-fabrica #prod-acc,
body.una-fabrica #audit-health{display:none}

/* ---------- Informe para la fábrica ---------- */
.informe{background:var(--surface);color:var(--ink);padding:4px 2px;font-size:14px;line-height:1.55}
.inf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:18px}
.inf-marca{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.informe h1{font-size:26px;margin:4px 0 2px;line-height:1.15}
.inf-per{color:var(--muted);font-size:13px}
.inf-fecha{color:var(--muted);font-size:12px;text-align:right;white-space:nowrap}
.informe h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.inf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.inf-kpi{border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.inf-kpi-t{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.inf-kpi-v{font-size:21px;font-weight:650;margin:3px 0 1px;line-height:1.1}
.inf-kpi-s{font-size:12px;color:var(--muted)}
.inf-nota{font-size:12px;color:var(--muted);margin:10px 0 0;font-style:italic}
.inf-graf{display:flex;align-items:flex-end;gap:10px;height:150px;margin:6px 0 14px;padding-top:8px}
.inf-barra{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}
.inf-col{width:100%;max-width:46px;background:var(--ink);border-radius:4px 4px 0 0;opacity:.85}
.inf-et{font-size:10px;color:var(--muted);text-align:center;overflow-wrap:anywhere;line-height:1.2}
.inf-tabla{width:100%;border-collapse:collapse;font-size:13px}
.inf-tabla th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px}
.inf-tabla td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.inf-tabla td:first-child{max-width:320px}
.inf-n{color:var(--muted);font-size:12px}
.inf-barras{display:flex;flex-direction:column;gap:7px}
.inf-fila{display:grid;grid-template-columns:150px 1fr 48px auto;align-items:center;gap:10px;font-size:13px}
.inf-track{height:8px;background:var(--line);border-radius:5px;overflow:hidden}
.inf-track i{display:block;height:100%;border-radius:5px}
.inf-acciones{margin:0;padding-left:20px}
.inf-acciones li{margin-bottom:7px}
.inf-pie{margin-top:24px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}
#informe-print{display:none}
@media (max-width:820px){ .inf-fila{grid-template-columns:110px 1fr 42px;} .inf-fila .inf-n{display:none} }

/* Al imprimir: solo el informe, en blanco y negro sobre blanco */
@media print{
  body.imprimiendo > *{display:none!important}
  body.imprimiendo #informe-print{display:block!important}
  body.imprimiendo{background:#fff}
  .informe{--surface:#fff;--ink:#111;--muted:#555;--line:#ccc;background:#fff;font-size:12px}
  .informe h1{font-size:22px}
  .inf-col{background:#333}
  .inf-kpi,.inf-tabla,.inf-graf{break-inside:avoid}
  .informe h2{break-after:avoid}
}

/* Informe: desglose y destacados */
.informe h2{display:flex;align-items:center;gap:9px}
.informe h2 span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:11px;font-weight:700}
.inf-destacado{border:2px solid var(--ink);border-radius:12px;padding:14px 18px;margin-top:12px}
.inf-grande{font-size:32px;font-weight:700;line-height:1.1;margin:2px 0}
.inf-tabla td.num,.inf-tabla th.num{text-align:right;white-space:nowrap}
.inf-tabla tr.tot td{font-weight:700;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.inf-tabla td.neg{color:var(--red);font-weight:600}
.desglose td:first-child{max-width:none}
@media print{ .inf-destacado{border-color:#111} .inf-tabla tr.tot td{background:#f0f0f0} }

/* Precios: una línea por publicación (Clásica / Premium) */
.pubs{display:block}
.pub-linea{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:3px 0}
.pub-linea + .pub-linea{border-top:1px dashed var(--line);margin-top:3px;padding-top:6px}
.pub-cab{display:flex;align-items:center;gap:6px}
.pub-tipo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #6b7280)}
.pub-nota{max-width:190px;text-align:right;line-height:1.25}
/* v113: qué hizo el agente con esta publicación, y los botones Corregir / ¿Por qué? */
.pub-ag{display:block;max-width:230px;text-align:right;line-height:1.3;margin-top:2px}
.pub-ag .link{margin-left:6px}
@media (max-width:820px){.pubs{display:flex;flex-direction:column;align-items:flex-end;min-width:0;flex:1}.pub-linea{width:100%}}
/* La columna «Publicado» no se corta: el nombre del producto cede lugar */
@media (min-width:821px){
  #pr-tabla td.main{max-width:300px}
  #pr-tabla td.main .t-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #pr-tabla td, #pr-tabla th{padding-left:10px;padding-right:10px}
  #pr-tabla td:last-child{min-width:190px}
}

/* Ventas reales (v92) */
#vr-card{overflow:hidden}
.vr-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 0;flex-wrap:wrap}
.vr-tit{font-weight:700;font-size:15px}
.vr-acc{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vr-cuerpo{padding:10px 16px 16px;margin:0}
.vr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.vr-dato{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.vr-dato.red{border-color:var(--red);background:var(--red-soft)}
.vr-dato.orange{border-color:var(--orange);background:var(--orange-soft)}
.vr-dato.green{border-color:var(--green);background:var(--green-soft)}
.vr-num{font-size:20px;font-weight:700;margin:2px 0}
.vr-causas-res{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.vr-causas div{font-size:12.5px;text-align:left;line-height:1.35}
@media (min-width:821px){ .vr-causas{max-width:360px} }
@media (max-width:820px){
  .vr-grid{grid-template-columns:1fr 1fr;gap:8px}
  .vr-dato:first-child{grid-column:1/-1}
  .vr-dato{padding:8px 10px}
  .vr-num{font-size:17px}
  .vr-cab{padding:12px 14px 0}.vr-cuerpo{padding:8px 14px 14px}
}
.ag-reales{font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:8px;padding:6px 10px;margin:6px 0}
.vr-ml{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:2px 0 8px;text-align:left}
.vr-ml-tit{font-weight:700;font-size:13px;margin-bottom:4px}
.vr-ml-f{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:3px 0;border-top:1px dashed var(--line)}
.vr-ml-f span:last-child{text-align:right}
.vr-ml-f span{overflow-wrap:normal;word-break:normal}
.vr-ml-f span:first-child{flex:1 1 50%}
.vr-ml-f span:last-child{flex:0 1 auto}
.vr-causas-in{min-width:0}
@media (max-width:820px){ .vr-causas-in{flex:1 1 auto;max-width:72%;text-align:right} .vr-causas-in div{text-align:right} }

/* Desglose: precio de hoy vs. el que corresponde (v95) */
.desg{margin:8px 0 4px}
.desg table{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.desg th,.desg td{padding:5px 8px;text-align:right;border-bottom:1px dashed var(--line)}
.desg th:first-child,.desg td:first-child{text-align:left;color:var(--muted)}
.desg thead th{font-weight:700;color:var(--ink);background:var(--surface)}
.desg .desg-tot td{font-weight:700;color:var(--ink);border-bottom:0}
.desg .neg{color:var(--red)}
.desg .desg-dif{background:var(--orange-soft);font-weight:700}
.desg-nota{margin:6px 0 0;font-size:12.5px;line-height:1.4}
.desg{min-width:0;max-width:100%;overflow-x:auto}
.desg td:first-child{width:46%}
.desg thead th{line-height:1.25;white-space:nowrap}
@media (max-width:820px){ .desg table{font-size:12px} .desg th,.desg td{padding:5px 6px} }
.pub-cab{flex-wrap:wrap;justify-content:flex-end}
.agc-fabs{display:flex;flex-wrap:wrap;gap:6px 16px}

/* v103: limpieza */
body:not(.ver-avanzado) .avanzado{display:none!important}
.mas-ajustes{grid-column:1/-1;border:1px dashed var(--line);border-radius:12px;padding:8px 12px;margin-top:4px}
.mas-ajustes>summary{cursor:pointer;font-weight:600;color:var(--muted);padding:4px 0}
.mas-ajustes[open]>summary{margin-bottom:8px}
.vr-det>summary{cursor:pointer;padding:12px 16px;list-style:none}
.vr-det>summary::-webkit-details-marker{display:none}
.vr-det>summary::before{content:"▸ ";color:var(--muted)}
.vr-det[open]>summary::before{content:"▾ "}
.params-grid .params{align-content:start}

/* v109: informe editable */
.inf-edit-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.informe.editando{outline:2px dashed var(--orange);outline-offset:6px;border-radius:4px}
.informe.editando [contenteditable="true"]:focus,.informe.editando:focus{outline:none}
.informe.editando .inf-sec{position:relative;border-radius:6px}
.informe.editando .inf-sec:hover{background:color-mix(in srgb,var(--orange) 6%,transparent)}
.inf-quitar{display:none}
.informe.editando .inf-quitar{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:0;top:18px;min-height:0;height:26px;padding:0 9px;font-size:12px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--red);cursor:pointer;z-index:1}
.informe.editando tr{position:relative}
.informe.editando .inf-quitar-fila{position:static;display:inline-flex;height:22px;padding:0 7px;margin-left:6px;font-size:11px;vertical-align:middle}
.inf-coment p{white-space:pre-wrap;min-height:1.5em}
@media print{ .inf-quitar,.inf-edit-bar{display:none!important} .informe.editando{outline:none} }

/* v110: permisos por usuario */
.sin-comisiones #card-comisiones,.sin-comisiones .col-com,.sin-comisiones #rent-comision-wrap{display:none!important}
.col-secciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 12px}
.solo-lectura [data-ag-accion],.solo-lectura #ag-generar,.solo-lectura #ag-aprobar-todo,.solo-lectura #ag-descartar-todo,.solo-lectura #ag-reanudar,
.solo-lectura #audit-run,.solo-lectura #audit-rules,.solo-lectura [data-sku-editar],.solo-lectura #ag-ajustes,.solo-lectura .solo-dueno{display:none!important}
.aviso-usuario{font-size:12px;color:var(--muted);padding:6px 10px;border:1px dashed var(--line);border-radius:8px;margin:0 0 10px}
.es-colaborador #ag-menu,.es-colaborador #audit-rules,.es-colaborador #colab-card,.es-colaborador #diag-run{display:none!important}
/* v118: explicación del precio para la fábrica y aviso de cupón no cubierto */
.explica{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.5;font-family:inherit;color:var(--ink);background:var(--surface-2);border-radius:10px;padding:12px 14px;margin:0;max-height:60vh;overflow:auto}
#prod-explicar{margin:8px 0 4px}
.aviso-cupon{border-left:4px solid var(--orange)}
.aviso-cupon .imp-tit{margin-bottom:4px}
.aviso-cupon .acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

/* ===== v122 — Ventanas que no se traban (sobre todo en el celular) =====
   Antes se desplazaba la ventana entera: la cabecera y los botones iban «pegados»
   encima del contenido, se veía texto asomando por debajo de los botones y, al
   llegar al final, el dedo arrastraba la pantalla de atrás. Ahora la cabecera y
   los botones quedan quietos y lo único que se desplaza es el contenido. */
dialog[open]{display:flex;flex-direction:column;overflow:hidden}
dialog:focus{outline:none}
dialog[open] > form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin:0}
dialog .dlg-head,dialog .dlg-foot{flex:0 0 auto}
dialog .dlg-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;grid-template-columns:minmax(0,1fr)}
.inf-kpis + .inf-barras,.inf-kpis + .inf-fila{margin-top:12px}
.dlg-foot{padding-top:12px}
.check{flex-wrap:wrap}
.check .hint{flex:1 1 100%;padding-left:26px;margin-top:-2px}
.conv-cuando{display:inline-flex;align-items:center;gap:8px}
.aviso-msj{border-left:4px solid var(--orange);margin-bottom:10px}

@media (max-width:820px){
  html:has(dialog[open]),html:has(dialog[open]) body,html:has(dialog[open]) #main{overflow:hidden;overscroll-behavior:none}
  dialog{max-height:88vh;max-height:min(90dvh,calc(100dvh - 28px));padding-bottom:0}
  /* Las ventanas que cargan el contenido después de abrirse nacen con su tamaño
     final: así no «saltan» cuando llega el contenido. */
  #dlg-rent[open],#dlg-comp[open],#dlg-publicar[open],#dlg-opor[open],#dlg-graf[open]{height:min(90dvh,calc(100dvh - 28px))}
  .dlg-head{position:static;padding:18px 16px 10px;border-bottom:1px solid var(--line)}
  .dlg-body{padding:14px 16px}
  .dlg-foot{position:static;padding:10px 16px calc(12px + var(--safe-b));gap:8px;flex-wrap:wrap;align-items:stretch}
  .dlg-foot > span:empty{display:none}
  .dlg-foot > span:not(:empty):not(:has(.btn)),.dlg-foot > .small{flex:1 1 100%}
  .dlg-foot > span:has(.btn){display:flex;flex:1 1 auto;gap:8px}
  .dlg-foot .btn{flex:1 1 auto;justify-content:center;white-space:nowrap}
  .dlg-foot > form{display:flex;flex:1 1 auto;margin:0}
  .dlg-foot > form .btn{width:100%}
  .solo-compu{display:none}
  .explica{max-height:none;overflow:visible}
  .inf-edit-bar .btn{flex:1 1 auto}
}

/* v122: guía de primera vez en cada sección */
.guia-slot:empty{display:none}
.guia{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:12px;padding:14px 16px;margin:0 0 14px}
.guia-ico{font-size:22px;line-height:1.2}
.guia-txt strong{display:block;font-size:15px;margin-bottom:4px}
.guia-txt ul{margin:0;padding-left:18px;font-size:14px;line-height:1.45;color:var(--ink)}
.guia-txt li{margin:2px 0}
.guia .btn{align-self:center}
@media (max-width:820px){
  .guia{grid-template-columns:auto minmax(0,1fr);padding:12px 14px;gap:8px 10px}
  .guia-txt ul{font-size:13.5px;line-height:1.4}
  .guia .btn{grid-column:1/-1;justify-content:center;min-height:38px}
}

/* v123: avisos flotantes (se van solos, máximo tres) */
#toasts{position:fixed;z-index:60;bottom:18px;right:18px;width:min(400px,calc(100vw - 36px));display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:11px 12px 11px 14px;border-radius:12px;font-size:14px;line-height:1.4;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--green);box-shadow:0 10px 30px rgba(0,0,0,.18);animation:toast-in .18s ease-out}
.toast.warn{border-left-color:var(--orange)}
.toast.err{border-left-color:var(--red)}
.toast button{border:0;background:none;cursor:pointer;color:inherit;opacity:.55;font-size:20px;line-height:1;padding:0 2px;min-height:0}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.banner.ok{background:var(--green-soft)}
@media (max-width:820px){
  #toasts{bottom:calc(74px + var(--safe-b));left:12px;right:12px;width:auto}
  dialog #toasts{bottom:calc(86px + var(--safe-b))}
}
.prop [data-sku-cand]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v123: chat del agente con formato y respuestas rápidas */
.chat-msgs{max-height:min(56vh,520px)}
.msg.vos{white-space:pre-wrap}
.msg.agente{white-space:normal;max-width:92%}
.msg .md p{margin:0 0 8px}
.msg .md p:last-child,.msg .md ul:last-child,.msg .md ol:last-child{margin-bottom:0}
.msg .md ul,.msg .md ol{margin:0 0 8px;padding-left:20px}
.msg .md li{margin:2px 0}
.msg .md a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.msg .md code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:color-mix(in srgb,var(--ink) 8%,transparent);padding:1px 4px;border-radius:4px}
.msg-ops{display:flex;gap:8px;flex-wrap:wrap;align-self:flex-start;margin:-2px 0 4px}
.msg-ops .chip{background:var(--surface);border:1px solid var(--brand);font-size:13.5px}
.msg.pensando{display:flex;align-items:center;gap:8px;font-style:normal}
.puntos{display:inline-flex;gap:3px}
.puntos i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:punto 1.1s infinite ease-in-out}
.puntos i:nth-child(2){animation-delay:.15s}.puntos i:nth-child(3){animation-delay:.3s}
@keyframes punto{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (max-width:820px){ .chat-msgs{max-height:52vh} .msg.agente{max-width:96%} }
.msg .acc{padding:0;margin-top:6px;gap:0}
.chat-sum{flex-wrap:nowrap}
.chat-sum h2{min-width:0}

/* =================== Rendimiento (v124) =================== */
/* Colores de los gráficos: una serie (azul), el período anterior en gris, y una rampa de
   un solo tono para el mapa de horarios. Elegidos para verse bien en claro y en oscuro
   y para personas que no distinguen bien los colores. */
:root{
  --viz-1:#2a78d6; --viz-ctx:#A3A9B5; --viz-grid:#E9EBEF; --viz-axis:#C3C8D2;
  --viz-s0:#EEF0F4; --viz-s1:#cde2fb; --viz-s2:#9ec5f4; --viz-s3:#5598e7; --viz-s4:#2a78d6; --viz-s5:#184f95;
  --viz-a:#184f95; --viz-b:#3987e5; --viz-c:#86b6ef; --viz-track:#cde2fb;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --viz-1:#3987e5; --viz-ctx:#6B7382; --viz-grid:#262B34; --viz-axis:#3A404C;
    --viz-s0:#21252D; --viz-s1:#104281; --viz-s2:#1c5cab; --viz-s3:#2a78d6; --viz-s4:#5598e7; --viz-s5:#9ec5f4;
    --viz-a:#86b6ef; --viz-b:#3987e5; --viz-c:#184f95; --viz-track:#104281;
  }
}
:root[data-theme="dark"]{
  --viz-1:#3987e5; --viz-ctx:#6B7382; --viz-grid:#262B34; --viz-axis:#3A404C;
  --viz-s0:#21252D; --viz-s1:#104281; --viz-s2:#1c5cab; --viz-s3:#2a78d6; --viz-s4:#5598e7; --viz-s5:#9ec5f4;
  --viz-a:#86b6ef; --viz-b:#3987e5; --viz-c:#184f95; --viz-track:#104281;
}
.rd-top{display:flex;gap:10px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.rd-top .tabs{margin-bottom:0}
.rd-estado{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:-6px 0 10px;min-height:32px}
.rd-girar{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite;vertical-align:-1px;margin-right:4px}
.rd-aviso{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:9px;padding:9px 13px;margin:0 0 10px;font-size:14px}
.rd-aviso.mal{border-left-color:var(--red)}
.rd-card{margin-bottom:16px}
.rd-h3{font-size:14px;font-weight:650;margin:16px 0 6px}
.rd-fab{font-size:17px;margin:22px 0 8px}
.rd-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.rd-tiles.n3,.rd-tiles.n6{grid-template-columns:repeat(3,minmax(0,1fr))} .rd-tiles.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){ .rd-tiles.n5{grid-template-columns:repeat(3,minmax(0,1fr))} }
.rd-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px;min-width:0}
.rd-tile dt{font-size:13px;color:var(--muted)}
.rd-tile dd{margin:2px 0 0;font-size:23px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-sub{font-size:12.5px;margin-top:2px;line-height:1.35}
.rd-delta{font-weight:650;white-space:nowrap}
.rd-delta.up{color:var(--green)} .rd-delta.down{color:var(--red)}
.rd-neg{color:var(--red);font-weight:600}
.rd-grande{font-size:26px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:normal;margin-bottom:8px}
.rd-lecturas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;padding:6px 18px 14px}
.rd-lectura{display:flex;gap:11px;padding:11px 12px 11px 0;border-bottom:1px solid var(--line);min-width:0}
.rd-lectura h3{font-size:14.5px;margin:0 0 2px;font-weight:650;line-height:1.3}
.rd-lectura p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.45}
.rd-ico{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:15px;background:var(--surface-2)}
.rd-lectura.mal .rd-ico{background:var(--red-soft)} .rd-lectura.ojo .rd-ico{background:var(--orange-soft)} .rd-lectura.bien .rd-ico{background:var(--green-soft)} .rd-lectura.dato .rd-ico{background:var(--blue-soft)}
.rd-eti{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.rd-lectura.mal .rd-eti{color:var(--red)} .rd-lectura.ojo .rd-eti{color:var(--orange)} .rd-lectura.bien .rd-eti{color:var(--green)}
.rd-dos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.rd-tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.rd-grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:16px}
.rd-grupos .rd-card{margin:0}
.rd-item{padding:7px 0;border-top:1px solid var(--line);min-width:0}
.rd-item:first-of-type{border-top:0}
.rd-item-t{font-weight:600;font-size:14px;line-height:1.35}
.rd-n{font-weight:700;font-size:15px;background:var(--surface-2);border-radius:8px;padding:1px 9px}
.rd-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px;margin:0;padding:12px 18px 18px}
.rd-dato dt{font-size:13px;color:var(--muted)}
.rd-dato dd{margin:0;font-size:19px;font-weight:700;font-variant-numeric:normal}
.rd-chips{display:flex;gap:4px 8px;align-items:center;flex-wrap:wrap}
.rd-clase{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:5px;font-size:11px;font-weight:700;color:#fff;flex:none}
.rd-clase.cA{background:var(--viz-a)} .rd-clase.cB{background:var(--viz-b)} .rd-clase.cC{background:var(--viz-c);color:#0b2545}
:root[data-theme="dark"] .rd-clase.cA{color:#0b2545} :root[data-theme="dark"] .rd-clase.cC{color:#fff}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .rd-clase.cA{color:#0b2545} :root:not([data-theme="light"]) .rd-clase.cC{color:#fff} }
.rd-eti-chip{cursor:default;padding:1px 8px;font-size:12px}
.chip.mal{border-color:color-mix(in srgb,var(--red) 45%,var(--line));color:var(--red)}
.rd-tabla td{vertical-align:top}
.rd-val{min-width:0}
.rd-val .viz-rango,.rd-val .viz-chispa{margin-left:auto}
.toolbar .seg{flex:none}
.rd-consejo{margin-top:4px;max-width:62ch;line-height:1.45}
.rd-cab{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.rd-cab>div:first-child{flex:1 1 320px;min-width:0}
.rd-cab-btn{display:flex;gap:8px;flex-wrap:wrap}
.rd-ajustes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 18px;align-items:end;border-top:1px solid var(--line)}
.rd-ajustes label{display:grid;gap:4px;font-size:14px}
.rd-ajustes .rd-check{display:flex;gap:8px;align-items:flex-start;grid-column:1/-1}
.rd-ajustes input[type=number]{width:110px}
.rd-informe{border-left:3px solid var(--brand)}
.rd-titular{font-size:17px;font-weight:650;margin:0 0 6px;line-height:1.35}
.rd-accion,.rd-item.rd-fila{display:flex;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}
.rd-accion>div,.rd-item.rd-fila>div{min-width:0}
.rd-num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:12.5px;font-weight:700;margin-right:10px}
.rd-frases{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.rd-frase{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:13px;background:var(--surface)}
.rd-frase.si{background:var(--surface-2);color:var(--muted)}
.rd-frase.no{border-color:color-mix(in srgb,var(--ink) 35%,var(--line));font-weight:600}
/* v127: a algunos títulos les falta una sola palabra */
.rd-frase.casi{border-color:color-mix(in srgb,var(--ink) 35%,var(--line));font-weight:600}
.rd-falta{font-weight:600;color:var(--green);margin-left:2px}
.rd-id{font-variant-numeric:tabular-nums;opacity:.8}
.rd-sub2{font-weight:650;margin-top:8px}
.rd-si{color:var(--green);font-weight:600}
.rd-detalle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px}
.rd-detalle summary{cursor:pointer;font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- Gráficos --- */
.viz{min-width:0}
.viz svg{display:block;max-width:100%;overflow:visible}
.viz-grid{stroke:var(--viz-grid);stroke-width:1}
.viz-axis{stroke:var(--viz-axis);stroke-width:1}
.viz-tick{fill:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}
.viz-linea{fill:none;stroke:var(--viz-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.viz-linea.ctx{stroke:var(--viz-ctx);stroke-dasharray:4 4;stroke-width:1.75}
.viz-punto{fill:var(--viz-1);stroke:var(--surface);stroke-width:2}
.viz-punto.ctx{fill:var(--viz-ctx)}
.viz-cruz{stroke:var(--viz-axis);stroke-width:1}
.viz-zona{fill:transparent;cursor:crosshair;outline-offset:2px}
.viz-leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:13px;margin:6px 0 8px}
.viz-leyenda>span{display:inline-flex;align-items:center;gap:6px}
.viz-key{display:inline-block;width:18px;height:0;border-top:2px solid var(--viz-1)}
.viz-key.ctx{border-top:2px dashed var(--viz-ctx)}
.viz-sw{display:inline-block;width:11px;height:11px;border-radius:3px;background:var(--viz-1)}
.viz-sw.cA{background:var(--viz-a)} .viz-sw.cB{background:var(--viz-b)} .viz-sw.cC{background:var(--viz-c)}
.viz-sw.hoy{background:var(--viz-1)} .viz-sw.proy{background:var(--viz-track)} .viz-sw.marca{width:3px;height:13px;border-radius:1px;background:var(--ink)}
.viz-sw.yo{border-radius:50%;background:var(--viz-1)} .viz-sw.rango{height:3px;width:18px;border-radius:2px;background:var(--viz-ctx)} .viz-sw.tipico{width:2px;height:13px;border-radius:1px;background:var(--ink)}
.viz-tabla{margin-top:8px;font-size:13.5px}
.viz-tabla summary{cursor:pointer;color:var(--muted)}
.viz-tabla .table-wrap{max-height:280px;overflow:auto;margin-top:6px}
.viz-calor-caja{overflow-x:auto;margin:0 -2px}
.viz-calor{border-collapse:separate;border-spacing:2px;width:100%;table-layout:fixed;min-width:300px}
.viz-calor th{font-size:11px;font-weight:400;color:var(--muted);padding:0;border:0;text-align:center;white-space:nowrap}
.viz-calor th[scope=row]{text-align:left;width:30px}
.viz-calor thead td{width:30px;border:0;padding:0;background:none;height:auto}
.viz-calor td{padding:0;height:19px;border:0;border-radius:3px;background:var(--viz-s0)}
.viz-calor tbody tr:hover td{background:var(--viz-s0)}
.viz-calor td.n1,.viz-calor tbody tr:hover td.n1,.viz-rampa .n1{background:var(--viz-s1)} .viz-calor td.n2,.viz-calor tbody tr:hover td.n2,.viz-rampa .n2{background:var(--viz-s2)}
.viz-calor td.n3,.viz-calor tbody tr:hover td.n3,.viz-rampa .n3{background:var(--viz-s3)} .viz-calor td.n4,.viz-calor tbody tr:hover td.n4,.viz-rampa .n4{background:var(--viz-s4)}
.viz-calor td.n5,.viz-calor tbody tr:hover td.n5,.viz-rampa .n5{background:var(--viz-s5)}
.viz-rampa{display:inline-flex;gap:2px}
.viz-rampa i{width:16px;height:11px;border-radius:2px;background:var(--viz-s0)}
.viz-barras{display:grid;gap:5px}
.viz-barra-fila{display:grid;grid-template-columns:34px minmax(0,1fr) 84px;gap:8px;align-items:center;font-size:13px}
.viz-barra-fila>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.viz-barra-pista{height:12px;display:block}
.viz-barra-pista i{display:block;height:100%;background:var(--viz-1);border-radius:0 4px 4px 0;min-width:0}
.viz-chispa rect{fill:var(--viz-1)} .viz-chispa rect.cero{fill:var(--viz-axis)}
.viz-tira{display:flex;gap:2px;height:22px}
.viz-tira i{display:block;border-radius:0;min-width:6px}
.viz-tira i:first-child{border-radius:4px 0 0 4px} .viz-tira i:last-child{border-radius:0 4px 4px 0} .viz-tira i:only-child{border-radius:4px}
.viz-tira .cA{background:var(--viz-a)} .viz-tira .cB{background:var(--viz-b)} .viz-tira .cC{background:var(--viz-c)}
.viz-medidor{position:relative;height:14px;margin:4px 0 2px}
.viz-medidor i{position:absolute;left:0;top:0;height:100%;border-radius:0 4px 4px 0}
.viz-medidor .proy{background:var(--viz-track)} .viz-medidor .hoy{background:var(--viz-1)}
.viz-medidor b{position:absolute;top:-4px;width:3px;height:22px;border-radius:1px;background:var(--ink);transform:translateX(-1px);box-shadow:0 0 0 2px var(--surface)}
.viz-rango .r{stroke:var(--viz-ctx);stroke-width:3;stroke-linecap:round} .viz-rango .t{stroke:var(--ink);stroke-width:2;stroke-linecap:round} .viz-rango .yo{fill:var(--viz-1);stroke:var(--surface);stroke-width:2}
#viz-tip{position:fixed;z-index:60;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12.5px;line-height:1.4;padding:6px 9px;border-radius:7px;white-space:pre-line;max-width:260px;opacity:0;transition:opacity .08s;box-shadow:0 4px 14px rgba(0,0,0,.18)}
#viz-tip.on{opacity:1}
@media (max-width:1100px){ .rd-dos{grid-template-columns:1fr} .rd-tres{grid-template-columns:1fr} }
@media (max-width:820px){
  .rd-top{margin-bottom:12px}
  .rd-top{display:block}
  .rd-top .tabs{margin-bottom:10px}
  .rd-top .seg:not(.tabs){display:flex;width:100%} .rd-top .seg:not(.tabs) button{flex:1}
  .rd-tiles,.rd-tiles.n5,.rd-tiles.n6{grid-template-columns:1fr 1fr;gap:8px}
  .rd-tiles.n3{grid-template-columns:1fr}
  .rd-tile{padding:11px 12px} .rd-tile dd{font-size:19px}
  .rd-lecturas{grid-template-columns:1fr;padding:4px 14px 10px}
  .rd-grande{font-size:22px}
  .rd-tabla td[data-label="En el período"]{align-items:center}
  .rd-val{text-align:right}
  .rtable.rd-tabla td{max-width:none}
  .viz-calor td{height:16px}
  .rd-cab-btn{width:100%} .rd-cab-btn .btn{flex:1}
}

/* v127: sin conexión */
.sin-red p{margin:0 0 10px}
.sin-red .btn{margin-top:10px}
.aviso-conexion{align-items:center}
.aviso-conexion span{flex:1}
.aviso-conexion .btn{flex:none;opacity:1;font-size:13px;line-height:1.2;min-height:32px;padding:5px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px}

/* v128: propuesta de impuestos según la condición fiscal */
.propuesta-fiscal:empty{display:none}
.propuesta-fiscal{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
.propuesta-fiscal ul{margin:6px 0 4px;padding-left:18px}
.propuesta-fiscal li{margin:2px 0}

/* v135: aviso fijo de la versión de prueba (copia de la base) */
.aviso-ensayo { margin: 0; padding: 8px 14px; background: #FFF4D6; color: #5A4300; font-size: 13px; text-align: center; border-bottom: 1px solid #F0D98A; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .aviso-ensayo { background: #3A3112; color: #F5E3A6; border-color: #5A4A1A; } }
:root[data-theme="dark"] .aviso-ensayo { background: #3A3112; color: #F5E3A6; border-color: #5A4A1A; }

/* v136: quien solo vende lo suyo no ve columnas de comisión */
.sin-representadas .col-com,.sin-representadas #rent-comision-wrap{display:none!important}

/* v137: otros costos en Precios */
.extras-fs{grid-column:1/-1}
.extras{display:grid;gap:8px}
.extras:empty{display:none}
.extra-fila{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}
.extra-fila label.check{margin:0;white-space:nowrap}
@media (max-width:640px){
  .extra-fila{grid-template-columns:1fr 1fr;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .extra-fila [data-ex="nombre"]{grid-column:1/-1}
}
/* v137: informe */
.inf-grande.neg{color:var(--red)}
.inf-aviso{font-style:normal;background:var(--surface-2);border-radius:8px;padding:8px 10px;color:var(--ink)}
@media print{ .inf-aviso{background:#f3f3f3} }
/* v137: carteles que se cierran */
.aviso-cerrable{position:relative;padding-right:44px!important}
.aviso-cerrar{position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:15px;cursor:pointer;line-height:1}
.aviso-cerrar:hover{background:var(--surface-2);color:var(--ink)}
.aviso-cerrar:focus-visible{outline:2px solid var(--accent,#5B3FF5);outline-offset:1px}
/* v137: Resumen, columna de la izquierda: ventas + estado de las cuentas (llena el hueco junto a «Pendientes») */
.col-izq{display:flex;flex-direction:column;gap:20px;align-self:stretch;min-width:0}
.col-izq>.card-estado{flex:1}
.estado-cuentas{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.est-fila{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}
.est-fila:first-child{border-top:0;padding-top:2px}
.est-rep{width:12px;height:12px;border-radius:50%;background:var(--line);box-shadow:0 0 0 3px var(--surface-2)}
.est-rep.r5{background:#1FA85A}.est-rep.r4{background:#7CC24A}.est-rep.r3{background:#E8B820}.est-rep.r2{background:#EF7A1A}.est-rep.r1{background:#E0393E}
.est-nom{min-width:0}
.est-nom .t-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.est-datos{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:12.5px}
.est-datos b{color:var(--ink);font-weight:650}
.est-datos .mal b,.est-datos .mal{color:var(--red)}
.est-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.est-vacio{color:var(--muted);font-size:13px;padding:6px 0}
@media (max-width:1100px){
  .col-izq{display:contents}
  .col-izq>.card-ventas{order:1}.two>.card-pend{order:2}.col-izq>.card-estado{order:3}
}
/* =================== v138: chat del agente rediseñado =================== */
.chat{overflow:hidden}
.chat-sum{align-items:flex-start;padding-bottom:14px}
.chat-sum h2::before,.chat[open] .chat-sum h2::after,.chat:not([open]) .chat-sum h2::after{content:none}
.chat-tit{display:flex;gap:12px;align-items:flex-start;min-width:0}
.chat-tit-txt{display:grid;gap:2px;min-width:0}
.chat-tit-txt h2{margin:0;display:flex;align-items:center;gap:8px}
.chat .chat-sum .chat-tit-txt h2::after{content:"▾";color:var(--muted);font-weight:400;font-size:13px;transition:transform .15s}
.chat:not([open]) .chat-sum .chat-tit-txt h2::after{content:"▾";transform:rotate(-90deg)}
.chat-sub{color:var(--muted);font-size:12.5px;line-height:1.4}
.chat-avatar{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.chat-avatar.chico{width:28px;height:28px;border-radius:9px;margin-top:2px}
.chat-nueva-wrap{gap:6px;flex:none}
#chat-anteriores.activo{background:var(--surface-2);border-color:var(--line)}
.chat-msgs{display:flex;flex-direction:column;gap:14px;padding:16px 20px;max-height:min(60vh,560px);border-top:1px solid var(--line);background:linear-gradient(var(--surface),var(--surface))}
.msg-fila{display:flex;gap:10px;align-items:flex-start;max-width:100%}
.msg-fila.vos{flex-direction:column;align-items:flex-end;gap:3px}
.msg-col{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:min(760px,92%)}
.msg{max-width:100%;font-size:14.5px;line-height:1.5}
.msg.vos{max-width:min(620px,85%);padding:10px 14px;border-radius:16px 16px 4px 16px;background:var(--brand);color:var(--brand-ink);white-space:pre-wrap}
.msg.agente{padding:12px 15px;border-radius:4px 16px 16px 16px;background:var(--surface-2);border:1px solid var(--line);white-space:normal;max-width:100%}
.msg.agente.pensando{display:flex;align-items:center;gap:10px;color:var(--muted);font-style:normal;padding:10px 14px}
.msg.error{background:var(--red-soft);color:var(--red);border-color:transparent}
.msg .acc{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 8px;padding-bottom:8px;border-bottom:1px dashed var(--line);font-size:11.5px;color:var(--muted)}
.msg .acc span{white-space:nowrap}
.msg-pie{display:flex;align-items:center;gap:10px;padding-left:4px}
.msg-hora{font-size:11px;color:var(--muted)}
.msg-copiar{border:0;background:none;padding:2px 4px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer;border-radius:6px}
.msg-copiar:hover{color:var(--ink);background:var(--surface-2)}
.msg-ops{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 0}
.msg-ops .chip{background:var(--surface);border:1px solid var(--brand);color:var(--ink);font-size:13.5px}
.chat-sug{display:block;padding:4px 20px 14px}
.chat-sug:empty{display:none}
.chat-hola{display:grid;gap:2px;margin:6px 0 12px}
.chat-hola strong{font-size:16px}
.chat-hola span{color:var(--muted);font-size:13px}
.sug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chip.sug-card{display:flex;align-items:center;gap:10px;text-align:left;white-space:normal;border-radius:12px;padding:11px 12px;min-height:52px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;line-height:1.3;color:var(--ink)}
.chip.sug-card::before{content:attr(data-ico);font-size:17px;flex:none}
.chip.sug-card:hover{border-color:var(--brand);background:var(--surface-2)}
.chat-form{display:block;padding:0 20px 14px}
.chat-caja{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s}
.chat-caja:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.chat-caja textarea{flex:1;border:0;outline:0;background:transparent;box-shadow:none;padding:8px 0;min-height:24px;max-height:160px;resize:none;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--ink)}
.chat-caja textarea:focus{box-shadow:none;outline:0}
.chat-enviar{flex:none;width:38px;height:38px;border:0;border-radius:12px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;cursor:pointer}
.chat-enviar:disabled{opacity:.45;cursor:default}
.chat-enviar:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.chat-pie{margin:6px 2px 0;font-size:11.5px;color:var(--muted)}
.chat-leyendo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 20px;background:var(--blue-soft,var(--surface-2));color:var(--ink);font-size:13px;border-top:1px solid var(--line)}
.chat-leyendo-acc{display:flex;gap:6px;flex-wrap:wrap}
.chat-hist{border-top:1px solid var(--line);padding:12px 20px;background:var(--surface-2)}
.chat-hist-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.chat-hist-lista{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:260px;overflow-y:auto}
.chat-hist-lista li{display:flex;align-items:center;gap:4px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.chat-hist-lista li.activa{border-color:var(--brand)}
.chat-hist-ver{flex:1;min-width:0;display:grid;gap:1px;text-align:left;border:0;background:none;padding:8px 10px;cursor:pointer;font:inherit;color:var(--ink)}
.chat-hist-tit{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-hist-meta{font-size:11.5px;color:var(--muted)}
.chat-hist-vacio{margin:0;color:var(--muted);font-size:13px}
@media (max-width:900px){.sug-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .chat-sub{display:none}
  .chat-msgs{padding:12px 12px;max-height:min(62vh,520px)}
  .chat-sug,.chat-form{padding-left:12px;padding-right:12px}
  .chat-hist,.chat-leyendo{padding-left:12px;padding-right:12px}
  .sug-grid{grid-template-columns:1fr}
  .chip.sug-card{min-height:44px}
  .msg-col{max-width:calc(100% - 38px)}
  .chat-avatar{width:32px;height:32px}
}
/* =================== v138: filtros de Tareas y Agente =================== */
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filtros select{width:auto;max-width:240px;min-height:36px;border-radius:9px}
.filtros select.activo{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface));font-weight:600}
.filtros-btn{display:none}
.filtros-btn b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--brand);color:var(--brand-ink);font-size:12px}
.filtro-activo{font-weight:600;color:var(--ink)}
@media (max-width:820px){
  .toolbar .filtros-btn{display:inline-flex;flex:0 0 auto;align-items:center}
  .filtros{display:none;flex-basis:100%}
  .filtros.abiertos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .filtros select{max-width:none;width:100%}
  .filtros .btn{grid-column:1/-1}
}
/* =================== v138: Precios, vista simple o completa =================== */
.pr-vista{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 12px}
.pr-vista .seg{flex:none}
body.precios-simple .solo-completo{display:none!important}
body:not(.precios-simple) .solo-simple{display:none!important}
.pr-solo{border:1px dashed var(--line);border-radius:12px;padding:10px 14px;margin:12px 0 0;font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.pr-solo strong{color:var(--ink)}
.pr-pasos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.pr-paso{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 14px;display:grid;gap:4px;align-content:start}
.pr-paso b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:13px}
.pr-paso.hecho b{background:var(--green)}
.pr-paso strong{font-size:14px}
.pr-paso span{font-size:12.5px;color:var(--muted)}
.pr-paso .btn{justify-self:start;margin-top:4px}
@media (max-width:820px){.pr-pasos{grid-template-columns:1fr}}

/* ===== v139 — Publicar productos nuevos ===== */
.pb-hint{display:flex;gap:10px 14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;margin:0 0 12px;border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-soft)}
.pb-hint-t{flex:1 1 380px;font-size:14px;line-height:1.45;min-width:0}
.pb-hint-trabajo{display:inline-block;font-weight:600;color:var(--brand)}
.pb-hint-acc{display:flex;gap:8px;flex-wrap:wrap}
.pb-fila{display:flex;gap:10px;align-items:flex-start;min-width:0}
.pb-fila-t{min-width:0;flex:1}
.pb-tilde{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;margin:-2px 0 0 -4px;cursor:pointer}
.pb-tilde input{width:20px;height:20px;cursor:pointer;accent-color:var(--brand)}
.pill-btn{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.pill-btn:hover{filter:brightness(.96);text-decoration:underline}
.pb-selbar{position:sticky;bottom:12px}

.pb-dlg{width:min(980px,96vw)}
/* (en el celular, una fila con desplazamiento horizontal quedaba en 0 de alto dentro de la ventana) */
.pb-dlg .dlg-body{grid-auto-rows:max-content}
.pb-dlg .hscroll{margin-left:0;margin-right:0;padding-left:0;padding-right:0;margin-bottom:0}
.pb-dlg[open]{height:min(92vh,960px)}
.pb-head{display:flex;flex-direction:column;gap:2px}
.pb-dlg span.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px;flex:none}
.pb-trabajo{border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-soft);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.pb-trabajo.fin.ok{background:var(--green-soft);border-color:transparent}
.pb-trabajo.fin.warn{background:var(--orange-soft);border-color:transparent}
.pb-trabajo-t{display:flex;align-items:center;gap:2px;min-width:0;font-size:14px}
.pb-trabajo-t .ellipsis{max-width:100%}
.pb-trabajo-p{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pb-barra{height:6px;border-radius:4px;background:color-mix(in srgb,var(--brand) 18%,var(--surface));overflow:hidden}
.pb-barra div{height:100%;background:var(--brand);transition:width .3s}
.pb-aviso{display:grid;gap:8px}
.pb-primera{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--orange-soft);font-size:14px;line-height:1.4}
.pb-primera > span{flex:1 1 320px}
.pb-ajustes-box{border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.pb-ajustes-box summary{cursor:pointer;font-weight:600;font-size:14px}
.pb-ajustes{padding-top:10px}
.pb-aj-campos{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.pb-aj-campos label{width:auto}
.pb-aj-campos input{width:110px}
.pb-aj-campos select{width:auto;min-width:170px}
.pb-aj-nota{margin:8px 0 0}
.pb-lista{display:grid;gap:10px}
.pb-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.pb-card.st-aprobado,.pb-card.st-en_cola,.pb-card.st-publicando{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.pb-card.st-publicado{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.pb-card.st-error{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}
.pb-card-toggle{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;border:0;background:none;padding:10px 12px;text-align:left;cursor:pointer;color:inherit;font:inherit}
.pb-card-toggle:hover{background:var(--surface-2)}
.pb-card-t{display:grid;gap:2px;min-width:0}
.pb-card-t .t-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-card-t .t-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-portada{width:48px;height:48px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:22px}
.pb-portada img{width:100%;height:100%;object-fit:cover}
.pb-chev{color:var(--muted);transition:transform .15s}
.pb-card.abierta .pb-chev{transform:rotate(180deg)}
.pb-card-b{padding:4px 14px 14px;display:grid;gap:12px;border-top:1px solid var(--line)}
.pb-card-b > :first-child{margin-top:10px}
.pb-prep{display:flex;align-items:center;margin:10px 0 0}
.pb-sec{display:grid;gap:8px}
.pb-sec-t{font-weight:650;font-size:14px}
.pb-sec-t .t-sub{font-weight:400;margin-left:6px}
.pb-et{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;font-size:13px;font-weight:600}
.pb-et .t-sub{font-weight:400}
.pb-cuenta{margin-left:auto;font-weight:400;color:var(--muted);font-size:12px}
.pb-cuenta.pasado{color:var(--red);font-weight:700}
.pb-campo{gap:5px}
.pb-fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.pb-foto{position:relative;margin:0;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.pb-foto img{width:100%;height:100%;object-fit:cover;display:block}
.pb-foto.chica{outline:2px solid var(--orange);outline-offset:-2px}
.pb-foto.rota{outline:2px solid var(--red);outline-offset:-2px}
.pb-foto.rota::after{content:"No se ve";position:absolute;inset:auto 0 0 0;background:var(--red);color:#fff;font-size:11px;text-align:center;padding:2px}
.pb-foto-b{position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(15,17,23,.62);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pb-foto-b.x{left:auto;right:4px}
.pb-foto-b:hover{background:rgba(15,17,23,.85)}
.pb-foto-portada{position:absolute;left:0;right:0;bottom:0;background:var(--brand);color:var(--brand-ink);font-size:11px;font-weight:700;text-align:center;padding:2px}
.pb-foto-enlace{position:absolute;bottom:4px;right:4px;font-size:12px;background:rgba(255,255,255,.85);border-radius:6px;padding:0 3px}
.pb-foto:first-child .pb-foto-enlace{bottom:20px}
.pb-sin-fotos{grid-column:1/-1;margin:0;padding:12px;border:1px dashed var(--red);border-radius:10px;color:var(--red);text-align:center}
.pb-fotos-acc{display:flex;gap:8px;flex-wrap:wrap}
.pb-enlace{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pb-enlace input{flex:1 1 240px;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:8px 10px;min-height:38px}
.pb-buscar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:-4px}
.pb-buscar input{flex:1 1 220px}
.pb-buscar-res{display:flex;gap:6px;flex-wrap:wrap;flex-basis:100%}
.pb-ficha{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.pb-attr{display:grid;gap:4px;padding:8px;border-radius:10px;border:1px solid transparent}
.pb-attr.ia{background:color-mix(in srgb,#F5C518 16%,var(--surface));border-color:color-mix(in srgb,#E0A800 55%,var(--line))}
.pb-attr.falta{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 40%,var(--line))}
.pb-origen{font-size:11px;font-weight:700;padding:1px 6px;border-radius:8px;background:#F5C518;color:#3B2F00;white-space:nowrap}
.pb-origen.ml{background:var(--blue-soft);color:var(--blue)}
.pb-origen.falta{background:var(--red);color:#fff}
.pb-sin-gtin{font-size:13px}
.pb-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
.pb-tipo{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:400}
.pb-tipo input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand);flex:none}
.pb-tipo > span{display:grid;gap:2px}
.pb-tipo:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.pb-stock{max-width:160px}
.pb-desc summary{cursor:pointer;font-weight:650;font-size:14px}
.pb-desc textarea{margin-top:8px;font-size:14px;line-height:1.45;resize:vertical}
.pb-faltan,.pb-avisos{margin:0;padding:8px 12px 8px 28px;border-radius:10px;font-size:13.5px;line-height:1.4}
.pb-faltan{background:var(--red-soft);color:var(--red)}
.pb-avisos{background:var(--orange-soft);color:var(--ink)}
.pb-card-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pb-card-f .grow{flex:1}
.pb-precios{font-size:13.5px}
.pb-resultados{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.pb-res{display:grid;gap:3px;padding:8px 10px;border-radius:10px;background:var(--green-soft);font-size:14px}
.pb-res.pausada{background:var(--orange-soft)}
.pb-nota{color:var(--ink);line-height:1.4}
.pb-error{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--red-soft);color:var(--red);font-weight:600;line-height:1.4}
.pb-foot{align-items:center}
.pb-foot #pb-pie-nota{flex:1;text-align:right}
.pb-foot-acc{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){
  .pb-dlg[open]{height:min(94dvh,calc(100dvh - 16px))}
  .pb-card-toggle{grid-template-columns:44px minmax(0,1fr) auto;padding:10px}
  .pb-card-toggle .pill{grid-column:2/4;justify-self:start;grid-row:2}
  .pb-chev{grid-row:1;grid-column:3}
  .pb-portada{width:44px;height:44px;grid-row:1/3}
  .pb-card-b{padding:2px 12px 12px}
  .pb-ficha{grid-template-columns:1fr}
  .pb-fotos-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pb-stock{max-width:none}
  .pb-foot #pb-pie-nota{text-align:left;flex-basis:100%}
  .pb-foot-acc{flex:1 1 100%}
  .pb-foot-acc .btn{flex:1 1 auto}
  .pb-card-f .btn{flex:1 1 auto}
  .pb-card-f .grow{flex-basis:100%;order:-1}
  .pb-hint-acc{flex:1 1 100%}
  .pb-hint-acc .btn{flex:1 1 auto}
  .pb-selbar{flex-wrap:wrap}
  .pb-selbar > span:last-child{flex:1 1 100%}
  .pb-selbar .btn{flex:1 1 auto}
}

/* ===== v140 — «Disponible en Profesional» y la demo pública ===== */
.candado{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px;margin:0 0 14px;border-style:dashed;border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-soft)}
.candado-ico{font-size:24px;line-height:1}
.candado-txt{display:grid;gap:4px;justify-items:start}
.candado-txt p{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
label.con-candado{opacity:.6}
label.con-candado::after{content:"🔒 Disponible en el plan Profesional";font-size:12px;font-weight:700;color:var(--brand)}
.demo-pub{display:flex;gap:10px 14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 14px;margin:0 0 14px;border-radius:12px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));font-size:14px;line-height:1.4}
.demo-pub-acc{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){
  .candado{grid-template-columns:auto minmax(0,1fr)}
  .candado .btn{grid-column:1/-1;justify-content:center}
  .demo-pub-acc{flex:1 1 100%}
  .demo-pub-acc .btn{flex:1 1 auto}
}
/* v140: enlaces para compartir la página en cada red */
.sit-links{display:grid;gap:6px}
.sit-link{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:9px}
.sit-link-n{font-weight:600;font-size:14px}
.sit-link code{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){.sit-link{grid-template-columns:minmax(0,1fr) auto}.sit-link code{grid-column:1/-1;grid-row:2}}

/* ===== v141 — Ayuda y primeros pasos ===== */
#ayuda-btn{font-weight:800;font-size:16px}
.dlg-ayuda{width:min(720px,96vw)}
.dlg-ayuda[open]{height:min(86vh,820px)}
.dlg-ayuda .dlg-body{grid-auto-rows:max-content}
.ayuda-grupo{display:grid;gap:6px}
.ayuda-grupo h4{margin:6px 0 2px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;gap:8px;align-items:center}
.ayuda-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}
.ayuda-item summary{cursor:pointer;font-weight:600}
.ayuda-item p{margin:8px 0 0;font-size:14px;line-height:1.5}
.pasos-ini{padding:14px 16px;margin:0 0 16px;border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
.pasos-cab{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pasos-barra{height:6px;border-radius:4px;background:var(--surface-2);margin:10px 0 6px;overflow:hidden}
.pasos-barra div{height:100%;background:var(--brand)}
.pasos-lista{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.pasos-lista li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.pasos-lista li:first-child{border-top:0}
.pasos-marca{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.pasos-lista li.hecho .pasos-marca{background:var(--green);border-color:var(--green);color:#fff}
.pasos-lista li.hecho strong{color:var(--muted);font-weight:500;text-decoration:line-through;text-decoration-color:var(--line)}
.pasos-lista li.actual .pasos-marca{border-color:var(--brand)}
.pasos-txt{display:grid;gap:2px;min-width:0}
@media (max-width:820px){
  .pasos-lista li{grid-template-columns:24px minmax(0,1fr)}
  .pasos-lista li .btn{grid-column:2;justify-self:start}
  #ayuda-btn{display:none}
}

/* v142: el informe que se usa para armar el PDF (fuera de la pantalla) */
.informe-pdf-fuente{position:absolute;left:-10000px;top:0;width:820px}
