:root{--navy:#1f3b57;--navy2:#2c4f73;--azul:#4a8fd6;--azulc:#e8f1fb;--amarelo:#f2c94c;--amarelo2:#fff4cc;--fundo:#f4f7fb;--cartao:#fff;--texto:#22303f;--fraco:#7b8794;--linha:#e3e9f0;
--ok:#3fa66b;--okf:#dff5e6;--hip:#e0a800;--hipf:#fff3c4;--duv:#d9534f;--duvf:#fde0dd;--sp:#ef8a3c;--spf:#ffe5d0;--ia:#7c5cd6;--iaf:#ece6fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fundo);color:var(--texto);font:15px/1.5 "Source Sans 3",system-ui,"Segoe UI",sans-serif}
a{color:var(--azul);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:26px;margin:0;color:var(--navy);font-weight:700}h2{font-size:19px;margin:0 0 6px;color:var(--navy)}h3{font-size:15px;margin:0 0 10px;color:var(--navy);text-transform:uppercase;letter-spacing:.8px}h4{font-size:12px;margin:14px 0 6px;color:var(--fraco);text-transform:uppercase;letter-spacing:.8px}
code{background:#eef2f7;padding:1px 6px;border-radius:4px;font-size:13px}pre{white-space:pre-wrap;background:#f7f9fc;border:1px solid var(--linha);padding:10px;border-radius:8px;overflow:auto;font-size:12px}
/* topo */
.topo{background:var(--navy);color:#fff;box-shadow:0 2px 8px #0002}.topo-in{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px}
.marca{display:flex;align-items:center;gap:12px;color:#fff}.marca:hover{text-decoration:none}.logo{width:38px;height:38px;border-radius:50%;background:var(--amarelo);color:var(--navy);font-weight:700;font-size:20px;display:grid;place-items:center}
.m1{font-weight:700;letter-spacing:.2px;line-height:1.1}.m2{font-size:11px;color:#bcd0e6;text-transform:uppercase;letter-spacing:1.2px}
.topo nav{display:flex;gap:4px;margin-left:12px}.topo nav a{color:#dfe9f5;padding:7px 14px;border-radius:20px;font-weight:600;font-size:14px}.topo nav a:hover,.topo nav a.ativa{background:#ffffff1a;color:#fff;text-decoration:none}
.topo .dir{margin-left:auto;font-size:12px;color:#bcd0e6}
.conteudo{max-width:1240px;margin:0 auto;padding:26px 24px 48px}.rodape{text-align:center;color:var(--fraco);font-size:12px;padding:10px 0 30px}
/* cabeçalhos de página */
.pagina-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}.pagina-cab .sub{color:var(--fraco);font-size:14px;margin-top:2px}
.migalha{font-size:13px;color:var(--fraco);margin:0 0 10px}.migalha a{color:var(--fraco)}
.chip-cod{display:inline-block;background:var(--navy);color:#fff;border-radius:8px;padding:2px 10px;font-size:14px;font-weight:700;margin-right:10px;vertical-align:middle}
/* cartões */
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a}.cartao.estreito{max-width:520px;margin:40px auto}
.cartao.link{display:block;color:inherit;transition:transform .12s,box-shadow .12s;position:relative}.cartao.link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px #1f3b5722;border-color:#c8dcf2}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.duas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
/* cartão de empresa */
.emp .cod{font-size:12px;color:var(--fraco);letter-spacing:1px;text-transform:uppercase}.emp .nome{font-size:20px;font-weight:700;color:var(--navy);margin:2px 0 10px}.emp .meta{display:flex;gap:14px;color:var(--fraco);font-size:13px;flex-wrap:wrap}.emp .meta b{color:var(--texto)}
.emp .seta{position:absolute;right:18px;top:18px;color:var(--azul);font-size:20px}
/* cartão de função */
.fn{display:flex;gap:16px;align-items:flex-start}.fn .icone{width:46px;height:46px;border-radius:12px;background:var(--azulc);color:var(--azul);display:grid;place-items:center;flex-shrink:0}.fn .icone svg{width:24px;height:24px}
.fn .nome{font-weight:700;color:var(--navy);font-size:16px}.fn .meta{color:var(--fraco);font-size:13px;margin-top:4px;line-height:1.45}.fn .cta{margin-top:10px;color:var(--azul);font-weight:600;font-size:13px}
/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 16px;border-left:5px solid var(--azul)}.kpi .v{font-size:24px;font-weight:700;color:var(--navy);line-height:1.1}.kpi .l{font-size:11px;color:var(--fraco);text-transform:uppercase;letter-spacing:.7px;margin-top:3px}
.kpi.ok{border-left-color:var(--ok)}.kpi.hip{border-left-color:var(--hip)}.kpi.duv{border-left-color:var(--duv)}.kpi.warn{border-left-color:var(--amarelo)}
/* botões */
.botao,button{background:var(--navy);color:#fff;border:0;border-radius:22px;padding:9px 18px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;display:inline-block;line-height:1.2}
.botao:hover,button:hover{background:var(--navy2);text-decoration:none}.botao.destaque,button.destaque{background:var(--amarelo);color:var(--navy)}.botao.destaque:hover,button.destaque:hover{background:#e9bd35}
.botao.claro,button.claro{background:var(--azulc);color:var(--navy)}.botao.claro:hover,button.claro:hover{background:#d6e6f8}
button.peq,.botao.peq{padding:5px 12px;font-size:12px}
/* abas */
.abas{display:flex;gap:4px;margin:0 0 18px;flex-wrap:wrap;background:#fff;border:1px solid var(--linha);border-radius:30px;padding:4px;width:max-content;max-width:100%}
.abas a{padding:7px 16px;color:var(--fraco);border-radius:22px;font-weight:600;font-size:14px}.abas a:hover{text-decoration:none;color:var(--navy)}.abas a.ativa{background:var(--navy);color:#fff}
/* formulários */
.form label{display:block;margin-bottom:14px;font-weight:600;color:var(--navy)}.form label small{font-weight:400;color:var(--fraco)}
.form input:not([type]),.form input[type=text],.form input[type=password],.inline input:not([type]),.inline input[type=text]{width:100%;padding:9px 12px;border:1px solid var(--linha);border-radius:10px;font:inherit;font-size:14px;margin-top:4px;background:#fff}
.inline input{width:auto;margin:0}
.form input[type=file]{display:block;margin-top:6px;width:100%;padding:14px;border:2px dashed #c8dcf2;border-radius:12px;background:#f7fafd;font:inherit;font-size:13px;color:var(--fraco);cursor:pointer}.form input[type=file]:hover{border-color:var(--azul);background:var(--azulc)}
.form input[type=file]::file-selector-button{background:var(--navy);color:#fff;border:0;border-radius:18px;padding:6px 14px;margin-right:12px;font:inherit;font-weight:600;font-size:13px;cursor:pointer}
.inline{display:inline}.inline input[type=file]{display:inline-block;font-size:12px;padding:5px;border:1px solid var(--linha);border-radius:8px;background:#fff;max-width:230px}.inline input[type=file]::file-selector-button{background:var(--azulc);color:var(--navy);border:0;border-radius:14px;padding:4px 10px;margin-right:8px;font:inherit;font-size:12px;font-weight:600}
.editor{width:100%;min-height:560px;font:13px/1.45 ui-monospace,Consolas,monospace;border:1px solid var(--linha);border-radius:10px;padding:12px;margin-bottom:10px;background:#fbfcfe}
/* tabelas */
.tabela{width:100%;border-collapse:collapse;font-size:13.5px}.tabela th,.tabela td{border-bottom:1px solid var(--linha);padding:9px 10px;text-align:left;vertical-align:top}.tabela th{background:#f7f9fc;font-weight:600;color:var(--fraco);font-size:11px;text-transform:uppercase;letter-spacing:.6px}
.tabela tr:hover td{background:#fafcff}.tabela td.num{text-align:right;font-variant-numeric:tabular-nums}
/* etiquetas */
.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:12px;background:#e5e7eb;font-weight:600;letter-spacing:.3px;vertical-align:middle}
.tag.ok,.tag.OK{background:var(--okf);color:#1d6b3f}.tag.HIPOTESE,.tag.hip{background:var(--hipf);color:#7a5a00}.tag.DUVIDA,.tag.duv{background:var(--duvf);color:#8f2320}.tag.erro,.tag.NAO.ENCONTRADO{background:var(--duvf);color:#8f2320}.tag.criada{background:#e5e7eb}.tag.ia{background:var(--iaf);color:#4a2fa0}
.aviso{background:var(--azulc);border:1px solid #c8dcf2;padding:10px 14px;border-radius:10px;font-size:14px}.aviso.erro{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.aviso.ok{background:var(--okf);border-color:#b7e4c7}
.dica{color:var(--fraco);font-size:13px}.peq{font-size:12px}.vazio{color:var(--fraco);text-align:center;padding:24px 10px}
.vazio-ilustrado{text-align:center;padding:36px 10px;color:var(--fraco)}.vazio-ilustrado .ic{width:56px;height:56px;border-radius:50%;background:var(--azulc);color:var(--azul);display:grid;place-items:center;margin:0 auto 10px}.vazio-ilustrado .ic svg{width:26px;height:26px}
tr.decidida td{background:#f0fdf4}
.arquivos{display:flex;flex-wrap:wrap;gap:8px}.arq{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);border-radius:10px;padding:7px 12px;background:#fff;font-size:13px;color:var(--texto)}.arq:hover{border-color:var(--azul);text-decoration:none;background:var(--azulc)}
.arq .ext{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--navy);color:#fff;letter-spacing:.5px}.arq .ext.csv{background:var(--ok)}.arq .ext.xlsm{background:#217346}.arq .ext.xlsx{background:#217346}
.lista-limpa{list-style:none;padding:0;margin:0}.lista-limpa li{padding:6px 0;border-bottom:1px solid var(--linha)}.lista-limpa li:last-child{border:0}
.passos{counter-reset:p;list-style:none;padding:0;margin:0}.passos li{counter-increment:p;position:relative;padding:6px 0 6px 38px;margin-bottom:4px}.passos li::before{content:counter(p);position:absolute;left:0;top:6px;width:26px;height:26px;border-radius:50%;background:var(--amarelo);color:var(--navy);font-weight:700;display:grid;place-items:center;font-size:13px}
.login-box{max-width:420px;margin:60px auto;text-align:center}.login-box .logo{width:56px;height:56px;font-size:28px;margin:0 auto 12px}
.badge-num{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--duv);color:#fff;font-size:12px;font-weight:700;padding:0 6px;margin-left:6px}
@media (max-width:800px){.duas{grid-template-columns:1fr}.conteudo{padding:16px}.topo-in{padding:10px 16px;gap:12px}.topo nav a{padding:6px 10px}.abas{width:100%}}
.decisao{display:flex;gap:6px;align-items:center}.decisao input{width:90px}.decisao input[name=nota]{width:150px}
/* home */
.topo{background:linear-gradient(120deg,var(--navy) 0%,var(--navy2) 70%,#3a6494 100%)}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;flex-wrap:wrap}.hero .sub{color:var(--fraco);font-size:14px;margin-top:4px;max-width:640px}
.hero-acoes{display:flex;gap:10px;align-items:center}.busca-emp{border:1px solid var(--linha);border-radius:22px;padding:9px 16px;font:inherit;font-size:14px;min-width:240px;background:#fff}
.emp2{padding:0;overflow:hidden}.emp2-cab{display:flex;align-items:center;gap:10px;padding:16px 20px 10px;color:var(--navy)}.emp2-cab:hover{text-decoration:none;background:#f7fafd}.emp2-cab .nome{font-size:20px;font-weight:700;flex:1}.emp2-cab .seta{color:var(--azul);font-size:22px}
.emp2-tags{display:flex;gap:6px;flex-wrap:wrap;padding:0 20px 12px}
.emp2-fn{border-top:1px solid var(--linha)}.emp2-linha{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--linha)}.emp2-linha .icone{width:36px;height:36px;border-radius:10px;background:var(--azulc);color:var(--azul);display:grid;place-items:center;flex-shrink:0}.emp2-linha .icone svg{width:20px;height:20px}
.emp2-linha .txt{flex:1;min-width:0}.emp2-linha .txt b{display:block;font-size:14px;color:var(--navy)}.emp2-linha .txt small{color:var(--fraco);font-size:12px}
.emp2-rodape{padding:10px 20px;font-size:13px;background:#f7fafd;color:var(--fraco)}
.grade{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
/* app shell com menu lateral */
body.shell{display:flex;min-height:100vh}
.lateral{width:250px;flex-shrink:0;background:linear-gradient(180deg,var(--navy) 0%,#1a3350 100%);color:#fff;display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.lateral .marca{padding:4px 8px 18px;color:#fff}.lateral .marca:hover{text-decoration:none}.lateral .m2{color:#bcd0e6}
.menu{display:flex;flex-direction:column;gap:2px}.menu a{display:flex;align-items:center;gap:10px;color:#dfe9f5;padding:9px 12px;border-radius:10px;font-weight:600;font-size:14px}.menu a:hover{background:#ffffff14;text-decoration:none}.menu a.ativa{background:var(--amarelo);color:var(--navy)}
.menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.menu-titulo{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#8fb0d4;padding:18px 12px 6px}
.empresas-menu a{font-weight:400}.empresas-menu .ini{background:#ffffff22;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;min-width:36px;text-align:center}.empresas-menu a.ativa .ini{background:#1f3b5722}.empresas-menu .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lateral-rodape{margin-top:auto;font-size:11px;color:#8fb0d4;padding:14px 12px 0;line-height:1.5}.lateral-rodape a{color:#bcd0e6}
.principal{flex:1;min-width:0;display:flex;flex-direction:column}.principal .conteudo{max-width:1320px;width:100%}
.topo-mobile{display:none}
/* home v3 */
.saud{color:var(--fraco);font-size:14px}
.grid-3{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:16px;margin-bottom:22px}
.secao{font-size:16px;text-transform:uppercase;letter-spacing:.8px;color:var(--navy);margin:0 0 12px}
.tarefa{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:10px 8px;border-radius:10px;color:inherit;border-bottom:1px solid var(--linha)}.tarefa:hover{background:#f7fafd;text-decoration:none}.tarefa b{display:block;font-size:14px}.tarefa small{color:var(--fraco);font-size:12.5px}.tarefa .seta{color:var(--azul);font-size:20px}
.tarefa .pt{width:10px;height:10px;border-radius:50%;background:var(--azul)}.tarefa.duvida .pt{background:var(--duv)}.tarefa.erro .pt{background:var(--duv)}.tarefa.forn .pt{background:var(--hip)}.tarefa.perfil .pt{background:var(--amarelo)}
.ativ{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--linha);color:inherit;border-radius:8px}.ativ:hover{background:#f7fafd;text-decoration:none}.ativ b{display:block;font-size:14px}.ativ small{color:var(--fraco);font-size:12px}.ativ time{color:var(--fraco);font-size:12px;white-space:nowrap}
.num-linha{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--linha)}.num-linha b{font-size:22px;color:var(--navy);min-width:52px}.num-linha span{color:var(--fraco);font-size:13px}
.vazio-ilustrado .ic.ok{background:var(--okf);color:var(--ok)}
.emp2-cab .avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--azul));color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;letter-spacing:.5px}.emp2-cab small{display:block;color:var(--fraco);font-size:12px;font-weight:400}.emp2-cab>div{flex:1}
.emp2-rodape{display:flex;gap:16px}
.como{margin-top:8px}.passos-h{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.passos-h>div{position:relative;padding:0 8px}.passos-h .n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--amarelo);color:var(--navy);font-weight:700;margin-bottom:8px}.passos-h b{display:block;color:var(--navy);margin-bottom:2px}.passos-h small{color:var(--fraco);font-size:13px;line-height:1.4}
@media (max-width:1100px){.grid-3{grid-template-columns:1fr 1fr}.resumo-num{grid-column:1/-1}.passos-h{grid-template-columns:1fr 1fr}}
@media (max-width:800px){body.shell{flex-direction:column}.lateral{display:none}.topo-mobile{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--navy);color:#fff}.topo-mobile .marca{color:#fff}.topo-mobile nav a{color:#fff;margin-left:14px;font-weight:600}.grid-3{grid-template-columns:1fr}.passos-h{grid-template-columns:1fr}}
