936 lines
62 KiB
HTML
936 lines
62 KiB
HTML
{% load static %}
|
||
<!DOCTYPE html>
|
||
<html lang="pt-BR" data-theme="dark">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>P.I.D. — Relatório Contábil</title>
|
||
<link rel="icon" type="image/svg+xml" href="{% static 'img/pid-icone-escuro.svg' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/tokens.css' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/base.css' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/layout.css' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/components.css' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/perfis-acesso.css' %}" />
|
||
<link rel="stylesheet" href="{% static 'css/dashboard-contabil.css' %}" />
|
||
<script src="{% static 'js/theme.js' %}" defer></script>
|
||
</head>
|
||
<body>
|
||
<div class="app-shell" id="app-shell">
|
||
<aside class="sidebar">
|
||
<a class="sidebar__brand" href="portal.html" id="sidebar-brand-link" aria-label="Ir para a tela Principal">
|
||
<svg class="sidebar__logo sidebar__logo--full" viewBox="0 0 300 80" aria-hidden="true" focusable="false">
|
||
<g transform="translate(8,8) scale(1)">
|
||
<path d="M10 4 h34 l14 14 v40 a2 2 0 0 1 -2 2 H8 a2 2 0 0 1 -2 -2 V6 a2 2 0 0 1 2 -2 z" fill="#7B5BA8"></path>
|
||
<rect x="22" y="4" width="20" height="16" fill="#C6A24A"></rect>
|
||
<rect x="34" y="7" width="5" height="10" fill="#7B5BA8"></rect>
|
||
<rect x="12" y="26" width="40" height="30" rx="2" fill="#241C33"></rect>
|
||
<g class="pid-icon-eye">
|
||
<circle cx="24" cy="38" r="5" fill="#F2EDE3"></circle>
|
||
<circle cx="26" cy="36.2" r="1.6" fill="#241C33"></circle>
|
||
</g>
|
||
<g class="pid-icon-eye">
|
||
<circle cx="40" cy="38" r="5" fill="#F2EDE3"></circle>
|
||
<circle cx="42" cy="36.2" r="1.6" fill="#241C33"></circle>
|
||
</g>
|
||
<path d="M25 47 q7 6 14 0" stroke="#C6A24A" stroke-width="3" fill="none" stroke-linecap="round"></path>
|
||
</g>
|
||
<text x="86" y="42" font-family="'Space Grotesk',Helvetica,Arial,sans-serif" font-size="34" font-weight="700" letter-spacing="1.4" fill="#F2EDE3">P.I.D.</text>
|
||
<text x="88" y="61" font-family="'DM Mono',ui-monospace,monospace" font-size="9.5" letter-spacing="2.6" fill="#C6A24A">PORTAL INTERNO DA DE PAULA</text>
|
||
</svg>
|
||
<svg class="sidebar__logo sidebar__logo--icon" viewBox="0 0 64 64" aria-hidden="true" focusable="false">
|
||
<path d="M10 4 h34 l14 14 v40 a2 2 0 0 1 -2 2 H8 a2 2 0 0 1 -2 -2 V6 a2 2 0 0 1 2 -2 z" fill="#7B5BA8"></path>
|
||
<rect x="22" y="4" width="20" height="16" fill="#C6A24A"></rect>
|
||
<rect x="34" y="7" width="5" height="10" fill="#7B5BA8"></rect>
|
||
<rect x="12" y="26" width="40" height="30" rx="2" fill="#241C33"></rect>
|
||
<g class="pid-icon-eye">
|
||
<circle cx="24" cy="38" r="5" fill="#F2EDE3"></circle>
|
||
<circle cx="26" cy="36.2" r="1.6" fill="#241C33"></circle>
|
||
</g>
|
||
<g class="pid-icon-eye">
|
||
<circle cx="40" cy="38" r="5" fill="#F2EDE3"></circle>
|
||
<circle cx="42" cy="36.2" r="1.6" fill="#241C33"></circle>
|
||
</g>
|
||
<path d="M25 47 q7 6 14 0" stroke="#C6A24A" stroke-width="3" fill="none" stroke-linecap="round"></path>
|
||
</svg>
|
||
</a>
|
||
|
||
<nav class="sidebar__nav">
|
||
<ul class="nav-list">
|
||
<li data-section="principal">
|
||
<a href="portal.html" class="nav-item">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Principal</span>
|
||
</a>
|
||
</li>
|
||
<li data-section="ramais">
|
||
<a href="ramais.html" class="nav-item">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4c0 9 7 16 16 16l3-4-6-3-2 2c-3-1.5-5-3.5-6-6l2-2-3-6z" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Ramais</span>
|
||
</a>
|
||
</li>
|
||
<li data-section="calendario">
|
||
<a href="#" class="nav-item" id="calendario-depaula-btn">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18M8 3v4M16 3v4" stroke-linecap="round"/></svg>
|
||
<span class="nav-item__label">Calendário De Paula</span>
|
||
</a>
|
||
</li>
|
||
<li data-section="calendario-individual">
|
||
<a href="calendario-individual.html" class="nav-item">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18M8 3v4M16 3v4" stroke-linecap="round"/><path d="M9 15l2 2 4-4" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Calendário Individual</span>
|
||
</a>
|
||
</li>
|
||
|
||
<li data-section="portais" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg>
|
||
<span class="nav-item__label">Portais</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="portal-do-cliente"><a href="#" class="nav-subitem">Portal do Cliente</a></li>
|
||
<li data-app="portal-fiscal"><a href="#" class="nav-subitem">Portal Fiscal</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="geradoc" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 3h9l3 3v15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/><path d="M14 3v4h4" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Geradoc</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="simulacao-custo-contratacao"><a href="custo-contratacao.html" class="nav-subitem">Simulação de Custo de Contratação</a></li>
|
||
<li data-app="indicador-desempenho"><a href="indicador-desempenho.html" class="nav-subitem">Indicador de Desempenho</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="relatorios" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 20V10M12 20V4M20 20v-7" stroke-linecap="round"/></svg>
|
||
<span class="nav-item__label">Relatórios</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="indicadores"><a href="#" class="nav-subitem">Indicadores</a></li>
|
||
<li class="nav-subgroup" data-subgroup="qualidade">
|
||
<button type="button" class="nav-subitem nav-subgroup__toggle" data-subgroup-toggle>
|
||
<span>Qualidade</span>
|
||
<svg class="nav-item__chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-subgroup__list">
|
||
<li data-app="nao-conformidades">
|
||
<a href="nao-conformidades.html" class="nav-subitem nav-subitem--tool">
|
||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2h9l3 3v15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"/><path d="M14 2v4h4" stroke-linejoin="round"/></svg>
|
||
Não Conformidades
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-subgroup" data-subgroup="contabilidade">
|
||
<button type="button" class="nav-subitem nav-subgroup__toggle" data-subgroup-toggle>
|
||
<span>Contabilidade</span>
|
||
<svg class="nav-item__chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-subgroup__list">
|
||
<li data-app="dashboard-contabil">
|
||
<a href="dashboard-contabil.html" class="nav-subitem nav-subitem--tool is-active">
|
||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2h9l3 3v15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"/><path d="M14 2v4h4" stroke-linejoin="round"/></svg>
|
||
Relatório Contábil
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="diretoria" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Diretoria</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="dashboard-contabil-de-paula"><a href="dashboard-contabil-de-paula.html" class="nav-subitem">Relatório Contábil - De Paula</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="relatorios-gerenciais" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 3v18h18M7 15l4-5 3 3 5-7" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Relatórios Gerenciais</span>
|
||
<span class="badge-restricted" data-restricted-badge hidden>Restrito</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="visao-diretoria"><a href="#" class="nav-subitem">Visão Diretoria</a></li>
|
||
<li data-app="visao-gerencial"><a href="#" class="nav-subitem">Visão Gerencial</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="utilitarios" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 7l3 3-8 8-4 1 1-4z" stroke-linejoin="round"/><path d="M12 9l3 3" stroke-linecap="round"/></svg>
|
||
<span class="nav-item__label">Utilitários</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="importacao-plano-saude"><a href="importacao-plano-saude.html" class="nav-subitem">Importação de Plano de Saúde</a></li>
|
||
<li data-app="importacao-plano-saude-de-paula"><a href="importacao-plano-saude-de-paula.html" class="nav-subitem">Importação de Plano de Saúde - De Paula</a></li>
|
||
<li data-app="conciliacao-fornecedores"><a href="conciliacao-fornecedores.html" class="nav-subitem">Conciliação de Fornecedores</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="integracoes" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="6" cy="12" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="18" cy="18" r="3"/><path d="M8.6 10.6L15.4 7.4M8.6 13.4l6.8 3.2" stroke-linecap="round"/></svg>
|
||
<span class="nav-item__label">Integrações</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="questor"><a href="#" class="nav-subitem">Questor</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="auditorias" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3l7 4v5c0 5-3.5 8-7 9-3.5-1-7-4-7-9V7z" stroke-linejoin="round"/><path d="M9 12l2 2 4-4" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Auditorias</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li class="nav-subgroup" data-subgroup="consultoria-tributaria">
|
||
<button type="button" class="nav-subitem nav-subgroup__toggle" data-subgroup-toggle>
|
||
<span>Consultoria Tributária</span>
|
||
<svg class="nav-item__chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-subgroup__list">
|
||
<li data-app="controle-simples-nacional">
|
||
<a href="#" class="nav-subitem nav-subitem--tool">
|
||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2h9l3 3v15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"/><path d="M14 2v4h4" stroke-linejoin="round"/></svg>
|
||
Controle Simples Nacional
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-subgroup" data-subgroup="fisco-contabil">
|
||
<button type="button" class="nav-subitem nav-subgroup__toggle" data-subgroup-toggle>
|
||
<span>Fisco/Contábil</span>
|
||
<svg class="nav-item__chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-subgroup__list">
|
||
<li data-app="auditoria-de-balancetes">
|
||
<a href="#" class="nav-subitem nav-subitem--tool">
|
||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2h9l3 3v15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"/><path d="M14 2v4h4" stroke-linejoin="round"/></svg>
|
||
Auditoria de Balancetes
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="links-ferramentas" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1"/><path d="M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/></svg>
|
||
<span class="nav-item__label">Links & Ferramentas</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="links-ferramentas-visualizar"><a href="links-ferramentas.html" class="nav-subitem">Links & Ferramentas</a></li>
|
||
<li data-app="acessos-gerais-visualizar"><a href="acessos-gerais.html" class="nav-subitem">Acessos Gerais</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="solicitacoes" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 10h.01M12 10h.01M16 10h.01M21 12a9 9 0 1 1-4.4-7.7L21 3l-1.2 4.5A8.96 8.96 0 0 1 21 12z"/></svg>
|
||
<span class="nav-item__label">Solicitações</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-app="controle-notificacoes"><a href="https://form.asana.com/?k=PcELrDLzN969CwpiRBLtFA&d=1207308016523218" target="_blank" rel="noopener noreferrer" class="nav-subitem">Controle de Notificações</a></li>
|
||
<li data-app="ordem-servico"><a href="#" class="nav-subitem">Ordem de Serviço</a></li>
|
||
<li data-app="pimi"><a href="https://form.asana.com/?k=XfBww25lGUyPVrInNcLyuQ&d=1207308016523218" target="_blank" rel="noopener noreferrer" class="nav-subitem">P.I.M.I.</a></li>
|
||
<li data-app="programa-indicacoes"><a href="https://form.asana.com/?k=y0mTeaRTOAoC0r0XP8ee0Q&d=1207308016523218" target="_blank" rel="noopener noreferrer" class="nav-subitem">Programa de Indicações</a></li>
|
||
<li data-app="pos-vendas"><a href="https://form.asana.com/?k=jRAztLip-_BknWPsGmEcZA&d=1207308016523218" target="_blank" rel="noopener noreferrer" class="nav-subitem">Pós-Vendas</a></li>
|
||
<li data-app="sugestao-inovacao"><a href="https://form.asana.com/?k=Zn8cLeT97R7FTUrsNB8Yaw&d=1207308016523218" target="_blank" rel="noopener noreferrer" class="nav-subitem">Sugestão de Inovação</a></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li data-section="administracao" class="nav-group">
|
||
<button type="button" class="nav-item nav-group__toggle" data-group-toggle>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.9 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.9-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.9V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z" stroke-linejoin="round"/></svg>
|
||
<span class="nav-item__label">Administração</span>
|
||
<svg class="nav-item__chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
</button>
|
||
<ul class="nav-group__list">
|
||
<li data-section="perfis-acesso"><a href="perfis-acesso.html" class="nav-subitem">Perfis de Acesso</a></li>
|
||
<li data-section="usuarios"><a href="usuarios.html" class="nav-subitem">Usuários</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
|
||
</aside>
|
||
|
||
<div class="main-content">
|
||
<header class="topbar">
|
||
<button type="button" class="icon-btn" id="sidebar-toggle" aria-label="Alternar menu">
|
||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6h16M4 12h16M4 18h16" stroke-linecap="round"/></svg>
|
||
</button>
|
||
<h1 class="topbar__title">Relatório Contábil</h1>
|
||
|
||
<div class="topbar__actions">
|
||
<button type="button" class="icon-btn" id="theme-toggle" aria-label="Ativar modo claro">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4" stroke-linecap="round"/></svg>
|
||
</button>
|
||
|
||
<div class="notifications">
|
||
<button type="button" class="icon-btn" id="notif-bell" aria-label="Notificações">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 8a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6" stroke-linejoin="round"/><path d="M9.5 20a2.5 2.5 0 0 0 5 0"/></svg>
|
||
<span class="notif-badge" id="notif-badge" hidden>0</span>
|
||
</button>
|
||
<div class="notif-dropdown" id="notif-dropdown" hidden>
|
||
<div class="notif-dropdown__header">
|
||
<span>Notificações</span>
|
||
<div class="notif-dropdown__header-actions">
|
||
<button type="button" id="notif-history-btn">Histórico</button>
|
||
<button type="button" id="notif-clear-all">Limpar tudo</button>
|
||
</div>
|
||
</div>
|
||
<ul class="notif-list" id="notif-list"></ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="account-menu">
|
||
<button type="button" class="persona-chip" id="persona-chip">
|
||
<span class="persona-chip__icon">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 20v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="7" r="4"/></svg>
|
||
</span>
|
||
<span id="persona-chip-label">Usuário</span>
|
||
</button>
|
||
<div class="account-dropdown" id="account-dropdown" hidden>
|
||
<div class="account-dropdown__header">
|
||
<p class="account-dropdown__name" id="account-name"></p>
|
||
<p class="account-dropdown__profile" id="account-profile"></p>
|
||
</div>
|
||
<button type="button" class="account-dropdown__item" id="account-manage-account-btn">Gerenciar Usuário</button>
|
||
<a href="perfis-acesso.html" class="account-dropdown__item" id="account-manage-link" hidden>Gerenciar Perfis de Acesso</a>
|
||
<div class="account-dropdown__section">
|
||
<p class="account-dropdown__section-title">Tema de cores</p>
|
||
<div class="theme-swatches" id="theme-swatches"></div>
|
||
</div>
|
||
<div class="account-dropdown__section">
|
||
<p class="account-dropdown__section-title">Temas sazonais</p>
|
||
<button type="button" class="seasonal-theme-toggle" id="seasonal-theme-toggle" aria-pressed="true">
|
||
<span class="seasonal-theme-toggle__dot"></span>
|
||
<span id="seasonal-theme-toggle-label">Ativo</span>
|
||
</button>
|
||
</div>
|
||
<button type="button" class="account-dropdown__item account-dropdown__logout" data-logout>Sair</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="page-content page-content--wide">
|
||
<div id="dc-no-access" class="no-access" hidden>
|
||
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><rect x="4" y="10" width="16" height="10" rx="2"/><path d="M8 10V7a4 4 0 0 1 8 0v3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
<h2>Sem acesso ao Relatório Contábil</h2>
|
||
<p>Seu perfil de acesso não tem permissão para visualizar esta tela. Solicite à Inovação a liberação em Perfis de Acesso.</p>
|
||
</div>
|
||
|
||
<div id="dc-content">
|
||
<div id="dc-list-view">
|
||
<div class="dc-header">
|
||
<div>
|
||
<h2>Relatório Contábil</h2>
|
||
<p class="dc-subtitle">Anexe o balancete + DRE em PDF (modelo Questor ou Contabit) de uma empresa — a ferramenta extrai as contas, roda um conjunto de checagens automáticas e apresenta as observações para análise antes da conclusão. No modelo Contabit, o nome do arquivo precisa começar pelo código da empresa (ex.: "1512 - Balancete 082026.pdf").</p>
|
||
</div>
|
||
<button type="button" class="btn-solid" id="dc-new-btn">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14" stroke-linecap="round"/></svg>
|
||
Nova Análise
|
||
</button>
|
||
</div>
|
||
|
||
<div class="pa-table-wrap dc-list-table-wrap">
|
||
<table class="pa-table" id="dc-list-table">
|
||
<thead>
|
||
<tr>
|
||
<th data-sort="empresa">Empresa <span class="dc-sort-icon">↕</span></th>
|
||
<th data-sort="competencia">Competência <span class="dc-sort-icon">↕</span></th>
|
||
<th data-sort="observacoes">Observações pendentes <span class="dc-sort-icon">↕</span></th>
|
||
<th data-sort="status">Status <span class="dc-sort-icon">↕</span></th>
|
||
<th data-sort="criado_por">Criado por <span class="dc-sort-icon">↕</span></th>
|
||
<th data-sort="criado_em">Data <span class="dc-sort-icon">↕</span></th>
|
||
<th>
|
||
<button type="button" class="dc-list-reset-btn" id="dc-list-reset-btn" data-dc-dica="Limpar filtros e ordenação" aria-label="Limpar filtros e ordenação">
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 20H8l-5.5-5.5a2 2 0 0 1 0-2.8l9-9a2 2 0 0 1 2.8 0l6.2 6.2a2 2 0 0 1 0 2.8L13 19" stroke-linejoin="round"/><path d="M8.5 12.5l6 6" stroke-linecap="round"/></svg>
|
||
</button>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="dc-list-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<p class="dc-empty" id="dc-list-empty" hidden>Nenhuma análise realizada ainda.</p>
|
||
<div class="dc-list-pagination" id="dc-list-pagination"></div>
|
||
<p class="dc-list-count" id="dc-list-count"></p>
|
||
</div>
|
||
|
||
<div id="dc-form-view" hidden>
|
||
<div class="dc-header">
|
||
<div>
|
||
<h2>Nova Análise</h2>
|
||
<p class="dc-subtitle">Anexe o PDF de Balancete + DRE (mesmo relatório hoje enviado ao cliente) — empresa, CNPJ e competência são identificados automaticamente a partir do próprio arquivo.</p>
|
||
</div>
|
||
<button type="button" class="btn-outline" id="dc-form-back-btn">Voltar</button>
|
||
</div>
|
||
|
||
<div class="dc-form">
|
||
<div class="modal-field">
|
||
<label>Balancete + DRE (PDF)</label>
|
||
<div class="dc-file-field">
|
||
<label class="btn-outline dc-file-field__btn" for="dc-form-arquivo">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 16V4M12 4l4 4M12 4L8 8" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 16v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
Selecionar arquivo
|
||
</label>
|
||
<input type="file" id="dc-form-arquivo" accept=".pdf" class="dc-file-field__input" />
|
||
<span class="dc-file-field__name" id="dc-form-arquivo-name">Nenhum arquivo selecionado</span>
|
||
<button type="button" class="icon-btn dc-file-field__remove" id="dc-form-arquivo-remove" aria-label="Remover arquivo" data-dc-dica="Remover arquivo" hidden>
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12" stroke-linecap="round"/></svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<p class="modal-error" id="dc-form-error"></p>
|
||
<div class="dc-progress" id="dc-form-progress" hidden>
|
||
<div class="dc-progress__bar"><div class="dc-progress__fill"></div></div>
|
||
<p class="dc-progress__label">Processando o arquivo, aguarde…</p>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="dc-form-cancel-btn">Cancelar</button>
|
||
<button type="button" class="btn-solid" id="dc-form-submit-btn">Processar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="dc-review-view" hidden>
|
||
<div class="dc-header">
|
||
<div>
|
||
<h2>Revisão <span class="dc-review-empresa" id="dc-review-empresa"></span></h2>
|
||
<p class="dc-subtitle" id="dc-review-subtitle"></p>
|
||
</div>
|
||
<div class="dc-header-actions">
|
||
<button type="button" class="btn-outline" id="dc-review-back-btn">Voltar</button>
|
||
<button type="button" class="btn-outline" id="dc-gerar-dashboard-btn">Gerar Relatório</button>
|
||
<button type="button" class="btn-solid" id="dc-concluir-btn">Concluir Análise</button>
|
||
</div>
|
||
</div>
|
||
|
||
<p class="dc-concluida-aviso" id="dc-concluida-aviso" hidden>Esta análise já foi concluída — as observações não podem mais ser editadas.</p>
|
||
|
||
<div class="pa-tabs" id="dc-tabs">
|
||
<button type="button" class="pa-tab is-active" data-dc-tab="achados">Observações</button>
|
||
<button type="button" class="pa-tab" data-dc-tab="balancete">Balancete</button>
|
||
<button type="button" class="pa-tab" data-dc-tab="dre">DRE</button>
|
||
<button type="button" class="pa-tab" data-dc-tab="analise-vertical" id="dc-av-tab-btn" hidden>Análise Vertical</button>
|
||
<button type="button" class="pa-tab" data-dc-tab="dashboard">Dashboard</button>
|
||
</div>
|
||
|
||
<div class="pa-tab-panel" data-dc-panel="achados">
|
||
<div class="dc-achados-resumo">
|
||
<div class="dc-achados-resumo__chart">
|
||
<div class="dc-donut" id="dc-achados-donut">
|
||
<svg class="dc-donut-svg" id="dc-achados-donut-svg" viewBox="0 0 36 36"></svg>
|
||
<div class="dc-donut__hole">
|
||
<span class="dc-donut__total" id="dc-achados-donut-total">0</span>
|
||
<span class="dc-donut__label">observações</span>
|
||
</div>
|
||
</div>
|
||
<ul class="dc-donut-legend" id="dc-achados-donut-legend"></ul>
|
||
</div>
|
||
<div class="dc-achados-categorias" id="dc-achados-categorias"></div>
|
||
</div>
|
||
|
||
<div class="dc-achados-toolbar">
|
||
<div class="dc-chip-row" id="dc-achados-severidade-chips">
|
||
<button type="button" class="dc-chip is-active" data-dc-severidade="todas">Todas</button>
|
||
<button type="button" class="dc-chip" data-dc-severidade="alta">Alta</button>
|
||
<button type="button" class="dc-chip" data-dc-severidade="media">Média</button>
|
||
<button type="button" class="dc-chip" data-dc-severidade="baixa">Baixa</button>
|
||
</div>
|
||
<div class="dc-chip-row" id="dc-achados-status-chips">
|
||
<button type="button" class="dc-chip is-active" data-dc-status="pendente">Pendentes</button>
|
||
<button type="button" class="dc-chip" data-dc-status="todos">Todos</button>
|
||
</div>
|
||
</div>
|
||
<div class="dc-regra-filtro-ativo" id="dc-regra-filtro-ativo" hidden>
|
||
Filtrando por categoria: <strong id="dc-regra-filtro-ativo-label"></strong>
|
||
<button type="button" class="dc-regra-filtro-limpar" id="dc-regra-filtro-limpar-btn">Limpar</button>
|
||
</div>
|
||
<div class="dc-achados-list" id="dc-achados-list"></div>
|
||
<p class="dc-empty" id="dc-achados-empty" hidden>Nenhuma observação para este filtro.</p>
|
||
<button type="button" class="dc-av-aviso" id="dc-av-aviso" hidden>
|
||
<span class="dc-av-aviso__texto" id="dc-av-aviso-texto"></span>
|
||
<span class="dc-av-aviso__link">Ver na Análise Vertical →</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="pa-tab-panel" data-dc-panel="balancete" hidden>
|
||
<div class="pa-table-wrap">
|
||
<table class="pa-table dc-contas-table">
|
||
<thead id="dc-contas-thead">
|
||
<tr>
|
||
<th>
|
||
<span class="dc-th-linha dc-th-linha--inicio">
|
||
<button type="button" class="icon-btn dc-recolher-grupos-btn" data-dc-recolher-grupos="balancete" aria-label="Recolher os grupos do Balancete" data-dc-dica="Recolher os grupos (mostrar só os totais de cada nível)">
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M5 12h14"/></svg>
|
||
</button>
|
||
Conta
|
||
</span>
|
||
</th>
|
||
<th>Classificação</th>
|
||
<th>Descrição</th>
|
||
<th>Saldo Anterior</th>
|
||
<th>Débito</th>
|
||
<th>Crédito</th>
|
||
<th>Saldo Atual</th>
|
||
<th>
|
||
<span class="dc-th-linha">Observação
|
||
<button type="button" class="icon-btn dc-reset-formatacao-btn" data-dc-reset-formatacao="balancete" aria-label="Restaurar formatação padrão do Balancete" data-dc-dica="Restaurar formatação padrão (tudo expandido, como ao abrir)">
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 2.64-6.36"/><path d="M3 3v6h6"/></svg>
|
||
</button>
|
||
</span>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="dc-contas-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<section class="dc-obs-resumo">
|
||
<h3 class="dc-obs-resumo__titulo">Observações do Balancete <span class="dc-obs-resumo__count" id="dc-contas-obs-count">0</span></h3>
|
||
<div class="dc-chip-row dc-obs-filtros" data-dc-obs-filtros>
|
||
<button type="button" class="dc-chip is-active" data-dc-obs-filtro="todas">Todas</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="cliente">Visíveis ao cliente</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="internas">Internas</button>
|
||
</div>
|
||
<div class="dc-dash-obs-list" id="dc-contas-obs-list"></div>
|
||
<p class="dc-empty" id="dc-contas-obs-empty" hidden>Nenhuma observação registrada no Balancete ainda.</p>
|
||
</section>
|
||
</div>
|
||
|
||
<div class="pa-tab-panel" data-dc-panel="dre" hidden>
|
||
<div class="pa-table-wrap">
|
||
<table class="pa-table dc-dre-table">
|
||
<thead id="dc-dre-thead">
|
||
<tr>
|
||
<th>
|
||
<span class="dc-th-linha dc-th-linha--inicio">
|
||
<button type="button" class="icon-btn dc-recolher-grupos-btn" data-dc-recolher-grupos="dre" aria-label="Recolher os grupos da DRE" data-dc-dica="Recolher os grupos (mostrar só os totais de cada nível)">
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M5 12h14"/></svg>
|
||
</button>
|
||
Descrição
|
||
</span>
|
||
</th>
|
||
<th>Valor</th>
|
||
<th>
|
||
<span class="dc-th-linha">Observação
|
||
<button type="button" class="icon-btn dc-reset-formatacao-btn" data-dc-reset-formatacao="dre" aria-label="Restaurar formatação padrão da DRE" data-dc-dica="Restaurar formatação padrão (tudo expandido, como ao abrir)">
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 2.64-6.36"/><path d="M3 3v6h6"/></svg>
|
||
</button>
|
||
</span>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="dc-dre-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<section class="dc-obs-resumo">
|
||
<h3 class="dc-obs-resumo__titulo">Observações da DRE <span class="dc-obs-resumo__count" id="dc-dre-obs-count">0</span></h3>
|
||
<div class="dc-chip-row dc-obs-filtros" data-dc-obs-filtros>
|
||
<button type="button" class="dc-chip is-active" data-dc-obs-filtro="todas">Todas</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="cliente">Visíveis ao cliente</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="internas">Internas</button>
|
||
</div>
|
||
<div class="dc-dash-obs-list" id="dc-dre-obs-list"></div>
|
||
<p class="dc-empty" id="dc-dre-obs-empty" hidden>Nenhuma observação registrada na DRE ainda.</p>
|
||
</section>
|
||
</div>
|
||
|
||
<div class="pa-tab-panel" data-dc-panel="analise-vertical" hidden>
|
||
<div class="pa-table-wrap">
|
||
<table class="pa-table dc-dre-table dc-av-table">
|
||
<thead id="dc-av-thead">
|
||
<tr id="dc-av-head-row">
|
||
<th>Descrição</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="dc-av-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<section class="dc-obs-resumo">
|
||
<h3 class="dc-obs-resumo__titulo">Observações da Análise Vertical <span class="dc-obs-resumo__count" id="dc-av-obs-count">0</span></h3>
|
||
<div class="dc-chip-row dc-obs-filtros" data-dc-obs-filtros>
|
||
<button type="button" class="dc-chip is-active" data-dc-obs-filtro="todas">Todas</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="cliente">Visíveis ao cliente</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="internas">Internas</button>
|
||
</div>
|
||
<div class="dc-dash-obs-list" id="dc-av-obs-list"></div>
|
||
<p class="dc-empty" id="dc-av-obs-empty" hidden>Nenhuma observação registrada na Análise Vertical ainda.</p>
|
||
</section>
|
||
<section class="dc-obs-resumo dc-variacoes" id="dc-av-variacoes">
|
||
<h3 class="dc-obs-resumo__titulo">Variação atípica na DRE - Análise Vertical <span class="dc-obs-resumo__count" id="dc-av-variacoes-count">0</span></h3>
|
||
<p class="dc-variacoes__dica">Confira cada variação e clique em "Validar". A observação escrita aqui é a mesma da linha na tabela: fica no histórico da empresa e pode ser mostrada ao cliente.</p>
|
||
<div class="dc-variacoes__lista" id="dc-av-variacoes-list"></div>
|
||
<p class="dc-empty" id="dc-av-variacoes-empty" hidden>Nenhuma variação atípica nesta análise.</p>
|
||
</section>
|
||
</div>
|
||
|
||
<div class="pa-tab-panel" data-dc-panel="dashboard" hidden>
|
||
<p class="dc-dash-intro">
|
||
Pré-visualização do que vai para o relatório gerado pelo botão "Gerar Relatório". Use o botão de olho pra ocultar um card de indicador ou uma observação — o que estiver oculto aqui não aparece no relatório.
|
||
</p>
|
||
|
||
<section class="dc-dash-section">
|
||
<div class="dc-dash-section__header">
|
||
<h3 class="dc-dash-section__titulo">Resumo</h3>
|
||
<button type="button" class="btn-outline" id="dc-indicadores-gerenciar-btn">Gerenciar Indicadores</button>
|
||
</div>
|
||
|
||
<div class="dc-dash-resumo-fechamento">
|
||
<h4 class="dc-dash-resumo-fechamento__titulo">Resumo do Fechamento</h4>
|
||
<p class="dc-dash-resumo-fechamento__dica">Escreva aqui as considerações e análises deste fechamento — cole (Ctrl+V) ou arraste uma imagem pra incluí-la no texto. Aparece no relatório "Gerar Relatório", antes dos indicadores.</p>
|
||
<div id="dc-dash-resumo-fechamento-editor" class="dc-dash-richtext" contenteditable="true" data-placeholder="Ex.: A escrituração contábil da empresa foi atualizada até …/…/…. Considerações: o resultado do exercício foi…"></div>
|
||
<div class="dc-dash-resumo-fechamento__acoes">
|
||
<button type="button" class="btn-solid" id="dc-dash-resumo-fechamento-salvar-btn">Salvar</button>
|
||
<span class="dc-dash-resumo-fechamento__status" id="dc-dash-resumo-fechamento-status" hidden></span>
|
||
</div>
|
||
</div>
|
||
|
||
<p class="dc-dash-section__dica" id="dc-dash-indicadores-dica">Clique num card pra ver a fórmula usada.</p>
|
||
<div id="dc-dash-indicadores"></div>
|
||
</section>
|
||
|
||
<section class="dc-dash-section">
|
||
<h3 class="dc-dash-section__titulo">Observações</h3>
|
||
<div class="dc-chip-row dc-obs-filtros" data-dc-obs-filtros>
|
||
<button type="button" class="dc-chip is-active" data-dc-obs-filtro="todas">Todas</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="cliente">Visíveis ao cliente</button>
|
||
<button type="button" class="dc-chip" data-dc-obs-filtro="internas">Internas</button>
|
||
</div>
|
||
<div class="dc-dash-obs-list" id="dc-dash-observacoes-list"></div>
|
||
<p class="dc-empty" id="dc-dash-observacoes-empty" hidden>Nenhuma observação registrada ainda no Balancete, na DRE ou na auditoria.</p>
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="dc-reprocessar-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title">Reprocessar análise</h2>
|
||
<p class="modal-card__subtitle">Anexe um PDF novo pra mesma empresa/competência (ex.: o arquivo original estava incompleto ou com erro). Contas/linhas sem mudança mantêm observação e validação como estavam; o que mudou volta pra "não validado" e ganha um alerta.</p>
|
||
<div class="modal-field">
|
||
<label>Balancete + DRE (PDF)</label>
|
||
<div class="dc-file-field">
|
||
<label class="btn-outline dc-file-field__btn" for="dc-reprocessar-arquivo">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 16V4M12 4l4 4M12 4L8 8" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 16v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||
Selecionar arquivo
|
||
</label>
|
||
<input type="file" id="dc-reprocessar-arquivo" accept=".pdf" class="dc-file-field__input" />
|
||
<span class="dc-file-field__name" id="dc-reprocessar-arquivo-name">Nenhum arquivo selecionado</span>
|
||
<button type="button" class="icon-btn dc-file-field__remove" id="dc-reprocessar-arquivo-remove" aria-label="Remover arquivo" data-dc-dica="Remover arquivo" hidden>
|
||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12" stroke-linecap="round"/></svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<section class="dc-reprocessar-log" id="dc-reprocessar-log" hidden>
|
||
<h3 class="dc-reprocessar-log__titulo">Reprocessamentos anteriores <span class="dc-reprocessar-log__count" id="dc-reprocessar-log-count">0</span></h3>
|
||
<ul class="dc-reprocessar-log__lista" id="dc-reprocessar-log-lista"></ul>
|
||
</section>
|
||
<p class="modal-error" id="dc-reprocessar-error"></p>
|
||
<div class="dc-progress" id="dc-reprocessar-progress" hidden>
|
||
<div class="dc-progress__bar"><div class="dc-progress__fill"></div></div>
|
||
<p class="dc-progress__label">Processando o arquivo, aguarde…</p>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="dc-reprocessar-cancel-btn">Cancelar</button>
|
||
<button type="button" class="btn-solid" id="dc-reprocessar-confirmar-btn">Reprocessar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="dc-achado-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title" id="dc-achado-modal-titulo"></h2>
|
||
<p class="modal-card__subtitle" id="dc-achado-modal-mensagem"></p>
|
||
<div class="modal-field">
|
||
<label for="dc-achado-modal-texto">Observação (obrigatória)</label>
|
||
<textarea id="dc-achado-modal-texto" rows="5" placeholder="Justifique o tratamento desta observação…"></textarea>
|
||
</div>
|
||
<p class="modal-error" id="dc-achado-modal-error"></p>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="dc-achado-modal-cancel-btn">Cancelar</button>
|
||
<button type="button" class="btn-danger-outline" id="dc-achado-modal-ignorar-btn">Ignorar</button>
|
||
<button type="button" class="btn-solid" id="dc-achado-modal-tratar-btn">Marcar como tratado</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="dc-obs-historico-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title">Histórico de edições</h2>
|
||
<p class="modal-card__subtitle">Toda mudança de texto desta observação, da mais recente para a mais antiga.</p>
|
||
<div class="dc-obs-historico-lista" id="dc-obs-historico-lista"></div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-solid" id="dc-obs-historico-modal-fechar-btn">Fechar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="dc-indicador-formula-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title" id="dc-indicador-formula-modal-titulo"></h2>
|
||
<p class="modal-card__subtitle" id="dc-indicador-formula-modal-descricao"></p>
|
||
<div class="dc-ind-formula-box">
|
||
<span class="dc-ind-formula-box__label">Fórmula</span>
|
||
<p id="dc-indicador-formula-modal-formula"></p>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-solid" id="dc-indicador-formula-modal-fechar-btn">Fechar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="dc-indicadores-hub-modal" hidden>
|
||
<div class="modal-card modal-card--wide">
|
||
<h2 class="modal-card__title">Gerenciar Indicadores</h2>
|
||
<p class="modal-card__subtitle">Indicadores padrão aparecem automaticamente em toda apuração. Indicadores não padrão ficam salvos aqui e só entram nesta apuração quando marcados.</p>
|
||
|
||
<div class="dc-ind-hub-secao">
|
||
<h3 class="dc-ind-hub-secao__titulo">Padrão</h3>
|
||
<div class="dc-ind-hub-lista" id="dc-ind-hub-lista-padrao"></div>
|
||
<p class="dc-empty" id="dc-ind-hub-vazio-padrao" hidden>Nenhum indicador padrão personalizado cadastrado.</p>
|
||
</div>
|
||
|
||
<div class="dc-ind-hub-secao">
|
||
<h3 class="dc-ind-hub-secao__titulo">Não padrão</h3>
|
||
<div class="dc-ind-hub-lista" id="dc-ind-hub-lista-nao-padrao"></div>
|
||
<p class="dc-empty" id="dc-ind-hub-vazio-nao-padrao" hidden>Nenhum indicador não padrão cadastrado.</p>
|
||
</div>
|
||
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="dc-indicadores-hub-fechar-btn">Fechar</button>
|
||
<button type="button" class="btn-solid" id="dc-indicadores-hub-novo-btn">+ Novo Indicador</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay modal-overlay--top" id="dc-indicador-modal" hidden>
|
||
<div class="modal-card modal-card--wide">
|
||
<h2 class="modal-card__title" id="dc-indicador-modal-titulo">Novo Indicador</h2>
|
||
<p class="modal-card__subtitle">Monte a fórmula a partir de contas do Balancete, linhas da DRE, variação entre apurações ou outros indicadores já existentes.</p>
|
||
|
||
<div class="modal-field">
|
||
<label for="dc-indicador-modal-nome">Nome</label>
|
||
<input type="text" id="dc-indicador-modal-nome" name="indicador_nome" autocomplete="off" placeholder="ex.: Margem Líquida…" />
|
||
</div>
|
||
<div class="modal-field-row">
|
||
<div class="modal-field">
|
||
<label for="dc-indicador-modal-descricao">Descrição</label>
|
||
<textarea id="dc-indicador-modal-descricao" rows="3" placeholder="O que este indicador mede, como interpretar o resultado…"></textarea>
|
||
</div>
|
||
<div class="modal-field">
|
||
<label for="dc-indicador-modal-formato">Formato de exibição</label>
|
||
<select id="dc-indicador-modal-formato">
|
||
<option value="indice">Índice</option>
|
||
<option value="percentual">Percentual (%)</option>
|
||
<option value="moeda">Moeda (R$)</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<label class="modal-checkbox">
|
||
<input type="checkbox" id="dc-indicador-modal-padrao" checked />
|
||
Indicador padrão (aparece automaticamente em todas as apurações — desmarque pra deixar disponível só quando selecionado em "Gerenciar Indicadores")
|
||
</label>
|
||
|
||
<div class="modal-field">
|
||
<label>Ícone (aparece no card do relatório "Gerar Relatório")</label>
|
||
<div class="dc-ind-icone-grid" id="dc-indicador-icones"></div>
|
||
</div>
|
||
|
||
<div class="dc-ind-componentes-header">
|
||
<span>Componentes</span>
|
||
<button type="button" class="btn-outline" id="dc-indicador-add-componente-btn">+ Adicionar componente</button>
|
||
</div>
|
||
<div id="dc-indicador-componentes" class="dc-ind-componentes-lista"></div>
|
||
|
||
<div class="modal-field">
|
||
<label for="dc-indicador-modal-formula">Fórmula (cálculo interno)</label>
|
||
<input type="text" id="dc-indicador-modal-formula" name="indicador_formula" autocomplete="off" placeholder="ex.: (receita - custo) / receita…" />
|
||
<p class="dc-ind-formula-hint" id="dc-indicador-modal-formula-hint">Use a chave de cada componente acima, combinadas com +, -, * , / e parênteses.</p>
|
||
</div>
|
||
|
||
<div class="modal-field">
|
||
<label for="dc-indicador-modal-formula-exibicao">Fórmula (como aparece ao cliente)</label>
|
||
<input type="text" id="dc-indicador-modal-formula-exibicao" name="indicador_formula_exibicao" autocomplete="off" placeholder="ex.: Lucro Líquido − Despesas Financeiras…" />
|
||
<p class="dc-ind-formula-hint">Texto livre, só pra exibição no relatório "Gerar Relatório" — não precisa (e não deve) usar as chaves técnicas dos componentes. Se deixar em branco, o relatório mostra a fórmula de cálculo interno acima.</p>
|
||
</div>
|
||
|
||
<button type="button" class="btn-outline" id="dc-indicador-calcular-btn">Calcular com esta apuração</button>
|
||
<div class="dc-ind-preview" id="dc-indicador-preview" hidden></div>
|
||
|
||
<p class="modal-error" id="dc-indicador-modal-error"></p>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-danger-outline" id="dc-indicador-modal-excluir-btn" hidden>Excluir</button>
|
||
<button type="button" class="btn-outline" id="dc-indicador-modal-cancel-btn">Cancelar</button>
|
||
<button type="button" class="btn-solid" id="dc-indicador-modal-save-btn">Salvar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="manage-account-modal" hidden>
|
||
<div class="modal-card" id="manage-account-modal-card">
|
||
<h2 class="modal-card__title">Gerenciar Usuário</h2>
|
||
<div class="modal-field">
|
||
<button type="button" class="btn-outline" id="manage-account-change-password-btn">Alterar senha</button>
|
||
</div>
|
||
<div class="modal-field" id="manage-account-liderados-field" hidden>
|
||
<label>Usuários sob sua liderança</label>
|
||
<div class="dual-select">
|
||
<div class="dual-select__panel">
|
||
<div class="dual-select__panel-header">
|
||
<button type="button" class="btn-solid" id="manage-account-liderados-available-link-btn" disabled>Vincular</button>
|
||
</div>
|
||
<div class="dual-select__table-wrap">
|
||
<table class="dual-select__table">
|
||
<thead>
|
||
<tr>
|
||
<th><input type="checkbox" id="manage-account-liderados-available-select-all" aria-label="Selecionar todos" /></th>
|
||
<th class="dual-select__sort" id="manage-account-liderados-available-sort-nome">Nome <span class="dual-select__sort-icon">↕</span></th>
|
||
<th>Departamento</th>
|
||
</tr>
|
||
<tr class="dual-select__filters">
|
||
<th></th>
|
||
<th><input type="text" id="manage-account-liderados-available-search-nome" placeholder="Buscar por nome..." autocomplete="off" /></th>
|
||
<th><input type="text" id="manage-account-liderados-available-search-departamento" placeholder="Buscar por departamento..." autocomplete="off" /></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="manage-account-liderados-available-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<div class="dual-select__footer" id="manage-account-liderados-available-footer"></div>
|
||
</div>
|
||
|
||
<div class="dual-select__panel">
|
||
<div class="dual-select__panel-header">
|
||
<button type="button" class="btn-danger-outline" id="manage-account-liderados-linked-unlink-btn" disabled>Desvincular</button>
|
||
</div>
|
||
<div class="dual-select__table-wrap">
|
||
<table class="dual-select__table">
|
||
<thead>
|
||
<tr>
|
||
<th><input type="checkbox" id="manage-account-liderados-linked-select-all" aria-label="Selecionar todos" /></th>
|
||
<th class="dual-select__sort" id="manage-account-liderados-linked-sort-nome">Nome <span class="dual-select__sort-icon">↕</span></th>
|
||
<th>Departamento</th>
|
||
</tr>
|
||
<tr class="dual-select__filters">
|
||
<th></th>
|
||
<th><input type="text" id="manage-account-liderados-linked-search-nome" placeholder="Buscar por nome..." autocomplete="off" /></th>
|
||
<th><input type="text" id="manage-account-liderados-linked-search-departamento" placeholder="Buscar por departamento..." autocomplete="off" /></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="manage-account-liderados-linked-body"></tbody>
|
||
</table>
|
||
</div>
|
||
<div class="dual-select__footer" id="manage-account-liderados-linked-footer"></div>
|
||
</div>
|
||
</div>
|
||
<p class="modal-error" id="manage-account-liderados-error"></p>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="manage-account-close-btn">Fechar</button>
|
||
<button type="button" class="btn-solid" id="manage-account-save-btn" hidden>Salvar liderados</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="password-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title">Alterar senha</h2>
|
||
<div class="modal-field">
|
||
<label for="pwd-current">Senha atual</label>
|
||
<div class="password-field">
|
||
<input type="password" id="pwd-current" autocomplete="current-password" />
|
||
<button type="button" class="password-field__toggle" id="pwd-current-toggle" aria-label="Mostrar senha"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="12" r="3"/></svg></button>
|
||
</div>
|
||
</div>
|
||
<div class="modal-field">
|
||
<label for="pwd-new">Nova senha</label>
|
||
<div class="password-field">
|
||
<input type="password" id="pwd-new" autocomplete="new-password" />
|
||
<button type="button" class="password-field__toggle" id="pwd-new-toggle" aria-label="Mostrar senha"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="12" r="3"/></svg></button>
|
||
</div>
|
||
</div>
|
||
<div class="modal-field">
|
||
<label for="pwd-confirm">Confirmar nova senha</label>
|
||
<div class="password-field">
|
||
<input type="password" id="pwd-confirm" autocomplete="new-password" />
|
||
<button type="button" class="password-field__toggle" id="pwd-confirm-toggle" aria-label="Mostrar senha"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="12" r="3"/></svg></button>
|
||
</div>
|
||
</div>
|
||
<p class="modal-error" id="pwd-error"></p>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="pwd-cancel-btn">Cancelar</button>
|
||
<button type="button" class="btn-solid" id="pwd-save-btn">Salvar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal-overlay" id="notif-history-modal" hidden>
|
||
<div class="modal-card">
|
||
<h2 class="modal-card__title">Histórico de Notificações</h2>
|
||
<ul class="notif-list" id="notif-history-list"></ul>
|
||
<div class="modal-actions">
|
||
<button type="button" class="btn-outline" id="notif-history-close-btn">Fechar</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<button type="button" class="dc-back-to-top-btn" id="dc-back-to-top-btn" aria-label="Voltar ao início da página" data-dc-dica="Voltar ao início da página" hidden>
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5"/><path d="M5 12l7-7 7 7"/></svg>
|
||
</button>
|
||
|
||
<div class="modal-overlay" id="calendario-depaula-modal" hidden>
|
||
<div class="modal-card iframe-modal-card">
|
||
<div class="iframe-modal-header">
|
||
<h2 class="modal-card__title">Calendário De Paula</h2>
|
||
<button type="button" class="icon-btn" id="calendario-depaula-close-btn" aria-label="Fechar">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12" stroke-linecap="round"/></svg>
|
||
</button>
|
||
</div>
|
||
<iframe id="calendario-depaula-iframe" class="iframe-modal-iframe" title="Calendário De Paula"></iframe>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="{% static 'js/api.js' %}"></script>
|
||
<script src="{% static 'js/confirm-modal.js' %}"></script>
|
||
<script src="{% static 'js/seasonal-theme.js' %}"></script>
|
||
<script src="{% static 'js/sidebar-brand.js' %}"></script>
|
||
<script src="{% static 'js/dual-select.js' %}"></script>
|
||
<script src="{% static 'js/profiles.js' %}"></script>
|
||
<script src="{% static 'js/auth.js' %}"></script>
|
||
<script src="{% static 'js/access.js' %}"></script>
|
||
<script src="{% static 'js/account.js' %}"></script>
|
||
<script src="{% static 'js/favorites.js' %}"></script>
|
||
<script src="{% static 'js/events.js' %}"></script>
|
||
<script src="{% static 'js/sidebar.js' %}"></script>
|
||
<script src="{% static 'js/notifications.js' %}"></script>
|
||
<script src="{% static 'js/dashboard-contabil.js' %}"></script>
|
||
</body>
|
||
</html>
|