/* Admisiones UMB · forma «Tablero A&M» (riel, barra con buscador, bento, entradas en secuencia) con la ropa de UMB — aprobada 2026-10-27
   (maqueta: clientes/umb/admisiones/diseno/maqueta-tablero-am-2026-10-27.html). Rojo del logo #A41814, rojo vivo #E4002B, grafito #3B3B3B.
   Letra: Poppins en TODO (jefe). Sin librerías, sin CDN. Claro y oscuro: [data-theme] gana; sin él, manda el sistema.
   🔴 Las entradas animan `translate`/`scale`, nunca `transform` (lección del Tablero A&M). */
@font-face{font-family:'Poppins';font-weight:400;font-display:swap;src:url(../fonts/Poppins-Regular.ttf)}
@font-face{font-family:'Poppins';font-weight:500;font-display:swap;src:url(../fonts/Poppins-Medium.ttf)}
@font-face{font-family:'Poppins';font-weight:700;font-display:swap;src:url(../fonts/Poppins-Bold.ttf)}
:root{
  --rojo:#A41814; --rojo-vivo:#E4002B; --rojo-texto:#A41814; --rojo-suave:rgba(164,24,20,.09);
  --bg:#F3F0F0; --lat:#FFFFFF; --card:#FFFFFF; --fg:#1E1718; --fg2:#4A4043; --muted:#685E60; --linea:rgba(40,20,22,.11); --vidrio:rgba(255,255,255,.78);
  --c-base:linear-gradient(160deg,#FFFFFF,#FAF8F8); --c-rojo:linear-gradient(160deg,#FBEAE9,#F5D9D7); --c-grafito:linear-gradient(160deg,#EFEEEF,#E4E2E4); --c-arena:linear-gradient(160deg,#F8F0E6,#F0E2D0);
  --hero:linear-gradient(155deg,#B81F1A 0%,#A41814 45%,#6E0F0C 100%); --hero-muted:rgba(255,255,255,.92); --hero-halo:rgba(255,190,180,.30);
  --caliente-t:#B42318; --caliente-f:#FDECEA; --caliente-d:#E4002B;
  --tibio-t:#8A5300;   --tibio-f:#FFF3D6;   --tibio-d:#F59E0B;
  --frio-t:#1D5FBF;    --frio-f:#E8F0FD;    --frio-d:#3B82F6;
  --nuevo-t:#5A5153;   --nuevo-f:#EFECEC;   --nuevo-d:#A49A9C;
  --desc-t:#5A5153;    --desc-f:#EFECEC;    --desc-d:#C2B9BA;
  --ok-t:#166534; --ok-f:#E5F5EC; --ok-d:#22A55B;
  --chat:#EFEAE2; --msg-est:#FFFFFF; --msg-meta:var(--muted);
  --sombra:0 10px 30px rgba(60,20,22,.09); --sombra-alta:0 24px 60px rgba(60,20,22,.22);
  --sans:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:24px; --out:cubic-bezier(.23,1,.32,1); --drawer:cubic-bezier(.32,.72,0,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --rojo-texto:#FF8F87; --rojo-suave:rgba(255,120,110,.12);
  --bg:#110C0D; --lat:#1A1314; --card:#1E1617; --fg:#F3ECEC; --fg2:#CDBFC1; --muted:#B8ABAD; --linea:rgba(255,255,255,.09); --vidrio:rgba(255,255,255,.06);
  --c-base:linear-gradient(160deg,#1E1617,#171112); --c-rojo:linear-gradient(160deg,#4A1416,#2A0C0D); --c-grafito:linear-gradient(160deg,#2A2729,#1D1B1C); --c-arena:linear-gradient(160deg,#3A2C1D,#231A12);
  --hero:linear-gradient(155deg,#5A1214 0%,#3A0C0E 50%,#1C0708 100%); --hero-muted:rgba(255,235,233,.76); --hero-halo:rgba(228,0,43,.30);
  --caliente-t:#FF9A90; --caliente-f:rgba(255,110,100,.14); --tibio-t:#F8C66A; --tibio-f:rgba(245,158,11,.14); --frio-t:#9CC2FF; --frio-f:rgba(59,130,246,.16);
  --nuevo-t:#C9BDBF; --nuevo-f:rgba(255,255,255,.08); --desc-t:#B5A9AB; --desc-f:rgba(255,255,255,.06); --ok-t:#6EE0A0; --ok-f:rgba(34,165,91,.16);
  --chat:#211A1B; --msg-est:#2C2425;
  --sombra:0 14px 36px rgba(0,0,0,.45); --sombra-alta:0 24px 60px rgba(0,0,0,.6); color-scheme:dark}}
:root[data-theme="dark"]{
  --rojo-texto:#FF8F87; --rojo-suave:rgba(255,120,110,.12);
  --bg:#110C0D; --lat:#1A1314; --card:#1E1617; --fg:#F3ECEC; --fg2:#CDBFC1; --muted:#B8ABAD; --linea:rgba(255,255,255,.09); --vidrio:rgba(255,255,255,.06);
  --c-base:linear-gradient(160deg,#1E1617,#171112); --c-rojo:linear-gradient(160deg,#4A1416,#2A0C0D); --c-grafito:linear-gradient(160deg,#2A2729,#1D1B1C); --c-arena:linear-gradient(160deg,#3A2C1D,#231A12);
  --hero:linear-gradient(155deg,#5A1214 0%,#3A0C0E 50%,#1C0708 100%); --hero-muted:rgba(255,235,233,.76); --hero-halo:rgba(228,0,43,.30);
  --caliente-t:#FF9A90; --caliente-f:rgba(255,110,100,.14); --tibio-t:#F8C66A; --tibio-f:rgba(245,158,11,.14); --frio-t:#9CC2FF; --frio-f:rgba(59,130,246,.16);
  --nuevo-t:#C9BDBF; --nuevo-f:rgba(255,255,255,.08); --desc-t:#B5A9AB; --desc-f:rgba(255,255,255,.06); --ok-t:#6EE0A0; --ok-f:rgba(34,165,91,.16);
  --chat:#211A1B; --msg-est:#2C2425;
  --sombra:0 14px 36px rgba(0,0,0,.45); --sombra-alta:0 24px 60px rgba(0,0,0,.6); color-scheme:dark}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{font-family:var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;min-height:100vh;
  background-image:radial-gradient(900px 520px at 92% -10%,var(--rojo-suave),transparent 70%);background-attachment:fixed}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--rojo-texto);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rot{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
svg.i,.btn svg,.circ svg,.lat svg,.tit-i svg,.ci svg,.av2 svg,.alerta svg,.chip svg,.buscar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.logo-osc{display:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-cla{display:none!important}:root:not([data-theme="light"]) .logo-osc{display:block!important}}
:root[data-theme="dark"] .logo-cla{display:none!important}:root[data-theme="dark"] .logo-osc{display:block!important}

/* ---------- botones ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;min-height:44px;border-radius:999px;padding:0 18px;font-weight:500;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none;
  border:1px solid var(--linea);background:var(--vidrio);color:var(--fg);transition:scale 140ms var(--out),background-color 160ms var(--out),box-shadow 200ms var(--out),opacity 160ms var(--out)}
.btn:active:not(:disabled){scale:.97}
.btn:disabled,.btn.off,.btn.pri:disabled,.btn.pri.off{opacity:1;cursor:default;background:var(--nuevo-f);background-image:none;color:var(--muted);box-shadow:none;border:1px solid var(--linea)}
.btn.off{pointer-events:none}
.btn svg{width:18px;height:18px;stroke-width:1.8}
.btn.pri{border:0;color:#fff;background:linear-gradient(135deg,#E4002B,#B81F1A 50%,#86130F);box-shadow:0 6px 18px rgba(164,24,20,.28)}
.btn.pri::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);translate:-120% 0}
.btn.blanco{border:0;background:#fff;color:#86130F;font-weight:700}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}
.btn.chico{min-height:34px;padding:0 14px;font-size:13px}
@media (hover:hover) and (pointer:fine){
  .btn.pri:hover:not(:disabled){box-shadow:0 8px 26px rgba(164,24,20,.42)}
  .btn.pri:hover:not(:disabled)::after{translate:120% 0;transition:translate .28s var(--out)}
  .btn.sec:hover:not(:disabled),.btn:not(.pri):not(.blanco):not(.ghost):hover:not(:disabled){background:var(--card)}
  .btn.ghost:hover{color:var(--fg);background:var(--vidrio)}
}

/* ---------- armazón: riel + contenido; desde 1100 px el contenido va centrado y el riel se pega a su izquierda ---------- */
.armazon{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:20px;min-height:100vh;
  padding-block:14px 28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:1101px){
  .armazon{grid-template-columns:minmax(0,1fr) 112px minmax(0,1180px) 112px minmax(0,1fr)}
  .sup{grid-column:2/5}.lat{grid-column:2}.armazon>main{grid-column:3}
}
.sup{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:18px;align-items:center;padding:4px 0 18px}
.marca{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;color:inherit}
.marca img{height:44px;width:auto;display:block}
.marca .tt{display:grid;line-height:1.2;border-left:1px solid var(--linea);padding-left:14px}
.marca .tt b{font-size:19px;font-weight:500;white-space:nowrap;letter-spacing:-.01em}
.buscar{position:relative;display:flex;align-items:center;gap:10px;background:var(--vidrio);border:1px solid var(--linea);border-radius:999px;padding:0 8px 0 18px;height:48px;max-width:520px;width:100%;justify-self:center;color:var(--muted)}
.buscar input{flex:1;border:0;background:none;color:var(--fg);min-width:0;height:100%;font-size:14.5px}
.buscar input:focus{outline:none}.buscar input::placeholder{color:var(--muted)}
.buscar input::-webkit-search-cancel-button{display:none}
.buscar:focus-within{border-color:var(--rojo-texto);box-shadow:0 0 0 4px var(--rojo-suave)}
.buscar .limpiar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.buscar .limpiar svg{width:16px;height:16px}
.buscar .estado-b{font-size:12px;white-space:nowrap;padding-right:6px}
.acc{display:flex;align-items:center;gap:10px}
.circ{width:46px;height:46px;border-radius:50%;background:var(--vidrio);border:1px solid var(--linea);display:grid;place-items:center;position:relative;color:var(--fg);transition:scale .16s var(--out)}
.circ:active{scale:.95}
.circ .pto{position:absolute;top:5px;right:5px;min-width:18px;height:18px;border-radius:99px;background:var(--rojo-vivo);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;padding:0 4px;box-shadow:0 0 0 3px var(--bg)}
.yo{display:flex;align-items:center;gap:10px;background:var(--vidrio);border:1px solid var(--linea);border-radius:99px;padding:5px 14px 5px 5px;min-height:48px}
.yo .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#D11F26,#A41814 60%,#6E0F0C);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13.5px}
.yo b{display:block;font-size:13.5px;font-weight:500;line-height:1.2}.yo small{display:block;color:var(--muted);font-size:11.5px;line-height:1.2}
.campana{position:relative}
.pop{position:absolute;right:0;top:calc(100% + 10px);width:min(380px,calc(100vw - 32px));background:var(--lat);border:1px solid var(--linea);border-radius:20px;box-shadow:var(--sombra-alta);padding:14px;z-index:40;
  transform-origin:top right;opacity:0;scale:.96;translate:0 -4px;visibility:hidden;transition:opacity .16s var(--out),scale .16s var(--out),translate .16s var(--out),visibility 0s .16s}
.pop.on{opacity:1;scale:1;translate:0 0;visibility:visible;transition:opacity .18s var(--out),scale .18s var(--out),translate .18s var(--out)}
.pop h4{margin:0 0 10px}
.pop .alertas{margin:0}.pop .nada{color:var(--muted);font-size:14px}

/* riel */
.lat{background:var(--lat);border:1px solid var(--linea);border-radius:28px;padding:10px 8px;display:grid;gap:4px;align-content:start;position:sticky;top:max(16px,env(safe-area-inset-top,0px));align-self:start;box-shadow:var(--sombra);z-index:20}
.lat a,.lat button{display:grid;gap:5px;justify-items:center;padding:14px 4px 11px;border-radius:20px;color:var(--muted);font-size:12.5px;font-weight:500;text-decoration:none;position:relative;min-height:44px;transition:background-color .2s,color .2s,scale .16s var(--out)}
.lat a:active,.lat button:active{scale:.96}
@media (hover:hover) and (pointer:fine){.lat a:not(.on):hover,.lat button:not(.on):hover{color:var(--fg);background:var(--vidrio)}}
.lat .on{color:#fff;background:linear-gradient(160deg,#D11F26,#A41814 60%,#86130F);box-shadow:0 8px 22px rgba(164,24,20,.32),inset 0 1px 0 rgba(255,255,255,.25);font-weight:700}
.lat .cnt{position:absolute;top:6px;right:14px;min-width:18px;height:18px;border-radius:99px;background:var(--rojo-vivo);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;padding:0 4px}
.lat .on .cnt{background:#fff;color:var(--rojo)}
.lat .sep{height:1px;background:var(--linea);margin:6px 10px}
.armazon>main{min-width:0}
.hoja[hidden]{display:none!important}

/* ---------- alertas globales (salud) ---------- */
.alertas{display:grid;gap:8px;margin-bottom:16px}
.alertas:empty{display:none}
.alerta{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.45;border:1px solid transparent}
.alerta svg{width:20px;height:20px;margin-top:1px}
.alerta.err{background:var(--caliente-f);color:var(--caliente-t);border-color:color-mix(in srgb,var(--caliente-t) 25%,transparent)}
.alerta.warn{background:var(--tibio-f);color:var(--tibio-t);border-color:color-mix(in srgb,var(--tibio-t) 25%,transparent)}
.alerta.info{background:var(--frio-f);color:var(--frio-t);border-color:color-mix(in srgb,var(--frio-t) 25%,transparent)}

/* ---------- inicio (bento) ---------- */
.bento{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}
.tj{border-radius:var(--r);border:1px solid var(--linea);padding:22px;background:var(--c-base);box-shadow:var(--sombra);position:relative;overflow:hidden;min-width:0}
.tj.rojo{background:var(--c-rojo)}.tj.grafito{background:var(--c-grafito)}.tj.arena{background:var(--c-arena)}
.tj .cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.tj .cab h3{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;line-height:1.25}
.tj .cab h3 small{display:block;font-size:12.5px;font-weight:400;color:var(--muted)}
.tit-i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--rojo-suave);color:var(--rojo-texto);flex:none}
.tit-i svg{width:20px;height:20px}
.s4{grid-column:span 4}.s6{grid-column:span 6}.s8{grid-column:span 8}.s12{grid-column:span 12}
.saludo{font-size:clamp(30px,3vw,40px);font-weight:500;line-height:1.05;letter-spacing:-.03em}
.saludo em{display:block;font-style:normal;font-weight:700;color:var(--rojo-texto)}
.mini3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.mini3>button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;text-align:left;min-width:0;padding:0}
.mini3 .ci{width:38px;height:38px;border-radius:50%;background:var(--vidrio);border:1px solid var(--linea);display:grid;place-items:center;color:var(--rojo-texto)}
.mini3 .ci svg{width:18px;height:18px}
.mini3 b{font-size:24px;font-weight:500;line-height:1.1}
.mini3 small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.25}
.hero{background:var(--hero);color:#fff;border-color:rgba(255,255,255,.1);padding:26px;display:flex;flex-direction:column;gap:18px;min-height:420px;grid-row:span 2}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 340px at 85% 10%,var(--hero-halo),transparent 70%),radial-gradient(420px 300px at 0% 110%,rgba(0,0,0,.22),transparent 70%)}
.hero>*{position:relative}
.hero .rot{color:var(--hero-muted)}
.hero .fila1{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.hero .cifra{font-size:clamp(68px,9vw,112px);font-weight:500;line-height:.95;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.hero .cifra-l{font-size:17px;font-weight:500;margin-top:8px}
.hero .cifra-s{color:var(--hero-muted);font-size:14px;max-width:40ch}
.anillo{width:170px;height:170px;position:relative;flex:none}
.anillo svg{width:100%;height:100%;display:block}
.anillo .anillo-c{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center}
.anillo .anillo-c b{font-size:36px;font-weight:500;line-height:1}
.anillo .anillo-c span{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-muted)}
.barra-t{display:flex;height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.14);gap:2px}
.barra-t i{display:block;height:100%}
.leyenda{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--hero-muted)}
.leyenda span{display:inline-flex;align-items:center;gap:7px}.leyenda i{width:9px;height:9px;border-radius:50%}
.foco{margin-top:auto;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:14px 14px 14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.av3{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--rojo);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.foco small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-muted)}
.foco b{display:block;font-size:19px;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.foco p{margin:0;font-size:13px;color:var(--hero-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista-h{display:grid;gap:8px}
.lista-h button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:16px;padding:10px 14px;color:inherit;text-align:left;transition:background-color .18s,translate .25s var(--out)}
@media (hover:hover) and (pointer:fine){.lista-h button:hover{background:rgba(255,255,255,.14);translate:4px 0}}
.lista-h .av3{width:36px;height:36px;font-size:12.5px}
.lista-h b{display:block;font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista-h small{display:block;color:var(--hero-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill-h{display:inline-flex;align-items:center;gap:7px;height:28px;border-radius:99px;padding:0 12px 0 10px;font-size:13px;font-weight:500;white-space:nowrap;background:rgba(255,255,255,.16);color:#fff}
.pill-h i{width:8px;height:8px;border-radius:50%}
.casos{display:grid}
.caso{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--linea);text-align:left;width:100%;color:inherit;transition:translate .25s var(--out)}
.casos>:last-child{border-bottom:0}
@media (hover:hover) and (pointer:fine){.caso:hover{translate:5px 0}}
.caso b{display:block;font-size:15.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.caso small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.caso .cuenta{font-size:26px;font-weight:500}
.av2{width:40px;height:40px;border-radius:50%;background:var(--rojo-suave);color:var(--rojo-texto);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.av2 svg{width:18px;height:18px}
.vacio-t{color:var(--muted);font-size:14px}
.salud{display:grid;gap:10px;list-style:none}
.salud li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:13.5px;color:var(--fg2)}
.salud li i{width:10px;height:10px;border-radius:50%;margin-top:6px}
.salud li b{color:var(--fg);font-weight:600}
.barras{display:grid;gap:12px}
.barras button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;text-align:left;color:inherit;padding:0}
.barras button span{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barras button b{font-size:17px;font-weight:500}
.barras .rl{grid-column:1/-1;height:8px;border-radius:99px;background:var(--linea);overflow:hidden}
.barras .rl i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#E4002B,#A41814);transform-origin:left;scale:var(--k,0) 1;transition:scale .9s var(--out)}

/* ---------- leads ---------- */
.cab-hoja{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin:2px 0 16px}
.cab-hoja h1{font-size:clamp(30px,4vw,42px);font-weight:500;line-height:1.05;letter-spacing:-.03em}
.cab-hoja h1 em{font-style:normal;font-weight:700;color:var(--rojo-texto)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.st{text-align:left;border-radius:20px;border:1px solid var(--linea);background:var(--c-base);box-shadow:var(--sombra);padding:14px 18px 16px;display:grid;gap:8px;min-width:0;transition:scale .14s var(--out),box-shadow .2s,border-color .2s}
.st:active{scale:.98}
.st span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fg2);font-weight:500}
.st span i{width:9px;height:9px;border-radius:50%;flex:none}
.st b{font-size:36px;font-weight:500;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:inline-block;justify-self:start}
.st b.tick{animation:tick 260ms var(--out)}
@keyframes tick{from{translate:0 -5px;opacity:.3}to{translate:0 0;opacity:1}}
.st[aria-pressed=true]{border-color:var(--rojo-texto);box-shadow:0 0 0 3px var(--rojo-suave),var(--sombra)}
.reparto{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.reparto .rk{margin-right:4px}
.reparto button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linea);background:var(--vidrio);border-radius:99px;padding:5px 7px 5px 14px;font-size:13px;font-weight:500;min-height:36px}
.reparto button b{min-width:24px;height:24px;border-radius:99px;background:var(--rojo-suave);color:var(--rojo-texto);display:grid;place-items:center;font-size:12px;font-weight:700;padding:0 6px;font-variant-numeric:tabular-nums}
.reparto button[aria-pressed=true]{background:var(--rojo);color:#fff;border-color:transparent}
.reparto button[aria-pressed=true] b{background:#fff;color:var(--rojo)}
.barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.seg{display:flex;gap:4px;border:1px solid var(--linea);background:var(--vidrio);border-radius:99px;padding:4px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.seg::-webkit-scrollbar{display:none}
.seg button{border-radius:99px;padding:0 13px;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;min-height:34px;transition:background-color .16s,color .16s}
.seg button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.sel{height:44px;border-radius:99px;border:1px solid var(--linea);background-color:var(--vidrio);padding:0 34px 0 16px;font-size:13.5px;color:var(--fg);flex:0 1 auto;max-width:260px;min-width:0;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat}
.sel option{background:var(--lat);color:var(--fg)}
.chk{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fg2);min-height:44px;cursor:pointer}
.chk input{accent-color:var(--rojo);width:17px;height:17px}
.barra .btn{margin-left:auto}
.aviso-busca{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 14px;font-size:13.5px;color:var(--fg2)}
.aviso-busca b{color:var(--fg)}
.lista{list-style:none;display:grid;gap:4px;border-radius:var(--r);border:1px solid var(--linea);background:var(--c-base);box-shadow:var(--sombra);padding:6px}
.lista:empty{display:none}
.fila{width:100%;text-align:left;color:inherit;border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:auto minmax(150px,1.1fr) minmax(0,2.4fr) auto;gap:6px 18px;align-items:center;position:relative;transition:background-color .9s var(--out),translate .25s var(--out)}
@media (hover:hover) and (pointer:fine){.fila:hover{background-color:var(--vidrio);translate:3px 0;transition:background-color .2s,translate .25s var(--out)}}
.ava{width:44px;height:44px;border-radius:50%;background:var(--rojo-suave);color:var(--rojo-texto);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.fila.hot .ava{background:linear-gradient(135deg,#E4002B,#A41814);color:#fff}
.who{display:grid;min-width:0}
.who .n{font-size:16.5px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who .n.sin{color:var(--muted);font-weight:400;font-style:italic}
.who .t{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.datos{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.9fr);gap:12px;min-width:0}
.datos.con-asesor{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr)}
.datos label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.datos span.v{display:block;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.datos span.v.vac{color:var(--muted);font-weight:400}
.der{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}
.hora{font-size:12px;color:var(--muted)}
.res{grid-column:2 / -1;font-size:13.5px;color:var(--fg2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fila.sin-abrir{background-color:var(--rojo-suave)}
.fila.sin-abrir::before{content:"";position:absolute;left:5px;top:24px;width:7px;height:7px;border-radius:50%;background:var(--rojo-vivo)}
.fila.cerrado{opacity:.62}
.fila.nuevo-ent{animation:filaEnt .6s var(--out) both}
.fila.cambio{background-color:var(--rojo-suave);transition:none}
@keyframes filaEnt{from{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}
.pill{display:inline-flex;align-items:center;gap:7px;height:28px;border-radius:99px;padding:0 12px 0 10px;font-size:13px;font-weight:500;white-space:nowrap}
.pill i{width:8px;height:8px;border-radius:50%}
.pill.nuevo{background:var(--nuevo-f);color:var(--nuevo-t)}.pill.nuevo i{background:var(--nuevo-d)}
.pill.caliente{background:var(--caliente-f);color:var(--caliente-t)}.pill.caliente i{background:var(--caliente-d)}
.pill.tibio{background:var(--tibio-f);color:var(--tibio-t)}.pill.tibio i{background:var(--tibio-d)}
.pill.frio{background:var(--frio-f);color:var(--frio-t)}.pill.frio i{background:var(--frio-d)}
.pill.descartado{background:var(--desc-f);color:var(--desc-t)}.pill.descartado i{background:var(--desc-d)}
.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tag{height:22px;border-radius:999px;background:var(--nuevo-f);color:var(--nuevo-t);font-size:12px;font-weight:500;padding:0 9px;display:inline-flex;align-items:center;white-space:nowrap}
.tag.rojo{background:var(--caliente-f);color:var(--caliente-t)}
.tag.ambar{background:var(--tibio-f);color:var(--tibio-t)}
.tag.verde{background:var(--ok-f);color:var(--ok-t)}
.tag.azul{background:var(--frio-f);color:var(--frio-t)}
.tag.anuncio{background:var(--frio-f);color:var(--frio-t);max-width:260px;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:22px}
.tag.sin-abrir{background:var(--rojo);color:#fff}

/* estados vacío / cargando / error */
.estado{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--muted);padding:64px 20px;background:var(--c-base);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra)}
.estado svg{width:44px;height:44px;stroke:var(--muted);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.estado .btn svg{width:18px;height:18px;stroke:currentColor}
.estado h3{font-size:18px;font-weight:500;color:var(--fg)}
.estado p{font-size:14px;max-width:420px}
.estado .btn{margin-top:8px}
.esq{height:84px;border-radius:18px;background:var(--vidrio);animation:pulso 1.4s ease-in-out infinite}
.esq:nth-child(2){animation-delay:.12s}.esq:nth-child(3){animation-delay:.24s}
@keyframes pulso{50%{opacity:.5}}

/* ---------- panel del prospecto ---------- */
.scrim{position:fixed;inset:0;z-index:55;background:rgba(17,8,9,.42);opacity:0;pointer-events:none;transition:opacity 260ms var(--out)}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(580px,100vw);background:var(--lat);border-left:1px solid var(--linea);box-shadow:var(--sombra-alta);display:flex;flex-direction:column;
  translate:104% 0;visibility:hidden;transition:translate 280ms var(--drawer),visibility 0s linear 280ms;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.on{translate:0 0;visibility:visible;transition:translate 280ms var(--drawer)}
.dhd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px max(20px,env(safe-area-inset-right,0px)) 16px 22px;background:var(--hero);color:#fff;position:relative;overflow:hidden}
.dhd::before{content:"";position:absolute;inset:0;background:radial-gradient(360px 200px at 90% 0%,var(--hero-halo),transparent 70%);pointer-events:none}
.dhd>*{position:relative}
.dhd .ava{width:52px;height:52px;background:#fff;color:var(--rojo);font-size:16px}
.dhd h2{font-size:21px;font-weight:500;line-height:1.2;overflow-wrap:anywhere}
.dhd .t{font-size:13px;color:var(--hero-muted);font-variant-numeric:tabular-nums}
.dhd .x{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center}
.dhd .x svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.dbody{flex:1;overflow-y:auto;padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px}
.dtags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dg{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;border:1px solid var(--linea);border-radius:20px;padding:16px;background:var(--c-base)}
.dk{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.dv{font-size:14.5px;font-weight:500;overflow-wrap:anywhere}
.dv.vac{color:var(--muted);font-weight:400}
.lnk{color:var(--rojo-texto)}
.aviso-of{display:flex;gap:10px;align-items:flex-start;border-radius:16px;padding:12px 14px;background:var(--tibio-f);color:var(--tibio-t);font-size:13.5px}
.aviso-of svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.dres p{font-size:14.5px;line-height:1.55;color:var(--fg2);overflow-wrap:anywhere;margin-top:2px}
.hist{background:var(--chat);border:1px solid var(--linea);border-radius:20px;padding:14px 12px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:8px 12px 6px;border-radius:14px;font-size:14px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.08);overflow-wrap:anywhere;white-space:pre-wrap}
.msg.estudiante{align-self:flex-start;background:var(--msg-est);border-top-left-radius:4px}
.msg.agente{align-self:flex-end;background:var(--c-rojo);border-top-right-radius:4px}
.msg.asesor{align-self:flex-end;background:var(--c-arena);border-top-right-radius:4px}
.msg .q{display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--msg-meta);margin-bottom:2px}
.msg .tm{display:block;text-align:right;font-size:11px;color:var(--msg-meta);margin-top:2px}
.msg .nota{display:block;font-size:11.5px;font-weight:600;color:var(--caliente-t);margin-top:3px}
.msg .nota.gris{color:var(--msg-meta)}
.dpie{padding:14px 22px 18px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:10px;background:var(--lat)}
.dpie .fila-b{display:flex;gap:8px;flex-wrap:wrap}
.dpie .fila-b .btn{flex:1;min-width:120px}
.dpie .wa{min-height:50px;font-size:15.5px;width:100%}
.dbot{font-size:13px;color:var(--muted)}
/* responder desde el tablero (2026-10-27): vive FUERA de #dPie para que el repintado del poll no le borre el texto ni el foco */
.dcompo{padding:12px 22px 0;background:var(--lat);border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:8px}
.dcompo:empty,.dcompo [hidden]{display:none!important}
.dform{display:flex;gap:10px;align-items:flex-end}
.dform textarea{flex:1;min-width:0;min-height:46px;max-height:140px;resize:none;field-sizing:content;border-radius:23px;border:1px solid var(--linea);padding:12px 18px;font:inherit;font-size:15px;line-height:1.4;background:var(--bg);color:var(--fg)}
.dform textarea:focus{outline:none;border-color:var(--rojo-texto);box-shadow:0 0 0 4px var(--rojo-suave)}
.dform textarea:disabled{opacity:.6;cursor:not-allowed}
.dform .btn{min-height:46px;padding:0 18px}
.dcompo .cuenta{font-size:12px;color:var(--muted);text-align:right;min-height:0}
.dcompo .cuenta:empty{display:none}
.dcompo + .dpie{border-top:0}
.dform.pl .sel{flex:1;max-width:none;height:46px}
.pl-vista{margin:0;font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:80;translate:-50% 14px;background:var(--fg);color:var(--bg);border-radius:999px;padding:11px 20px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;box-shadow:var(--sombra-alta);transition:opacity 200ms var(--out),translate 220ms var(--out);max-width:calc(100vw - 32px);text-align:center}
.toast.on{opacity:1;translate:-50% 0}
.toast.err{background:var(--caliente-t);color:#fff}

/* ---------- login ---------- */
.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));background:var(--hero);position:relative}
.centro::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 85% -10%,rgba(255,180,170,.26),transparent 70%),radial-gradient(600px 420px at 0% 110%,rgba(0,0,0,.35),transparent 70%);pointer-events:none}
.lcard{position:relative;width:100%;max-width:420px;background:var(--lat);color:var(--fg);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:36px 32px 32px;display:flex;flex-direction:column;align-items:stretch;animation:entraL 420ms var(--out)}
@keyframes entraL{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.lcard img{width:230px;max-width:70%;height:auto;display:block;margin:0 auto}
.lcard h1{font-size:26px;font-weight:500;text-align:center;margin:20px 0 2px;letter-spacing:-.02em}
.lcard p.sub{font-size:14px;color:var(--muted);text-align:center;margin-bottom:24px}
.lf{margin-bottom:14px}
.lf label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.lf input{width:100%;height:48px;border-radius:14px;border:1px solid var(--linea);background:var(--bg);padding:0 16px;font-size:16px;color:var(--fg);transition:box-shadow 160ms var(--out),border-color 160ms var(--out)}
.lf input:focus{outline:0;border-color:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg) 12%,transparent)}
.lcard .btn{width:100%;min-height:50px;font-size:16px;margin-top:8px}
.msgbox{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:16px}
.msgbox svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}
.msgbox.err{background:var(--caliente-f);color:var(--caliente-t)}
.msgbox.warn{background:var(--tibio-f);color:var(--tibio-t)}

/* ---------- /probar ---------- */
.pgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.chat{background:var(--chat);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra);display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - 230px);min-height:440px}
.chat .hd{min-height:64px;background:var(--lat);display:flex;align-items:center;gap:12px;padding:10px 18px;flex:none;border-bottom:1px solid var(--linea)}
.chat .hd b{font-weight:500;font-size:16px;display:block}
.chat .hd small{font-size:12px;color:var(--muted);display:block;line-height:1.2}
.chat .hd .btn{margin-left:auto}
.hilo{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:8px}
.b{max-width:80%;padding:8px 12px 6px;border-radius:14px;font-size:15px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.08);overflow-wrap:anywhere;white-space:pre-wrap;animation:burbuja 200ms var(--out)}
.b.a{align-self:flex-start;background:var(--c-rojo);border-top-left-radius:4px;transform-origin:left bottom}
.b.p{align-self:flex-end;background:var(--msg-est);border-top-right-radius:4px;transform-origin:right bottom}
.b.err{align-self:center;background:var(--caliente-f);color:var(--caliente-t);box-shadow:none;font-size:13px;max-width:92%}
.b.av{align-self:center;background:var(--tibio-f);color:var(--tibio-t);box-shadow:none;font-size:12px;max-width:92%}
@keyframes burbuja{from{opacity:0;translate:0 8px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
.ty{align-self:flex-start;background:var(--c-rojo);border-radius:14px;border-top-left-radius:4px;padding:13px 14px;display:flex;gap:5px}
.ty i{width:7px;height:7px;border-radius:50%;background:var(--msg-meta);animation:dot 1s ease-in-out infinite}
.ty i:nth-child(2){animation-delay:.15s}.ty i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{translate:0 0;opacity:.55}30%{translate:0 -4px;opacity:1}}
.vacio-chat{margin:auto;text-align:center;color:var(--msg-meta);font-size:14px;max-width:320px;padding:20px}
.compo{display:flex;gap:10px;padding:10px 14px;background:var(--lat);border-top:1px solid var(--linea);flex:none}
.compo input{flex:1;min-width:0;height:46px;border-radius:23px;border:1px solid var(--linea);padding:0 20px;font-size:15px;background:var(--bg);color:var(--fg)}
.compo input:focus{outline:none;border-color:var(--rojo-texto);box-shadow:0 0 0 4px var(--rojo-suave)}
.compo .btn{min-height:46px;padding:0 18px}
.compo .btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ficha{background:var(--c-arena);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra);padding:20px}
.ficha h3{font-size:16px;font-weight:700;margin-bottom:14px}
.ficha .dg{grid-template-columns:1fr;gap:12px;background:var(--vidrio)}
.ficha .nota{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.45}
.nota-prueba{display:flex;gap:10px;align-items:flex-start;background:var(--frio-f);color:var(--frio-t);border-radius:16px;padding:12px 16px;font-size:13.5px;margin-bottom:16px}
.nota-prueba svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}

/* ---------- entradas en secuencia (forma A&M): nacen ocultas y se sueltan juntas, 90-110 ms entre cajas ---------- */
@keyframes rebote{0%{opacity:0;translate:0 -30px;scale:.96}52%{opacity:1;translate:0 7px;scale:1.01}76%{translate:0 -3px;scale:.997}100%{opacity:1;translate:0 0;scale:1}}
@keyframes rebote-h{0%{opacity:0;translate:0 -42px;scale:.95;filter:blur(7px)}50%{opacity:1;translate:0 9px;scale:1.012;filter:blur(0)}76%{translate:0 -4px;scale:.997}100%{opacity:1;translate:0 0;scale:1;filter:blur(0)}}
@keyframes remate{0%,100%{scale:1}35%{scale:1.035}65%{scale:.992}}
.pre{opacity:0}
.in{animation:rebote .75s ease-out var(--d,0ms) both}
.in.hero{animation-name:rebote-h;animation-duration:.95s}
.in.ult{animation:rebote .75s ease-out var(--d,0ms) both,remate .55s ease-out calc(var(--d,0ms) + .78s) none}

/* ---------- respuesta ---------- */
@media (max-width:1100px){
  .s4,.s6,.s8{grid-column:span 12}.s4.sm{grid-column:span 6}
  .hero{grid-row:auto}
  .fila{grid-template-columns:auto minmax(0,1fr) auto}.fila .datos{grid-column:2/-1;grid-row:2}
  .pgrid{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:14px}
  .armazon{grid-template-columns:minmax(0,1fr);padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .sup{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:14px}
  .buscar{grid-column:1/-1;order:3;max-width:none}
  .marca img{height:34px}.marca .tt{display:none}
  .yo{padding:4px;min-height:0}.yo .txt{display:none}.yo .av{width:36px;height:36px}
  .circ{width:44px;height:44px}
  .lat{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;border-radius:24px 24px 0 0;grid-auto-flow:column;grid-auto-columns:1fr;
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));box-shadow:0 -10px 30px rgba(0,0,0,.18)}
  .lat a,.lat button{padding:9px 2px 7px;font-size:11px;border-radius:16px}.lat .sep{display:none}.lat .cnt{right:calc(50% - 26px)}
  .s4.sm{grid-column:span 12}
  .tj{padding:18px}
  .hero{padding:20px;min-height:0}
  .hero .fila1{grid-template-columns:1fr}.anillo{display:none}
  .foco{grid-template-columns:auto minmax(0,1fr)}.foco .btn{grid-column:1/-1}
  .mini3{grid-template-columns:1fr}.mini3>button{grid-template-columns:auto auto minmax(0,1fr)}.mini3 small{grid-column:auto}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .st{padding:12px 14px 14px}.st b{font-size:30px}
  .barra .sel{flex:1 1 calc(50% - 5px);max-width:none}
  #selCarrera{flex:1 1 100%}
  .barra .btn{margin-left:0;flex:1 1 100%}
  .fila{grid-template-columns:auto minmax(0,1fr);padding:14px 12px;gap:8px 12px}
  .fila .datos,.datos.con-asesor{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr 1fr;gap:8px 12px}
  .datos>div:first-child{grid-column:1/-1}
  .der{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px}
  .tags{justify-content:flex-start}
  .res{grid-column:1/-1}
  .drawer{width:100vw}
  .dhd{padding:16px 16px 12px}.dbody{padding:14px 16px 12px}.dcompo{padding:10px 16px 0}.dpie{padding:12px 16px 16px}
  .lcard{padding:30px 22px 26px}
  .chat{height:calc(100vh - 300px);min-height:380px}
  /* áreas táctiles de 44 px */
  .seg button,.btn.chico,.reparto button{min-height:44px}
  .barras button{min-height:44px;align-content:center}
  .marca{min-height:44px}
  .buscar .limpiar{width:44px;height:44px}.dhd .x{width:44px;height:44px}
  /* ficha compacta: la conversación necesita espacio útil */
  .dhd{padding:10px 14px 10px;gap:12px}.dhd .ava{width:42px;height:42px;font-size:14px}.dhd h2{font-size:18px}.dhd .t{font-size:12px}
  .dbody{padding:12px 16px 10px;gap:12px}.dtags{gap:6px}
  .dg,.dg{grid-template-columns:1fr 1fr;padding:12px;gap:8px 12px;border-radius:16px}.dg>div{min-width:0}
  .hist{min-height:200px}
  .dcompo{padding:8px 16px 0}.dform textarea{min-height:42px;max-height:96px;padding:10px 16px}.dform .btn{min-height:44px;padding:0 14px}
  .dpie{padding:8px 16px 10px;gap:8px}.dbot{font-size:12px}
  .dpie .wa{min-height:44px;font-size:14.5px}
  .dpie .fila-b{flex-wrap:nowrap}.dpie .fila-b .btn{min-width:0;padding:0 8px;font-size:13px;line-height:1.15;white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .in,.in.hero,.in.ult,.fila.nuevo-ent,.b,.lcard,.st b.tick{animation:none}.pre{opacity:1}
  .drawer,.drawer.on,.scrim,.toast,.pop,.pop.on{transition-duration:.01ms}
  .esq,.ty i{animation:none}.barras .rl i{transition:none}
}
