:root{
    --marinho:#10263f;
    --marinho-2:#193b60;
    --dourado:#c5a15a;
    --fundo:#f4f6f8;
    --card:#ffffff;
    --texto:#172033;
    --muted:#6b7687;
    --linha:#e2e7ec;
    --verde:#1f7a5b;
    --vermelho:#ad3644;
    --amarelo:#9a6816;
    --sombra:0 10px 30px rgba(15,32,52,.07);
}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--fundo);color:var(--texto)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:256px;z-index:100;display:flex;flex-direction:column;background:linear-gradient(180deg,#10263f,#091a2d);color:#fff;box-shadow:5px 0 24px rgba(11,27,45,.14)}
.marca{height:94px;display:flex;align-items:center;gap:13px;padding:17px 20px;background:rgba(25,59,96,.38);border-bottom:1px solid rgba(197,161,90,.25)}
.marca img{width:58px;height:52px;object-fit:contain}
.marca strong,.marca small{display:block}
.marca strong{font-size:1rem;letter-spacing:.045em}
.marca small{margin-top:5px;color:var(--dourado);font-size:.67rem;font-weight:800;letter-spacing:.25em}
.sidebar nav{flex:1;padding:14px 13px;overflow:auto}
.nav-grupo{display:block;margin:20px 11px 7px;color:#91a3b8;font-size:.61rem;font-weight:800;letter-spacing:.1em}
.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:#dfe7ef;font-size:.81rem;font-weight:700}
.nav-item i{width:20px;text-align:center;font-style:normal;color:var(--dourado);font-size:1rem}
.nav-item:hover{background:rgba(255,255,255,.08)}
.nav-item.ativo{background:#fff;color:var(--marinho);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.sidebar-rodape{padding:17px 19px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:5px}
.sidebar-rodape small{color:#9fafbf;font-size:.62rem;text-transform:uppercase}
.sidebar-rodape strong{font-size:.77rem}
.sidebar-rodape form{margin-top:7px}
.sidebar-rodape button{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px;background:transparent;color:#fff;font-size:.7rem}
.principal{margin-left:256px;min-height:100vh}
.topbar{height:72px;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:0 28px;background:#fff;border-bottom:1px solid var(--linha)}
.topbar>div>small,.topbar>div>strong{display:block}
.topbar>div>small{font-size:.59rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.topbar>div>strong{margin-top:3px;font-size:.9rem}
.menu-mobile{display:none;border:0;background:transparent;font-size:1.3rem;color:var(--marinho)}
.topbar-direita{margin-left:auto;display:flex;align-items:center;gap:12px}
.topbar-direita span{font-size:.67rem;color:var(--muted)}
.topbar-direita b{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--marinho);color:#fff;font-size:.7rem}
.conteudo{max-width:1460px;margin:0 auto;padding:30px 28px 50px}
.cabecalho-pagina{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}
.cabecalho-pagina h1{margin:5px 0 4px;font-size:1.72rem;letter-spacing:-.025em}
.cabecalho-pagina p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.sobretitulo{color:#9a7540;font-size:.61rem;font-weight:850;letter-spacing:.1em}
.acoes{display:flex;gap:9px;flex-wrap:wrap}
.painel{background:var(--card);border:1px solid var(--linha);border-radius:16px;padding:21px;box-shadow:var(--sombra);margin-bottom:20px}
.painel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}
.painel>summary::-webkit-details-marker{display:none}
.painel>summary>small{color:var(--muted);font-size:.7rem}
.painel-titulo{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.painel-titulo h2{margin:3px 0 0;font-size:1rem}
.painel-titulo a{color:#9a7540;font-size:.72rem;font-weight:750}
.painel-titulo small{color:var(--muted);font-size:.68rem}
.grade-indicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:21px}
.indicador{min-height:128px;padding:19px;background:#fff;border:1px solid var(--linha);border-left:4px solid #3778bd;border-radius:14px;box-shadow:var(--sombra)}
.indicador.dourado{border-left-color:var(--dourado)}
.indicador.vermelho{border-left-color:#ce5561}
.indicador.verde{border-left-color:#30a17c}
.indicador>span{font-size:.64rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.indicador>strong{display:block;margin-top:16px;font-size:1.3rem}
.indicador>small{display:block;margin-top:7px;color:var(--muted);font-size:.64rem}
.grade-dupla{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.lista-contratantes>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--linha)}
.lista-contratantes>a:last-child{border-bottom:0}
.lista-contratantes strong,.lista-contratantes small{display:block}
.lista-contratantes strong{font-size:.78rem}
.lista-contratantes small{margin-top:4px;color:var(--muted);font-size:.64rem}
.avatar-empresa{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf2f7;color:var(--marinho);font-size:.7rem;font-weight:850}
.produtos-resumo{display:grid;gap:8px}
.produtos-resumo>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--linha);border-left:4px solid var(--produto-cor);border-radius:11px}
.produtos-resumo b{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#f3f5f7;color:var(--produto-cor);font-size:.67rem}
.produtos-resumo strong,.produtos-resumo small{display:block}
.produtos-resumo strong{font-size:.73rem}
.produtos-resumo small,.produtos-resumo span{font-size:.61rem;color:var(--muted)}
.botao{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;font-size:.73rem;font-weight:750}
.botao.primario{background:var(--marinho);color:#fff;box-shadow:0 5px 14px rgba(16,38,63,.2)}
.botao.primario:hover{background:var(--marinho-2)}
.botao.secundario{background:#eef2f6;color:#273547}
.botao.dourado{background:var(--dourado);color:#10263f}
.botao.perigo{background:#ad3644;color:#fff}
.botao.link{background:transparent;color:#8a6938;padding-left:0;padding-right:0}
.largura-total{width:100%}
.alerta{margin-bottom:18px;padding:13px 15px;border:1px solid #d7e2ec;border-left:4px solid #5d8db9;border-radius:10px;background:#f5f9fd;font-size:.75rem;line-height:1.5}
.alerta.sucesso{background:#ebf7f2;border-color:#bee3d4;border-left-color:var(--verde)}
.alerta.erro{background:#fff1f2;border-color:#f0cbd0;border-left-color:var(--vermelho)}
.alerta.atencao{background:#fff8e9;border-color:#ead9ae;border-left-color:#c28b23}
.alerta ul{margin:6px 0 0;padding-left:20px}
.formulario{display:grid;gap:13px}
.formulario.grade-2,.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.formulario.grade-3,.grade-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.formulario label{font-size:.67rem;font-weight:750;color:#435065}
.formulario input,.formulario select,.formulario textarea,.filtros input,.filtros select,.acao-inline select{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #d9e0e7;border-radius:9px;background:#fff;color:var(--texto);outline:0}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus,.filtros input:focus,.filtros select:focus{border-color:#5b7e9e;box-shadow:0 0 0 3px rgba(91,126,158,.12)}
.formulario textarea{resize:vertical}
.span-2{grid-column:span 2}.span-3{grid-column:span 3}
.check{display:flex!important;align-items:center;gap:8px}
.check input{width:auto!important;margin:0!important}
.filtros{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:10px;margin-bottom:16px}
.filtros input,.filtros select{margin:0}
.tabela-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.74rem}
th{text-align:left;padding:10px;color:var(--muted);border-bottom:1px solid var(--linha);font-size:.58rem;text-transform:uppercase;letter-spacing:.05em}
td{padding:12px 10px;border-bottom:1px solid #edf0f3;vertical-align:middle}
td small,td strong{display:block}
td small{margin-top:4px;color:var(--muted);font-size:.62rem}
.vazio{text-align:center;color:var(--muted);padding:28px;font-size:.75rem}
.mini-tags{display:flex;gap:4px;flex-wrap:wrap}
.mini-tags span{padding:4px 6px;border-radius:999px;background:#edf2f7;color:#49566a;font-size:.56rem}
.status{display:inline-flex!important;width:max-content!important;padding:5px 8px!important;border-radius:999px!important;background:#edf1f5;color:#5c6878;font-size:.56rem!important;font-weight:850!important;text-transform:uppercase}
.status.ativo,.status.ativa,.status.em_dia,.status.paga{background:#e3f5ed;color:#167154}
.status.teste,.status.implantacao,.status.pendente,.status.enviada{background:#fff1d5;color:#8f6114}
.status.suspenso,.status.suspensa,.status.atrasada,.status.cancelado,.status.cancelada,.status.expirada,.status.recusada{background:#fde8eb;color:#9b3140}
.status.rascunho{background:#edf1f5;color:#687483}
.status.aprovada{background:#e3f5ed;color:#167154}
.produto-selecao{border:1px solid var(--linha);border-left:5px solid var(--produto-cor);border-radius:12px;padding:15px;margin-bottom:10px;background:#fff}
.produto-selecao-topo{display:grid;grid-template-columns:auto 1fr 150px;gap:12px;align-items:center}
.produto-selecao-topo .check{font-size:.76rem!important;color:var(--texto)!important}
.produto-selecao p{margin:5px 0 0;color:var(--muted);font-size:.66rem;line-height:1.45}
.recursos-box{margin:12px 0 0 28px;padding:10px 12px;border-left:2px solid #eadbc0;background:#faf9f6;border-radius:8px}
.recurso-linha{display:grid;grid-template-columns:minmax(180px,1fr) 130px;gap:12px;align-items:center;padding:7px 0}
.recurso-linha+.recurso-linha{border-top:1px solid #eee8dc}
.recurso-linha label{font-weight:700}
.cartoes-produtos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cartao-produto{border:1px solid var(--linha);border-top:4px solid var(--produto-cor);border-radius:14px;padding:18px;background:#fff}
.cartao-produto h2{margin:0;font-size:1rem}
.cartao-produto p{color:var(--muted);font-size:.7rem;line-height:1.5}
.cartao-produto .codigo{font-size:.58rem;color:#8c96a4;text-transform:uppercase}
.dados-lista{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:11px;overflow:hidden}
.dados-lista>div{padding:13px;background:#fff}
.dados-lista dt{font-size:.56rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.dados-lista dd{margin:5px 0 0;font-size:.72rem}
.produtos-contratados{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.produtos-contratados article{border:1px solid var(--linha);border-left:5px solid var(--produto-cor);border-radius:12px;padding:14px}
.produtos-contratados article>strong{display:block;font-size:.8rem}
.produtos-contratados article>small{display:block;margin-top:5px;color:var(--muted);font-size:.64rem;line-height:1.45}
.lista-recursos{margin-top:10px;display:flex;gap:5px;flex-wrap:wrap}
.lista-recursos span{padding:5px 7px;border-radius:999px;background:#f4efe5;color:#725b32;font-size:.56rem}
.token-box{margin:0 0 18px;padding:15px;border-radius:11px;background:#fff8e9;border:1px solid #ead9ae}
.token-box code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:#10263f;color:#fff;word-break:break-all;font-size:.7rem}
.zona-seguranca{border-color:#efc8cd;background:#fffafb}
.login-body{min-height:100vh;display:grid;grid-template-columns:52% 48%;background:#f3f5f7}
.login-identidade{padding:64px 11%;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 25% 100%,rgba(197,161,90,.18),transparent 34%),linear-gradient(135deg,#10263f,#081b30);color:#fff}
.login-identidade .marca{height:auto;padding:0;background:transparent;border:0}
.login-identidade h1{max-width:560px;margin:0;font-size:clamp(44px,4vw,66px);line-height:1.03;letter-spacing:-2px}
.login-identidade p{max-width:520px;color:#d6d9df;font-size:16px;line-height:1.6}
.login-identidade footer{color:#9da9bd;font-size:12px}
.login-area{display:flex;align-items:center;justify-content:center;padding:45px}
.login-card{width:100%;max-width:455px;background:#fff;border-radius:26px;padding:38px 42px;box-shadow:0 22px 60px rgba(17,24,39,.10)}
.login-card .sobretitulo{display:block;margin-bottom:12px}
.login-card h2{margin:0 0 8px;font-size:29px}
.login-card>p{margin:0 0 27px;color:#667085;font-size:14px;line-height:1.5}
.login-card .formulario{gap:16px}
.login-card .seguranca{display:block;margin-top:20px;text-align:center;color:#98a2b3;font-size:12px}
.login-card .link-recuperar{display:inline-block;margin-top:15px;color:#8b6b3c;font-size:.72rem;font-weight:700}
.publico-body{background:#eef1f4}
.publico-barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 18px;background:#10263f;color:#fff}
.publico-documento{width:min(960px,calc(100% - 28px));margin:22px auto;display:grid;gap:16px}
.publico-folha{background:#fff;min-height:900px;padding:56px 60px;box-shadow:0 12px 38px rgba(16,38,63,.11)}
.publico-capa{background:linear-gradient(135deg,#10263f,#193b60);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.publico-capa .marca{height:auto;padding:0;background:transparent;border:0}
.publico-capa h1{font-size:3rem;line-height:1.06;margin:0}
.publico-capa h2{margin:30px 0 8px;font-size:1.25rem}
.publico-capa p{color:#ccd7e1}
.publico-folha h3{margin:0 0 8px;color:#10263f}
.publico-folha .rotulo{color:#9a7540;font-size:.62rem;font-weight:900;letter-spacing:.15em}
.itens-proposta{display:grid;gap:10px;margin-top:22px}
.item-proposta{padding:16px;border:1px solid var(--linha);border-left:5px solid var(--produto-cor,#10263f);border-radius:11px}
.item-proposta.recurso{margin-left:28px;background:#faf9f6;border-left-width:3px}
.item-proposta strong{font-size:.8rem}
.item-proposta p{margin:6px 0 0;color:#687483;font-size:.68rem;line-height:1.5}
.item-proposta .valor{float:right;color:#8b6b3c}
.preco-destaque{margin-top:24px;padding:25px;border-radius:14px;background:#10263f;color:#fff}
.preco-destaque strong{display:block;font-size:2.3rem;margin-top:8px}
.preco-destaque small{color:#d5b777}
.form-aceite{margin-top:24px;padding:20px;border:1px solid var(--linha);border-radius:12px;background:#f8fafc}
@media(max-width:1100px){.grade-indicadores{grid-template-columns:repeat(2,1fr)}.grade-dupla{grid-template-columns:1fr}.cartoes-produtos{grid-template-columns:1fr}}
@media(max-width:820px){
    .sidebar{transform:translateX(-100%);transition:.2s}.app-shell.menu-aberto .sidebar{transform:translateX(0)}
    .principal{margin-left:0}.menu-mobile{display:block}.topbar-direita span{display:none}
    .conteudo{padding:24px 16px 40px}.cabecalho-pagina{align-items:flex-start;flex-direction:column}
    .formulario.grade-3,.grade-3{grid-template-columns:1fr}.span-3{grid-column:span 1}
    .formulario.grade-2,.grade-2{grid-template-columns:1fr}.span-2{grid-column:span 1}
    .dados-lista,.produtos-contratados{grid-template-columns:1fr}
    .login-body{display:block}.login-identidade{display:none}.login-area{min-height:100vh;padding:20px 14px}.login-card{padding:28px 24px}
    .publico-folha{padding:38px 24px}.publico-capa h1{font-size:2.2rem}
}
@media(max-width:560px){
    .grade-indicadores{grid-template-columns:1fr}.filtros{grid-template-columns:1fr}
    .produto-selecao-topo,.recurso-linha{grid-template-columns:1fr}.recursos-box{margin-left:0}
    .publico-documento{width:100%;margin:0}.publico-folha{box-shadow:none;min-height:0}.publico-barra small{display:none}
}
@media print{
    @page{size:A4;margin:0}
    body.publico-body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .nao-imprimir{display:none!important}.publico-documento{display:block;width:100%;margin:0}.publico-folha{width:210mm;min-height:297mm;padding:20mm 18mm;box-shadow:none;page-break-after:always}.publico-documento>.publico-folha:last-child{page-break-after:auto}
}
