
/* TRI / NEXT — camada visual compartilhada, sem dependências externas. */
:root,:root[data-theme="light"]{--verde-900:#122959;--verde-700:#204ec4;--verde-600:#295edb;--verde-500:#087c99;--verde-100:#e5edff;--sinal:#55e4f2;--sinal-escuro:#20afc3;--bg:#f6f8fe;--bg-alt:#edf2fc;--bg-card:#fff;--bg-elevado:#fff;--bg-fundo:#080e1c;--borda:#dae2f2;--borda-forte:#aabbd6;--texto:#142441;--texto-suave:#536680;--raio:20px;--raio-sm:12px;--raio-xs:8px;--container:1240px;--sombra:0 8px 30px #10234b08;--sombra-media:0 16px 40px #10234b14;--t-2xl:clamp(2.5rem,5.3vw,4.5rem)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--verde-900:#101b42;--verde-700:#88b4ff;--verde-600:#6c9fff;--verde-500:#42d9ed;--verde-100:#172c49;--bg:#080e1c;--bg-alt:#0c1426;--bg-card:#111d32;--bg-elevado:#172640;--borda:#263650;--borda-forte:#405776;--texto:#eef4ff;--texto-suave:#a9b9d0;--skeleton:#18263c;--skeleton-brilho:#253b57;--anel-foco:0 0 0 3px #42d9ed44;}}
:root[data-theme="dark"]{--verde-900:#101b42;--verde-700:#88b4ff;--verde-600:#6c9fff;--verde-500:#42d9ed;--verde-100:#172c49;--bg:#080e1c;--bg-alt:#0c1426;--bg-card:#111d32;--bg-elevado:#172640;--borda:#263650;--borda-forte:#405776;--texto:#eef4ff;--texto-suave:#a9b9d0;--skeleton:#18263c;--skeleton-brilho:#253b57;--anel-foco:0 0 0 3px #42d9ed44;}
body{background-image:radial-gradient(ellipse at 100% 0%,#407aff0b,transparent 45%)}
.topo{height:76px;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--borda)}
.logo-nome{letter-spacing:.04em;font-size:.95rem}.logo-nome b{font-weight:500}.logo-marca{width:34px;height:34px}
.menu-topo{gap:16px;margin-left:auto}.menu-topo a{font-size:.78rem}.acoes-topo{gap:8px}
.btn{border-radius:12px;min-height:46px;overflow:hidden;isolation:isolate;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.btn-primario{background:linear-gradient(120deg,#285bdf,#6547df);color:#fff;box-shadow:0 5px 18px #315ee52b;border-color:#7194ff55}
.btn-primario:hover{background:linear-gradient(120deg,#204cc5,#5737cf);box-shadow:0 9px 26px #4269ef44}
.btn-sinal{background:linear-gradient(110deg,#8bf3ef,#43cce9);color:#072238;box-shadow:0 5px 22px #4bdde329}
.btn-sinal:hover{background:#9af7f3}.btn:active{transform:scale(.97)}
.btn::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff25 48%,transparent 75%);transform:translateX(-130%);transition:transform .5s}
@media(hover:hover){.btn:hover{transform:translateY(-2px)}.btn:hover::after{transform:translateX(130%)}.categoria:hover,.card:hover{border-color:color-mix(in srgb,var(--verde-600) 50%,var(--borda))}}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--verde-500);outline-offset:4px}
.btn[disabled]{transform:none;box-shadow:none}.btn[disabled]::after{display:none}
.card,.categoria,.passo,.painel{border-color:var(--borda)}.card,.categoria{box-shadow:var(--sombra);transition:border-color .2s,box-shadow .2s}.categoria{padding:24px 18px;border-radius:16px}.categoria .emoji{background:var(--bg-alt);padding:12px;border-radius:12px}
input,select,textarea{border-radius:11px;min-height:48px;background:var(--bg);transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--verde-600) 15%,transparent)}
.hero{padding:76px 0 36px;background:radial-gradient(ellipse at 80% 40%,#183364 0,transparent 52%),#080e1c;border-bottom:1px solid #2b4163}
.hero::before{background-size:64px 64px;opacity:.6;mask-image:linear-gradient(90deg,transparent,#000)}.hero::after{background:radial-gradient(circle,#7257eb26,transparent 65%)}
.hero-grade{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:24px 48px;align-items:center}
.hero h1{max-width:15ch;letter-spacing:-.055em;line-height:1.05;margin:18px 0 24px}.hero h1 em{color:#72e5f1}.hero h1 em::after{display:none}
.hero-sub{color:#b3c3dd;font-size:1.05rem;line-height:1.75}.hero-nota{color:#99aac4;font-size:.78rem}.hero .pilula-online{color:#a6e9f4;background:#102d41;border-color:#2e5971;font-size:.74rem}
.tech-eyebrow{display:block;color:#74d9ef;font-size:.7rem;letter-spacing:.2em;font-weight:700;margin-bottom:20px}
.busca-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#111f35;border:1px solid #304360;padding:18px;border-radius:18px;max-width:none;color:#dce7f8;box-shadow:0 20px 50px #0002}
.busca-hero input,.busca-hero select{background:#091426;border-color:#344966;color:#e9f2ff}.busca-hero input::placeholder{color:#a8b6cd}.busca-hero .btn{grid-column:1/-1}.busca-hero label{font-size:.76rem}
.tech-visual{position:relative;min-width:0;align-self:center}.tech-visual svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 35px #2e87fc19)}
.tech-caption{display:flex;justify-content:space-between;gap:12px;color:#849bbf;font:10px ui-monospace,monospace;letter-spacing:.12em;border-top:1px solid #2a3c58;padding-top:18px}
.tech-caption span:last-child{color:#67dce9}.tech-orbit{transform-origin:240px 240px;animation:tri-orbit 45s linear infinite}@keyframes tri-orbit{to{transform:rotate(360deg)}}
.hero .numeros{grid-column:1/-1;max-width:none;width:100%;margin:24px 0 0;padding-top:26px;border-top:1px solid #263752;gap:24px}.hero .numero{border:0;padding:0}.hero .numero b{font-size:1.65rem}.hero .numero span{color:#95aac8;font-size:.75rem}
.hero-perto{grid-column:1/-1;width:100%;background:#101e34;border:1px solid #2a4160;border-radius:18px}.hero-perto-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.secao{padding:88px 0}.secao h2{letter-spacing:-.04em}.secao-escura,.faixa-planos{background:radial-gradient(ellipse at top right,#203d70,transparent 65%),#0b1326;color:#eef4ff}.secao-escura .ajuda{color:#b5c6df}
.abas{background:var(--bg-alt);padding:6px;border:1px solid var(--borda);border-radius:14px}.aba{border-radius:9px}.aba.ativa{background:var(--bg-card);color:var(--verde-700);box-shadow:var(--sombra)}
.nav-inferior{background:color-mix(in srgb,var(--bg-card) 94%,transparent);backdrop-filter:blur(18px);border-color:var(--borda)}.nav-inferior a{transition:background .2s,color .2s}.nav-inferior a.ativo{color:var(--verde-700)}
.tech-menu-toggle{display:none}.tech-menu-toggle svg{width:19px;height:19px}.tech-menu-toggle[aria-expanded="true"]{background:var(--verde-100)}
@media(max-width:1150px){.tech-menu-toggle{display:inline-flex;padding:10px;min-width:44px}.topo .menu-topo{display:none}.topo .menu-topo.tech-open{display:flex;position:absolute;left:16px;right:16px;top:80px;margin:0;padding:14px;flex-direction:column;align-items:stretch;gap:2px;background:var(--bg-card);border:1px solid var(--borda);border-radius:16px;box-shadow:var(--sombra-forte);max-height:70vh;overflow:auto}.menu-topo.tech-open a{padding:12px;font-size:.95rem}.acoes-topo{margin-left:auto}.hero-grade{gap:24px}.hero h1{font-size:clamp(2.5rem,5vw,3.6rem)}}
@media(max-width:800px){.hero{padding:44px 0 28px}.hero-grade{grid-template-columns:minmax(0,1fr)}.hero h1{max-width:17ch;font-size:clamp(2.5rem,8vw,3.8rem)}.tech-visual{max-width:420px;width:100%;margin:0 auto}.tech-visual svg{max-height:300px}.hero-texto{max-width:none}.hero-perto-lista{grid-template-columns:1fr}.secao{padding:56px 0}}
@media(max-width:560px){.topo{height:70px}.topo .container{gap:8px}.logo{gap:6px}.logo-nome{font-size:.78rem}.logo-marca{width:28px;height:28px}.acoes-topo{gap:5px}.acoes-topo .btn-sm{padding:8px;font-size:.74rem}.acoes-topo .tema-botao{width:36px;min-width:36px}.tech-menu-toggle{min-width:40px;padding:8px}.hero .numeros{grid-template-columns:repeat(2,minmax(0,1fr))}.busca-hero{grid-template-columns:minmax(0,1fr);padding:14px}.hero .pilula-online{margin-bottom:4px}.hero-nota{margin-bottom:0}.tech-caption{font-size:9px}.hero-perto{grid-column:1}.btn{white-space:normal}.linha-campos{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.revelar{opacity:1!important;transform:none!important}}
/* Ajustes finais de contraste e controles compactos. */
:root[data-theme="dark"]{--sinal:#55e4f2;--sinal-escuro:#20afc3}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--sinal:#55e4f2;--sinal-escuro:#20afc3}}
.rodape{background:#0b1427;color:#b4c3dc;border-top:1px solid #304465}.rodape a{color:#b4c3dc}
@media(max-width:560px){.acoes-topo .tema-botao{width:auto;min-width:0;flex-shrink:0}.acoes-topo .tema-opcao{min-width:27px}.acoes-topo [data-area-usuario]{gap:3px!important}.topo .container{gap:6px}}
.busca-hero .campo label{color:#bfcee4}
/* TRI / COMMUNICATION UI */
.acoes-topo .atalho-conversas{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:44px;padding:9px 13px;border:1px solid #78abff88;border-radius:12px;background:linear-gradient(120deg,#2355c9,#4f43cc);color:#fff;box-shadow:0 5px 18px #315ee52b;overflow:visible;gap:5px}
.acoes-topo .atalho-conversas:hover{background:linear-gradient(120deg,#2b64e7,#6051df);color:#fff;box-shadow:0 7px 23px #315ee54d}
.acoes-topo .atalho-conversas::after{display:none}
.atalho-conversas .icone-envelope{display:inline-flex;align-items:center;gap:8px;font-size:0;line-height:1}
.atalho-conversas .icone-envelope::before{content:'';width:22px;height:22px;display:block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 11a8 8 0 0 1-8 8H6l-4 3 1.5-6A8 8 0 1 1 21 11ZM8 9h8M8 13h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 11a8 8 0 0 1-8 8H6l-4 3 1.5-6A8 8 0 1 1 21 11ZM8 9h8M8 13h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.atalho-conversas .icone-envelope::after{content:'Mensagens';font:600 11px system-ui}
.atalho-conversas .selo-nao-lidas{position:absolute;right:-6px;top:-7px;margin:0;min-width:20px;height:20px;background:#55e4f2;color:#09263c;border:2px solid var(--bg);font-size:10px}
@media(max-width:600px){.acoes-topo .atalho-conversas{min-width:42px;min-height:42px;padding:9px;border-radius:11px}.atalho-conversas .icone-envelope::after{display:none}}

/* Acesso sempre visível no celular, inclusive antes do login. */
.tri-mobile-chat{display:none}
@media(max-width:859px){
 .tri-mobile-chat{position:fixed;z-index:900;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:9px;min-height:50px;padding:12px 18px;border:1px solid #91baff99;border-radius:16px;background:linear-gradient(120deg,#2355c9,#5144ce);color:#fff;font:700 13px system-ui;text-decoration:none;box-shadow:0 7px 26px #143eac55}
 .tri-mobile-chat svg{width:24px;height:24px;flex:none}
 .tri-mobile-chat:hover{color:#fff;text-decoration:none;background:#345ed6}
 .tri-mobile-chat:focus-visible{outline:3px solid var(--verde-500);outline-offset:3px}
 .com-nav .tri-mobile-chat{bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom))}
 .tri-radar .tri-mobile-chat{bottom:calc(24px + env(safe-area-inset-bottom))}
 .tri-inbox .tri-mobile-chat{display:none}
}

/* END TRI COMMUNICATION UI */


/* Menu de cima que sempre cabe (atualizacao-menu-cabe): quando os links
   não cabem ao lado dos botões, viram o botão ☰, em qualquer largura. */
.topo.menu-apertado .menu-topo { gap: 11px; margin-left: 14px; }
.topo.menu-apertado .menu-topo a { font-size: .76rem; }
.topo.menu-apertado .container { gap: 12px; }
.topo.menu-compacto .tech-menu-toggle { display: inline-flex; padding: 10px; min-width: 44px; }
.topo.menu-compacto .menu-topo { display: none; }
.topo.menu-compacto .menu-topo.tech-open { display: flex; position: absolute; left: 16px; right: 16px; top: 80px; margin: 0; padding: 14px;
  flex-direction: column; align-items: stretch; gap: 2px; background: var(--bg-card); border: 1px solid var(--borda); border-radius: 16px;
  box-shadow: var(--sombra-forte); max-height: 70vh; overflow: auto; }
.topo.menu-compacto .menu-topo.tech-open a { padding: 12px; font-size: .95rem; }
.topo.menu-compacto .acoes-topo { margin-left: auto; }
/* No computador, a lista abre como uma caixa embaixo do ☰, não na tela toda. */
@media (min-width: 1151px) {
  .topo.menu-compacto .menu-topo.tech-open { left: auto; right: 32px; width: 300px; }
}
