/* Portal Acazzia. Azul-marinho e dourado; layout: menu lateral + área de trabalho. */
:root{
  --navy:#0f2437; --navy-2:#17344d; --navy-3:#24496a; --noite:#071627; --noite-2:#0d2238;
  --gold:#d9ad45; --gold-2:#f2c35d; --gold-3:#a87a17;
  --fundo:#f3f5f8; --branco:#fff; --tinta:#15222f; --suave:#5f6e7d; --linha:#e3e7ec; --linha-2:#eef1f4;
  --bom:#14805f; --bom-f:#e5f5ef; --alerta:#a96a0c; --alerta-f:#fdf3e2; --ruim:#bf3b3b; --ruim-f:#fdecec; --info:#2c6496; --info-f:#e9f1f8;
  --serie-1:#1f6bb0; --serie-2:#b07f14;
  --sombra:0 1px 2px rgba(15,36,55,.05),0 8px 22px rgba(15,36,55,.05);
  --fonte:Manrope,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body,#app{height:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font:500 14px/1.45 var(--fonte);font-variant-numeric:tabular-nums}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{text-wrap:balance;letter-spacing:-.02em}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.carregando{display:grid;place-items:center;height:100%;color:var(--suave)}
.espaco{flex:1}

/* ---- Estrutura ---- */
.layout{display:grid;grid-template-columns:262px minmax(0,1fr);height:100%}
.rail .layout{grid-template-columns:72px minmax(0,1fr)}
.lateral{background:var(--navy);color:#dfe7ee;display:flex;flex-direction:column;overflow-y:auto;z-index:30}
.marca{display:flex;align-items:center;gap:11px;padding:16px 16px 18px}
.marca-logo{width:70px;height:46px;background:#fff;border-radius:11px;display:grid;place-items:center;flex:none}
.marca-logo img{width:58px;display:block}
.marca b{display:block;color:#fff;font-size:15px;font-weight:800;letter-spacing:.05em}
.marca span{font-size:10px;letter-spacing:.14em;color:#a9bac9;font-weight:700}
.nav-titulo{font-size:10.5px;letter-spacing:.17em;color:#8ea3b5;font-weight:800;padding:6px 22px 8px}
.nav a{display:flex;align-items:center;gap:13px;margin:2px 10px;padding:11px 12px;border-radius:10px;text-decoration:none;font-weight:600;color:#dbe4ec;white-space:nowrap}
.nav a svg{width:19px;height:19px;flex:none;color:var(--gold)}
.nav a:hover{background:rgba(255,255,255,.07)}
.nav a.ativo{background:var(--gold);color:var(--navy);font-weight:800}
.nav a.ativo svg{color:var(--navy)}
.recolher{margin:auto 10px 12px;padding:9px;border:1px solid rgba(255,255,255,.14);background:none;color:#a9bac9;border-radius:9px;font-size:12px;font-weight:700}
.rail .marca{padding:14px 8px;justify-content:center}
.rail .marca-logo{width:54px;height:38px}.rail .marca-logo img{width:46px}
.rail .marca div:last-child,.rail .nav-titulo,.rail .nav a span,.rail .recolher span{display:none}
.recolher::after{content:"‹"}
.rail .recolher::after{content:"›"}
.rail .nav a{justify-content:center;padding:12px 0}
.area{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}
.topo{height:60px;flex:none;background:#fff;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:14px;padding:0 24px;z-index:20}
.menu-btn{display:none}
.busca{position:relative;flex:1;max-width:520px}
.busca input{width:100%;height:38px;border:1px solid var(--linha);background:var(--fundo);border-radius:9px;padding:0 12px}
.busca-res{position:absolute;top:44px;left:0;right:0;background:#fff;border:1px solid var(--linha);border-radius:11px;box-shadow:0 14px 34px rgba(15,36,55,.16);max-height:380px;overflow:auto;z-index:60}
.busca-res button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 13px}
.busca-res button:hover{background:var(--fundo)}
.busca-res small{display:block;color:var(--suave)}
.topo-dados{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--suave);font-size:13px;white-space:nowrap}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--info-f);color:var(--navy);display:inline-grid;place-items:center;font-size:11px;font-weight:800;flex:none}
.link{background:none;border:0;padding:0;text-decoration:underline;color:var(--suave)}
#vista{flex:1;overflow:auto;min-height:0}
.pagina{padding:24px 28px 44px;max-width:1500px;margin:0 auto}

/* ---- Componentes ---- */
.cabecalho{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sobre{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--gold-3);text-transform:uppercase}
.cabecalho h1{font-size:30px;font-weight:800;color:var(--navy)}
.cabecalho p{color:var(--suave)}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn{height:38px;padding:0 15px;border-radius:9px;border:1px solid var(--linha);background:#fff;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{border-color:#c5ced8}
.btn:disabled{opacity:.55;cursor:wait}
.btn.primario{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.dourado{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:800}
.btn.perigo{background:var(--ruim);border-color:var(--ruim);color:#fff}
.btn.perigo-sutil{color:var(--ruim);border-color:#f0caca}
.btn.ganhar{background:var(--bom);border-color:var(--bom);color:#fff}
.btn.pequeno{height:30px;padding:0 10px;font-size:12.5px}
.icone-btn{width:34px;height:34px;border:0;background:none;border-radius:8px;color:var(--suave);font-size:15px}
.icone-btn:hover{background:var(--fundo)}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:14px;box-shadow:var(--sombra)}
.cartao-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px 12px;flex-wrap:wrap}
.cartao-topo h3{font-size:16px;font-weight:800;color:var(--navy)}
.cartao-topo p{font-size:12.5px;color:var(--suave)}
.cartao-corpo{padding:0 20px 18px}
.grade-kpi{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--linha);border-radius:13px;padding:15px 17px;box-shadow:var(--sombra);text-align:left;min-width:0}
button.kpi:hover{border-color:var(--gold)}
.kpi span{display:block;font-size:12.5px;color:var(--suave);font-weight:600}
.kpi b{display:block;font-size:22px;line-height:1.3;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-top:4px;white-space:nowrap}
.kpi small{color:var(--suave);font-size:11.5px}
.kpi.alerta b{color:var(--ruim)}
.colunas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.colunas.c-3-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.pilula{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:800;white-space:nowrap;background:var(--linha-2);color:var(--suave)}
.pilula.bom{background:var(--bom-f);color:var(--bom)}.pilula.alerta{background:var(--alerta-f);color:var(--alerta)}.pilula.ruim{background:var(--ruim-f);color:var(--ruim)}.pilula.info{background:var(--info-f);color:var(--info)}
.heroi{background:linear-gradient(115deg,var(--navy) 0,var(--navy-2) 62%,var(--navy-3) 100%);border-radius:18px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 32px;margin-bottom:22px}
.heroi small{font-size:11px;font-weight:800;letter-spacing:.14em;color:#b9c7d4}
.heroi h2{font-size:27px;font-weight:800;margin:7px 0 5px}
.heroi h2 em{font-style:normal;color:var(--gold-2)}
.heroi p{color:#cfdae4;max-width:62ch}
.heroi-logo{background:#fff;border-radius:14px;padding:13px 20px;flex:none}
.heroi-logo img{width:130px;display:block}
.tabela-rolagem{overflow-x:auto}
.tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.tabela th{background:#f8f9fb;text-align:left;padding:0;border-bottom:1px solid var(--linha);white-space:nowrap}
.tabela th button{all:unset;display:block;cursor:pointer;padding:10px 13px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.tabela th button:focus-visible{outline:2px solid var(--gold)}
.tabela td{padding:10px 13px;border-bottom:1px solid var(--linha-2);vertical-align:middle}
.tabela .n,.tabela .n button{text-align:right}
.tabela tr.clicavel{cursor:pointer}
.tabela tr.clicavel:hover td{background:#fafbfc}
.vazio{padding:30px 18px;text-align:center;color:var(--suave)}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filtros input,.filtros select{height:36px;border:1px solid var(--linha);background:#fff;border-radius:8px;padding:0 9px;font-size:13px;max-width:190px}
.abas{display:flex;gap:2px;border-bottom:1px solid var(--linha);margin-bottom:16px;overflow-x:auto}
.abas button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 15px;font-weight:700;color:var(--suave);white-space:nowrap}
.abas button.ativo{color:var(--navy);border-color:var(--gold)}
.lista-agenda{list-style:none;margin:0;padding:0}
.lista-agenda li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--linha-2);cursor:pointer}
.lista-agenda li:first-child{border-top:0}
.lista-agenda div{flex:1;min-width:0}
.lista-agenda small{display:block;color:var(--suave)}
.linha-valor{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--linha-2)}
.linha-valor:first-child{border-top:0}
.linha-valor b{font-weight:800;color:var(--navy)}

/* ---- Modais e formulários ---- */
.modal-fundo{position:fixed;inset:0;background:rgba(7,22,39,.55);display:flex;justify-content:center;align-items:flex-start;padding:30px 14px;overflow:auto;z-index:100}
.modal{background:#fff;border-radius:15px;width:100%;box-shadow:0 24px 70px rgba(7,22,39,.35)}
.modal-topo{display:flex;justify-content:space-between;gap:10px;padding:18px 22px 12px;border-bottom:1px solid var(--linha-2)}
.modal-topo h3{font-size:18px;font-weight:800;color:var(--navy)}
.modal-topo p{font-size:12.5px;color:var(--suave)}
.modal-corpo{padding:18px 22px}
.modal-rodape{display:flex;gap:8px;justify-content:flex-end;padding:13px 22px;border-top:1px solid var(--linha-2)}
.confirma{white-space:pre-line}
.form-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo.dois{grid-column:span 2}
.campo label{font-size:12.5px;font-weight:700;color:#37475a}
.campo em{color:var(--ruim);font-style:normal;margin-left:2px}
.campo input,.campo select,.campo textarea{border:1px solid #d3dae2;border-radius:8px;padding:8px 10px;background:#fff;width:100%;min-height:38px}
.campo small{color:var(--suave);font-size:11.5px}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-color:var(--ruim)}
.erro-campo{color:var(--ruim);font-size:11.5px;font-weight:700}
.calculado{font-weight:800;font-size:17px;color:var(--navy);min-height:38px;display:flex;align-items:center}
.form-sec{grid-column:1/-1;margin:6px 0 -2px;padding-top:12px;border-top:1px solid var(--linha-2);font-size:13px;font-weight:800;color:var(--navy)}
.campo input[type=file]{padding:6px;font-size:12.5px}
.anexo-atual{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:2px}
.anexo-atual a,.anexo-link{color:var(--info);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
small.sob{display:block;color:var(--suave);font-size:11.5px}
.chips-sel{display:flex;flex-wrap:wrap;gap:6px}
.chip-opcao input{position:absolute;opacity:0}
.chip-opcao span{display:block;padding:6px 11px;border:1px solid #d3dae2;border-radius:99px;font-size:12.5px;font-weight:700;cursor:pointer}
.chip-opcao input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.chip-opcao input:focus-visible+span{outline:2px solid var(--gold)}
.aviso{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);background:var(--navy);color:#fff;padding:11px 18px;border-radius:10px;font-weight:700;opacity:0;pointer-events:none;transition:.2s;z-index:300;max-width:90vw}
.aviso.mostrar{opacity:1;transform:translate(-50%,0)}
.aviso.erro{background:var(--ruim)}
.tip{position:fixed;background:#fff;color:var(--tinta);border:1px solid var(--linha);border-radius:9px;padding:9px 12px;font-size:12.5px;box-shadow:0 12px 30px rgba(7,22,39,.3);pointer-events:none;opacity:0;z-index:400;max-width:280px}
.tip.mostrar{opacity:1}
.tip b{color:var(--navy);display:block}

/* ---- Login ---- */
.login{min-height:100%;display:grid;place-items:center;background:radial-gradient(1000px 600px at 75% -10%,#17385a 0,transparent 70%),var(--noite);padding:20px}
.login form{background:#fff;border-radius:18px;padding:30px;width:100%;max-width:390px;display:grid;gap:13px}
.login img{width:150px;justify-self:center}
.login h1{font-size:20px;font-weight:800;text-align:center;color:var(--navy)}
.login .msg{color:var(--ruim);font-size:13px;font-weight:700;min-height:18px}

/* ---- Visão Diretoria ---- */
.dir{background:radial-gradient(1200px 700px at 72% 40%,#12304d 0,transparent 72%),var(--noite);color:#f2f5f8;min-height:100%;padding:26px 34px 22px}
.dir.cheia{position:fixed;inset:0;z-index:90;overflow:auto}
.dir-topo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dir-sobre{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--gold-2)}
.dir h1{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.15}
.dir-botoes{display:flex;gap:8px;align-items:center}
.dir-botoes button{height:32px;padding:0 13px;border-radius:99px;border:1px solid rgba(255,255,255,.3);background:none;color:#fff;font-weight:700;font-size:13px}
.dir-botoes button.ouro{background:var(--gold-2);border-color:var(--gold-2);color:var(--navy);padding:0 15px}
.dir-botoes img{width:100px;margin-left:16px}
.dir-numeros{display:flex;flex-wrap:wrap;margin:6px 0 14px}
.dir-numeros>div{padding-right:74px;margin-right:74px;border-right:1px solid rgba(255,255,255,.1)}
.dir-numeros>div:last-child{border:0;margin:0;padding:0}
.dir-num{font-size:84px;line-height:1.08;font-weight:800;letter-spacing:-.035em;white-space:nowrap}
.dir-num small{font-size:36px;font-weight:600;color:#aab8c6;letter-spacing:-.02em}
.dir-rot{font-size:12px;font-weight:700;letter-spacing:.13em;color:#aab8c6}
.dir-barra{display:flex;gap:3px;height:11px;margin-bottom:12px}
.dir-barra i{display:block;border-radius:99px;min-width:12px}
.cor-fechado{background:#2fa883}.cor-contrato{background:#5478d4}.cor-mesa{background:#c8972f}
.dir-legenda{display:flex;flex-wrap:wrap;gap:12px 92px;margin-bottom:20px}
.dir-legenda h4{font-size:12px;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;gap:7px}
.dir-legenda h4 i{width:10px;height:10px;border-radius:3px}
.dir-legenda b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.mes{font-size:.62em;font-weight:600;color:#aab8c6;letter-spacing:0}
.dir-legenda small{color:#a5b4c3;font-size:13px}
.dir-grade{display:grid;grid-template-columns:minmax(290px,.84fr) minmax(0,3fr);gap:20px}
.dir-sec{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:12px;align-items:center;min-height:18px}
.dir-sec span{font-weight:500;letter-spacing:0;color:#a5b4c3}
.dir-sec h4{font-size:12px;display:flex;align-items:center;gap:7px}.dir-sec h4 i{width:10px;height:10px;border-radius:3px}
.dir-cards{display:flex;flex-direction:column;gap:20px;max-height:462px;overflow-y:auto}
.dir-card{border-radius:16px;padding:20px 21px;border:1px solid rgba(47,168,131,.55);background:linear-gradient(120deg,#0d3b3d,#0b2a3a);cursor:pointer;display:block;width:100%;text-align:left;color:inherit;flex:1}
.dir-card.contrato{border-color:rgba(84,120,212,.55);background:linear-gradient(120deg,#17305a,#10233f)}
.dir-card header{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.1em;color:#fff}
.dir-card header span:last-child{font-weight:600;letter-spacing:0;color:#a5b4c3;font-size:13px}
.dir-card h3{font-size:27px;font-weight:800;margin-top:7px}
.dir-card .v{font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.dir-card p{font-size:14.5px;color:#dbe4ec}
.dir-card footer{border-top:1px dashed rgba(255,255,255,.22);margin-top:18px;padding-top:11px;font-size:13px;color:#dbe4ec}
.dir-paineis{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(330px,1fr);gap:20px;overflow-x:auto}
.dir-painel{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px 21px 16px;background:rgba(16,38,62,.7);display:flex;flex-direction:column;min-height:462px}
.dir-painel header{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.dir-painel h5{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.12em}
.dir-painel .v{font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.dir-painel header small{color:#a5b4c3;font-size:13px}
.dir-barras{flex:1;display:flex;gap:6px;align-items:stretch;overflow-x:auto;margin-top:10px}
.dir-col{flex:1 0 96px;background:none;border:0;color:inherit;padding:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;cursor:pointer;min-width:96px}
.dir-col .val{font-size:15px;font-weight:800;white-space:nowrap;margin-bottom:5px}
.dir-col i{display:block;width:53px;max-width:60%;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#e2b34a,#8a6519);min-height:4px}
.dir-col:hover i{background:linear-gradient(180deg,#f7cd6d,#a57b22)}
.dir-rotulos{display:flex;gap:6px;border-top:1px solid rgba(255,255,255,.16);padding-top:10px}
.dir-eixo{display:flex;flex-direction:column;min-height:0;flex:1;overflow-x:auto}
.dir-eixo .dir-barras{margin-top:10px;overflow:visible}
.dir-rot-col{flex:1 0 96px;min-width:96px;text-align:center}
.dir-rot-col b{display:block;font-size:15px;font-weight:800}
.dir-rot-col span{display:block;font-size:12.5px;font-weight:700;color:#dbe4ec}
.dir-rot-col small{color:#a5b4c3;font-size:12.5px}
.dir-rodape{color:#a5b4c3;font-size:13px;margin-top:14px}
.dir-tabela{background:rgba(16,38,62,.7);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden}
.dir-tabela .tabela th{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.dir-tabela .tabela th button{color:#c9d5e0}
.dir-tabela .tabela td{border-color:rgba(255,255,255,.07)}
.dir-tabela .tabela tr.clicavel:hover td{background:rgba(255,255,255,.05)}

/* Comparação, período e negócios parados */
.dir-periodo{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#c9d5e0;margin-right:6px}
.dir-botoes select{height:32px;border-radius:99px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:700;font-size:13px;padding:0 8px}
.dir-botoes{flex-wrap:wrap}
.dir-botoes input[type=month]{height:32px;border-radius:99px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:700;font-size:13px;padding:0 10px;color-scheme:dark}
.dir-abas{display:flex;border:1px solid rgba(255,255,255,.3);border-radius:99px;overflow:hidden;margin-right:6px}
.dir-botoes .dir-abas button{border:0;border-radius:0;height:30px}
.dir-botoes .dir-abas button.ativo{background:#fff;color:var(--navy)}
.area-fin{display:flex;border:1px solid var(--navy);border-radius:10px;overflow:hidden}
.area-fin button{border:0;background:#fff;height:40px;padding:0 22px;font-weight:800;color:var(--navy)}
.area-fin button.ativo{background:var(--navy);color:var(--gold-2)}
.scp-inativa{color:var(--suave);background:#fafbfc;font-weight:600;text-align:center;padding:16px!important}
.dre-nota{color:var(--alerta);background:var(--alerta-f);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;margin-bottom:12px}
.tabela.dre .dre-grupo td{font-weight:800;color:var(--navy)}
.tabela.dre .dre-item td:first-child{padding-left:30px}
.tabela.dre .dre-total td{font-weight:800;background:#eef1f4;color:var(--navy)}
.tabela.dre .dre-resultado td{font-weight:800;background:#f5e7c4;color:var(--navy);font-size:15px}
.dir-botoes select option{color:#15222f}
.dir-meio{display:flex;flex-wrap:wrap;gap:16px 56px;align-items:flex-start;margin-bottom:20px}
.dir-meio .dir-legenda{margin-bottom:0}
.dir-mudou{flex:1 1 400px;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:11px 15px;background:rgba(16,38,62,.6);font-size:13px}
.dir-mudou h4{font-size:11.5px;font-weight:800;letter-spacing:.12em;margin-bottom:6px}
.dir-mudou p{color:#a5b4c3}
.dir-deltas{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:7px}
.dir-deltas span{color:#a5b4c3;margin-right:6px}
.dir-deltas b,.dir-movs i{font-style:normal;font-weight:800}
.sobe{color:#58d2a8}.desce{color:#ff9a8f}.igual{color:#a5b4c3;font-weight:600!important}
.dir-movs{display:flex;flex-wrap:wrap;gap:5px;align-items:center;color:#a5b4c3}
.dir-movs button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#e7edf3;border-radius:99px;padding:3px 10px;font-size:12.5px;font-weight:600}
.dir-alerta{display:inline-block;margin-top:7px;border:1px solid rgba(242,195,93,.55);background:rgba(242,195,93,.1);color:var(--gold-2);border-radius:99px;padding:3px 11px;font-size:12.5px;font-weight:700}
.dir-parado{display:inline;color:var(--gold-2)!important;font-weight:700}
small.dir-parado{display:block}
.parado-tag{background:var(--alerta-f);color:var(--alerta);border:1px solid #efd19b;border-radius:99px;font-size:10.5px;font-weight:800;padding:0 6px;white-space:nowrap}
.negocio.parado{background:#fff9ec;border-color:#efd9a8}
.negocio{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.fantasma-area{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:120}
.fantasma{position:absolute;margin:0;opacity:.94;transform:rotate(2deg);box-shadow:0 14px 34px rgba(15,36,55,.32)}
.dica-toque{display:none;color:var(--suave);font-size:12px}
@media (hover:none){.dica-toque{display:inline}}

/* ---- Funil de leads ---- */
.leads{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}
.leads-barra{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.vistas{display:flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.vistas button{border:0;background:#fff;height:36px;padding:0 13px;font-weight:700;font-size:13px;color:var(--suave);border-right:1px solid var(--linha)}
.vistas button:last-child{border:0}
.vistas button.ativo{background:var(--navy);color:#fff}
.total-funil{margin-left:auto;font-weight:800;color:var(--navy);white-space:nowrap}
.total-funil span{font-weight:500;color:var(--suave)}
.leads-filtros{display:flex;gap:7px;padding:9px 18px;border-bottom:1px solid var(--linha);flex-wrap:wrap;background:#fafbfc;align-items:center}
.leads-filtros input,.leads-filtros select{height:32px;border:1px solid var(--linha);background:#fff;border-radius:7px;padding:0 7px;font-size:12.5px;max-width:150px}
.leads-filtros label{font-size:12px;color:var(--suave);display:flex;gap:4px;align-items:center}
.quadro{flex:1;display:flex;min-height:0;overflow-x:auto;background:#f4f5f7}
.coluna{flex:1 0 236px;max-width:320px;display:flex;flex-direction:column;border-right:1px solid #e4e7eb;min-height:0}
.coluna-topo{background:#fff;padding:10px 22px 9px 13px;border-bottom:1px solid var(--linha);position:relative}
.coluna-topo::after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:13px;background:#f4f5f7;clip-path:polygon(100% 0,100% 100%,0 50%,0 50%);display:none}
.coluna-topo h3{font-size:14px;font-weight:800;color:var(--navy);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coluna-topo p{font-size:12px;color:var(--suave)}
.coluna-cards{flex:1;overflow-y:auto;padding:7px;display:flex;flex-direction:column;gap:7px;transition:background .12s}
.coluna.alvo .coluna-cards{background:#fbf3dd}
.negocio{background:#fff;border:1px solid #e3e6ea;border-radius:7px;padding:9px 10px;box-shadow:0 1px 2px rgba(15,36,55,.08);cursor:pointer;text-align:left;position:relative}
.negocio:hover{border-color:#bfc8d2}
.negocio.vencida{background:#fdeeee;border-color:#f3cdcd}
.negocio.ganho{background:#e8f6ef}
.negocio.arrastado{opacity:.4}
.prio{display:flex;gap:3px;margin-bottom:6px}
.prio i{width:26px;height:4px;border-radius:9px}
.prio.alta i{background:#d0483f}.prio.media i{background:#e0a92f}.prio.baixa i{background:#5478d4}
.negocio h4{font-size:13.5px;font-weight:800;color:var(--navy);line-height:1.25;padding-right:4px}
.negocio p{font-size:12px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.negocio-rod{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:12.5px;font-weight:700}
.negocio-rod .avatar{width:21px;height:21px;font-size:9px}
.atraso{background:var(--ruim);color:#fff;border-radius:99px;font-size:10.5px;font-weight:800;padding:1px 6px}
.ativ{margin-left:auto;width:22px;height:22px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;padding:0;flex:none}
.ativ svg{width:13px;height:13px}
.ativ.hoje{background:#14805f}.ativ.futura{background:#8b96a3}.ativ.vencida{background:var(--ruim)}
.ativ.nenhuma{background:none;color:#d6941b;width:24px}.ativ.nenhuma svg{width:20px;height:20px}
.pop{position:fixed;width:290px;background:#fff;border:1px solid var(--linha);border-radius:9px;box-shadow:0 14px 36px rgba(15,36,55,.24);z-index:95}
.pop-item{display:flex;gap:9px;padding:10px 12px;border-bottom:1px solid var(--linha-2);align-items:flex-start}
.pop-item input{width:16px;height:16px;margin-top:2px;accent-color:var(--bom)}
.pop-item small{display:block;color:var(--suave)}
.pop-item.vencida small{color:var(--ruim);font-weight:700}
.pop-vazio{padding:12px;color:var(--suave);font-size:13px;border-bottom:1px solid var(--linha-2)}
.pop-add{display:block;width:100%;border:0;background:none;padding:11px 12px;text-align:left;font-weight:700;color:var(--navy)}
.pop-add:hover{background:var(--fundo)}
.fechos{position:fixed;left:0;right:0;bottom:0;display:none;gap:0;z-index:80;height:66px}
.arrastando .fechos{display:flex}
.fecho{flex:1;display:grid;place-items:center;font-weight:800;letter-spacing:.09em;color:#fff;background:#14805f}
.fecho.perdido{background:var(--ruim)}
.fecho.alvo{filter:brightness(1.22)}
.pagina-leads{padding:18px;overflow:auto;flex:1;min-height:0}
.funil-vis{display:flex;flex-direction:column;gap:6px}
.funil-lin{display:grid;grid-template-columns:190px 1fr 130px;gap:10px;align-items:center;font-size:13px}
.funil-lin .faixa{background:var(--linha-2);border-radius:5px;height:24px;position:relative}
.funil-lin i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--serie-1);min-width:3px}
.funil-lin.clicavel{width:100%;border:0;background:none;padding:2px 4px;margin:0 -4px;box-sizing:content-box;text-align:left;border-radius:6px;cursor:pointer}
.funil-lin.clicavel:hover{background:#f6f3e8}
.funil-seta{display:inline-block;width:14px;font-style:normal;color:var(--gold-3)}
.funil-empresas{display:flex;flex-direction:column;border-left:2px solid var(--gold);margin:0 0 6px 6px;padding-left:8px}
.funil-empresas button{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--linha-2);background:none;padding:7px 8px;text-align:left;font-size:13px}
.funil-empresas button:last-child{border-bottom:0}
.funil-empresas button:hover{background:var(--fundo)}
.funil-empresas b{color:var(--navy);font-weight:800}
.funil-empresas small{display:block;color:var(--suave);font-size:11.5px}
.funil-empresas strong{font-weight:800;white-space:nowrap;color:var(--navy)}
.funil-lin .q{text-align:right;font-weight:700;white-space:nowrap}
.matriz{width:100%;border-collapse:separate;border-spacing:3px;font-size:13px}
.matriz th{font-size:11.5px;color:var(--suave);font-weight:800;text-align:left;padding:4px}
.matriz td{padding:9px;border-radius:7px;text-align:center;font-weight:800;color:var(--navy)}
.matriz td small{display:block;font-weight:600;font-size:11px}

.tipo-legenda{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tipo-legenda button{display:flex;align-items:center;gap:6px;border:1px solid var(--linha);background:#fff;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--suave)}
.tipo-legenda b{color:var(--navy)}
.tipo-legenda i{width:9px;height:9px;border-radius:50%}
.p-alta{background:#d0483f;color:#fff}.p-media{background:#e0a92f;color:var(--navy)}.p-baixa{background:#5478d4;color:#fff}.p-sem{background:#aab4bf;color:var(--navy)}
.tipo-lin{display:grid;grid-template-columns:130px minmax(0,1fr) 100px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--linha-2)}
.tipo-lin.total{border-top:2px solid var(--linha)}
.tipo-nome{border:0;background:none;padding:0;text-align:left;font-weight:800;color:var(--navy);font-size:13px}
.tipo-nome.apagado{color:var(--suave);font-weight:600}
.tipo-barra{display:flex;gap:2px;height:28px}
.tipo-barra button{border:0;border-radius:5px;font-size:11.5px;font-weight:800;min-width:24px;padding:0}
.tipo-barra button:hover{filter:brightness(1.08)}
.tipo-vazio{flex:1;display:grid;place-items:center;border:1px dashed var(--linha);border-radius:5px;font-size:11.5px;color:var(--suave)}
.tipo-tot{text-align:right;font-size:11.5px;color:var(--suave);line-height:1.25}
.tipo-tot b{display:block;font-size:15px;color:var(--navy)}
.seg-rapido{height:30px;border:1px solid var(--linha);border-radius:7px;background:#fff;padding:0 5px;font-size:12.5px;max-width:130px}
.link-whats{font-size:12px;font-weight:700;color:var(--bom)}

/* ---- Detalhe do negócio ---- */
.det-topo{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.det-topo h2{font-size:23px;font-weight:800;color:var(--navy)}
.det-valor{font-size:15px;font-weight:800;color:var(--navy)}
.setas{display:flex;margin-bottom:16px;overflow-x:auto;gap:2px}
.setas button{flex:1;min-width:82px;height:28px;border:0;background:#dfe4ea;color:var(--suave);font-size:10.5px;font-weight:800;white-space:nowrap;padding:0 13px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%);overflow:hidden;text-overflow:ellipsis}
.setas button.feito{background:#14805f;color:#fff}
.setas button.atual{background:var(--gold);color:var(--navy)}
.det-grade{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}
.det-bloco{border:1px solid var(--linha);border-radius:11px;padding:13px 15px;margin-bottom:12px}
.det-bloco h4{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.dado{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}
.dado span{color:var(--suave);flex:none}
.dado b{font-weight:700;text-align:right;overflow-wrap:anywhere}
.contato-it{padding:7px 0;border-top:1px solid var(--linha-2);font-size:13px;display:flex;justify-content:space-between;gap:6px}
.contato-it:first-of-type{border:0}
.contato-it small{display:block;color:var(--suave)}
.composer{border:1px solid var(--linha);border-radius:11px;margin-bottom:14px}
.composer-tipos{display:flex;gap:2px;padding:5px 7px 0;border-bottom:1px solid var(--linha);overflow-x:auto}
.composer-tipos button{border:0;background:none;padding:7px 10px;font-size:12.5px;font-weight:700;color:var(--suave);border-bottom:2px solid transparent;white-space:nowrap}
.composer-tipos button.ativo{color:var(--navy);border-color:var(--gold)}
.composer textarea{width:100%;border:0;padding:11px 13px;resize:vertical;min-height:64px;display:block;border-radius:0}
.composer-pe{display:flex;gap:7px;padding:8px 10px;border-top:1px solid var(--linha-2);flex-wrap:wrap;align-items:center}
.composer-pe select,.composer-pe input{height:32px;border:1px solid var(--linha);border-radius:7px;padding:0 7px;font-size:12.5px;background:#fff}
.linha-tempo{list-style:none;margin:0;padding:0 0 0 7px}
.linha-tempo li{position:relative;padding:0 0 13px 21px;border-left:2px solid var(--linha)}
.linha-tempo li:last-child{border-color:transparent}
.linha-tempo li::before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--navy)}
.linha-tempo li.agendada::before{background:#fff;border:2px solid var(--gold-3)}
.linha-tempo li.vencida::before{background:var(--ruim)}
.linha-tempo header{display:flex;gap:7px;font-size:12px;color:var(--suave);align-items:center;flex-wrap:wrap}
.linha-tempo b{color:var(--navy)}
.linha-tempo p{margin-top:2px;font-size:13.5px;white-space:pre-wrap}

/* ---- Implantações ---- */
.progresso{height:7px;background:var(--linha-2);border-radius:9px;overflow:hidden;min-width:70px}
.progresso i{display:block;height:100%;background:var(--gold-3)}
.gantt{overflow-x:auto;font-size:12.5px}
.gantt-int{min-width:760px}
.gantt-cab,.gantt-lin{display:grid;grid-template-columns:230px 1fr;align-items:center}
.gantt-meses{position:relative;height:24px;border-bottom:1px solid var(--linha)}
.gantt-meses span{position:absolute;top:3px;font-size:11px;font-weight:800;color:var(--suave);border-left:1px solid var(--linha);padding-left:4px;white-space:nowrap}
.gantt-lin{border-bottom:1px solid var(--linha-2);min-height:38px}
.gantt-nome{padding:4px 10px 4px 0;overflow:hidden}
.gantt-nome b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-nome small{color:var(--suave)}
.gantt-trilho{position:relative;height:30px}
.gantt-trilho i{position:absolute;border-radius:4px;height:9px;min-width:4px}
.gantt-trilho .prev{top:5px;background:var(--serie-1)}
.gantt-trilho .real{top:16px;background:var(--serie-2)}
.gantt-trilho .agora{top:0;bottom:0;height:auto;width:2px;min-width:2px;background:var(--ruim);border-radius:0}
.gantt-grupo{font-weight:800;color:var(--navy);padding:9px 0 4px;border-bottom:1px solid var(--linha)}
.legenda{display:flex;gap:15px;font-size:12px;color:var(--suave);flex-wrap:wrap}
.legenda span{display:flex;align-items:center;gap:5px}
.legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* ---- Gráficos ---- */
.grafico svg{display:block;width:100%;height:auto}
.grafico text{font:600 11px var(--fonte);fill:var(--suave)}
.grafico .rot{fill:var(--tinta);font-weight:800}
.grafico .alvo:hover,.grafico .alvo:focus{opacity:.82}

/* ---- Importação ---- */
.soltar{border:2px dashed #c6d0da;border-radius:13px;padding:34px;text-align:center;background:#fafbfc}
.soltar.sobre-area{border-color:var(--gold);background:#fbf3dd;}
.soltar strong{display:block;font-size:16px;color:var(--navy)}
.mapa{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;margin-bottom:14px}
.prev-ok td:first-child{border-left:3px solid var(--bom)}
.prev-av td:first-child{border-left:3px solid var(--gold)}
.prev-erro td:first-child{border-left:3px solid var(--ruim)}
.prev-erro td{background:#fff6f6}

/* ---- Responsivo ---- */
@media (max-width:1180px){
  .dir-num{font-size:60px}.dir-num small{font-size:26px}
  .dir-numeros>div{padding-right:36px;margin-right:36px}
  .dir-grade{grid-template-columns:1fr}.dir-cards{flex-direction:row;max-height:none;overflow-x:auto}.dir-card{min-width:290px}
  .det-grade{grid-template-columns:1fr}
}
@media (max-width:860px){
  .layout,.rail .layout{grid-template-columns:minmax(0,1fr)}
  .lateral{position:fixed;left:-280px;top:0;bottom:0;width:262px;transition:left .2s}
  .menu-aberto .lateral{left:0;box-shadow:0 0 60px rgba(0,0,0,.4)}
  .rail .marca div:last-child,.rail .nav-titulo,.rail .nav a span{display:block}
  .rail .nav a{justify-content:flex-start;padding:11px 12px}
  .recolher{display:none}
  .menu-btn{display:grid}
  .topo{padding:0 12px}.topo-dados .data,.topo-dados .email{display:none}
  .pagina{padding:16px 14px 36px}
  .colunas,.colunas.c-3-2{grid-template-columns:minmax(0,1fr)}
  .heroi{padding:20px}.heroi-logo{display:none}
  .dir{padding:18px 14px}.dir h1{font-size:30px}
  .dir-num{font-size:44px}.dir-num small{font-size:20px}
  .dir-numeros{gap:14px}.dir-numeros>div{border:0;padding:0;margin:0}
  .dir-botoes img{display:none}
  .dir-legenda{gap:12px 30px}
  .dir-paineis{grid-auto-flow:row;grid-auto-columns:auto}
  .dir-painel{min-height:390px}
  .form-grade{grid-template-columns:minmax(0,1fr)}.campo.dois{grid-column:auto}
  .funil-lin{grid-template-columns:110px 1fr 86px}
  .coluna{flex:0 0 78vw;max-width:290px}
  .leads-filtros{flex-wrap:nowrap;overflow-x:auto}.leads-filtros>*{flex:none}
  .leads-barra .total-funil{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
