:root{--primary:#0066CC;--primary-dark:#004C99;--primary-light:#E6F0FF;--secondary:#10B981;--danger:#EF4444;--text:#1E293B;--text-muted:#64748B;--bg:#F8FAFC;--border:#E2E8F0;--radius:12px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.header-content{max-width:1280px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:1rem}
.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}
.logo-text{display:flex;flex-direction:column}
.logo-title{font-weight:700;font-size:1.125rem}
.logo-subtitle{font-size:.8125rem;color:var(--text-muted)}
.nav{display:flex;gap:.5rem}
.nav-link{padding:.625rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-weight:500;color:var(--text-muted);transition:all .3s}
.nav-link:hover{background:var(--bg);color:var(--text)}
.nav-link.active{background:var(--primary-light);color:var(--primary)}
.hero{background:linear-gradient(135deg,var(--primary),var(--primary-dark));position:relative;padding:4rem 2rem 8rem;text-align:center}
.hero-title{font-size:2.75rem;font-weight:800;color:#fff;margin-bottom:1rem}
.hero-subtitle{font-size:1.25rem;color:rgba(255,255,255,.85);margin-bottom:3rem}
.consulta-card{background:#fff;border-radius:24px;padding:2rem;max-width:560px;margin:0 auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}
.consulta-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;font-weight:600}
.consulta-header i{color:var(--primary)}
.input-group{display:flex;gap:.75rem}
.input-group input{flex:1;padding:1rem 1.25rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1.125rem;text-align:center;letter-spacing:.05em;font-family:inherit;transition:all .3s}
.input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}
.input-group button{padding:1rem 2rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s}
.input-group button:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.consulta-info{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-top:1rem}
.consulta-info i{color:var(--secondary)}
.hero-waves{position:absolute;bottom:0;left:0;right:0;height:120px}
.hero-waves svg{width:100%;height:100%}
.resultado-section{padding:2rem;margin-top:-4rem;position:relative}
.resultado-section.hidden{display:none}
.container{max-width:1280px;margin:0 auto}
.contribuinte-card{background:#fff;border-radius:16px;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);margin-bottom:2rem}
.contribuinte-avatar{width:64px;height:64px;background:linear-gradient(135deg,var(--primary-light),#DBEAFE);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.5rem}
.contribuinte-info{flex:1}
.contribuinte-info h2{font-size:1.375rem;font-weight:700;margin-bottom:.25rem}
.contribuinte-info p{color:var(--text-muted);font-size:.9375rem}
.contribuinte-resumo{display:flex;gap:2rem}
.resumo-item{text-align:right}
.resumo-label{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.25rem}
.resumo-value{font-size:1.5rem;font-weight:700}
.resumo-item.destaque .resumo-value{color:var(--danger)}
.dividas-container{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);overflow:hidden}
.dividas-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.dividas-header h3{display:flex;align-items:center;gap:.75rem;font-size:1.125rem}
.dividas-header h3 i{color:var(--primary)}
.dividas-filtros{display:flex;gap:.5rem}
.filtro-btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all .3s}
.filtro-btn:hover{border-color:var(--primary);color:var(--primary)}
.filtro-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}
.dividas-lista{padding:.5rem}
.divida-item{display:flex;align-items:center;padding:1.25rem;border-radius:var(--radius);margin-bottom:.5rem;transition:all .3s;gap:1.5rem}
.divida-item:hover{background:var(--bg)}
.divida-tipo{width:56px;height:56px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}
.divida-tipo.IPTU{background:#DBEAFE;color:#1D4ED8}
.divida-tipo.ISS{background:#D1FAE5;color:#059669}
.divida-tipo.ITBI{background:#FEF3C7;color:#D97706}
.divida-tipo.TAXAS{background:#E0E7FF;color:#4F46E5}
.divida-tipo.MULTAS{background:#FEE2E2;color:#DC2626}
.divida-tipo.OUTROS{background:#F3F4F6;color:#6B7280}
.divida-info{flex:1}
.divida-titulo{font-weight:600;margin-bottom:.25rem}
.divida-detalhes{font-size:.875rem;color:var(--text-muted)}
.divida-detalhes span{margin-right:1rem}
.divida-status{padding:.375rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}
.divida-status.ATIVA{background:#FEE2E2;color:#DC2626}
.divida-status.PAGA{background:#D1FAE5;color:#059669}
.divida-status.NEGOCIANDO{background:#FEF3C7;color:#D97706}
.divida-status.PARCELADA{background:#DBEAFE;color:#2563EB}
.divida-valor{text-align:right;min-width:120px}
.divida-valor-label{font-size:.75rem;color:var(--text-muted)}
.divida-valor-total{font-size:1.25rem;font-weight:700}
.btn-pagar{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--secondary),#059669);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s}
.btn-pagar:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.btn-pagar:disabled{background:#F1F5F9;color:#94A3B8;cursor:not-allowed;transform:none;box-shadow:none}
.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}
.modal.hidden{display:none}
.modal-overlay{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px)}
.modal-content{position:relative;background:#fff;border-radius:24px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);animation:modalIn .3s ease}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:var(--bg);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}
.modal-close:hover{background:var(--danger);color:#fff}
.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border)}
.modal-header h2{font-size:1.25rem;display:flex;align-items:center;gap:.75rem}
.modal-header h2 i{color:var(--primary)}
.modal-body{padding:1.5rem 2rem 2rem}
.pagamento-resumo{background:var(--bg);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem}
.resumo-linha{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem}
.resumo-linha span{color:var(--text-muted)}
.resumo-linha.total{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:.75rem}
.resumo-linha.total strong{font-size:1.25rem;color:var(--primary)}
.pagamento-opcoes{display:flex;flex-direction:column;gap:.75rem}
.opcao-pagamento{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:2px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;transition:all .3s;text-align:left;width:100%;font-family:inherit}
.opcao-pagamento:hover{border-color:var(--primary);background:var(--primary-light)}
.opcao-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.opcao-icon.pix{background:#D1FAE5;color:#059669}
.opcao-icon.cartao{background:#DBEAFE;color:#2563EB}
.opcao-icon.boleto{background:#F3F4F6;color:#6B7280}
.opcao-info{flex:1}
.opcao-info strong{display:block;font-size:1rem;margin-bottom:.125rem}
.opcao-info span{font-size:.8125rem;color:var(--text-muted)}
.opcao-badge{background:var(--secondary);color:#fff;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:700}
.pix-container,.boleto-container{text-align:center}
.pix-qrcode{margin-bottom:1.5rem}
.qr-placeholder{width:200px;height:200px;background:var(--bg);border-radius:var(--radius);margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--text-muted)}
.pix-valor{margin-bottom:1.5rem}
.pix-valor span{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}
.pix-valor strong{font-size:2rem;color:var(--secondary)}
.pix-copiacola,.boleto-linha-digitavel{margin-bottom:1rem}
.pix-copiacola label,.boleto-linha-digitavel label{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.5rem}
.copiacola-input,.linha-input{display:flex;gap:.5rem}
.copiacola-input input,.linha-input input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-family:monospace;font-size:.8125rem;background:var(--bg)}
.copiacola-input button,.linha-input button{padding:.75rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:all .3s}
.copiacola-input button:hover,.linha-input button:hover{background:var(--primary-dark)}
.boleto-sucesso{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--secondary);font-weight:600;font-size:1.125rem;margin-bottom:1.5rem}
.boleto-sucesso i{font-size:1.5rem}
.boleto-info{background:var(--bg);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}
.boleto-info .info-linha{display:flex;justify-content:space-between;padding:.5rem 0}
.footer{background:var(--text);color:#fff;padding:2rem;margin-top:4rem}
.footer-content{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-info{display:flex;flex-direction:column;gap:.25rem}
.footer-info strong{font-size:1rem}
.footer-info span{font-size:.875rem;opacity:.7}
.footer-contato span{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.9}
.hidden{display:none!important}
.loading{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:768px){.header-content{flex-direction:column;gap:1rem}.hero-title{font-size:2rem}.input-group{flex-direction:column}.contribuinte-card{flex-direction:column;text-align:center}.contribuinte-resumo{width:100%;justify-content:space-around}.dividas-header{flex-direction:column;gap:1rem}.divida-item{flex-wrap:wrap}.footer-content{flex-direction:column;gap:1.5rem;text-align:center}}
