/* BALCON - Opciones de accesibilidad del portal */
.ax-btn { position: fixed; left: 14px; bottom: 14px; z-index: 9990; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #1e3a8a; color: #fff;
  font-size: 1.35rem; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); cursor: pointer; }
.ax-btn:focus-visible { outline: 3px solid #fbbf24; outline-offset: 3px; }
.ax-panel { position: fixed; left: 14px; bottom: 70px; z-index: 9991; width: min(280px, calc(100vw - 28px)); background: #fff; color: #0f172a; border-radius: 14px;
  padding: 14px; box-shadow: 0 14px 40px rgba(0, 0, 0, .3); font-size: 15px; }
.ax-panel strong { display: block; margin-bottom: 8px; }
.ax-fila { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid #f1f5f9; cursor: pointer; }
.ax-fila button { border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; padding: 4px 9px; margin-left: 4px; font: inherit; font-weight: 700; cursor: pointer; }
.ax-fila input { width: 20px; height: 20px; }
.ax-reset { margin-top: 8px; border: 0; background: none; color: #1d4ed8; text-decoration: underline; font: inherit; cursor: pointer; padding: 0; }
html.ax-contraste body, html.ax-contraste .bl-main, html.ax-contraste .bl-content { background: #000 !important; color: #fff !important; }
html.ax-contraste .bl-card, html.ax-contraste .pt-card, html.ax-contraste .cc-paso, html.ax-contraste .pp-card, html.ax-contraste .ix-card, html.ax-contraste .ix-kpi,
html.ax-contraste .bl-topbar, html.ax-contraste section, html.ax-contraste .bl-tile { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.ax-contraste a, html.ax-contraste a * { color: #ffeb3b !important; }
html.ax-contraste p, html.ax-contraste span, html.ax-contraste small, html.ax-contraste h1, html.ax-contraste h2, html.ax-contraste h3, html.ax-contraste li, html.ax-contraste label, html.ax-contraste td, html.ax-contraste th { color: #fff !important; }
html.ax-contraste input, html.ax-contraste select, html.ax-contraste textarea { background: #000 !important; color: #fff !important; border: 2px solid #fff !important; }
html.ax-contraste .ax-panel, html.ax-contraste .ax-panel * { background: #fff !important; color: #000 !important; }
html.ax-enlaces a { text-decoration: underline !important; text-underline-offset: 2px; }
html.ax-legible body, html.ax-legible body * { font-family: Verdana, Tahoma, Arial, sans-serif !important; letter-spacing: .02em; line-height: 1.6; }
html.ax-legible .fas, html.ax-legible .fab, html.ax-legible .far, html.ax-legible [class^="fa"] { font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands" !important; letter-spacing: 0; }
html.ax-quieto *, html.ax-quieto *::before, html.ax-quieto *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media print { .ax-btn, .ax-panel { display: none !important; } }
