/* Navegação e acabamento visual. As regras financeiras não são alteradas. */
body.com-menu { --radius: 14px; --shadow: 0 3px 14px #11251a08; }
.topo { height:64px; padding:0 24px; box-shadow:0 1px 10px #10291e04; }
.marca { gap:11px; font-size:17px; letter-spacing:-.025em; }
.marca .logo { width:35px; height:35px; border-radius:11px; box-shadow:0 3px 8px #0f6b4f18; }
.topo-dir { gap:20px; font-size:13px; }
.topo-dir .usuario { font-weight:550; }
.com-menu .conteudo { margin-left:252px; padding:92px 30px 36px; max-width:1400px; }
.conteudo h1 { font-size:25px; letter-spacing:-.035em; }
.cab { margin-bottom:24px; }
.card { padding:22px; }
.kpi { padding:20px; }
.kpi .val { font-size:26px; margin:4px 0; }
.btn { border-radius:10px; transition:background .15s,box-shadow .15s; }
.btn.prim { box-shadow:0 2px 5px #0f6b4f12; }
th { padding-top:13px; padding-bottom:13px; }
td { padding-top:12px; padding-bottom:12px; }
.menu.menu-nova { top:64px; width:252px; padding:25px 14px 18px; background:#102d27; color:#e9f4ef; border-right:0; scrollbar-width:thin; scrollbar-color:#43635a #102d27; }
.nav-caption { font-size:10px; font-weight:750; letter-spacing:.14em; color:#a4c1b6; padding:0 14px 15px; }
.menu-nova .nav-direto,.menu-nova summary { display:flex; align-items:center; gap:11px; padding:13px 13px; margin:3px 0; border-radius:11px; color:#e6f1ec; font-size:14px; line-height:1.4; font-weight:550; text-decoration:none; cursor:pointer; }
.nav-icon { width:20px; height:20px; flex:0 0 20px; color:#a4caba; }
.menu-nova .nav-direto>span:first-of-type,.menu-nova summary>span { flex:1; }
.menu-nova .nav-direto:hover,.menu-nova summary:hover { background:#1b3c33; color:#fff; }
.menu-nova .nav-direto.ativo { background:#d8f0e3; color:#0b3929; font-weight:700; box-shadow:0 3px 10px #061a1522; }
.menu-nova .nav-direto.ativo .nav-icon { color:#16694b; }
.nav-separador { height:1px; background:#ffffff14; margin:19px 12px; }
.menu-nova summary { list-style:none; user-select:none; }
.menu-nova summary::-webkit-details-marker { display:none; }
.nav-seta { width:17px; height:17px; flex:0 0 17px; color:#98b9ac; transition:transform .18s; }
.nav-grupo[open] .nav-seta { transform:rotate(90deg); }
.nav-grupo[open]>summary { background:#1b3c33; color:#fff; }
.nav-grupo.atual>summary .nav-icon { color:#80d6ae; }
.nav-submenu { border-left:1px solid #547266; margin:7px 0 15px 23px; padding-left:12px; }
.menu-nova .nav-submenu a { display:flex; align-items:center; gap:6px; color:#c6d9d0; font-size:13px; line-height:1.45; padding:10px; margin:3px 0; border-radius:8px; }
.menu-nova .nav-submenu a>span:first-child { flex:1; }
.menu-nova .nav-submenu a:hover { background:#20463a; color:#fff; }
.menu-nova .nav-submenu a.ativo { background:#d8f0e3; color:#0b3929; font-weight:700; }
.nav-contador { background:#f4dbad; color:#573a0b; border-radius:6px; padding:1px 6px; font-size:11px; font-weight:750; }
.menu-nova .chat-pill { background:#d6f4e4; color:#0c4930; }
.menu-nova a:focus-visible,.menu-nova summary:focus-visible { outline:2px solid #9ae2bc; outline-offset:2px; }
.nav-rodape { margin:32px 14px 0; padding-top:18px; border-top:1px solid #ffffff14; color:#d0e4da; font-size:13px; font-weight:750; }
.nav-rodape span { font-size:11px; font-weight:400; margin-left:6px; color:#a4c1b6; }

/* O chat tem superfícies claras próprias, inclusive em computadores no modo escuro. */
.chat-root,.chat-dialog {
  color-scheme:light; color:#111;
  --surface:#fff; --surface-2:#f0f4f2; --ink:#111; --ink-2:#33443b; --ink-3:#52615a;
  --line:#d6e1da; --brand:#126448; --brand-ink:#fff; --brand-soft:#e0f1e7;
}
.chat-root { border-color:#d7e2db; box-shadow:0 6px 28px #11251a07; height:calc(100dvh - 194px); min-height:440px; }
.chat-aside { background:#f7faf8; }
.chat-root .sub,.chat-root .chat-help,.chat-private,.chat-estado { color:#52615a; }
.chat-head h2 { color:#111; font-size:20px; }
.chat-head .sub { color:#47574e; line-height:1.6; }
.chat-mensagens { background:#edf3ef; }
.chat-msg { color:#000; background:#fff; border-color:#d9e4dd; padding:13px 16px; box-shadow:0 2px 4px #17352207; }
.chat-msg.minha { color:#000; background:#d7eddf; border-color:#bddbc9; }
.chat-msg-body { color:#000; font-size:15px; font-weight:450; line-height:1.65; }
.chat-msg-body mark { color:#000; background:#b9dfc9; font-weight:650; }
.chat-msg-meta { color:#48564e; font-size:12px; }
.chat-msg-meta strong { color:#000; font-weight:700; }
.chat-msg-actions button { color:#254e3a; font-size:12px; }
.chat-reply-link { color:#000; background:#f0f6f2; border-left-color:#447b5b; }
.chat-card { color:#000; border-color:#adc9b7; background:#f9fcfa; }
.chat-card small,.chat-ref-chip small { color:#3e5146; }
.chat-compose textarea { color:#000; background:#fff; border-color:#bfcec4; border-radius:12px; padding:14px; }
.chat-compose textarea::placeholder { color:#53665a; opacity:1; }
.chat-aside input[type=search],.chat-dialog input[type=search] { width:100%; border:1px solid #c7d6cc; border-radius:9px; padding:10px 11px; background:#fff; color:#111; font:inherit; font-size:13px; }
.chat-aside input::placeholder,.chat-dialog input::placeholder { color:#52635a; opacity:1; }
.chat-root .btn,.chat-dialog .btn { color:#17281d; background:#fff; border-color:#ccd9d1; }
.chat-root .btn:hover,.chat-dialog .btn:hover { background:#eef5f0; }
.chat-root .btn.prim,.chat-dialog .btn.prim { color:#fff; background:#126448; border-color:#126448; }
.chat-dialog { color:#111; background:#fff; box-shadow:0 20px 80px #10291e33; }
.chat-vazio { color:#4b5d51; }

@media(max-width:1100px) and (min-width:861px) {
  .com-menu .conteudo { padding-left:22px; padding-right:22px; }
  .chat-root { grid-template-columns:220px minmax(0,1fr); }
}
@media(max-width:860px) {
  .topo { height:60px; padding:0 15px; gap:10px; }
  .topo-dir { gap:12px; }
  .marca { font-size:15px; }
  .marca .logo { width:31px; height:31px; }
  .menu.menu-nova { top:60px; width:252px; box-shadow:8px 0 24px #071e1830; }
  .com-menu .conteudo { margin-left:0; padding:82px 16px 28px; }
  .conteudo h1 { font-size:23px; }
  .card { padding:17px; }
  .kpi { padding:16px; }
  .chat-root { height:calc(100dvh - 175px); }
}
@media(max-width:680px) {
  .chat-root { height:auto; min-height:0; }
  .chat-main { height:72dvh; }
  .chat-msg-body { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .nav-seta,.btn { transition:none; } }
