/* ============ ÁREA DO CLIENTE / PAINEL ============ */
.app { background: #f2f2f2; }

/* Lateral */
.lateral { position: fixed; inset: 0 auto 0 0; width: 252px; background: var(--escuro); color: #d8d8d8; display: flex; flex-direction: column; z-index: 40; }
.lateral-marca { display: flex; align-items: center; gap: .7rem; padding: 1.4rem 1.3rem; text-decoration: none; color: #fff; border-bottom: 1px solid #404040; }
.lateral-marca .logo-simbolo { width: 30px; filter: brightness(1.5); }
.lateral-marca span { display: flex; flex-direction: column; line-height: 1.05; }
.lateral-marca strong { font-weight: 400; font-size: 1.5rem; letter-spacing: -.02em; }
.lateral-marca small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: #a8a8a8; }
.lateral-nav { flex: 1; padding: 1rem .7rem; overflow-y: auto; }
.lateral-nav a { display: flex; align-items: center; gap: .75rem; padding: .62rem .8rem; border-radius: var(--raio); text-decoration: none; font-size: .9rem; color: #cfcfcf; margin-bottom: 2px; transition: background .15s, color .15s; }
.lateral-nav a:hover { background: #3a3a3a; color: #fff; }
.lateral-nav a.ativo { background: #f2f2f2; color: var(--tinta); font-weight: 500; }
.lateral-nav svg, .sair svg, .menu-app svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.contador { margin-left: auto; font-style: normal; font-size: .7rem; font-weight: 600; background: #c94a4a; color: #fff; padding: .05em .5em; border-radius: 99px; }
.lateral-usuario { display: flex; align-items: center; gap: .7rem; padding: 1rem 1.1rem; border-top: 1px solid #404040; }
.lateral-usuario div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lateral-usuario strong { font-weight: 500; font-size: .85rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lateral-usuario small { font-size: .72rem; color: #a0a0a0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: #575757; color: #fff; display: grid; place-items: center; font-size: .78rem; font-weight: 600; flex-shrink: 0; }
.avatar.claro { background: var(--papel-2); color: var(--tinta); }
.avatar.escuro { background: var(--tinta); color: #fff; }
.sair { background: none; border: 0; color: #a8a8a8; cursor: pointer; padding: 6px; border-radius: var(--raio); }
.sair:hover { color: #fff; background: #3a3a3a; }

/* Principal */
.principal { margin-left: 252px; min-height: 100vh; display: flex; flex-direction: column; }
.barra { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 1rem; padding: .9rem 2rem; background: rgba(242,242,242,.94); backdrop-filter: blur(6px); border-bottom: 1px solid #e0e0e0; }
.barra-titulo { font-size: 1.6rem; margin: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.barra-acoes { display: flex; gap: .7rem; align-items: center; }
.busca-rapida input { width: 260px; padding: .45em .8em; font-size: .88rem; }
.menu-app { display: none; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--tinta); }
.conteudo { padding: 1.8rem 2rem 4rem; max-width: 1320px; width: 100%; }

/* Cartões */
.cartao { background: #fff; border: 1px solid #e3e3e3; border-radius: 6px; padding: 1.4rem; margin-bottom: 1.4rem; }
.cartao > h2, .cartao-titulo { font-size: 1.3rem; margin: 0 0 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cartao-titulo a { font-family: var(--texto); font-size: .82rem; font-weight: 500; color: var(--cinza); }
.cartao-sem-pad { padding: 0; overflow: hidden; }
.cartao-sem-pad > h2 { padding: 1.2rem 1.4rem 0; }

.grade { display: grid; gap: 1.4rem; }
.grade-2 { grid-template-columns: 1fr 1fr; }
.grade-lado { grid-template-columns: minmax(0, 1fr) 330px; align-items: start; }

/* Indicadores */
.indicadores { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin-bottom: 1.4rem; }
.indicador { background: #fff; border: 1px solid #e3e3e3; border-radius: 6px; padding: 1.1rem 1.2rem; text-decoration: none; position: relative; overflow: hidden; transition: border-color .15s, transform .15s; }
a.indicador:hover { border-color: var(--tinta); }
.indicador span { font-size: .78rem; color: var(--cinza); text-transform: uppercase; letter-spacing: .08em; display: block; }
.indicador strong { font-family: var(--titulo); font-size: 2.3rem; line-height: 1.1; display: block; }
.indicador::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 4px; background: var(--c, var(--linha)); }

/* Tabelas */
.tabela-wrap { overflow-x: auto; }
table.tabela { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tabela th { text-align: left; font-weight: 500; font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; color: var(--cinza); padding: .75rem 1rem; border-bottom: 1px solid #e3e3e3; background: #fafafa; white-space: nowrap; }
.tabela td { padding: .85rem 1rem; border-bottom: 1px solid #efefef; vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tbody tr { transition: background .1s; }
.tabela tbody tr:hover { background: #fafafa; }
.tabela tr.nao-lido td { background: #f7f9fc; }
.tabela tr.nao-lido .assunto::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--azul); margin-right: .5em; vertical-align: middle; }
.tabela a.assunto { text-decoration: none; font-weight: 500; }
.tabela a.assunto:hover { text-decoration: underline; }
.proto { font-size: .78rem; color: var(--cinza); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sub { font-size: .8rem; color: var(--cinza); }
.vazio { text-align: center; color: var(--cinza); padding: 2.5rem 1rem; font-size: .95rem; }
.atrasado { color: var(--vermelho); font-weight: 600; }

/* Filtros */
.filtros { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin-bottom: 1.2rem; }
.filtros > div { min-width: 140px; flex: 1; }
.filtros label { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cinza); }
.filtros input, .filtros select { padding: .5em .7em; font-size: .88rem; }
.abas { display: flex; gap: .3rem; margin-bottom: 1.2rem; flex-wrap: wrap; }
.abas a { padding: .45em 1em; border-radius: 99px; font-size: .85rem; text-decoration: none; color: var(--tinta-2); border: 1px solid #ddd; background: #fff; }
.abas a.ativo { background: var(--tinta); color: #fff; border-color: var(--tinta); }

/* Conversa do chamado */
.cab-chamado { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: flex-start; }
.cab-chamado h2 { font-size: 1.7rem; margin: .2rem 0 .4rem; }
.cab-meta { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; font-size: .82rem; color: var(--cinza); }
.descricao { white-space: pre-wrap; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #efefef; }
.conversa { display: flex; flex-direction: column; gap: 1rem; }
.msg { display: flex; gap: .8rem; }
.msg-corpo { flex: 1; min-width: 0; background: #fff; border: 1px solid #e3e3e3; border-radius: 6px; padding: .9rem 1.1rem; }
.msg-cab { display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; color: var(--cinza); margin-bottom: .4rem; flex-wrap: wrap; }
.msg-cab strong { color: var(--tinta); font-weight: 600; font-size: .88rem; }
.msg-texto { white-space: pre-wrap; word-wrap: break-word; font-size: .93rem; }
.msg.equipe .msg-corpo { background: #f7f7f7; }
.msg.interna .msg-corpo { background: #fff8e6; border-color: #ecd9a6; border-style: dashed; }
.selo-interno { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--amarelo); background: var(--amarelo-bg); padding: .1em .5em; border-radius: 3px; margin-left: .4rem; }
.anexos { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.anexo { display: inline-flex; align-items: center; gap: .4em; font-size: .8rem; padding: .35em .7em; border: 1px solid #ddd; border-radius: var(--raio); text-decoration: none; background: #fff; }
.anexo:hover { border-color: var(--tinta); }
.anexo small { color: var(--cinza); }

.responder { margin-top: 1.4rem; }
.responder-tipo { display: flex; gap: 0; margin-bottom: .8rem; border: 1px solid #ddd; border-radius: var(--raio); overflow: hidden; width: fit-content; }
.responder-tipo label { margin: 0; padding: .45em 1em; font-size: .85rem; cursor: pointer; background: #fff; }
.responder-tipo input { display: none; }
.responder-tipo input:checked + span { font-weight: 600; }
.responder-tipo label:has(input:checked) { background: var(--tinta); color: #fff; }
.responder-tipo label.int:has(input:checked) { background: #c9a227; color: #fff; }
.responder.modo-interno textarea { background: #fffbef; border-color: #ecd9a6; }
.responder-rodape { display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: .8rem; }
.responder-rodape .esq { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.arquivo-input { font-size: .8rem; padding: .3em; border: 1px dashed #ccc; max-width: 280px; }

/* Lista lateral de detalhes */
.detalhes { list-style: none; padding: 0; margin: 0; font-size: .88rem; }
.detalhes li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #f0f0f0; }
.detalhes li:last-child { border: 0; }
.detalhes span { color: var(--cinza); }
.detalhes b { font-weight: 500; text-align: right; }

.historico { list-style: none; padding: 0; margin: 0; font-size: .82rem; max-height: 280px; overflow-y: auto; }
.historico li { padding: .5rem 0 .5rem 1rem; border-left: 2px solid #e3e3e3; position: relative; }
.historico li::before { content: ''; position: absolute; left: -5px; top: .85rem; width: 8px; height: 8px; border-radius: 50%; background: #bbb; }
.historico small { display: block; color: var(--cinza); }

.tarefas { list-style: none; padding: 0; margin: 0 0 .8rem; }
.tarefas li { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; font-size: .88rem; }
.tarefas li.feito span { text-decoration: line-through; color: var(--cinza-2); }
.tarefas form { display: inline; }
.check { width: 18px; height: 18px; border: 1.5px solid #aaa; border-radius: 3px; background: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; font-size: 12px; line-height: 1; color: #fff; }
.feito .check { background: var(--verde); border-color: var(--verde); }
.x { background: none; border: 0; color: #bbb; cursor: pointer; margin-left: auto; font-size: 1rem; }
.x:hover { color: var(--vermelho); }
.linha-form { display: flex; gap: .5rem; }
.linha-form input { padding: .45em .7em; font-size: .85rem; }
.progresso { height: 5px; background: #eee; border-radius: 3px; overflow: hidden; margin-bottom: .8rem; }
.progresso i { display: block; height: 100%; background: var(--verde); }

.comunicado { padding: 1rem 0; border-bottom: 1px solid #efefef; }
.comunicado:last-child { border: 0; }
.comunicado h3 { font-size: 1.15rem; margin-bottom: .2rem; }
.comunicado p { white-space: pre-wrap; font-size: .92rem; margin: .4rem 0 0; }

.senha-gerada { background: var(--verde-bg); border: 1px solid #b9dcc5; border-radius: 6px; padding: 1rem 1.2rem; margin-bottom: 1.4rem; }
.senha-gerada code { font-size: 1.05rem; background: #fff; padding: .15em .5em; border-radius: 3px; user-select: all; }

.barras { display: flex; flex-direction: column; gap: .55rem; }
.barra-item { display: grid; grid-template-columns: 180px 1fr 40px; gap: .7rem; align-items: center; font-size: .85rem; }
.barra-item .trilho { height: 10px; background: #eee; border-radius: 2px; overflow: hidden; }
.barra-item .trilho i { display: block; height: 100%; background: var(--tinta-2); }

details.acordeao summary { cursor: pointer; font-weight: 500; list-style: none; }
details.acordeao summary::-webkit-details-marker { display: none; }
details.acordeao summary::before { content: '+ '; }
details.acordeao[open] summary::before { content: '− '; }

/* Login */
.tela-login { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.login-lado { background: var(--escuro); color: #e6e6e6; padding: 3rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.login-lado::after { content: ''; position: absolute; width: 420px; height: 420px; right: -140px; bottom: -120px; background: #3a3a3a; clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%); }
.login-lado h1 { font-size: clamp(2.6rem, 5vw, 4rem); color: #fff; }
.login-lado p { font-weight: 300; font-size: 1.1rem; max-width: 30ch; text-transform: uppercase; letter-spacing: .03em; }
.login-marca { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: #fff; }
.login-marca .logo-simbolo { filter: brightness(1.6); width: 36px; }
.login-marca span { display: flex; flex-direction: column; line-height: 1.1; }
.login-marca strong { font-weight: 400; font-size: 1.8rem; }
.login-marca small { font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: #aaa; }
.login-rodape { color: #9a9a9a; position: relative; z-index: 1; }
.login-form { display: grid; place-items: center; padding: 2rem; }
.cartao-login { width: 100%; max-width: 400px; background: #fff; padding: 2.4rem; border-radius: 8px; border: 1px solid #e0e0e0; }
.cartao-login h2 { font-size: 2rem; }
.tela-erro { display: grid; place-items: center; min-height: 100vh; padding: 1rem; }
.tela-erro .logo-simbolo { margin: 0 auto; width: 44px; }

/* Responsivo */
@media (max-width: 1100px) {
  .grade-lado { grid-template-columns: 1fr; }
  .busca-rapida { display: none; }
}
@media (max-width: 860px) {
  .lateral { transform: translateX(-100%); transition: transform .25s; }
  .lateral-aberta .lateral { transform: none; }
  .lateral-aberta .lateral-fundo { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 35; }
  .principal { margin-left: 0; }
  .menu-app { display: block; }
  .barra { padding: .8rem 1rem; }
  .barra-titulo { font-size: 1.3rem; }
  .conteudo { padding: 1.2rem 1rem 3rem; }
  .grade-2 { grid-template-columns: 1fr; }
  .tela-login { grid-template-columns: 1fr; }
  .login-lado { padding: 2rem 1.5rem; gap: 2rem; }
  .login-lado::after { display: none; }
  .barra-item { grid-template-columns: 110px 1fr 32px; }
  .tabela .esconder-mob { display: none; }
}

/* Página aberta dentro de outro módulo (iframe): sem menu lateral nem barra */
.embutido .lateral, .embutido .lateral-fundo, .embutido .barra { display: none; }
.embutido .principal { margin-left: 0; }
.embutido .conteudo { padding-top: 1rem; }

/* ---- Agenda de visitas ---- */
.cal-nav { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: 1rem; }
.cal-nav h2 { margin: 0; font-size: 1.5rem; min-width: 190px; text-align: center; }
.cal-nav a.btn { padding: .35em .8em; }
.cal-legenda { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .8rem; color: #555; margin: 0 0 1rem; }
.cal-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; border: 1px solid rgba(0,0,0,.15); }
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cal-cab { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #777; text-align: center; padding: .3rem 0; }
.dia { position: relative; min-height: 84px; padding: .45rem .5rem; border-radius: 6px; border: 1px solid #e0e0e0; background: #f5f5f5; color: #999; text-align: left; font: inherit; display: flex; flex-direction: column; gap: .2rem; text-decoration: none; }
.dia b { font-size: .95rem; font-weight: 500; }
.dia small { font-size: .7rem; line-height: 1.2; }
.dia.fora { opacity: .45; }
.dia.fds { background: #efefef; }
.dia.livre { background: var(--verde-bg); border-color: #a9d3b8; color: var(--verde); cursor: pointer; }
.dia.livre:hover { background: #cfe7d8; }
.dia.minha-pendente { background: var(--amarelo-bg); border-color: #e2d08a; color: var(--amarelo); }
.dia.minha-aceita { background: var(--azul-bg); border-color: #a9bfd8; color: var(--azul); }
.dia.bloq { background: var(--vermelho-bg); border-color: #e2b4b4; color: var(--vermelho); }
.dia.ocupada { background: #e9e9e9; color: #777; }
.dia.hoje b { text-decoration: underline; }
.dia.sel { outline: 2px solid var(--tinta); }
.dia .it { display: block; font-size: .7rem; line-height: 1.25; padding: 1px 5px; border-radius: 3px; margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.it.it-aceita { background: var(--azul-bg); color: var(--azul); }
.it.it-pendente { background: var(--amarelo-bg); color: var(--amarelo); }
.it.it-extra { box-shadow: inset 2px 0 0 var(--laranja); }
@media (max-width: 720px) { .dia { min-height: 58px; padding: .3rem; } .dia small, .dia .it { font-size: .62rem; } .cal { gap: 3px; } }
dialog.dlg-agenda { border: 0; border-radius: 8px; padding: 1.6rem; width: min(520px, calc(100% - 32px)); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
dialog.dlg-agenda::backdrop { background: rgba(0,0,0,.45); }
dialog.dlg-agenda h3 { margin: 0 0 .6rem; font-size: 1.35rem; }
.opcao { display: flex; gap: .7rem; padding: .75rem .9rem; border: 1px solid #d8d8d8; border-radius: 6px; margin-bottom: .55rem; cursor: pointer; align-items: flex-start; }
.opcao:has(input:checked) { border-color: var(--tinta); background: #f4f4f4; }
.opcao input { margin-top: .25rem; width: auto; }
.opcao span small { display: block; color: #666; font-weight: 400; }
.opcao select { margin-top: .4rem; }

/* ===== Chat / mensagens ===== */
.chat { background: #fff; border: 1px solid #e3e3e3; border-radius: 8px; display: flex; flex-direction: column; height: calc(100vh - 170px); min-height: 420px; min-width: 0; }
.chat-cab { padding: .8rem 1rem; border-bottom: 1px solid #eee; display: flex; flex-direction: column; gap: .1rem; }
.chat-lista { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .5rem; background: #f7f7f5; }
.bolha { max-width: 75%; align-self: flex-start; background: #fff; border: 1px solid #e3e3e3; border-radius: 12px 12px 12px 3px; padding: .5rem .75rem; }
.bolha.minha { align-self: flex-end; background: #e4efe6; border-color: #cfe0d2; border-radius: 12px 12px 3px 12px; }
.bolha b { display: block; font-size: .75rem; color: var(--cinza); }
.bolha p { margin: .1rem 0; white-space: pre-wrap; word-break: break-word; }
.bolha time, .ev time { font-size: .68rem; color: #999; display: block; text-align: right; }
.ev { align-self: center; max-width: 90%; background: #fff8e1; border: 1px dashed #e2d08a; border-radius: 8px; padding: .4rem .7rem; font-size: .85rem; display: flex; gap: .7rem; align-items: flex-start; }
.ev-corpo { flex: 1; word-break: break-word; }
.ev-det { margin-top: .2rem; color: #555; font-style: italic; }
.ev time { white-space: nowrap; margin-top: .1rem; }
.chat-rapidas { display: flex; gap: .4rem; flex-wrap: wrap; padding: .5rem 1rem 0; }
.chip { border: 1px solid #d5d5d5; background: #fff; border-radius: 999px; padding: .25rem .7rem; font-size: .8rem; cursor: pointer; font-family: inherit; }
.chip:hover { background: #f0f0f0; }
.chip.on { background: #e4efe6; border-color: #9cc4a4; }
.chat-form { display: flex; gap: .5rem; padding: .7rem 1rem; align-items: flex-end; }
.chat-form textarea { flex: 1; resize: none; border: 1px solid #ccc; border-radius: 8px; padding: .55rem .7rem; font: inherit; }
.chat-grade { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1rem; align-items: start; }
.chat-contatos { background: #fff; border: 1px solid #e3e3e3; border-radius: 8px; overflow: hidden; max-height: calc(100vh - 170px); overflow-y: auto; }
.chat-contatos a { display: flex; justify-content: space-between; gap: .5rem; padding: .65rem .9rem; border-bottom: 1px solid #f0f0f0; font-size: .9rem; color: inherit; text-decoration: none; }
.chat-contatos a.ativo { background: #eef3ef; font-weight: 600; }
.contador { font-style: normal; background: var(--vermelho, #c0392b); color: #fff; border-radius: 999px; font-size: .7rem; padding: .05rem .45rem; display: inline-block; }
.conv-item { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #eee; color: inherit; text-decoration: none; }
@media (max-width: 800px) { .chat-grade { grid-template-columns: 1fr; } .chat-contatos { max-height: none; display: flex; overflow-x: auto; } .chat-contatos a { white-space: nowrap; } .chat { height: 70vh; } .bolha { max-width: 90%; } }

/* ===== Agenda: layout refinado ===== */
.chips { display: flex; gap: .4rem; flex-wrap: wrap; margin: .4rem 0 .6rem; }
.ag-lado { position: sticky; top: 1rem; display: flex; flex-direction: column; gap: 1rem; }
.ag-lado .cartao { margin: 0; }
.ag-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.ag-card { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #ccc; border-radius: 8px; padding: .8rem 1rem; display: flex; align-items: baseline; gap: .6rem; }
.ag-card b { font-size: 1.7rem; font-weight: 600; line-height: 1; }
.ag-card span { font-size: .8rem; color: #666; }
.ag-amarelo { border-left-color: #e2c14a; } .ag-azul { border-left-color: #5b86b8; } .ag-vermelho { border-left-color: #cf6b6b; }
.ag-pend { border-color: #e2d08a; }
.ag-pend h2 { display: flex; align-items: center; gap: .6rem; }
.ag-sol { padding: 1rem 0; border-top: 1px solid #eee; }
.ag-sol-topo { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.ag-nota { font-size: .82rem; color: #555; margin-top: .4rem; }
.ag-alerta { color: var(--vermelho); font-weight: 500; }
.ag-obs { margin: .5rem 0; padding: .5rem .8rem; background: #f4f4f4; border-left: 3px solid #bbb; border-radius: 0 4px 4px 0; font-style: italic; }
.ag-resp { display: flex; gap: .5rem; flex-wrap: wrap; }
.ag-resp input { flex: 1; min-width: 220px; }
.dia.util { background: #fff; border-color: #e0e0e0; color: #555; }
.dia.util:hover { background: #fafafa; }
.dia b { font-size: 1rem; }
.dia.hoje { box-shadow: inset 0 0 0 2px var(--tinta); } .dia.hoje b { text-decoration: none; }
.ag-cota { display: flex; align-items: baseline; gap: .4rem; } .ag-cota b { font-size: 2rem; line-height: 1; } .ag-cota span { font-size: .85rem; color: #555; }
.ag-barra { height: 8px; background: #eee; border-radius: 99px; overflow: hidden; margin-top: .5rem; } .ag-barra i { display: block; height: 100%; background: var(--verde); }
.ag-prox { display: flex; justify-content: space-between; gap: .6rem; align-items: flex-start; padding: .6rem 0; border-top: 1px solid #eee; } .ag-prox:first-of-type { border-top: 0; }
#chips-obs { margin-top: 0; }
@media (max-width: 980px) { .ag-lado { position: static; } .ag-resumo { grid-template-columns: 1fr; } }
.clipe { cursor: pointer; padding: .45em .7em; } 
.chat-arq { margin: 0 1rem; padding: .3rem .6rem; background: #eef3ef; border-radius: 6px; font-size: .85rem; display: flex; gap: .5rem; align-items: center; justify-content: space-between; }
.chat-arq[hidden] { display: none; } .chat-arq button { border: 0; background: none; font-size: 1.1rem; cursor: pointer; }
.anx-img { max-width: 240px; max-height: 200px; border-radius: 6px; display: block; margin: .2rem 0; }
.anx { display: inline-block; margin: .2rem 0; word-break: break-all; }
