/* PULSO 5.0.0 · PULSO IA */
:root{
  --bg:#04101f;--bg2:#071a31;--panel:rgba(14,36,64,.62);--panel2:rgba(20,48,84,.55);--line:rgba(140,180,230,.13);--line2:rgba(140,180,230,.24);
  --txt:#e8eef6;--txt2:#b4c4d8;--txt3:#7f94ad;--oro:#E0AC66;--oro2:#f1c98d;--azul:#4FA3E3;--verde:#2fbf71;--rojo:#e07262;--violeta:#9085e9;
  --r:14px;--r2:10px;--sombra:0 10px 40px rgba(0,0,0,.35);--display:'Exo 2',system-ui,sans-serif;--body:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --lat:288px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased}
body{background:radial-gradient(1200px 700px at 70% -10%,rgba(79,163,227,.12),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(224,172,102,.08),transparent 60%),var(--bg);overflow:hidden}
button,input,textarea,select{font:inherit;color:inherit}
a{color:var(--azul)}
::selection{background:rgba(224,172,102,.35)}
:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.ia-carga{position:fixed;inset:0;display:grid;place-items:center}.ia-carga-p{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6,var(--oro) 40%,#6b4a1e);animation:respira 1.6s ease-in-out infinite}
@keyframes respira{50%{transform:scale(1.12);filter:brightness(1.2)}}

/* ---------- acceso */
.ia-login{position:fixed;inset:0;display:grid;place-items:center;padding:24px}
.ia-login form{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;backdrop-filter:blur(14px);box-shadow:var(--sombra)}
.ia-login canvas{width:150px;height:150px;display:block;margin:-10px auto 4px}
.ia-login h1{font-family:var(--display);text-align:center;letter-spacing:.14em;margin:0 0 4px;font-size:22px}.ia-login h1 b{color:var(--oro)}
.ia-login p{text-align:center;color:var(--txt3);margin:0 0 20px;font-size:13px}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.campo label{font-size:12.5px;color:var(--txt2)}
.inp{width:100%;background:rgba(3,14,28,.7);border:1px solid var(--line2);border-radius:var(--r2);padding:11px 12px;outline:none;transition:border .15s}
.inp:focus{border-color:var(--oro)}
textarea.inp{resize:vertical;min-height:80px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line2);background:var(--panel2);border-radius:var(--r2);padding:9px 14px;cursor:pointer;font-weight:600;font-size:13.5px;transition:background .15s,border .15s,transform .1s;white-space:nowrap}
.btn:hover{background:rgba(40,80,130,.6)}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5;cursor:default}
.btn.oro{background:linear-gradient(180deg,#e8b977,#c99350);color:#1c1204;border-color:transparent}.btn.oro:hover{filter:brightness(1.07)}
.btn.chico{padding:6px 10px;font-size:12.5px}.btn.fan{background:none;border-color:transparent}.btn.fan:hover{background:rgba(255,255,255,.06)}
.btn.rojo{color:#ffb4a8;border-color:rgba(224,114,98,.4)}
.err{background:rgba(224,114,98,.12);border:1px solid rgba(224,114,98,.35);color:#ffc9bf;border-radius:var(--r2);padding:10px 12px;font-size:13px;margin-bottom:12px}
.nota{background:rgba(79,163,227,.08);border:1px solid rgba(79,163,227,.25);color:var(--txt2);border-radius:var(--r2);padding:10px 12px;font-size:13px;line-height:1.5}
.nota.oro{background:rgba(224,172,102,.08);border-color:rgba(224,172,102,.3)}

/* ---------- estructura */
.ia{display:grid;grid-template-columns:var(--lat) minmax(0,1fr);height:100dvh}
.lat{border-right:1px solid var(--line);background:rgba(4,14,28,.72);backdrop-filter:blur(16px);display:flex;flex-direction:column;min-height:0;z-index:20}
.lat-cab{display:flex;align-items:center;gap:10px;padding:16px 16px 10px}
.marca{display:flex;align-items:center;gap:10px;font-family:var(--display);letter-spacing:.14em;font-weight:700;font-size:16px}.marca i{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8,var(--oro) 45%,#6b4a1e);box-shadow:0 0 18px rgba(224,172,102,.45)}.marca b{color:var(--oro)}
.lat-nuevo{margin:6px 14px 10px}
.lat-buscar{margin:0 14px 8px;position:relative}.lat-buscar input{padding-left:34px;font-size:13.5px}.lat-buscar svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);opacity:.5}
.lat-lista{flex:1;overflow:auto;padding:4px 8px;min-height:0}
.lat-grupo{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt3);padding:12px 10px 6px}
.conv{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:9px 10px;cursor:pointer;color:var(--txt2);font-size:13.5px}
.conv:hover{background:rgba(255,255,255,.05)}.conv.on{background:rgba(224,172,102,.12);color:#fff}
.conv span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv small{color:var(--txt3);font-size:11px}
.conv .ic{opacity:.6;flex:none}
.conv-co{display:block;font-size:11.5px;color:var(--txt3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lat-nav{border-top:1px solid var(--line);padding:8px}
.nav{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:9px;padding:9px 10px;cursor:pointer;color:var(--txt2);font-size:13.5px;text-align:left}
.nav:hover{background:rgba(255,255,255,.05)}.nav.on{color:#fff;background:rgba(79,163,227,.12)}
.nav .bd{margin-left:auto;background:var(--oro);color:#1c1204;font-weight:700;font-size:11px;border-radius:999px;padding:1px 7px}
.lat-pie{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line);font-size:13px}
.lat-pie .av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2a5a92,#173459);font-weight:700;font-size:12px;flex:none}
.lat-pie .q{flex:1;min-width:0}.lat-pie .q b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lat-pie .q small{color:var(--txt3)}
.main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}
.cab{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line);min-height:56px}
.cab h2{font-size:15px;font-weight:600;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cab .menu{display:none}
.vista{flex:1;overflow:auto;min-height:0}
.ancho{max-width:860px;margin:0 auto;padding:0 20px}

/* ---------- chat */
.bienv{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4vh 20px 10px}
.bienv canvas{width:min(300px,62vw);height:min(300px,62vw);cursor:pointer}
.bienv h1{font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,30px);margin:6px 0 6px}
.bienv p{color:var(--txt3);margin:0 0 22px;max-width:520px}
.suger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(640px,100%)}
.sug{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--txt2);font-size:13.5px;line-height:1.4;transition:border .15s,transform .15s}
.sug:hover{border-color:rgba(224,172,102,.5);transform:translateY(-1px)}.sug b{display:block;color:#fff;font-weight:600;margin-bottom:2px}
.msgs{padding:18px 0 30px;display:flex;flex-direction:column;gap:18px}
.m{display:flex;gap:12px;align-items:flex-start;animation:entra .25s ease}
@keyframes entra{from{opacity:0;transform:translateY(6px)}}
.m .q{flex:none;width:30px;height:30px;border-radius:50%;margin-top:2px}
.m.user{flex-direction:row-reverse}
.m.user .burb{background:linear-gradient(180deg,rgba(40,86,140,.55),rgba(26,60,104,.55));border:1px solid rgba(79,163,227,.25);border-radius:16px 16px 4px 16px;padding:10px 14px;max-width:min(620px,85%);white-space:pre-wrap;word-wrap:break-word}
.m.user .q{display:none}
.m.assistant .q{background:radial-gradient(circle at 35% 35%,#fff8,var(--oro) 45%,#6b4a1e);box-shadow:0 0 14px rgba(224,172,102,.35)}
.m.assistant .burb{flex:1;min-width:0;line-height:1.62}
.m .via{font-size:11px;color:var(--txt3);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.m.user .via{justify-content:flex-end}
.adjs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.adj{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:12px;color:var(--txt2);text-decoration:none}
.adj img{width:34px;height:34px;object-fit:cover;border-radius:5px}
.herrs{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 8px}
.herr{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--txt2);background:rgba(79,163,227,.1);border:1px solid rgba(79,163,227,.25);border-radius:999px;padding:3px 9px}
.herr.usando::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--azul);animation:respira 1s infinite}
.herr.listo::before{content:'✓';color:var(--verde);font-weight:700}.herr.error{border-color:rgba(224,114,98,.4)}.herr.error::before{content:'!';color:var(--rojo);font-weight:700}
.tjs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:10px 0 4px}
.tj{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.tj-f{display:block;width:100%;aspect-ratio:1/1;background:#fff;border:0;padding:0;cursor:zoom-in}.tj-f img{width:100%;height:100%;object-fit:contain;display:block}
.tj-f.sin{display:grid;place-items:center;background:rgba(255,255,255,.04);color:var(--txt3);font-size:12px;cursor:default}
.tj-t{padding:10px 12px;display:flex;flex-direction:column;gap:3px}.tj-t b{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tj-t small{font-size:11.5px;color:var(--txt3)}.tj-t small b{display:inline;color:var(--txt2);font-size:11.5px}
.tj-p{font-family:var(--display);font-size:18px;color:var(--oro2);margin:2px 0}
.lupa{max-width:92vw;max-height:88vh;border-radius:12px;background:#fff;box-shadow:var(--sombra);cursor:zoom-out}
.rap{color:var(--oro2)}.rapb{color:var(--oro2)}
.rapd{width:min(760px,100%)}.rapl{margin-top:6px;max-height:60vh;overflow:auto}.rapc{display:flex;flex-wrap:wrap;gap:6px}
.chip-r{background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--txt);cursor:pointer;text-align:left}.chip-r:hover{border-color:var(--oro);background:rgba(224,172,102,.1)}
.arch .ext.pdf{background:#b3261e}
.archs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.archs:empty{display:none}
.arch{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid var(--line2);border-radius:12px;padding:8px 12px 8px 8px;text-decoration:none;color:var(--txt);transition:border .15s,background .15s}
.arch:hover{border-color:var(--oro);background:rgba(224,172,102,.08)}.arch b{display:block;font-size:13px;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch small{font-size:11.5px;color:var(--txt3)}
.arch .ext{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-size:10.5px;font-weight:800;letter-spacing:.04em;color:#fff;flex:none}.arch .ext.wd{background:#2b5797}.arch .ext.xl{background:#1d7044}
.fuentes{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.fuentes a{font-size:12px;text-decoration:none;color:var(--txt2);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:7px;padding:3px 8px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cursor::after{content:'';display:inline-block;width:8px;height:16px;background:var(--oro);vertical-align:-3px;margin-left:2px;animation:parp .9s steps(1) infinite}
@keyframes parp{50%{opacity:0}}
.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{font-family:var(--display);margin:14px 0 8px;line-height:1.3}.md h1{font-size:20px}.md h2{font-size:18px}.md h3{font-size:16px}.md h4{font-size:15px}
.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md strong{color:#fff}.md em{color:var(--txt2)}
.md code{background:rgba(255,255,255,.08);border-radius:5px;padding:1px 5px;font-size:.9em}.md pre{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;padding:12px;overflow:auto}.md pre code{background:none;padding:0}
.md table{border-collapse:collapse;margin:6px 0 12px;font-size:13.5px;display:block;overflow-x:auto;max-width:100%}.md th,.md td{border-bottom:1px solid var(--line);padding:7px 10px;text-align:left;white-space:nowrap}.md th{color:var(--txt3);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.md td.n,.md th.n{text-align:right;font-variant-numeric:tabular-nums}
.md blockquote{border-left:3px solid var(--oro);margin:0 0 10px;padding:2px 12px;color:var(--txt2)}
.md hr{border:0;border-top:1px solid var(--line);margin:14px 0}

/* ---------- caja de escribir */
.compo{padding:10px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--bg) 60%,transparent)}
.compo-c{max-width:860px;margin:0 auto;background:var(--panel);border:1px solid var(--line2);border-radius:18px;padding:8px;display:flex;flex-direction:column;gap:6px;backdrop-filter:blur(12px);box-shadow:var(--sombra);transition:border .15s}
.compo-c:focus-within{border-color:rgba(224,172,102,.55)}
.compo textarea{background:none;border:0;outline:none;resize:none;padding:8px 10px;max-height:220px;min-height:24px;line-height:1.5}
.compo-f{display:flex;align-items:center;gap:6px}
.compo-f .esp{flex:1}
.ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:0;background:none;cursor:pointer;color:var(--txt2);transition:background .15s,color .15s}
.ico:hover{background:rgba(255,255,255,.07);color:#fff}
.ico.enviar{background:var(--oro);color:#1c1204}.ico.enviar:hover{filter:brightness(1.08)}.ico.enviar[disabled]{opacity:.4}
.ico.mic{background:rgba(79,163,227,.15);color:#cfe6fb}.ico.mic:hover{background:rgba(79,163,227,.28)}
.compo .peq{font-size:11.5px;color:var(--txt3);text-align:center;margin-top:6px}
.adjs-p{display:flex;gap:6px;flex-wrap:wrap;padding:2px 6px}.adjs-p .adj button{background:none;border:0;cursor:pointer;color:var(--txt3);padding:0 0 0 4px}

/* ---------- voz */
.voz{position:fixed;inset:0;z-index:60;background:radial-gradient(800px 600px at 50% 40%,#0f2b4f,#030a16);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;animation:aparece .3s ease}
@keyframes aparece{from{opacity:0}}
.voz canvas{width:min(440px,80vw);height:min(440px,80vw)}
.voz .est{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--txt2);margin-top:-6px;min-height:20px}
.voz .sub .e{color:#ffc3b8;font-size:14px}
.voz .sub{max-width:720px;width:100%;text-align:center;margin:18px 0 0;min-height:96px;display:flex;flex-direction:column;gap:8px}
.voz .sub .u{color:var(--txt3);font-size:15px}.voz .sub .a{color:#fff;font-size:18px;line-height:1.45}
.voz .ctl{display:flex;gap:14px;margin-top:22px}
.voz .ctl button{width:58px;height:58px;border-radius:50%;border:1px solid var(--line2);background:rgba(255,255,255,.06);cursor:pointer;display:grid;place-items:center;color:#fff}
.voz .ctl button.fin{background:#c2493a;border-color:transparent}.voz .ctl button.on{background:rgba(224,114,98,.25);border-color:rgba(224,114,98,.6)}
.voz .ctl small{display:block;text-align:center;color:var(--txt3);font-size:11.5px;margin-top:6px}
.voz .toque{margin-top:14px;background:rgba(224,172,102,.15);border:1px solid rgba(224,172,102,.45);color:#ffe2b8;border-radius:999px;padding:8px 16px;font-size:14px;animation:respira 1.6s ease-in-out infinite}
.voz .toque[hidden]{display:none}
.voz .cerrar{position:absolute;top:16px;right:16px}

/* ---------- pantallas */
.pant{padding:22px 0 40px}
.pant h1{font-family:var(--display);font-weight:600;font-size:24px;margin:0 0 4px}.pant .sub{color:var(--txt3);margin:0 0 18px;font-size:13.5px}
.tarj{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px}
.tarj h3{margin:0 0 10px;font-size:15px}
.fila{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.fila:last-child{border-bottom:0}
.fila .t{flex:1;min-width:0}.fila .t b{display:block;font-weight:600}.fila .t small{color:var(--txt3);font-size:12px}
.chk{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line2);background:none;cursor:pointer;flex:none;display:grid;place-items:center;color:var(--verde)}
.chk.on{background:rgba(47,191,113,.18);border-color:var(--verde)}
.pri{font-size:11px;border-radius:999px;padding:2px 8px;border:1px solid var(--line2);color:var(--txt2)}.pri.alta{color:#ffc3b8;border-color:rgba(224,114,98,.5)}
.chip{font-size:11px;border-radius:999px;padding:2px 8px;background:rgba(255,255,255,.07);color:var(--txt2)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px}.kpi span{font-size:12px;color:var(--txt3)}.kpi b{display:block;font-family:var(--display);font-size:24px;margin:4px 0 2px}.kpi small{color:var(--txt3);font-size:12px}
.barra{height:8px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--azul),var(--oro));border-radius:4px}
.tabla{width:100%;border-collapse:collapse;font-size:13px}.tabla th,.tabla td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.tabla th{color:var(--txt3);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.tabla td.n{text-align:right;font-variant-numeric:tabular-nums}
.scroll{overflow-x:auto}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs button{background:none;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--txt2);font-size:13px}.tabs button.on{border-color:var(--oro);color:#fff;background:rgba(224,172,102,.1)}
.vacio{text-align:center;color:var(--txt3);padding:40px 10px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0e2a4b;border:1px solid var(--line2);border-radius:12px;padding:10px 16px;z-index:90;box-shadow:var(--sombra);font-size:13.5px;animation:entra .2s ease}
#tip{position:fixed;pointer-events:none;z-index:95;background:#0b223f;border:1px solid var(--line2);border-radius:8px;padding:6px 9px;font-size:12px;color:var(--txt2);display:none;max-width:280px}
.dlg-f{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70;display:grid;place-items:center;padding:16px}
.dlg{width:min(520px,100%);background:#0a1f3a;border:1px solid var(--line2);border-radius:16px;padding:20px;box-shadow:var(--sombra);max-height:90dvh;overflow:auto}
.dlg h3{margin:0 0 14px;font-family:var(--display)}
.dlg .acc{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.velo{display:none}

@media (max-width:900px){
  .ia{grid-template-columns:1fr}
  .lat{position:fixed;inset:0 auto 0 0;width:min(var(--lat),86vw);transform:translateX(-102%);transition:transform .22s ease;box-shadow:var(--sombra)}
  .ia.abierto .lat{transform:none}
  .ia.abierto .velo{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:15}
  .cab .menu{display:grid}
  .suger{grid-template-columns:1fr}
  .grid2,.grid3{grid-template-columns:1fr}
  .cab{padding:10px 12px}.ancho{padding:0 14px}.compo{padding-left:10px;padding-right:10px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- 5.2.0 · propuestas por confirmar (reunión, mensaje, automatización) */
.apr{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(224,172,102,.45);background:rgba(224,172,102,.08)}
.apr-t{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}.apr-t small{color:var(--oro2);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}.apr-t b{font-weight:600;line-height:1.45}
.apr-t [data-apr-res]{color:var(--txt2);font-size:12.5px}.apr-t [data-apr-res]:empty{display:none}
.apr-a{display:flex;gap:8px}.apr-a[hidden]{display:none}
.apr.aprobada{border-color:rgba(47,191,113,.45);background:rgba(47,191,113,.08)}.apr.aprobada .apr-t small{color:#8fe0b4}
.apr.rechazada,.apr.fallo{border-color:var(--line2);background:rgba(255,255,255,.03);opacity:.8}.apr.rechazada .apr-t b{text-decoration:line-through;color:var(--txt3)}
.voz .vextra{width:min(720px,100%);margin-top:10px;max-height:34vh;overflow-y:auto}.voz .vextra .tjs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.voz .vextra .apr{background:rgba(7,26,49,.85);text-align:left}

/* ---------- 5.2.0 · calendario */
.cal-bar{display:flex;align-items:center;gap:8px;margin:4px 0 12px;flex-wrap:wrap}.cal-bar b{font-family:var(--display);font-weight:600;margin-left:6px}.cal-bar .esp{flex:1}
.cal-dia{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.cal-d{display:flex;flex-direction:column;align-items:flex-start}.cal-d b{font-size:12px;color:var(--txt3);text-transform:capitalize;font-weight:600}.cal-d span{font-family:var(--display);font-size:24px;line-height:1.1}
.cal-dia.hoy .cal-d span{color:var(--oro)}.cal-dia.hoy .cal-d b{color:var(--oro2)}
.cal-l{display:flex;flex-direction:column;gap:6px;min-width:0}.cal-libre{margin:6px 0;color:var(--txt3);font-size:13px}
.cal-ev{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--azul)}
.cal-ev.pulso{border-left-color:var(--oro)}.cal-ev.prop{border-style:dashed;opacity:.85}
.cal-ev .h{flex:0 0 92px;font-size:12.5px;color:var(--txt2);font-variant-numeric:tabular-nums}.cal-ev .t{flex:1;min-width:0}.cal-ev .t b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev .t small{color:var(--txt3);font-size:12px}.cal-ev .a{display:flex;gap:4px;flex-wrap:wrap}
.tarj.m365 .t b{font-weight:600}
.inv{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.inv:empty{display:none}.inv-res{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.inv-res .chip-r small{color:var(--txt3);margin-left:4px}
.ancho-chat{max-width:1180px;padding-left:20px;padding-right:20px}
@media (max-width:640px){.cal-dia{grid-template-columns:54px 1fr;gap:8px}.cal-ev{flex-wrap:wrap}.cal-ev .h{flex-basis:100%}}
.inv .adj button{background:none;border:0;cursor:pointer;color:var(--txt3);padding:0 0 0 4px}
/* 5.3.0 · registro automático de Microsoft 365 */
.m3reg{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.m3cod p{margin:6px 0;color:var(--txt2);font-size:14px}.m3c{font-family:var(--display);font-size:30px;letter-spacing:.18em;color:var(--oro2);background:rgba(224,172,102,.08);border:1px dashed rgba(224,172,102,.5);border-radius:12px;padding:10px 18px;display:inline-block;cursor:copy;margin:4px 0 8px}
.m3e{color:var(--txt3)!important;font-size:13px!important}
