/* Ofelia · app web del móvil (PWA). Estilo tipo ChatGPT móvil; oscuro/claro según el sistema. */
:root{--bg:#ffffff;--bg2:#f4f4f4;--surface:#ffffff;--surface2:#ececec;--line:#e3e3e3;--text:#0d0d0d;--text2:#5d5d5d;--text3:#8f8f8f;
--accent:#0e9aa7;--accent2:#0b7f89;--accentfg:#fff;--bubble:#f0f0f0;--yo:#e3f4f5;--danger:#e5484d;--ok:#22c55e;--warn:#f59e0b;
--tabbar:rgba(255,255,255,.92);--shadow:0 6px 24px rgba(0,0,0,.12);--r:18px;
--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);
color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#212121;--bg2:#171717;--surface:#2f2f2f;--surface2:#3a3a3a;--line:#3d3d3d;--text:#ececec;--text2:#b4b4b4;
--text3:#8a8a8a;--bubble:#2f2f2f;--yo:#173f43;--tabbar:rgba(23,23,23,.92);--shadow:0 6px 24px rgba(0,0,0,.5)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;
-webkit-text-size-adjust:100%;overscroll-behavior:none}
body{position:fixed;inset:0;overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,textarea,select{font:inherit;color:var(--text)}
a{color:var(--accent)}
svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hidden{display:none!important}
/* ---------------- pantalla de entrada */
#login{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(24px + var(--sat)) 28px calc(24px + var(--sab));text-align:center;gap:14px;background:var(--bg)}
#login img{width:104px;height:104px;border-radius:50%;box-shadow:var(--shadow)}
#login h1{font-size:26px;margin:6px 0 0}#login p{color:var(--text2);margin:0;max-width:320px}
.gbtn{display:flex;align-items:center;gap:10px;justify-content:center;background:var(--text);color:var(--bg);border-radius:999px;padding:14px 22px;font-weight:600;font-size:16px;min-width:260px}
.gbtn:disabled{opacity:.6}
#loginMsg{color:var(--danger);font-size:14px;min-height:20px;max-width:320px}
.small{font-size:13px;color:var(--text3)}
/* ---------------- estructura */
#app{position:fixed;inset:0;display:flex;flex-direction:column}
main{flex:1;position:relative;overflow:hidden}
.view{position:absolute;inset:0;display:none;flex-direction:column;background:var(--bg)}
.view.on{display:flex}
.vh{display:flex;align-items:center;gap:6px;padding:calc(6px + var(--sat)) calc(8px + var(--sar)) 6px calc(8px + var(--sal));min-height:calc(52px + var(--sat));
border-bottom:1px solid transparent;background:var(--bg);position:relative;z-index:3}
.vh h1{font-size:17px;font-weight:600;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.vh .sub{display:block;font-size:12px;font-weight:400;color:var(--text3)}
.ib{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);flex:none}
.ib:active{background:var(--surface2)}.ib:disabled{opacity:.35}
.vb{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px calc(14px + var(--sar)) 16px calc(14px + var(--sal))}
nav.tabs{display:flex;justify-content:space-around;align-items:stretch;background:var(--tabbar);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);
border-top:1px solid var(--line);padding:4px calc(4px + var(--sar)) calc(4px + var(--sab)) calc(4px + var(--sal));z-index:5}
nav.tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0 3px;color:var(--text3);font-size:10.5px;position:relative;min-width:0}
nav.tabs button svg{width:24px;height:24px}
nav.tabs button.on{color:var(--accent)}
.bdg{position:absolute;top:1px;left:calc(50% + 6px);min-width:17px;height:17px;border-radius:9px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;display:none;align-items:center;justify-content:center;padding:0 4px}
.bdg.on{display:flex}
/* ---------------- chat (Ofelia, Peña, GPT) */
.msgs{display:flex;flex-direction:column;gap:10px;padding-bottom:6px}
.m{max-width:86%;padding:9px 13px;border-radius:var(--r);background:var(--bubble);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;align-self:flex-start;font-size:15.5px}
.m.yo{align-self:flex-end;background:var(--yo)}
.m small{display:block;font-size:11px;color:var(--text3);margin-top:3px}
.m .q2{display:block;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:2px}
.m.call{align-self:center;background:transparent;color:var(--text3);font-size:13px;padding:2px}
.m.ofe{background:transparent;padding:2px 2px;max-width:100%}
.empty{color:var(--text3);text-align:center;padding:36px 12px;font-size:15px}
.composer{padding:8px calc(10px + var(--sar)) 8px calc(10px + var(--sal));background:var(--bg)}
.cbox{display:flex;align-items:flex-end;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:5px 5px 5px 14px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.cbox textarea{flex:1;border:0;outline:0;background:transparent;resize:none;max-height:150px;min-height:24px;padding:8px 0;line-height:1.35;font-size:16px}
.send{width:38px;height:38px;border-radius:50%;background:var(--text);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;flex:none}
.send:disabled{opacity:.25}.send.stop{background:var(--text)}
.send svg{width:20px;height:20px;stroke-width:2.4}
.mic.rec{background:var(--danger);color:#fff;border-radius:50%}
.typing{color:var(--text3);font-size:13px;padding:2px 4px;display:none}.typing.on{display:block}
.dots::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:dots 1.2s steps(4) infinite}
@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
/* markdown */
.md p{margin:0 0 .6em}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:.2em 0 .6em;padding-left:1.3em}.md li{margin:.15em 0}
.md pre{background:var(--bg2);border-radius:12px;padding:10px 12px;overflow-x:auto;font-size:13px;white-space:pre}
.md code{background:var(--surface2);border-radius:5px;padding:1px 5px;font-size:.88em}.md pre code{background:none;padding:0}
.md table{border-collapse:collapse;display:block;overflow-x:auto;font-size:14px;margin:.4em 0}.md td,.md th{border:1px solid var(--line);padding:5px 8px}
.md h1,.md h2,.md h3,.md h4{font-size:1.05em;margin:.6em 0 .3em}.md blockquote{margin:.4em 0;padding-left:10px;border-left:3px solid var(--line);color:var(--text2)}
.md a.cit{display:inline-block;font-size:11.5px;background:var(--surface2);color:var(--text2);border-radius:9px;padding:0 7px;text-decoration:none;margin:0 2px}
.fu{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fu a{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text2);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:3px 9px;text-decoration:none}
.acts{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--text3);font-size:12px}.acts button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
.acts svg{width:16px;height:16px}
.hola{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60%;text-align:center;gap:14px;padding:20px 0}
.hola h2{font-size:24px;margin:0;font-weight:600}.hola img{width:64px;height:64px;border-radius:50%}
.sug{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sug button{border:1px solid var(--line);border-radius:16px;padding:8px 12px;font-size:14px;color:var(--text2);text-align:left;background:var(--surface)}
/* ---------------- listas */
.row{display:flex;align-items:center;gap:12px;padding:9px 4px;border-radius:14px;min-height:58px}
.row:active{background:var(--surface2)}
.av{width:44px;height:44px;border-radius:50%;background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--text2);position:relative;flex:none;overflow:visible}
.av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.av.gen{background:var(--accent);color:#fff;font-size:20px}
.av .dot{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:50%;border:2.5px solid var(--bg);background:var(--text3)}
.nm{flex:1;min-width:0}.nm b{display:block;font-weight:600;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nm small{display:block;color:var(--text3);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nm small.nu{color:var(--text);font-weight:600}
.un{min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.ck{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none}
.ck.on{background:var(--accent);border-color:var(--accent);color:#fff}.ck svg{width:15px;height:15px;stroke-width:3}.ck.no{visibility:hidden}
.sec{font-size:12.5px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin:14px 4px 4px}
.search{display:flex;align-items:center;gap:8px;background:var(--surface2);border-radius:12px;padding:0 12px;margin:2px 0 8px}
.search input{flex:1;border:0;outline:0;background:transparent;padding:10px 0;font-size:16px}
.seg{display:flex;background:var(--surface2);border-radius:12px;padding:3px;gap:2px;margin:0 0 8px}
.seg button{flex:1;padding:7px 4px;border-radius:9px;font-size:13.5px;color:var(--text2);font-weight:500}
.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 14px;margin:0 0 10px}
.card h3{font-size:15.5px;margin:0 0 4px}.card p{margin:4px 0;color:var(--text2);font-size:14.5px;white-space:pre-wrap}
.card.new{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.meta{font-size:12.5px;color:var(--text3)}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.b{border-radius:999px;padding:9px 15px;font-size:14.5px;font-weight:600;background:var(--surface2);color:var(--text)}
.b.pri{background:var(--accent);color:var(--accentfg)}.b.red{background:var(--danger);color:#fff}.b.grn{background:var(--ok);color:#fff}
.b:disabled{opacity:.5}
.selbar{position:sticky;bottom:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:10px 12px;box-shadow:var(--shadow);margin-top:10px}
.selbar .t{display:flex;align-items:center;gap:8px;font-size:14px}.selbar .t .sp{flex:1}
.pmsg{font-size:13.5px;color:var(--text2);margin-top:8px}
.tag{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:9px;background:var(--surface2);color:var(--text2);margin-left:4px;vertical-align:1px}
.tag.ok{background:rgba(34,197,94,.16);color:#16a34a}.tag.no{background:rgba(229,72,77,.15);color:var(--danger)}
/* ---------------- ajustes */
.grp{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:0 0 14px;overflow:hidden}
.grp h4{margin:0;padding:12px 14px 4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}
.it{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);font-size:15px}.grp h4+.it{border-top:0}
.it .tx{flex:1;min-width:0}.it .tx small{display:block;color:var(--text3);font-size:13px}
.sw{position:relative;width:50px;height:30px;flex:none}.sw input{opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:var(--surface2);border-radius:15px;transition:.2s}.sw i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.2s}
.sw input:checked+i{background:var(--ok)}.sw input:checked+i::after{transform:translateX(20px)}
/* ---------------- hoja inferior */
#sheetBg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
#sheetBg.on{opacity:1;pointer-events:auto}
#sheet{position:fixed;left:0;right:0;bottom:0;max-height:88%;background:var(--bg);border-radius:20px 20px 0 0;z-index:41;transform:translateY(105%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:var(--shadow)}
#sheet.on{transform:none}
#sheet .grab{width:38px;height:5px;border-radius:3px;background:var(--line);margin:8px auto 2px}
#sheet .sh{display:flex;align-items:center;padding:4px 10px 6px 16px}#sheet .sh h2{flex:1;font-size:17px;margin:0}
#sheetB{overflow-y:auto;padding:4px 16px calc(18px + var(--sab))}
.f{display:block;margin:0 0 12px}.f>span{display:block;font-size:13px;color:var(--text3);margin-bottom:4px}
.f input,.f select,.f textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:16px;outline:0}
.duo{display:flex;gap:10px}.duo .f{flex:1}
dl.fl{margin:6px 0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14.5px}dl.fl dt{color:var(--text3)}dl.fl dd{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;position:relative}
.chip{display:inline-flex;align-items:center;gap:4px;background:var(--surface2);border-radius:14px;padding:4px 6px 4px 10px;font-size:14px}.chip button svg{width:14px;height:14px}
.chips input{border:0;outline:0;background:transparent;flex:1;min-width:100px;padding:6px}
.sugs{position:absolute;left:0;right:0;top:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:3;max-height:220px;overflow:auto}
.sugs div{padding:10px 12px;font-size:15px}.sugs small{display:block;color:var(--text3);font-size:12px}
.menu{position:absolute;top:calc(48px + var(--sat));left:8px;right:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:10;padding:6px;display:none}
.menu.on{display:block}.menu .mo{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px}.menu .mo.sel{background:var(--surface2)}
.menu .mo div{flex:1}.menu .mo b{display:block;font-size:15px}.menu .mo span{font-size:12.5px;color:var(--text3)}.menu .mhint{font-size:12px;color:var(--text3);padding:6px 12px}
/* cajón de chats GPT */
#drawer{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.4);display:none}#drawer.on{display:block}
#drawer .dp{position:absolute;top:0;bottom:0;left:0;width:84%;max-width:340px;background:var(--bg2);padding:calc(10px + var(--sat)) 10px calc(10px + var(--sab));overflow-y:auto}
#drawer .dg{font-size:12px;color:var(--text3);font-weight:600;margin:14px 8px 4px}
#drawer .di{display:flex;align-items:center;padding:10px 8px;border-radius:10px;font-size:15px;gap:6px}#drawer .di span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#drawer .di.on{background:var(--surface2)}
.att{display:none}
/* ---------------- llamada (pantalla completa) */
.callov{position:fixed;inset:0;z-index:60;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:#fff;
background:linear-gradient(160deg,#0e9aa7,#06525a);padding:calc(30px + var(--sat)) 24px calc(30px + var(--sab))}
.callov.on{display:flex}
.callov .cav{width:118px;height:118px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;overflow:hidden;border:3px solid rgba(255,255,255,.7)}
.callov .cav img{width:100%;height:100%;object-fit:cover}.callov .cav.pulse{animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 24px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.callov h2{font-size:26px;margin:16px 0 2px}.callov .cst{opacity:.92;min-height:22px}.callov .ctm{opacity:.8;font-variant-numeric:tabular-nums;min-height:20px}
.cbts{display:flex;gap:26px;margin-top:34px}.cbts button{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);color:#fff}
.cbts button svg{width:28px;height:28px}.cbts .hang{background:#ef4444}.cbts .ans{background:#22c55e}.cbts button.on{background:#f59e0b}
.callov .cnota{font-size:13px;opacity:.8;max-width:320px;margin-top:20px}.callov .cnota a{color:#fff}
.callov .lv{height:6px;width:150px;background:rgba(255,255,255,.2);border-radius:3px;margin-top:14px;overflow:hidden}.callov .lv i{display:block;height:100%;width:0;background:#a7f3d0}
.mvbox{margin-top:18px;max-width:330px;width:100%}.mvbox .card{background:rgba(0,0,0,.25);border:0;color:#fff;text-align:left}.mvbox .card dt{color:rgba(255,255,255,.7)}
/* voip (Twilio) */
.ov-filas{width:100%;border-collapse:collapse;font-size:14.5px;margin:4px 0 10px}.ov-filas th{text-align:left;color:var(--text3);font-weight:500;padding:5px 10px 5px 0;vertical-align:top;white-space:nowrap}.ov-filas td{padding:5px 0}
.ov-btn{display:block;width:100%;border-radius:14px;padding:13px;font-weight:600;font-size:16px;background:var(--surface2);margin-top:8px}
.ov-llamar{background:var(--ok);color:#fff}.ov-colgar{background:var(--danger);color:#fff}
.ov-row{display:flex;gap:8px}.ov-row .ov-btn{flex:1}
.ov-estado{font-weight:600;font-size:16px;margin:6px 0}.ov-crono{font-variant-numeric:tabular-nums;color:var(--text2);font-size:28px;margin:4px 0}
.ov-teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.ov-k{padding:14px;border-radius:12px;background:var(--surface2);font-size:20px;font-weight:600}
.ov-nota{font-size:13px;color:var(--text3);margin-top:8px}
.err{color:var(--danger)}
/* café */
.cafe .cm{display:flex;gap:8px;align-items:flex-end;margin:8px 0}.cafe .cm.yo{flex-direction:row-reverse}
.cafe .cara{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;flex:none;overflow:hidden}
.cafe .cara img{width:100%;height:100%;object-fit:cover}
.cafe .bx{background:var(--bubble);border-radius:16px;padding:7px 11px;max-width:78%;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.cafe .cm.yo .bx{background:var(--yo)}.cafe .bx small{display:block;font-size:11.5px;color:var(--text3)}
.crc{display:inline-block;font-size:12px;background:var(--surface2);border-radius:10px;padding:0 6px;margin:3px 3px 0 0}
.cpick{display:flex;gap:10px;font-size:22px;padding:4px 0}
/* aviso y avisos */
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + var(--sab));background:var(--text);color:var(--bg);padding:10px 16px;border-radius:14px;font-size:14px;z-index:80;
max-width:88%;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s}
#toast.on{opacity:1}
.banner{background:rgba(245,158,11,.16);color:var(--text);border-radius:12px;padding:10px 12px;font-size:14px;margin:0 0 10px;display:flex;gap:10px;align-items:center}
.banner .sp{flex:1}
.est{font-size:13px;background:var(--surface2);border-radius:14px;padding:6px 10px;white-space:nowrap}
/* ---------------- Peña: estado, café, transcripciones */
.est .b{white-space:nowrap}
.selbar .btns{margin-top:8px}.selbar .sp{flex:1}
.trx{margin-top:8px;border-top:1px solid var(--line);padding-top:4px;font-size:14.5px}
.cfaqui{display:flex;flex-wrap:wrap;gap:6px}
.cfp{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex:none;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.cm{display:flex;gap:8px;align-items:flex-end}.cm.yo{flex-direction:row-reverse}.cm .bw{max-width:80%;display:flex;flex-direction:column}.cm.yo .bw{align-items:flex-end}
.cm .m{max-width:100%}
.cq{font-size:12.5px;border-left:3px solid var(--accent);padding-left:6px;margin-bottom:4px;color:var(--text2)}
.crs{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.crc{font-size:13px;background:var(--surface2);border-radius:10px;padding:1px 7px}.crc.mi{background:var(--yo);outline:1px solid var(--accent)}
.cpick{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:4px 8px;margin-top:4px;box-shadow:var(--shadow)}.cpick span{font-size:22px;padding:2px}
#pCont .cbox textarea{font-size:16px}
.m.md{white-space:normal}

/* 04/10/2026: marcador (Agenda del móvil / Pegar / Colegios de Flow) y barrita de versión nueva */
.marc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.marc-btns:empty{display:none}.marc-btns .b{padding:8px 13px;font-size:14px}
.marc-res{margin-top:10px}.marc-res .card{margin:8px 0;padding:10px 12px}.marc-res h3{margin:0;font-size:15px}.marc-res .meta{font-size:12.5px;color:var(--text3)}
.marc-tel{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.marc-tel .b{font-size:13.5px;padding:7px 11px;text-align:left}
.marc-tel .b small{display:block;font-weight:400;color:var(--text3);font-size:11.5px}
#upd{position:fixed;left:0;right:0;top:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;height:calc(50px + var(--sat));
padding:var(--sat) 14px 0;background:var(--accent);color:var(--accentfg);font-size:14.5px;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.18)}
#upd.hidden{display:none}#upd button{background:var(--accentfg);color:var(--accent2);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px}
#lPara{color:var(--accent2);font-weight:600}
body.con-upd #app{top:calc(50px + var(--sat))}body.con-upd .vh{padding-top:6px;min-height:52px}   /* la barrita empuja la app, no la tapa */
