/* Camada comum das áreas restritas (intranet, corpo clínico, enfermagem, pesquisa e gestão). Carregado depois de style.css em todas
   as páginas restritas. Reúne: formulários e cartões (co-*), home pessoal (mh-*, av-*, kb-*), cabeçalho com identidade e busca global,
   menu recolhido e atalhos no celular, contadores, estados (vazio, carregando, erro), feedback e aviso de sessão, tela de login. */
.co-main { min-width: 0; }
.co-main [hidden] { display: none !important; }
.co-titulo { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: clamp(30px, 3vw, 40px); color: #354047; margin: 0 0 6px; }
.co-sub { font-size: 14px; color: #6F6359; margin: 0 0 16px; max-width: 820px; line-height: 1.55; }
.co-card { background: #fff; border: 1px solid #E4DFD3; border-radius: 16px; padding: 18px 20px; margin: 0 0 18px; }
.co-card h3 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 22px; color: #354047; margin: 0 0 10px; }
.co-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px 14px; margin-bottom: 12px; }
.co-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.co-campo label { font-size: 12.5px; color: #4a413b; font-weight: 600; }
.co-campo input, .co-campo select, .co-campo textarea { font: inherit; font-size: 14px; padding: 9px 11px; border: 1px solid #D9CFC0; border-radius: 10px; background: #FBFAF7; color: #2b2622; min-width: 0; width: 100%; box-sizing: border-box; }
.co-campo input:focus, .co-campo select:focus, .co-campo textarea:focus { outline: 2px solid #ECBE5B; outline-offset: 1px; }
.co-acoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.co-acoes .btn { padding: 11px 18px; font-size: 14px; }
.co-link { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #6F6359; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.co-status { font-size: 13px; color: #6F6359; min-height: 18px; }
.co-status.ok { color: #2f5b2a; } .co-status.erro { color: #8a2a18; }
.co-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; }
.co-filtros button { border: 1px solid #D9CFC0; background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; color: #354047; }
.co-filtros button.ativa { background: #354047; color: #F5F2EC; border-color: #354047; }
.co-filtros input[type=search] { font: inherit; font-size: 13.5px; padding: 8px 11px; border: 1px solid #D9CFC0; border-radius: 10px; background: #FBFAF7; min-width: 200px; flex: 1; max-width: 360px; }
.co-vazio { padding: 24px; text-align: center; color: #6F6359; font-size: 14px; background: #fff; border: 1px dashed #D9CFC0; border-radius: 14px; }
.in-topo .in-topo-inner { padding-left: 48px; padding-right: 48px; flex-wrap: wrap; row-gap: 8px; }
.in-layout { padding-left: 48px; padding-right: 48px; padding-top: 26px; }
.in-nav .in-nav-titulo + a { margin-top: 0; }
.in-nav a.sub { padding-left: 30px; font-size: 13px; color: #6F6359; } .in-nav a.sub::before { content: '· '; color: #B8A99A; } .in-nav a.sub.ativo, .in-nav a.sub:hover { color: #354047; }
.in-nav [hidden] { display: none !important; }
.ge-links { display: flex; flex-wrap: wrap; gap: 6px; margin-left: 6px; }
.ge-links a { font-size: 12px; border: 1px solid #E4DFD3; border-radius: 999px; padding: 5px 10px; color: #354047; text-decoration: none; background: #fff; }
.ge-links a:hover { border-color: #354047; }
@media (max-width: 720px) { .in-topo .in-topo-inner, .in-layout { padding-left: 20px; padding-right: 20px; } }
/* ---- cabeçalho: identidade, busca global, Sair sempre visível */
.in-quem { margin-left: auto; text-align: right; font-size: 12.5px; line-height: 1.3; color: #354047; min-width: 0; }
.in-quem b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.in-quem small { display: block; color: #6F6359; font-size: 11.5px; white-space: nowrap; }
.in-sair { white-space: nowrap; }
.in-busca-g { position: relative; flex: 1 1 220px; max-width: 420px; }
.in-busca-g input { width: 100%; box-sizing: border-box; font: inherit; font-size: 13.5px; padding: 8px 14px; border: 1px solid #D9CFC0; border-radius: 999px; background: #fff; }
.in-busca-g .in-res { position: absolute; left: 0; right: 0; top: 100%; margin-top: 6px; background: #fff; border: 1px solid #E4DFD3; border-radius: 14px; box-shadow: 0 12px 30px rgba(53,64,71,.14); max-height: 60vh; overflow: auto; z-index: 70; text-align: left; }
.in-busca-g .in-res a { display: block; padding: 9px 12px; border-bottom: 1px solid #EDE7DC; text-decoration: none; color: #354047; font-size: 13.5px; }
.in-busca-g .in-res a b { display: block; } .in-busca-g .in-res a span { font-size: 12px; color: #6F6359; }
.in-busca-g .in-res a:hover { background: #FBF3DD; }
.in-busca-g .in-res-titulo { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #6F6359; padding: 8px 12px 4px; }
.in-badge { display: inline-block; min-width: 18px; padding: 0 6px; border-radius: 999px; background: #C8553D; color: #fff; font-size: 11px; line-height: 18px; text-align: center; margin-left: 6px; vertical-align: middle; font-weight: 700; }
.in-badge.calma { background: #354047; }
/* ---- menu recolhido e atalhos no celular */
.in-nav-toggle { display: none; }
.in-rapidos { display: none; }
@media (max-width: 900px) {
  .in-nav-toggle { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 13.5px; font-weight: 600; color: #354047; background: #fff; border: 1px solid #D9CFC0; border-radius: 999px; padding: 8px 14px; cursor: pointer; margin: 0 0 12px; }
  .in-nav:not(.aberto) { display: none; }
  .in-nav.aberto { display: flex; flex-wrap: wrap; gap: 4px 14px; background: #fff; border: 1px solid #E4DFD3; border-radius: 14px; padding: 10px 14px; margin-bottom: 14px; }
  .in-rapidos { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 10px; margin: 0 0 8px; -webkit-overflow-scrolling: touch; }
  .in-rapidos a { flex: 0 0 auto; background: #354047; color: #F5F2EC; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
  .in-busca, .in-busca-g { order: 10; flex: 1 1 100%; max-width: none; }
  .in-quem { order: 11; margin-left: 0; text-align: left; flex: 1 1 60%; } .in-quem b, .in-quem small { display: inline; white-space: normal; max-width: none; } .in-quem small::before { content: " · "; }
  .in-sair { margin-left: auto; }
  .ge-links { order: 5; }
}
/* ---- feedback, sessão e estados */
.in-feedback { margin: 30px 0 0; font-size: 12.5px; color: #6F6359; text-align: left; }
.in-feedback button.abrir { background: none; border: 0; padding: 0; font: inherit; font-size: 12.5px; color: #354047; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.in-feedback-form { margin-top: 8px; background: #fff; border: 1px solid #E4DFD3; border-radius: 12px; padding: 12px 14px; max-width: 560px; }
.in-feedback-form textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 13.5px; padding: 8px 10px; border: 1px solid #D9CFC0; border-radius: 8px; background: #FBFAF7; min-height: 70px; }
.in-feedback-form .acoes { display: flex; gap: 10px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.in-feedback-form .btn { font: inherit; font-size: 13px; padding: 8px 14px; border-radius: 999px; border: 1px solid #354047; background: #354047; color: #F5F2EC; cursor: pointer; }
.in-sessao { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 80; background: #354047; color: #F5F2EC; border-radius: 999px; padding: 10px 18px; font-size: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.2); display: flex; gap: 12px; align-items: center; max-width: calc(100% - 32px); }
.in-sessao a { color: #ECBE5B; font-weight: 600; }
.estado-vazio, .estado-carregando, .estado-erro { padding: 18px; text-align: center; color: #6F6359; font-size: 14px; background: #fff; border: 1px dashed #D9CFC0; border-radius: 14px; }
.estado-erro { color: #8a2a18; border-color: #F3B7A6; }
/* ---- login */
.acesso-caixa label.acesso-check { display: flex; gap: 10px; align-items: flex-start; text-transform: none; letter-spacing: 0; font-size: 13px; color: #4a413b; line-height: 1.45; margin: 16px 0 0; cursor: pointer; }
.acesso-caixa label.acesso-check input { width: auto; margin-top: 3px; }
.acesso-google { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; box-sizing: border-box; margin: 18px 0 0; padding: 12px 16px; border: 1px solid #D9CFC0; border-radius: 12px; background: #fff; color: #354047; font-weight: 600; text-decoration: none; }
.acesso-google:hover { border-color: #354047; }
.acesso-ou { font-size: 12px; color: #8A7E73; text-align: center; margin: 14px 0 0; }
.acesso-caixa form { margin-top: 4px; }
/* ---- home pessoal (antigo minha-home.css) */
.mh { text-align: left; margin: 0 0 26px; }
.mh [hidden] { display: none !important; }
.mh-sec { background: #fff; border: 1px solid #E4DFD3; border-radius: 16px; padding: 14px 18px; margin: 0 0 16px; }
.mh-sec h3 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 21px; color: #354047; margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.mh-sec h3 small { font-family: 'Hanken Grotesk', system-ui, sans-serif; font-size: 12.5px; color: #6F6359; }
.mh-n { font-size: 11.5px; background: #354047; color: #F5F2EC; border-radius: 999px; padding: 1px 9px; font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.mh-n.ok { background: #E3EEDB; color: #2f5b2a; }
.mh-aviso-sessao { background: #FBF3DD; border: 1px solid #ECD9A3; color: #4a3b12; border-radius: 12px; padding: 10px 14px; font-size: 13.5px; }
.mh-aviso-sessao a { color: inherit; font-weight: 600; }
.mh .co-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px 14px; margin-bottom: 10px; }
.mh .co-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mh .co-campo label { font-size: 12.5px; color: #4a413b; font-weight: 600; }
.mh .co-campo input, .mh .co-campo select, .mh .co-campo textarea { font: inherit; font-size: 14px; padding: 9px 11px; border: 1px solid #D9CFC0; border-radius: 10px; background: #FBFAF7; color: #2b2622; width: 100%; box-sizing: border-box; }
.mh .co-campo textarea { resize: vertical; }
.mh .co-campo input:focus, .mh .co-campo select:focus, .mh .co-campo textarea:focus { outline: 2px solid #ECBE5B; outline-offset: 1px; }
.mh .co-acoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.mh .btn { font: inherit; font-size: 14px; padding: 10px 16px; border-radius: 999px; border: 1px solid #354047; background: #fff; color: #354047; cursor: pointer; }
.mh .btn-primary { background: #354047; color: #F5F2EC; }
.mh .co-status { font-size: 13px; color: #6F6359; min-height: 18px; margin: 6px 0 0; }
.mh .co-status.ok { color: #2f5b2a; } .mh .co-status.erro { color: #8a2a18; }
.mh-det { margin-top: 8px; } .mh-det summary { cursor: pointer; font-weight: 600; color: #354047; font-size: 14px; list-style: none; } .mh-det summary::-webkit-details-marker { display: none; }
.mh-det summary::before { content: '+ '; color: #B8A99A; } .mh-det[open] summary::before { content: '− '; }
.mh-det .mh-form { margin-top: 10px; }
/* avisos: leitura */
.av-card { background: #FBFAF7; border: 1px solid #E4DFD3; border-left: 5px solid #354047; border-radius: 14px; padding: 12px 16px; margin: 0 0 8px; }
.av-card.urgente { border-left-color: #C8553D; background: #FBEFEC; } .av-card.importante { border-left-color: #ECBE5B; background: #FDF8EA; }
.av-cab { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #6F6359; margin-bottom: 4px; align-items: center; }
.av-nivel { font-weight: 700; } .av-card.urgente .av-nivel { color: #8a2a18; } .av-card.importante .av-nivel { color: #6a4f10; }
.av-fix { border: 1px solid #D9CFC0; border-radius: 999px; padding: 0 7px; letter-spacing: .04em; text-transform: none; }
.av-data { margin-left: auto; text-transform: none; letter-spacing: 0; }
.av-card h4 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 19px; color: #354047; margin: 0 0 4px; line-height: 1.25; }
.av-card p { font-size: 14px; color: #4a413b; line-height: 1.5; margin: 0; }
.av-card .av-por { font-size: 12px; color: #8A7E73; margin-top: 6px; }
.av-card a.av-abrir { display: inline-block; margin-top: 6px; font-size: 13px; color: #354047; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mh-vazio { font-size: 13.5px; color: #6F6359; padding: 4px 0; }
/* avisos: publicação */
.av-item { border: 1px solid #E4DFD3; border-left: 4px solid #354047; border-radius: 12px; padding: 10px 12px; margin: 8px 0 0; font-size: 13px; background: #FBFAF7; }
.av-item.urgente { border-left-color: #C8553D; } .av-item.importante { border-left-color: #ECBE5B; }
.av-item.encerrado, .av-item.off { opacity: .7; } .av-item.agendado { border-style: dashed; }
.av-item .av-cab { margin-bottom: 4px; }
.av-badge { display: inline-block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #E9E3D3; color: #354047; }
.av-badge.urgente { background: #F8DDD6; color: #8a2a18; } .av-badge.importante { background: #FBF3DD; color: #6a4f10; } .av-badge.info { background: #E3EAF1; color: #2f4a63; }
.av-badge.vigente { background: #E3EEDB; color: #2f5b2a; } .av-badge.agendado { background: #FBF3DD; color: #6a4f10; } .av-badge.encerrado { background: #EDE7DC; color: #6F6359; }
.av-item .av-t { display: block; font-size: 14.5px; color: #354047; margin-bottom: 2px; }
.av-item .av-p { margin: 4px 0 0; color: #4a413b; line-height: 1.45; }
.av-item .av-l { display: inline-block; margin-top: 4px; font-size: 12.5px; color: #354047; text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
.av-item .av-meta { font-size: 11.5px; color: #8A7E73; margin-top: 6px; }
.av-acoes { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; }
.av-acoes button, .mh-link { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: #6F6359; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.av-acoes button.exc { color: #8a2a18; }
.av-check { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; font-weight: 400; font-size: 13px; padding: 9px 0; }
.av-arquivo { margin-top: 12px; } .av-arquivo summary { cursor: pointer; font-size: 12.5px; color: #6F6359; }
/* quadro de demandas */
.mh-topo { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin: 4px 0 10px; }
.mh-topo label { font-size: 13px; color: #4a413b; display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.kb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
@media (max-width: 900px) { .kb { grid-template-columns: 1fr; } }
.kb-col { background: #F3EFE6; border-radius: 16px; padding: 10px; min-height: 160px; }
.kb-col.sobre { outline: 2px dashed #ECBE5B; }
.kb-col h4 { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #354047; font-weight: 700; margin: 4px 6px 10px; display: flex; justify-content: space-between; font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.kb-col h4 span { background: #fff; border-radius: 999px; padding: 1px 9px; font-size: 11.5px; color: #6F6359; }
.kb-card { background: #fff; border: 1px solid #E4DFD3; border-radius: 12px; padding: 10px 12px; margin: 0 0 8px; font-size: 13px; cursor: grab; }
.kb-card.vencida { border-left: 4px solid #C8553D; } .kb-card.hoje { border-left: 4px solid #ECBE5B; } .kb-card.feito { opacity: .75; } .kb-card.outra { background: #FBFAF7; }
.kb-card b.t { display: block; font-size: 14px; color: #354047; margin-bottom: 4px; }
.kb-card .meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: #6F6359; }
.kb-card .meta .pz { font-weight: 600; } .kb-card.vencida .meta .pz { color: #8a2a18; } .kb-card.hoje .meta .pz { color: #8a6a12; }
.kb-card .desc { font-size: 12.5px; color: #4a413b; margin: 6px 0 0; line-height: 1.45; }
.kb-card .obs { font-size: 12.5px; color: #4a413b; background: #FBF3DD; border-radius: 8px; padding: 5px 8px; margin: 6px 0 0; }
.kb-card .origem, .kb-card .com { display: inline-block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; background: #E3EAF1; color: #2f4a63; border-radius: 999px; padding: 2px 8px; margin: 0 4px 4px 0; }
.kb-card .com { background: #E9E3D3; color: #354047; text-transform: none; letter-spacing: 0; font-size: 11.5px; }
.kb-card .origem a { color: inherit; }
.kb-acoes { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 8px; }
.kb-acoes button { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: #6F6359; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kb-acoes button.mv { color: #354047; font-weight: 600; text-decoration: none; border: 1px solid #D9CFC0; border-radius: 999px; padding: 2px 9px; }
.kb-edit { margin-top: 8px; display: grid; gap: 6px; }
.kb-edit input, .kb-edit textarea { font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid #D9CFC0; border-radius: 8px; background: #FBFAF7; width: 100%; box-sizing: border-box; }
.kb-edit .linha { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.kb-edit .btn { padding: 8px 14px; font-size: 13px; justify-self: start; }
.mh-chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 150px; overflow: auto; padding: 6px; border: 1px solid #E4DFD3; border-radius: 10px; background: #fff; }
.mh-chips label { display: inline-flex; gap: 5px; align-items: center; font-size: 12.5px; color: #354047; border: 1px solid #E4DFD3; border-radius: 999px; padding: 3px 9px; cursor: pointer; background: #FBFAF7; font-weight: 400; }
.mh-chips label.grupo { background: #E9E3D3; }
.mh-chips label:has(input:checked) { background: #354047; color: #F5F2EC; border-color: #354047; }
.mh-chips input { margin: 0; }
.mh-rotulo { font-size: 12.5px; color: #4a413b; font-weight: 600; margin: 0 0 4px; }
/* ---- alertas do dia (home, quem tem o painel da gestão) */
.ge-alertas { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; }
.ge-alerta { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; border-radius: 14px; padding: 12px 16px; font-size: 14px; background: #FBF3DD; color: #4a3b12; border: 1px solid #ECD9A3; }
.ge-alerta.grave { background: #F8DDD6; color: #5a2418; border-color: #E8B3A5; }
.ge-alerta.ok { background: #E3EEDB; color: #2f5b2a; border-color: #C5DBB5; }
.ge-alerta b { font-weight: 700; }
.ge-alerta a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; margin-left: auto; }

/* ---- identidade com foto (ou iniciais) */
.in-quem { display: flex; align-items: center; gap: 10px; text-align: right; }
.in-quem .in-quem-txt { min-width: 0; }
.in-topo .in-avatar, .in-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 1px solid #E4DFD3; flex: 0 0 auto; background: #F3EFE6; }   /* .in-topo img do style.css força 130px no logotipo; aqui vence pela especificidade */
.in-topo .in-avatar-ini, .in-avatar-ini { display: inline-flex; align-items: center; justify-content: center; background: #354047; color: #F5F2EC; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
@media (max-width: 900px) { .in-quem { text-align: left; } .in-topo .in-avatar, .in-avatar { width: 30px; height: 30px; } }
/* ---- grupos do menu em destaque */
.in-nav .in-nav-titulo { font-weight: 700; color: #354047; font-size: 11.5px; letter-spacing: .16em; margin: 22px 0 8px 12px; padding: 0 0 5px; border-bottom: 1px solid #E4DFD3; position: relative; }
.in-nav .in-nav-titulo::before { content: ''; position: absolute; left: -12px; top: 2px; width: 3px; height: 11px; background: #ECBE5B; border-radius: 2px; }
.in-nav .in-nav-titulo:first-child { margin-top: 0; }
.in-nav a.ativo { font-weight: 600; }
@media (max-width: 900px) { .in-nav.aberto .in-nav-titulo { width: 100%; margin: 10px 0 4px; padding-left: 10px; } .in-nav.aberto .in-nav-titulo::before { left: 0; } }
/* ---- textos corridos: justificados no desktop (com hifenização), à esquerda no celular */
.in-secao .in-sub, .co-sub, .tp-sub, .bloco p, .bloco li, .in-objetivos li, .pq-grid > div, .av-card p, .kb-card .desc, .ct-tabela tr.det td, .pq-contrato .sub, .mh-sec small, .acesso-texto { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
@media (max-width: 720px) { .in-secao .in-sub, .co-sub, .tp-sub, .bloco p, .bloco li, .in-objetivos li, .pq-grid > div, .av-card p, .kb-card .desc, .ct-tabela tr.det td, .pq-contrato .sub, .mh-sec small, .acesso-texto { text-align: left; hyphens: manual; } }
/* ---- menu: grupos recolhíveis (Início fixo) */
.in-nav .in-nav-titulo.recolhivel { cursor: pointer; user-select: none; padding-right: 18px; }
.in-nav .in-nav-titulo.recolhivel::after { content: ''; position: absolute; right: 4px; top: 3px; width: 7px; height: 7px; border-right: 1.5px solid #8A7E73; border-bottom: 1.5px solid #8A7E73; transform: rotate(45deg); transition: transform .2s; }
.in-nav .in-nav-titulo.recolhivel.fechado::after { transform: rotate(-45deg); }
.in-nav .in-nav-grupo[hidden] { display: none !important; }
/* ---- introduções curtas com "Como usar" recolhido */
.in-como-usar { margin: -6px 0 16px; max-width: 820px; }
.in-como-usar summary { cursor: pointer; font-size: 13px; color: #354047; font-weight: 600; list-style: none; }
.in-como-usar summary::-webkit-details-marker { display: none; }
.in-como-usar summary::before { content: '+ '; color: #B8A99A; } .in-como-usar[open] summary::before { content: '− '; }
.in-como-usar p { font-size: 14px; color: #6F6359; line-height: 1.55; margin: 8px 0 0; text-align: justify; hyphens: auto; }
@media (max-width: 720px) { .in-como-usar p { text-align: left; } }
/* ---- atalhos do dia na home (todas as larguras) */
body.in-home .in-rapidos { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; padding: 0; }
body.in-home .in-rapidos a { flex: 0 0 auto; background: #354047; color: #F5F2EC; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
body.in-home .in-rapidos a:hover { background: #ECBE5B; color: #354047; }
/* ---- Financeiro: inadimplência e acordos */
.in-caso { background: #fff; border: 1px solid #E4DFD3; border-left: 5px solid #C8553D; border-radius: 16px; padding: 16px 18px; margin: 0 0 14px; }
.in-caso-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; align-items: flex-start; margin-bottom: 10px; }
.in-caso h4 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 22px; color: #354047; margin: 0 0 2px; }
.in-caso-cab small { font-size: 12.5px; color: #6F6359; } .in-caso-cab small a { color: #354047; }
.in-caso-status select { font: inherit; font-size: 13px; padding: 7px 10px; border: 1px solid #D9CFC0; border-radius: 9px; background: #FBFAF7; }
.in-cards { margin: 0 0 6px; } .in-cards .fi-card.alerta { border-color: #F3B7A6; background: #FDF1EE; } .in-cards .fi-card.alerta b { color: #8a2a18; }
.in-docs { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.in-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px 20px; }
.in-caso h5 { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #6F6359; margin: 0 0 6px; font-weight: 700; }
.in-caso .fi-tabela.in-tab { font-size: 13px; min-width: 0; } .in-tab th, .in-tab td { padding: 6px 8px; } .in-tab td.n { white-space: nowrap; } .in-grid2 > div { min-width: 0; overflow-x: auto; }
.in-cards .fi-card.destaque { grid-column: span 1; } .in-cards .fi-card.destaque b { font-size: clamp(24px, 2.3vw, 34px); } .in-cards .fi-card b { font-size: 26px; }
.in-cond { margin: 8px 0 0 18px; font-size: 12.5px; color: #4a413b; line-height: 1.5; }
.in-det { margin-top: 12px; border-top: 1px dashed #E4DFD3; padding-top: 10px; } .in-det summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #354047; }
.in-hist { margin: 8px 0 0 18px; font-size: 13px; color: #4a413b; line-height: 1.5; }
.in-nota { display: flex; gap: 8px; margin-top: 8px; } .in-nota input { flex: 1; font: inherit; font-size: 13px; padding: 8px 10px; border: 1px solid #D9CFC0; border-radius: 9px; background: #FBFAF7; }
.in-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 12px; margin-top: 10px; } .in-form label { font-size: 12px; color: #4a413b; font-weight: 600; display: flex; flex-direction: column; gap: 3px; } .in-form input { font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid #D9CFC0; border-radius: 8px; background: #FBFAF7; } .in-form .larga { grid-column: 1 / -1; }
.fi-acoes button { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: #6F6359; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } .fi-acoes button.forte { color: #354047; font-weight: 600; text-decoration: none; border: 1px solid #D9CFC0; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.ct-doc { display: inline-block; font-size: 12px; color: #354047; font-weight: 600; text-decoration: none; border: 1px solid #354047; border-radius: 999px; padding: 3px 10px; background: #fff; } .ct-doc:hover { background: #354047; color: #F5F2EC; }
.ct-badge { display: inline-block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #E9E3D3; color: #354047; white-space: nowrap; }
.ct-badge.ok { background: #E3EEDB; color: #2f5b2a; } .ct-badge.adendo { background: #F8DDD6; color: #8a2a18; } .ct-badge.aviso { background: #FBF3DD; color: #6a4f10; } .ct-badge.info { background: #E3EAF1; color: #2f4a63; } .ct-badge.off { background: #EDE7DC; color: #6F6359; }
/* ---- blocos de usuários (Usuários) e público-alvo dos avisos */
.us-bloco td { background: #EDE7DC; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #354047; padding: 8px 10px; border-bottom: 0; } .us-bloco small { text-transform: none; letter-spacing: 0; color: #6F6359; font-weight: 400; font-size: 12px; }
.us-blocos { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 13px; margin: 2px 0 10px; } .us-blocos small { color: #6F6359; flex-basis: 100%; }
.av-blocos { display: flex; flex-wrap: wrap; gap: 6px 14px; }
/* ---- Usuários: tabela em 5 colunas, sem rolagem horizontal no desktop */
.us-wrap { overflow: visible; } .us-wrap .us-tabela { width: 100%; min-width: 0; table-layout: auto; }
.us-wrap .us-tabela th { white-space: normal; line-height: 1.3; } .us-wrap .us-tabela td { vertical-align: top; padding: 10px 8px; }
.us-wrap .us-tabela input.u-nome { width: 100%; min-width: 0; box-sizing: border-box; } .us-wrap .us-tabela select { max-width: 100%; width: 100%; box-sizing: border-box; font-size: 12.5px; }
.us-wrap .us-id { align-items: flex-start; } .us-wrap .us-id small { display: block; font-size: 11.5px; color: #6F6359; margin-top: 3px; word-break: break-all; }
.us-wrap .us-linha { display: flex; flex-wrap: wrap; gap: 3px 8px; align-items: center; margin-top: 6px; } .us-wrap .us-linha small { color: #6F6359; font-size: 12px; }
.us-wrap td.us-acoes button { display: inline-block; margin: 0 8px 5px 0; white-space: nowrap; }
.us-extra { display: block; color: #6F6359; margin-top: 3px; font-size: 12px; } .us-wrap .us-bloco-ind { font-size: 12px; color: #6F6359; margin-top: 4px; line-height: 1.45; text-align: left; }
@media (max-width: 1000px) { .us-wrap { overflow-x: auto; } .us-wrap .us-tabela { min-width: 880px; } }
.us-wrap .us-badge { white-space: nowrap; }
.us-wrap .us-tabela td.email { white-space: normal; max-width: 320px; } .us-wrap .us-tabela td.email small { white-space: normal; overflow-wrap: break-word; word-break: normal; } .us-wrap .us-semfoto-txt { white-space: nowrap; }
.us-wrap .us-tabela input, .us-wrap .us-tabela select { min-width: 0; } .us-wrap .us-tabela th:nth-child(1) { width: 30%; } .us-wrap .us-tabela th:nth-child(2), .us-wrap .us-tabela th:nth-child(3), .us-wrap .us-tabela th:nth-child(4) { width: 18%; } .us-wrap .us-tabela th:nth-child(5) { width: 16%; }
/* ---- Permissões por bloco e pessoa */
.pm-abas { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 14px; } .pm-abas button { border: 1px solid #D9CFC0; background: #fff; border-radius: 999px; padding: 8px 16px; font: inherit; font-size: 14px; cursor: pointer; color: #354047; } .pm-abas button.ativa { background: #354047; color: #F5F2EC; border-color: #354047; }
.pm-grade th.pm-th { text-align: center; } .pm-grade th.pm-th small { display: block; font-weight: 400; text-transform: none; letter-spacing: 0; color: #6F6359; margin-top: 2px; }
.pm-grade td.pm-cel { text-align: center; vertical-align: middle; } .pm-grade td.pm-cel.difere { background: #FBF3DD; }
.pm-grade .pm-descr { display: block; font-size: 11.5px; color: #6F6359; font-weight: 400; margin-top: 2px; }
.pm-grade select.pm-sel { font: inherit; font-size: 12.5px; padding: 5px 6px; border: 1px solid #D9CFC0; border-radius: 8px; background: #FBFAF7; min-width: 0; width: auto; }
.pm-grade select.ne, .pm-grade select.ng { border-color: #354047; font-weight: 600; } .pm-grade select.n- { color: #8A7E73; }
.us-wrap .pm-grade th:nth-child(1) { width: 30%; } .us-wrap .pm-grade th:nth-child(n+2) { width: auto; }
/* ---- Pesquisa clínica editável */
.pq-form h3 { margin: 0 0 10px; } .pq-campos { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } .pq-campos .larga { grid-column: 1 / -1; } .pq-campos textarea, .pq-campos input, .pq-campos select { font: inherit; font-size: 13px; padding: 8px 10px; border: 1px solid #D9CFC0; border-radius: 9px; background: #FBFAF7; width: 100%; box-sizing: border-box; }
.pq-acoes { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 10px; } .pq-acoes button, .pq-pasta-acoes button { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: #6F6359; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } .pq-acoes button.exc, .pq-pasta-acoes button.exc { color: #8a2a18; }
.pq-pasta-wrap { position: relative; } .pq-pasta-acoes { display: flex; gap: 10px; padding: 2px 4px 0; } .pq-pasta-form { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 6px 0; } .pq-pasta-form input, .pq-pasta-form select { font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid #D9CFC0; border-radius: 9px; background: #FBFAF7; } .pq-pasta-form .pf-nome, .pq-pasta-form .pr-nome { flex: 1 1 180px; } .pq-pasta-form .pf-url, .pq-pasta-form .pr-url { flex: 2 1 260px; }
.pq-det { margin: 14px 0 0; } .pq-det summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: #354047; } .pq-hist { margin: 8px 0 0 18px; font-size: 13px; line-height: 1.6; } .pq-nota { font-size: 12.5px; color: #6F6359; margin: 8px 0 0; }
.av-virar { background: none; border: 1px solid #D9CFC0; border-radius: 999px; padding: 2px 10px; font: inherit; font-size: 11.5px; color: #354047; cursor: pointer; margin-left: 8px; } .av-virar:hover { border-color: #354047; } .av-virar:disabled { opacity: .7; cursor: default; }
/* ---- demandas: cartão compacto com prioridade */
.kb-card { cursor: pointer; padding: 9px 11px; } .kb-card .kb-cab { display: flex; gap: 8px; align-items: flex-start; } .kb-card .kb-cab b.t { margin: 0; flex: 1; min-width: 0; line-height: 1.3; }
.kb-card .pri { flex: 0 0 auto; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; margin-top: 2px; } .pri-alta { background: #F8DDD6; color: #8a2a18; } .pri-media { background: #FBF3DD; color: #6a4f10; } .pri-baixa { background: #EDE7DC; color: #6F6359; }
.kb-card .meta { margin-top: 4px; } .kb-card .kb-det { margin-top: 8px; border-top: 1px dashed #EDE7DC; padding-top: 8px; cursor: default; } .kb-card.aberta { box-shadow: 0 0 0 2px rgba(53,64,71,.08); }
.kb-card .kb-edit select.e-pri { font: inherit; font-size: 12.5px; padding: 6px 8px; border: 1px solid #D9CFC0; border-radius: 8px; background: #FBFAF7; }
/* ---- Sala de medicação: tabela por classe */
.med-secao { margin: 4px 0 0; } .med-topo { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 0 0 10px; }
.med-topo input { font: inherit; font-size: 14px; padding: 9px 12px; border: 1px solid #D9CFC0; border-radius: 10px; background: #FBFAF7; flex: 1; min-width: 240px; max-width: 460px; } .med-conta { font-size: 12.5px; color: #6F6359; }
.med-sumario { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; } .med-sumario a { font-size: 12px; color: #354047; text-decoration: none; border: 1px solid #D9CFC0; background: #fff; border-radius: 999px; padding: 4px 10px; } .med-sumario a small { color: #6F6359; margin-left: 3px; } .med-sumario a:hover { border-color: #354047; }
.med-wrap { background: #fff; border: 1px solid #E4DFD3; border-radius: 14px; overflow: hidden; } .med-tab { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.med-tab th, .med-tab td { padding: 9px 12px; border-bottom: 1px solid #EDE7DC; text-align: left; vertical-align: top; } .med-tab thead th { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: #354047; font-weight: 700; background: #FBFAF7; }
.med-tab tr.med-classe th { background: #EDE7DC; color: #354047; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding: 8px 12px; scroll-margin-top: 90px; } .med-tab tr.med-classe th small { text-transform: none; letter-spacing: 0; color: #6F6359; font-weight: 400; margin-left: 6px; }
.med-tab td.med-nome { width: 38%; font-weight: 600; color: #354047; } .med-tab td.med-nome small { display: block; font-weight: 400; color: #6F6359; font-size: 12px; margin-top: 2px; } .med-tab td.med-via { color: #2b2622; text-align: left; } .med-tab td.med-via small { display: block; color: #6F6359; font-size: 12px; margin-top: 2px; }
.med-nota { font-size: 12.5px; color: #6F6359; margin: 12px 0 0; line-height: 1.5; }
@media (max-width: 720px) { .med-tab, .med-tab tbody, .med-tab tr, .med-tab td { display: block; width: auto; } .med-tab thead { display: none; } .med-tab td.med-nome { width: auto; border-bottom: 0; padding-bottom: 2px; } .med-tab td.med-via { padding-top: 0; } .med-tab tr.med-classe th { display: block; } }
.fi-tabela tr.acordo td { background: #FBF3DD; } .fi-tabela tr.acordo td b { color: #6a4f10; }

/* Segurança (10/10/2026): abas que reúnem Visão geral, Usuários e Permissões; tabela do relatório */
.sg-trilha { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #6F6359; margin: 0 0 8px; }
.sg-abas { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid #E4DFD3; }
.sg-abas a { border: 1px solid #D9CFC0; background: #fff; border-radius: 999px; padding: 8px 16px; font-size: 14px; color: #354047; text-decoration: none; }
.sg-abas a:hover { border-color: #354047; }
.sg-abas a.ativa { background: #354047; border-color: #354047; color: #fff; }
.sg-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 22px; }
.sg-cards a { display: block; background: #fff; border: 1px solid #E4DFD3; border-radius: 14px; padding: 16px 18px; text-decoration: none; color: #354047; }
.sg-cards a:hover { border-color: #354047; }
.sg-cards b { display: block; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 21px; margin-bottom: 4px; }
.sg-cards small { color: #6F6359; font-size: 13px; line-height: 1.45; display: block; }
.sg-tab { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #E4DFD3; border-radius: 14px; overflow: hidden; font-size: 14px; }
.sg-tab th { text-align: left; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #6F6359; padding: 10px 14px; background: #FBFAF7; border-bottom: 1px solid #E4DFD3; }
.sg-tab td { padding: 10px 14px; border-bottom: 1px solid #F0EBE1; vertical-align: top; line-height: 1.45; }
.sg-tab tr:last-child td { border-bottom: 0; }
.sg-tab td small { display: block; color: #6F6359; font-size: 12.5px; margin-top: 2px; }
.sg-wrap { overflow-x: auto; margin: 0 0 22px; }
.sg-pend li { margin-bottom: 8px; line-height: 1.5; }
.sg-h2 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 26px; color: #354047; margin: 28px 0 10px; }

/* item de menu dentro de outro (ex.: Segurança › Usuários) */
.in-nav a.in-nav-sub { padding-left: 30px; font-size: 13.5px; position: relative; }
.in-nav a.in-nav-sub::before { content: ''; position: absolute; left: 16px; top: 0; bottom: 50%; width: 8px; border-left: 1px solid #CFC6B6; border-bottom: 1px solid #CFC6B6; border-bottom-left-radius: 4px; }

/* menu de 3 grupos (10/10/2026): item principal com seta e subitens recolhidos; links externos no rodapé do menu */
.in-nav .in-nav-linha { display: flex; align-items: center; }
.in-nav .in-nav-linha > a { flex: 1; min-width: 0; }
.in-nav .in-nav-seta { flex: none; width: 28px; height: 28px; border: 0; background: none; cursor: pointer; position: relative; border-radius: 6px; }
.in-nav .in-nav-seta:hover { background: #ECE6DA; }
.in-nav .in-nav-seta::before { content: ''; position: absolute; left: 10px; top: 9px; width: 6px; height: 6px; border-right: 1.5px solid #8A7E73; border-bottom: 1.5px solid #8A7E73; transform: rotate(-45deg); transition: transform .15s; }
.in-nav .in-nav-seta.aberto::before { transform: rotate(45deg); top: 8px; }
.in-nav .in-nav-rodape { margin: 22px 0 0 12px; padding-top: 10px; border-top: 1px solid #E4DFD3; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.in-nav .in-nav-rodape a { display: inline; padding: 0; border: 0; font-size: 12.5px; color: #6F6359; }
.in-nav .in-nav-rodape a:hover { color: #354047; border: 0; }
@media (max-width: 900px) { .in-nav .in-nav-linha { width: 100%; } .in-nav a.in-nav-sub { width: 100%; } .in-nav .in-nav-rodape { width: 100%; margin-left: 0; } }

/* Home: abas Avisos | Tarefas e calendário do mês no topo das tarefas (11/10/2026) */
#mh-abas a small { font-size: 12px; opacity: .8; }
.cal { border: 1px solid #E4DFD3; border-radius: 14px; background: #FBFAF7; padding: 12px 14px; margin: 4px 0 14px; }
.cal-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.cal-mes { flex: 1; text-align: center; } .cal-mes b { display: block; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 21px; color: #354047; } .cal-mes small { font-size: 12.5px; color: #6F6359; }
.cal-nav { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #D9CFC0; background: #fff; font-size: 22px; line-height: 1; color: #354047; cursor: pointer; flex: none; } .cal-nav:hover { border-color: #354047; }
.cal-hoje { border: 1px solid #D9CFC0; background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 12.5px; color: #354047; cursor: pointer; }
.cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal-sem { text-align: center; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8A7E73; padding: 2px 0 4px; }
.cal-dia { position: relative; min-height: 46px; border: 1px solid #ECE6DA; border-radius: 10px; background: #fff; font: inherit; color: #354047; cursor: pointer; padding: 5px 6px; text-align: left; }
.cal-dia b { font-weight: 500; font-size: 13.5px; } .cal-dia i { position: absolute; right: 6px; bottom: 5px; font-style: normal; font-size: 11px; font-weight: 700; min-width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 9px; background: #354047; color: #fff; }
.cal-dia:hover { border-color: #354047; }
.cal-dia.hoje { border-color: #ECBE5B; box-shadow: inset 0 0 0 1px #ECBE5B; } .cal-dia.hoje b { font-weight: 700; }
.cal-dia.vencida i { background: #A23B2A; } .cal-dia.feita i { background: #7C9A7A; }
.cal-dia.sel { background: #354047; color: #fff; border-color: #354047; } .cal-dia.sel i { background: #ECBE5B; color: #354047; }
.cal-leg { margin: 10px 0 0; font-size: 12.5px; color: #6F6359; } .cal-leg .p { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin: 0 5px 0 10px; vertical-align: -1px; background: #354047; } .cal-leg .p:first-child { margin-left: 0; } .cal-leg .p.vencida { background: #A23B2A; } .cal-leg .p.feita { background: #7C9A7A; }
@media (max-width: 600px) { .cal-dia { min-height: 40px; padding: 4px; } .cal-dia i { right: 3px; bottom: 3px; } }
