/* GEEI - estilos extras (complementam o TailwindCSS via CDN). */

/* Acessibilidade: foco visivel para usuarios de teclado (verde da marca). */
:focus-visible {
  outline: 3px solid #04882f;
  outline-offset: 2px;
}

/* Selecao de texto na cor da marca. */
::selection {
  background: #b9e391;
  color: #07350f;
}

/* Tipografia um pouco maior para leitura confortavel. */
html { font-size: 16px; }
body { -webkit-font-smoothing: antialiased; }

/* Regra do sistema: a pagina nunca deve exigir rolagem lateral, em nenhum
   dispositivo. Trava no nivel de html/body — containers com scroll proprio
   (tabelas em overflow-x-auto, faixas de chips/abas) continuam rolando
   normalmente dentro de si mesmos, isso nao os afeta. Existe em particular
   por causa de gavetas fora da tela via transform: translateX(-100%) em
   position:fixed (barra lateral do admin/dev no celular): esse padrao pode
   ampliar a area rolavel da pagina em alguns motores mesmo com o elemento
   visualmente fora da tela. */
html, body { overflow-x: hidden; }

/* Transicoes suaves em elementos interativos comuns. */
a, button { transition: color .15s ease, background-color .15s ease, box-shadow .15s ease, opacity .15s ease; }

/* Celulas do calendario: evita quebra estranha em telas pequenas. */
#calendario button { word-break: break-word; }

/* Datalist/inputs com toque maior em mobile. */
input, select, textarea, button { font-size: 1rem; }

/* Faixas roláveis (barras de abas): a scrollbar de 10px abaixo ficaria
   desproporcional numa linha de botões, e no celular a faixa é a própria
   navegação — o gesto de arrastar já indica que há mais itens. */
.scrollbar-none { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-none::-webkit-scrollbar { display: none; }

/* Prévia da mensagem no sino: 2 linhas fechada, inteira quando aberta.
   Utilitário próprio (e não line-clamp do Tailwind) porque o texto preserva as
   quebras de linha da mensagem (white-space: pre-line). */
.notif-resumo {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* Barra de rolagem discreta com tom da marca (navegadores WebKit). */
* { scrollbar-color: #93d152 transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #93d152; border-radius: 9999px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #4ead09; background-clip: content-box; }
