/* CORREO PRO — estilos */
:root{
  --fondo:#f4f5f7; --panel:#ffffff; --borde:#e3e5e9; --texto:#1d2129; --texto2:#6b7280;
  --acento:#0f6bd7; --acento-suave:#e8f1fd; --oro:#c9a24b;
  --ok:#1a9e5c; --aviso:#e08a00; --rojo:#d5433c; --vip:#c9a24b;
  --lateral:#171c26; --lateral-texto:#aeb6c4;
  --radio:10px; --sombra:0 1px 3px rgba(20,25,40,.07);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,sans-serif;background:var(--fondo);color:var(--texto);font-size:14.5px}
a{color:var(--acento);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- estructura ---- */
.app{display:flex;min-height:100vh}
.lateral{width:225px;background:var(--lateral);color:var(--lateral-texto);padding:18px 0;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.logo{padding:4px 20px 16px;font-size:19px;font-weight:700;color:#fff;letter-spacing:.5px}
.logo span{color:var(--oro)}
.lateral nav a{display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--lateral-texto);font-size:14px}
.lateral nav a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.lateral nav a.activo{background:rgba(255,255,255,.09);color:#fff;border-left:3px solid var(--oro);padding-left:17px}
.lateral .pie{margin-top:auto;padding:14px 20px;font-size:12.5px;border-top:1px solid rgba(255,255,255,.08)}
.lateral .pie a{color:var(--lateral-texto)}
/* árbol de cuentas (columna izquierda estilo Outlook) */
.mute-lat{color:rgba(255,255,255,.4);font-size:11px;margin-left:auto}
.arbol{margin:2px 0 6px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:6px}
.arbol details{margin:0}
.arbol summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:0 0 0 12px;position:relative}
.arbol summary::-webkit-details-marker{display:none}
.arbol summary::before{content:"▸";position:absolute;left:14px;top:9px;font-size:11px;color:rgba(255,255,255,.45)}
.arbol details[open] summary::before{content:"▾"}
.arbol summary a{flex:1;display:flex;align-items:center;gap:6px;padding:7px 14px 7px 16px;color:#e6e9ef;font-size:13px;font-weight:600;overflow:hidden}
.arbol summary a .mail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arbol summary.activo{background:rgba(255,255,255,.07)}
.arbol summary.activo a{color:#fff}
.arbol details > a{display:flex;align-items:center;gap:7px;padding:5px 14px 5px 38px;font-size:12.5px;color:var(--lateral-texto)}
.arbol details > a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.arbol details > a.activo{background:rgba(255,255,255,.09);color:#fff;border-left:3px solid var(--oro);padding-left:35px}
.arbol .cnt{margin-left:auto;font-size:11px;font-weight:700;color:#fff;background:rgba(255,255,255,.14);border-radius:9px;padding:0 6px}
.arbol .cnt.rojo{background:var(--rojo)}
/* correos sin responder: se marcan a la vista */
table.lista tr.pendiente td:first-child{border-left:4px solid var(--rojo)}
table.lista tr.pendiente td a{text-decoration:underline;text-decoration-color:#e8a3a0;text-underline-offset:3px}
.chip.pend{background:#fdeeee;color:#a03430}
/* carpetas plegables en la columna izquierda */
.arbol details.carpetas-plegable > summary{padding:5px 14px 5px 38px;font-size:12.5px;font-weight:500;color:var(--lateral-texto);cursor:pointer;display:flex;align-items:center;gap:6px}
.arbol details.carpetas-plegable > summary::before{content:"▸";position:static;font-size:11px;color:rgba(255,255,255,.45)}
.arbol details.carpetas-plegable[open] > summary::before{content:"▾"}
.arbol details.carpetas-plegable > summary small{color:rgba(255,255,255,.4)}
.arbol details.carpetas-plegable > summary:hover{background:rgba(255,255,255,.06);color:#fff}
/* mis últimos pasos */
.btn-pasos{position:fixed;right:18px;bottom:18px;z-index:150;width:46px;height:46px;border-radius:50%;border:none;background:var(--lateral);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.btn-pasos:hover{background:#26304a}
.panel-pasos{position:fixed;top:0;right:0;height:100vh;width:min(420px,94vw);background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .2s;z-index:160;padding:16px 18px;overflow-y:auto;font-size:13.5px}
.panel-pasos.abierto{transform:none}
.pp-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:15px}
.cerrar-pp{border:1px solid var(--borde);background:#fff;border-radius:50%;width:30px;height:30px;cursor:pointer}
ul.pasos{list-style:none;margin:0 0 12px;padding:0}
ul.pasos li{display:grid;grid-template-columns:44px 22px 1fr;gap:6px;padding:6px 0;border-bottom:1px solid var(--borde);align-items:start;line-height:1.35}
ul.pasos .hora{color:var(--texto2);font-size:12px;white-space:nowrap}
ul.pasos .ic{text-align:center}
.tarjeta ul.pasos li{grid-template-columns:82px 22px 1fr}
@media (max-width:900px){.btn-pasos{bottom:14px;right:14px}}
/* arrastrar y soltar correos */
#tabla-bandeja tr[draggable]{cursor:grab}
#tabla-bandeja tr.arrastrando td{opacity:.45}
.drag-fantasma{position:fixed;top:-100px;left:-100px;background:var(--acento);color:#fff;padding:5px 12px;border-radius:14px;font-size:12.5px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.25)}
body.arrastrando-correos .soltar{outline:1px dashed rgba(15,107,215,.55);outline-offset:-1px}
.arbol .soltar.sobre,.btn.soltar.sobre{background:var(--acento)!important;color:#fff!important;outline:2px solid #fff}
/* panel de subcarpetas (Clientes con muchas empresas) */
.bandeja-cuerpo.con-sub{display:grid;grid-template-columns:250px 1fr;gap:14px;align-items:start}
.panel-sub{background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:10px;position:sticky;top:12px;max-height:calc(100vh - 24px);display:flex;flex-direction:column}
.panel-sub .ps-cab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13.5px}
.panel-sub input{padding:5px 8px;font-size:13px;margin-bottom:6px}
.ps-orden{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.ps-orden a{font-size:11.5px;padding:2px 8px;border-radius:12px;background:#eef0f3;color:var(--texto2)}
.ps-orden a.activo{background:var(--acento);color:#fff}
.ps-orden a:hover{text-decoration:none}
#ps-lista{list-style:none;margin:0;padding:0;overflow-y:auto}
#ps-lista li a{display:grid;grid-template-columns:14px 1fr auto;gap:4px 6px;align-items:center;padding:6px 6px;border-radius:6px;color:var(--texto);font-size:13px}
#ps-lista li a:hover{background:var(--acento-suave);text-decoration:none}
#ps-lista li a .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ps-lista li a .cnt{background:var(--rojo);color:#fff;border-radius:9px;font-size:11px;padding:0 6px;font-weight:600}
#ps-lista li a small{grid-column:2/4;font-size:11px}
#ps-lista li a.sobre{background:var(--acento);color:#fff}
.arbol .nh{margin-left:auto;font-size:11px;color:rgba(255,255,255,.5)}
.arbol .nh + .cnt{margin-left:6px}
.panel-filtro{padding:12px 16px}
.panel-filtro .fila-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.chip.pendiente{background:var(--acento-suave);color:#155cab}
@media (max-width:1100px){.bandeja-cuerpo.con-sub{grid-template-columns:1fr}.panel-sub{position:static;max-height:260px}}
/* menú de selección */
.seleccion-barra{display:flex;align-items:center;gap:12px;margin:6px 0;flex-wrap:wrap}
.menu-sel{position:relative}
.menu-sel-lista{position:absolute;top:32px;left:0;z-index:60;background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px 10px;min-width:300px;font-size:13px}
.menu-sel-lista a,.menu-sel-lista label{display:block;padding:5px 6px;border-radius:5px;color:var(--texto);cursor:pointer}
.menu-sel-lista a:hover,.menu-sel-lista label:hover{background:var(--acento-suave);text-decoration:none}
.menu-sel-lista .sep-h{height:1px;background:var(--borde);margin:6px 0}
/* 🧠 decisiones */
.conclusiones ul{margin:0;padding-left:18px}
.conclusiones li{margin:5px 0;line-height:1.45}
.conclusiones li.c-neg{color:#8f2b27}.conclusiones li.c-pos{color:#14663f}.conclusiones li.c-aviso{color:#9c6400;font-weight:600}
table.cascada tr.c-base td,table.cascada tr.c-total td{font-weight:700;background:#fafbfc}
table.cascada tr.c-neg td:last-child{color:var(--rojo)}table.cascada tr.c-pos td:last-child{color:var(--ok)}
.form-clasif select{padding:4px 6px;font-size:12.5px}
/* barra de acciones en lote (bandeja) */
.lote-barra{display:none;align-items:center;gap:8px;flex-wrap:wrap;background:var(--acento-suave);border:1px solid #cfe0f7;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:13px}
.lote-barra.visible{display:flex}
.lote-barra select{width:auto;padding:4px 8px;font-size:12.5px}
table.lista td.chk,table.lista th.chk{width:28px;text-align:center;padding-left:8px;padding-right:0}
.ruta-carpeta{font-weight:400;font-size:14px;color:var(--texto2)}
.carpetas-gestion{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12.5px}
.carpetas-gestion input[type=text]{width:170px;padding:4px 8px;font-size:12.5px}
.carpetas-gestion select{width:auto;padding:4px 8px;font-size:12.5px}
/* resumen por cuenta en el dashboard */
.cuentas-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.cuenta-card{border:1px solid var(--borde);border-radius:var(--radio);padding:10px 12px;background:#fafbfc}
.cuenta-card .cab{margin-bottom:8px;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mini-kpis > *{display:flex;flex-direction:column;background:#fff;border:1px solid var(--borde);border-radius:7px;padding:6px 8px;color:var(--texto)}
.mini-kpis > a:hover{background:var(--acento-suave);text-decoration:none}
.mini-kpis .n{font-size:19px;font-weight:700;line-height:1.1}
.mini-kpis .e{font-size:11px;color:var(--texto2)}
.mini-kpis .alerta .n{color:var(--rojo)}
.mini-kpis .dorado .n{color:var(--vip)}
.cuenta-card .ultimo{margin-top:8px;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.globito{background:var(--rojo);color:#fff;border-radius:9px;font-size:11px;padding:1px 7px;margin-left:auto;font-weight:600}
.globito.ambar{background:var(--aviso)}
.contenido{flex:1;padding:24px 30px;min-width:0}
.cabecera{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.cabecera h1{font-size:21px;margin:0;font-weight:650}
.cabecera .der{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ---- componentes ---- */
.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:16px 18px;margin-bottom:16px}
.tarjeta h2{font-size:15px;margin:0 0 12px;font-weight:650}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:14px 16px}
.kpi .num{font-size:26px;font-weight:700;line-height:1.1}
.kpi .eti{font-size:12.5px;color:var(--texto2);margin-top:3px}
.kpi.alerta .num{color:var(--rojo)}
.kpi.dorado .num{color:var(--vip)}
.kpi.verde .num{color:var(--ok)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1100px){.grid2{grid-template-columns:1fr}}

.btn{display:inline-block;background:var(--acento);color:#fff;border:none;border-radius:7px;padding:8px 15px;font-size:13.5px;cursor:pointer;font-family:inherit;font-weight:550}
.btn:hover{filter:brightness(1.08);text-decoration:none;color:#fff}
.btn.sec{background:#fff;color:var(--texto);border:1px solid var(--borde)}
.btn.peligro{background:var(--rojo)}
.btn.ok{background:var(--ok)}
.btn.mini{padding:4px 10px;font-size:12.5px}
form.inline{display:inline}

table.lista{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra)}
table.lista th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--texto2);padding:10px 12px;border-bottom:1px solid var(--borde);background:#fafbfc}
table.lista td{padding:10px 12px;border-bottom:1px solid var(--borde);vertical-align:top}
table.lista tr:last-child td{border-bottom:none}
table.lista tr.sin-leer{font-weight:650;background:#fdfefe}
table.lista tr:hover td{background:#f6f9fd}

.chip{display:inline-block;border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}
.chip.vip{background:#faf3e0;color:#8a6a1e}
.chip.normal{background:#eef0f3;color:#555}
.chip.baja{background:#f3f4f6;color:#9aa}
.chip.para_ti{background:#fdeeee;color:#a03430}
.chip.auto{background:#e5f6ec;color:#177347}
.chip.borrador{background:#fff3e0;color:#9c6400}
.chip.esperando{background:#e8f1fd;color:#155cab}
.chip.respondido{background:#e5f6ec;color:#177347}
.chip.vencido{background:#fff3e0;color:#9c6400}
.chip.agotado{background:#fdeeee;color:#a03430}
.chip.cerrado{background:#eef0f3;color:#666}
.chip.pendiente{background:#e8f1fd;color:#155cab}
.chip.enviado{background:#e5f6ec;color:#177347}
.chip.cancelado,.chip.descartado{background:#eef0f3;color:#888}
.chip.recontacto{background:#f0e9fb;color:#6636b3}
.chip.programado{background:#e8f1fd;color:#155cab}
.punto-cuenta{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}

.avisos{margin-bottom:14px}
.aviso-flash{padding:10px 14px;border-radius:8px;margin-bottom:8px;font-size:13.5px}
.aviso-flash.ok{background:#e5f6ec;color:#14663f;border:1px solid #bfe6cf}
.aviso-flash.error{background:#fdeeee;color:#8f2b27;border:1px solid #f2c7c4}

/* ---- formularios ---- */
label.campo{display:block;margin-bottom:11px;font-size:13px;color:var(--texto2)}
label.campo b{display:block;color:var(--texto);margin-bottom:4px;font-weight:600;font-size:13px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],select,textarea{
  width:100%;padding:8px 10px;border:1px solid var(--borde);border-radius:7px;font-family:inherit;font-size:14px;background:#fff;color:var(--texto)}
textarea{min-height:130px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acento-suave);border-color:var(--acento)}
.fila-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
fieldset{border:1px solid var(--borde);border-radius:8px;margin:14px 0;padding:12px 14px}
legend{font-size:13px;font-weight:600;padding:0 6px}

/* ---- mensaje / hilo ---- */
.correo-cuerpo{white-space:pre-wrap;line-height:1.6;font-size:14.5px}
.hilo-item{border-left:3px solid var(--borde);padding:8px 14px;margin:10px 0;background:#fafbfc;border-radius:0 8px 8px 0}
.hilo-item .meta{font-size:12.5px;color:var(--texto2);margin-bottom:4px}
.meta-mensaje{font-size:13px;color:var(--texto2);margin-bottom:12px;line-height:1.7}

/* ---- calendario ---- */
.calendario{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden}
.calendario th{padding:8px;font-size:12px;text-transform:uppercase;color:var(--texto2);background:#fafbfc;border:1px solid var(--borde)}
.calendario td{border:1px solid var(--borde);vertical-align:top;height:96px;width:14.28%;padding:5px 6px}
.calendario .dia-num{font-size:12.5px;font-weight:600;color:var(--texto2)}
.calendario td.hoy{background:var(--acento-suave)}
.calendario td.hoy .dia-num{color:var(--acento)}
.evento{display:block;font-size:11.5px;border-radius:5px;padding:2px 6px;margin-top:3px;background:#e8f1fd;color:#155cab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evento.seguimiento{background:#fff3e0;color:#9c6400}
.evento.recontacto{background:#f0e9fb;color:#6636b3}

/* ---- login ---- */
.centro-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--lateral)}
.caja-login{background:#fff;border-radius:14px;padding:34px 38px;width:360px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.caja-login h1{margin:0 0 4px;font-size:22px}
.caja-login .sub{color:var(--texto2);font-size:13px;margin-bottom:18px}
.borrador-caja textarea{min-height:150px}
.buscador{display:flex;gap:6px}
.buscador input{width:210px}
.vacio{color:var(--texto2);text-align:center;padding:30px;font-size:14px}
small.mute{color:var(--texto2)}

/* ---- móvil / app instalada ---- */
.btn-menu{display:none}
@media (max-width: 900px){
  .app{flex-direction:column}
  .lateral{width:100%;height:auto;position:sticky;top:0;z-index:50;padding:8px 0;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}
  .logo{padding:6px 16px;font-size:17px;flex:1}
  .btn-menu{display:inline-block;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:7px;padding:6px 12px;margin-right:12px;font-size:18px;cursor:pointer}
  .lateral nav{display:none;width:100%;border-top:1px solid rgba(255,255,255,.08);margin-top:6px;max-height:70vh;overflow-y:auto}
  .lateral nav.abierto{display:block}
  .lateral nav a{padding:11px 18px;font-size:15px}
  .lateral .pie{display:none}
  .contenido{padding:14px 12px}
  .cabecera h1{font-size:18px}
  .cabecera .der{margin-left:0;width:100%}
  .kpis{grid-template-columns:repeat(2,1fr);gap:8px}
  .kpi .num{font-size:21px}
  .grid2{grid-template-columns:1fr}
  table.lista{display:block;overflow-x:auto;white-space:nowrap}
  .buscador input{width:150px}
  .editor-barra{gap:1px}
  .editor-barra .sel-fuente{max-width:105px}
  .calendario td{height:64px;padding:3px;font-size:11px}
  .evento{font-size:10px;padding:1px 4px}
  .caja-login{width:92vw;padding:26px 22px}
  input,select,textarea{font-size:16px} /* evita el zoom automático de iOS */
}
@media (display-mode: standalone){
  .lateral{padding-top:max(8px, env(safe-area-inset-top))}
}

/* ---- clientes por empresa (CRM) ---- */
.fila-emp{cursor:pointer}
.fila-emp:hover td{background:#f3f7fd}
.logo-emp{width:26px;height:26px;border-radius:6px;vertical-align:middle;margin-right:8px;background:#fff;border:1px solid var(--borde);object-fit:contain}
.logo-emp.grande{width:48px;height:48px;border-radius:10px}
.spark{display:inline-flex;align-items:flex-end;gap:2px;height:26px}
.spark i{display:block;width:7px;background:#0f6bd7;border-radius:2px 2px 0 0;opacity:.85}
.spark i.env{background:#c9a24b}
.salud{display:inline-block;min-width:44px;text-align:center;border-radius:14px;padding:3px 8px;font-weight:700;font-size:12.5px;color:#fff}
.salud.s-alta{background:#1a9e5c}.salud.s-media{background:#e08a00}.salud.s-baja{background:#d5433c}.salud.s-nula{background:#9aa}
.tend{font-weight:700}.tend.up{color:var(--ok)}.tend.down{color:var(--rojo)}
.chip.etapa-activa{background:#e5f6ec;color:#177347}.chip.etapa-enfriando{background:#fff3e0;color:#9c6400}
.chip.etapa-recuperar{background:#fdeeee;color:#a03430}.chip.etapa-recontacto{background:#e8f1fd;color:#155cab}
.chip.etapa-recuperada{background:#faf3e0;color:#8a6a1e}.chip.etapa-descartada{background:#eef0f3;color:#777}
.hoy-lista li{margin:4px 0}
/* cajón lateral (ficha 360) */
.drawer-fondo{position:fixed;inset:0;background:rgba(15,20,30,.45);display:none;z-index:200}
.drawer-fondo.abierto{display:block}
.drawer{position:fixed;top:0;right:0;height:100vh;width:min(960px,96vw);background:var(--fondo);box-shadow:-8px 0 30px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .22s;z-index:201;overflow-y:auto;padding:18px 22px}
.drawer.abierto{transform:none}
.drawer .cerrar{position:sticky;top:0;float:right;background:#fff;border:1px solid var(--borde);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:16px;z-index:2}
.ficha-cab{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.ficha-cab h1{margin:0;font-size:20px}
.ficha-cab .sub{color:var(--texto2);font-size:13px}
.acciones{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:96px 28px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--borde);font-size:13px;align-items:start}
.timeline .f{color:var(--texto2);font-size:12px}
.timeline .ic{text-align:center}
.timeline .hecho{text-decoration:line-through;color:var(--texto2)}
.asuntos span{display:inline-block;background:#eef2f7;border-radius:14px;padding:3px 10px;margin:3px 4px 0 0;font-size:12.5px}
/* kanban */
.kanban{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow-x:auto}
.kcol{background:#eceff3;border-radius:10px;padding:8px;min-height:300px}
.kcol h3{font-size:13px;margin:4px 6px 10px;color:var(--texto2);text-transform:uppercase;letter-spacing:.4px}
.kcard{background:#fff;border:1px solid var(--borde);border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:grab;font-size:13px;box-shadow:var(--sombra)}
.kcard b{display:block;margin-bottom:3px}
.kcard small{color:var(--texto2)}
.kcol.sobre{outline:2px dashed var(--acento)}
@media (max-width:900px){.kanban{grid-template-columns:repeat(6,80vw)}.drawer{width:100vw;padding:12px}.timeline li{grid-template-columns:76px 22px 1fr}}

/* ---- paginación y numeración ---- */
.paginacion{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;font-size:13px;color:var(--texto2)}
.paginacion .sep-p{color:#c5c9d0}
td.num{color:var(--texto2);font-size:12px;text-align:right;white-space:nowrap;width:44px}

/* ---- matriz de facturación ---- */
.heat-fact td,.heat-fact th{text-align:right;white-space:nowrap;font-size:12.5px;padding:6px 7px}
.heat-fact td:first-child,.heat-fact th:first-child{text-align:left}
.heat-fact .trim{background:#eef4f0;border-left:2px solid #cfe3d7;border-right:2px solid #cfe3d7}

/* ---- mapa de calor ---- */
.heatmap{border-collapse:collapse;width:100%}
.heatmap th{font-size:10.5px;color:var(--texto2);padding:3px 2px;font-weight:600;text-align:center}
.heatmap td{border:1px solid #eef0f3;text-align:center;font-size:10px;min-width:26px;height:26px;color:#334;border-radius:3px}
.heatmap td.hm-oscuro{color:#fff}

/* ---- editor enriquecido ---- */
.editor-caja{border:1px solid var(--borde);border-radius:7px;background:#fff;margin-bottom:11px}
.editor-barra{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:6px;border-bottom:1px solid var(--borde);background:#fafbfc;border-radius:7px 7px 0 0}
.editor-barra button{border:1px solid transparent;background:none;border-radius:5px;min-width:28px;height:28px;cursor:pointer;font-size:13px;padding:0 5px;color:var(--texto)}
.editor-barra button:hover{background:#e9edf2;border-color:var(--borde)}
.editor-barra select{width:auto;padding:3px 5px;font-size:12.5px;height:28px}
.editor-barra .sel-fuente{max-width:150px}
.menu-firma-wrap{position:relative;display:inline-flex;align-items:stretch;height:28px;vertical-align:middle}
.editor-barra .btn-firma,.editor-barra .btn-firma-flecha{display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:auto;margin:0;border:1px solid var(--borde);background:#fff;line-height:1;font-size:13px}
.editor-barra .btn-firma{padding:0 9px;font-weight:600;border-radius:5px 0 0 5px}
.editor-barra .btn-firma-flecha{padding:0 7px;border-radius:0 5px 5px 0;border-left:none;font-size:11px;color:var(--texto2)}
.editor-barra .btn-firma:hover,.editor-barra .btn-firma-flecha:hover{background:#e9edf2;border-color:var(--borde)}
.menu-firma{top:30px}
.menu-firma small.g{display:block;padding:5px 8px 2px;color:var(--texto2);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.firma-vista{font-size:12px;max-height:90px;overflow:hidden}
.firma-vista img{max-height:50px}
.firmas-reglas{background:#fafbfc;border:1px solid var(--borde);border-radius:8px;padding:10px 12px}
.menu-firma{position:absolute;top:30px;left:0;z-index:70;background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:6px;min-width:280px;font-size:13px;white-space:nowrap}
.menu-firma a{display:block;padding:6px 8px;border-radius:5px;color:var(--texto)}
.menu-firma a:hover{background:var(--acento-suave);text-decoration:none}
.menu-firma .sep-h{height:1px;background:var(--borde);margin:5px 0}
.editor-barra .sep{width:1px;height:20px;background:var(--borde);margin:0 5px}
.color-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:5px;cursor:pointer;font-size:13px}
.color-btn:hover{background:#e9edf2}
.color-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.editor-zona{padding:10px 12px;outline:none;font-family:Calibri,'Segoe UI',sans-serif;font-size:11pt;line-height:1.45;overflow-y:auto;max-height:440px}
.editor-zona blockquote,.correo-cuerpo-html blockquote{border-left:3px solid #ccc;margin:8px 0 8px 4px;padding-left:10px;color:#555}
.correo-cuerpo-html{line-height:1.5;font-family:Calibri,'Segoe UI',sans-serif;font-size:11pt}
.correo-cuerpo-html img,.editor-zona img{max-width:100%}
.adjuntos-lista{margin-top:14px;padding-top:12px;border-top:1px solid var(--borde);display:flex;flex-wrap:wrap;gap:8px}
.adjunto{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borde);border-radius:7px;padding:6px 12px;background:#fafbfc;font-size:13px;color:var(--texto)}
.adjunto:hover{background:var(--acento-suave);text-decoration:none}
