/* Diseño nuevo de Leonora («Suave»): colores en claro y oscuro, tipografías y la carcasa del admin.
   Es solo presentación: no cambia rutas, datos ni acciones. El tema se guarda en localStorage («leonora-theme») y se
   aplica como data-theme en <html> (ver theme.js). Las pantallas viejas tienen sus colores escritos en línea; las
   reglas de la sección «Pantallas existentes» los traducen a estos colores sin tocar su contenido. */

@font-face { font-family: 'Bricolage Grotesque'; font-weight: 500 800; font-display: swap; src: url('/admin/static/fonts/bricolage-grotesque-latin.woff2') format('woff2'); }
@font-face { font-family: 'Figtree'; font-weight: 400 700; font-display: swap; src: url('/admin/static/fonts/figtree-latin.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400 600; font-display: swap; src: url('/admin/static/fonts/jetbrains-mono-latin.woff2') format('woff2'); }

:root {
  --bg: #F7F4EF; --card: #FFFFFF; --card2: #FCFBFD; --line: #EDE9F2; --line2: #D5CFE6;
  --ink: #25214A; --mut: #6F6B8F; --mut2: #8C88A8;
  --pri: #4F3FE0; --pri-ink: #FFFFFF; --pri-soft: #ECE9FF; --pri-soft-ink: #4F3FE0;
  --agent-soft: #FFEDE6; --agent-ink: #B8431F; --agent-grad: linear-gradient(120deg, #FFE9DF, #FFDCE7);
  --ok-soft: #DFF5EA; --ok-ink: #1F7A55; --warn-soft: #FFF2C9; --warn-ink: #8A6212;
  --bad-soft: #FFE3E6; --bad-ink: #B5213A; --info-soft: #E4F1FF; --info-ink: #1D6A9E;
  --side-active: #25214A; --side-active-ink: #FFFFFF; --chip: #F4F1F8;
  --orb: url('/admin/static/leonora-mark.svg') center / contain no-repeat;
  --font-ui: Figtree, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-title: 'Bricolage Grotesque', Figtree, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #0E0D1F; --card: #171532; --card2: #1E1B3F; --line: #2C2958; --line2: #3F3B78;
  --ink: #F2F0FF; --mut: #A8A4D0; --mut2: #7C78AD;
  --pri: #8B7CFF; --pri-ink: #0E0D1F; --pri-soft: rgba(139, 124, 255, .2); --pri-soft-ink: #C9C2FF;
  --agent-soft: rgba(255, 138, 91, .14); --agent-ink: #FFB08F; --agent-grad: linear-gradient(120deg, rgba(255, 138, 91, .22), rgba(255, 92, 138, .12));
  --ok-soft: rgba(74, 222, 156, .15); --ok-ink: #4ADE9C; --warn-soft: rgba(255, 200, 87, .15); --warn-ink: #FFC857;
  --bad-soft: rgba(255, 107, 127, .16); --bad-ink: #FF8A99; --info-soft: rgba(60, 155, 224, .18); --info-ink: #7CC4F5;
  --side-active: rgba(139, 124, 255, .24); --side-active-ink: #FFFFFF; --chip: #1E1B3F;
  color-scheme: dark;
}

/* Carcasa */
html, body { background: var(--bg) !important; color: var(--ink); font-family: var(--font-ui) !important; -webkit-font-smoothing: antialiased; }
.shell { background: var(--bg) !important; color: var(--ink) !important; }
.main-content { background: var(--bg) !important; }
.sidebar { background: var(--card) !important; border-right: 1px solid var(--line); }
.sidebar-head > div:nth-of-type(1) { background: var(--orb) !important; color: transparent !important; box-shadow: none; border-radius: 0 !important; width: 34px !important; height: 34px !important; }
.sidebar-head > div:nth-of-type(2) { color: var(--ink) !important; font: 800 24px var(--font-title) !important; letter-spacing: -.025em; }
.nav-group summary { color: var(--mut2) !important; font-family: var(--font-ui) !important; }
.nav-group > div { background: var(--chip) !important; border-radius: 14px !important; }
.sidebar-nav a { color: var(--mut) !important; font-family: var(--font-ui) !important; border-radius: 12px !important; }
.sidebar-nav a:hover { color: var(--ink) !important; }
.sidebar-nav a[style*="background:oklch(0.55 0.13 190)"] { background: var(--side-active) !important; color: var(--side-active-ink) !important; }
.page-title { font: 800 30px var(--font-title) !important; letter-spacing: -.02em; color: var(--ink) !important; }

/* Interruptor de tema */
.theme-toggle { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 1px solid var(--line2); border-radius: 20px; background: var(--card); overflow: hidden; }
.theme-toggle button { border: 0; background: transparent; color: var(--mut); padding: 6px 11px; font: 600 12px var(--font-ui); cursor: pointer; }
.theme-toggle button[aria-pressed="true"] { background: var(--pri); color: var(--pri-ink); }

/* Pantallas existentes: sus colores escritos en línea se traducen a los del tema */
.main-content table { color: var(--ink); }
.main-content th { background: var(--chip); color: var(--mut); font-family: var(--font-ui); }
.main-content th, .main-content td { border-bottom-color: var(--line) !important; }
.main-content [style*="background:#fff"], .main-content [style*="background: #fff"] { background: var(--card) !important; }
.main-content [style*="background:oklch(0.98"], .main-content [style*="background:oklch(0.97 0.003"], .main-content [style*="background:oklch(0.985"] { background: var(--card2) !important; }
.main-content [style*="background:oklch(0.95 0.004"], .main-content [style*="background:oklch(0.94 0.003"] { background: var(--chip) !important; color: var(--mut) !important; }
.main-content [style*="oklch(0.92 0.004 230)"], .main-content [style*="oklch(0.9 0.004 230)"] { border-color: var(--line) !important; }
.main-content [style*="oklch(0.85 0.004 230)"], .main-content [style*="oklch(0.86 0.004 230)"] { border-color: var(--line2) !important; }
.main-content [style*="color:oklch(0.5 0.01 200)"], .main-content [style*="color:oklch(0.55 0.01 200)"], .main-content [style*="color:oklch(0.45 0.01 200)"] { color: var(--mut) !important; }
.main-content [style*="color:oklch(0.18 0.01 200)"] { color: var(--ink) !important; }
.main-content [style*="background:oklch(0.55 0.13 190)"] { background: var(--pri) !important; color: var(--pri-ink) !important; }
.main-content [style*="color:oklch(0.55 0.13 190)"] { color: var(--pri-soft-ink) !important; }
.main-content [style*="background:oklch(0.97 0.025 45)"], .main-content [style*="background:oklch(0.95 0.05 45)"] { background: var(--agent-soft) !important; border-color: transparent !important; }
.main-content [style*="color:oklch(0.4 0.1 45)"], .main-content [style*="color:oklch(0.45 0.13 45)"], .main-content [style*="color:oklch(0.5 0.12 45)"] { color: var(--agent-ink) !important; }
.main-content input, .main-content select, .main-content textarea { background: var(--card); color: var(--ink); border-color: var(--line2); font-family: var(--font-ui); }
.main-content a { color: var(--pri-soft-ink); }
.main-content [style*="text-decoration:none"][style*="background:oklch(0.55 0.13 190)"] { color: var(--pri-ink) !important; }
.main-content button { font-family: var(--font-ui); }

/* Datos técnicos */
.mono, .main-content code { font-family: var(--font-mono); font-size: 12px; }

/* En el celular: las pantallas existentes se ven como en la «Vista móvil» del diseño (tarjetas grandes, un botón grande por tarjeta).
   En computadora no cambia nada. */
@media (max-width: 700px) {
  .main-content { padding: 16px 14px !important; gap: 16px !important; }
  .page-title { font-size: 26px !important; }
  .theme-toggle button { padding: 6px 9px; }
  /* Resumen de Leonora: las cifras una debajo de otra */
  [data-leonora-day] { border-radius: 22px !important; }
  [data-leonora-day] > div > div { flex: 1 1 100% !important; }
  /* Chats por atender: tarjetas redondeadas y un botón grande a todo el ancho */
  .main-content [style*="border-left:6px solid"] { border-radius: 22px !important; }
  .main-content [style*="border-left:6px solid"] a[href^="/admin/conversations/"] { flex: 1 1 100% !important; justify-content: center; min-height: 52px !important; border-radius: 14px !important; font-size: 15px !important; }
  /* Tarjetas del Cerebro de Leonora y de tareas propuestas */
  [data-brain], [data-task-suggestions], [data-stale-items], [data-discount-requests] { border-radius: 22px !important; }
  /* Tablero de seguimientos: cada columna casi a todo el ancho, deslizando de lado */
  [data-board] { scroll-snap-type: x mandatory; }
  [data-board] .stage-column { min-width: 84vw !important; scroll-snap-align: start; border-radius: 22px !important; }
  /* Botones y campos más fáciles de tocar */
  .main-content button, .main-content select, .main-content input[type="text"], .main-content input[type="search"] { min-height: 40px; }
  .main-content textarea { font-size: 16px; }
}

/* ───── Piezas del diseño ─────
   Botones (5 niveles), chips por tono, tarjetas, tablas, aviso de Leonora y orbe. Las pantallas nuevas las usan por clase;
   las pantallas existentes las reciben por las reglas de «Pantallas existentes». */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 0 16px; border-radius: 12px; border: 1.5px solid transparent; font: 700 13.5px var(--font-ui); text-decoration: none; cursor: pointer; }
.btn-primary { background: var(--pri); color: var(--pri-ink); box-shadow: 0 6px 16px -6px var(--pri); }
.btn-secondary { background: transparent; color: var(--ink); border-color: var(--line2); }
.btn-ghost { background: transparent; color: var(--mut); }
.btn-danger { background: var(--bad-soft); color: var(--bad-ink); }
.btn-agent { background: linear-gradient(120deg, #FF9A6B, #FF6F9C); color: #2B1020; }
.chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 10px; font: 700 11.5px var(--font-ui); background: var(--chip); color: var(--mut); }
.chip-ok { background: var(--ok-soft); color: var(--ok-ink); }
.chip-warn { background: var(--warn-soft); color: var(--warn-ink); }
.chip-bad { background: var(--bad-soft); color: var(--bad-ink); }
.chip-info { background: var(--info-soft); color: var(--info-ink); }
.chip-pri { background: var(--pri-soft); color: var(--pri-soft-ink); }
.chip-agent { background: var(--agent-soft); color: var(--agent-ink); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 18px 20px; }
.stat-tile { background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 16px 20px; }
.stat-tile .stat-label { font: 600 12.5px var(--font-ui); color: var(--mut); margin-bottom: 6px; }
.stat-tile .stat-value { font: 800 28px var(--font-title); letter-spacing: -.02em; color: var(--ink); }
.stat-tile .stat-sub { font: 600 12px var(--font-ui); margin-top: 4px; }
.agent-banner { background: var(--agent-grad); border-radius: 18px; padding: 12px 16px; color: var(--ink); font: 500 13.5px/1.45 var(--font-ui); }
.orb { display: inline-block; width: 16px; height: 16px; background: var(--orb); vertical-align: -3px; }

/* Barra superior: ruta, buscador y, a la derecha, tema, avisos y cuenta */
.topbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.topbar .crumb { font: 600 13px var(--font-ui); color: var(--mut); }
.topbar .crumb b { color: var(--ink); font-weight: 700; }
.topbar .search { display: flex; align-items: center; flex: 1 1 220px; max-width: 420px; }
.topbar .search input { width: 100%; min-height: 40px; padding: 0 14px; border-radius: 14px; border: 1.5px solid var(--line2); background: var(--card); color: var(--ink); font: 500 13.5px var(--font-ui); }
.topbar .user { margin-left: auto; }

/* Pantallas existentes: tarjetas, botones y tablas con la forma del diseño */
.main-content [style*="background:#fff"][style*="border-radius:9px"], .main-content [style*="background:#fff"][style*="border-radius:10px"], .main-content [style*="background:#fff"][style*="border-radius:12px"] { border-radius: 22px !important; }
.main-content .table-scroll { border-radius: 22px !important; overflow: hidden; }
.main-content button[style*="border-radius:7px"], .main-content button[style*="border-radius:6px"], .main-content a[style*="border-radius:7px"], .main-content a[style*="border-radius:9px"] { border-radius: 12px !important; }
.main-content button[style*="border:1px solid oklch(0.85 0.004 230)"], .main-content a[style*="border:1px solid oklch(0.85 0.004 230)"] { border-width: 1.5px !important; }
.main-content tr:hover td { background: var(--card2); }

/* Resumen: columna principal + columna derecha (solo si hay algo que poner) */
.resumen-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.resumen-grid:has(> div:nth-child(2)) { grid-template-columns: minmax(0, 1fr) 340px; }
@media (max-width: 1000px) { .resumen-grid:has(> div:nth-child(2)) { grid-template-columns: minmax(0, 1fr); } }

/* Menú lateral del diseño: ancho, íconos por grupo, sin cajas anidadas */
.sidebar { width: 252px !important; padding: 24px 14px 18px !important; }
.nav-group summary { display: flex !important; align-items: center; gap: 10px; padding: 10px 12px !important; border-radius: 14px; font: 700 14px var(--font-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; cursor: pointer; }
.nav-group summary::after { content: '›'; margin-left: auto; color: var(--mut2); transition: transform .15s; }
.nav-group[open] > summary::after { transform: rotate(90deg); }
.nav-group summary:hover { background: var(--chip); }
.nav-group summary::before { content: attr(data-icon); width: 18px; text-align: center; color: #FF7A59; }
.nav-group > div { background: transparent !important; margin: 0 0 6px 28px !important; padding: 2px 0 !important; }
.sidebar-nav a { padding: 8px 12px !important; font-weight: 600 !important; }
.page-sub { font: 500 14px var(--font-ui); color: var(--mut); margin-top: 4px; }

/* Los enlaces con forma de botón conservan su color (la regla general de enlaces no debe pisarlo) */
.main-content a.btn-primary { color: var(--pri-ink) !important; text-decoration: none; }
.main-content a.btn-secondary { color: var(--ink) !important; text-decoration: none; }
.main-content a.btn-agent { color: #2B1020 !important; text-decoration: none; }
.main-content a.btn-danger { color: var(--bad-ink) !important; text-decoration: none; }
.main-content a.btn-ghost { color: var(--mut) !important; text-decoration: none; }

/* Conversación en tres paneles: lista de chats · chat · Leonora y contacto (colapsable) */
[data-chat-layout] { display: grid; grid-template-columns: 300px minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
[data-chat-layout].brain-collapsed { grid-template-columns: 300px minmax(0, 1fr); }
[data-chat-layout].brain-collapsed .brain-panel { display: none; }
.chat-list-panel { overflow-x: hidden; order: 1; background: var(--card); border: 1px solid var(--line); border-radius: 26px; max-height: 78vh; overflow-y: auto; }
.chat-list-panel a[data-chat-list-item]:hover { background: var(--chip); }
.brain-panel { max-height: 78vh; overflow-y: auto; }
@media (max-width: 1100px) {
  [data-chat-layout], [data-chat-layout].brain-collapsed { grid-template-columns: minmax(0, 1fr) !important; }
  .chat-list-panel { display: none; }
  [data-chat-layout] .chat-main { order: 1 !important; }
  [data-chat-layout] .brain-panel { order: 2 !important; max-height: none; }
}

.chat-list-panel a[data-chat-list-item] { min-width: 0; }

/* Menú lateral colapsable (solo en pantallas grandes; en el celular ya hay botón «☰ Menú») */
.nav-collapse-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; border: 1.5px solid var(--line2); background: var(--card); color: var(--ink); font-size: 17px; cursor: pointer; }
.nav-collapse-btn:hover { background: var(--chip); }
html.nav-collapsed .sidebar { display: none !important; }
@media (max-width: 900px) { .nav-collapse-btn { display: none; } html.nav-collapsed .sidebar { display: flex !important; } }

/* Quién habló en el chat (reglas del diseño): índigo = personas del equipo, coral = Leonora, tarjeta neutra = quien escribe */
.msg { border: 1px solid transparent; }
.main-content .msg.msg-contact { background: var(--card2) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.main-content .msg.msg-agent { background: var(--agent-soft) !important; color: var(--ink) !important; border-color: rgba(255, 138, 91, .35) !important; }
.main-content .msg.msg-template { background: var(--agent-soft) !important; color: var(--ink) !important; border: 1px dashed rgba(255, 138, 91, .6) !important; }
.main-content .msg.msg-user { background: var(--pri) !important; color: var(--pri-ink) !important; }
.msg.msg-agent .msg-author, .msg.msg-template .msg-author { color: var(--agent-ink); opacity: 1 !important; font-weight: 700 !important; }
.msg.msg-agent .msg-author::before { content: '✦ '; }
.msg.msg-user .msg-author { opacity: 1 !important; font-weight: 700 !important; }
.main-content .msg-note { background: var(--warn-soft) !important; border-color: transparent !important; color: var(--warn-ink) !important; }
.main-content .msg-note > div { color: var(--warn-ink) !important; }
.main-content [style*="background:oklch(0.95 0.003 230)"] { background: var(--chip) !important; color: var(--mut) !important; }

/* ───── Modo oscuro: fondos claros y textos oscuros escritos en línea por las pantallas existentes ─────
   Una pantalla vieja pinta cajas con tonos pastel (0.9x de luminosidad) y texto oscuro. En oscuro se traducen a los tonos
   suaves del diseño según su color (rojo, verde, ámbar, azul, coral) y el texto toma el color del tema. */
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"] { background: var(--card2) !important; color: var(--ink) !important; }
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 25)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 30)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 20)"] { background: var(--bad-soft) !important; color: var(--bad-ink) !important; }
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 145)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 150)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 160)"] { background: var(--ok-soft) !important; color: var(--ok-ink) !important; }
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 60)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 70)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 80)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 85)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 90)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 95)"] { background: var(--warn-soft) !important; color: var(--warn-ink) !important; }
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 190)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 230)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 250)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 260)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 265)"] { background: var(--info-soft) !important; color: var(--info-ink) !important; }
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 45)"],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 50)"] { background: var(--agent-soft) !important; color: var(--agent-ink) !important; }
/* Los neutros (0.003 / 0.004 / 0.01 de croma) y los blancos puros ya se traducen arriba; el texto oscuro de cajas que no cambian de fondo: */
html[data-theme="dark"] .main-content tr[style*="background:oklch(0.9"] td, html[data-theme="dark"] .main-content tr[style*="background:oklch(0.9"] a { color: inherit !important; }
html[data-theme="dark"] .main-content [style*="color:oklch(0.2"], html[data-theme="dark"] .main-content [style*="color:oklch(0.3"], html[data-theme="dark"] .main-content [style*="color:oklch(0.4"] { color: var(--ink) !important; }
html[data-theme="dark"] .main-content [style*="color:oklch(0.5 0.2"], html[data-theme="dark"] .main-content [style*="color:oklch(0.55 0.2"], html[data-theme="dark"] .main-content [style*="color:oklch(0.6 0.2"] { color: var(--bad-ink) !important; }
html[data-theme="dark"] .main-content [style*="color:oklch(0.5 0.15 60)"], html[data-theme="dark"] .main-content [style*="color:oklch(0.5 0.15 55)"] { color: var(--warn-ink) !important; }
/* Neutros (croma casi 0): no son azules aunque su tono sea 230 */
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 0.001 "],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 0.002 "],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 0.003 "],
html[data-theme="dark"] .main-content [style*="background:oklch(0.9"][style*=" 0.004 "] { background: var(--chip) !important; color: var(--mut) !important; }
/* Los actores del chat conservan su color en oscuro */
html[data-theme="dark"] .main-content .msg.msg-contact { background: var(--card2) !important; color: var(--ink) !important; }
html[data-theme="dark"] .main-content .msg.msg-agent, html[data-theme="dark"] .main-content .msg.msg-template { background: var(--agent-soft) !important; color: var(--ink) !important; }
html[data-theme="dark"] .main-content .msg-note { background: var(--warn-soft) !important; color: var(--warn-ink) !important; }

/* Seguimiento de etapas: la etiqueta de la etapa actual puede ser más ancha que su columna; que no se corte */
[data-stage-stepper] [style*="max-width:110px"] { max-width: none !important; }

/* ───── Celular: una sola barra fija arriba (☰ · Leonora · tema · avisos · cuenta) ─────
   Antes el encabezado, la ruta, el buscador y los controles ocupaban más de media pantalla. Ahora son ~56 px y se quedan
   fijos al desplazar. El buscador pasa al menú; la ruta se oculta (el título de la pantalla ya la dice). */
.sidebar-search { display: none; }
@media (max-width: 900px) {
  .sidebar { position: sticky !important; top: 0; z-index: 60; background: var(--card) !important; border-right: 0 !important; border-bottom: 1px solid var(--line); padding: 8px 12px !important; gap: 0 !important; }
  .sidebar-head { height: 40px; gap: 8px !important; }
  .sidebar-head > div:nth-of-type(1) { width: 28px !important; height: 28px !important; flex: none; }
  .sidebar-head > div:nth-of-type(2) { font-size: 21px !important; }
  .nav-burger { min-height: 40px !important; padding: 0 12px !important; border-radius: 12px !important; border: 1.5px solid var(--line2) !important; color: var(--ink) !important; background: transparent; }
  .topbar { display: contents; }
  .topbar .crumb, .topbar .search, .nav-collapse-btn { display: none !important; }
  .topbar .user { position: fixed; top: 0; right: 10px; height: 56px; display: flex; align-items: center; z-index: 70; margin: 0; }
  .topbar .user > div { gap: 6px !important; }
  .theme-toggle button { padding: 6px 9px; font-size: 14px; }
  .tt-label, .user-caret, .user-menu-name { display: none !important; }
  .user-menu summary, .user-menu > summary { padding: 3px !important; }
  .bell-menu summary { width: 36px !important; height: 36px !important; }
  .bell-panel { top: 60px !important; }
  /* menú abierto: se desplaza dentro de la pantalla sin empujar la barra */
  .nav-check:checked ~ .sidebar-nav { max-height: calc(100vh - 72px); overflow-y: auto; padding: 10px 2px 14px; }
  .sidebar-search { display: block; margin-bottom: 8px; }
  .sidebar-search input { width: 100%; min-height: 44px; padding: 0 14px; border-radius: 14px; border: 1.5px solid var(--line2); background: var(--card2); color: var(--ink); font: 500 15px var(--font-ui); box-sizing: border-box; }
}
@media (max-width: 380px) { .nav-burger-label { display: none; } }

/* Marca: símbolo nuevo y palabra «Leonora» (Bricolage Grotesque ExtraBold, −2.5 %). */
.brand-word { font: 800 24px var(--font-title); letter-spacing: -.025em; color: var(--ink); }
