/* Navegação por área e serviço. Os controles nativos funcionam sem JavaScript. */
body.app .lateral{width:238px;padding:18px 12px 14px;height:100dvh;max-height:100dvh;overflow:hidden}
body.app .lateral .marca{padding:0 5px 18px;margin-bottom:8px;flex-shrink:0}
body.app .lateral .nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;gap:4px;padding-right:2px;scrollbar-width:thin;overscroll-behavior:contain}
/* Grupos e links conservam sua altura natural; a área de navegação é quem rola.
   Impede que details abertos sejam comprimidos e pintem sobre Feedback/Sair. */
body.app .lateral .nav>*,body.app .nav-filhos>a{flex-shrink:0}
body.app .nav>a,body.app .nav-grupo>summary{min-height:44px;padding:11px 10px;display:flex;align-items:center;gap:10px;border-radius:8px;color:#304e43;font-size:15px;line-height:1.35}
body.app .nav-grupo{flex:0 0 auto;min-width:0;margin:0;padding:0;border:0;background:transparent}
body.app .nav-grupo>summary{list-style:none;cursor:pointer;font-weight:600;user-select:none}
body.app .nav-grupo>summary::-webkit-details-marker{display:none}
body.app .nav-grupo>summary i{display:flex;flex-shrink:0;color:#55756a}
body.app .nav-grupo>summary>span:not(.nav-seta){flex:1;min-width:0}
body.app .nav-grupo>summary:hover,body.app .nav>a:hover{background:#f0f5f3}
body.app .nav-grupo.grupo-atual>summary{color:#126548;background:#f0f7f3}
body.app .nav-seta{font-size:22px;font-weight:400;line-height:1;transition:transform .15s ease}
body.app .nav-grupo[open]>.nav-filhos{padding:3px 0 6px 12px;margin-left:16px;border-left:1px solid #dbe6df}
body.app .nav-grupo[open]>summary .nav-seta{transform:rotate(90deg)}
body.app .nav-filhos a{font-size:14px;min-height:40px;line-height:1.35;padding:8px 9px;margin:2px 0;gap:6px;color:#425d51;border-radius:6px;white-space:normal;overflow-wrap:break-word}
body.app .nav-filhos a span{min-width:0}
body.app .nav-filhos a.ativo{background:#e4f2e9;color:#135b40;font-weight:650;box-shadow:inset 3px 0 #218453}
body.app .nav a:focus-visible,body.app .nav-grupo>summary:focus-visible{outline:2px solid #16684e;outline-offset:-2px}
body.app .lateral-pe{flex:0 0 auto;margin-top:10px;padding:8px 8px 0}
body.app .lateral-pe>a:first-child{font-size:14px}
body.app .topo .trilha{color:#546b60;font-size:14px}
@media(min-width:1251px){body.app{grid-template-columns:238px minmax(0,1fr)}body.app .lateral{position:sticky;transform:none}body.app.menu-aberto .area{margin-left:0}}
@media(max-width:1250px){body.app .lateral{position:fixed;width:min(86vw,300px);z-index:60;transform:translateX(-100%)}body.app .lateral.aberto{transform:none}body.app.menu-aberto .area{margin-left:0}body.app .nav-filhos a,body.app .nav-grupo>summary{min-height:44px;font-size:15px}body.app .lateral-pe{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(prefers-reduced-motion:reduce){body.app .nav-seta{transition:none}}

/* Serviços abre a visão geral; os tipos permanecem abaixo dentro desta área. */
body.app .nav-servicos>.nav-servicos-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:11px 10px;font-size:15px;font-weight:600;line-height:1.35;text-decoration:none;border-radius:8px}
body.app .nav-servicos>.nav-servicos-link .nav-seta{margin-left:auto}
body.app .nav-servicos>.nav-filhos{padding:3px 0 6px 12px;margin-left:16px;border-left:1px solid #547064}
body.app .nav-servicos>.nav-filhos[hidden]{display:none!important}
