
:root{
  color-scheme:light dark;
  --bg:#F2F5F9;--surface:#FFFFFF;--surface-2:#EAF0F6;
  --text:#0B1220;--muted:#536174;--line:#D5DEE9;
  --accent:#4F46E5;--accent-soft:#EEF0FF;
  --good:#087A55;--good-soft:#E8F7F0;
  --warn:#A95C00;--warn-soft:#FFF2DF;
  --bad:#C43D4D;--bad-soft:#FDECEF;
  --info:#2563EB;--info-soft:#EAF2FF;
  --brand:var(--accent);
  --radius:16px;
  --shadow:0 10px 30px rgba(15,23,42,.09);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.b-agentes{--brand:#5B5CE2}.b-cursovivo{--brand:#E86A3A}.b-neuroflow{--brand:#7C3AED}.b-spc{--brand:#0E8A78}.b-habia-una-vez-in-english{--brand:#D9901A}.b-bilingual-blessing{--brand:#C03A86}.b-webapps-zeroapi{--brand:#2563EB}.b-operacion-comercial-ia{--brand:#0F766E}.b-general{--brand:#64748B}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;font-size:1rem;line-height:1.5;letter-spacing:-.005em}
a{color:inherit}
button,input{font:inherit}
h1,h2,h3{text-wrap:balance}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:fixed;left:1rem;top:-5rem;background:var(--text);color:var(--surface);padding:.75rem 1rem;border-radius:.5rem;z-index:50}
.skip:focus{top:1rem}

/* Shell / rail / topbar */
.shell{min-height:100vh}
.rail{display:none}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:750;letter-spacing:-.02em;text-decoration:none;color:var(--text)}
.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:var(--text);color:var(--surface);font-size:.72rem;font-weight:800}
.logout{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:.6rem;padding:.5rem .85rem;font-size:.8125rem;font-weight:600;cursor:pointer;min-height:44px}
.logout:hover{color:var(--text);border-color:var(--muted)}

/* Main + page head */
.main{width:min(100%,64rem);margin:0 auto;padding:1.25rem 1rem 6.5rem}
.page-head{margin:0 0 1.5rem}
.page-greeting{margin:0 0 .35rem;font-size:.9375rem;color:var(--muted);font-weight:600}
.page-head h1{font-size:1.875rem;line-height:1.08;letter-spacing:-.03em;margin:0;font-weight:800}
.page-head p{max-width:44rem;color:var(--muted);margin:.5rem 0 0;line-height:1.55;font-size:1rem}
.biz-id{display:flex;align-items:center;gap:.75rem}
.biz-id .mono{width:2.6rem;height:2.6rem;border-radius:.75rem;font-size:.95rem}
.biz-status{margin:.55rem 0 0;font-size:.9375rem;color:var(--muted);font-weight:600}

/* Notice (atención) — SIN border-left; borde 1px completo + tinte semántico + icono */
.notice{display:flex;gap:.7rem;align-items:flex-start;border:1px solid color-mix(in srgb,var(--warn) 32%,var(--line));background:var(--warn-soft);color:var(--text);border-radius:var(--radius);padding:.9rem 1rem;font-size:.9375rem;line-height:1.5;margin:0 0 1.5rem}
.notice a{color:var(--warn);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.notice-error{border-color:color-mix(in srgb,var(--bad) 34%,var(--line));background:var(--bad-soft)}
.notice-error a{color:var(--bad)}
.notice-ico{flex:0 0 auto;width:1.25rem;height:1.25rem;color:var(--warn);margin-top:.05rem}
.notice-error .notice-ico{color:var(--bad)}
.module-failure{margin:0 0 1.5rem;padding:1rem;background:var(--bad-soft);border:1px solid color-mix(in srgb,var(--bad) 30%,var(--line));border-radius:var(--radius)}
.module-failure-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.module-failure h2{margin:0;font-size:1.0625rem}
.module-failure p{margin:.45rem 0 0;color:var(--muted);font-size:.875rem}

/* Módulo financiero — superficie protagonista (única con sombra + acento) */
.money{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.15rem 1.05rem;margin:0 0 1.75rem}
.money-net-label{font-size:.875rem;color:var(--muted);font-weight:650;margin:0}
.money-net{display:block;margin:.3rem 0 .1rem;font-size:2.5rem;line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.money-net.missing{font-size:1.375rem;font-weight:700;letter-spacing:-.01em;color:var(--muted)}
.money-fact{margin:.15rem 0 0;font-size:.875rem;color:var(--muted)}
.money-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.money-cell{min-width:0}
.money-cell-label{display:block;font-size:.8125rem;color:var(--muted);font-weight:600}
.money-cell-value{display:block;margin-top:.2rem;font-size:1.125rem;font-weight:750;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.money-cell-value.missing{font-size:1rem;font-weight:650;color:var(--muted)}
.money-fresh{margin-top:1rem}

/* Frescura amigable + estado semántico */
.fresh{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--muted);font-size:.8125rem}
.status{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.24rem .55rem;font-size:.75rem;font-weight:700;border:1px solid transparent;white-space:nowrap}
.status-good{color:var(--good);background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 22%,transparent)}
.status-stale,.status-partial{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 24%,transparent)}
.status-missing,.status-error{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 24%,transparent)}

/* Secciones */
.section{margin-top:2rem}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.section-head h2{font-size:1.375rem;letter-spacing:-.02em;margin:0;font-weight:750}
.section-head a{font-size:.875rem;color:var(--accent);font-weight:650;text-decoration:none;white-space:nowrap}
.section-head a:hover{text-decoration:underline;text-underline-offset:2px}
.section-count{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .55rem;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.8125rem;font-weight:750;font-variant-numeric:tabular-nums}

.wa-home{margin:0 0 1.75rem;padding:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.wa-home .section-head{margin-bottom:.8rem}
.wa-home-subhead{margin:1rem 0 .55rem;font-size:1.0625rem;letter-spacing:-.01em}
.wa-home .fresh,.wa-overview+.section .fresh{margin-bottom:0}
.wa-counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0}
.wa-counters div{min-width:0;padding:.7rem .75rem;border-radius:.75rem;background:var(--surface-2)}
.wa-counters dt{color:var(--muted);font-size:.75rem;font-weight:650;line-height:1.3}
.wa-counters dd{margin:.2rem 0 0;font-size:1.35rem;line-height:1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.wa-overview{margin:0;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.wa-escalation-list,.wa-conversation-list{display:grid;gap:.6rem}
.wa-escalation{padding:.9rem 1rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--warn) 24%,var(--line));border-radius:var(--radius)}
.wa-item-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}
.wa-item-person,.wa-conversation-person{min-width:0}
.wa-item-person strong,.wa-item-person span,.wa-conversation-person strong,.wa-conversation-person span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-item-person strong,.wa-conversation-person strong{font-size:.9375rem}
.wa-item-person span,.wa-conversation-person span{color:var(--muted);font-size:.8125rem;margin-top:.05rem}
.wa-item-head time{color:var(--muted);font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.wa-reason{margin:.65rem 0 0;color:var(--warn);font-size:.875rem;font-weight:750}
.wa-summary{margin:.25rem 0 0;font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
.wa-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wa-suggestion{margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--line)}
.wa-suggestion summary{cursor:pointer;color:var(--accent);font-size:.875rem;font-weight:650}
.wa-suggestion p{margin:.5rem 0 0;padding:.7rem .75rem;border-radius:.7rem;background:var(--accent-soft);font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
.wa-conversation{padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.wa-conversation-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center}
.wa-state{grid-column:1/-1;justify-self:start;display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 11%,var(--surface));color:color-mix(in srgb,var(--brand) 74%,var(--text));font-size:.75rem;font-weight:750}
.wa-conversation-facts{display:flex;flex-wrap:wrap;gap:.4rem .7rem;margin-top:.7rem;padding-top:.65rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}
.wa-human,.wa-agent{display:inline-flex;padding:.13rem .45rem;border-radius:999px;font-weight:700}
.wa-human{color:var(--warn);background:var(--warn-soft)}
.wa-agent{color:var(--good);background:var(--good-soft)}

/* Navegación por lentes — HTML nativo, desplazable en móvil */
.lens-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.15rem 0 .35rem;margin:0 0 1.25rem}
.lens-link{flex:0 0 auto;min-height:44px;display:flex;align-items:center;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);color:var(--muted);font-size:.8125rem;font-weight:650;text-decoration:none}
.lens-link.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--accent-soft);color:var(--accent)}

/* Fuentes planeadas — atenuadas y explicadas, sin esconder el mapa del negocio */
.explained-off-list{display:grid;gap:.6rem}
.explained-off{padding:1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted)}
.explained-off-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.explained-off h3{margin:0;color:var(--text);font-size:1.0625rem}
.explained-off p{margin:.5rem 0 0;line-height:1.5;font-size:.875rem}
.off-badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.2rem .5rem;background:var(--surface);font-size:.75rem;font-weight:700}
.off-trigger{color:var(--text)}

/* Tablas completas de lente */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.data-table{width:100%;border-collapse:collapse;min-width:46rem;font-size:.875rem}
.data-table th,.data-table td{padding:.7rem .8rem;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.data-table th:first-child,.data-table td:first-child,.data-table th:nth-child(2),.data-table td:nth-child(2){text-align:left}
.data-table th{color:var(--muted);font-size:.8125rem;font-weight:700;background:var(--surface-2)}
.data-table tbody tr:last-child td{border-bottom:0}
.business-work-list,.business-levers-list{display:grid;gap:1.25rem}
.business-work,.business-levers{padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.business-work h3,.business-levers h3{margin:0;font-size:1.0625rem}

/* Monograma de marca */
.mono{display:grid;place-items:center;flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:.65rem;background:var(--brand);color:#fff;font-size:.82rem;font-weight:800;letter-spacing:-.01em}
.mono-sm{width:1.75rem;height:1.75rem;border-radius:.5rem;font-size:.7rem}

/* Foco ahora — filas tocables, sin tarjetas idénticas */
.foco-list{display:grid;gap:.5rem}
.foco-row{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.75rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--text)}
.foco-row:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.foco-body{min-width:0;flex:1}
.foco-name{display:block;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}
.foco-step{display:block;margin-top:.15rem;font-size:.875rem;color:var(--muted);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.foco-star{color:var(--warn)}
.foco-arrow{flex:0 0 auto;color:var(--muted)}

/* Fechas */
.date-list{display:grid;gap:.6rem}
.date-row{display:flex;align-items:baseline;gap:.9rem;padding:.85rem .95rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.date-when{flex:0 0 auto;font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:3.4rem}
.date-when small{display:block;font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:0}
.date-main{min-width:0;flex:1}
.date-desc{display:block;font-size:1rem;line-height:1.4;font-weight:600}
.date-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem;align-items:center;font-size:.8125rem;color:var(--muted)}
.tag{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.16rem .5rem;background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:color-mix(in srgb,var(--brand) 72%,var(--text));font-weight:650;font-size:.75rem}

/* Movimientos + decisiones */
.move-list,.decision-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.move-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .2rem;border-top:1px solid var(--line)}
.move-row:first-child{border-top:0}
.move-body{min-width:0;flex:1;overflow:hidden}
.move-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.9375rem;line-height:1.35;font-weight:650;overflow-wrap:anywhere}
.move-sub{margin:.15rem 0 0;color:var(--muted);font-size:.8125rem}
.move-when{flex:0 0 auto;color:var(--muted);font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.panel-flat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem 1rem}
.inbox-line{display:flex;align-items:center;gap:.7rem;padding:.9rem 0 .4rem}
.inbox-count{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.inbox-copy{color:var(--muted);font-size:.875rem}
.decision-list li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.7rem;padding:.6rem .2rem;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.4}
.decision-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem}
.sub-head{margin:1.1rem 0 .3rem;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}

/* Bloques de carpeta (Qué se movió) */
.block-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.block-item{padding:.8rem .2rem;border-top:1px solid var(--line)}
.block-item:first-child{border-top:0}
.block-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
.block-title{min-width:0;font-size:.9375rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.block-when{flex:0 0 auto;color:var(--muted);font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.block-sample{margin:.3rem 0 0;color:var(--muted);font-size:.8125rem;line-height:1.45;overflow-wrap:anywhere}

/* WorkSteps — el corazón */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.step{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.75rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.step-blocked{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 26%,var(--line))}
.step-num{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.55rem;background:var(--surface-2);color:var(--muted);font-size:.8125rem;font-weight:800;font-variant-numeric:tabular-nums}
.step-star .step-num{background:var(--accent-soft);color:var(--accent)}
.step-main{min-width:0}
.step-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;line-height:1.35}
.step-star-ico{color:var(--warn);margin-right:.15rem}
.step-rationale{margin:.3rem 0 0;color:var(--muted);font-size:.9375rem;line-height:1.45}
.step-unlocks{margin:.4rem 0 0;font-size:.875rem;color:var(--muted)}
.step-unlocks b{color:var(--text);font-weight:650}
.step-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;border:1px solid transparent}
.chip-beto{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}
.chip-solo{color:var(--muted);background:var(--surface-2);border-color:var(--line)}
.chip-block{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 26%,transparent)}
.chip-min{color:var(--muted);background:transparent;border-color:var(--line)}
.step-note{margin-top:.5rem}
.step-note summary{cursor:pointer;color:var(--muted);font-size:.8125rem;font-weight:600}
.step-note p{margin:.4rem 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
.steps-done{margin-top:.6rem}
.steps-done summary{cursor:pointer;color:var(--muted);font-size:.875rem;font-weight:600;padding:.5rem 0}
.steps-done .steps{margin-top:.55rem}
.step-done .step-title{color:var(--muted);font-weight:600}
.step-done .step-num{background:var(--good-soft);color:var(--good)}

/* Levers 4x4 */
.lever-grid{display:grid;gap:.75rem;grid-template-columns:1fr}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}
.card h2{font-size:1.0625rem;letter-spacing:-.01em;margin:0;font-weight:700}
.lever-name{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.lever-table{width:100%;border-collapse:collapse;margin-top:.8rem;font-size:.9375rem}
.lever-table th,.lever-table td{text-align:right;padding:.5rem .25rem;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.lever-table th{color:var(--muted);font-weight:600}
.lever-table th:first-child,.lever-table td:first-child{text-align:left}
.quiet-line{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5;padding:.9rem 1rem;border:1px dashed var(--line);border-radius:var(--radius)}
.lever-note{margin:.6rem 0 0;font-size:.875rem;line-height:1.45;color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 24%,var(--line));border-radius:.7rem;padding:.6rem .75rem}

/* Actividad — agrupada por día */
.day-group{margin-top:1.4rem}
.day-head{margin:0 0 .55rem;font-size:.9375rem;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:-.01em}
.event-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:baseline;padding:.85rem .95rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.event-kind{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2);border-radius:.4rem;padding:.18rem .4rem;align-self:center}
.event-kind.k-git{color:var(--info)}
.event-body{min-width:0}
.event-title{font-size:.9375rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.event-sub{margin:.25rem 0 0;color:var(--muted);font-size:.8125rem;line-height:1.4}
.event-when{color:var(--muted);font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}

/* Estado de datos */
.health-list{display:grid;gap:.6rem}
.health-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.health-attention{border-color:color-mix(in srgb,var(--warn) 30%,var(--line));background:var(--warn-soft)}
.health-attention.health-bad{border-color:color-mix(in srgb,var(--bad) 30%,var(--line));background:var(--bad-soft)}
.health-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.health-source{font-size:.9375rem;font-weight:700;overflow-wrap:anywhere}
.health-cadence{margin:.4rem 0 0;color:var(--muted);font-size:.8125rem;line-height:1.45}
.health-compact{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;padding:.7rem .95rem;background:var(--surface);border:1px solid var(--line);border-radius:.7rem}
.health-compact .health-source{font-size:.875rem;font-weight:600}
.health-compact time{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}
.tech-details{margin-top:.75rem}
.tech-details summary{cursor:pointer;color:var(--muted);font-size:.8125rem;font-weight:600}
.kv{display:grid;grid-template-columns:minmax(6rem,.5fr) 1fr;gap:.35rem .8rem;margin:.7rem 0 0;font-size:.8125rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.source{overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--muted);font-size:.8125rem;margin-top:.6rem}

.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:1rem;color:var(--muted);font-size:.9375rem;line-height:1.5}

/* Bottom nav — 64px, SVG inline */
.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(6,1fr);height:calc(64px + env(safe-area-inset-bottom));padding:0 max(.35rem,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(.35rem,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line)}
.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;text-decoration:none;color:var(--muted);font-size:.8125rem;font-weight:600}
.nav-ico{width:22px;height:22px;display:block}
.nav-link.active{color:var(--accent)}
.nav-link.active .nav-ico{color:var(--accent)}

/* Login / error */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}
.login-card{width:min(100%,25rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.login-card h1{font-size:1.875rem;letter-spacing:-.03em;margin:.9rem 0 .35rem;font-weight:800}
.login-card p{color:var(--muted);line-height:1.5;margin:.2rem 0 1.2rem}
.field{display:grid;gap:.45rem;font-size:.875rem;font-weight:650}
.field input{width:100%;border:1px solid var(--line);border-radius:.75rem;background:var(--bg);color:var(--text);padding:.85rem;min-height:44px}
.button{width:100%;border:0;border-radius:.75rem;padding:.9rem 1rem;background:var(--accent);color:#fff;font-weight:700;margin-top:.9rem;cursor:pointer;min-height:48px}
.error-copy{color:var(--bad)!important;font-weight:600}

/* Tablet */
@media(min-width:700px){
  .main{padding:1.9rem 1.6rem 3rem}
  .page-head h1{font-size:2.25rem}
  .lever-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foco-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .date-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wa-counters{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wa-conversation-main{grid-template-columns:auto minmax(0,1fr) auto}
  .wa-state{grid-column:auto;justify-self:end}
}

/* Desktop rail */
@media(min-width:1000px){
  .shell{display:grid;grid-template-columns:16rem minmax(0,1fr)}
  .rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.15rem;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto}
  .rail .brand{padding:.25rem .35rem 1.1rem}
  .rail-nav{display:grid;gap:.15rem}
  .rail-nav .nav-link{flex-direction:row;justify-content:flex-start;gap:.65rem;padding:.6rem .7rem;font-size:.9375rem;border-radius:.6rem;min-height:44px}
  .rail-nav .nav-link.active{background:var(--accent-soft)}
  .rail-section{margin:1.2rem .7rem .45rem;font-size:.8125rem;color:var(--muted);font-weight:700}
  .rail-business{display:flex;align-items:center;gap:.6rem;padding:.45rem .7rem;text-decoration:none;color:var(--muted);font-size:.9375rem;border-radius:.55rem}
  .rail-business:hover{background:var(--surface-2);color:var(--text)}
  .rail-foot{margin-top:auto;padding-top:.8rem}
  .topbar{display:none}
  .main{max-width:66rem;padding:2.1rem 2.2rem 3rem}
  .bottom-nav{display:none}
  .page-head h1{font-size:2.5rem}
}

/* Dark */
@media(prefers-color-scheme:dark){
  :root{
    --bg:#0B1016;--surface:#141B24;--surface-2:#1C2530;
    --text:#EDF2F7;--muted:#9FB0C0;--line:#2A3644;
    --accent:#A5B4FC;--accent-soft:#232748;
    --good:#4FD6A0;--good-soft:#123227;
    --warn:#F0B460;--warn-soft:#372611;
    --bad:#FF8F87;--bad-soft:#3A1B1F;
    --info:#6EA8FE;--info-soft:#182740;
    --shadow:0 14px 36px rgba(0,0,0,.32);
  }
  .brand-mark{background:var(--surface-2);color:var(--text)}
}

/* Motion — solo estado, product register */
@media(prefers-reduced-motion:no-preference){
  .foco-row,.step,.event-row,.nav-link,.logout,.button{transition:border-color .18s ease,background-color .18s ease,color .18s ease}
}
