/* ═══════════════════════════════════════════════════════════════════════════
   Olek AI Studio · Sistema de diseño · 15-oct-2026 · Bloques 3 y 4
   Dos temas: Tinta (oscuro, por defecto) y Papel (claro, data-theme="light").
   Lavanda del logo como acento. Letra Onest (SIL OFL, en assets/fonts).
   Se carga la última: los colores antiguos (--bg, --t1, --acc…, tokens.css v3)
   pasan a salir de estos, así las páginas que aún no se han rehecho ya cambian.
   Piezas nuevas con prefijo o- (no chocan con las antiguas).
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-latin.woff2?v=1) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-latin-ext.woff2?v=1) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-cyrillic.woff2?v=1) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ── 1. Colores base ─────────────────────────────────────────────────────── */
:root{
  /* Tinta */
  --o-bg:#121319;--o-surface:#191B23;--o-surface-2:#1F212B;--o-hover:#252835;
  --o-line:#2A2D39;--o-line-2:#363A48;
  --o-ink:#ECEDF4;--o-ink-2:#B4B6C7;--o-ink-3:#8D90A6;
  --o-accent:#BFC0F4;--o-accent-ink:#191A30;--o-accent-soft:#272845;--o-accent-line:#4A4C84;--o-accent-solid:#5B5FD6;
  --o-ok:#5CC492;--o-ok-soft:#1B3127;--o-warn:#E4B35A;--o-warn-soft:#382D18;--o-bad:#EF857C;--o-bad-soft:#3A2122;--o-info:#88AAF2;--o-info-soft:#1E2943;
  --o-cyan:#6CC5D3;--o-orange:#EBA06A;--o-pink:#E99AC0;
  --o-wa:#3FD07A;--o-tg:#4DB6F0;--o-ig:#F06A97;
  --o-shadow:0 0 0 1px rgba(255,255,255,.015);
  --o-shadow-pop:0 24px 60px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.05);
  --o-velo:rgba(6,7,11,.62);
  --o-a4:rgba(191,192,244,.04);--o-a8:rgba(191,192,244,.08);--o-a12:rgba(191,192,244,.12);--o-a18:rgba(191,192,244,.18);--o-a25:rgba(191,192,244,.25);--o-a40:rgba(191,192,244,.40);
  --o-r-s:8px;--o-r-m:12px;--o-r-l:16px;
  --o-font:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  --o-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  color-scheme:dark;

  /* Puente: colores del CRM antiguo (index.php) */
  --bg:var(--o-bg);--bg1:var(--o-bg);--bg2:var(--o-surface);--bg3:var(--o-surface-2);--bg4:var(--o-hover);
  --brd:var(--o-line);--brd2:var(--o-line-2);
  --t1:var(--o-ink);--t2:var(--o-ink-2);--t3:var(--o-ink-3);
  --acc:var(--o-accent-solid);--acc2:var(--o-accent);--acc3:#D6D7FA;
  --grn:var(--o-ok);--red:var(--o-bad);--ylw:var(--o-warn);--cyn:var(--o-cyan);--org:var(--o-orange);--pink:var(--o-pink);
  --glass:var(--o-surface);--glass2:var(--o-surface-2);--card:var(--o-surface);
  --blur:0px;--sh:none;--sh2:none;--sh-acc:none;
  --r:12px;--r2:16px;--r3:20px;
  --brand:#BFC0F4;--brand-dark:var(--o-accent);--brand-bg:var(--o-accent-soft);--brand-text:var(--o-accent-ink);

  /* Puente: tokens.css v3 */
  --primary:var(--o-accent-solid);--primary-hover:#6A6EE0;--primary-active:#4F52C4;--primary-text:var(--o-accent);--primary-muted:var(--o-accent-line);
  --primary-a4:var(--o-a4);--primary-a6:rgba(191,192,244,.06);--primary-a8:var(--o-a8);--primary-a12:var(--o-a12);--primary-a15:rgba(191,192,244,.15);--primary-a18:var(--o-a18);--primary-a25:var(--o-a25);--primary-a30:rgba(191,192,244,.30);--primary-a40:var(--o-a40);
  --primary-glow:none;--primary-glow-sm:none;
  --success:var(--o-ok);--success-text:var(--o-ok);--success-bold:var(--o-ok);--success-subtle:var(--o-ok-soft);--success-subtle-strong:var(--o-ok-soft);--success-border:rgba(92,196,146,.28);
  --warning:var(--o-warn);--warning-text:var(--o-warn);--warning-bold:var(--o-warn);--warning-subtle:var(--o-warn-soft);--warning-border:rgba(228,179,90,.28);
  --danger:var(--o-bad);--danger-text:var(--o-bad);--danger-bold:var(--o-bad);--danger-subtle:var(--o-bad-soft);--danger-border:rgba(239,133,124,.28);
  --info:var(--o-info);--info-text:var(--o-info);--info-bold:var(--o-info);--info-subtle:var(--o-info-soft);--info-border:rgba(136,170,242,.28);
  --text-primary:var(--o-ink);--text-secondary:var(--o-ink-2);--text-muted:var(--o-ink-3);--text-faint:var(--o-ink-3);--text-on-primary:#fff;--text-on-warning:#1a1a2e;
  --label-quaternary:var(--o-ink-3);
  --bg-base:var(--o-bg);--surface-1:var(--o-surface);--surface-2:var(--o-surface-2);--surface-3:var(--o-hover);--surface-4:var(--o-surface-2);--surface-elevated:var(--o-surface);
  --glass-overlay:var(--o-surface);--glass-blur-sm:0px;--glass-blur-md:0px;--glass-blur-lg:0px;
  --border-subtle:var(--o-line);--border-default:var(--o-line-2);--border-strong:#4A4E5E;--border-hover:var(--o-line-2);--border-focus:var(--o-accent-line);
  --orange-subtle:rgba(235,160,106,.12);--orange-border:rgba(235,160,106,.28);--pink-subtle:rgba(233,154,192,.12);--pink-border:rgba(233,154,192,.28);
  --muted-subtle:rgba(141,144,166,.14);--overlay-dim:var(--o-velo);--overlay-heavy:rgba(6,7,11,.72);
  --temp-hot:var(--o-bad);--temp-warm:var(--o-orange);--temp-cold:var(--o-info);--temp-new:var(--o-ink-3);
  --channel-whatsapp:var(--o-wa);--channel-telegram:var(--o-tg);--channel-instagram:var(--o-ig);--channel-email:var(--o-info);
  --shadow-xs:none;--shadow-sm:none;--shadow-md:var(--o-shadow-pop);--shadow-lg:var(--o-shadow-pop);--shadow-xl:var(--o-shadow-pop);
  --font:var(--o-font);--font-mono:var(--o-mono);
  --text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13.5px;--text-md:14px;
}
/* Papel */
:root[data-theme="light"]{
  --o-bg:#F2F3F6;--o-surface:#FFFFFF;--o-surface-2:#F7F8FA;--o-hover:#EEF0F5;
  --o-line:#E3E5EC;--o-line-2:#D3D6E0;
  --o-ink:#181922;--o-ink-2:#4A4D5E;--o-ink-3:#686B80;
  --o-accent:#4F52C4;--o-accent-ink:#FFFFFF;--o-accent-soft:#ECEDFD;--o-accent-line:#C7C9F6;--o-accent-solid:#4F52C4;
  --o-ok:#17734B;--o-ok-soft:#E2F3EA;--o-warn:#9A5F0C;--o-warn-soft:#FAF0DC;--o-bad:#BC362E;--o-bad-soft:#FBE6E4;--o-info:#2A5DBF;--o-info-soft:#E4ECFB;
  --o-cyan:#0E7490;--o-orange:#B4541A;--o-pink:#A63D74;
  --o-wa:#1FAF55;--o-tg:#2290CF;--o-ig:#D62E68;
  --o-shadow:0 1px 2px rgba(24,25,34,.05),0 10px 30px -18px rgba(24,25,34,.22);
  --o-shadow-pop:0 24px 60px -16px rgba(24,25,34,.28),0 0 0 1px rgba(24,25,34,.06);
  --o-velo:rgba(24,25,34,.32);
  --o-a4:rgba(79,82,196,.04);--o-a8:rgba(79,82,196,.08);--o-a12:rgba(79,82,196,.12);--o-a18:rgba(79,82,196,.18);--o-a25:rgba(79,82,196,.25);--o-a40:rgba(79,82,196,.40);
  color-scheme:light;
  --acc3:#7B7EDC;--brand:#9A9CE8;
  --primary-hover:#4346B0;--primary-active:#3B3E9E;
  --primary-a6:rgba(79,82,196,.06);--primary-a15:rgba(79,82,196,.15);--primary-a30:rgba(79,82,196,.30);
  --success-border:rgba(23,115,75,.25);--warning-border:rgba(154,95,12,.25);--danger-border:rgba(188,54,46,.25);--info-border:rgba(42,93,191,.25);
  --border-strong:#BCC0CC;
  --orange-subtle:rgba(180,84,26,.08);--orange-border:rgba(180,84,26,.22);--pink-subtle:rgba(166,61,116,.08);--pink-border:rgba(166,61,116,.22);
  --muted-subtle:rgba(104,107,128,.10);--overlay-heavy:rgba(24,25,34,.5);
  --shadow-xs:0 1px 2px rgba(24,25,34,.06);--shadow-sm:0 2px 8px rgba(24,25,34,.08);
}

/* ── 2. Base ─────────────────────────────────────────────────────────────── */
html{-webkit-text-size-adjust:100%;background:var(--o-bg)}
body{font-family:var(--o-font);font-size:14px;line-height:1.45;color:var(--o-ink);background:var(--o-bg);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'calt' 1}
button,input,select,textarea{font-family:inherit}
::selection{background:var(--o-a25)}
:focus-visible{outline:2px solid var(--o-accent);outline-offset:2px}
.o-num,.num{font-variant-numeric:tabular-nums}
svg.o-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:block}
*{scrollbar-width:thin;scrollbar-color:var(--o-line-2) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--o-line-2);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ── 3. Piezas ───────────────────────────────────────────────────────────── */
.o-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border-radius:var(--o-r-s);font-size:13.5px;font-weight:500;line-height:1;border:1px solid var(--o-line-2);background:var(--o-surface);color:var(--o-ink);white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-decoration:none}
.o-btn:hover{background:var(--o-hover)}
.o-btn:active{transform:translateY(1px)}
.o-btn.o-p{background:var(--o-accent);border-color:var(--o-accent);color:var(--o-accent-ink)}
.o-btn.o-p:hover{filter:brightness(1.06);background:var(--o-accent)}
.o-btn.o-q{background:transparent;border-color:transparent;color:var(--o-ink-2)}
.o-btn.o-q:hover{background:var(--o-hover);color:var(--o-ink)}
.o-btn.o-s{height:30px;padding:0 11px;font-size:13px}
.o-btn svg.o-i{width:16px;height:16px}
.o-btn[disabled]{opacity:.55;cursor:default}
.o-ib{width:36px;height:36px;padding:0;border-radius:10px;display:inline-grid;place-items:center;color:var(--o-ink-2);position:relative;cursor:pointer;background:transparent;border:0;flex-shrink:0;transition:background .15s,color .15s}
.o-ib:hover{background:var(--o-hover);color:var(--o-ink)}
.o-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--o-surface-2);color:var(--o-ink-2);white-space:nowrap}
.o-pill.ok{background:var(--o-ok-soft);color:var(--o-ok)}.o-pill.warn{background:var(--o-warn-soft);color:var(--o-warn)}
.o-pill.bad{background:var(--o-bad-soft);color:var(--o-bad)}.o-pill.info{background:var(--o-info-soft);color:var(--o-info)}
.o-pill.ai{background:var(--o-accent-soft);color:var(--o-accent)}
.o-kbd{font-family:var(--o-font);font-size:11.5px;color:var(--o-ink-3);border:1px solid var(--o-line-2);border-radius:5px;padding:0 5px;line-height:18px;font-weight:500}
.o-cnt{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--o-accent);color:var(--o-accent-ink);font-size:11.5px;font-weight:600;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums;line-height:1}
.o-cnt.urg{background:var(--o-bad);color:#fff}
:root:not([data-theme="light"]) .o-cnt.urg{color:#2B1210}
.o-cnt:empty,.o-cnt.hidden{display:none}
.o-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--o-accent-ink);background:var(--o-accent);flex-shrink:0;overflow:hidden}
.o-av img{width:100%;height:100%;object-fit:cover;display:block}
.o-mk{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--o-surface-2);color:var(--o-ink-2);flex-shrink:0}
.o-mk svg.o-i{width:16px;height:16px}
.o-mk.ai{background:var(--o-accent-soft);color:var(--o-accent)}.o-mk.bad{background:var(--o-bad-soft);color:var(--o-bad)}
.o-mk.warn{background:var(--o-warn-soft);color:var(--o-warn)}.o-mk.ok{background:var(--o-ok-soft);color:var(--o-ok)}.o-mk.info{background:var(--o-info-soft);color:var(--o-info)}
.o-muted{color:var(--o-ink-3)}

/* ── 4. Marco de la app ──────────────────────────────────────────────────── */
#app.show{display:grid;height:100dvh;background:var(--o-bg);grid-template-columns:232px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"side top" "side sub" "side main"}
#app>.content-area{display:contents}
#app .main{grid-area:main;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:26px 32px 48px;-webkit-overflow-scrolling:touch}
#app .main.msg-fullscreen{overflow:hidden!important;padding:0!important;display:flex!important;flex-direction:column}
#app .main.msg-fullscreen>.pg.act{flex:1;min-height:0;height:auto!important;margin:0!important;width:auto!important}
/* 16-oct-2026 · Bloque 7: Equipo (#pg-chat) y Portal (#pg-mensajes) los pinta assets/ds/mensajes.js; lo antiguo, solo si no carga (ms-antiguo) */
#pg-chat.act,#pg-mensajes.act{display:flex!important;flex-direction:column;min-height:0}
#pg-chat>.ms,#pg-mensajes>.ms{flex:1;min-height:0}
#pg-mensajes:not(.ms-antiguo)>:not(.ms){display:none!important}
#pg-mensajes.ms-antiguo>.ms{display:none}
.ms>.ms-carga{margin:auto;color:var(--o-ink-3);font-size:14px} /* sin las alturas fijas de la barra antigua (también en navegadores sin :has) */

/* Menú lateral */
.o-side{grid-area:side;display:flex;flex-direction:column;min-height:0;background:var(--o-surface);border-right:1px solid var(--o-line);padding:14px 10px 12px;overflow-y:auto;overflow-x:hidden}
.o-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--o-ink);white-space:nowrap}
.o-brand img{width:15px;height:24px;display:block;margin:0 3px 0 2px}
.o-nav{display:flex;flex-direction:column;gap:2px}
.o-ni{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:var(--o-r-s);color:var(--o-ink-2);text-decoration:none;font-weight:500;font-size:14px;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s,color .15s;border:0;background:transparent;width:100%;text-align:left}
.o-ni:hover{background:var(--o-hover);color:var(--o-ink)}
.o-ni .o-cnt{margin-left:auto}
.o-ni .o-tag{margin-left:auto;font-size:12px;color:var(--o-warn);font-weight:600;font-variant-numeric:tabular-nums}
.o-ni .o-tag:empty{display:none}
.o-ni.act{background:var(--o-accent-soft);color:var(--o-ink)}
.o-ni.act svg.o-i{color:var(--o-accent)}
.o-ni[hidden]{display:none}
.o-pie{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:2px}
.o-sep{height:1px;background:var(--o-line);margin:8px 10px}
.o-yo{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 10px;border-radius:var(--o-r-s);min-width:0}
.o-yo>div,.o-yo>a>div{min-width:0;flex:1} /* V5.70: el nombre lleva a Mi espacio */
.o-yo b{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-yo small{display:block;color:var(--o-ink-3);font-size:12px}

/* Barra superior */
.o-top{grid-area:top;display:flex;align-items:center;gap:10px;height:60px;padding:0 24px;border-bottom:1px solid var(--o-line);background:var(--o-bg);min-width:0}
.o-titulo{display:none;font-size:20px;font-weight:600;letter-spacing:-.015em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-cmd{flex:1;max-width:560px;display:flex;align-items:center;gap:10px;height:38px;padding:0 10px 0 12px;border-radius:10px;background:var(--o-surface);border:1px solid var(--o-line-2);color:var(--o-ink-3);font-size:14px;cursor:text;text-align:left;min-width:0}
.o-cmd:hover{border-color:var(--o-accent-line)}
.o-cmd .o-cmd-t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-sp{flex:1}
#notif-count{position:absolute;top:4px;right:3px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--o-bad);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--o-bg);pointer-events:none}
:root:not([data-theme="light"]) #notif-count{color:#2B1210}
.o-solo-movil{display:none!important}

/* Pestañas de la sección */
.o-sub{grid-area:sub;display:flex;align-items:center;gap:4px;padding:8px 24px;border-bottom:1px solid var(--o-line);background:var(--o-bg);overflow-x:auto;scrollbar-width:none;min-width:0}
.o-sub::-webkit-scrollbar{display:none}
.o-sub[hidden],.o-tabs[hidden]{display:none}
[hidden]{display:none!important}
.o-tabs{display:contents}
.o-tab{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:8px;color:var(--o-ink-2);font-weight:500;font-size:13.5px;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;border:0;background:transparent;flex-shrink:0}
.o-tab:hover{color:var(--o-ink);background:var(--o-hover)}
.o-tab.act{background:var(--o-surface);color:var(--o-ink);box-shadow:inset 0 0 0 1px var(--o-line-2)}
.o-tab[hidden]{display:none}
.o-tab .o-cnt{min-width:18px;height:18px;font-size:11px;padding:0 5px;display:inline-grid!important}
.o-tab .o-cnt.hidden,.o-tab .o-cnt:empty{display:none!important}

/* Barra inferior, hojas y velo (móvil) */
.o-bar{grid-area:bar;display:none}
.o-velo{position:fixed;inset:0;background:var(--o-velo);z-index:180;opacity:0;pointer-events:none;transition:opacity .2s}
.o-velo.open{opacity:1;pointer-events:auto}
.o-hoja{position:fixed;z-index:190;background:var(--o-surface);color:var(--o-ink);box-shadow:var(--o-shadow-pop);visibility:hidden;opacity:0;transition:opacity .16s,transform .2s cubic-bezier(.2,.9,.3,1),visibility 0s .2s}
.o-hoja.open{visibility:visible;opacity:1;transition:opacity .16s,transform .22s cubic-bezier(.2,.9,.3,1)}
.o-hoja h2{font-size:15px;font-weight:600;margin:2px 6px 8px}
.o-asa{display:none}
.o-op{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center;padding:8px 8px;min-height:52px;border-radius:10px;cursor:pointer;width:100%;text-align:left;background:transparent;border:0;color:inherit}
.o-op:hover,.o-op:focus-visible{background:var(--o-hover)}
/* app.css pone «transition:all» a todos los botones: aquí no (si no, al abrir una hoja sus botones siguen «ocultos» un instante y no reciben el foco) */
.o-op,.o-pal-i,.o-bi,.o-tab,.o-ni,.o-cmd,.o-ib,.o-hoja button{transition:background-color .15s,color .15s,border-color .15s}
.o-op .o-mk{width:36px;height:36px;border-radius:10px}
.o-op b{font-weight:500;font-size:14.5px;display:block}
.o-op small{color:var(--o-ink-2);font-size:12.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-op[hidden]{display:none}
.o-op .o-tag{color:var(--o-warn);font-size:12.5px;font-weight:600;margin-left:4px}.o-op .o-tag:empty{display:none}
.o-op .o-cnt{margin-left:4px;vertical-align:1px}
#o-crear{top:62px;right:24px;width:340px;padding:10px 8px;border-radius:var(--o-r-l);transform:translateY(-6px)}
#o-crear.open{transform:none}
#o-mas{display:none}

@media (max-width:768px){
  #app.show{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top" "sub" "main" "bar"}
  .o-side{display:none}
  #app .main{padding:14px 16px 28px}
  .o-top{height:calc(54px + var(--safe-t,0px));padding:var(--safe-t,0px) 8px 0 16px;gap:2px;border-bottom:0}
  .o-titulo{display:block}
  .o-cmd,.o-solo-escritorio{display:none!important}
  .o-solo-movil{display:inline-grid!important}
  .o-sub{padding:2px 16px 10px;gap:8px;border-bottom:0}
  .o-tab{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--o-line-2);background:var(--o-surface);font-size:13.5px}
  .o-tab:hover{background:var(--o-surface)}
  .o-tab.act{background:var(--o-ink);border-color:var(--o-ink);color:var(--o-bg);box-shadow:none}
  .o-tab.act .o-cnt{background:var(--o-bg);color:var(--o-ink)}
  .o-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;background:var(--o-surface);border-top:1px solid var(--o-line);padding:6px 4px calc(6px + var(--safe-b,0px));z-index:20}
  .o-bi{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center;font-size:11.5px;color:var(--o-ink-3);font-weight:500;position:relative;cursor:pointer;user-select:none;-webkit-user-select:none;background:transparent;border:0;padding:0}
  .o-bi svg.o-i{width:22px;height:22px}
  .o-bi.act{color:var(--o-accent)}
  .o-bi[hidden]{display:none}
  .o-bi .o-cnt{position:absolute;top:0;left:calc(50% + 5px);height:18px;min-width:18px;font-size:11px;padding:0 5px}
  .o-bi.o-mas-btn{min-height:48px}
  .o-bi .o-plus{width:48px;height:48px;border-radius:15px;background:var(--o-accent);color:var(--o-accent-ink);display:grid;place-items:center;margin-top:-16px;box-shadow:0 10px 24px -10px var(--o-accent)}
  .o-bi .o-plus svg.o-i{width:24px;height:24px;stroke-width:2}
  .o-hoja{left:0;right:0;bottom:0;top:auto!important;width:auto!important;border-radius:22px 22px 0 0;padding:8px 12px calc(16px + var(--safe-b,0px));transform:translateY(100%);max-height:86dvh;overflow-y:auto}
  .o-hoja.open{transform:none}
  .o-asa{display:block;width:40px;height:5px;border-radius:3px;background:var(--o-line-2);margin:4px auto 12px}
  .o-hoja h2{font-size:17px;margin:0 8px 6px}
  .o-op{min-height:60px;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:8px}
  .o-op .o-mk{width:44px;height:44px;border-radius:13px}
  .o-op .o-mk svg.o-i{width:20px;height:20px}
  .o-op+.o-op{border-top:1px solid var(--o-line);border-radius:0}
  #o-mas{display:block}
  .o-fila-mas{display:flex;gap:8px;padding:10px 8px 2px}
  .o-fila-mas .o-btn{flex:1;height:44px}
  /* Mensajes a pantalla completa: sin la cuenta de alturas fijas de antes */
  #pg-mensajes.act{height:auto!important;margin:0!important;width:auto!important}
}
@media (min-width:769px){.o-bar,#o-mas{display:none!important}.o-velo{background:transparent}}

/* ── 5. Hoy ──────────────────────────────────────────────────────────────── */
#pg-hoy{max-width:1240px}
.hoy-h h1{font-size:28px;line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--o-ink)}
.hoy-h h1::first-letter{text-transform:uppercase}
.hoy-h p{margin-top:6px;color:var(--o-ink-2);font-size:15px;max-width:72ch}
.hoy-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"dia lado";gap:28px;margin-top:24px;align-items:start}
.hoy-kpi{display:none}
.hoy-dia{grid-area:dia;background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-l);box-shadow:var(--o-shadow);overflow:hidden}
.hoy-bloque{padding:6px 0}
.hoy-bloque+.hoy-bloque{border-top:1px solid var(--o-line)}
.hoy-bloque h2{font-size:13px;font-weight:600;color:var(--o-ink-2);padding:12px 20px 4px;letter-spacing:0}
.hoy-it{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 20px;min-height:58px}
.hoy-it:hover{background:var(--o-surface-2)}
.hoy-it .t{font-size:13px;color:var(--o-ink-3);font-variant-numeric:tabular-nums;display:flex;align-items:center}
.hoy-it .t b{color:var(--o-ink);font-weight:600;font-size:14px}
.hoy-it.pasada .t b,.hoy-it.pasada h3{color:var(--o-ink-3)}
.hoy-it h3{font-size:14px;font-weight:500;line-height:1.35;color:var(--o-ink)}
.hoy-it p{font-size:13px;color:var(--o-ink-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hoy-it .acc{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.hoy-it .acc .o-btn{height:30px;padding:0 11px;font-size:13px}
.hoy-ahora{display:flex;align-items:center;gap:10px;padding:2px 20px;color:var(--o-bad);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.hoy-ahora::after{content:'';flex:1;height:1px;background:var(--o-bad);opacity:.55}
.hoy-vacio{padding:28px 24px;text-align:left}
.hoy-vacio h3{font-size:15px;font-weight:600}
.hoy-vacio p{color:var(--o-ink-2);margin-top:4px;font-size:14px}
.hoy-lado{grid-area:lado;display:flex;flex-direction:column;gap:16px;min-width:0}
.hoy-caja{background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-l);padding:18px 20px;box-shadow:var(--o-shadow)}
.hoy-caja h2{font-size:13px;font-weight:600;color:var(--o-ink-2);display:flex;align-items:center;justify-content:space-between;gap:8px}
.hoy-cifra{font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin-top:8px;font-variant-numeric:tabular-nums;color:var(--o-ink)}
.hoy-cifra small{font-size:15px;font-weight:500;color:var(--o-ink-2);letter-spacing:0;margin-left:2px}
.hoy-sub{font-size:13px;color:var(--o-ink-2);margin-top:4px}
.hoy-barras{display:flex;align-items:flex-end;gap:6px;height:48px;margin-top:14px}
.hoy-barras span{flex:1;border-radius:4px 4px 2px 2px;background:var(--o-line-2);min-height:3px}
.hoy-barras span.y{background:var(--o-accent)}
.hoy-meses{display:flex;gap:6px;margin-top:6px}.hoy-meses span{flex:1;text-align:center;font-size:11.5px;color:var(--o-ink-3)}
.hoy-fila{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--o-line);font-size:14px;color:var(--o-ink)}
.hoy-fila:first-child{border-top:0;padding-top:0}.hoy-fila:last-child{padding-bottom:0}
.hoy-fila b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.hoy-imp{background:var(--o-warn-soft);border-color:transparent}
.hoy-imp h2{color:var(--o-warn)}
.hoy-imp .o-btn{margin-top:12px}
.hoy-embudo .e{display:grid;grid-template-columns:96px minmax(0,1fr) 44px;align-items:center;gap:10px;font-size:13px;padding:5px 4px;margin:0 -4px;width:calc(100% + 8px);color:var(--o-ink-2);cursor:pointer;background:transparent;border:0;border-radius:6px;text-align:left;font-family:inherit}
.hoy-embudo .e:hover{background:var(--o-surface-2)}
.hoy-embudo .e i{display:block;height:8px;border-radius:4px;background:var(--o-accent);opacity:.85;min-width:3px}
.hoy-embudo .e b{text-align:right;font-weight:600;color:var(--o-ink);font-variant-numeric:tabular-nums}
.hoy-esq{height:58px;margin:0 20px;border-radius:10px;background:linear-gradient(90deg,var(--o-surface-2),var(--o-hover),var(--o-surface-2));background-size:200% 100%;animation:o-esq 1.2s ease-in-out infinite}
.hoy-esq+.hoy-esq{margin-top:8px}
@keyframes o-esq{0%{background-position:100% 0}100%{background-position:-100% 0}}
.hoy-error{padding:18px 20px;color:var(--o-ink-2)}
.hoy-panel{display:none}
.hoy-error .o-btn{margin-top:10px}
@media (max-width:1180px) and (min-width:769px){.hoy-g{grid-template-columns:minmax(0,1fr);grid-template-areas:"dia" "lado"}.hoy-lado{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start}#app .main{padding:22px 24px 40px}}
@media (max-width:768px){
  .hoy-h h1{font-size:15px;font-weight:500;color:var(--o-ink-2);letter-spacing:0}
  .hoy-h p{font-size:14px;margin-top:2px}
  .hoy-g{grid-template-columns:minmax(0,1fr);grid-template-areas:"kpi" "dia" "lado";gap:16px;margin-top:14px}
  .hoy-kpi{grid-area:kpi;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hoy-kpi .k{background:var(--o-surface);border:1px solid var(--o-line);border-radius:14px;padding:12px 14px;min-width:0}
  .hoy-kpi .k span{font-size:12.5px;color:var(--o-ink-2);display:block}
  .hoy-kpi .k b{display:block;font-size:21px;font-weight:600;letter-spacing:-.015em;margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hoy-kpi .imp{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--o-warn-soft);cursor:pointer;border:0;text-align:left;color:var(--o-ink)}
  .hoy-kpi .imp b{font-weight:600}.hoy-kpi .imp p{font-size:13px;color:var(--o-ink-2)}
  .hoy-kpi .imp>div{flex:1;min-width:0}
  .hoy-dia{border-radius:16px}
  .hoy-bloque h2{padding:12px 14px 2px}
  .hoy-it{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:10px 14px}
  .hoy-it .acc{grid-column:2;justify-content:flex-start}
  .hoy-it .t b{font-size:13px}
  .hoy-ahora{padding:2px 14px}
  .hoy-lado .hoy-cobrado,.hoy-lado .hoy-imp{display:none}
  .hoy-panel{display:block;margin:18px 0 4px;text-align:center}
  .hoy-panel a{color:var(--o-accent);font-weight:500;text-decoration:none;font-size:14px;padding:10px 12px;display:inline-block}
  .o-sub[data-s="hoy"]{display:none}
  .hoy-caja{padding:16px}
}

/* ── 6. Buscador (Ctrl K) ────────────────────────────────────────────────── */
.o-pal{position:fixed;inset:0;z-index:300;display:none;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:var(--o-velo)}
.o-pal.open{display:flex}
.o-pal-c{width:min(640px,100%);max-height:72vh;display:flex;flex-direction:column;background:var(--o-surface);border-radius:var(--o-r-l);box-shadow:var(--o-shadow-pop);overflow:hidden}
.o-pal-in{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--o-line);color:var(--o-ink-3)}
.o-pal-in input{flex:1;height:54px;border:0!important;background:transparent!important;color:var(--o-ink)!important;font-size:16px!important;padding:0!important;border-radius:0!important;box-shadow:none!important;outline:none;min-height:0!important}
.o-pal-in .o-ib{width:32px;height:32px}
.o-pal-in input::-webkit-search-cancel-button,.o-pal-in input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.o-pal-l{overflow-y:auto;padding:6px;overscroll-behavior:contain}
.o-pal-g{font-size:12px;font-weight:600;color:var(--o-ink-3);padding:10px 10px 4px}
.o-pal-i{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:7px 10px;border-radius:10px;cursor:pointer;min-height:46px;width:100%;text-align:left;border:0;background:transparent;color:inherit}
.o-pal-i.sel{background:var(--o-hover)}
.o-pal-i b{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-pal-i small{display:block;font-size:12.5px;color:var(--o-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-pal-i .o-kbd{visibility:hidden}
.o-pal-i.sel .o-kbd{visibility:visible}
.o-pal-v{padding:22px 14px;color:var(--o-ink-3);font-size:14px}
.o-pal-pie{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--o-line);font-size:12px;color:var(--o-ink-3)}
@media (max-width:768px){
  .o-pal{padding:0;align-items:stretch}
  .o-pal-c{width:100%;max-height:none;height:100%;border-radius:0;padding-top:var(--safe-t,0px)}
  .o-pal-pie{display:none}
}

/* ── 7. Piezas antiguas con el aspecto nuevo (hasta rehacer cada página) ──── */
/* Tinta: --acc es el morado sólido (fondos con texto blanco); usado como color de texto quedaba en 3,4:1 → lavanda (9,9:1) */
:root:not([data-theme="light"]) :is([style^="color:var(--acc)"],[style*=";color:var(--acc)"],[style*="; color:var(--acc)"],[style^="color: var(--acc)"],[style*="; color: var(--acc)"]),
:root:not([data-theme="light"]) :is(.doc-ab:hover,.tc-reply-preview-name,.tc-bub .msg-quote-name,.msg-row .msg-quote-name,.nf-settings:hover,.m303-trim-btn:hover,.m303-detail-toggle){color:var(--o-accent)!important}
/* Tinta: texto blanco sobre verde, rojo, ámbar, naranja, cian o lavanda claros (2:1) → tinta oscura */
:root:not([data-theme="light"]) :is([style*="background:var(--grn)"],[style*="background: var(--grn)"],[style*="background:var(--red)"],[style*="background: var(--red)"],[style*="background:var(--ylw)"],[style*="background: var(--ylw)"],[style*="background:var(--org)"],[style*="background: var(--org)"],[style*="background:var(--cyn)"],[style*="background: var(--cyn)"],[style*="background:var(--acc2)"],[style*="background: var(--acc2)"]):is([style*="color:#fff"],[style*="color: #fff"],[style*="color: rgb(255, 255, 255)"],[style*="color:white"]){color:#15161C!important}
.ph{margin-bottom:20px}
.ph h2{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--o-ink)}
.ph p{color:var(--o-ink-3);font-size:13px;font-weight:400}
html .cs{background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-l);box-shadow:var(--o-shadow)}
html .cs:hover{transform:none}
html .cs h3{font-size:13px;color:var(--o-ink-2);text-transform:none;letter-spacing:0;font-weight:600}
html[data-theme="light"] .cs,html[data-theme="light"] .cobros-card{background:var(--o-surface);border-color:var(--o-line)}
.btn{border-radius:var(--o-r-s);font-weight:500;letter-spacing:0}
.btn-p{background:var(--o-accent)!important;color:var(--o-accent-ink)!important;border:1px solid var(--o-accent)}
.btn-p:hover{transform:none;filter:brightness(1.06)}
html .btn-gh,html[data-theme="light"] .btn-gh{background:var(--o-surface);color:var(--o-ink);border:1px solid var(--o-line-2)}
html .btn-gh:hover,html[data-theme="light"] .btn-gh:hover{background:var(--o-hover);color:var(--o-ink)}
.btn-sm{border-radius:var(--o-r-s)}
html .ab{background:var(--o-surface-2);border:1px solid var(--o-line);border-radius:var(--o-r-s);color:var(--o-ink-2)}
html .ab:hover{background:var(--o-hover);color:var(--o-ink)}
html[data-theme="light"] .ab{color:var(--o-ink-2)!important;background:var(--o-surface-2)}
html[data-theme="light"] .ab:hover{background:var(--o-accent-soft)!important;color:var(--o-accent)!important}
html input,html select,html textarea{background:var(--o-surface);border:1px solid var(--o-line-2);color:var(--o-ink);border-radius:10px}
html input:focus,html select:focus,html textarea:focus,html[data-theme="light"] input:focus,html[data-theme="light"] select:focus,html[data-theme="light"] textarea:focus{border-color:var(--o-accent-line);box-shadow:0 0 0 3px var(--o-a18);background:var(--o-surface)}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:var(--o-surface);border-color:var(--o-line-2)}
html input[type=checkbox],html input[type=radio]{accent-color:var(--o-accent-solid);box-shadow:none}
input::placeholder,textarea::placeholder{color:var(--o-ink-3)}
.fg label{font-size:12.5px;color:var(--o-ink-2);text-transform:none;letter-spacing:0;font-weight:500}
th{font-size:12px;color:var(--o-ink-3);text-transform:none;letter-spacing:0;font-weight:500;background:var(--o-bg)}
html[data-theme="light"] th{background:var(--o-bg);color:var(--o-ink-3);border-bottom-color:var(--o-line)}
.bd{border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:0;padding:2px 9px}
.modal-ov{background:var(--o-velo)}
html .modal,html[data-theme="light"] .modal{background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-l);box-shadow:var(--o-shadow-pop)}
.modal h3{font-size:18px;font-weight:600;letter-spacing:-.015em}
.drawer{background:var(--o-surface)}
.toast{background:var(--o-surface);color:var(--o-ink);border:1px solid var(--o-line-2);box-shadow:var(--o-shadow-pop);border-radius:12px}
.empty{color:var(--o-ink-3)}
@media (max-width:768px){.toast{bottom:calc(84px + var(--safe-b,0px))}}
/* Pantalla de acceso y de bloqueo */
#login-screen,#lock-screen{background:var(--o-bg)}
body::before,#login-screen::before{display:none}
.login-box{background:var(--o-surface);border:1px solid var(--o-line);border-radius:20px;box-shadow:var(--o-shadow-pop)}
.login-box h1{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--o-ink);font-weight:600;letter-spacing:-.02em}
.login-submit{background:var(--o-accent)!important;color:var(--o-accent-ink)!important;border-radius:12px!important}
#login-form h1::before{content:'';display:block;width:22px;height:36px;margin:0 auto 14px;background:url(../marca-56.png) center/contain no-repeat}
/* Avisos (notifications.js): debajo de la barra nueva */
.nf-panel{top:calc(64px + var(--safe-t,0px));right:16px;background:var(--o-surface);border-color:var(--o-line);box-shadow:var(--o-shadow-pop);border-radius:var(--o-r-l)}
.nf-header{background:transparent}
@media (max-width:768px){.nf-panel{top:calc(56px + var(--safe-t,0px));right:8px}}
/* Aviso de versión nueva: debajo de la barra nueva */
#update-banner{top:calc(70px + var(--safe-t,0px))!important;border:1px solid var(--o-line-2);box-shadow:var(--o-shadow-pop)}
@media (max-width:768px){#update-banner{top:calc(62px + var(--safe-t,0px))!important;max-width:calc(100vw - 24px)}}

/* ── 15-oct-2026 · Bloque 5: aviso con acción («Deshacer») ── */
:root{--o-aviso-acc:#4F52C4}:root[data-theme="light"]{--o-aviso-acc:#BFC0F4}
.o-aviso{position:fixed;left:50%;bottom:24px;z-index:998;transform:translate(-50%,14px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:14px;max-width:min(560px,calc(100vw - 32px));padding:9px 10px 9px 16px;min-height:44px;box-sizing:border-box;border-radius:12px;background:var(--o-ink);color:var(--o-bg);font-size:14.5px;font-weight:500;box-shadow:var(--o-shadow-pop);transition:opacity .18s,transform .18s}
.o-aviso.open{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.o-aviso.er{background:var(--o-bad);color:#fff}
.o-aviso span{min-width:0;overflow-wrap:anywhere}
.o-aviso button{flex-shrink:0;border:0;background:none;color:var(--o-aviso-acc);font:inherit;font-weight:650;padding:6px 8px;border-radius:8px;cursor:pointer}
.o-aviso button:hover{background:rgba(127,127,127,.14)}
@media (max-width:768px){.o-aviso{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* Hoy › Seguimiento: enlace a «Para llamar hoy» */
.hoy-bh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:14px}
.hoy-bl{border:0;background:none;color:var(--o-accent);font:inherit;font-size:13px;font-weight:600;padding:8px 6px 0;border-radius:6px;cursor:pointer}
.hoy-bl:hover{text-decoration:underline}
/* ── Revisión UX/UI (patrones): letra mínima 12 px y toques de 44 px en el móvil ── */
.o-kbd,.o-cnt,.o-tab .o-cnt,.o-bi .o-cnt,.hoy-meses span,.bd,.aim-tag,.aim-dia,.aim-mt{font-size:12px}
#notif-count{min-width:18px;height:18px;line-height:18px;font-size:12px;top:1px;right:0}
.hoy-it p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical} /* dos líneas: la pregunta de la IA se lee entera */
#notif-bell{width:36px!important;height:36px!important} /* la campana medía 30 px (regla antigua con !important en index.php) */
@media (max-width:768px){.o-ib{width:44px;height:44px}#notif-bell{width:44px!important;height:44px!important}.cl-link{min-height:40px}.ct .cl-cab .o-btn{height:44px}.o-tab{height:40px}.o-bi{font-size:12px}.o-btn.o-s,.hoy-bl,.aim-btn{min-height:40px}.aim-fw-h .aim-link{min-height:40px;display:inline-flex;align-items:center}}
:root[data-theme="light"] .aim-mt{opacity:1;color:var(--o-ink-2)} /* hora e «IA» de las burbujas: en Papel no se leían (contraste 2,9) */
:root[data-theme="light"] .aim-consulta b{color:var(--o-ink)}:root[data-theme="light"] .aim-consulta .aim-btn{background:var(--o-surface);color:var(--o-accent)}
/* buscador de arriba: en pantallas medianas decía «Buscar cl…»; ahora «Buscar» entero */
.o-cmd-c{display:none}@media (max-width:1279px){.o-cmd-l{display:none}.o-cmd-c{display:inline}}

/* ── 15-oct-2026 · Bloque 6 · Capa de transición para las páginas antiguas (hasta que se rehacen) ──
   La auditoría de toda la app encontró 277 textos de 8-11 px (casi todos con style="font-size:10px" a mano) y 101 botones
   de menos de 40 px en el móvil. Las páginas nuevas no usan estos estilos: aquí no cambian. */
#app :is([style*="font-size:8px"],[style*="font-size:9px"],[style*="font-size:10px"],[style*="font-size:11px"],[style*="font-size: 8px"],[style*="font-size: 9px"],[style*="font-size: 10px"],[style*="font-size: 11px"],[style*="font-size:9.5px"],[style*="font-size:10.5px"],[style*="font-size:11.5px"]){font-size:12px!important}
.btn-sm,.fb{font-size:12px}
/* las que van por clase (Panel, Mensajes, Equipo, Mi negocio, Mi espacio, Analytics, Agenda, Conversaciones) */
.stat-lbl,.pipe-n,.ix-time,.ix-unread,.ix-preview,.tc-bub-time,.tc-sidebar-label,.tc-subtitle,.mn-tipo,.mn-gest-name,.mn-qpill,.mn-hero-stat-lbl,.mn-mod-title,.mn-mod-note,.mn-total-sub,.mn-trans-sub,.mn-trans-sl,.mn-sec-arrow,.me-st-lbl,.aim-pill,.fb-label,.fb-fill,.cal-header,.aim-it-f,#aim-c-cq{font-size:12px}
#pg-negocio span:not([class]){font-size:max(12px,1em)}
@media (max-width:768px){
  .fact-view-btn,.gasto-view-btn,.an-view-btn,.ix-chip,.mn-qpill,.aim-chip{min-height:40px}
  .ix-icon-btn,.tc-inp-ico,.aim-ib{min-width:40px;min-height:40px}
  .tc-item{min-height:44px}
  .pg .btn,.pg .btn-sm,.modal .btn{min-height:40px}
  .pg .fb{min-height:40px;display:inline-flex;align-items:center}
  .pg .ab,.modal .ab{min-height:40px;min-width:40px}
  .pg .doc-btn{min-height:40px;min-width:44px}
  .pg :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select),.modal :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select){min-height:44px}
}

/* ── 15-oct-2026 · Bloque 6: Facturas, Gastos, Presupuestos, Contratos y Suscripciones las pinta assets/ds/ventas.js.
      La página antigua solo se ve si el módulo no carga (vd-antiguo). Sus ventanas (.modal-ov) siguen funcionando. ── */
:is(#pg-facturas,#pg-gastos,#pg-presupuestos,#pg-contratos,#pg-suscripciones):not(.vd-antiguo)>:not(.vd):not(.modal-ov){display:none!important}
.pg.vd-antiguo>.vd{display:none}
.vd-carga{padding:48px 0;margin:0;text-align:center;font-size:14px;color:var(--o-ink-3)}

/* ── 18-oct-2026 · Bloque 8a: Tareas la pinta assets/ds/agenda.js. La página antigua solo se ve si el módulo no carga (ag-antiguo). ── */
html.oas-ds #pg-tareas:not(.ag-antiguo)>:not(.ag){display:none!important}
#pg-tareas.ag-antiguo>.ag,html:not(.oas-ds) #pg-tareas>.ag{display:none}
