/* ALOS Quality Pass — legibilidade, densidade e navegacao responsiva. */

@media screen {
  :root {
    --alos-label: 11px;
    --alos-helper: 12px;
    --alos-body: 14px;
  }

  /* A hierarquia passa a depender de peso/cor, sem microtexto ilegivel. */
  .main small,
  .main [class$="-eyebrow"],
  .main [class$="-kicker"],
  .main [class$="-hint"],
  .main [class$="-meta"],
  .main [class$="-sub"] {
    font-size: max(var(--alos-label), .78em) !important;
    line-height: 1.45;
  }

  .main p,
  .main li,
  .main td,
  .main input,
  .main select,
  .main textarea {
    line-height: 1.5;
  }

  #viewTabs .view-tab {
    min-height: 40px;
    font-size: 14px;
  }

  #viewTabs .tab-group-lbl {
    padding-top: 15px;
    color: var(--nav-label-color, #a8b5c9);
    font-size: 10.5px;
    letter-spacing: .09em;
    opacity: var(--nav-label-opacity, .82);
  }

  #viewTabs .tab-group-lbl.quality-nav-hidden,
  #viewTabs .tab-sep.quality-nav-hidden {
    display: none !important;
  }

  /* A busca local do topo ja atende Liminares; evita dois campos concorrentes. */
  .lim-ops-search { display: none !important; }
  .lim-ops-copy p { max-width: 640px; }

  /* Controles progressivos substituem DOMs enormes por blocos curtos. */
  .quality-more-row td { padding: 18px !important; background: var(--bg2) !important; text-align: center !important; }
  .quality-load-more {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 18px auto 4px;
    padding: 10px 18px;
    border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--border));
    border-radius: 11px;
    background: var(--card);
    color: var(--primary);
    font: 800 12.5px/1.2 'Manrope',sans-serif;
    cursor: pointer;
    box-shadow: 0 10px 25px -22px rgba(15,23,42,.8);
  }
  .quality-load-more:hover { border-color: var(--primary); background: var(--accent-soft); transform: translateY(-1px); }
  .quality-load-more span { color: var(--muted); font-weight: 650; }
  .quality-lim-more { width: min(420px,calc(100% - 24px)); }

  /* Imagens e avatares permanecem nitidos sem interpolacao artificial. */
  img,
  .avatar-img { image-rendering: auto; }

}
/* Setas discretas tornam a navegacao horizontal descobrivel no celular. */
.quality-nav-arrow { display: none; }

@media (max-width: 900px) {
  .side { position: relative; }
  .side-nav {
    padding-right: 45px;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.32) transparent;
  }
  .quality-nav-arrow {
    position: absolute;
    z-index: 8;
    bottom: 9px;
    display: grid;
    width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    background: rgba(10,21,37,.94);
    color: #fff;
    font: 900 18px/1 'Manrope',sans-serif;
    box-shadow: 0 8px 20px rgba(2,6,23,.28);
    backdrop-filter: blur(10px);
    cursor: pointer;
  }
  .quality-nav-arrow.prev { left: 7px; }
  .quality-nav-arrow.next { right: 7px; }
  .quality-nav-arrow[hidden] { display: none; }

  #viewTabs .view-tab,
  .nav-more-btn,
  .header-actions button,
  .hdr-menu > summary,
  .main button:not(.scroll-top):not(.quality-nav-arrow) {
    min-height: 44px;
  }
}

@media (max-width: 620px) {
  .header { padding: 15px 14px; }
  .header-actions { width: 100%; gap: 7px; }
  .header-actions > button,
  .header-actions > details { flex: 1 1 auto; }
  .header-actions > button { justify-content: center; padding-inline: 10px; }
  .cmdk-trigger-kbd { display: none; }

  .main small,
  .main [class$="-eyebrow"],
  .main [class$="-kicker"],
  .main [class$="-hint"],
  .main [class$="-meta"],
  .main [class$="-sub"] {
    font-size: max(11.5px,.8em) !important;
  }

  .table-container table { font-size: 14px; }
  .quality-load-more { width: calc(100% - 24px); }
}
