:root{--verde:#16392B;--verde2:#1f4d3a;--ouro:#E0B54A;--ouro2:#c99a2e;--fundo:#f6f3ea;--texto:#1d241f;--mudo:#5d6a62;--borda:#d9d3c2;--erro:#a32020;--ok:#1e6b3a;--card:#fff}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fundo);color:var(--texto);line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--verde2)}
[hidden]{display:none!important}

/* tarja */
.tarja{background:var(--verde);color:var(--ouro);border-bottom:3px solid var(--ouro)}
.tarja .dentro{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ouro);margin-right:auto}
.marca img{width:48px;height:48px}
.marca span{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:700;letter-spacing:.06em}
.caixa-login{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tarja .caixa-login input{padding:7px 9px;border:1px solid var(--ouro2);border-radius:6px;background:#fdfbf4;width:170px;font-size:.9rem}
.caixa-login a{color:#f1dfa8;font-size:.82rem}
.usuario{display:flex;gap:12px;align-items:center;color:#f1dfa8;font-size:.95rem}
.usuario a{color:var(--ouro)}

/* botões */
.btn{display:inline-block;background:var(--ouro);color:var(--verde);border:0;border-radius:6px;padding:8px 16px;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}
.btn:hover{background:#ecc35b}
.btn.verde{background:var(--verde);color:var(--ouro)}
.btn.verde:hover{background:var(--verde2)}
.btn.link{background:none;color:var(--verde2);text-decoration:underline;padding:0;font-weight:400}

/* conteúdo */
main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 40px;position:relative}
.marca-dagua{position:fixed;inset:auto 0 0 auto;right:4vw;bottom:0;width:min(46vw,460px);height:auto;opacity:.07;pointer-events:none;z-index:0}
main>*{position:relative;z-index:1}
h1,h2{font-family:Georgia,"Times New Roman",serif;color:var(--verde)}
.cartao{background:var(--card);border:1px solid var(--borda);border-radius:10px;padding:20px;margin-bottom:18px;box-shadow:0 1px 2px #0000000d}
.estreito{max-width:520px;margin-left:auto;margin-right:auto}
.heroi{padding:40px 0 20px;max-width:620px}
.heroi h1{font-size:2.3rem;margin:0 0 10px}
.heroi p{font-size:1.1rem;color:var(--mudo)}
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px}
.passos .cartao h3{margin:0 0 6px;color:var(--verde)}

/* formulários */
form .campo{margin-bottom:12px}
form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:3px}
form input[type=text],form input[type=email],form input[type=password],form input[type=tel],form select{width:100%;padding:9px 10px;border:1px solid var(--borda);border-radius:6px;font-size:1rem;background:#fff}
form input:focus{outline:2px solid var(--ouro);border-color:var(--ouro2)}
.grade{display:grid;grid-template-columns:repeat(6,1fr);gap:0 12px}
.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c1{grid-column:span 1}
fieldset{border:1px solid var(--borda);border-radius:8px;padding:12px 14px 4px;margin:0 0 16px}
legend{font-weight:700;color:var(--verde);padding:0 6px}
.ajuda{font-size:.82rem;color:var(--mudo)}
.erro,.errorlist{color:var(--erro);font-size:.88rem;margin:3px 0 0;padding:0;list-style:none}
input.codigo{font-size:2rem!important;letter-spacing:.4em;text-align:center;font-family:ui-monospace,monospace}
.marcar{display:flex;gap:8px;align-items:flex-start}.marcar input{margin-top:4px}

/* mensagens */
.msgs{list-style:none;padding:0;margin:0 0 16px}
.msgs li{padding:10px 14px;border-radius:6px;margin-bottom:6px;background:#eef3ef;border-left:4px solid var(--verde2)}
.msgs li.error{background:#fbeaea;border-color:var(--erro)}
.msgs li.success{background:#e8f4ec;border-color:var(--ok)}

/* aviso de inatividade */
.aviso-sessao{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--verde);color:#fff;border:2px solid var(--ouro);border-radius:10px;padding:14px 18px;z-index:50;box-shadow:0 6px 20px #0005;display:flex;gap:14px;align-items:center;max-width:calc(100% - 32px)}

/* suporte */
.suporte{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:40}
.suporte a,.suporte span{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--verde);border:2px solid var(--ouro);box-shadow:0 3px 10px #0003;position:relative}
.suporte svg{width:24px;height:24px;fill:var(--ouro)}
.suporte .desligado{opacity:.45;cursor:not-allowed}
.suporte [data-dica]:hover::after{content:attr(data-dica);position:absolute;right:58px;white-space:nowrap;background:#222;color:#fff;font-size:.8rem;padding:4px 8px;border-radius:4px}

/* tabelas */
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--borda)}
th{color:var(--verde)}

footer{text-align:center;font-size:.82rem;color:var(--mudo);padding:18px 16px 80px}

@media (max-width:720px){
  .caixa-login{width:100%}
  .tarja .caixa-login input{flex:1;min-width:0;width:auto}
  .grade{grid-template-columns:1fr}
  .grade>*{grid-column:span 1!important}
  .heroi h1{font-size:1.8rem}
  .marca span{font-size:1.5rem}
  .marca-dagua{width:80vw;right:-10vw}
}
@media (max-width:720px){.suporte a,.suporte span{width:40px;height:40px}.suporte svg{width:20px;height:20px}.suporte{right:10px;bottom:10px}}

/* painel e árvore de chaves */
.topo-painel{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.portao-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.portao-cab h2{margin:0}
.contadores{display:flex;gap:8px}
.contador{background:#eef3ef;border:1px solid var(--borda);border-radius:20px;padding:3px 12px;font-size:.88rem}
.contador.cheio{background:#fbf3dc;border-color:var(--ouro)}
.renomear{margin:8px 0 4px;font-size:.88rem}.renomear summary{cursor:pointer;color:var(--mudo)}
.renomear form{display:flex;gap:8px;margin-top:6px}.renomear input{max-width:260px}
.arvore,.arvore ul{list-style:none;margin:0;padding:0}
.arvore ul{margin-left:22px;border-left:2px solid var(--borda);padding-left:12px}
.no{margin:8px 0}
.no-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;background:#fff}
.nivel1>.no-linha{border-left:5px solid var(--verde)}
.nivel2>.no-linha{border-left:5px solid var(--ouro)}
.nivel3>.no-linha{border-left:5px solid #9bb3a6}
.no-nome{font-weight:700}
.no.cancelada>.no-linha,.no.recusada>.no-linha{opacity:.6;background:#f7f7f5}
.no-acoes{margin-left:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.9rem}
.no-acoes form{display:inline;margin:0}
.no>.ajuda{margin:2px 0 0 12px}
.selo{font-size:.75rem;border-radius:10px;padding:1px 8px;background:#eee;white-space:nowrap}
.selo.nivel{background:#eef3ef;color:var(--verde)}
.selo.aguardando{background:#fbf3dc;color:#7a5a00}
.selo.emitida{background:#e3f2e8;color:var(--ok)}
.selo.recusada{background:#fbeaea;color:var(--erro)}
.selo.cancelada{background:#e8e8e8;color:#555}
a.perigo{color:var(--erro)}
.btn.perigo-btn{background:var(--erro);color:#fff}
.explica{background:#f4f1e6;border-left:4px solid var(--ouro);padding:8px 12px;margin:12px 0;font-size:.92rem}
/* fila do administrador */
.pedido{border-bottom:1px solid var(--borda);padding:12px 0}
.pedido-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;align-items:center}
.pedido-acoes form{margin:0}
.recusa{display:flex;gap:6px;flex:1;min-width:260px}
.recusa input{flex:1;padding:7px 9px;border:1px solid var(--borda);border-radius:6px}
@media (max-width:720px){.no-acoes{margin-left:0;width:100%}.arvore ul{margin-left:8px;padding-left:8px}}

/* administração */
.menu-gestao{display:flex;gap:4px;flex-wrap:wrap;margin:-6px 0 18px;border-bottom:2px solid var(--borda)}
.menu-gestao a{padding:8px 14px;text-decoration:none;color:var(--verde2);border-radius:6px 6px 0 0}
.menu-gestao a.ativo{background:var(--verde);color:var(--ouro)}
.resumo{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.resumo>*{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:10px 16px;text-decoration:none;color:var(--texto)}
.resumo b{font-size:1.4rem;color:var(--verde);margin-right:4px}
.busca{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.busca input[type=search]{flex:1;min-width:220px;padding:9px 10px;border:1px solid var(--borda);border-radius:6px;font-size:1rem}
.dados-cliente>div{margin-bottom:4px}
.paginas{text-align:center;margin:12px 0 0}
a.ativo{font-weight:700}
.msg{border-left:4px solid var(--borda);padding:6px 12px;margin:10px 0;background:#faf9f4}
.msg.suporte{border-color:var(--ouro);background:#fffaf0}
.protocolo{font-family:ui-monospace,monospace;font-size:1.2rem}
.etiquetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.etiqueta{display:flex;gap:10px;align-items:center;border:1px dashed #999;padding:8px;background:#fff;break-inside:avoid}
.etiqueta img{width:110px;height:110px}
.etq-marca{font-family:Georgia,serif;font-weight:700;color:var(--verde)}
.etq-rot{font-size:.7rem;color:var(--mudo)}
.etq-val{font-family:ui-monospace,monospace;font-weight:700}
.codigo-ativ{font-size:1.15rem;letter-spacing:.08em}
@media print{.tarja,footer,.suporte,.nao-imprimir,.msgs,.aviso-sessao{display:none!important}main{padding:0;max-width:none}body{background:#fff}}
form textarea{width:100%;padding:9px 10px;border:1px solid var(--borda);border-radius:6px;font:inherit}
.cancelar-adm summary{cursor:pointer;color:var(--erro);list-style:none}
.cancelar-adm[open]{width:100%}
.cancelar-adm form{margin-top:6px}
