/* ═══════════════════════════════════════════════════════════════════
   BULL UI — sistema de diseño global del sitio Research
   ───────────────────────────────────────────────────────────────────
   Fuente de verdad: artifact "Bull UI Design System"
   (https://claude.ai/artifact/WJM87En3pBomvFVgbDpDL6 — tokens.json + README).

   ÚNICO lugar donde se definen colores, tipografías, radios y sombras.
   Las páginas NO declaran su propio :root ni colores sueltos: usan las
   variables de abajo. Cambiar algo acá cambia todo el sitio.

   Estructura:
     1. Fuentes
     2. Primitivas (--bu-*): valores crudos de Bull UI, iguales en ambos temas
     3. Tema oscuro (default) y tema claro: variables semánticas que usan
        las páginas (--bg, --text, --accent, --green, ...)
     4. Base (body, scrollbar, foco)
     5. Componentes compartidos (topbar, botones, toggle, buscador, card)

   Tema: lo maneja /js/theme.js poniendo data-theme="dark|light" en <html>.
   Para volver al oscuro azulado anterior alcanza con cambiar el bloque
   "TEMA OSCURO" (los valores viejos están comentados ahí mismo).
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Fuentes (Bull UI: Inter Tight + Roboto Mono) ── */
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;600&display=swap');

/* ── 2. Primitivas Bull UI (tokens.json) ── */
:root {
  --bu-blue: #1e27f3;
  --bu-blue-press: #151bb8;
  --bu-blue-soft: #e0e0fe;
  --bu-blue-on-dark: #bec2ff;      /* s-primary (dark) */
  --bu-ink: #000011;
  --bu-ink-4: #47464b;
  --bu-ink-muted: #6f7989;
  --bu-white: #ffffff;
  --bu-surface-2: #fcf8f8;
  --bu-surface-3: #f6f3f2;
  --bu-surface-4: #f5f5f5;
  --bu-line: #efedf1;
  --bu-line-2: #d7d7d7;
  --bu-dark-bg: #12131d;           /* s-background (dark) */
  --bu-dark-surface: #1f2630;      /* s-surface (dark) */
  --bu-dark-surface-2: #181a2f;    /* surface-dark-2 */
  --bu-positive: #12a866;
  --bu-positive-dark: #12b086;
  --bu-positive-ink: #209360;      /* positive-on-container */
  --bu-warning: #f18619;
  --bu-warning-dark: #f0923d;
  --bu-warning-ink: #be5a00;       /* warning-on-container */
  --bu-warning-2: #e9522c;
  --bu-negative: #f93939;
  --bu-negative-strong: #dd162f;   /* s-error-container */
  --bu-negative-ink: #b30020;
  --bu-gold: #ffda2c;
  --bu-gold-ink: #695f00;          /* s-tertiary (light) */

  /* Tipografía */
  --font-sans: "Inter Tight", "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Roboto Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* Alias que ya usan las páginas */
  --sans: var(--font-sans);
  --display: var(--font-sans);     /* Bull UI no tiene display aparte: títulos en Inter Tight bold */
  --mono: var(--font-mono);

  /* Radios (Bull UI: 4 / 8 / 12 / 16 / 20 / full) */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-full: 9999px;

  /* Espaciado (base 4) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px; --s-8: 32px; --s-10: 40px;

  /* Movimiento */
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --dur-2: 150ms;
  --dur-3: 200ms;

  /* Paleta de gráficos (complementarios de Bull UI, solo data-viz) */
  --chart-1: #1e27f3;
  --chart-2: #12a866;
  --chart-3: #f18619;
  --chart-4: #e00dc8;
  --chart-5: #81d1fa;
  --chart-6: #aba0f8;
  --chart-7: #ffda2c;
  --chart-8: #59c16e;
  --chart-9: #436cf6;
  --chart-10: #f3afed;
  --chart-11: #607d8b;
  --chart-12: #e9522c;

  /* Escala de riesgo (situaciones BCRA 1→5): rellenos con texto blanco */
  --risk-1: #12a866;
  --risk-2: #f18619;
  --risk-3: #e9522c;
  --risk-4: #dd162f;
  --risk-5: #b30020;
  --on-fill: #ffffff;
}

/* ── 3a. TEMA OSCURO (default) ──
   Valores de Bull UI (dark). Antes (azul oscuro original):
   --bg #0a0c1a · --bg2 #0d1020 · --bg3 #0f1422 · --bg4 #131929 ·
   --border rgba(30,39,243,.14) · --border2 rgba(30,39,243,.28) ·
   --text #e8eaf6 · --text2 #a5b4fc · --text3 #4a5280 */
:root,
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: var(--bu-dark-bg);            /* fondo de página */
  --bg2: var(--bu-dark-surface-2);    /* paneles: topbar, sidebar, cards */
  --bg3: var(--bu-dark-surface);      /* bandas/insets dentro de cards, área principal */
  --bg4: var(--bu-dark-bg);           /* inputs */
  --border: #2d2f45;
  --border2: #47464b;                 /* s-outline-variant (dark) */
  --text: #f9f9f9;                    /* s-on-surface (dark) */
  --text2: #c8c5cb;                   /* s-on-surface-variant (dark) */
  --text3: #98a1ae;                   /* s-surface-variant (dark) */
  --accent: var(--bu-blue);           /* rellenos (botones, barras, selección) */
  --accent2: var(--bu-blue-on-dark);  /* acento como TEXTO / borde de foco */
  --accent3: var(--bu-blue);
  --accent-hover: #333dff;
  --accent-light: rgba(30,39,243,0.18);
  --accent-mid: rgba(30,39,243,0.32);
  --on-accent: #ffffff;
  --green: var(--bu-positive-dark);
  --red: var(--bu-negative);
  --yellow: var(--bu-warning-dark);   /* advertencia (Bull UI = naranja) */
  --gold: var(--bu-gold);
  --overlay: rgba(0,0,17,0.6);
  --shadow-1: 0 1px 2px rgba(0,0,0,0.35);
  --shadow-2: 0 2px 6px rgba(0,0,0,0.35), 0 1px 2px rgba(0,0,0,0.25);
  --shadow-3: 0 8px 24px rgba(0,0,0,0.45), 0 2px 6px rgba(0,0,0,0.3);
  --scroll-thumb: rgba(190,194,255,0.28);
  --scroll-thumb-hover: rgba(190,194,255,0.5);
  /* Gráficos: en oscuro el azul de marca no contrasta como serie → azul claro (c-blue) */
  --chart-1: #436cf6;
  /* Campo editable resaltado (ej. tarifario de Cauciones) */
  --field-edit-bg: rgba(240,146,61,0.10);
  --field-edit-border: rgba(240,146,61,0.45);
}

/* ── 3b. TEMA CLARO ── */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: var(--bu-surface-4);
  --bg2: var(--bu-white);
  --bg3: var(--bu-surface-3);
  --bg4: var(--bu-white);
  --border: var(--bu-line);
  --border2: var(--bu-line-2);
  --text: var(--bu-ink);
  --text2: var(--bu-ink-4);
  --text3: var(--bu-ink-muted);
  --accent: var(--bu-blue);
  --accent2: var(--bu-blue);
  --accent3: var(--bu-blue);
  --accent-hover: var(--bu-blue-press);
  --accent-light: rgba(30,39,243,0.07);
  --accent-mid: rgba(30,39,243,0.14);
  --on-accent: #ffffff;
  --green: var(--bu-positive-ink);
  --red: var(--bu-negative-strong);
  --yellow: var(--bu-warning-ink);
  --gold: var(--bu-gold-ink);
  --overlay: rgba(0,0,17,0.5);
  --shadow-1: 0 1px 2px rgba(0,0,17,0.08), 0 1px 1px rgba(0,0,17,0.04);
  --shadow-2: 0 1px 2px rgba(0,0,17,0.10), 0 2px 6px rgba(0,0,17,0.06);
  --shadow-3: 0 6px 10px rgba(0,0,17,0.12), 0 8px 24px rgba(0,0,17,0.10);
  --scroll-thumb: rgba(0,0,17,0.22);
  --scroll-thumb-hover: rgba(0,0,17,0.4);
  --chart-1: #1e27f3;
  --field-edit-bg: #fff6ee;
  --field-edit-border: #f4b993;
}

/* ── 4. Base ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scrollbar-width:thin; scrollbar-color:var(--scroll-thumb) transparent; -webkit-text-size-adjust:100%; }
html::-webkit-scrollbar { width:10px; height:10px; }
html::-webkit-scrollbar-track { background:transparent; }
html::-webkit-scrollbar-thumb { background:var(--scroll-thumb); border-radius:5px; }
html::-webkit-scrollbar-thumb:hover { background:var(--scroll-thumb-hover); }
body {
  background:var(--bg); color:var(--text);
  font-family:var(--font-sans); font-size:13px; line-height:1.45;
  min-height:100vh; overflow-x:hidden;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
:focus-visible { outline:2px solid var(--accent2); outline-offset:2px; }
::selection { background:var(--accent-mid); }
[hidden] { display:none !important; }
@media (prefers-reduced-motion:reduce) { *{transition:none!important;animation:none!important} }

/* ── 5. Componentes compartidos ── */

/* Topbar (barra superior fija de cada sección) */
.bu-topbar {
  height:52px; flex-shrink:0; position:sticky; top:0; z-index:20;
  display:flex; align-items:center; gap:14px; padding:0 20px;
  background:var(--bg2); border-bottom:1px solid var(--border);
}
.bu-home-btn {
  width:32px; height:32px; border-radius:var(--r-sm); background:var(--accent);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  overflow:hidden; text-decoration:none; transition:opacity var(--dur-2);
}
.bu-home-btn:hover { opacity:.85; }
.bu-home-btn img { width:101%; height:101%; object-fit:cover; display:block; border-radius:calc(var(--r-sm) - 1px); }
.bu-divider { width:1px; height:20px; background:var(--border2); flex-shrink:0; }
.bu-title { font-family:var(--font-sans); font-size:15px; font-weight:700; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-.01em; }
.bu-spacer { flex:1; }

/* Botón ícono (tema, ayuda, refrescar). .tb-icon = alias histórico */
.bu-icon-btn, .tb-icon {
  position:relative; width:32px; height:32px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--r-full); border:1px solid var(--border2); background:transparent;
  color:var(--text2); font-family:var(--font-mono); font-size:14px; line-height:1; cursor:pointer;
  transition:background var(--dur-2), border-color var(--dur-2), color var(--dur-2);
}
.bu-icon-btn:hover, .tb-icon:hover { background:var(--accent-light); border-color:var(--accent2); color:var(--text); }

/* Toggle de solapas con subrayado (Informes/Empresas, Pesos/Dólares, ...) */
.bu-tabs { display:flex; align-items:stretch; }
.bu-tabs > button {
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:0 14px; height:100%; border:none; background:transparent; cursor:pointer;
  font-family:var(--font-sans); font-size:12.5px; font-weight:600; color:var(--text3);
  border-bottom:2px solid transparent; transition:color var(--dur-2), border-color var(--dur-2);
}
.bu-tabs > button.active { color:var(--accent2); border-bottom-color:var(--accent); cursor:default; }
.bu-tabs > button:not(.active):hover { color:var(--text); }

/* Botones */
.bu-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:36px; padding:0 18px; border-radius:var(--r-full);
  font-family:var(--font-sans); font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap;
  border:1px solid transparent; transition:background var(--dur-2), border-color var(--dur-2), color var(--dur-2);
}
.bu-btn--primary { background:var(--accent); color:var(--on-accent); }
.bu-btn--primary:hover { background:var(--accent-hover); }
.bu-btn--ghost { background:transparent; color:var(--text2); border-color:var(--border2); }
.bu-btn--ghost:hover { border-color:var(--accent2); color:var(--text); background:var(--accent-light); }
.bu-btn--sm { height:28px; padding:0 12px; font-size:12px; }
.bu-btn:disabled { opacity:.38; cursor:default; }

/* Buscador */
.bu-search { position:relative; }
.bu-search input {
  width:100%; height:34px; padding:0 12px 0 32px;
  background:var(--bg4); border:1px solid var(--border2); border-radius:var(--r-full);
  color:var(--text); font-family:var(--font-sans); font-size:12.5px; outline:none;
  transition:border-color var(--dur-2), box-shadow var(--dur-2);
}
.bu-search input:focus { border-color:var(--accent2); box-shadow:0 0 0 3px var(--accent-light); }
.bu-search input::placeholder { color:var(--text3); }
.bu-search svg { position:absolute; left:11px; top:50%; transform:translateY(-50%); width:13px; height:13px; color:var(--text3); pointer-events:none; }

/* Card */
.bu-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-1); }

/* Label chico en mayúsculas (metadatos) */
.bu-label { font-family:var(--font-sans); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--text3); }

@media (max-width:640px) {
  .bu-topbar { padding:0 12px; gap:10px; }
}

/* ── Popup "Recargar base de datos" (/js/recargar-base.js) ──────────────
   Componente compartido de ONs y Bonos & Letras (botón ⟳ admin-only). */
@keyframes bu-spin { to { transform:rotate(360deg); } }
.bu-rbd-overlay { display:none; position:fixed; inset:0; background:var(--overlay); z-index:2000; }
.bu-rbd-overlay.show { display:block; }
.bu-rbd-modal { display:none; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); width:92vw; max-width:480px; max-height:86vh; background:var(--bg2); border:1px solid var(--border2); border-radius:var(--r-lg); box-shadow:var(--shadow-3); z-index:2001; flex-direction:column; overflow:hidden; font-family:var(--font-sans); color:var(--text); }
.bu-rbd-modal.show { display:flex; }
.bu-rbd-head { height:46px; flex-shrink:0; display:flex; align-items:center; padding:0 16px; border-bottom:1px solid var(--border); gap:12px; }
.bu-rbd-title { font-size:14px; font-weight:700; color:var(--text); flex:1; }
.bu-rbd-close { width:26px; height:26px; border-radius:var(--r-sm); border:1px solid var(--border2); background:transparent; color:var(--text3); font-size:13px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.bu-rbd-close:hover:not(:disabled) { color:var(--text); border-color:var(--text3); }
.bu-rbd-body { padding:16px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.bu-rbd-opt { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--border2); border-radius:var(--r-md); cursor:pointer; }
.bu-rbd-opt.sel { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, transparent); }
.bu-rbd-opt input { margin-top:3px; accent-color:var(--accent); }
.bu-rbd-opt-t { font-size:13px; font-weight:600; color:var(--text); }
.bu-rbd-opt-d { font-size:11.5px; color:var(--text3); margin-top:2px; line-height:1.4; }
.bu-rbd-mod { display:none; flex-direction:column; gap:8px; padding:2px 2px 0; }
.bu-rbd-mod.show { display:flex; }
.bu-rbd-row { display:flex; gap:8px; }
.bu-rbd-row input { flex:1; min-width:0; background:var(--bg4); border:1px solid var(--border2); border-radius:var(--r-sm); padding:8px 10px; color:var(--text); font-family:var(--font-mono); font-size:12px; outline:none; text-transform:uppercase; }
.bu-rbd-row input::placeholder { text-transform:none; font-family:var(--font-sans); color:var(--text3); }
.bu-rbd-row input:focus { border-color:var(--accent2); }
.bu-rbd-row input.ok { border-color:var(--green); }
.bu-rbd-sug { display:none; background:var(--bg3); border:1px solid var(--border2); border-radius:var(--r-sm); max-height:220px; overflow-y:auto; }
.bu-rbd-sug.show { display:block; }
.bu-rbd-sug-it { display:flex; gap:10px; align-items:baseline; padding:7px 10px; cursor:pointer; font-size:12px; }
.bu-rbd-sug-it.act, .bu-rbd-sug-it:hover { background:color-mix(in srgb, var(--accent) 14%, transparent); }
.bu-rbd-sug-tk { font-family:var(--font-mono); font-weight:700; color:var(--text); min-width:58px; }
.bu-rbd-sug-desc { color:var(--text2); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bu-rbd-sug-vto { font-family:var(--font-mono); font-size:10.5px; color:var(--text3); }
.bu-rbd-sug-none { padding:8px 10px; font-size:12px; color:var(--text3); }
.bu-rbd-hint { font-size:11px; color:var(--text3); min-height:14px; }
.bu-rbd-chips { display:flex; flex-wrap:wrap; gap:6px; }
.bu-rbd-chip { display:inline-flex; align-items:center; gap:6px; padding:3px 6px 3px 9px; border-radius:var(--r-full); background:color-mix(in srgb, var(--accent) 14%, transparent); border:1px solid color-mix(in srgb, var(--accent) 40%, transparent); font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--text); }
.bu-rbd-chip button { border:none; background:transparent; color:var(--text3); cursor:pointer; font-size:11px; padding:0 2px; line-height:1; }
.bu-rbd-chip button:hover { color:var(--red); }
.bu-rbd-res { display:none; font-size:12px; line-height:1.5; padding:10px 12px; border-radius:var(--r-md); border:1px solid var(--border2); background:var(--bg3); color:var(--text2); }
.bu-rbd-res.show { display:block; }
.bu-rbd-res-sec { margin-top:6px; }
.bu-rbd-res .ok { color:var(--green); font-weight:600; }
.bu-rbd-res .err { color:var(--red); font-weight:600; }
.bu-rbd-res .tk { font-family:var(--font-mono); color:var(--text); }
.bu-rbd-foot { display:flex; justify-content:flex-end; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--border); }
.bu-rbd-busy { flex:1; font-size:11.5px; color:var(--text3); display:none; align-items:center; gap:8px; }
.bu-rbd-busy.show { display:flex; }
.bu-rbd-busy::before { content:''; width:11px; height:11px; border-radius:50%; border:1.5px solid var(--border2); border-top-color:var(--accent2); animation:bu-spin .7s linear infinite; }
.bu-rbd-btn { font-family:var(--font-sans); font-size:12px; font-weight:600; padding:7px 14px; border-radius:var(--r-sm); cursor:pointer; border:1px solid var(--border2); background:transparent; color:var(--text2); white-space:nowrap; }
.bu-rbd-btn:hover:not(:disabled) { color:var(--text); border-color:var(--text3); }
.bu-rbd-btn.primary { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
.bu-rbd-btn:disabled { opacity:.45; cursor:default; }

/* ── Burbuja de noticias "Daily Comments" (/js/news.js) ─────────────────
   Círculo flotante arrastrable + panel con una noticia por vez. */
.bu-news-fab { position:fixed; z-index:1500; width:52px; height:52px; border-radius:var(--r-full); border:1px solid color-mix(in srgb, var(--accent) 60%, transparent); background:var(--accent); color:var(--on-accent); box-shadow:var(--shadow-3); cursor:grab; touch-action:none; user-select:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:0; transition:transform var(--dur-2), box-shadow var(--dur-2); }
.bu-news-fab svg { width:21px; height:21px; pointer-events:none; }
.bu-news-fab-lbl { font:700 8.5px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; pointer-events:none; }
.bu-news-fab:hover { transform:scale(1.05); }
.bu-news-fab:focus-visible { outline:2px solid var(--accent2); outline-offset:3px; }
.bu-news-fab.drag { cursor:grabbing; transform:scale(1.08); transition:none; }
.bu-news-fab.open { box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent), var(--shadow-3); }

.bu-news-panel { display:none; position:fixed; z-index:1499; width:400px; height:min(560px, calc(100vh - 120px)); background:var(--bg2); border:1px solid var(--border2); border-radius:var(--r-lg); box-shadow:var(--shadow-3); flex-direction:column; overflow:hidden; font-family:var(--sans); color:var(--text); }
.bu-news-panel.show { display:flex; }
.bu-news-head { position:relative; flex-shrink:0; display:flex; align-items:center; gap:8px; padding:12px 12px 12px 16px; border-bottom:1px solid var(--border); }
.bu-news-ttl { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.bu-news-kicker { font:600 10px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--accent2); }
.bu-news-fecha { font-size:15px; font-weight:700; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bu-news-ib { width:28px; height:28px; flex-shrink:0; border-radius:var(--r-sm); border:1px solid var(--border2); background:transparent; color:var(--text2); font:600 14px/1 var(--sans); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.bu-news-ib:hover, .bu-news-ib.on { color:var(--text); border-color:var(--accent2); background:var(--accent-light); }
.bu-news-dias { position:absolute; top:calc(100% - 4px); right:12px; z-index:2; width:240px; max-height:300px; overflow-y:auto; background:var(--bg3); border:1px solid var(--border2); border-radius:var(--r-md); box-shadow:var(--shadow-3); padding:4px; }
.bu-news-dias[hidden] { display:none; }
.bu-news-dias button { width:100%; display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:8px 10px; border:none; border-radius:var(--r-sm); background:transparent; color:var(--text); font:500 13px/1.3 var(--sans); cursor:pointer; text-align:left; }
.bu-news-dias button .n { font-family:var(--mono); font-size:10.5px; color:var(--text3); white-space:nowrap; }
.bu-news-dias button:hover { background:color-mix(in srgb, var(--accent) 12%, transparent); }
.bu-news-dias button.sel { background:color-mix(in srgb, var(--accent) 20%, transparent); font-weight:700; }
.bu-news-body { flex:1; min-height:0; overflow-y:auto; padding:14px 16px 16px; font-size:13.5px; line-height:1.55; color:var(--text2); outline:none; }
.bu-news-body h3 { font-size:15.5px; line-height:1.35; font-weight:700; color:var(--text); margin:0 0 10px; }
.bu-news-body p { margin:0 0 9px; }
.bu-news-body p:last-child { margin-bottom:0; }
.bu-news-body p.li { padding-left:14px; position:relative; }
.bu-news-body p.li::before { content:'•'; position:absolute; left:2px; color:var(--text3); }
.bu-news-body b { color:var(--text); font-weight:700; }
.bu-news-foot { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-top:1px solid var(--border); }
.bu-news-nav { font:600 12px/1 var(--sans); padding:8px 12px; border-radius:var(--r-sm); border:1px solid var(--border2); background:transparent; color:var(--text2); cursor:pointer; white-space:nowrap; }
.bu-news-nav:hover:not(:disabled) { color:var(--text); border-color:var(--text3); }
.bu-news-nav.primary { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
.bu-news-nav.primary:hover:not(:disabled) { color:var(--on-accent); filter:brightness(1.08); }
.bu-news-nav:disabled { opacity:.4; cursor:default; }
.bu-news-pos { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; }
.bu-news-pos > span { font-family:var(--mono); font-size:10.5px; color:var(--text3); }
.bu-news-dots { display:flex; gap:5px; flex-wrap:wrap; justify-content:center; }
.bu-news-dots button { width:7px; height:7px; padding:0; border:none; border-radius:var(--r-full); background:var(--border2); cursor:pointer; }
.bu-news-dots button.sel { background:var(--accent2); width:16px; }
@media (max-width:640px) {
  .bu-news-fab.open { display:none; }   /* el panel ocupa el ancho; se cierra con la ✕ */
  .bu-news-panel { left:0 !important; right:0; bottom:0; top:auto !important; width:auto; height:min(80vh, 600px); border-radius:var(--r-lg) var(--r-lg) 0 0; border-bottom:none; }
}
