/* ALOS — consolidação visual e de navegação
   Uma única gramática operacional: conteúdo primeiro, contexto sob demanda. */
:root {
  --alos-operational-radius: 14px;
  --alos-operational-shadow: 0 10px 28px -26px rgba(7, 28, 42, .62);
  --alos-motion-ease: cubic-bezier(.2,.78,.2,1);
}

/* Movimento de uma central jurídica viva: entrada coordenada, profundidade e
   resposta tátil. Não interfere em posição, scroll ou dados operacionais. */
@keyframes alosViewIn {
  from { opacity: .35; transform: translateY(10px); filter: saturate(.82); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes alosSurfaceIn {
  from { opacity: 0; transform: translateY(16px) scale(.992); }
  to { opacity: 1; transform: none; }
}
@keyframes alosGridDrift {
  from { background-position: 0 0; }
  to { background-position: 34px 34px; }
}
@keyframes alosSignalBreath {
  0%,100% { box-shadow: 0 0 0 4px rgba(52,211,153,.10); }
  50% { box-shadow: 0 0 0 9px rgba(52,211,153,0); }
}
.view-panel.alos-view-enter { animation: alosViewIn .34s var(--alos-motion-ease) both; }
.view-panel.alos-view-enter :is(.myday-hero,.proc5-hero,.rel5-hero,.docs3-hero,.ct3-hero,.desp4-hero,.pub6-hero,.lim-ops-hero,.julg-hero,.acoes4-hero,.cov4-hero) {
  animation: alosSurfaceIn .5s var(--alos-motion-ease) .03s both;
}
.view-panel.alos-view-enter :is(.myday-controls,.fbar,.proc-taxonomy,.rel5-library,.cov4-command,.legal-secondary) {
  animation: alosSurfaceIn .48s var(--alos-motion-ease) .10s both;
}
.view-panel.alos-view-enter :is(.myday-kpis,.myday-grid,.table-container,.docs3-list,.ct3-list,.cov4-monitor) {
  animation: alosSurfaceIn .52s var(--alos-motion-ease) .17s both;
}
.myday-hero::before { animation: alosGridDrift 18s linear infinite; }
.cov4-eyebrow i { animation: alosSignalBreath 2.4s ease-in-out infinite; }
#viewTabs .view-tab,
.main :is(.myday-kpis button,.myday-critical-row,.cov4-kpis button,.cov4-case,.docs3-card,.ct3-card,.desp4-card) {
  transition: transform .22s var(--alos-motion-ease), border-color .22s ease, box-shadow .22s ease, background-color .22s ease, opacity .22s ease;
}
#viewTabs .view-tab:hover { transform: translateX(3px); }
.main :is(.myday-kpis button,.cov4-kpis button,.docs3-card,.ct3-card,.desp4-card):hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px -32px rgba(7,28,42,.72) !important;
}
.myday-critical-row:hover { transform: translateX(3px); }

/* Navegação por finalidade: os quatro grupos essenciais ficam visíveis e estáveis. */
#viewTabs .alos-nav-group {
  display: block;
  padding: 15px 11px 5px;
  color: var(--nav-label-color, #9eadc2);
  opacity: var(--nav-label-opacity, .86);
  font: 750 10.5px/1.2 'Manrope', sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#viewTabs .alos-nav-secondary-label { display: none; }
body.nav-all-open #viewTabs .alos-nav-secondary-label { display: block; }
#viewTabs .nav-more-btn {
  min-height: 40px;
  margin: 9px 0 2px;
  border-style: solid;
  border-color: rgba(255,255,255,.11);
  background: rgba(255,255,255,.035);
}
#viewTabs .nav-more-btn:hover { border-color: rgba(216,172,85,.34); }
body.nav-all-open #viewTabs .nav-more-btn { background: rgba(216,172,85,.09); }

/* O chat permanece disponível, mas deixa de cobrir tabelas e comandos. */
.ac-launch {
  right: 14px;
  bottom: 14px;
  width: 48px;
  height: 48px;
  padding: 0;
  justify-content: center;
  border-radius: 15px;
  box-shadow: 0 12px 32px rgba(3,26,40,.24);
}
.ac-launch .ac-launch-icon { width: 34px; height: 34px; border-radius: 11px; }
.ac-launch .ac-launch-copy { display: none; }
.ac-panel { right: 14px; bottom: 72px; }
.scroll-top { right: 76px !important; }

/* Cabeçalhos operacionais: menos apresentação, mais superfície útil na primeira dobra. */
body[data-view="table"] .proc5-hero,
body[data-view="relatorios"] .rel5-hero,
body[data-view="documentos"] .docs3-hero,
body[data-view="contatos"] .ct3-hero,
body[data-view="despachos"] .desp4-hero,
body[data-view="publicacoes"] .pub6-hero,
body[data-view="liminares"] .lim-ops-hero,
body[data-view="julgamentos"] .julg-hero,
body[data-view="acoes"] .acoes4-hero {
  min-height: 0;
  margin-top: 12px;
  border-radius: var(--alos-operational-radius);
  box-shadow: var(--alos-operational-shadow);
}
body[data-view="table"] .proc5-head,
body[data-view="relatorios"] .rel5-hero,
body[data-view="despachos"] .desp4-hero,
body[data-view="publicacoes"] .pub6-hero,
body[data-view="liminares"] .lim-ops-hero,
body[data-view="julgamentos"] .julg-hero,
body[data-view="acoes"] .acoes4-hero {
  padding: 15px 18px;
  gap: 14px;
}
body[data-view="documentos"] .docs3-copy,
body[data-view="documentos"] .docs3-sla,
body[data-view="documentos"] .docs3-next,
body[data-view="contatos"] .ct3-copy,
body[data-view="contatos"] .ct3-side {
  padding: 15px 18px;
}
body[data-view="table"] .proc5-copy h2,
body[data-view="relatorios"] .rel5-hero h2,
body[data-view="documentos"] .docs3-hero h2,
body[data-view="contatos"] .ct3-hero h2,
body[data-view="despachos"] .desp4-hero h2,
body[data-view="publicacoes"] .pub6-hero h2,
body[data-view="liminares"] .lim-ops-hero h2,
body[data-view="julgamentos"] .julg-hero h2,
body[data-view="acoes"] .acoes4-hero h2 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(21px, 1.8vw, 26px);
  font-weight: 760;
  line-height: 1.22;
  letter-spacing: -.025em;
}
body[data-view="acoes"] .acoes4-hero { background-image: none; }
body[data-view="acoes"] .acoes4-copy > span,
body[data-view="acoes"] .acoes4-copy h2 { font-family: 'Manrope', sans-serif; }
body[data-view="acoes"] .fbar.ctx-filters { display: none !important; }
body[data-view="acoes"] .acoes4-copy > span { margin-bottom: 8px; }
body[data-view="acoes"] .acoes4-copy > p { margin: 0; line-height: 1.45; }
body[data-view="acoes"] .acoes4-copy > div { margin-top: 12px; }
body[data-view="acoes"] .acoes4-next { padding: 13px 16px; border-radius: 13px; }
body[data-view="acoes"] .acoes4-next > b { margin-top: 4px; font-family: 'Manrope', sans-serif; font-size: 18px; }
body[data-view="acoes"] .acoes4-next > small { margin-top: 3px; }
body[data-view="acoes"] .acoes4-next > p { margin-top: 6px; }
body[data-view="acoes"] .acoes4-next > button { margin-top: 8px; }

/* Painéis de IA e taxonomias são contexto opcional; não disputam atenção com a fila. */
.ai-context-panel { margin-block: 9px !important; }
.ai-context-panel > summary { min-height: 42px; }
.proc-taxonomy, .rel5-library { margin-top: 9px; }
.alos-visual-details > summary { min-height: 42px; }

/* Legibilidade mínima para a operação diária. */
.main :is(.table-container td,.rel-table td,.docs3-card,.ct3-card,.desp4-card) { font-size: 13px; }
.main :is(.table-container th,.docs3-source,.docs3-card small,.ct3-card small,.desp4-card small,
  .rel-table th,.myday-capture-metric small,.myday-critical-source) {
  font-size: 12px;
  line-height: 1.45;
}
.main :is(input,select,textarea,button) { font-family: 'Manrope', sans-serif; }

/* Zeros continuam acessíveis, mas não competem com sinais que pedem ação. */
.alos-zero-metric {
  opacity: .58;
  filter: saturate(.38);
  box-shadow: none !important;
}
.alos-zero-metric:hover,
.alos-zero-metric:focus-visible { opacity: .88; filter: none; }

/* Consulta direta é reforço; ausência dela não é falha crítica quando o push
   judicial está ativo. */
.myday-capture-metric.state-push_protected mark {
  background: color-mix(in srgb,#15966a 10%,var(--card));
  color: #157052;
}
#coberturaBody .cov4-kpis button.info,
#coberturaBody .cov4-kpis button.push { border-top: 3px solid #4f8990; }
#coberturaBody .cov4-kpis button.info b,
#coberturaBody .cov4-kpis button.push b { color: #2d7278; }
#coberturaBody .cov4-case.push { border-left-color: #4f8990; }
#coberturaBody .cov4-case.push .cov4-signal { background: #e2f0f0; color: #2b7379; }
#coberturaBody .cov4-case.push .cov4-case-status em { color: #286b71; }
#coberturaBody .cov4-case.push .cov4-evidence .off b { color: var(--text-soft); }
#coberturaBody .cov-health-card.support {
  border-color: color-mix(in srgb,#4f8990 26%,var(--border));
  background: color-mix(in srgb,#4f8990 5%,var(--card));
}
#coberturaBody .cov-health-card.support > i { color: #397b81; }
#coberturaBody .cov-health-card.support span { color: #397b81; }
body.dark .myday-capture-metric.state-push_protected mark { color: #8ee2be; }
body.dark #coberturaBody .cov4-case.push .cov4-signal { background: rgba(70,147,151,.17); color: #8ed4d3; }
body.dark #coberturaBody .cov4-case.push .cov4-case-status em { color: #8ed4d3; }

/* Contatos ficam mais calmos fora do foco de edição. */
body[data-view="contatos"] .ct3-card:not(:focus-within) :is(input,select,textarea) {
  background: color-mix(in srgb, var(--card) 88%, var(--bg2));
  border-color: transparent;
  box-shadow: none;
}
body[data-view="contatos"] .ct3-card:focus-within {
  border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
  box-shadow: 0 12px 30px -26px rgba(7,28,42,.8);
}

@media (max-width: 900px) {
  #viewTabs .alos-nav-group { display: block !important; width: 100%; padding: 14px 12px 5px !important; }
  #viewTabs .alos-nav-secondary-label { display: none !important; }
  body.nav-all-open #viewTabs .alos-nav-secondary-label { display: block !important; }
  .ac-launch { display: none; }
  .ac-panel { inset: 8px; }
}

@media (max-width: 760px) {
  body[data-view="table"] .proc5-head,
  body[data-view="relatorios"] .rel5-hero,
  body[data-view="despachos"] .desp4-hero,
  body[data-view="publicacoes"] .pub6-hero,
  body[data-view="liminares"] .lim-ops-hero,
  body[data-view="julgamentos"] .julg-hero,
  body[data-view="acoes"] .acoes4-hero { padding: 14px; }
  body[data-view="documentos"] .docs3-copy,
  body[data-view="documentos"] .docs3-sla,
  body[data-view="documentos"] .docs3-next,
  body[data-view="contatos"] .ct3-copy,
  body[data-view="contatos"] .ct3-side { padding: 14px; }
  .ai-context-panel > summary { grid-template-columns: 22px minmax(0,1fr) auto; }
  .ai-context-open { font-size: 0; }
  .ai-context-open::after { content: 'Abrir'; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .view-panel.alos-view-enter,
  .view-panel.alos-view-enter *,
  .myday-hero::before,
  .cov4-eyebrow i { animation: none !important; }
  .ac-launch, #viewTabs .view-tab, .alos-zero-metric,
  .main :is(.myday-kpis button,.myday-critical-row,.cov4-kpis button,.cov4-case,.docs3-card,.ct3-card,.desp4-card) { transition: none !important; }
}

/* Grupos recolhiveis do menu (Sprint 1, 10/10/2026). O rotulo vira botao; a seta e um
   pseudo-elemento para o texto do grupo continuar sendo so o nome. Com o menu recolhido
   em icones, os grupos nao se aplicam: todos os icones ficam visiveis. */
#viewTabs .alos-nav-toggle { width: 100%; border: 0; background: transparent; text-align: left; cursor: pointer; position: relative; appearance: none; }
#viewTabs .alos-nav-toggle::after { content: ''; position: absolute; right: 14px; top: 17px; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: .8; transition: transform .18s ease; }
#viewTabs .alos-nav-toggle[aria-expanded="false"]::after { transform: rotate(-45deg); }
#viewTabs .alos-nav-toggle:hover { color: #dbe4f3; opacity: 1; }
#viewTabs .alos-nav-toggle:focus-visible { outline: 2px solid #60a5fa; outline-offset: -2px; border-radius: 6px; }
body:not(.side-collapsed) #viewTabs .view-tab[data-nav-collapsed] { display: none !important; }
body.side-collapsed #viewTabs .alos-nav-toggle { display: none !important; }
/* Sombra de rolagem: aparece so quando ha mais itens abaixo (ou acima). */
.side-nav { background: linear-gradient(var(--nav-scroll-top, #0f172a) 30%, rgba(15,23,42,0)), linear-gradient(rgba(11,18,32,0), var(--nav-scroll-bottom, #0b1220) 70%) bottom, radial-gradient(farthest-side at 50% 0, var(--nav-scroll-shadow, rgba(0,0,0,.45)), transparent), radial-gradient(farthest-side at 50% 100%, var(--nav-scroll-shadow, rgba(0,0,0,.45)), transparent) bottom; background-repeat: no-repeat; background-size: 100% 28px, 100% 28px, 100% 12px, 100% 12px; background-attachment: local, local, scroll, scroll; }
