/* Central da VZ: mesma identidade do site (branco + azul brilhante). */
:root {
  --azul: #0B40CE; --azul-claro: #1157EA; --azul-escuro: #0A2D89; --eletrico: #2F6BFF; --ciano: #00B2FF;
  --fundo: #F5F8FF; --branco: #fff; --gelo: #EAF0FD; --borda: #D9E4FB;
  --tinta: #0A1A4A; --tinta-2: #4A5468; --verde: #16A34A; --laranja: #F59E0B;
  --gradiente: linear-gradient(135deg, var(--ciano) 0%, var(--eletrico) 45%, var(--azul) 100%);
  --sombra: 0 18px 50px -18px rgba(17, 87, 234, .45);
  --raio: 22px; --gutter: clamp(1rem, 4vw, 3rem);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 6rem; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; color: var(--tinta); background: var(--fundo); line-height: 1.55; }
h1, h2, h3 { font-family: "Space Grotesk", Inter, sans-serif; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 .5em; }
p { margin: 0 0 1em; color: var(--tinta-2); }
a { color: var(--azul-claro); }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--ciano); outline-offset: 2px; }

.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.3rem; border: 0; border-radius: 999px; font-weight: 600; text-decoration: none; color: #fff; background: var(--gradiente); box-shadow: var(--sombra); cursor: pointer; }
.btn-claro { background: #fff; color: var(--azul-claro); border: 1.5px solid var(--borda); box-shadow: none; }
.btn:disabled { opacity: .5; cursor: default; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 1rem; padding: .8rem var(--gutter); background: rgba(255, 255, 255, .85); backdrop-filter: blur(14px); border-bottom: 1px solid var(--borda); }
.marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; font-family: "Space Grotesk"; font-weight: 700; font-size: 1.15rem; color: var(--tinta); }
.marca img { height: 40px; width: auto; }
.marca span { padding-left: .6rem; border-left: 2px solid var(--borda); color: var(--azul-claro); }
.voltar { text-decoration: none; font-weight: 600; padding: .4rem .9rem; border-radius: 999px; background: var(--gelo); }
.topo-dir { margin-left: auto; display: flex; align-items: center; gap: .6rem; }
.chip-usuario { border: 1.5px solid var(--borda); background: #fff; border-radius: 999px; padding: .35rem .9rem; font-weight: 600; cursor: pointer; }
.menu-btn { display: none; width: 42px; height: 42px; border: 1.5px solid var(--borda); border-radius: 12px; background: #fff; position: relative; cursor: pointer; }
.menu-btn span, .menu-btn span::before, .menu-btn span::after { position: absolute; left: 10px; width: 20px; height: 2px; background: var(--tinta); content: ""; transition: transform .25s; }
.menu-btn span { top: 19px; } .menu-btn span::before { left: 0; top: -6px; } .menu-btn span::after { left: 0; top: 6px; }
#menu { display: none; }

main { padding: 2rem var(--gutter) 4rem; max-width: 1280px; margin: 0 auto; }
main:focus, main:focus-visible { outline: none; }

/* Home: tudo à vista, sem menu */
.saudacao { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.saudacao h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0; }
.saudacao p { margin: .3rem 0 0; }
.pilulas { display: flex; flex-wrap: wrap; gap: .5rem; }
.pilula { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .9rem; border-radius: 999px; background: #fff; border: 1.5px solid var(--borda); font-weight: 600; font-size: .9rem; }
.pilula b { padding: .1rem .55rem; border-radius: 999px; color: #fff; background: var(--azul-claro); font-size: .8rem; }
.pilula.alerta b { background: var(--laranja); }
.pilula.ok b { background: var(--verde); }

.areas { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.1rem; }
.area { position: relative; display: flex; flex-direction: column; gap: .4rem; padding: 1.5rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); text-decoration: none; color: var(--tinta); transition: transform .2s, box-shadow .2s, border-color .2s; overflow: hidden; }
.area:hover { transform: translateY(-3px); border-color: transparent; box-shadow: var(--sombra); }
.area h2 { font-size: 1.3rem; margin: 0; }
.area p { margin: 0; font-size: .95rem; }
.area .rodape-area { margin-top: auto; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.area .tag { font-size: .78rem; font-weight: 600; padding: .2rem .65rem; border-radius: 999px; background: var(--gelo); color: var(--azul-claro); }
.area.em-breve { opacity: .65; border-style: dashed; }
.area.em-breve::after { content: "em breve"; position: absolute; top: 1rem; right: 1rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-2); }
.a-conversa { grid-column: span 5; grid-row: span 2; color: #fff; background: radial-gradient(circle at 20% 0%, rgba(0, 178, 255, .6), transparent 50%), linear-gradient(135deg, var(--eletrico), var(--azul) 60%, var(--azul-escuro)); border: 0; }
.a-conversa h2, .a-conversa p { color: #fff; }
.a-conversa .orbe { margin: auto; }
.a-quadro { grid-column: span 7; }
.a-projetos { grid-column: span 4; } .a-estudos { grid-column: span 3; }
.a-memoria, .a-whats, .a-deploy, .a-equipe { grid-column: span 3; }
.mini-quadro { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-top: .6rem; }
.mini-quadro div { padding: .7rem; border-radius: 14px; background: var(--fundo); }
.mini-quadro b { display: block; font-family: "Space Grotesk"; font-size: 1.6rem; }
.mini-quadro small { color: var(--tinta-2); text-transform: capitalize; }
.barra { height: 8px; border-radius: 99px; background: var(--gelo); overflow: hidden; margin-top: .8rem; }
.barra span { display: block; height: 100%; background: var(--gradiente); }

/* Orbe de voz */
.orbe { position: relative; width: 132px; height: 132px; border: 0; border-radius: 50%; cursor: pointer; background: radial-gradient(circle at 35% 30%, #fff 0%, #BFE9FF 25%, var(--ciano) 55%, var(--azul) 100%); box-shadow: 0 0 0 10px rgba(255, 255, 255, .15), 0 20px 60px -10px rgba(0, 40, 160, .6); transition: transform .3s; }
.orbe::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .5); opacity: 0; }
.orbe.ouvindo { animation: respira 1.6s ease-in-out infinite; }
.orbe.ouvindo::after { animation: onda 1.6s ease-out infinite; }
.orbe.pensando { animation: gira 1.2s linear infinite; background: conic-gradient(from 0deg, var(--ciano), var(--azul), var(--ciano)); }
.orbe.falando { animation: fala .45s ease-in-out infinite alternate; }
/* Rosto da VZ no lugar da bola */
.orbe.com-avatar { background: center / cover no-repeat var(--avatar); width: 180px; height: 180px; border: 4px solid rgba(255, 255, 255, .7); }
.painel-voz .orbe.com-avatar { width: 240px; height: 240px; }
.orbe.com-avatar.pensando { animation: none; box-shadow: 0 0 0 6px rgba(255, 255, 255, .25), 0 0 40px 6px rgba(0, 178, 255, .55); }
.orbe.com-avatar.falando { animation: none; transform: scale(calc(1 + var(--nivel, .3) * .03)); box-shadow: 0 0 0 calc(4px + var(--nivel, .3) * 18px) rgba(0, 178, 255, .35), 0 0 calc(20px + var(--nivel, .3) * 60px) rgba(0, 178, 255, .6); transition: transform .08s, box-shadow .08s; }
@keyframes respira { 50% { transform: scale(1.06); } }
@keyframes onda { from { opacity: .8; transform: scale(1); } to { opacity: 0; transform: scale(1.5); } }
@keyframes gira { to { transform: rotate(360deg); } }
@keyframes fala { to { transform: scale(1.08); } }
.estado-voz { text-align: center; font-weight: 600; min-height: 1.5em; }

/* Conversa */
.conversa { display: grid; grid-template-columns: 340px 1fr; gap: 1.5rem; align-items: start; }
.painel-voz { position: sticky; top: 6rem; display: grid; justify-items: center; gap: 1rem; padding: 2rem 1.5rem; border-radius: var(--raio); color: #fff; background: radial-gradient(circle at 20% 0%, rgba(0, 178, 255, .6), transparent 50%), linear-gradient(135deg, var(--eletrico), var(--azul) 60%, var(--azul-escuro)); }
.painel-voz .estado-voz { color: #fff; }
.ajustes { width: 100%; display: grid; gap: .6rem; font-size: .85rem; }
.ajustes label { display: grid; gap: .25rem; color: rgba(255, 255, 255, .85); }
.ajustes select, .ajustes input[type=range] { width: 100%; }
.ajustes select { padding: .4rem; border-radius: 10px; border: 0; color: var(--tinta); }
.ajustes .linha { display: flex; align-items: center; gap: .5rem; }
.avatar-wrap { position: relative; display: grid; justify-items: center; }
.troca-avatar { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); display: flex; padding: 3px; border-radius: 999px; background: rgba(255, 255, 255, .95); box-shadow: 0 6px 18px rgba(0, 30, 120, .35); }
.troca-avatar button { padding: .28rem .8rem; border: 0; border-radius: 999px; background: none; color: var(--azul-claro); font-weight: 700; font-size: .78rem; cursor: pointer; }
.troca-avatar button[aria-pressed=true] { background: var(--gradiente); color: #fff; }
.versoes { display: flex; width: 100%; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .15); }
.versoes button { flex: 1; padding: .45rem .6rem; border: 0; border-radius: 999px; background: none; color: #fff; font-weight: 600; font-size: .85rem; cursor: pointer; }
.versoes button[aria-pressed=true] { background: #fff; color: var(--azul-claro); }
.enviar .parar { flex: none; padding: .5rem 1rem; }
.aviso-nome { margin: 0; font-size: .75rem; color: rgba(255, 255, 255, .8); }
.dica-voz { margin: 0; font-size: .8rem; color: #fff; background: rgba(255, 255, 255, .15); padding: .6rem .8rem; border-radius: 12px; }
.chat { display: flex; flex-direction: column; min-height: 60vh; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.chat-topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--borda); }
.chat-topo h2 { font-size: 1.1rem; margin: 0; }
.mensagens { flex: 1; display: flex; flex-direction: column; gap: .75rem; padding: 1.25rem; overflow-y: auto; max-height: 65vh; }
.msg { max-width: 80%; padding: .75rem 1rem; border-radius: 18px; white-space: pre-wrap; }
.msg.user { align-self: flex-end; color: #fff; background: var(--azul-claro); border-bottom-right-radius: 6px; }
.msg.assistant { align-self: flex-start; background: var(--gelo); border-bottom-left-radius: 6px; }
.msg.erro { align-self: center; background: #FEF2F2; color: #B91C1C; }
.ferramenta { align-self: flex-start; font-size: .8rem; font-weight: 600; color: var(--azul-claro); padding: .25rem .7rem; border-radius: 999px; border: 1px dashed var(--borda); }
.vazio { margin: auto; text-align: center; color: var(--tinta-2); }
.enviar { display: flex; gap: .5rem; padding: 1rem; border-top: 1px solid var(--borda); }
.enviar textarea { flex: 1; resize: none; padding: .7rem 1rem; border: 1.5px solid var(--borda); border-radius: 16px; min-height: 48px; }
.mic { width: 48px; height: 48px; flex: none; border: 1.5px solid var(--borda); border-radius: 50%; background: #fff; cursor: pointer; font-size: 1.2rem; }
.mic.ativo { color: #fff; background: var(--gradiente); border-color: transparent; }

/* Estudos */
.estudos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.estudo-card { display: block; padding: 1.5rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); text-decoration: none; color: var(--tinta); }
.estudo-card:hover { box-shadow: var(--sombra); border-color: transparent; }
.estudo { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 1.5rem; align-items: start; }
.artigo { padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.artigo h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); }
.artigo h2 { margin-top: 1.6em; }
.artigo blockquote { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-left: 4px solid var(--azul-claro); background: var(--gelo); border-radius: 0 14px 14px 0; }
.artigo blockquote p { margin: 0; color: var(--tinta); }
.artigo table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .95rem; }
.artigo th, .artigo td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--borda); }
.artigo code { padding: .1rem .35rem; border-radius: 6px; background: var(--gelo); font-size: .9em; }
.artigo li { margin-bottom: .35rem; }
.acoes-artigo { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.estudo .chat { position: sticky; top: 6rem; min-height: 0; }
.estudo .mensagens { max-height: 50vh; min-height: 30vh; }

/* Projetos */
.filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.filtros input { flex: 1; min-width: 220px; padding: .6rem 1rem; border-radius: 999px; border: 1.5px solid var(--borda); }
.filtros button { border: 1.5px solid var(--borda); background: #fff; border-radius: 999px; padding: .5rem 1rem; cursor: pointer; font-weight: 600; }
.filtros button[aria-pressed=true] { color: #fff; background: var(--azul-claro); border-color: transparent; }
.projetos { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.projeto { padding: 1.25rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.projeto h3 { font-size: 1.1rem; margin-bottom: .3rem; word-break: break-word; }
.projeto p { font-size: .9rem; margin: .3rem 0 .8rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.projeto .dica-projeto p { display: block; }
.selos { display: flex; flex-wrap: wrap; gap: .35rem; }
.selo { font-size: .75rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; background: var(--gelo); color: var(--azul-claro); }
.selo.ruim { background: #FFF7ED; color: #C2410C; }
.selo.bom { background: #F0FDF4; color: #15803D; }

.abas { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.abas button { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.1rem; border-radius: 999px; border: 1.5px solid var(--borda); background: #fff; font-weight: 600; cursor: pointer; }
.abas button span { padding: .05rem .5rem; border-radius: 999px; background: var(--gelo); color: var(--azul-claro); font-size: .8rem; }
.abas button[aria-selected=true] { color: #fff; background: var(--gradiente); border-color: transparent; }
.abas button[aria-selected=true] span { background: rgba(255, 255, 255, .25); color: #fff; }
.acoes-projeto { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.acoes-projeto .btn { padding: .45rem .9rem; font-size: .85rem; }
.acoes-projeto .btn-dica { margin-top: 0; }
.btn-dica { margin-top: .9rem; padding: .45rem .9rem; font-size: .85rem; }
.dica-projeto { margin-top: .8rem; padding: 1rem; border-radius: 16px; background: var(--gelo); border-left: 4px solid var(--azul-claro); }
.dica-projeto b { display: block; color: var(--azul-claro); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.dica-projeto p { margin: .3rem 0; color: var(--tinta); font-weight: 600; }
.dica-projeto small { color: var(--tinta-2); }
.acoes-dica { display: flex; gap: .5rem; margin-top: .8rem; }
.acoes-dica .btn { padding: .45rem 1rem; font-size: .85rem; }
.carregando { font-style: italic; }
.ok-dica { color: var(--verde) !important; }

/* Quadro */
.quadro { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 1rem; overflow-x: auto; padding-bottom: 1rem; }
.coluna { padding: 1rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.coluna h2 { display: flex; justify-content: space-between; font-size: 1rem; text-transform: capitalize; }
.coluna h2 span { color: var(--tinta-2); }
.cartao { padding: .9rem; border-radius: 16px; background: var(--fundo); margin-bottom: .6rem; border-left: 4px solid var(--azul-claro); }
.cartao b { display: block; font-size: .95rem; }
.cartao small { color: var(--tinta-2); }
.cartao p { font-size: .82rem; margin: .4rem 0 0; white-space: pre-wrap; }
.dica { padding: 1rem 1.25rem; border-radius: 16px; background: var(--gelo); margin-bottom: 1rem; }

/* Memória */
.memorias { display: grid; gap: .6rem; list-style: none; padding: 0; }
.memorias li { padding: 1rem 1.25rem; border-radius: 16px; background: #fff; border: 1.5px solid var(--borda); }
.memorias small { color: var(--tinta-2); margin-right: .5rem; }

/* Histórico */
.linha-tempo { list-style: none; padding: 0 0 0 1.2rem; margin: 0; border-left: 3px solid var(--borda); display: grid; gap: .7rem; }
.linha-tempo li { position: relative; padding: .8rem 1rem; border-radius: 16px; background: #fff; border: 1.5px solid var(--borda); }
.linha-tempo li::before { content: ""; position: absolute; left: calc(-1.2rem - 9px); top: 1.1rem; width: 12px; height: 12px; border-radius: 50%; background: var(--azul-claro); border: 3px solid var(--fundo); }
.linha-tempo time { font-size: .8rem; color: var(--tinta-2); margin-right: .5rem; }
.linha-tempo .tipo { font-size: .8rem; font-weight: 600; color: var(--azul-claro); }
.linha-tempo p { margin: .3rem 0 0; color: var(--tinta); white-space: pre-wrap; }
.linha-tempo .ev-resposta::before { background: var(--ciano); }
.linha-tempo .ev-login_falhou::before { background: #DC2626; }

/* Tour de boas-vindas */
.tour-fundo { position: fixed; inset: 0; z-index: 90; }
.tour-foco { position: fixed; z-index: 91; border-radius: var(--raio); box-shadow: 0 0 0 9999px rgba(5, 15, 50, .65); transition: all .35s ease; pointer-events: none; }
.tour-caixa { position: fixed; z-index: 92; width: min(380px, calc(100vw - 2rem)); padding: 1.5rem; border-radius: var(--raio); background: #fff; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .5); transition: all .35s ease; }
.tour-caixa h3 { font-size: 1.25rem; }
.tour-caixa .passos { font-size: .8rem; font-weight: 700; color: var(--azul-claro); letter-spacing: .08em; text-transform: uppercase; }
.tour-caixa .botoes { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1rem; }
.tour-caixa input { width: 100%; padding: .7rem 1rem; border-radius: 14px; border: 1.5px solid var(--borda); margin-bottom: .5rem; }

/* Acessos */
.sem-sessao .topo-dir, .sem-sessao .voltar { display: none; }
.cartao-acesso { max-width: 420px; margin: 8vh auto 0; display: grid; gap: .9rem; padding: 2.2rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); box-shadow: var(--sombra); }
.cartao-acesso img { height: 64px; width: auto; justify-self: center; }
.cartao-acesso h1 { text-align: center; font-size: 1.6rem; margin: 0; }
.cartao-acesso label { display: grid; gap: .3rem; font-weight: 600; font-size: .9rem; }
.cartao-acesso input { padding: .75rem 1rem; border-radius: 14px; border: 1.5px solid var(--borda); font-weight: 400; }
.cartao-acesso .btn { justify-content: center; }
.cartao-acesso.largo { max-width: 560px; }
.cartao-acesso small { color: var(--tinta-2); }
.cartao-acesso .linha { display: flex; align-items: center; gap: .5rem; font-weight: 500; }
.codigo-recuperacao { padding: 1rem; text-align: center; font-family: ui-monospace, Consolas, monospace; font-size: 1.5rem; font-weight: 700; letter-spacing: .12em; border: 2px dashed #F59E0B; border-radius: 16px; background: #FFFBEB; user-select: all; }
.cartao-acesso .cancelar { text-align: center; }
.erro-form { margin: 0; min-height: 1.2em; color: #B91C1C; font-weight: 600; font-size: .9rem; }
.topo-dir { position: relative; }
.menu-conta { position: absolute; top: calc(100% + .5rem); right: 0; z-index: 40; display: grid; min-width: 180px; padding: .4rem; border-radius: 16px; background: #fff; border: 1.5px solid var(--borda); box-shadow: var(--sombra); }
.menu-conta button { text-align: left; padding: .6rem .8rem; border: 0; border-radius: 10px; background: none; cursor: pointer; font-weight: 500; }
.menu-conta button:hover { background: var(--gelo); }

/* Celular: aqui sim tem menu */
@media (max-width: 900px) {
  .menu-btn { display: block; }
  #menu { position: fixed; inset: 0; z-index: -1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; background: #fff; font-size: 1.3rem; font-weight: 600; opacity: 0; visibility: hidden; transition: opacity .25s; }
  #menu a { text-decoration: none; color: var(--tinta); }
  #menu.aberto { opacity: 1; visibility: visible; }
  .menu-btn[aria-expanded=true] span { background: transparent; }
  .menu-btn[aria-expanded=true] span::before { transform: translateY(6px) rotate(45deg); }
  .menu-btn[aria-expanded=true] span::after { transform: translateY(-6px) rotate(-45deg); }
  .voltar { display: none; }
  .areas { grid-template-columns: 1fr; }
  .areas > * { grid-column: auto !important; grid-row: auto !important; }
  .conversa, .estudo { grid-template-columns: 1fr; }
  .painel-voz, .estudo .chat { position: static; }
  .mini-quadro { grid-template-columns: repeat(2, 1fr); }
  .marca span { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Doca: a conversa acompanha você em todas as telas */
.doca-vz { position: fixed; right: 16px; bottom: 16px; z-index: 40; width: min(400px, calc(100vw - 32px)); }
.doca-vz[hidden] { display: none; }
.doca-vz .conversa { display: flex; flex-direction: column-reverse; gap: .5rem; }
.doca-vz .painel-voz { position: static; display: flex; align-items: center; gap: .75rem; padding: .5rem 3.25rem .5rem .6rem; border-radius: 999px; box-shadow: 0 16px 40px -16px rgba(0, 40, 160, .6); }
.doca-vz .ajustes, .doca-vz .troca-avatar { display: none; }
.doca-vz .painel-voz .orbe, .doca-vz .painel-voz .orbe.com-avatar { width: 52px; height: 52px; flex: none; box-shadow: none; }
.doca-vz .painel-voz .estado-voz { margin: 0; font-size: .9rem; }
.doca-vz .chat { min-height: 0; box-shadow: 0 24px 60px -24px rgba(0, 40, 160, .5); }
.doca-vz .mensagens { max-height: 42vh; }
.doca-vz.min .chat { display: none; }
.doca-vz .doca-abrir { position: absolute; right: .6rem; bottom: .75rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; color: #fff; font-size: 1.1rem; cursor: pointer; background: rgba(255, 255, 255, .18); }
.doca-vz .doca-abrir:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Radar de novidades */
.a-radar { grid-column: span 12; display: flex; align-items: center; gap: 1rem; background: linear-gradient(120deg, #0A2D89, #0B40CE 55%, #1157EA); color: #fff; }
.a-radar h2, .a-radar p { color: #fff; margin: 0; }
.a-radar p { opacity: .85; }
.a-radar .radar-ico { font-size: 2.2rem; }
.a-radar .radar-tag { margin-left: auto; background: rgba(255, 255, 255, .18); color: #fff; white-space: nowrap; }
.radar-topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.radar-topo p { max-width: 60ch; }
.radar-acoes { display: flex; gap: .6rem; align-items: center; }
.radar-acoes select { padding: .6rem .8rem; border-radius: 12px; border: 1.5px solid var(--borda); font: inherit; }
.radar-top3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem; }
.radar-top3 .top { display: flex; gap: .8rem; padding: 1.1rem; border-radius: var(--raio); color: #fff; background: linear-gradient(135deg, #1157EA, #0B40CE 60%, #0A2D89); }
.radar-top3 .num { flex: none; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(255, 255, 255, .2); font-weight: 700; }
.radar-top3 h3 { margin: 0 0 .3rem; font-size: 1rem; color: #fff; }
.radar-top3 p, .radar-top3 p b { margin: 0; font-size: .85rem; color: #fff; opacity: .92; }
.radar-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.radar-filtros button { padding: .45rem .9rem; border-radius: 999px; border: 1.5px solid var(--borda); background: #fff; font: inherit; font-size: .85rem; cursor: pointer; }
.radar-filtros button.ativo { background: var(--azul); border-color: var(--azul); color: #fff; }
.radar-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1rem; }
.radar-item { display: flex; flex-direction: column; gap: .45rem; padding: 1.1rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.radar-item[hidden] { display: none; }
.radar-item header { display: flex; justify-content: space-between; gap: .5rem; font-size: .78rem; }
.radar-item .radar-cat { font-weight: 600; color: var(--azul); }
.radar-item h3 { margin: 0; font-size: 1.02rem; }
.radar-item p { margin: 0; font-size: .88rem; }
.radar-visual { padding: .55rem .7rem; border-radius: 10px; background: #EAF0FD; }
.radar-item footer { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding-top: .4rem; font-size: .8rem; }
.radar-item footer a { margin-left: auto; font-weight: 600; }
.esforco { padding: .1rem .5rem; border-radius: 999px; background: #EEF2F7; }
.esforco.e-baixo { background: #DCFCE7; color: #166534; }
.esforco.e-medio { background: #FEF3C7; color: #92400E; }
.esforco.e-alto { background: #FEE2E2; color: #991B1B; }
.radar-rodape { margin-top: 1.25rem; font-size: .82rem; color: var(--tinta-2); }
.vazio-grande { padding: 3rem 1rem; text-align: center; border: 2px dashed var(--borda); border-radius: var(--raio); color: var(--tinta-2); }
@media (max-width: 760px) { .radar-top3 { grid-template-columns: 1fr; } .a-radar .radar-tag { display: none; } }

/* Hoje: tarefas por pessoa */
.hoje { margin: 0 0 1.4rem; }
.hoje-topo, .titulo-acao { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.hoje-topo h2 { margin: 0; font-size: 1.3rem; }
.blocos-hoje { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.bloco-hoje { padding: 1rem; border-radius: var(--raio); background: #fff; border: 1.5px solid var(--borda); }
.bloco-hoje h2 { margin: 0 0 .7rem; font-size: 1rem; display: flex; align-items: center; gap: .4rem; }
.bloco-hoje h2 span, .bloco-hoje h3 span { margin-left: auto; padding: .05rem .55rem; border-radius: 999px; background: var(--fundo); font-size: .8rem; }
.bloco-hoje h3 { display: flex; margin: .8rem 0 .4rem; font-size: .88rem; color: var(--tinta-2); }
.bloco-hoje .vazio, .bloco-hoje .liberadas { font-size: .85rem; color: var(--tinta-2); margin: .2rem 0; }
.bloco-hoje .mais { font-size: .85rem; font-weight: 600; }
button.cartao.tarefa { display: block; width: 100%; text-align: left; border: 0; border-left: 4px solid var(--azul-claro); font: inherit; cursor: pointer; }
button.cartao.tarefa:hover { background: #E1E9FC; }
button.cartao.tarefa.p-alta { border-left-color: #DC2626; }
.cartao .chips { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .45rem; }
.chip { padding: .1rem .5rem; border-radius: 999px; background: #fff; font-size: .75rem; color: var(--tinta-2); }
.chip.dono { color: var(--azul); font-weight: 600; }
.chip.alta { background: #FEE2E2; color: #991B1B; }
dialog.janela { width: min(560px, calc(100vw - 32px)); max-height: 88vh; overflow: auto; border: 0; border-radius: var(--raio); padding: 1.6rem; box-shadow: 0 30px 80px -20px rgba(0, 30, 120, .45); }
dialog.janela::backdrop { background: rgba(10, 20, 50, .45); }
dialog.janela .fechar { position: absolute; top: .8rem; right: .8rem; width: 2.2rem; height: 2.2rem; border: 0; border-radius: 50%; background: var(--fundo); cursor: pointer; }
dialog.janela h2 { margin: .2rem 0 .3rem; }
dialog.janela .etapa-tarefa { margin: 0; font-weight: 600; color: var(--azul); }
dialog.janela .meta { margin: 0 0 .8rem; font-size: .85rem; color: var(--tinta-2); }
dialog.janela .com-quem { padding: .6rem .8rem; border-radius: 12px; background: var(--fundo); }
dialog.janela .detalhe { white-space: pre-wrap; font-size: .92rem; }
dialog.janela .passar { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; margin: .8rem 0; padding: .8rem; border: 1.5px dashed var(--borda); border-radius: 14px; }
dialog.janela .passar label { display: grid; gap: .25rem; font-size: .85rem; font-weight: 600; }
dialog.janela .passar .linha, .form-tarefa .linha { display: flex; align-items: center; gap: .45rem; font-weight: 500; }
dialog.janela select, .form-tarefa input, .form-tarefa select, .form-tarefa textarea { padding: .6rem .8rem; border-radius: 12px; border: 1.5px solid var(--borda); font: inherit; }
.botoes-tarefa { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.linha-tempo { list-style: none; margin: 0; padding: 0 0 0 1rem; border-left: 2px solid var(--borda); }
.linha-tempo li { position: relative; margin: 0 0 .7rem; font-size: .9rem; }
.linha-tempo li::before { content: ''; position: absolute; left: calc(-1rem - 6px); top: .35rem; width: 10px; height: 10px; border-radius: 50%; background: var(--azul); }
.linha-tempo small { display: block; color: var(--tinta-2); font-size: .78rem; }
.form-tarefa { display: grid; gap: .8rem; }
.form-tarefa label { display: grid; gap: .3rem; font-weight: 600; font-size: .9rem; }
.quadro { grid-template-columns: repeat(5, minmax(220px, 1fr)); }
@media (max-width: 900px) { .blocos-hoje { grid-template-columns: 1fr; } }

/* Comando do dia */
.dica-comando { display: flex; align-items: center; gap: .8rem; margin: 0 0 1.2rem; padding: .8rem 1.1rem; border-radius: var(--raio); background: #fff; border: 1.5px dashed var(--borda); color: var(--tinta); text-decoration: none; font-size: .92rem; }
.dica-comando:hover { border-color: var(--azul); }
.dica-comando .dc-ico { font-size: 1.4rem; }
.dica-comando code { padding: .05rem .35rem; border-radius: 6px; background: var(--fundo); color: var(--azul); }
.dica-comando .dc-mais { margin-left: auto; font-weight: 600; color: var(--azul); white-space: nowrap; }
@media (max-width: 760px) { .dica-comando .dc-mais { display: none; } }

/* Avisos: sino e bolinhas */
.sino { position: relative; width: 2.6rem; height: 2.6rem; border: 1.5px solid var(--borda); border-radius: 50%; background: #fff; font-size: 1.1rem; cursor: pointer; }
.sino[hidden] { display: none; }
.sino .bolha, .bolinha { display: grid; place-items: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem; border-radius: 999px; background: #EF4444; color: #fff; font: 700 .7rem Inter, sans-serif; box-shadow: 0 0 0 2px #fff; }
.sino .bolha { position: absolute; top: -4px; right: -4px; }
.sino .bolha[hidden] { display: none; }
.area { position: relative; }
.bolinha { position: absolute; top: .7rem; right: .7rem; animation: pulsar-bolinha 2s ease-in-out infinite; }
@keyframes pulsar-bolinha { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@media (prefers-reduced-motion: reduce) { .bolinha { animation: none; } }
.lista-avisos { list-style: none; margin: .8rem 0; padding: 0; display: grid; gap: .4rem; }
.lista-avisos a { display: flex; gap: .7rem; padding: .7rem .8rem; border-radius: 12px; background: var(--fundo); color: var(--tinta); text-decoration: none; }
.lista-avisos a:hover { background: #E1E9FC; }
.lista-avisos .importante a { background: #FEF3C7; }
.lista-avisos .ico { font-size: 1.2rem; }
.lista-avisos small { display: block; color: var(--tinta-2); font-size: .78rem; margin-top: .15rem; }

.lista-avisos li { display: flex; gap: .4rem; align-items: center; }
.lista-avisos li a { flex: 1; }
.lista-avisos .resolver { flex: none; padding: .45rem .8rem; }
.hoje-topo { position: relative; }
.ativar-notif { margin: .2rem 0 .6rem; }

.incentivo { display: flex; flex-wrap: wrap; gap: .5rem; margin-right: auto; margin-left: 1rem; }
.incentivo span { padding: .3rem .7rem; border-radius: 999px; background: #fff; border: 1.5px solid var(--borda); font-size: .85rem; font-weight: 600; }
.incentivo .pendente { border-color: #FCA5A5; background: #FEF2F2; }

/* Agenda: calendário do mês ocupando a página */
.a-agenda { grid-column: span 12; display: flex; align-items: center; gap: 1rem; background: linear-gradient(120deg, #fff, #EAF0FD); }
.a-agenda h2, .a-agenda p { margin: 0; }
.a-agenda .radar-ico { font-size: 2.2rem; }
.a-agenda .agenda-tag { margin-left: auto; }
.agenda-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.agenda-nav { display: flex; align-items: center; gap: .5rem; }
.agenda-nav h1 { margin: 0 .4rem; font-size: 1.8rem; text-transform: capitalize; min-width: 11ch; text-align: center; }
.agenda-nav h1 span { color: var(--tinta-2); font-weight: 500; }
.agenda-nav .btn { padding: .5rem .9rem; }
.agenda-legenda { display: flex; flex-wrap: wrap; gap: .8rem; font-size: .82rem; color: var(--tinta-2); }
.agenda-semana, .agenda-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.agenda-semana span { padding: .3rem .5rem; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--tinta-2); }
.agenda-dia { min-height: calc((100vh - 15rem) / 6); min-height: max(6.5rem, calc((100vh - 15rem) / 6)); padding: .4rem .45rem; border-radius: 12px; background: #fff; border: 1.5px solid var(--borda); cursor: pointer; overflow: hidden; display: flex; flex-direction: column; gap: .25rem; }
.agenda-dia:hover, .agenda-dia:focus-visible { border-color: var(--azul); outline: none; }
.agenda-dia.fds { background: #FAFBFE; }
.agenda-dia.fora { opacity: .45; }
.agenda-dia.hoje { border: 2px solid var(--azul); box-shadow: 0 0 0 3px rgba(11, 64, 206, .12); }
.agenda-dia .num { font-weight: 700; font-size: .9rem; }
.agenda-dia.hoje .num { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--azul); color: #fff; }
.agenda-dia .itens { display: grid; gap: 3px; }
.ag-item { display: block; padding: .12rem .4rem; border-radius: 6px; font-size: .74rem; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--fundo); }
.ag-comp { background: #DBE6FF; color: #0A2D89; }
.ag-tarefa { background: #FEF3C7; color: #92400E; }
.ag-atrasada { background: #FEE2E2; color: #991B1B; }
.ag-feita { background: #DCFCE7; color: #166534; text-decoration: line-through; }
.ag-lemb { background: #EDE9FE; color: #5B21B6; }
.ag-mais { font-size: .72rem; font-weight: 700; color: var(--azul); }
.com-quem-f { border: 1.5px solid var(--borda); border-radius: 12px; padding: .5rem .8rem; display: grid; gap: .3rem; }
.com-quem-f legend { font-weight: 600; font-size: .9rem; }
.agenda-dia .sem { display: none; }
@media (max-width: 760px) {
  .agenda-topo { flex-direction: column; align-items: stretch; }
  .agenda-nav { justify-content: space-between; }
  .agenda-nav h1 { font-size: 1.35rem; min-width: 0; }
  .agenda-nav .btn { min-width: 2.8rem; min-height: 2.8rem; justify-content: center; }
  .agenda-legenda { gap: .5rem; }
  .novo-comp { min-height: 3rem; justify-content: center; }
  .agenda-semana { display: none; }
  .agenda-grade { grid-template-columns: 1fr; gap: 8px; }
  .agenda-dia { min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: center; padding: .7rem .8rem; }
  .agenda-dia .num { display: none; }
  .agenda-dia .sem { display: block; width: 100%; font-weight: 700; text-transform: capitalize; }
  .agenda-dia.hoje .sem { color: var(--azul); }
  .agenda-dia .itens { width: 100%; }
  .ag-item { white-space: normal; font-size: .85rem; padding: .35rem .55rem; }
  .agenda-dia.fora, .agenda-dia.livre:not(.hoje) { display: none; }
  .agenda-dia.livre.hoje .itens::after { content: 'Nada marcado para hoje.'; font-size: .85rem; color: var(--tinta-2); }
  .a-agenda .agenda-tag { display: none; }
}
