1<!DOCTYPE html> 2<html lang="pt-BR" data-bs-theme="light"> 3<head> 4 <meta charset="utf-8"> 5 <title>PM PIANCà - Portal da Transparência</title> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <meta name="description" content="Portal da Transparência da PM PIANCÃ. Acesse informações sobre receitas, despesas, licitações, contratos, servidores e muito mais."> 8 <meta name="keywords" content="transparência, portal, PM PIANCÃ, PB, receitas, despesas, licitações, contratos, pessoal, contas públicas, PNTP 2026"> 9 <meta name="author" content="PM PIANCÃ"> 10 <meta name="robots" content="index, follow"> 11 <link rel="canonical" href="https://pianco.pb.gov.br/assuntos/portal-da-transparencia"> 12 13 <!-- Open Graph / Facebook --> 14 <meta property="og:type" content="website"> 15 <meta property="og:locale" content="pt_BR"> 16 <meta property="og:site_name" content="Portal da Transparência"> 17 <meta property="og:title" content="PM PIANCà - Portal da Transparência"> 18 <meta property="og:description" content="Acesse informações sobre receitas, despesas, licitações, contratos e gestão pública de PM PIANCÃ/PB. Lei 12.527 (LAI)."> 19 <meta property="og:image" content="https://files.easyweb.net.br/prefeituras/transparencia/2018/large/pianco.png"> 20 <meta property="og:url" content="https://pianco.pb.gov.br/assuntos/portal-da-transparencia"> 21 22 <!-- Twitter Card --> 23 <meta name="twitter:card" content="summary_large_image"> 24 <meta name="twitter:title" content="PM PIANCà - Portal da Transparência"> 25 <meta name="twitter:description" content="Portal da Transparência â PM PIANCÃ/PB. Receitas, despesas, licitações e mais."> 26 <meta name="twitter:image" content="https://files.easyweb.net.br/prefeituras/transparencia/2018/large/pianco.png"> 27 28 <!-- Favicon --> 29 <link rel="shortcut icon" type="image/png" href="https://files.easyweb.net.br/prefeituras/transparencia/2018/small/pianco-sm.png"> 30 <link rel="apple-touch-icon" href="https://files.easyweb.net.br/prefeituras/transparencia/2018/large/pianco.png"> 31 32 <!-- Google Fonts: Inter --> 33 <link rel="preconnect" href="https://fonts.googleapis.com"> 34 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 35 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet"> 36 37 <!-- Bootstrap 5.3.3 --> 38 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 39 40 <!-- Font Awesome 6.5.1 (com fallback para garantir carregamento) --> 41 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer"> 42 <link rel="preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"> 43 44 <!-- AOS - Animate on Scroll --> 45 <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet"> 46 47 <!-- Schema.org --> 48
48<script type="application/ld+json"> 49 { 50 "@context": "https://schema.org", 51 "@type": "GovernmentOrganization", 52 "name": "PM PIANCÃ", 53 "url": "https://pianco.pb.gov.br", 54 "logo": "https://files.easyweb.net.br/prefeituras/transparencia/2018/large/pianco.png", 55 "address": { 56 "@type": "PostalAddress", 57 "streetAddress": "Praça Salviano Leite, 10A, Centro - Piancó PB | CEP: 58765-000", 58 "addressRegion": "PB", 59 "addressCountry": "BR" 60 }, 61 "telephone": "(83) 3452-2368 ", 62 "email": "[email protected]" 63 } 64 </script>
64 65 66 67 <style> 68 /* ================================================================ 69 PORTAL DA TRANSPARÃNCIA â Design System 70 ================================================================ */ 71 :root { 72 /* Paleta â valores do portal_config.json com fallback azul institucional */ 73 --pt-nav-from: hsl(0,0%,100%); /* navbar gradiente inicio */ 74 --pt-nav-to: hsl(215,14%,24%); /* navbar gradiente fim */ 75 --pt-topbar-bg: hsl(220,16%,16%); /* topbar */ 76 --pt-hero-from: hsl(220,18%,11%); /* hero gradiente inicio */ 77 --pt-hero-to: hsl(215,14%,24%); /* hero gradiente fim */ 78 --pt-accent: hsl(186,60%,42%); /* botões, links, badges */ 79 --pt-accent-light: hsl(186,55%,55%); 80 --pt-primary: hsl(220,16%,16%); 81 --pt-primary-light: hsl(215,14%,24%); 82 --pt-surface: #f8fafc; 83 --pt-surface-alt: #f1f5f9; 84 --pt-text: #1e293b; 85 --pt-text-muted: #64748b; 86 --pt-border: #e2e8f0; 87 --pt-card-bg: #ffffff; 88 --pt-card-shadow: 0 1px 3px rgba(0,0,0,0.06); 89 --pt-card-shadow-hover: 0 20px 40px rgba(0,0,0,0.1); 90 --pt-radius: 16px; 91 --pt-radius-sm: 12px; 92 --pt-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 93 } 94 95 [data-bs-theme="dark"] { 96 --pt-primary: #1e293b; 97 --pt-primary-light: #334155; 98 --pt-surface: #0f172a; 99 --pt-surface-alt: #1e293b; 100 --pt-text: #e2e8f0; 101 --pt-text-muted: #94a3b8; 102 --pt-border: #334155; 103 --pt-card-bg: #1e293b; 104 --pt-card-shadow: 0 1px 3px rgba(0,0,0,0.3); 105 --pt-card-shadow-hover: 0 20px 40px rgba(0,0,0,0.4); 106 --pt-hero-from: #020617; 107 --pt-hero-to: #0f172a; 108 } 109 110 * { box-sizing: border-box; } 111 112 body { 113 font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; 114 color: var(--pt-text); 115 background: var(--pt-surface); 116 -webkit-font-smoothing: antialiased; 117 scroll-behavior: smooth; 118 } 119 120 /* ---- TOPBAR ---- */ 121 .topbar { 122 background: var(--pt-topbar-bg); 123 padding: 6px 0; 124 font-size: 0.8rem; 125 } 126 .topbar a { 127 color: rgba(255,255,255,0.7); 128 text-decoration: none; 129 transition: color 0.2s; 130 } 131 .topbar a:hover { color: #fff; } 132 .topbar .separator { color: rgba(255,255,255,0.2); margin: 0 8px; } 133 /* Botão emag com texto visÃvel */ 134 .emag-btn-label { 135 padding-left: 0.5rem !important; 136 padding-right: 0.5rem !important; 137 display: inline-flex; 138 align-items: center; 139 gap: 0.3rem; 140 font-size: 0.75rem !important; 141 white-space: nowrap; 142 } 143 144 /* ---- NAVBAR ---- */ 145 .navbar-portal { 146 background: linear-gradient(135deg, var(--pt-nav-from) 0%, var(--pt-nav-to) 100%); 147 border-bottom: 1px solid rgba(255,255,255,0.08); 148 padding: 0.6rem 0; 149 transition: var(--pt-transition); 150 } 151 .navbar-portal.scrolled { 152 background: var(--pt-nav-from); 153 backdrop-filter: blur(12px); 154 box-shadow: 0 4px 24px rgba(0,0,0,0.2); 155 } 156 /* Brand */ 157 .navbar-brand-text { 158 font-size: 1.05rem; 159 font-weight: 800; 160 color: #000000; 161 line-height: 1.2; 162 letter-spacing: -0.01em; 163 } 164 .navbar-brand-text small { 165 font-size: 0.72rem; 166 font-weight: 400; 167 color: rgba(0,0,0,0.55); 168 letter-spacing: 0.02em; 169 } 170 /* Nav links */ 171 .navbar-portal .nav-link { 172 color: rgba(255,255,255,0.8) !important; 173 font-size: 0.875rem; 174 font-weight: 500; 175 padding: 0.45rem 0.85rem !important; 176 border-radius: 8px; 177 transition: all 0.2s; 178 white-space: nowrap; 179 } 180 .navbar-portal .nav-link:hover, 181 .navbar-portal .nav-link:focus { 182 color: #fff !important; 183 background: rgba(255,255,255,0.1); 184 } 185 .navbar-portal .nav-link.active { 186 color: #fff !important; 187 background: rgba(59,130,246,0.3); 188 } 189 /* Dropdown */ 190 .navbar-portal .dropdown-menu { 191 background: #fff; 192 border: none; 193 border-radius: 12px; 194 box-shadow: 0 16px 48px rgba(0,0,0,0.18); 195 padding: 0.5rem; 196 min-width: 380px; 197 margin-top: 0.4rem; 198 max-height: 85vh; 199 overflow-y: auto; 200 } 201 /* Bootstrap sobrescreve display com 'block' no .show â usamos grid no .show */ 202 .navbar-portal .dropdown-menu.show { 203 display: grid !important; 204 grid-template-columns: 1fr 1fr; 205 gap: 0.15rem; 206 } 207 /* Resetar estilo de lista para funcionar com grid */ 208 .navbar-portal .dropdown-menu > li { 209 list-style: none; 210 margin: 0; 211 padding: 0; 212 } 213 .navbar-portal .dropdown-item { 214 border-radius: 8px; 215 font-size: 0.82rem; 216 font-weight: 500; 217 color: #334155; 218 padding: 0.45rem 0.75rem; 219 break-inside: avoid; 220 display: flex; 221 align-items: center; 222 gap: 0.5rem; 223 transition: all 0.15s; 224 } 225 .navbar-portal .dropdown-item:hover { 226 background: #f1f5f9; 227 color: #0f172a; 228 } 229 .navbar-portal .dropdown-item i { 230 width: 18px; 231 text-align: center; 232 font-size: 0.75rem; 233 color: #3b82f6; 234 flex-shrink: 0; 235 } 236 /* Botão e-SIC destaque */ 237 .nav-btn-esic { 238 background: linear-gradient(135deg, #059669, #047857); 239 color: #fff !important; 240 padding: 0.4rem 1rem !important; 241 border-radius: 8px; 242 font-weight: 700 !important; 243 font-size: 0.82rem !important; 244 letter-spacing: 0.01em; 245 box-shadow: 0 2px 8px rgba(5,150,105,0.35); 246 transition: all 0.2s !important; 247 margin-left: 0.5rem; /* afasta do dropdown Secoes */ 248 } 249 .nav-btn-esic:hover { 250 background: linear-gradient(135deg, #047857, #065f46) !important; 251 color: #fff !important; 252 transform: translateY(-1px); 253 box-shadow: 0 4px 12px rgba(5,150,105,0.45); 254 } 255 /* Separador vertical entre e-SIC e theme-toggle */ 256 .nav-sep { 257 width: 1px; 258 height: 22px; 259 background: rgba(255,255,255,0.18); 260 margin: 0 0.5rem; 261 display: inline-block; 262 vertical-align: middle; 263 } 264 /* Theme toggle â navbar escuro: Ãcone lua amarelo, borda visÃvel */ 265 .theme-toggle { 266 background: rgba(255,255,255,0.12); 267 border: 1.5px solid rgba(255,255,255,0.3); 268 color: #fbbf24 !important; /* amarelo âmbar */ 269 width: 36px; 270 height: 36px; 271 border-radius: 50%; 272 display: flex; 273 align-items: center; 274 justify-content: center; 275 cursor: pointer; 276 transition: all 0.2s; 277 font-size: 1rem; 278 flex-shrink: 0; 279 } 280 .theme-toggle i { color: #fbbf24 !important; } /* garante cor no Ãcone */ 281 .theme-toggle:hover { 282 background: rgba(255,255,255,0.22); 283 border-color: rgba(255,255,255,0.5); 284 color: #fde68a !important; 285 transform: rotate(20deg); 286 } 287 .theme-toggle:hover i { color: #fde68a !important; } 288 /* Toggler mobile */ 289 .navbar-portal .navbar-toggler { 290 color: rgba(255,255,255,0.8); 291 padding: 0.4rem; 292 } 293 /* Collapse mobile */ 294 @media (max-width: 991px) { 295 .navbar-portal .navbar-collapse { 296 background: #0f172a; 297 border-radius: 12px; 298 margin-top: 0.5rem; 299 padding: 0.75rem; 300 } 301 .navbar-portal .dropdown-menu { 302 grid-template-columns: 1fr; 303 background: rgba(255,255,255,0.05); 304 box-shadow: none; 305 min-width: unset; 306 } 307 .navbar-portal .dropdown-item { 308 color: rgba(255,255,255,0.8); 309 } 310 .navbar-portal .dropdown-item:hover { 311 background: rgba(255,255,255,0.1); 312 color: #fff; 313 } 314 .navbar-portal .dropdown-item i { color: #60a5fa; } 315 } 316 317 /* ---- HERO ---- */ 318 .hero { 319 background: linear-gradient(135deg, var(--pt-hero-from) 0%, var(--pt-hero-to) 100%); 320 position: relative; 321 overflow: visible; 322 padding: 4rem 0 3.5rem; 323 } 324 .hero::before { 325 content: ''; 326 position: absolute; 327 top: 0; left: 0; right: 0; bottom: 0; 328 background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewB
328ox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); 329 opacity: 1; 330 } 331 .hero .container { position: relative; z-index: 10; } 332 .hero h1 { 333 font-size: 2.2rem; 334 font-weight: 800; 335 color: #fff; 336 margin-bottom: 0.5rem; 337 } 338 .hero .lead { color: rgba(255,255,255,0.75); font-size: 1rem; } 339 .hero .search-box { 340 background: rgba(255,255,255,0.1); 341 backdrop-filter: blur(12px); 342 border: 1px solid rgba(255,255,255,0.15); 343 border-radius: var(--pt-radius); 344 padding: 6px; 345 max-width: 640px; 346 } 347 .hero .search-box input { 348 background: transparent; 349 border: none; 350 color: #fff; 351 padding: 12px 16px; 352 font-size: 1rem; 353 width: 100%; 354 } 355 .hero .search-box input::placeholder { color: rgba(255,255,255,0.5); } 356 .hero .search-box input:focus { outline: none; } 357 .hero .search-box .btn-search { 358 background: var(--pt-accent); 359 color: #fff; 360 border: none; 361 border-radius: var(--pt-radius-sm); 362 padding: 10px 24px; 363 font-weight: 600; 364 transition: var(--pt-transition); 365 } 366 .hero .search-box .btn-search:hover { background: var(--pt-accent-light); transform: scale(1.02); } 367 368 /* ---- LIVE SEARCH DROPDOWN ---- */ 369 .search-wrapper { position: relative; flex: 1; } 370 .search-dropdown { 371 position: absolute; 372 top: calc(100% + 8px); 373 left: 0; 374 right: 0; 375 background: #fff; 376 border-radius: var(--pt-radius); 377 box-shadow: 0 8px 32px rgba(0,0,0,0.22); 378 z-index: 9999; 379 max-height: 340px; 380 overflow-y: auto; 381 display: none; 382 animation: sdFadeIn 0.15s ease; 383 } 384 @keyframes sdFadeIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } } 385 .search-dropdown.visible { display: block; } 386 .sd-item { 387 display: flex; 388 align-items: center; 389 gap: 12px; 390 padding: 11px 16px; 391 cursor: pointer; 392 transition: background 0.15s; 393 border-bottom: 1px solid #f1f5f9; 394 text-decoration: none; 395 color: #0f172a; 396 } 397 .sd-item:last-child { border-bottom: none; } 398 .sd-item:hover, .sd-item.sd-active { background: #eff6ff; } 399 .sd-icon { 400 width: 34px; 401 height: 34px; 402 border-radius: 8px; 403 display: flex; 404 align-items: center; 405 justify-content: center; 406 font-size: 0.85rem; 407 flex-shrink: 0; 408 color: #fff; 409 } 410 .sd-texts { flex: 1; min-width: 0; } 411 .sd-title { font-weight: 600; font-size: 0.88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 412 .sd-section { font-size: 0.75rem; color: #64748b;
412 margin-top: 1px; } 413 .sd-title mark { background: #fde68a; color: #92400e; border-radius: 2px; padding: 0 2px; font-style: normal; } 414 .sd-empty { padding: 18px 16px; text-align: center; color: #64748b; font-size: 0.88rem; } 415 .sd-footer { padding: 9px 16px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-size: 0.78rem; color: #64748b; text-align: center; border-radius: 0 0 var(--pt-radius) var(--pt-radius); } 416 417 /* ---- QUICK ACCESS ---- */ 418 .quick-access { 419 background: var(--pt-card-bg); 420 border-bottom: 1px solid var(--pt-border); 421 padding: 1rem 0; 422 } 423 .quick-link { 424 display: flex; 425 align-items: center; 426 gap: 10px; 427 padding: 10px 20px; 428 border-radius: var(--pt-radius-sm); 429 text-decoration: none; 430 color: var(--pt-text); 431 font-weight: 600; 432 font-size: 0.9rem; 433 transition: var(--pt-transition); 434 border: 1px solid var(--pt-border); 435 } 436 .quick-link:hover { 437 background: var(--pt-accent); 438 color: #fff; 439 border-color: var(--pt-accent); 440 transform: translateY(-2px); 441 box-shadow: 0 4px 12px rgba(37,99,235,0.3); 442 } 443 .quick-link i { font-size: 1.1rem; } 444 445 /* ---- SECTIONS ---- */ 446 .section-portal { 447 padding: 3rem 0; 448 } 449 .section-portal:nth-child(even) { background: var(--pt-surface-alt); } 450 .section-portal:nth-child(odd) { background: var(--pt-surface); } 451 452 .section-header { 453 display: flex; 454 align-items: flex-start; 455 gap: 14px; 456 margin-bottom: 1.5rem; 457 } 458 .section-icon { 459 width: 44px; 460 height: 44px; 461 border-radius: var(--pt-radius-sm); 462 display: flex; 463 align-items: center; 464 justify-content: center; 465 font-size: 1.1rem; 466 color: #fff; 467 flex-shrink: 0; 468 margin-top: 2px; 469 } 470 .section-header h2 { 471 font-size: 1.4rem; 472 font-weight: 800; 473 margin: 0; 474 color: var(--pt-text); 475 } 476 .section-subtitle { 477 color: var(--pt-text-muted); 478 font-size: 0.85rem; 479 margin: .25rem 0 0; 480 line-height: 1.5; 481 } 482 483 /* ---- CARDS ---- */ 484 .card-portal { 485 background: var(--pt-card-bg); 486 border: 1px solid var(--pt-border); 487 border-radius: var(--pt-radius); 488 padding: 1.25rem; 489 transition: var(--pt-transition); 490 cursor: pointer; 491 height: 100%; 492 display: flex; 493 flex-direction: column; 494 position: relative; 495 overflow: hidden; 496 } 497 .card-portal::before { 498 content: ''; 499 position: absolute; 500 top: 0; 501 left: 0; 502 width: 4px; 503 height: 100%; 504 border-radius: 4px 0 0 4px; 505 opacity: 0; 506 transition: var(--pt-transition); 507 } 508 .card-portal:hover { 509 transform: translateY(-6px); 510 box-shadow: var(--pt-card-shadow-hover); 511 border-color: transparent; 512 } 513 .card-portal:hover::before { opacity: 1; } 514 515 .card-portal .icon-wrap { 516 width: 44px; 517 height: 44px; 518 border-radius: var(--pt-radius-sm); 519 display: flex; 520 align-items: center; 521 justify-content: center; 522 font-size: 1.15rem; 523 margin-bottom: 0.75rem; 524 transition: var(--pt-transition); 525 z-index: 2; 526 } 527 .card-portal:hover .icon-wrap { transform: scale(1.1); } 528 529 .card-portal h3 { 530 font-size: 0.9rem; 531 font-weight: 700; 532 margin-bottom: 0.25rem; 533 color: var(--pt-text); 534 line-height: 1.3; 535 z-index: 2; 536 } 537 .card-portal .card-desc { 538 font-size: 0.78rem; 539 color: var(--pt-text-muted); 540 line-height: 1.4; 541 margin-top: auto; 542 display: none; 543 } 544 .card-portal:hover .card-desc { display: block; } 545 body.help-mode .card-portal .card-desc { display: block; } 546 .card-portal .pntp-badge { 547 position: absolute; 548 bottom: 8px; 549 right: 8px; 550 font-size: 0.6rem; 551 font-weight: 600; 552 color: #fff; 553 background: var(--pt-accent); 554 padding: 2px 7px; 555 border-radius: 6px; 556 opacity: 0.85; 557 z-index: 3; 558 letter-spacing: 0.3px; 559 pointer-events: none; 560 } 561 562 .card-portal > a.card-overlay-link { 563 text-decoration: none; 564 color: inherit; 565 position: absolute; 566 top: 0; left: 0; right: 0; bottom: 0; 567 /* Acima do conteudo (icon-wrap/h3 sao itens flex com z-index:2),
568 abaixo do botao PNTP (5) e do olho admin (10) */ 569 z-index: 4; 570 } 571 572 .card-portal.card-disabled { 573 opacity: 0.5; 574 cursor: default; 575 } 576 .card-portal.card-disabled:hover { 577 transform: none; 578 box-shadow: var(--pt-card-shadow); 579 } 580 581 /* Card "em breve" â visÃvel em produção, mas sem URL ainda */ 582 .card-portal.card-em-breve { 583 cursor: default; 584 border-style: dashed; 585 opacity: 0.82; 586 } 587 .card-portal.card-em-breve:hover { 588 transform: none; 589 box-shadow: var(--pt-card-shadow); 590 } 591 592 /* Card ocultado pelo admin â visÃvel só para admin */ 593 .card-portal.card-hidden-admin { 594 opacity: 0.35; 595 border: 2px dashed #ef4444; 596 background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(239,68,68,0.03) 10px, rgba(239,68,68,0.03) 20px); 597 } 598 .card-portal.card-hidden-admin:hover { opacity: 0.6; } 599 600 /* Botão olho â toggle de visibilidade (admin only) */ 601 .btn-eye-toggle { 602 position: absolute; 603 top: 6px; 604 right: 6px; 605 z-index: 10; 606 width: 28px; 607 height: 28px; 608 border: none; 609 border-radius: 50%; 610 background: rgba(0,0,0,0.06); 611 color: #64748b; 612 font-size: 12px; 613 cursor: pointer; 614 display: flex; 615 align-items: center; 616 justify-content: center; 617 transition: all 0.2s; 618 opacity: 0; 619 } 620 .card-portal:hover .btn-eye-toggle { opacity: 1; } 621 .btn-eye-toggle:hover { background: #2563eb; color: #fff; transform: scale(1.15); } 622 .btn-eye-toggle.is-hidden { opacity: 1; background: #fecaca; color: #dc2626; } 623 .btn-eye-toggle.is-hidden:hover { background: #dc2626; color: #fff; } 624 .card-portal.card-em-breve .icon-wrap { opacity: 0.6; } 625 .badge-em-breve { 626 display: inline-flex; 627 align-items: center; 628 gap: 4px; 629 font-size: 0.63rem; 630 font-weight: 700; 631 background: #e0f2fe; 632 color: #0369a1; 633 border: 1px solid #bae6fd; 634 padding: 2px 9px; 635 border-radius: 20px; 636 margin-left: 6px; 637 white-space: nowrap; 638 } 639 .badge-em-breve i { font-size: 0.55rem; } 640 /* badge pntp sempre visÃvel para cards em-breve */ 641 .card-portal.card-em-breve .pntp-badge { 642 opacity: 1; 643 background: #0369a1; 644 } 645 .badge-soon { 646 font-size: 0.65rem; 647 background: var(--pt-accent); 648 color: #fff; 649 padding: 2px 8px; 650 border-radius: 20px; 651 margin-left: 8px; 652 font-weight: 600; 653 } 654 .badge-url-missing { 655 font-size: 0.6rem; 656 background: #f59e0b; 657 color: #78350f; 658 padding: 2px 8px; 659 border-radius: 20px; 660 margin-left: 6px; 661 font-weight: 700; 662 display: inline-flex; 663 align-items: center; 664 gap: 4px; 665 animation: pulse-warning 2s ease-in-out infinite; 666 } 667 .badge-url-missing i { font-size: 0.55rem; } 668 @keyframes pulse-warning { 669 0%, 100% { opacity: 1; } 670 50% { opacity: 0.6; } 671 } 672 .card-external-icon { 673 font-size: 0.55rem; 674 opacity: 0.35; 675 margin-left: 4px; 676 vertical-align: super; 677 } 678 679 /* ---- BREADCRUMB ---- */ 680 .breadcrumb-portal { 681 background: var(--pt-surface-alt); 682 padding: 0.5rem 0; 683 border-bottom: 1px solid var(--pt-border); 684 font-size: 0.8rem; 685 } 686 .breadcrumb-portal a { color: var(--pt-accent); text-decoration: none; } 687 .breadcrumb-portal a:hover { text-decoration: underline; } 688 689 /* ---- SATISFACTION SURVEY ---- */ 690 .survey-section { 691 background: linear-gradient(135deg, var(--pt-accent) 0%, var(--pt-nav-from) 100%); 692 padding: 3rem 0; 693 color: #fff; 694 } 695 .survey-card { 696 background: rgba(255,255,255,0.1); 697 backdrop-filter: blur(8px); 698 border: 1px solid rgba(255,255,255,0.15); 699 border-radius: var(--pt-radius); 700 padding: 1.5rem; 701 text-align: center; 702 transition: var(--pt-transition); 703 cursor: pointer; 704 } 705 .survey-card:hover { 706 background: rgba(255,255,255,0.2); 707 transform: translateY(-4px); 708 } 709 .survey-card .emoji { font-size: 2.5rem; margin-bottom: 0.5rem; } 710 .survey-card span { font-size: 0.85rem; font-weight: 600; } 711 .survey-form-card { 712 max-width: 600px; 713 background: rgba(255,255,255,0.92); 714 backdrop-filter: blur(12px); 715 border-radius: var(--pt-radius); 716 color: #1e293b; 717 } 718 .survey-form-card label { color: #334155; font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; } 719 .survey-form-card input, 720 .survey-form-card textarea { 721 background: #fff; 722 border: 1px solid #cbd5e1; 723 border-radius: 8px; 724 padding: .6rem .8rem; 725 width: 100%; 726 font-size: .9rem; 727 color: #1e293b; 728 transition: border-color .2s; 729 } 730 .survey-form-card input:focus, 731 .survey-form-card textarea:focus { border-color: var(--pt-accent); outline: none; box-shadow: 0 0 0 3px rgba(0,0,0,.06); } 732 .survey-form-card button, 733 .survey-form-card input[type="submit"] { 734 background: var(--pt-accent); 735 color: #fff; 736 border: none; 737 padding: .6rem 2rem; 738 border-radius: 8px; 739 font-weight: 700; 740 font-size: .9rem; 741 cursor: pointer; 742 transition: background .2s, transform .15s; 743 } 744 .survey-form-card button:hover, 745 .survey-form-card input[type="submit"]:hover { background: var(--pt-accent-light); transform: translateY(-1px); } 746 747 /* ---- FOOTER ---- */ 748 .footer-portal { 749 background: var(--pt-primary); 750 color: rgba(255,255,255,0.7); 751 padding: 3rem 0 1.5rem; 752 } 753 .footer-portal h6 { color: #fff; font-weight: 700; margin-bottom: 1rem; } 754 .footer-portal a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.2s; } 755 .footer-portal a:hover { color: #fff; } 756 .footer-portal .footer-bottom { 757 border-top: 1px solid rgba(255,255,255,0.1); 758 padding-top: 1.5rem; 759 margin-top: 2rem; 760 font-size: 0.8rem; 761 text-align: center; 762 } 763 .footer-social a { 764 width: 36px; height: 36px; 765 border-radius: 50%; 766 display: inline-flex; 767 align-items: center; 768 justify-content: center; 769 background: rgba(255,255,255,0.1); 770 color: rgba(255,255,255,0.7); 771 transition: var(--pt-transition); 772 font-size: 1rem; 773 } 774 .footer-social a:hover { background: var(--pt-accent); color: #fff; transform: translateY(-2px); } 775 776 /* ---- OFFCANVAS ---- */ 777 .offcanvas-accessibility .btn-access { 778 display: block; 779 width: 100%; 780 text-align: left; 781 padding: 12px 16px; 782 border-radius: var(--pt-radius-sm); 783 border: 1px solid var(--pt-border); 784 background: var(--pt-card-bg); 785 color: var(--pt-text); 786 font-size: 0.9rem; 787 font-weight: 500; 788 transition: var(--pt-transition); 789 margin-bottom: 8px; 790 cursor: pointer; 791 } 792 .offcanvas-accessibility .btn-access:hover { 793 background: var(--pt-accent); 794 color: #fff; 795 border-color: var(--pt-accent); 796 } 797 .offcanvas-accessibility .btn-access i { margin-right: 8px;
797 width: 20px; text-align: center; } 798 799 /* ---- BACK TO TOP ---- */ 800 .btn-top { 801 position: fixed; 802 bottom: 90px; 803 right: 24px; 804 width: 44px; 805 height: 44px; 806 border-radius: 50%; 807 background: var(--pt-accent); 808 color: #fff; 809 border: none; 810 display: flex; 811 align-items: center; 812 justify-content: center; 813 font-size: 1.2rem; 814 box-shadow: 0 4px 12px rgba(37,99,235,0.4); 815 transition: var(--pt-transition); 816 opacity: 0; 817 pointer-events: none; 818 z-index: 1050; 819 } 820 .btn-top.visible { opacity: 1; pointer-events: auto; } 821 .btn-top:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(37,99,235,0.5); } 822 823 /* ---- THEME TOGGLE (legado removido â definição principal em navbar CSS) ---- */ 824 /* Mantido apenas para alto contraste e dark mode do portal */ 825 [data-contrast='alto'] .theme-toggle, 826 [data-contrast='negativo'] .theme-toggle { border-color: #fff; } 827 828 /* ---- HIGH CONTRAST ---- */ 829 .high-contrast { 830 --pt-surface: #000 !important; 831 --pt-surface-alt: #111 !important; 832 --pt-card-bg: #000 !important; 833 --pt-text: #ffff00 !important; 834 --pt-text-muted: #ffff00 !important; 835 --pt-border: #ffff00 !important; 836 } 837 .high-contrast .card-portal, .high-contrast .hero, 838 .high-contrast .footer-portal, .high-contrast .topbar, 839 .high-contrast .navbar-portal { 840 border: 2px solid #ffff00 !important; 841 } 842 843 /* ---- MAP ---- */ 844 .map-section { position: relative; } 845 .map-section iframe { border: 0; width: 100%; height: 400px; } 846 847 /* ---- RESPONSIVE ---- */ 848 @media (max-width: 768px) { 849 .hero { padding: 2.5rem 0 2rem; } 850 .hero h1 { font-size: 1.5rem; } 851 .quick-access .d-flex { flex-wrap: wrap; gap: 8px !important; } 852 .topbar { display: none !important; } 853 } 854 855 /* ---- ACCESSIBILITY SYMBOL (PNTP 13.1) ---- */ 856 .access-symbol { 857 display: inline-flex; 858 align-items: center; 859 gap: 4px; 860 font-weight: 600; 861 color: rgba(255,255,255,0.8); 862 } 863 .access-symbol i { font-size: 1.1rem; } 864 865 /* ---- INFO BUTTON (i) ---- */ 866 .btn-info-pntp { 867 position: absolute; 868 top: 10px; 869 right: 10px; 870 width: 22px; 871 height: 22px; 872 border-radius: 50%; 873 border: 1.5px solid var(--pt-border); 874 background: var(--pt-card-bg); 875 color: var(--pt-text-muted); 876 font-size: 0.65rem; 877 font-weight: 700; 878 display: flex; 879 align-items: center; 880 justify-content: center; 881 cursor: pointer; 882 z-index: 5; 883 transition: var(--pt-transition); 884 font-style: italic; 885 font-family: Georgia, 'Times New Roman', serif; 886 line-height: 1; 887 } 888 .btn-info-pntp:hover { 889 background: var(--pt-accent); 890 color: #fff; 891 border-color: var(--pt-accent); 892 transform: scale(1.15); 893 } 894 .popover { 895 --bs-popover-max-width: 380px; 896 --bs-popover-border-color: var(--pt-border); 897 font-family: 'Inter', sans-serif; 898 } 899 .popover-header { 900 font-size: 0.8rem; 901 font-weight: 700; 902 background: var(--pt-surface-alt); 903 border-bottom: 1px solid var(--pt-border); 904 } 905 .popover-body { 906 font-size: 0.78rem; 907 line-height: 1.5; 908 max-height: 300px; 909 overflow-y: auto; 910 } 911 .popover-body .badge-sm { 912 font-size: 0.6rem !important; 913 padding: 2px 6px; 914 vertical-align: middle; 915 } 916 917 /* ---- PNTP CHECKLIST SIDEBAR (dev mode) ---- */ 918 .btn-pntp-checklist { 919 position: fixed; 920 left: 12px; 921 bottom: 80px; 922 display: flex; 923 align-items: center; 924 gap: 7px; 925 background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); 926 color: #fff; 927 border: none; 928 padding: 9px 14px; 929 font-size: 0.72rem; 930 font-weight: 700; 931 letter-spacing: 0.5px; 932 text-transform: uppercase; 933 border-radius: 50px; 934 cursor: pointer; 935 z-index: 1060; 936 box-shadow: 0 4px 18px rgba(37,99,235,0.35); 937 transition: var(--pt-transition); 938 white-space: nowrap; 939 } 940 .btn-pntp-checklist:hover { 941 background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 100%); 942 transform: translateY(-2px); 943 box-shadow: 0 6px 24px rgba(37,99,235,0.5); 944 } 945 .btn-pntp-checklist i { 946 font-size: 1rem; 947 } 948 949 .offcanvas-pntp { 950 --bs-offcanvas-width: 440px; 951 } 952 .offcanvas-pntp .offcanvas-header { 953 background: linear-gradient(135deg, #1e3a5f 0%, #0f172a 100%); 954 color: #fff; 955 padding: 1.25rem; 956 } 957 .offcanvas-pntp .offcanvas-header .btn-close { 958 filter: invert(1); 959 } 960 .offcanvas-pntp .checklist-stats { 961 display: flex; 962 gap: 8px; 963 margin-top: 10px; 964 } 965 .offcanvas-pntp .stat-pill { 966 font-size: 0.7rem; 967 font-weight: 600; 968 padding: 3px 10px; 969 border-radius: 20px; 970 background: rgba(255,255,255,0.15); 971 } 972 .offcanvas-pntp .checklist-group { 973 margin-bottom: 1.25rem; 974 } 975 .offcanvas-pntp .checklist-group-title { 976 font-size: 0.72rem; 977 font-weight: 700; 978 text-transform: uppercase; 979 letter-spacing: 0.8px; 980 color: var(--pt-text-muted); 981 padding: 8px 0; 982 border-bottom: 1px solid var(--pt-border); 983 margin-bottom: 6px; 984 } 985 .offcanvas-pntp .checklist-item { 986 display: flex; 987 align-items: flex-start; 988 gap: 10px; 989 padding: 8px 10px; 990 border-radius: 8px; 991 cursor: pointer; 992 transition: var(--pt-transition); 993 text-decoration: none; 994 color: var(--pt-text); 995 font-size: 0.78rem; 996 line-height: 1.4; 997 } 998 .offcanvas-pntp .checklist-item:hover { 999 background: var(--pt-surface-alt); 1000 } 1001 .offcanvas-pntp .checklist-item .ci-id { 1002 font-weight: 700; 1003 min-width: 36px; 1004 color: var(--pt-accent); 1005 flex-shrink: 0; 1006 } 1007 .offcanvas-pntp .checklist-item .ci-status { 1008 flex-shrink: 0; 1009 width: 18px; 1010 height: 18px; 1011 border-radius: 50%; 1012 display: flex; 1013 align-items: center; 1014 justify-content: center; 1015 font-size: 0.6rem;
1016 margin-top: 1px; 1017 } 1018 .offcanvas-pntp .ci-status.ok { background: #059669; color: #fff; } 1019 .offcanvas-pntp .ci-status.ok_ext { background: #2563eb; color: #fff; } 1020 .offcanvas-pntp .ci-status.pending { background: #f59e0b; color: #fff; } 1021 .offcanvas-pntp .ci-status.na { background: var(--pt-border); color: var(--pt-text-muted); } 1022 .offcanvas-pntp .ci-class { 1023 font-size: 0.6rem; 1024 padding: 1px 6px; 1025 border-radius: 4px; 1026 font-weight: 600; 1027 flex-shrink: 0; 1028 margin-top: 1px; 1029 } 1030 .offcanvas-pntp .ci-class.essencial { background: #dc262615; color: #dc2626; } 1031 .offcanvas-pntp .ci-class.obrigatoria { background: #d9770615; color: #d97706; } 1032 .offcanvas-pntp .ci-class.recomendada { background: #0891b215; color: #0891b2; } 1033 1034 /* ---- SECTION CRITERIA LINE (dev) ---- */ 1035 .section-criteria { 1036 padding-left: 58px; 1037 margin-top: -8px; 1038 margin-bottom: 1.2rem; 1039 } 1040 .section-criteria .criteria-tag { 1041 display: inline-block; 1042 font-size: 0.65rem; 1043 font-weight: 600; 1044 padding: 2px 8px; 1045 border-radius: 4px; 1046 margin: 2px 3px 2px 0; 1047 background: var(--pt-topbar-bg); 1048 color: #fff; 1049 opacity: 0.9; 1050 } 1051 .section-criteria .criteria-tag.pending { 1052 background: #f59e0b; 1053 } 1054 1055 /* Card highlight animation */ 1056 @keyframes cardHighlight { 1057 0% { box-shadow: 0 0 0 0 rgba(37,99,235,0.6); } 1058 50% { box-shadow: 0 0 0 6px rgba(37,99,235,0.2); } 1059 100% { box-shadow: 0 0 0 0 rgba(37,99,235,0); } 1060 } 1061 .card-portal.highlight { 1062 animation: cardHighlight 1.5s ease; 1063 border-color: var(--pt-accent) !important; 1064 } 1065 1066 /* ================================================================ 1067 e-MAG 3.1 â ESTILOS DE ACESSIBILIDADE 1068 ================================================================ */ 1069 1070 /* ---- SKIP LINKS (Seção 2.1 e-MAG) ---- */ 1071 .emag-skip { position: absolute; top: 0; left: 0; z-index: 99999; } 1072 .emag-skip-link { 1073 position: absolute; 1074 top: -100px; 1075 left: 8px; 1076 background: #2563eb; 1077 color: #fff !important; 1078 font-size: 0.9rem; 1079 font-weight: 700; 1080 padding: 10px 20px; 1081 border-radius: 0 0 8px 8px; 1082 text-decoration: none; 1083 transition: top 0.2s; 1084 white-space: nowrap; 1085 box-shadow: 0 4px 12px rgba(0,0,0,0.3); 1086 } 1087 .emag-skip-link:focus { top: 0; outline: 3px solid #f59e0b; outline-offset: 2px; } 1088 1089 /* ---- BARRA e-MAG integrada no topbar ---- */ 1090 .topbar-emag-group { 1091 display: flex; 1092 align-items: center; 1093 gap: 3px; 1094 } 1095 .topbar-emag-sep { 1096 width: 1px; 1097 height: 12px; 1098 background: rgba(255,255,255,0.2); 1099 margin: 0 6px; 1100 } 1101 .topbar-emag-label { 1102 font-size: 0.7rem; 1103 color: rgba(255,255,255,0.5); 1104 letter-spacing: 0.3px; 1105 margin-right: 2px; 1106 } 1107 .emag-btn { 1108 background: transparent; 1109 border: 1px solid rgba(255,255,255,0.2); 1110 color: rgba(255,255,255,0.75); 1111 font-size: 0.65rem; 1112 font-weight: 700; 1113 padding: 2px 7px; 1114 border-radius: 4px; 1115 cursor: pointer; 1116 transition: background 0.15s, color 0.15s, border-color 0.15s; 1117 font-family: 'Inter', sans-serif; 1118 white-space: nowrap; 1119 line-height: 1.4; 1120 } 1121 .emag-btn:hover, .emag-btn[aria-pressed="true"] { 1122 background: rgba(255,255,255,0.15); 1123 border-color: rgba(255,255,255,0.5); 1124 color: #fff; 1125 } 1126 .emag-btn:focus { 1127 outline: 2px solid #f59e0b; 1128 outline-offset: 2px; 1129 } 1130 .emag-font-a { font-size: 0.62rem; } 1131 .emag-font-a1 { font-size: 0.7rem; } 1132 .emag-font-a2 { font-size: 0.78rem; } 1133 1134 /* ---- VLIBRAS + USERWAY: agrupados canto inferior direito ---- */ 1135 /* VLibras sobe um pouco para dar espaço ao UserWay abaixo */ 1136 [vw-access-button].active { 1137 bottom: 72px !important; 1138 } 1139 /* Força UserWay para o canto inferior direito 1140 independente do que a conta do dashboard configurou */ 1141 div[class*="userway"], 1142 div[id*="userway"], 1143 div[class*="UserWay"], 1144 div[id*="UserWay"] { 1145 position: fixed !important; 1146 bottom: 12px !important; 1147 right: 12px !important; 1148 top: auto !important; 1149 left: auto !important; 1150 z-index: 99997 !important; 1151 } 1152 1153 /* ---- FOCO VISÃVEL APRIMORADO (WCAG 2.4.7 / e-MAG 2.4) ---- */ 1154 :focus-visible { 1155 outline: 3px solid #f59e0b !important; 1156 outline-offset: 3px !important; 1157 } 1158 1159 /* ---- ALTO CONTRASTE (WCAG 2.1 AAA / e-MAG) ---- */ 1160 body.emag-alto { 1161 background: #000000 !important; 1162 color: #ffff00 !important; 1163 } 1164 body.emag-alto *:not(.emag-bar):not(.emag-bar *):not(.emag-skip *):not(.card-overlay-link):not(.stretched-link) { 1165 background: #000000 !important; 1166 color: #ffff00 !important; 1167 border-color: #ffff00 !important; 1168 -webkit-text-fill-color: initial !important; 1169 text-shadow: none !important; 1170 } 1171 body.emag-alto a { 1172 color: #00ffff !important; 1173 text-decoration: underline !important; 1174 } 1175 body.emag-alto img { 1176 filter: contrast(200%) !important; 1177 } 1178 1179 /* Links de camada/overlay (card-overlay-link, stretched-link) DEVEM ser estritamente transparentes */ 1180 html body.emag-alto a.card-overlay-link, 1181 html body.emag-alto .stretched-link, 1182 html body.emag-alto a.stretched-link, 1183 html body.emag-alto .card-portal > a.card-overlay-link { 1184 background: transparent !important; 1185 background-color: transparent !important; 1186 border: none !important; 1187 } 1188 1189 /* Estilos especÃficos para os Cards do Portal em Alto Contraste */ 1190 body.emag-alto .card-portal, 1191 body.emag-alto .result-card, 1192 body.emag-alto .suggest-card, 1193 body.emag-alto .resp-card, 1194 body.emag-alto .policy-card, 1195 body.emag-alto .terms-card { 1196 background: #000000 !important; 1197 border: 2px solid #ffff00 !important; 1198 color: #ffff00 !important; 1199 box-shadow: none !important; 1200 position: relative !important; 1201 } 1202 body.emag-alto .card-portal .icon-wrap, 1203 body.emag-alto .card-portal h3, 1204 body.emag-alto .card-portal .card-desc, 1205 body.emag-alto .card-portal .pntp-badge, 1206 body.emag-alto .card-portal .badge-url-missing, 1207 body.emag-alto .card-portal .badge-em-breve, 1208 body.emag-alto .card-portal i, 1209 body.emag-alto .card-portal span { 1210 position: relative !important; 1211 z-index: 2 !important; 1212 color: #ffff00 !important; 1213 -webkit-text-fill-color: #ffff00 !important; 1214 background-color: transparent !important; 1215 } 1216 body.emag-alto .card-portal .icon-wrap { 1217 background: #000000 !important; 1218 border: 1px solid #ffff00 !important; 1219 color: #ffff00 !important; 1220 } 1221 body.emag-alto .card-portal:hover, 1222 body.emag-alto .result-card:hover, 1223 body.emag-alto .suggest-card:hover { 1224 background: #ffff00 !important; 1225 border-color: #ffff00 !important; 1226 } 1227 body.emag-alto .card-portal:hover *, 1228 body.emag-alto .result-card:hover *, 1229 body.emag-alto .suggest-card:hover * { 1230 color: #000000 !important; 1231 -webkit-text-fill-color: #000000 !important; 1232 } 1233 body.emag-alto .card-portal:hover .icon-wrap, 1234 body.emag-alto .result-card:hover .result-icon, 1235 body.emag-alto .suggest-card:hover .sc-icon { 1236 background: #000000 !important; 1237 border-color: #000000 !important; 1238 color: #ffff00 !important; 1239 } 1240 body.emag-alto .card-portal:hover .icon-wrap i, 1241 body.emag-alto .result-card:hover .result-icon i, 1242 body.emag-alto .suggest-card:hover .sc-icon i { 1243 color: #ffff00 !important; 1244 } 1245 1246 /* Estilos especÃficos de Alto Contraste para Botões e Ãcones */ 1247 body.emag-alto button, 1248 body.emag-alto .btn, 1249 body.emag-alto [role="button"], 1250 body.emag-alto input[type="button"], 1251 body.emag-alto input[type="submit"],
1252 body.emag-alto input[type="reset"], 1253 body.emag-alto a.btn, 1254 body.emag-alto a.emag-btn, 1255 body.emag-alto .emag-btn { 1256 background: #000000 !important; 1257 color: #ffff00 !important; 1258 border: 2px solid #ffff00 !important; 1259 box-shadow: none !important; 1260 text-shadow: none !important; 1261 opacity: 1 !important; 1262 visibility: visible !important; 1263 -webkit-text-fill-color: #ffff00 !important; 1264 } 1265 body.emag-alto button *, 1266 body.emag-alto .btn *, 1267 body.emag-alto [role="button"] *, 1268 body.emag-alto a.btn *, 1269 body.emag-alto a.emag-btn *, 1270 body.emag-alto .emag-btn * { 1271 color: inherit !important; 1272 background: transparent !important; 1273 opacity: 1 !important; 1274 visibility: visible !important; 1275 -webkit-text-fill-color: inherit !important; 1276 } 1277 body.emag-alto svg, 1278 body.emag-alto svg *, 1279 body.emag-alto i { 1280 fill: currentColor !important; 1281 stroke: currentColor !important; 1282 color: inherit !important; 1283 } 1284 body.emag-alto button:hover, 1285 body.emag-alto button:focus, 1286 body.emag-alto .btn:hover, 1287 body.emag-alto .btn:focus, 1288 body.emag-alto [role="button"]:hover, 1289 body.emag-alto [role="button"]:focus, 1290 body.emag-alto a.btn:hover, 1291 body.emag-alto a.btn:focus, 1292 body.emag-alto a.emag-btn:hover, 1293 body.emag-alto a.emag-btn:focus, 1294 body.emag-alto .emag-btn:hover, 1295 body.emag-alto .emag-btn:focus { 1296 background: #ffff00 !important; 1297 color: #000000 !important; 1298 border-color: #ffff00 !important; 1299 -webkit-text-fill-color: #000000 !important; 1300 } 1301 body.emag-alto button:hover *, 1302 body.emag-alto button:focus *, 1303 body.emag-alto .btn:hover *, 1304 body.emag-alto .btn:focus *, 1305 body.emag-alto [role="button"]:hover *, 1306 body.emag-alto [role="button"]:focus *, 1307 body.emag-alto a.btn:hover *, 1308 body.emag-alto a.btn:focus *, 1309 body.emag-alto a.emag-btn:hover *, 1310 body.emag-alto a.emag-btn:focus *, 1311 body.emag-alto .emag-btn:hover *, 1312 body.emag-alto .emag-btn:focus * { 1313 color: #000000 !important; 1314 fill: #000000 !important; 1315 stroke: #000000 !important; 1316 -webkit-text-fill-color: #000000 !important; 1317 } 1318 1319 1320 /* ---- TONS DE CINZA ---- */ 1321 body.emag-cinza { filter: grayscale(100%); } 1322 1323 /* ---- NEGATIVO ---- */ 1324 body.emag-negativo { filter: invert(100%) hue-rotate(180deg); } 1325 body.emag-negativo img { filter: invert(100%) hue-rotate(180deg); } 1326 1327 /* ---- TAMANHOS DE FONTE ---- */ 1328 body.emag-font-1 { font-size: 110%; } 1329 body.emag-font-2 { font-size: 125%; } 1330 1331 /* ---- DIALOG DE DECLARAÃÃO e-MAG ---- */ 1332 .emag-dialog { 1333 border: none; 1334 border-radius: 16px; 1335 box-shadow: 0 20px 60px rgba(0,0,0,0.3); 1336 max-width: 640px; 1337 width: 95vw; 1338 max-height: 85vh; 1339 padding: 0; 1340 overflow: hidden; 1341 /* Sempre fundo branco, independente de tema ou contraste */ 1342 background: #ffffff !important; 1343 color: #1e293b !important; 1344 } 1345 .emag-dialog::backdrop { 1346 background: rgba(0,0,0,0.6); 1347 backdrop-filter: blur(4px); 1348 } 1349 .emag-dialog-header { 1350 display: flex; 1351 align-items: center; 1352 justify-content: space-between; 1353 background: linear-gradient(135deg, #1e3a5f, #0f172a) !important; 1354 color: #fff !important; 1355 padding: 1rem 1.5rem; 1356 } 1357 .emag-dialog-header h2 { 1358 font-size: 1rem; 1359 font-weight: 700; 1360 margin: 0; 1361 color: #fff !important; 1362 display: flex; 1363 align-items: center; 1364 gap: 8px; 1365 } 1366 .emag-dialog-close { 1367 background: rgba(255,255,255,0.1); 1368 border: none; 1369 color: #fff !important; 1370 width: 32px; 1371 height: 32px; 1372 border-radius: 50%; 1373 font-size: 1.2rem; 1374 cursor: pointer; 1375 display: flex; 1376 align-items: center; 1377 justify-content: center; 1378 transition: background 0.2s; 1379 line-height: 1; 1380 } 1381 .emag-dialog-close:hover { background: rgba(255,255,255,0.25); } 1382 .emag-dialog-close:focus { outline: 3px solid #f59e0b; outline-offset: 2px; } 1383 .emag-dialog-body { 1384 padding: 1.5rem; 1385 overflow-y: auto; 1386 max-height: calc(85vh - 60px); 1387 font-size: 0.88rem; 1388 line-height: 1.65; 1389 background: #fff !important; 1390 color: #1e293b !important; 1391 } 1392 .emag-dialog-body h3 { 1393 font-size: 0.92rem; 1394 font-weight: 700; 1395 margin: 1.2rem 0 0.4rem; 1396 color: #1e3a5f !important; 1397 border-bottom: 1px solid #e2e8f0; 1398 padding-bottom: 0.3rem; 1399 } 1400 .emag-dialog-body p, 1401 .emag-dialog-body li, 1402 .emag-dialog-body small { 1403 color: #334155 !important; 1404 } 1405 .emag-dialog-body a { 1406 color: #2563eb !important; 1407 } 1408 .emag-dialog-body kbd { 1409 background: #f1f5f9 !important; 1410 border: 1px solid #cbd5e1; 1411 border-radius: 4px; 1412 padding: 1px 6px; 1413 font-size: 0.78rem; 1414 font-family: 'Courier New', monospace; 1415 color: #1e293b !important; 1416 } 1417 .emag-dialog-body ul { padding-left: 1.25rem; margin: 0.5rem 0; } 1418 .emag-dialog-body li { margin-bottom: 0.35rem; } 1419 .emag-dialog-date { text-align: right; color: #94a3b8 !important; margin-top: 1rem; margin-bottom: 0; } 1420 </style> 1421</head> 1422 1423<body> 1424 <!-- ============================================================ 1425 e-MAG 3.1 â SKIP NAVIGATION LINKS (Seção 2.1 e-MAG) 1426 InvisÃveis por padrão, aparecem com Tab para teclado/leitor de tela 1427 ============================================================ --> 1428 <nav class="emag-skip" aria-label="Links de pular navegação"> 1429 <a href="#conteudo-principal" class="emag-skip-link" accesskey="1" tabindex="1">Ir ao conteúdo principal [Alt+1]</a> 1430 <a href="#mainNav" class="emag-skip-link" accesskey="2" tabindex="2">Ir ao menu de navegação [Alt+2]</a> 1431 <a href="#heroSearch" class="emag-skip-link" accesskey="3" tabindex="3">Ir à ferramenta de busca [Alt+3]</a> 1432 <a href="#footer-portal" class="emag-skip-link" accesskey="4" tabindex="4">Ir ao rodapé [Alt+4]</a> 1433 </nav> 1434 1435 1436 <!-- ============================================================ 1437 e-MAG 3.1 â MODAL DECLARAÃÃO DE ACESSIBILIDADE 1438 ============================================================ --> 1439 <dialog id="modalAcessibilidade" class="emag-dialog" aria-labelledby="emagDialogTitle" aria-describedby="emagDialogBody"> 1440 <div class="emag-dialog-header"> 1441 <h2 id="emagDialogTitle"><i class="fa-solid fa-universal-access" aria-hidden="true"></i> Declaração de Acessibilidade</h2> 1442 <button class="emag-dialog-close" onclick="document.getElementById('modalAcessibilidade').close()" aria-label="Fechar declaração de acessibilidade">--</button> 1443 </div> 1444 <div class="emag-dialog-body" id="emagDialogBody"> 1445 <p>O <strong>Portal da Transparência de PM PIANCÃ</strong> se compromete com a acessibilidade digital e está em conformidade com os padrões estabelecidos pelo <strong>e-MAG â Modelo de Acessibilidade em Governo Eletrônico</strong>, versão 3.1, e com as <strong>WCAG 2.1 nÃvel AA</strong>.</p> 1446 1447 <h3>Recursos de Acessibilidade DisponÃveis</h3> 1448 <ul> 1449 <li><strong>Links de saltar:</strong> Utilize <kbd>Tab</kbd> para navegar diretamente ao conteúdo, menu ou busca.</li> 1450 <li><strong>Atalhos de teclado (e-MAG):</strong> 1451 <ul> 1452 <li><kbd>Alt + 1</kbd> â Ir ao conteúdo principal</li> 1453 <li><kbd>Alt + 2</kbd> â Ir ao menu de navegação</li> 1454 <li><kbd>Alt + 3</kbd> â Ir à ferramenta de busca</li> 1455 <li><kbd>Alt + 4</kbd> â Ir ao rodapé</li> 1456 </ul> 1457 <small>No Firefox: use <kbd>Shift + Alt + número</kbd>. No macOS: use <kbd>Ctrl + Alt + número</kbd>.</small> 1458 </li> 1459 <li><strong>Alto contraste:</strong> DisponÃvel na barra de acessibilidade acima.</li> 1460 <li><strong>Tamanho de fonte:</strong> Ajuste pelo botão A / A+ / A++ na barra de acessibilidade.</li> 1461 <li><strong>Libras (VLibras):</strong> Widget oficial do Governo Federal para tradução em LÃngua Brasileira de Sinais, disponÃvel no canto inferior direito.</li> 1462 <li><strong>Leitores de tela:</strong> O portal é compatÃvel com NVDA, JAWS e VoiceOver, com landmarks ARIA corretamente implementados.</li> 1463 </ul> 1464 1465 <h3>Conformidade</h3> 1466 <ul> 1467 <li>â e-MAG 3.1 â Modelo de Acessibilidade em Governo Eletrônico</li> 1468 <li>â WCAG 2.1 â NÃvel AA (parcial)</li> 1469 <li>â Lei Brasileira de Inclusão â Lei 13.146/2015 (LBI)</li> 1470 <li>â Decreto 5.296/2004 â Acessibilidade nos portais do Governo</li> 1471 </ul> 1472 1473 <h3>Recursos Não Conformes / Limitações</h3> 1474 <p>
1474Conteúdos externos exibidos via iframe (sistemas de terceiros, como portais contábeis, SAGRES, etc.) podem não estar em conformidade com o e-MAG, pois são gerenciados por outras entidades.</p> 1475 1476 <h3>Contato sobre Acessibilidade</h3> 1477 <p>Se encontrar alguma barreira de acessibilidade, entre em contato pela Ouvidoria do municÃpio em <a href="https://pianco.pb.gov.br/acesso/fale_conosco">Ouvidoria</a> ou pelo e-mail institucional <strong>[email protected]</strong>.</p> 1478 1479 <p class="emag-dialog-date"><small>Ãltima atualização desta declaração: 25/09/2026</small></p> 1480 </div> 1481 </dialog> 1482 <!-- ============================================================ 1483 TOPBAR â Links rápidos e acessibilidade (PNTP 1.3, 2.8, 13.1) 1484 ============================================================ --> 1485 <div class="topbar d-none d-lg-block"> 1486 <div class="container"> 1487 <div class="d-flex justify-content-between align-items-center"> 1488 <div class="d-flex align-items-center gap-1"> 1489 <a href="https://pianco.pb.gov.br">InÃcio</a> 1490 <span class="separator">|</span> 1491 <a href="https://pianco.pb.gov.br/guias-e-manuais/glossario">Glossário</a> 1492 <span class="separator">|</span> 1493 <a href="https://pianco.pb.gov.br/acesso/perguntas_frequentes">FAQ</a> 1494 <span class="separator">|</span> 1495 <a href="https://pianco.pb.gov.br/acesso/fale_conosco">Ouvidoria</a> 1496 <span class="separator">|</span> 1497 <a href="https://mail.google.com/a/pianco.pb.gov.br">Webmail</a> 1498 </div> 1499 <div class="d-flex align-items-center gap-3"> 1500 <!-- e-MAG 3.1: Controles de acessibilidade integrados no topbar --> 1501 <div class="topbar-emag-group" role="group" aria-label="Acessibilidade e-MAG"> 1502 <span class="topbar-emag-label"><i class="fa-solid fa-universal-access" aria-hidden="true"></i></span> 1503 <button class="emag-btn" id="btnContrastNormal" onclick="setContrast('')" title="Contraste normal" aria-label="Contraste normal" aria-pressed="true" >A</button> 1504 <button class="emag-btn" id="btnContrastHigh" onclick="setContrast('alto')" title="Alto contraste" aria-label="Alto contraste" aria-pressed="false">A●</button> 1505 <button class="emag-btn" id="btnContrastGray" onclick="setContrast('cinza')" title="Tons de cinza" aria-label="Tons de cinza" aria-pressed="false">A■</button> 1506 <button class="emag-btn" id="btnContrastNeg" onclick="setContrast('negativo')" title="Negativo" aria-label="Contraste negativo" aria-pressed="false">A□</button> 1507 <span class="topbar-emag-sep" aria-hidden="true"></span> 1508 <button class="emag-btn emag-font-a" onclick="setFont(0)" title="Fonte normal" aria-label="Fonte normal">A</button> 1509 <button class="emag-btn emag-font-a1" onclick="setFont(1)" title="Fonte média" aria-label="Fonte média" >A+</button> 1510 <button class="emag-btn emag-font-a2" onclick="setFont(2)" title="Fonte grande" aria-label="Fonte grande">A++</button> 1511 <span class="topbar-emag-sep" aria-hidden="true"></span> 1512 <button class="emag-btn emag-btn-label" onclick="document.getElementById('modalAcessibilidade').showModal()" title="Declaração de Acessibilidade" aria-label="Declaração de acessibilidade"> 1513 <i class="fa-solid fa-circle-info" aria-hidden="true"></i> Acessibilidade 1514 </button> 1515 </div> 1516 <span class="separator">|</span> 1517 <a href="https://www.facebook.com/prefeitura.areiadebaraunas/" target="_blank" rel="noopener" title="Facebook"> 1518 <i class="fa-brands fa-facebook"></i> 1519 </a> 1520 <a href="https://www.instagram.com/prefeituradepianco" target="_blank" rel="noopener" title="Instagram"> 1521 <i class="fa-brands fa-instagram"></i> 1522 </a> 1523 </div> 1524 </div> 1525 </div> 1526 </div> 1527 1528 <!-- ============================================================ 1529 BREADCRUMBS (PNTP 13.2) 1530 ============================================================ --> 1531 <div class="breadcrumb-portal"> 1532 <div class="container"> 1533 <nav aria-label="Caminho da página"> 1534 <a href="https://pianco.pb.gov.br"><i class="fa-solid fa-house"></i> InÃcio</a>
1535 <span class="mx-1 text-muted">/</span> 1536 <span class="text-muted">Portal da Transparência</span> 1537 </nav> 1538 </div> 1539 </div> 1540 1541 <!-- ============================================================ 1542 NAVBAR (PNTP 1.3, 1.4) 1543 ============================================================ --> 1544 <nav class="navbar navbar-portal navbar-expand-lg sticky-top" id="mainNav" role="navigation" aria-label="Menu principal"> 1545 <div class="container"> 1546 <!-- Brand --> 1547 <a class="navbar-brand d-flex align-items-center gap-2" href="https://pianco.pb.gov.br/assuntos/portal-da-transparencia"> 1548 <img src="https://files.easyweb.net.br/prefeituras/transparencia/2018/small/pianco-sm.png" alt="Brasão de PM PIANCÃ" width="44" height="44" style="object-fit:contain"> 1549 <div class="navbar-brand-text"> 1550 Portal da Transparência 1551 <small class="d-block">PM PIANCÃ/PB</small> 1552 </div> 1553 </a> 1554 1555 <!-- Controles direita (mobile) --> 1556 <div class="d-flex align-items-center gap-2 order-lg-last"> 1557 <button class="theme-toggle" id="themeToggle" title="Alternar tema" aria-label="Alternar tema claro/escuro"> 1558 <i class="fa-solid fa-moon"></i> 1559 </button> 1560 <button class="navbar-toggler border-0 p-1" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-label="Abrir menu" style="color:rgba(255,255,255,.8)"> 1561 <i class="fa-solid fa-bars fa-lg"></i> 1562 </button> 1563 </div> 1564 1565 <!-- Links --> 1566 <div class="collapse navbar-collapse" id="navbarContent"> 1567 <ul class="navbar-nav ms-auto mb-2 mb-lg-0 align-items-lg-center gap-lg-1"> 1568 1569 <li class="nav-item"> 1570 <a class="nav-link" href="https://pianco.pb.gov.br"> 1571 <i class="fa-solid fa-house me-1" style="font-size:.75rem"></i> InÃcio 1572 </a> 1573 </li> 1574 1575 <li class="nav-item"> 1576 <a class="nav-link" href="https://pianco.pb.gov.br/noticias"> 1577 <i class="fa-solid fa-newspaper me-1" style="font-size:.75rem"></i> NotÃcias 1578 </a> 1579 </li> 1580 1581 <li class="nav-item dropdown"> 1582 <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false" data-bs-offset="0,4"> 1583 <i class="fa-solid fa-table-cells me-1" style="font-size:.75rem"></i> Seções 1584 </a> 1585 <ul class="dropdown-menu dropdown-menu-end"> 1586 <li> 1587 <a class="dropdown-item" href="#receitas-despesas"> 1588 <i class="fa-solid fa-chart-line"></i> 1589 Receitas e Despesas </a> 1590 </li> 1591 <li> 1592 <a class="dropdown-item" href="#pessoal-diarias"> 1593 <i class="fa-solid fa-users"></i> 1594 Pessoal, Diárias e Emendas </a> 1595 </li> 1596 <li> 1597 <a class="dropdown-item" href="#licitacoes-contratos"> 1598 <i class="fa-solid fa-gavel"></i> 1599 Licitações, Contratos e Convênios </a> 1600 </li> 1601 <li> 1602 <a class="dropdown-item" href="#obras"> 1603 <i class="fa-solid fa-helmet-safety"></i> 1604 Obras Públicas </a> 1605 </li> 1606 <li> 1607 <a class="dropdown-item" href="#planejamento"> 1608 <i class="fa-solid fa-landmark"></i> 1609 Planejamento e Contas Públicas </a> 1610 </li> 1611 <li> 1612 <a class="dropdown-item" href="#acesso-informacao"> 1613 <i class="fa-solid fa-circle-info"></i> 1614 Acesso à Informação e Ouvidoria </a> 1615 </li> 1616 <li> 1617 <a class="dropdown-item" href="#institucional"> 1618 <i class="fa-solid fa-landmark-dome"></i> 1619 Informações Institucionais </a> 1620 </li> 1621 <li> 1622 <a class="dropdown-item" href="#lgpd-governo-digital"> 1623 <i class="fa-solid fa-shield-halved"></i> 1624 LGPD, Governo Digital e Regulamentações </a> 1625 </li> 1626 <li> 1627 <a class="dropdown-item" href="#saude-educacao"> 1628 <i class="fa-solid fa-heart-pulse"></i> 1629 Saúde, Educação e Assistência Social </a> 1630 </li> 1631 </ul> 1632 </li> 1633 1634 <li class="nav-item"> 1635 <a class="nav-link nav-btn-esic" href="https://pianco.pb.gov.br/esic/"> 1636 <i class="fa-solid fa-envelope-open-text me-1" style="font-size:.75rem"></i> e-SIC 1637 </a> 1638 </li> 1639 1640 <li class="nav-item d-none d-lg-flex align-items-center" aria-hidden="true">
1641 <span class="nav-sep"></span> 1642 </li> 1643 1644 </ul> 1645 </div> 1646 </div> 1647 </nav> 1648 1649 <!-- ============================================================ 1650 HERO + BUSCA (PNTP 1.4) 1651 ============================================================ --> 1652 <section class="hero" id="top" 1653 > 1654 <div class="container"> 1655 <div class="row align-items-center"> 1656 <div class="col-lg-8"> 1657 <h1 data-aos="fade-right">Portal da Transparência</h1> 1658 <p class="lead mb-4" data-aos="fade-right" data-aos-delay="100"> 1659 Prefeitura Municipal de Peiancó </p> 1660 <form action="https://pianco.pb.gov.br/busca" method="get" data-aos="fade-up" data-aos-delay="200" autocomplete="off" role="search" aria-label="Busca no portal da transparência"> 1661 <div class="search-box d-flex"> 1662 <div class="search-wrapper"> 1663 <input type="text" id="heroSearch" name="q" placeholder="O que você está procurando?" aria-label="Buscar no portal" aria-autocomplete="list" aria-controls="heroSearchDrop"> 1664 <div id="heroSearchDrop" class="search-dropdown" role="listbox"></div> 1665 </div> 1666 <button type="submit" class="btn-search"><i class="fa-solid fa-magnifying-glass me-2"></i>Buscar</button> 1667 </div> 1668 </form> 1669 </div> 1670 <div class="col-lg-4 text-center d-none d-lg-flex align-items-center justify-content-center" data-aos="zoom-in" data-aos-delay="300"> 1671 <img 1672 src="https://files.easyweb.net.br/prefeituras/transparencia/2018/large/pianco.png" 1673 alt="Brasão de PM PIANCÃ" 1674 class="img-fluid" 1675 style="max-height: 200px; opacity: 1; filter: drop-shadow(0 4px 32px rgba(0,0,0,0.5));" 1676 > 1677 </div> 1678 </div> 1679 </div> 1680 </section> 1681 1682 <main id="conteudo-principal" aria-label="Conteúdo principal do portal"> 1683 1684 <!-- ============================================================ 1685 QUICK ACCESS (PNTP 12.x, 14.x) 1686 ============================================================ --> 1687 <div class="quick-access"> 1688 <div class="container"> 1689 <div class="d-flex justify-content-center gap-3 flex-wrap"> 1690 <a href="https://pianco.pb.gov.br/esic/" class="quick-link" data-aos="fade-up" data-aos-delay="50"> 1691 <i class="fa-solid fa-envelope-open-text"></i> e-SIC 1692 </a> 1693 <a href="https://pianco.pb.gov.br/acesso/fale_conosco" class="quick-link" data-aos="fade-up" data-aos-delay="100"> 1694 <i class="fa-solid fa-headset"></i> Ouvidoria 1695 </a> 1696 <a href="https://pianco.pb.gov.br/portaldeservicos" class="quick-link" data-aos="fade-up" data-aos-delay="150"> 1697 <i class="fa-solid fa-rectangle-list"></i> Carta de Serviços 1698 </a> 1699 <a href="#" class="quick-link" data-bs-toggle="offcanvas" data-bs-target="#offcanvasAccess" data-aos="fade-up" data-aos-delay="200"> 1700 <i class="fa-solid fa-universal-access"></i> Acessibilidade 1701 </a> 1702 <a href="https://radardatransparencia.atricon.org.br/" class="quick-link" data-aos="fade-up" data-aos-delay="250" target="_blank"> 1703 <i class="fa-solid fa-satellite-dish"></i> Radar da Transparência Pública 1704 </a> 1705 </div> 1706 </div> 1707 </div> 1708 1709 <!-- ============================================================ 1710 SEÃÃES DINÃMICAS DO PORTAL (Renderização via PHP) 1711 ============================================================ --> 1712 <section class="section-portal" id="receitas-despesas" aria-label="Receitas e Despesas"> 1713 <div class="container"> 1714 <div class="section-header" data-aos="fade-right"> 1715 <div class="section-icon" style="background: #059669"> 1716 <i class="fa-solid fa-chart-line"></i> 1717 </div> 1718 <div> 1719 <h2>Receitas e Despesas</h2> 1720 <p class="section-subtitle">Veja para onde vai o dinheiro público e de onde ele vem â impostos, transferências e gastos · Lei 12.527 (LAI) · LC 131/2009</p> 1721 </div> 1722 </div> 1723 1724 1725 <div class="row g-3"> 1726 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 1727 <div class="card-portal " data-pntp-ids="3.1, 3.2" data-card-slug="receitas-orcamentarias" id="card-receitas-despesas-0"> 1728 <a href="?secao=receitas-despesas&item=receitas-orcamentarias" class="card-overlay-link" 1729 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/receita-orcamentaria', 'Receitas Orçamentárias', 'receitas-despesas', 'receitas-orcamentarias'); return false;" 1730 aria-label="Receitas Orçamentárias"></a> 1731 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1732 <i class="fa-solid fa-arrow-trend-up"></i> 1733 </div> 1734 <h3> 1735 Receitas Orçamentárias </h3> 1736 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1737 1738 </div> 1739 </div> 1740 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 1741 <div class="card-portal " data-pntp-ids="3.1" data-card-slug="receitas-extraorcamentarias" id="card-receitas-despesas-1"> 1742 <a href="?secao=receitas-despesas&item=receitas-extraorcamentarias" class="card-overlay-link" 1743 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/receita-extra-orcamentaria', 'Receitas Extraorçamentárias', 'receitas-despesas', 'receitas-extraorcamentarias'); return false;" 1744 aria-label="Receitas Extraorçamentárias"></a> 1745 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1746 <i class="fa-solid fa-arrow-trend-up"></i> 1747 </div> 1748 <h3> 1749 Receitas Extraorçamentárias </h3> 1750 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1751 1752 </div> 1753 </div> 1754 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 1755 <div class="card-portal " data-pntp-ids="4.1, 4.2" data-card-slug="despesas-orcamentarias" id="card-receitas-despesas-2"> 1756 <a href="?secao=receitas-despesas&item=despesas-orcamentarias" class="card-overlay-link" 1757 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/despesa-orcamentaria', 'Despesas Orçamentárias', 'receitas-despesas', 'despesas-orcamentarias'); return false;" 1758 aria-label="Despesas Orçamentárias"></a> 1759 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1760 <i class="fa-solid fa-arrow-trend-down"></i> 1761 </div> 1762 <h3> 1763 Despesas Orçamentárias </h3> 1764 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1765 1766 </div> 1767 </div> 1768 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 1769 <div class="card-portal " data-pntp-ids="4.1" data-card-slug="despesas-extraorcamentarias" id="card-receitas-despesas-3"> 1770 <a href="?secao=receitas-despesas&item=despesas-extraorcamentarias" class="card-overlay-link" 1771 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/despesa-extra-orcamentaria', 'Despesas Extraorçamentárias', 'receitas-despesas', 'despesas-extraorcamentarias'); return false;" 1772 aria-label="Despesas Extraorçamentárias"></a> 1773 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1774 <i class="fa-solid fa-arrow-trend-down"></i> 1775 </div> 1776 <h3> 1777 Despesas Extraorçamentárias </h3> 1778 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1779 1780 </div> 1781 </div> 1782 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 1783 <div class="card-portal " data-pntp-ids="4.3" data-card-slug="documentos-de-pagamento" id="card-receitas-despesas-4"> 1784 <a href="?secao=receitas-despesas&item=documentos-de-pagamento" class="card-overlay-link" 1785 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/documentos-pagamento', 'Documentos de Pagamento', 'receitas-despesas', 'documentos-de-pagamento'); return false;" 1786 aria-label="Documentos de Pagamento"></a> 1787 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1788 <i class="fa-solid fa-file-invoice-dollar"></i> 1789 </div> 1790 <h3> 1791 Documentos de Pagamento </h3> 1792 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1793 1794 </div> 1795 </div> 1796 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 1797 <div class="card-portal " data-pntp-ids="4.1" data-card-slug="restos-a-p
1797agar" id="card-receitas-despesas-5"> 1798 <a href="?secao=receitas-despesas&item=restos-a-pagar" class="card-overlay-link" 1799 onclick="openIframeModal('/restosapagar.php?sg=201141', 'Restos a Pagar', 'receitas-despesas', 'restos-a-pagar'); return false;" 1800 aria-label="Restos a Pagar"></a> 1801 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1802 <i class="fa-solid fa-clock-rotate-left"></i> 1803 </div> 1804 <h3> 1805 Restos a Pagar </h3> 1806 <p class="card-desc">Despesas inscritas em restos a pagar</p> 1807 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1808 1809 </div> 1810 </div> 1811 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 1812 <div class="card-portal " data-pntp-ids="3.3" data-card-slug="dividas-ativas" id="card-receitas-despesas-6"> 1813 <a href="?secao=receitas-despesas&item=dividas-ativas" class="card-overlay-link" 1814 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/328', 'DÃvida Ativa', 'receitas-despesas', 'dividas-ativas'); return false;" 1815 aria-label="DÃvida Ativa"></a> 1816 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1817 <i class="fa-solid fa-file-lines"></i> 1818 </div> 1819 <h3> 1820 DÃvida Ativa </h3> 1821 <p class="card-desc">Inscritos em dÃvida ativa</p> 1822 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1823 1824 </div> 1825 </div> 1826 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 1827 <div class="card-portal " data-pntp-ids="5.2" data-card-slug="subvencoes-sociais" id="card-receitas-despesas-7"> 1828 <a href="?secao=receitas-despesas&item=subvencoes-sociais" class="card-overlay-link" 1829 onclick="openIframeModal('/subvencoes.php?sg=201141', 'Subvenções Sociais', 'receitas-despesas', 'subvencoes-sociais'); return false;" 1830 aria-label="Subvenções Sociais"></a> 1831 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1832 <i class="fa-solid fa-hand-holding-dollar"></i> 1833 </div> 1834 <h3> 1835 Subvenções Sociais </h3> 1836 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1837 1838 </div> 1839 </div> 1840 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 1841 <div class="card-portal " data-pntp-ids="3.1" data-card-slug="receitas-covid19" id="card-receitas-despesas-8"> 1842 <a href="?secao=receitas-despesas&item=receitas-covid19" class="card-overlay-link" 1843 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/receitas-covid-19', 'Receitas COVID-19', 'receitas-despesas', 'receitas-covid19'); return false;" 1844 aria-label="Receitas COVID-19"></a> 1845 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1846 <i class="fa-solid fa-virus"></i> 1847 </div> 1848 <h3> 1849 Receitas COVID-19 </h3> 1850 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1851 1852 </div> 1853 </div> 1854 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 1855 <div class="card-portal " data-pntp-ids="4.1" data-card-slug="despesas-covid19" id="card-receitas-despesas-9"> 1856 <a href="?secao=receitas-despesas&item=despesas-covid19" class="card-overlay-link" 1857 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/despesas-covid-19', 'Despesas COVID-19', 'receitas-despesas', 'despesas-covid19'); return false;" 1858 aria-label="Despesas COVID-19"></a> 1859 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1860 <i class="fa-solid fa-virus"></i> 1861 </div> 1862 <h3> 1863 Despesas COVID-19 </h3> 1864 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1865 1866 </div> 1867 </div> 1868 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 1869 <div class="card-portal " data-pntp-ids="4.1" data-card-slug="com-publicidade" id="card-receitas-despesas-10"> 1870 <a href="?secao=receitas-despesas&item=com-publicidade" class="card-overlay-link" 1871 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/publicidade', 'Gastos com Publicidade', 'receitas-despesas', 'com-publicidade'); return false;" 1872 aria-label="Gastos com Publicidade"></a> 1873 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1874 <i class="fa-solid fa-bullhorn"></i> 1875 </div> 1876 <h3> 1877 Gastos com Publicidade </h3> 1878 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1879 1880 </div> 1881 </div> 1882 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 1883 <div class="card-portal " data-pntp-ids="4.1" data-card-slug="frota-depesas" id="card-receitas-despesas-11"> 1884 <a href="https://api.smartmanager.app.br/portal/municipio-de-pianco/" class="card-overlay-link" target="_blank" rel="noopener noreferrer" aria-label="Despesa com a Frota"></a> 1885 <div class="icon-wrap" style="background: #05966915; color: #059669"> 1886 <i class="fa-solid fa-car"></i> 1887 </div> 1888 <h3> 1889 Despesa com a Frota <i class="fa-solid fa-arrow-up-right-from-square card-external-icon"></i> </h3> 1890 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1891 1892 </div> 1893 </div> 1894 </div> 1895 1896 </div> 1897 </section> 1898 <section class="section-portal" id="pessoal-diarias" aria-label="Pessoal, Diárias e Emendas"> 1899 <div class="container"> 1900 <div class="section-header" data-aos="fade-right"> 1901 <div class="section-icon" style="background: #2563eb"> 1902 <i class="fa-solid fa-users"></i> 1903 </div> 1904 <div> 1905 <h2>Pessoal, Diárias e Emendas</h2> 1906 <p class="section-subtitle">Salários, benefÃcios e viagens pagas aos servidores públicos · Lei 12.527 (LAI) · LC 101/2000</p> 1907 </div> 1908 </div> 1909 1910 1911 <div class="row g-3"> 1912 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 1913 <div class="card-portal " data-pntp-ids="6.1, 6.2" data-card-slug="despesas-com-pessoal" id="card-pessoal-diarias-0"> 1914 <a href="?secao=pessoal-diarias&item=despesas-com-pessoal" class="card-overlay-link" 1915 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/folha-pagamento', 'Folha de Pagamento', 'pessoal-diarias', 'despesas-com-pessoal'); return false;" 1916 aria-label="Folha de Pagamento"></a> 1917 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1918 <i class="fa-solid fa-money-check-alt"></i> 1919 </div> 1920 <h3> 1921 Folha de Pagamento </h3> 1922 <p class="card-desc">Servidores, cargos e remuneração</p> 1923 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1924 1925 </div> 1926 </div> 1927 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 1928 <div class="card-portal " data-pntp-ids="6.4" data-card-slug="estagiarios" id="card-pessoal-diarias-2"> 1929 <a href="?secao=pessoal-diarias&item=estagiarios" class="card-overlay-link" 1930 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/345', 'Estagiários', 'pessoal-diarias', 'estagiarios'); return false;" 1931 aria-label="Estagiários"></a> 1932 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1933 <i class="fa-solid fa-user-graduate"></i> 1934 </div> 1935 <h3> 1936 Estagiários </h3> 1937 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1938 1939 </div> 1940 </div> 1941 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 1942 <div class="card-portal " data-pntp-ids="6.5" data-card-slug="terceirizados" id="card-pessoal-diarias-3"> 1943 <a href="?secao=pessoal-diarias&item=terceirizados" class="card-overlay-link" 1944 onclick="openIframeModal('https://files.easyweb.net.br/lista-terceirizados.html', 'Terceirizados', 'pessoal-diarias', 'terceirizados'); return false;" 1945 aria-label="Terceirizados"></a> 1946 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1947 <i class="fa-solid fa-user-tie"></i> 1948 </div> 1949 <h3> 1950 Terceirizados
1950 </h3> 1951 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1952 1953 </div> 1954 </div> 1955 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 1956 <div class="card-portal " data-pntp-ids="6.6, 6.7" data-card-slug="concursos-selecoes" id="card-pessoal-diarias-4"> 1957 <a href="?secao=pessoal-diarias&item=concursos-selecoes" class="card-overlay-link" 1958 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/5', 'Concursos e Seleções', 'pessoal-diarias', 'concursos-selecoes'); return false;" 1959 aria-label="Concursos e Seleções"></a> 1960 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1961 <i class="fa-solid fa-clipboard-list"></i> 1962 </div> 1963 <h3> 1964 Concursos e Seleções </h3> 1965 <p class="card-desc">Editais, resultados e nomeações</p> 1966 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1967 1968 </div> 1969 </div> 1970 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 1971 <div class="card-portal " data-pntp-ids="7.1" data-card-slug="diarias" id="card-pessoal-diarias-5"> 1972 <a href="?secao=pessoal-diarias&item=diarias" class="card-overlay-link" 1973 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/despesas-com-diarias', 'Diárias e Passagens', 'pessoal-diarias', 'diarias'); return false;" 1974 aria-label="Diárias e Passagens"></a> 1975 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1976 <i class="fa-solid fa-suitcase-rolling"></i> 1977 </div> 1978 <h3> 1979 Diárias e Passagens </h3> 1980 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1981 1982 </div> 1983 </div> 1984 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 1985 <div class="card-portal " data-pntp-ids="7.2" data-card-slug="tabela-diarias" id="card-pessoal-diarias-6"> 1986 <a href="?secao=pessoal-diarias&item=tabela-diarias" class="card-overlay-link" 1987 onclick="openIframeModal('https://files.easyweb.net.br/tabela_diarias.html', 'Tabela de Diárias', 'pessoal-diarias', 'tabela-diarias'); return false;" 1988 aria-label="Tabela de Diárias"></a> 1989 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 1990 <i class="fa-solid fa-table-list"></i> 1991 </div> 1992 <h3> 1993 Tabela de Diárias </h3> 1994 <p class="card-desc">Valores das diárias por destino</p> 1995 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 1996 1997 </div> 1998 </div> 1999 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2000 <div class="card-portal " data-pntp-ids="17.1, 17.2, 17.3" data-card-slug="emendas-impositivas" id="card-pessoal-diarias-7"> 2001 <a href="?secao=pessoal-diarias&item=emendas-impositivas" class="card-overlay-link" 2002 onclick="openIframeModal('https://transparencia.pianco.pb.gov.br/emendas.php?aba=federal&codigoIBGE=2511301', 'Emendas Parlamentares', 'pessoal-diarias', 'emendas-impositivas'); return false;" 2003 aria-label="Emendas Parlamentares"></a> 2004 <div class="icon-wrap" style="background: #2563eb15; color: #2563eb"> 2005 <i class="fa-solid fa-file-signature"></i> 2006 </div> 2007 <h3> 2008 Emendas Parlamentares </h3> 2009 <p class="card-desc">Federais, estaduais e execução</p> 2010 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#2563eb;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2011 2012 </div> 2013 </div> 2014 </div> 2015 2016 </div> 2017 </section> 2018 <section class="section-portal" id="licitacoes-contratos" aria-label="Licitações, Contratos e Convênios"> 2019 <div class="container"> 2020 <div class="section-header" data-aos="fade-right"> 2021 <div class="section-icon" style="background: #d97706"> 2022 <i class="fa-solid fa-gavel"></i> 2023 </div> 2024 <div> 2025 <h2>Licitações, Contratos e Convênios</h2> 2026 <p class="section-subtitle">Compras, contratações e acordos realizados â saiba quem fornece produtos e serviços · Lei 14.133/2021 · Lei 12.527 (LAI)</p> 2027 </div> 2028 </div> 2029 2030 2031 <div class="row g-3"> 2032 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2033 <div class="card-portal " data-pntp-ids="8.1, 8.2, 8.3, 8.4" data-card-slug="editais" id="card-licitacoes-contratos-0"> 2034 <a href="?secao=licitacoes-contratos&item=editais" class="card-overlay-link" 2035 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/licitacoes?header=no', 'Licitações', 'licitacoes-contratos', 'editais'); return false;" 2036 aria-label="Licitações"></a> 2037 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2038 <i class="fa-solid fa-gavel"></i> 2039 </div> 2040 <h3> 2041 Licitações </h3> 2042 <p class="card-desc">Editais, fases e dispensas</p> 2043 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2044 2045 </div> 2046 </div> 2047 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2048 <div class="card-portal " data-pntp-ids="8.5" data-card-slug="atas-adesao" id="card-licitacoes-contratos-1"> 2049 <a href="https://pncp.gov.br/app/atas?pagina=1&q=pianco&status=todos&ufs=PB&esferas=M%7CN&poderes=E%7CN" class="card-overlay-link" target="_blank" rel="noopener noreferrer" aria-label="Atas de Adesão - SRP"></a> 2050 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2051 <i class="fa-solid fa-file-contract"></i> 2052 </div> 2053 <h3> 2054 Atas de Adesão - SRP <i class="fa-solid fa-arrow-up-right-from-square card-external-icon"></i> </h3> 2055 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2056 2057 </div> 2058 </div> 2059 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2060 <div class="card-portal " data-pntp-ids="8.6" data-card-slug="plano-contratacao-anual" id="card-licitacoes-contratos-2"> 2061 <a href="?secao=licitacoes-contratos&item=plano-contratacao-anual" class="card-overlay-link" 2062 onclick="openIframeModal('https://pncp.linkdabio.app/pncp/?cnpj=09148727000195', 'Plano de Contratações', 'licitacoes-contratos', 'plano-contratacao-anual'); return false;" 2063 aria-label="Plano de Contratações"></a> 2064 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2065 <i class="fa-solid fa-list-check"></i> 2066 </div> 2067 <h3> 2068 Plano de Contratações </h3> 2069 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2070 2071 </div> 2072 </div> 2073 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 2074 <div class="card-portal " data-pntp-ids="8.7" data-card-slug="licitantes-sancionados" id="card-licitacoes-contratos-3"> 2075 <a href="?secao=licitacoes-contratos&item=licitantes-sancionados" class="card-overlay-link" 2076 onclick="openIframeModal('/page.php?tema=licitantes-sancionados', 'Licitantes Sancionados', 'licitacoes-contratos', 'licitantes-sancionados'); return false;" 2077 aria-label="Licitantes Sancionados"></a> 2078 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2079 <i class="fa-solid fa-ban"></i> 2080 </div> 2081 <h3> 2082 Licitantes Sancionados </h3> 2083 <p class="card-desc">
2083Fornecedores impedidos de licitar</p> 2084 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2085 2086 </div> 2087 </div> 2088 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 2089 <div class="card-portal " data-pntp-ids="9.1, 9.2" data-card-slug="contratos" id="card-licitacoes-contratos-4"> 2090 <a href="?secao=licitacoes-contratos&item=contratos" class="card-overlay-link" 2091 onclick="openIframeModal('https://contratos.easyweb.com.br/?site=pianco.pb.gov.br', 'Contratos', 'licitacoes-contratos', 'contratos'); return false;" 2092 aria-label="Contratos"></a> 2093 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2094 <i class="fa-solid fa-file-contract"></i> 2095 </div> 2096 <h3> 2097 Contratos </h3> 2098 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2099 2100 </div> 2101 </div> 2102 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 2103 <div class="card-portal " data-pntp-ids="9.3" data-card-slug="fiscais-contratos" id="card-licitacoes-contratos-5"> 2104 <a href="?secao=licitacoes-contratos&item=fiscais-contratos" class="card-overlay-link" 2105 onclick="openIframeModal('/page.php?tema=fiscais-contratos', 'Fiscais de Contratos', 'licitacoes-contratos', 'fiscais-contratos'); return false;" 2106 aria-label="Fiscais de Contratos"></a> 2107 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2108 <i class="fa-solid fa-user-shield"></i> 2109 </div> 2110 <h3> 2111 Fiscais de Contratos </h3> 2112 <p class="card-desc">Relação de fiscais por contrato</p> 2113 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2114 2115 </div> 2116 </div> 2117 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 2118 <div class="card-portal " data-pntp-ids="9.4" data-card-slug="ordem-pagamentos" id="card-licitacoes-contratos-6"> 2119 <a href="?secao=licitacoes-contratos&item=ordem-pagamentos" class="card-overlay-link" 2120 onclick="openIframeModal('/ordemcronologica.php?codigoSAGRES=201141', 'Ordem
2120Cronológica de Pagamentos', 'licitacoes-contratos', 'ordem-pagamentos'); return false;" 2121 aria-label="Ordem Cronológica de Pagamentos"></a> 2122 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2123 <i class="fa-solid fa-list-ol"></i> 2124 </div> 2125 <h3> 2126 Ordem Cronológica de Pagamentos </h3> 2127 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2128 2129 </div> 2130 </div> 2131 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2132 <div class="card-portal " data-pntp-ids="5.1, 5.2" data-card-slug="convenios-federais" id="card-licitacoes-contratos-7"> 2133 <a href="?secao=licitacoes-contratos&item=convenios-federais" class="card-overlay-link" 2134 onclick="openIframeModal('/convenios.php?sg=201141', 'Convênios', 'licitacoes-contratos', 'convenios-federais'); return false;" 2135 aria-label="Convênios"></a> 2136 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2137 <i class="fa-solid fa-handshake"></i> 2138 </div> 2139 <h3> 2140 Convênios </h3> 2141 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2142 2143 </div> 2144 </div> 2145 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2146 <div class="card-portal " data-pntp-ids="5.3" data-card-slug="acordos-firmados" id="card-licitacoes-contratos-8"> 2147 <a href="https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/336" class="card-overlay-link" target="_self" aria-label="Acordos sem Transferência"></a> 2148 <div class="icon-wrap" style="background: #d9770615; color: #d97706"> 2149 <i class="fa-solid fa-handshake-angle"></i> 2150 </div> 2151 <h3> 2152 Acordos sem Transferência </h3> 2153 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2154 2155 </div> 2156 </div> 2157 </div> 2158 2159 </div> 2160 </section> 2161 <section class="section-portal" id="obras" aria-label="Obras Públicas"> 2162 <div class="container"> 2163 <div class="section-header" data-aos="fade-right"> 2164 <div class="section-icon" style="background: #dc2626"> 2165 <i class="fa-solid fa-helmet-safety"></i> 2166 </div> 2167 <div> 2168 <h2>Obras Públicas</h2> 2169 <p class="section-subtitle">Acompanhe o andamento das obras públicas â situação atual, empresa contratada, valores pagos e obras paralisadas · Lei 14.133/2021 · PNTP 10.x</p> 2170 </div> 2171 </div> 2172 2173 2174 <div class="row g-3"> 2175 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2176 <div class="card-portal " data-pntp-ids="10.1, 10.2, 10.3" data-card-slug="obras-fnde" id="card-obras-0"> 2177 <a href="?secao=obras&item=obras-fnde" class="card-overlay-link" 2178 onclick="openIframeModal('/obras.php?sg=201141', 'Obras', 'obras', 'obras-fnde'); return false;" 2179 aria-label="Obras"></a> 2180 <div class="icon-wrap" style="background: #dc262615; color: #dc2626"> 2181 <i class="fa-solid fa-building"></i> 2182 </div> 2183 <h3> 2184 Obras </h3> 2185 <p class="card-desc">Situação, quantitativos e valores</p> 2186 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#dc2626;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2187 2188 </div> 2189 </div> 2190 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2191 <div class="card-portal " data-pntp-ids="10.4" data-card-slug="obras-paralisadas" id="card-obras-1"> 2192 <a href="?secao=obras&item=obras-paralisadas" class="card-overlay-link" 2193 onclick="openIframeModal('/obras.php?sg=201141', 'Obras Paralisadas', 'obras', 'obras-paralisadas'); return false;" 2194 aria-label="Obras Paralisadas"></a> 2195 <div class="icon-wrap" style="background: #dc262615; color: #dc2626"> 2196 <i class="fa-solid fa-triangle-exclamation"></i> 2197 </div> 2198 <h3> 2199 Obras Paralisadas </h3> 2200 <p class="card-desc">Motivo, responsável e previsão</p> 2201 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#dc2626;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2202 2203 </div> 2204 </div> 2205 </div> 2206 2207 </div> 2208 </section> 2209 <section class="section-portal" id="planejamento" aria-label="Planejamento e Contas Públicas"> 2210 <div class="container"> 2211 <div class="section-header" data-aos="fade-right"> 2212 <div class="section-icon" style="background: #7c3aed"> 2213 <i class="fa-solid fa-landmark"></i> 2214 </div> 2215 <div> 2216 <h2>Planejamento e Contas Públicas</h2> 2217 <p class="section-subtitle">Orçamentos anuais, relatórios fiscais e prestação de contas ao Tribunal de Contas · LC 101/2000 (LRF) · Lei 12.527 (LAI)</p> 2218 </div> 2219 </div> 2220 2221 2222 <div class="row g-3"> 2223 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2224 <div class="card-portal " data-pntp-ids="11.8" data-card-slug="ppa" id="card-planejamento-0"> 2225 <a href="?secao=plane
2225jamento&item=ppa" class="card-overlay-link" 2226 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/207', 'PPA - Plano Plurianual', 'planejamento', 'ppa'); return false;" 2227 aria-label="PPA - Plano Plurianual"></a> 2228 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2229 <i class="fa-solid fa-calendar-days"></i> 2230 </div> 2231 <h3> 2232 PPA - Plano Plurianual </h3> 2233 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2234 2235 </div> 2236 </div> 2237 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2238 <div class="card-portal " data-pntp-ids="11.9" data-card-slug="ldo" id="card-planejamento-1"> 2239 <a href="?secao=planejamento&item=ldo" class="card-overlay-link" 2240 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/204', 'LDO - Diretrizes Orçamentárias', 'planejamento', 'ldo'); return false;" 2241 aria-label="LDO - Diretrizes Orçamentárias"></a> 2242 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2243 <i class="fa-solid fa-file-lines"></i> 2244 </div> 2245 <h3> 2246 LDO - Diretrizes Orçamentárias </h3> 2247 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2248 2249 </div> 2250 </div> 2251 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2252 <div class="card-portal " data-pntp-ids="11.10" data-card-slug="loa" id="card-planejamento-2"> 2253 <a href="?secao=planejamento&item=loa" class="card-overlay-link" 2254 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/205', 'LOA - Lei Orçamentária Anual', 'planejamento', 'loa'); return false;" 2255 aria-label="LOA - Lei Orçamentária Anual"></a> 2256 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2257 <i class="fa-solid fa-file-lines"></i> 2258 </div> 2259 <h3> 2260 LOA - Lei Orçamentária Anual </h3> 2261 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2262 2263 </div> 2264 </div> 2265 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 2266 <div class="card-portal " data-pntp-ids="11.6" data-card-slug="rreo" id="card-planejamento-3"> 2267 <a href="?secao=plane
2267jamento&item=rreo" class="card-overlay-link" 2268 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/RREO', 'RREO', 'planejamento', 'rreo'); return false;" 2269 aria-label="RREO"></a> 2270 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2271 <i class="fa-solid fa-chart-pie"></i> 2272 </div> 2273 <h3> 2274 RREO </h3> 2275 <p class="card-desc">Relatório Resumido da Execução Orçamentária</p> 2276 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2277 2278 </div> 2279 </div> 2280 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 2281 <div class="card-portal " data-pntp-ids="11.5" data-card-slug="rgf" id="card-planejamento-4"> 2282 <a href="?secao=planejamento&item=rgf" class="card-overlay-link" 2283 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/RGF', 'RGF', 'planejamento', 'rgf'); return false;" 2284 aria-label="RGF"></a> 2285 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2286 <i class="fa-solid fa-chart-bar"></i> 2287 </div> 2288 <h3> 2289 RGF </h3> 2290 <p class="card-desc">Relatório de Gestão Fiscal</p> 2291 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2292 2293 </div> 2294 </div> 2295 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 2296 <div class="card-portal " data-pntp-ids="11.1" data-card-slug="pca" id="card-planejamento-5"> 2297 <a href="?secao=planejamento&item=pca" class="card-overlay-link" 2298 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/206', 'Prestação de Contas Anual', 'planejamento', 'pca'); return false;" 2299 aria-label="Prestação de Contas Anual"></a> 2300 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2301 <i class="fa-solid fa-file-circle-check"></i> 2302 </div> 2303 <h3> 2304 Prestação de Contas Anual </h3> 2305 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2306 2307 </div> 2308 </div> 2309 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 2310 <div class="card-portal " data-pntp-ids="11.2" data-card-slug="relatorio-atividade" id="card-planejamento-6"> 2311 <a href="?secao=plane
2311jamento&item=relatorio-atividade" class="card-overlay-link" 2312 onclick="openIframeModal('/page.php?tema=relatorio-atividade', 'Relatório de Gestão', 'planejamento', 'relatorio-atividade'); return false;" 2313 aria-label="Relatório de Gestão"></a> 2314 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2315 <i class="fa-solid fa-clipboard-check"></i> 2316 </div> 2317 <h3> 2318 Relatório de Gestão </h3> 2319 <p class="card-desc">Relatório anual de atividades</p> 2320 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2321 2322 </div> 2323 </div> 2324 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2325 <div class="card-portal " data-pntp-ids="11.3" data-card-slug="parecer-tribunal" id="card-planejamento-7"> 2326 <a href="?secao=planejamento&item=parecer-tribunal" class="card-overlay-link" 2327 onclick="openIframeModal('/page.php?tema=parecer-tce', 'Parecer do TCE', 'planejamento', 'parecer-tribunal'); return false;" 2328 aria-label="Parecer do TCE"></a> 2329 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2330 <i class="fa-solid fa-stamp"></i> 2331 </div> 2332 <h3> 2333 Parecer do TCE </h3> 2334 <p class="card-desc">Decisão do Tribunal de Contas</p> 2335 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2336 2337 </div> 2338 </div> 2339 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2340 <div class="card-portal " data-pntp-ids="11.4" data-card-slug="julgamento-legislativo" id="card-planejamento-8"> 2341 <a href="?secao=planejamento&item=julgamento-legislativo" class="card-overlay-link" 2342 onclick="openIframeModal('/page.php?tema=julgamento-legislativo', 'Julgamento pelo Legislativo', 'planejamento', 'julgamento-legislativo'); return false;" 2343 aria-label="Julgamento pelo Legislativo"></a> 2344 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2345 <i class="fa-solid fa-scale-balanced"></i> 2346 </div> 2347 <h3> 2348 Julgamento pelo Legislativo </h3> 2349 <p class="card-desc">Resultado do julgamento das contas</p> 2350 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2351 2352 </div> 2353 </div> 2354 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2355 <div class="card-portal " data-pntp-ids="11.1" data-card-slug="balancos-mensais-e-anuais" id="card-planejamento-9"> 2356 <a href="?secao=plane
2356jamento&item=balancos-mensais-e-anuais" class="card-overlay-link" 2357 onclick="openIframeModal('https://portaldatransparencia.publicsoft.com.br/sistemas/ContabilidadePublica/Mtx0/demonstrativos', 'Balancetes e Demonstrativos', 'planejamento', 'balancos-mensais-e-anuais'); return false;" 2358 aria-label="Balancetes e Demonstrativos"></a> 2359 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2360 <i class="fa-solid fa-table-columns"></i> 2361 </div> 2362 <h3> 2363 Balancetes e Demonstrativos </h3> 2364 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2365 2366 </div> 2367 </div> 2368 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2369 <div class="card-portal " data-pntp-ids="11.8, 11.9, 11.10" data-card-slug="instrumentos-de-planejamento" id="card-planejamento-10"> 2370 <a href="?secao=planejamento&item=instrumentos-de-planejamento" class="card-overlay-link" 2371 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/33', 'Instrumentos de Planejamento', 'planejamento', 'instrumentos-de-planejamento'); return false;" 2372 aria-label="Instrumentos de Planejamento"></a> 2373 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2374 <i class="fa-solid fa-sitemap"></i> 2375 </div> 2376 <h3> 2377 Instrumentos de Planejamento </h3> 2378 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2379 2380 </div> 2381 </div> 2382 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2383 <div class="card-portal " data-pntp-ids="11.7" data-card-slug="plano-estrategico" id="card-planejamento-11"> 2384 <a href="?secao=planejamento&item=plano-estrategico" class="card-overlay-link" 2385 onclick="openIframeModal('/page.php?tema=plano-estrategico', 'Plano Estratégico', 'planejamento', 'plano-estrategico'); return false;" 2386 aria-label="Plano Estratégico"></a> 2387 <div class="icon-wrap" style="background: #7c3aed15; color: #7c3aed"> 2388 <i class="fa-solid fa-bullseye"></i> 2389 </div> 2390 <h3> 2391 Plano Estratégico </h3> 2392 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#7c3aed;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2393 2394 </div> 2395 </div> 2396 </div> 2397 2398 </div> 2399 </section> 2400 <section class="section-portal" id="acesso-informacao" aria-label="Acesso à Informação e Ouvidoria"> 2401 <div class="container"> 2402 <div class="section-header" data-aos="fade-right"> 2403 <div class="section-icon" style="background: #0891b2"> 2404 <i class="fa-solid fa-circle-info"></i> 2405 </div> 2406 <div> 2407 <h2>Acesso à Informação e Ouvidoria</h2> 2408 <p class="section-subtitle">Peça informações, registre reclamações e acompanhe os canais de comunicação com o cidadão â é seu direito legal · Lei 12.527/2011 (LAI) · Lei 13.460/2017</p> 2409 </div> 2410 </div> 2411 2412 2413 <div class="row g-3"> 2414 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2415 <div class="card-portal " data-pntp-ids="12.1, 12.2, 12.3, 12.4" data-card-slug="solicitar-informacoes" id="card-acesso-informacao-0"> 2416 <a href="https://pianco.pb.gov.br/esic/" class="card-overlay-link" target="_self" aria-label="Portal e-SIC"></a> 2417 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2418 <i class="fa-solid fa-envelope-open-text"></i> 2419 </div> 2420 <h3> 2421 Portal e-SIC </h3> 2422 <p class="card-desc">Envie pedidos de informação</p> 2423 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2424 2425 </div> 2426 </div> 2427 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2428 <div class="card-portal " data-pntp-ids="12.5" data-card-slug="lei-de-acesso" id="card-acesso-informacao-1"> 2429 <a href="?secao=acesso-informacao&item=lei-de-acesso" class="card-overlay-link" 2430 onclick="openIframeModal('https://pianco.pb.gov.br/admin/tinyfinder/assets/uploads/file/kpgihri8.pdf', 'Regulamentação da LAI', 'acesso-informacao', 'lei-de-acesso'); return false;" 2431 aria-label="Regulamentação da LAI"></a> 2432 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2433 <i class="fa-solid fa-scale-balanced"></i> 2434 </div> 2435 <h3> 2436 Regulamentação da LAI </h3> 2437 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2438 2439 </div> 2440 </div> 2441 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2442 <div class="card-portal " data-pntp-ids="12.6" data-card-slug="prazos-recursos-sic" id="card-acesso-informacao-2"> 2443 <a href="?secao=acesso-informacao&item=prazos-recursos-sic" class="card-overlay-link" 2444 onclick="openIframeModal('/page.php?tema=prazos-recursos-sic', 'Prazos e Recursos do SIC', 'acesso-informacao', 'prazos-recursos-sic'); return false;" 2445 aria-label="Prazos e Recursos do SIC"></a> 2446 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2447 <i class="fa-solid fa-clock"></i> 2448 </div> 2449 <h3> 2450 Prazos e Recursos do SIC </h3> 2451 <p class="card-desc">Autoridades competentes e procedimentos</p> 2452 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2453 2454 </div> 2455 </div> 2456 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 2457 <div class="card-portal " data-pntp-ids="12.7" data-card-slug="estatisticas-dos-chamados" id="card-acesso-informacao-3"> 2458 <a href="https://pianco.pb.gov.br/esic?p=estatisticas-atendimento" class="card-overlay-link" target="_self" aria-label="Relatório Anual do SIC"></a> 2459 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2460 <i class="fa-solid fa-chart-column"></i> 2461 </div> 2462 <h3> 2463 Relatório Anual do SIC </h3> 2464 <p class="card-desc">EstatÃsticas de pedidos recebidos e atendidos</p> 2465 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2466 2467 </div> 2468 </div> 2469 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 2470 <div class="card-portal " data-pntp-ids="12.8" data-card-slug="documentos-classificados" id="card-acesso-informacao-4"> 2471 <a href="?secao=acesso-informacao&item=documentos-classificados" class="card-overlay-link" 2472 onclick="openIframeModal('/page.php?tema=documentos-classificados', 'Documentos Classificados', 'acesso-informacao', 'documentos-classificados'); return false;" 2473 aria-label="Documentos Classificados"></a> 2474 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2475 <i class="fa-solid fa-lock"></i> 2476 </div> 2477 <h3> 2478 Documentos Classificados </h3> 2479 <p class="card-desc">Lista de documentos em grau de sigilo</p> 2480 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2481 2482 </div> 2483 </div> 2484 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 2485 <div class="card-portal " data-pntp-ids="12.9" data-card-slug="docs-desclassificados" id="card-acesso-informacao-5"> 2486 <a href="?secao=acesso-informacao&item=docs-desclassificados" class="card-overlay-link" 2487 onclick="openIframeModal('/page.php?tema=docs-desclassificados', 'Informações Desclassificadas', 'acesso-informacao', 'docs-desclassificados'); return false;" 2488 aria-label="Informações Desclassificadas"></a> 2489 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2490 <i class="fa-solid fa-lock-open"></i> 2491 </div> 2492 <h3> 2493 Informações Desclassificadas </h3> 2494 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2495 2496 </div> 2497 </div> 2498 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 2499 <div class="card-portal " data-pntp-ids="14.1, 14.2" data-card-slug="ouvidoria" id="card-acesso-informacao-6"> 2500 <a href="?secao=acesso-informacao&item=ouvidoria" class="card-overlay-link" 2501 onclick="openIframeModal('https://pianco.pb.gov.br/acesso/fale_conosco', 'Ouvidoria', 'acesso-informacao', 'ouvidoria'); return false;" 2502 aria-label="Ouvidoria"></a> 2503 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2504 <i class="fa-solid fa-headset"></i> 2505 </div> 2506 <h3> 2507 Ouvidoria </h3> 2508 <p class="card-desc">Canal de comunicação com o cidadão</p> 2509
2509 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2510 2511 </div> 2512 </div> 2513 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2514 <div class="card-portal " data-pntp-ids="14.3" data-card-slug="" id="card-acesso-informacao-7"> 2515 <a href="https://pianco.pb.gov.br/portaldeservicos" class="card-overlay-link" target="_self" aria-label="Carta de Serviços"></a> 2516 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2517 <i class="fa-solid fa-rectangle-list"></i> 2518 </div> 2519 <h3> 2520 Carta de Serviços </h3> 2521 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2522 2523 </div> 2524 </div> 2525 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2526 <div class="card-portal " data-pntp-ids="12.4" data-card-slug="resp_pelo_sic" id="card-acesso-informacao-8"> 2527 <a href="?secao=acesso-informacao&item=resp_pelo_sic" class="card-overlay-link" 2528 onclick="openIframeModal('?page=responsaveis#sic', 'Responsável pelo SIC', 'acesso-informacao', 'resp_pelo_sic'); return false;" 2529 aria-label="Responsável pelo SIC"></a> 2530 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2531 <i class="fa-solid fa-id-card-clip"></i> 2532 </div> 2533 <h3> 2534 Responsável pelo SIC </h3> 2535 <p class="card-desc">Nome, cargo e contato do responsável</p> 2536 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2537 2538 </div> 2539 </div> 2540 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2541 <div class="card-portal " data-pntp-ids="14.2" data-card-slug="resp_pela_ouvidoria" id="card-acesso-informacao-9"> 2542 <a href="?secao=acesso-informacao&item=resp_pela_ouvidoria" class="card-overlay-link" 2543 onclick="openIframeModal('?page=responsaveis#ouvidoria', 'Responsável pela Ouvidoria', 'acesso-informacao', 'resp_pela_ouvidoria'); return false;" 2544 aria-label="Responsável pela Ouvidoria"></a> 2545 <div class="icon-wrap" style="background: #0891b215; color: #0891b2"> 2546 <i class="fa-solid fa-id-card-cl
2546ip"></i> 2547 </div> 2548 <h3> 2549 Responsável pela Ouvidoria </h3> 2550 <p class="card-desc">Nome, cargo e contato do responsável</p> 2551 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0891b2;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2552 2553 </div> 2554 </div> 2555 </div> 2556 2557 </div> 2558 </section> 2559 <section class="section-portal" id="institucional" aria-label="Informações Institucionais"> 2560 <div class="container"> 2561 <div class="section-header" data-aos="fade-right"> 2562 <div class="section-icon" style="background: #475569"> 2563 <i class="fa-solid fa-landmark-dome"></i> 2564 </div> 2565 <div> 2566 <h2>Informações Institucionais</h2> 2567 <p class="section-subtitle">Conheça a estrutura da prefeitura, os responsáveis por cada secretaria, legislação municipal e canais de contato oficiais · Lei 12.527 (LAI)</p> 2568 </div> 2569 </div> 2570 2571 2572 <div class="row g-3"> 2573 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2574 <div class="card-portal " data-pntp-ids="2.3" data-card-slug="" id="card-institucional-1"> 2575 <a href="https://pianco.pb.gov.br/a_cidade/o_prefeito" class="card-overlay-link" target="_self" aria-label="O(a) Prefeito(a)"></a> 2576 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2577 <i class="fa-solid fa-user"></i> 2578 </div> 2579 <h3> 2580 O(a) Prefeito(a) </h3> 2581 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2582 2583 </div> 2584 </div> 2585 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2586 <div class="card-portal " data-pntp-ids="2.3" data-card-slug="" id="card-institucional-2"> 2587 <a href="https://pianco.pb.gov.br/a_cidade/vice_prefeito" class="card-overlay-link" target="_self" aria-label="O(a) Vice-Prefeito(a)"></a> 2588 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2589 <i class="fa-solid fa-user"></i> 2590 </div> 2591 <h3> 2592 O(a) Vice-Prefeito(a) </h3> 2593 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2594 2595 </div> 2596 </div> 2597 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 2598 <div class="card-portal " data-pntp-ids="2.1" data-card-slug="" id="card-institucional-3"> 2599 <a href="https://pianco.pb.gov.br/secretarias" class="card-overlay-link" target="_self" aria-label="Secretarias"></a> 2600 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2601 <i class="fa-solid fa-sitemap"></i> 2602 </div> 2603 <h3> 2604 Secretarias </h3> 2605 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2606 2607 </div> 2608 </div> 2609 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 2610 <div class="card-portal " data-pntp-ids="2.6" data-card-slug="leis" id="card-institucional-4"> 2611 <a href="?secao=institucional&item=leis" class="card-overlay-link" 2612 onclick="openIframeModal('https://pianco.pb.gov.br/acesso-a-informacao/publicacoes/p16_sectionid/4', 'Leis Municipais', 'institucional', 'leis'); return false;" 2613 aria-label="Leis Municipais"></a> 2614 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2615 <i class="fa-solid fa-balance-scale"></i> 2616 </div> 2617 <h3> 2618 Leis Municipais </h3> 2619 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2620 2621 </div> 2622 </div> 2623 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 2624 <div class="card-portal " data-pntp-ids="2.6" data-card-slug="jornais-oficiais" id="card-institucional-5"> 2625 <a href="?secao=institucional&item=jornais-oficiais" class="card-overlay-link" 2626 onclick="openIframeModal('https://pianco.pb.gov.br/jornal-oficial', 'Diário Oficial', 'institucional', 'jornais-oficiais'); return false;" 2627 aria-label="Diário Oficial"></a> 2628 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2629 <i class="fa-solid fa-newspaper"></i> 2630 </div> 2631 <h3> 2632 Diário Oficial </h3> 2633 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2634 2635 </div> 2636 </div> 2637 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 2638 <div class="card-portal " data-pntp-ids="18.6, 19.3, 19.4" data-card-slug="conselhos" id="card-institucional-6"> 2639 <a href="?secao=institucional&item=conselhos" class="card-overlay-link" 2640 onclick="openIframeModal('https://pianco.pb.gov.br/', 'Conselhos e Membros', 'institucional', 'conselhos'); return false;" 2641 aria-label="Conselhos e Membros"></a> 2642 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2643 <i class="fa-solid fa-users-rectangle"></i> 2644 </div> 2645 <h3> 2646 Conselhos e Membros </h3> 2647 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2648 2649 </div> 2650 </div> 2651 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2652 <div class="card-portal " data-pntp-ids="2.7" data-card-slug="glossario" id="card-institucional-7"> 2653 <a href="?secao=institucional&item=glossario" class="card-overlay-link" 2654 onclick="openIframeModal('https://pianco.pb.gov.br/guias-e-manuais/glossario', 'Glossário', 'institucional', 'glossario'); return false;" 2655 aria-label="Glossário"></a> 2656 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2657 <i class="fa-solid fa-book"></i> 2658 </div> 2659 <h3> 2660 Glossário </h3> 2661 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2662 2663 </div> 2664 </div> 2665 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2666 <div class="card-portal " data-pntp-ids="2.7" data-card-slug="perguntas-frequentes" id="card-institucional-8"> 2667 <a href="?secao=institucional&item=perguntas-frequentes" class="card-overlay-link" 2668 onclick="openIframeModal('https://pianco.pb.gov.br/acesso/perguntas_frequentes', 'Perguntas Frequentes', 'institucional', 'perguntas-frequentes'); return false;" 2669 aria-label="Perguntas Frequentes"></a> 2670 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2671 <i class="fa-solid fa-circle-question"></i> 2672 </div> 2673 <h3> 2674 Perguntas Frequentes </h3> 2675 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2676 2677 </div> 2678 </div> 2679 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2680 <div class="card-portal " data-card-slug="veiculos" id="card-institucional-9"> 2681 <a href="?secao=institucional&item=veiculos" class="card-overlay-link" 2682 onclick="openIframeModal('/veiculos.php?sg=201141', 'VeÃculos', 'institucional', 'veiculos'); return false;" 2683 aria-label="VeÃculos"></a> 2684 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2685 <i class="fa-solid fa-truck"></i> 2686 </div> 2687 <h3> 2688 VeÃculos </h3> 2689 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2690 2691 </div> 2692 </div> 2693 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2694 <div class="card-portal " data-pntp-ids="2.4, 2.5" data-card-slug="ouvidoria" id="card-institucional-10"> 2695 <a href="?secao=institucional&item=ouvidoria" class="card-overlay-link" 2696 onclick="openIframeModal('https://pianco.pb.gov.br/acesso/fale_conosco', 'Contatos', 'institucional', 'ouvidoria'); return false;" 2697 aria-label="Contatos"></a> 2698 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2699 <i class="fa-solid fa-phone"></i> 2700 </div> 2701 <h3> 2702 Contatos </h3> 2703 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2704 2705 </div> 2706 </div> 2707 <div class="col-6
2707 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2708 <div class="card-portal " data-pntp-ids="13.5" data-card-slug="mapa-do-site" id="card-institucional-11"> 2709 <a href="?secao=institucional&item=mapa-do-site" class="card-overlay-link" 2710 onclick="openIframeModal('https://pianco.pb.gov.br/guias-e-manuais/mapa-do-site', 'Mapa do Site', 'institucional', 'mapa-do-site'); return false;" 2711 aria-label="Mapa do Site"></a> 2712 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2713 <i class="fa-solid fa-sitemap"></i> 2714 </div> 2715 <h3> 2716 Mapa do Site </h3> 2717 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2718 2719 </div> 2720 </div> 2721 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2722 <div class="card-portal " data-pntp-ids="2.9" data-card-slug="radar-transparencia" id="card-institucional-12"> 2723 <a href="?secao=institucional&item=radar-transparencia" class="card-overlay-link" 2724 onclick="openIframeModal('https://radardatransparencia.atricon.org.br/', 'Radar da Transparência', 'institucional', 'radar-transparencia'); return false;" 2725 aria-label="Radar da Transparência"></a> 2726 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2727 <i class="fa-solid fa-signal"></i> 2728 </div> 2729 <h3> 2730 Radar da Transparência </h3> 2731 <p class="card-desc">Botão Radar ATRICON no portal</p> 2732 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2733 2734 </div> 2735 </div> 2736 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2737 <div class="card-portal " data-pntp-ids="2.8" data-card-slug="redes-sociais" id="card-institucional-13"> 2738 <a href="https://pianco.pb.gov.br" class="card-overlay-link" target="_self" aria-label="Redes Sociais"></a> 2739 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2740 <i class="fa-solid fa-share-nodes"></i> 2741 </div> 2742 <h3> 2743 Redes Sociais </h3> 2744 <p class="card-desc">Links para perfis oficiais</p> 2745 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2746 2747 </div> 2748 </div> 2749 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2750 <div class="card-portal " data-pntp-ids="1.1" data-card-slug="" id="card-institucional-14"> 2751 <a href="https://pianco.pb.gov.br" class="card-overlay-link" target="_self" aria-label="Site Oficial"></a> 2752 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2753 <i class="fa-solid fa-globe"></i> 2754 </div> 2755 <h3> 2756 Site Oficial </h3> 2757 <p class="card-desc">SÃtio oficial do municÃpio</p> 2758 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2759 2760 </div> 2761 </div> 2762 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2763 <div class="card-portal " data-pntp-ids="1.2" data-card-slug="" id="card-institucional-15"> 2764 <a href="/" class="card-overlay-link" target="_self" aria-label="Portal da Transparência"></a> 2765 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2766 <i class="fa-solid fa-landmark"></i> 2767 </div> 2768 <h3> 2769 Portal da Transparência </h3> 2770 <p class="card-desc">Este portal</p> 2771 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2772 2773 </div> 2774 </div> 2775 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2776 <div class="card-portal " data-pntp-ids="1.3" data-card-slug="" id="card-institucional-16"> 2777 <a href="https://pianco.pb.gov.br" class="card-overlay-link" target="_self" aria-label="Acesso na Capa do Site"></a> 2778 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2779 <i class="fa-solid fa-arrow-up-right-from-square"></i> 2780 </div> 2781 <h3> 2782 Acesso na Capa do Site </h3> 2783 <p class="card-desc">Link visÃvel na capa do site</p> 2784 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2785 2786 </div> 2787 </div> 2788 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2789 <div class="card-portal " data-pntp-ids="1.4" data-card-slug="" id="card-institucional-17"> 2790 <a href="/?q=" class="card-overlay-link" target="_self" aria-label="Busca no Portal"></a> 2791 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2792 <i class="fa-solid fa-magnifying-glass"></i> 2793 </div> 2794 <h3> 2795 Busca no Portal </h3> 2796 <p class="card-desc">Ferramenta de pesquisa de conteúdo</p> 2797 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2798 2799 </div> 2800 </div> 2801 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2802 <div class="card-portal " data-pntp-ids="13.1, 13.2, 13.3, 13.4" data-card-slug="acessibilidade" id="card-institucional-18"> 2803 <a href="#acessibilidade" class="card-overlay-link" target="_self" aria-label="Acessibilidade"></a> 2804 <div class="icon-wrap" style="background: #47556915; color: #475569"> 2805 <i class="fa-solid fa-universal-access"></i> 2806 </div> 2807 <h3> 2808 Acessibilidade </h3> 2809 <p class="card-desc">SÃmbolo, breadcrumbs, contraste e texto</p> 2810 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#475569;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2811 2812 </div> 2813 </div> 2814 </div> 2815 2816 </div> 2817 </section> 2818 <section class="section-portal" id="lgpd-governo-digital" aria-label="LGPD, Governo Digital e Regulamentações"> 2819 <div class="container"> 2820 <div class="section-header" data-aos="fade-right"> 2821 <div class="section-icon" style="background: #0d9488"> 2822 <i class="fa-solid fa-shield-halved"></i> 2823 </div> 2824 <div> 2825 <h2>LGPD, Governo Digital e Regulamentações</h2> 2826 <p class="section-subtitle">Proteção dos seus dados pessoais, serviços públicos online e regras de privacidade e governo digital · Lei 13.709/2018 (LGPD) · Lei 14.129/2021</p> 2827 </div> 2828 </div> 2829 2830 2831 <div class="row g-3"> 2832 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2833 <div class="card-portal " data-pntp-ids="15.2" data-card-slug="politica-privacidade" id="card-lgpd-governo-digital-0"> 2834 <a href="?secao=lgpd-governo-digital&item=politica-privacidade" class="card-overlay-link" 2835 onclick="openIframeModal('?page=privacidade', 'LGPD - PolÃtica de Privacidade', 'lgpd-governo-digital', 'politica-privacidade'); return false;" 2836 aria-label="LGPD - PolÃtica de Privacidade"></a> 2837 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2838 <i class="fa-solid fa-user-shield"></i> 2839 </div> 2840 <h3> 2841 LGPD - PolÃtica de Privacidade </h3> 2842 <p class="card-desc">PolÃtica de privacidade e proteção de dados pessoais</p> 2843 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2844 2845 </div> 2846 </div> 2847 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2848 <div class="card-portal " data-pntp-ids="15.1" data-card-slug="resp_pelos_dados" id="card-lgpd-governo-digital-1"> 2849 <a href="?secao=lgpd-governo-digital&item=resp_pelos_dados" class="card-overlay-link" 2850 onclick="openIframeModal('?page=responsaveis#dpo', 'LGPD - Encarregado (DPO)', 'lgpd-governo-digital', 'resp_pelos_dados'); return false;" 2851 aria-label="LGPD - Encarregado (DPO)"></a> 2852 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2853 <i class="fa-solid fa-id-badge"></i> 2854 </div> 2855 <h3> 2856 LGPD - Encarregado (DPO) </h3> 2857 <p class="card-desc">Nome e contato do encarregado de dados</p> 2858 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2859 2860 </div> 2861 </div> 2862 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2863 <div class="card-portal " data-pntp-ids="15.4" data-card-slug="termos-de-uso" id="card-lgpd-governo-digital
2863-2"> 2864 <a href="?secao=lgpd-governo-digital&item=termos-de-uso" class="card-overlay-link" 2865 onclick="openIframeModal('?page=termos', 'Termos de Uso', 'lgpd-governo-digital', 'termos-de-uso'); return false;" 2866 aria-label="Termos de Uso"></a> 2867 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2868 <i class="fa-solid fa-file-contract"></i> 2869 </div> 2870 <h3> 2871 Termos de Uso </h3> 2872 <p class="card-desc">Regras de utilização do portal e dados abertos</p> 2873 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2874 2875 </div> 2876 </div> 2877 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 2878 <div class="card-portal " data-pntp-ids="15.4" data-card-slug="dados" id="card-lgpd-governo-digital-3"> 2879 <a href="?secao=lgpd-governo-digital&item=dados" class="card-overlay-link" 2880 onclick="openIframeModal('/dadosabertos.php', 'Dados Abertos', 'lgpd-governo-digital', 'dados'); return false;" 2881 aria-label="Dados Abertos"></a> 2882 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2883 <i class="fa-solid fa-database"></i> 2884 </div> 2885 <h3> 2886 Dados Abertos </h3> 2887 <p class="card-desc">Acesso automatizado e legÃvel por máquina</p> 2888 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2889 2890 </div> 2891 </div> 2892 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="250"> 2893 <div class="card-portal " data-pntp-ids="15.5" data-card-slug="regulamentacao-gov-digital" id="card-lgpd-governo-digital-5"> 2894 <a href="?secao=lgpd-governo-digital&item=regulamentacao-gov-digital" class="card-overlay-link" 2895 onclick="openIframeModal('/page.php?tema=regulamentacao-gov-digital', 'Gov. Digital - Regulamentação', 'lgpd-governo-digital', 'regulamentacao-gov-digital'); return false;" 2896 aria-label="Gov. Digital - Regulamentação"></a> 2897 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2898 <i class="fa-solid fa-file-shield"></i> 2899 </div> 2900 <h3> 2901 Gov. Digital - Regulamentação </h3> 2902 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2903 2904 </div> 2905 </div> 2906 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 2907 <div class="card-portal " data-pntp-ids="15.6" data-card-slug="pesquisa-satisfacao" id="card-lgpd-governo-digital-6"> 2908 <a href="?secao=lgpd-governo-digital&item=pesquisa-satisfacao" class="card-overlay-link" 2909 onclick="openIframeModal('/pesquisadesatisfacao.php', 'Pesquisa de Satisfação', 'lgpd-governo-digital', 'pesquisa-satisfacao'); return false;" 2910 aria-label="Pesquisa de Satisfação"></a> 2911 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2912 <i class="fa-solid fa-face-smile"></i> 2913 </div> 2914 <h3> 2915 Pesquisa de Satisfação </h3> 2916 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2917 2918 </div> 2919 </div> 2920 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 2921 <div class="card-portal " data-pntp-ids="16.1, 16.2, 16.3, 16.4" data-card-slug="renuncias-fiscais" id="card-lgpd-governo-digital-7"> 2922 <a href="?secao=lgpd-governo-digital&item=renuncias-fiscais" class="card-overlay-link" 2923 onclick="openIframeModal('/page.php?tema=renuncias-fiscais', 'Renúncias Fiscais', 'lgpd-governo-digital', 'renuncias-fiscais'); return false;" 2924 aria-label="Renúncias Fiscais"></a> 2925 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2926 <i class="fa-solid fa-receipt"></i> 2927 </div> 2928 <h3> 2929 Renúncias Fiscais </h3> 2930 <p class="card-desc">
2930Desonerações tributárias e beneficiários</p> 2931 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2932 2933 </div> 2934 </div> 2935 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 2936 <div class="card-portal " data-pntp-ids="7.2" data-card-slug="regulamentacao-diarias" id="card-lgpd-governo-digital-8"> 2937 <a href="?secao=lgpd-governo-digital&item=regulamentacao-diarias" class="card-overlay-link" 2938 onclick="openIframeModal('/page.php?tema=regulamentacao-diarias', 'Regulamentação de Diárias', 'lgpd-governo-digital', 'regulamentacao-diarias'); return false;" 2939 aria-label="Regulamentação de Diárias"></a> 2940 <div class="icon-wrap" style="background: #0d948815; color: #0d9488"> 2941 <i class="fa-solid fa-file-pen"></i> 2942 </div> 2943 <h3> 2944 Regulamentação de Diárias </h3> 2945 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#0d9488;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2946 2947 </div> 2948 </div> 2949 </div> 2950 2951 </div> 2952 </section> 2953 <section class="section-portal" id="saude-educacao" aria-label="Saúde, Educação e Assistência Social"> 2954 <div class="container"> 2955 <div class="section-header" data-aos="fade-right"> 2956 <div class="section-icon" style="background: #e11d48"> 2957 <i class="fa-solid fa-heart-pulse"></i> 2958 </div> 2959 <div> 2960 <h2>Saúde, Educação e Assistência Social</h2> 2961 <p class="section-subtitle">Unidades de saúde, medicamentos do SUS, vagas em creches e programas de assistência social disponÃveis no municÃpio · Lei 12.527 (LAI) · PNTP 18.x / 19.x</p> 2962 </div> 2963 </div> 2964 2965 2966 <div class="row g-3"> 2967 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="0"> 2968 <div class="card-portal " data-pntp-ids="18.2" data-card-slug="unidades-de-saude" id="card-saude-educacao-0"> 2969 <a href="?secao=saude-educacao&item=unidades-de-saude" class="card-overlay-link" 2970 onclick="openIframeModal('https://saude.tomba.me/unidades-de-saude/2511301', 'Unidades de Saúde', 'saude-educacao', 'unidades-de-saude'); return false;" 2971 aria-label="Unidades de Saúde"></a> 2972 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 2973 <i class="fa-solid fa-hospital"></i> 2974 </div> 2975 <h3> 2976 Unidades de Saúde </h3> 2977 <p class="card-desc">Horários, profissionais e especialidades</p> 2978 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2979 2980 </div> 2981 </div> 2982 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="50"> 2983 <div class="card-portal " data-pntp-ids="18.4, 18.5" data-card-slug="tabela-medicamentos" id="card-saude-educacao-1"> 2984 <a href="?secao=saude-educacao&item=tabela-medicamentos" class="card-overlay-link" 2985 onclick="openIframeModal('https://saude.tomba.me/medicamentos/2511301', 'Medicamentos SUS', 'saude-educacao', 'tabela-medicamentos'); return false;" 2986 aria-label="Medicamentos SUS"></a> 2987 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 2988 <i class="fa-solid fa-pills"></i> 2989 </div> 2990 <h3> 2991 Medicamentos SUS </h3> 2992 <p class="card-desc">Lista completa e estoques - Lei 14.654/2023</p> 2993 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 2994 2995 </div> 2996 </div> 2997 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="100"> 2998 <div class="card-portal " data-pntp-ids="18.1" data-card-slug="plano-municipal-saude" id="card-saude-educacao-2"> 2999 <a href="?secao=saude-educacao&item=plano-municipal-saude" class="card-overlay-link" 3000 onclick="openIframeModal('/planodesaude.php?sg=201141', 'Plano Municipal de Saúde', 'saude-educacao', 'plano-municipal-saude'); return false;" 3001 aria-label="Plano Municipal de Saúde"></a> 3002 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3003 <i class="fa-solid fa-file-medical"></i> 3004 </div> 3005 <h3> 3006 Plano Municipal de Saúde </h3> 3007 <p class="card-desc">Programação anual e relatório de gestão</p> 3008 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3009 3010 </div> 3011 </div> 3012 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="150"> 3013 <div class="card-portal " data-pntp-ids="18.3" data-card-slug="lista-espera-regulacao" id="card-saude-educacao-3"> 3014 <a href="?secao=saude-educacao&item=lista-espera-regulacao" class="card-overlay-link" 3015 onclick="openIframeModal('/page.php?tema=lista-espera-regulacao', 'Lista de Espera - Regulação', 'saude-educacao', 'lista-espera-regulacao'); return false;" 3016 aria-label="Lista de Espera - Regulação"></a> 3017 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3018 <i class="fa-solid fa-clock"></i> 3019 </div> 3020 <h3> 3021 Lista de Espera - Regulação </h3> 3022 <p class="card-desc">Consultas, exames e serviços médicos</p> 3023 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3024 3025 </div> 3026 </div> 3027 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="200"> 3028 <div class="card-portal " data-pntp-ids="18.6" data-card-slug="conselho-saude" id="card-saude-educacao-4"> 3029 <a href="?secao=saude-educacao&item=conselho-saude" class="card-overlay-link" 3030 onclick="openIframeModal('/page.php?tema=conselho-saude', 'Conselho de Saúde', 'saude-educacao', 'conselho-saude'); return false;" 3031 aria-label="Conselho de Saúde"></a> 3032 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3033 <i class="fa-solid fa-users-gear"></i> 3034 </div> 3035 <h3> 3036 Conselho de Saúde </h3> 3037 <p class="card-desc">Composição, atas e pareceres</p> 3038 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3039 3040 </div> 3041 </div> 3042 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="300"> 3043 <div class="card-portal " data-pntp-ids="19.2" data-card-slug="lista-espera-creches" id="card-saude-educacao-6"> 3044 <a href="?secao=saude-educacao&item=lista-espera-creches" class="card-overlay-link" 3045 onclick="openIframeModal('https://files.easyweb.net.br/lista-espera-creches.html', 'Lista de Espera - Creches', 'saude-educacao', 'lista-espera-creches'); return false;" 3046 aria-label="Lista de Espera - Creches"></a> 3047 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3048 <i class="fa-solid fa-child"></i> 3049 </div> 3050 <h3> 3051 Lista de Espera - Creches </h3> 3052 <p class="card-desc">Critérios de priorização de acesso</p> 3053 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3054 3055 </div> 3056 </div> 3057 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="350"> 3058 <div class="card-portal " data-pntp-ids="19.3" data-card-slug="conselho-fundeb" id="card-saude-educacao-7"> 3059 <a href="?secao=saude-educacao&item=conselho-fundeb" class="card-overlay-link" 3060 onclick="openIframeModal('/page.php?tema=conselho-fundeb', 'Conselho do Fundeb', 'saude-educacao', 'conselho-fundeb'); return false;" 3061 aria-label="Conselho do Fundeb"></a> 3062 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3063 <i class="fa-solid fa-chalkboard-user"></i> 3064 </div> 3065 <h3> 3066 Conselho do Fundeb </h3> 3067 <p class="card-desc">Composição, atas e pareceres</p> 3068 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3069 3070 </div> 3071 </div> 3072 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 3073 <div class="card-portal " data-pntp-ids="19.4" data-card-slug="conselho-assistencia-social" id="card-saude-educacao-8"> 3074 <a href="?secao=saude-educacao&item=conselho-assistencia-social" class="card-overlay-link" 3075 onclick="openIframeModal('/page.php?tema=conselho-assistencia-social', 'Conselho de Assistência Social', 'saude-educacao', 'conselho-assistencia-social'); return false;" 3076 aria-label="Conselho de Assistência Social"></a> 3077 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3078 <i class="fa-solid fa-people-roof"></i> 3079 </div> 3080 <h3> 3081 Conselho de Assistência Social </h3> 3082 <p class="card-desc">Composição, atas e pareceres</p> 3083 <div style="position:absolute;top:0;left:0;width:4px;height:100%
3083;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3084 3085 </div> 3086 </div> 3087 <div class="col-6 col-md-4 col-lg-3" data-aos="fade-up" data-aos-delay="400"> 3088 <div class="card-portal " data-card-slug="" id="card-saude-educacao-9"> 3089 <a href="https://pianco.pb.gov.br/coronavirus" class="card-overlay-link" target="_self" aria-label="COVID-19"></a> 3090 <div class="icon-wrap" style="background: #e11d4815; color: #e11d48"> 3091 <i class="fa-solid fa-virus-covid"></i> 3092 </div> 3093 <h3> 3094 COVID-19 </h3> 3095 <div style="position:absolute;top:0;left:0;width:4px;height:100%;background:#e11d48;border-radius:4px 0 0 4px;opacity:0;transition:var(--pt-transition);" class="card-accent-bar"></div> 3096 3097 </div> 3098 </div> 3099 </div> 3100 3101 </div> 3102 </section> 3103 3104 <!-- ============================================================ 3105 PESQUISA DE SATISFAÃÃO (PNTP 15.6) 3106 ============================================================ --> 3107 <section class="survey-section" id="satisfacao"> 3108 <div class="container text-center"> 3109 <h2 class="fw-bold mb-2" data-aos="fade-up">Qual o seu nÃvel de satisfação?</h2> 3110 <p class="mb-4 opacity-75" data-aos="fade-up" data-aos-delay="50">Sua opinião ajuda a melhorar nosso portal</p> 3111 <div class="row g-3 justify-content-center" data-aos="fade-up" data-aos-delay="100"> 3112 <div class="col-6 col-md"> 3113 <div class="survey-card" data-bs-toggle="collapse" data-bs-target="#surveyForm"> 3114 <div class="emoji">ð¡</div> 3115 <span>Muito insatisfeito</span> 3116 </div> 3117 </div> 3118 <div class="col-6 col-md"> 3119 <div class="survey-card" data-bs-toggle="collapse" data-bs-target="#surveyForm"> 3120 <div class="emoji">ð</div> 3121 <span>Insatisfeito</span> 3122 </div> 3123 </div> 3124 <div class="col-6 col-md"> 3125 <div class="survey-card" data-bs-toggle="collapse" data-bs-target="#surveyForm"> 3126 <div class="emoji">ð</div> 3127 <span>Neutro</span> 3128 </div> 3129 </div> 3130 <div class="col-6 col-md"> 3131 <div class="survey-card" data-bs-toggle="collapse" data-bs-target="#surveyForm"> 3132 <div class="emoji">ð</div> 3133 <span>Satisfeito</span> 3134 </div> 3135 </div> 3136 <div class="col-6 col-md"> 3137 <div class="survey-card" data-bs-toggle="collapse" data-bs-target="#surveyForm"> 3138 <div class="emoji">ð¤©</div> 3139 <span>Muito satisfeito</span> 3140 </div> 3141 </div> 3142 </div> 3143 <div class="collapse mt-4" id="surveyForm"> 3144 <div class="card border-0 p-4 mx-auto survey-form-card"> 3145 <div id="mf_placeholder" 3146 data-formurl="//forms.easyweb.com.br/embed.php?id=180764&element_3=pianco.pb.gov.br" 3147 data-formheight="600" 3148 data-formtitle="Pesquisa de Satisfação" 3149 data-paddingbottom="10"> 3150 </div> 3151
3151<script> 3152 (function(f,o,r,m){ 3153 r=f.createElement('script');r.async=1;r.src=o+'js/mf.js'; 3154 m=f.getElementById('mf_placeholder');if(m)m.parentNode.insertBefore(r,m); 3155 })(document,'//forms.easyweb.com.br/'); 3156 </script>
3156 3157 </div> 3158 </div> 3159 </div> 3160 </section> 3161 3162 <!-- ============================================================ 3163 MAPA 3164 ============================================================ --> 3165 <section class="map-section"> 3166 <iframe src="https://www.google.com/maps/d/u/1/embed?mid=11_334N_az4VzhOZfXjwCmxxzS9BHqsGw" allowfullscreen loading="lazy" referrerpolicy="no-referrer-when-downgrade" title="Mapa do municÃpio"></iframe> 3167 </section> 3168 3169 </main><!-- /#conteudo-principal --> 3170 3171 <!-- ============================================================ 3172 FOOTER 3173 ============================================================ --> 3174 <footer class="footer-portal" id="footer-portal" role="contentinfo"> 3175 <div class="container"> 3176 <div class="row g-4"> 3177 <div class="col-lg-5"> 3178 <div class="d-flex align-items-center gap-3 mb-3"> 3179 <img src="https://files.easyweb.net.br/prefeituras/transparencia/2018/small/pianco-sm.png" alt="Brasão" width="48" class="opacity-50"> 3180 <div> 3181 <strong class="text-white">PM PIANCÃ</strong><br> 3182 <small>Portal da Transparência</small> 3183 </div> 3184 </div> 3185 <p class="mb-1"><i class="fa-solid fa-location-dot me-2"></i> Praça Salviano Leite, 10A, Centro - Piancó PB | CEP: 58765-000</p> 3186 <p class="mb-1"><i class="fa-solid fa-phone me-2"></i> (83) 3452-2368 </p> 3187 <p class="mb-1"><i class="fa-solid fa-envelope me-2"></i> <strong>[email protected]</strong></p> 3188 <p class="mb-1"><i class="fa-solid fa-clock me-2"></i> <strong>Segunda à Sexta de 8h à s 14h</strong></p> 3189 <p class="mb-0"><i class="fa-solid fa-building me-2"></i> CNPJ: <strong>09.148.727/0001-95</strong></p> 3190 </div> 3191 <div class="col-lg-3 offset-lg-1"> 3192 <h6>Links Ãteis</h6> 3193 <ul class="list-unstyled"> 3194 <li class="mb-2"><a href="https://pianco.pb.gov.br">InÃcio</a></li> 3195 <li class="mb-2"><a href="https://pianco.pb.gov.br/acesso/perguntas_frequentes">Perguntas Frequentes</a></li> 3196 <li class="mb-2"><a href="https://pianco.pb.gov.br/guias-e-manuais/glossario">Glossário</a></li> 3197 <li class="mb-2"><a href="https://pianco.pb.gov.br/guias-e-manuais/mapa-do-site">Mapa do Site</a></li> 3198 <li class="mb-2"><a href="https://pianco.pb.gov.br/esic/">Acesso à Informação (e-SIC)</a></li> 3199 </ul> 3200 </div> 3201 <div class="col-lg-3"> 3202 <h6>Transparência</h6> 3203 <ul class="list-unstyled"> 3204 <li class="mb-2"><a href="https://pianco.pb.gov.br/acesso/fale_conosco">Ouvidoria</a></li> 3205 <li class="mb-2"><a href="https://pianco.pb.gov.br/portaldeservicos">Carta de Serviços</a></li> 3206 <li class="mb-2"><a href="https://radardatransparencia.atricon.org.br/" target="_blank">Radar ATRICON</a></li> 3207 </ul> 3208 <h6 class="mt-3">Redes Sociais</h6> 3209 <div class="footer-social d-flex gap-2"> 3210 <a href="https://www.facebook.com/prefeitura.areiadebaraunas/" target="_blank" rel="noopener" title="Facebook"> 3211 <i class="fa-brands fa-facebook"></i> 3212 </a> 3213 <a href="https://www.instagram.com/prefeituradepianco" target="_blank" rel="noopener" title="Instagram"> 3214 <i class="fa-brands fa-instagram"></i> 3215 </a> 3216 </div> 3217 </div> 3218 </div> 3219 <div class="footer-bottom"> 3220 2026 © PM PIANCÃ. Todos os direitos reservados. 3221 </div> 3222 </div> 3223 </footer> 3224 3225 <!-- ============================================================ 3226 OFFCANVAS â Acessibilidade (PNTP 13.1, 13.3, 13.4) 3227 ============================================================ --> 3228 <div class="offcanvas offcanvas-end offcanvas-accessibility" tabindex="-1" id="offcanvasAccess" aria-labelledby="offcanvasAccessLabel"> 3229 <div class="offcanvas-header"> 3230 <h5 id="offcanvasAccessLabel"><i class="fa-solid fa-universal-access me-2"></i> Acessibilidade</h5> 3231 <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Fechar"></button> 3232 </div> 3233 <div class="offcanvas-body"> 3234 <h6 class="text-muted mb-3 text-uppercase small fw-bold">Tamanho do Texto</h6> 3235 <button class="btn-access" onclick="changeFontSize(2)"> 3236 <i class="fa-solid fa-plus"></i> Aumentar Texto 3237 </button> 3238 <button class="btn-access" onclick="changeFontSize(0)"> 3239 <i class="fa-solid fa-text-height"></i> Texto Padrão 3240 </button> 3241 <button class="btn-access" onclick="changeFontSize(-2)"> 3242 <i class="fa-solid fa-minus"></i>
3242 Diminuir Texto 3243 </button> 3244 3245 <h6 class="text-muted mb-3 mt-4 text-uppercase small fw-bold">Contraste (PNTP 13.3)</h6> 3246 <button class="btn-access" onclick="toggleContrast()"> 3247 <i class="fa-solid fa-circle-half-stroke"></i> Alto Contraste 3248 </button> 3249 3250 <h6 class="text-muted mb-3 mt-4 text-uppercase small fw-bold">Modo de Cor</h6> 3251 <button class="btn-access" onclick="toggleTheme()"> 3252 <i class="fa-solid fa-moon"></i> Modo Escuro / Claro 3253 </button> 3254 3255 <h6 class="text-muted mb-3 mt-4 text-uppercase small fw-bold">Atalhos de Teclado</h6> 3256 <div class="small text-muted"> 3257 <p class="mb-1"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>M</kbd> â Menu Principal</p> 3258 <p class="mb-1"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>S</kbd> â e-SIC</p> 3259 <p class="mb-1"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>O</kbd> â Ouvidoria</p> 3260 <p class="mb-1"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>F</kbd> â Transparência</p> 3261 <p class="mb-1"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> â Glossário</p> 3262 </div> 3263 </div> 3264 </div> 3265 3266 <!-- Back to top --> 3267 <button class="btn-top" id="btnTop" title="Voltar ao topo" aria-label="Voltar ao topo"> 3268 <i class="fa-solid fa-chevron-up"></i> 3269 </button> 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 <!-- ============================================================ 3280 IFRAME MODAL â Painel de conteúdo interno (conformidade PNTP) 3281 Mantém a URL no domÃnio do portal durante a navegação 3282 ============================================================ --> 3283 <div id="iframeModal" role="dialog" aria-modal="true" aria-labelledby="iframeModalTitle" style="display:none"> 3284 <div id="iframeModalHeader"> 3285 <div id="iframeModalInfo"> 3286 <div id="iframeModalBreadcrumb"> 3287 <i class="fa-solid fa-house"></i> 3288 <span>Portal da Transparência</span> 3289 <i class="fa-solid fa-chevron-right" style="font-size:.65rem;opacity:.5"></i> 3290 <span id="iframeModalSection"></span> 3291 </div> 3292 <h2 id="iframeModalTitle">Carregando...</h2> 3293 </div> 3294 <div id="iframeModalActions"> 3295 <a id="iframeModalExternal" href="#" target="_blank" rel="noopener noreferrer" title="Abrir em nova aba" class="btn-iframe-action"> 3296 <i class="fa-solid fa-arrow-up-right-from-square"></i> 3297 <span class="d-none d-md-inline">Nova aba</span> 3298 </a> 3299 <button id="iframeModalCopy" onclick="copyIframeLink()" title="Copiar link" class="btn-iframe-action"> 3300 <i class="fa-solid fa-link"></i> 3301 <span class="d-none d-md-inline">Copiar</span> 3302 </button> 3303 <a id="iframeModalWhatsapp" href="#" target="_blank" rel="noopener noreferrer" title="Compartilhar no WhatsApp" class="btn-iframe-action btn-iframe-whatsapp"> 3304 <i class="fa-brands fa-whatsapp"></i> 3305 <span class="d-none d-md-inline">WhatsApp</span> 3306 </a> 3307 <button id="iframeModalClose" onclick="closeIframeModal()" title="Fechar" class="btn-iframe-action btn-iframe-close" aria-label="Fechar painel"> 3308 <i class="fa-solid fa-xmark"></i> 3309 </button> 3310 </div> 3311 </div> 3312 <div id="iframeModalBody"> 3313 <div id="iframeLoading"> 3314 <div class="iframe-spinner"></div> 3315 <p>Carregando conteúdo...</p> 3316 <div id="iframeTip" class="iframe-tip"> 3317 <i class="fa-solid fa-lightbulb"></i> 3318 <span id="iframeTipText"></span> 3319 </div> 3320
3320<script> 3321 (function(){ 3322 const tips = [ 3323 'A Lei 12.527/2011 (LAI) garante a todo cidadão o direito de acessar informações públicas sem precisar justificar o motivo.', 3324 'O PNTP 2026 avalia mais de 130 critérios de transparência em portais de todos os poderes e esferas do Brasil.', 3325 'Você pode solicitar informações ao municÃpio via e-SIC de forma simples, sem necessidade de envio de documentos.', 3326 'Todo portal de transparência deve permitir gravar relatórios em formatos editáveis como CSV e XLS.', 3327 'A LGPD (Lei 13.709/2018) exige que o municÃpio identifique um Encarregado de Dados (DPO) com contato público.', 3328 'Os portais são avaliados pelo Radar da Transparência Pública, ferramenta da ATRICON em parceria com os Tribunais de Contas.', 3329 'Receitas e despesas devem ser publicadas com classificação orçamentária: categoria econômica, origem, espécie e desdobramento.', 3330 'Todo empenho deve identificar o beneficiário, o valor, o bem ou serviço prestado e a licitação que originou a despesa.', 3331 'O municÃpio deve divulgar a remuneração nominal de cada servidor, incluindo descontos e vantagens pessoais.', 3332 'O portal deve conter ferramenta de pesquisa que permita buscar informações em todo o conteúdo publicado.', 3333 'Os contratos devem ser publicados na Ãntegra, incluindo aditivos, valores, vigência e fiscais designados.', 3334 'A Carta de Serviços ao Usuário (Lei 13.460/2017) deve listar todos os serviços, formas de acesso e prazos.', 3335 'Obras públicas devem informar empresa contratada, valor, percentual concluÃdo e, se paralisadas, o motivo.', 3336 'O PPA, LDO e LOA devem estar publicados com seus anexos completos no portal de transparência.', 3337 'O prazo para resposta a pedidos via LAI é de 20 dias úteis, prorrogáveis por mais 10 mediante justificativa.', 3338 'O portal deve exibir a estrutura organizacional do municÃpio e a norma que a instituiu.', 3339 'Os nomes e cargos dos atuais responsáveis pela gestão do poder ou órgão devem estar publicados.', 3340 'Endereços, telefones, e-mails institucionais e horário de atendimento são informações obrigatórias.', 3341 'Perguntas e respostas frequentes (FAQ) devem estar disponÃveis para facilitar o acesso à informação.', 3342 'O municÃpio deve divulgar seus perfis oficiais em redes sociais no portal institucional.', 3343 'A dÃvida ativa deve ser publicada com nome do inscrito e o valor total da dÃvida.', 3344 'Despesas com publicidade devem detalhar fornecedores, veÃculos de divulgação e valores pagos.', 3345 'Convênios devem informar número, valor total, valor recebido, objeto, vigência e órgão repassador.', 3346 'A relação nominal de servidores deve conter cargo, lotação, data de admissão e carga horária.', 3347 'A tabela com o padrão remuneratório de cargos e funções deve estar publicada no portal.', 3348 'A lista de estagiários deve conter nome, data de contratação e data de término do contrato.', 3349 'Terceirizados devem ser listados com nome completo, função exercida e empresa empregadora.', 3350 'Editais de concursos e seleções públicas devem ser publicados na Ãntegra.', 3351 'Resultados de concursos devem conter lista de aprovados com classificações e nomeações.', 3352 'Diárias devem informar beneficiário, cargo, valor, perÃodo, motivo e local de destino.', 3353 'Licitações devem estar em ordem sequencial com número, modalidade, objeto, data, valor e situação.', 3354 'Os editais de licitação devem ser publicados na Ãntegra, incluindo documentos das fases interna e externa.', 3355 'Dispensas e inexigibilidades de licitação devem ter seus principais documentos publicados.', 3356 'O plano de contratações anual do municÃpio deve estar disponÃvel no portal.', 3357 'Licitantes sancionados administrativamente devem ser listados publicamente.', 3358 'A ordem cronológica de pagamentos deve ser divulgada com justificativas para eventuais alterações.', 3359 'O Balanço Geral do ano anterior e o Relatório de Gestão devem estar publicados.', 3360 'O Relatório de Gestão Fiscal (RGF) e o RREO devem ser publicados nos prazos legais.', 3361 'O resultado do julgamento das contas pelo Tribunal de Contas deve ser divulgado.', 3362 'O SIC deve indicar a unidade responsável, endereço, telefone, e-mail e horário de funcionamento.', 3363 'O portal deve conter sÃmbolo de acessibilidade, opção de alto contraste e redimensionamento de texto.', 3364 'O mapa do site deve estar disponÃvel para facilitar a navegação do cidadão.', 3365 'A Ouvidoria deve ter canal eletrônico, endereço fÃsico, telefone e horário de funcionamento.', 3366 'Dados abertos devem ser disponibilizados em formatos legÃveis por máquina com regras de utilização.', 3367 'A pesquisa de satisfação dos serviços públicos deve ser realizada e seus resultados divulgados.', 3368 'Emendas parlamentares devem informar origem, tipo, autoria, valor previsto e realizado e objeto.', 3369 'O plano de saúde municipal, programação anual e relatório de gestão devem estar publicados.', 3370 'A lista de espera em creches públicas e os critérios de priorização devem ser divulgados.', 3371 'Medicamentos do SUS devem ser listados com informações sobre como obtê-los, incluindo os de alto custo.', 3372 'Câmaras Municipais devem divulgar a composição da Casa, projetos de lei e pautas das sessões.', 3373 ]; 3374 // Fisher-Yates shuffle 3375 for (let j = tips.length - 1; j > 0; j--) {
3376 const k = Math.floor(Math.random() * (j + 1)); 3377 [tips[j], tips[k]] = [tips[k], tips[j]]; 3378 } 3379 let i = 0; 3380 const el = document.getElementById('iframeTipText'); 3381 const wrap = document.getElementById('iframeTip'); 3382 if (el && wrap) { 3383 el.textContent = tips[0]; 3384 setTimeout(() => wrap.style.opacity = 1, 2000); 3385 setInterval(() => { 3386 i = (i + 1) % tips.length; 3387 el.style.opacity = 0; 3388 setTimeout(() => { el.textContent = tips[i]; el.style.opacity = 1; }, 400); 3389 }, 6000); 3390 } 3391 })(); 3392 </script>
3392 3393 <p id="iframeLoadingSlow" style="opacity:0;transition:opacity .8s;font-size:.78rem;color:#94a3b8;margin-top:.3rem">Aguarde, o conteúdo pode demorar alguns segundos...</p> 3394 <a id="iframeLoadingFallback" href="#" target="_blank" rel="noopener noreferrer" 3395 style="opacity:0;transition:opacity .8s;font-size:.82rem;color:#64748b;text-decoration:underline;margin-top:.5rem"> 3396 Está demorando? Abrir em nova aba 3397 </a> 3398 <button id="iframeLoadingReport" onclick="openReportError()" style="opacity:0;transition:opacity .8s;background:none;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.35rem .9rem;border-radius:6px;font-size:.75rem;cursor:pointer;font-family:inherit;margin-top:.4rem"> 3399 <i class="fa-solid fa-flag me-1"></i>Reportar erro 3400 </button> 3401 <div class="iframe-skeleton"> 3402 <div class="iframe-skeleton-line"></div> 3403 <div class="iframe-skeleton-line"></div> 3404 <div class="iframe-skeleton-line"></div> 3405 </div> 3406
3406<script> 3407 // 4s: aviso "pode demorar" 3408 setTimeout(()=>{const e=document.getElementById('iframeLoadingSlow');if(e)e.style.opacity=1;},4000); 3409 // 10s: link "abrir em nova aba" 3410 setTimeout(()=>{const e=document.getElementById('iframeLoadingFallback');if(e)e.style.opacity=1;},10000); 3411 // 20s: botão "reportar erro" (só quando realmente falhou) 3412 setTimeout(()=>{const e=document.getElementById('iframeLoadingReport');if(e)e.style.opacity=1;},20000); 3413 </script>
3413 3414 </div> 3415 <div id="iframeBlocked" style="display:none"> 3416 <i class="fa-solid fa-shield-halved" style="font-size:3rem;color:#f59e0b;margin-bottom:1rem"></i> 3417 <h3>Conteúdo bloqueado pelo servidor externo</h3> 3418 <p>Este site não permite exibição em iframe (<code>X-Frame-Options</code>).</p> 3419 <div style="display:flex;gap:.75rem;margin-top:.5rem;flex-wrap:wrap;justify-content:center"> 3420 <a id="iframeBlockedLink" href="#" target="_blank" rel="noopener noreferrer" class="btn" style="background:var(--pt-primary);color:#fff;padding:.6rem 1.5rem;border-radius:8px;text-decoration:none"> 3421 <i class="fa-solid fa-arrow-up-right-from-square me-2"></i>Abrir em nova aba 3422 </a> 3423 <button onclick="openReportError()" style="background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.6rem 1.2rem;border-radius:8px;font-size:.85rem;cursor:pointer;font-family:inherit"> 3424 <i class="fa-solid fa-flag me-1"></i>Reportar erro 3425 </button> 3426 </div> 3427 </div> 3428 <iframe id="iframeContent" src="about:blank" allow="fullscreen" title="Conteúdo de transparência"></iframe> 3429 </div> 3430 </div> 3431 <div id="iframeBackdrop" onclick="closeIframeModal()" style="display:none"></div> 3432 3433 <style> 3434 /* ---- IFRAME MODAL ---- */ 3435 #iframeModal { 3436 position: fixed; 3437 top: 0; left: 0; right: 0; bottom: 0; 3438 z-index: 10000; 3439 display: flex; 3440 flex-direction: column; 3441 background: var(--pt-bg, #f0f4f8); 3442 transform: translateY(100%); 3443 transition: transform .35s cubic-bezier(.4,0,.2,1); 3444 } 3445 #iframeModal.iframe-open { 3446 transform: translateY(0); 3447 } 3448 #iframeModalHeader { 3449 display: flex; 3450 align-items: center; 3451 justify-content: space-between; 3452 padding: .75rem 1.25rem; 3453 background: var(--pt-primary); 3454 color: #fff; 3455 gap: 1rem; 3456 flex-shrink: 0; 3457 box-shadow: 0 2px 12px rgba(0,0,0,.15); 3458 } 3459 #iframeModalInfo { flex: 1; min-width: 0; } 3460 #iframeModalBreadcrumb { 3461 display: flex; 3462 align-items: center; 3463 gap: .4rem; 3464 font-size: .7rem; 3465 opacity: .75; 3466 margin-bottom: .2rem; 3467 } 3468 #iframeModalTitle { 3469 font-size: 1rem; 3470 font-weight: 700; 3471 margin: 0; 3472 white-space: nowrap; 3473 overflow: hidden; 3474 text-overflow: ellipsis; 3475 } 3476 #iframeModalActions { display: flex; gap: .5rem; flex-shrink: 0; } 3477 .btn-iframe-action { 3478 background: rgba(255,255,255,.15); 3479 border: 1px solid rgba(255,255,255,.25); 3480 color: #fff; 3481 padding: .4rem .8rem; 3482 border-radius: 8px; 3483 font-size: .85rem; 3484 cursor: pointer; 3485 display: flex; 3486 align-items: center; 3487 gap: .4rem; 3488 text-decoration: none; 3489 transition: background .2s; 3490 } 3491 .btn-iframe-action:hover { background: rgba(255,255,255,.28); color: #fff; } 3492 .btn-iframe-whatsapp:hover { background: #25d366; border-color: #25d366; } 3493 .btn-iframe-action.copied { background: #16a34a; border-color: #16a34a; } 3494 .btn-iframe-close { font-size: 1.1rem; padding: .4rem .9rem; } 3495 #iframeModalBody { 3496 flex: 1; 3497 position: relative; 3498 overflow: hidden; 3499 } 3500 #iframeContent { 3501 width: 100%; 3502 height: 100%; 3503 border: none; 3504 display: block; 3505 opacity: 0; 3506 transition: opacity .4s ease-in; 3507 } 3508 #iframeContent.iframe-loaded { opacity: 1; } 3509 #iframeLoading, #iframeBlocked { 3510 position: absolute; 3511 inset: 0; 3512 display: flex; 3513 flex-direction: column; 3514 align-items: center; 3515 justify-content: center; 3516 background: var(--pt-bg, #f0f4f8); 3517 text-align: center; 3518 padding: 2rem; 3519 z-index: 2; 3520 } 3521 .iframe-spinner { 3522 width: 48px; height: 48px; 3523 border: 4px solid rgba(0,0,0,.1); 3524 border-top-color: var(--pt-primary); 3525 border-radius: 50%; 3526 animation: spin .8s linear infinite; 3527 margin-bottom: 1rem; 3528 }
3529 @keyframes spin { to { transform: rotate(360deg); } } 3530 /* Skeleton shimmer para loading */ 3531 .iframe-skeleton { 3532 width: 70%; max-width: 500px; 3533 margin-top: 1.5rem; 3534 display: flex; flex-direction: column; gap: 10px; 3535 } 3536 .iframe-skeleton-line { 3537 height: 14px; border-radius: 6px; 3538 background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%); 3539 background-size: 200% 100%; 3540 animation: shimmer 1.5s infinite; 3541 } 3542 .iframe-skeleton-line:nth-child(1) { width: 90%; } 3543 .iframe-skeleton-line:nth-child(2) { width: 75%; } 3544 .iframe-skeleton-line:nth-child(3) { width: 60%; height: 10px; } 3545 @keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} } 3546 /* Dica educativa no loading */ 3547 .iframe-tip { 3548 opacity: 0; transition: opacity .6s; 3549 max-width: 480px; margin-top: 1.2rem; padding: .8rem 1.2rem; 3550 background: rgba(37,99,235,.06); border: 1px solid rgba(37,99,235,.15); 3551 border-radius: 10px; font-size: .82rem; line-height: 1.5; 3552 color: #475569; text-align: left; 3553 display: flex; align-items: flex-start; gap: 10px; 3554 } 3555 .iframe-tip i { color: #eab308; font-size: 1rem; margin-top: 2px; flex-shrink: 0; } 3556 .iframe-tip span { transition: opacity .3s; } 3557 #iframeBackdrop { display: none; } /* sem backdrop â modal ocupa tela cheia */ 3558 @media (max-width: 576px) { 3559 #iframeModalTitle { font-size: .9rem; } 3560 .btn-iframe-action span { display: none !important; } 3561 } 3562 </style> 3563 3564
3564<script> 3565 // ---- IFRAME MODAL ---- 3566 // URL base do portal (sem query params) para deep links 3567 const _portalBase = window.location.origin + window.location.pathname; 3568 3569 function isMobileDevice() { 3570 return /android|bb\d+|meego.+mobile|avantgo|bada\/|blackberry|iemobile|ip(hone|od)|lumia|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(40|60)|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 3571 || window.innerWidth <= 768; 3572 } 3573 3574 function openIframeModal(url, titulo, secaoId, itemSlug) { 3575 // Mobile - abre direto na nova aba (sem iframe: scroll preso, UX ruim) 3576 if (isMobileDevice()) { 3577 window.open(url, '_blank', 'noopener,noreferrer'); 3578 return; 3579 } 3580 3581 const modal = document.getElementById('iframeModal'); 3582 const iframe = document.getElementById('iframeContent'); 3583 const loading = document.getElementById('iframeLoading'); 3584 const blocked = document.getElementById('iframeBlocked'); 3585 const titleEl = document.getElementById('iframeModalTitle'); 3586 const extLink = document.getElementById('iframeModalExternal'); 3587 const blkLink = document.getElementById('iframeBlockedLink'); 3588 3589 // Reset 3590 titleEl.textContent = titulo; 3591 extLink.href = url; 3592 blkLink.href = url; 3593 3594 // ---- DEEP LINK: atualiza a URL do browser ---- 3595 if (secaoId && itemSlug) { 3596 const deepUrl = `${_portalBase}?secao=${encodeURIComponent(secaoId)}&item=${encodeURIComponent(itemSlug)}`; 3597 history.pushState({ modal: true, url, titulo, secaoId, itemSlug }, titulo, deepUrl); 3598 // Salva dados no modal para o botão copiar 3599 modal.dataset.deeplink = deepUrl; 3600 modal.dataset.iframeUrl = url; 3601 } 3602 3603 // Atualiza link WhatsApp com deep link do portal (não a URL crua do iframe) 3604 const waLink = document.getElementById('iframeModalWhatsapp'); 3605 if (waLink) { 3606 const shareUrl = modal.dataset.deeplink || url; 3607 const msg = `ð Olá! Estou compartilhando com você uma informação do *Portal da Transparência â PM PIANCÃ*:\n\nð *${titulo}*\n\nð ${shareUrl}\n\n_Acesse e acompanhe a gestão pública do seu municÃpio!_`; 3608 waLink.href = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(msg); 3609 } 3610 loading.style.display = 'flex'; 3611 blocked.style.display = 'none'; 3612 iframe.src = 'about:blank'; 3613 3614 // Link de fallback no próprio loading (caso demore muito) 3615 const fallbackEl = document.getElementById('iframeLoadingFallback'); 3616 if (fallbackEl) fallbackEl.href = url; 3617 3618 // Exibe o modal 3619 modal.style.display = 'flex'; 3620 requestAnimationFrame(() => modal.classList.add('iframe-open')); 3621 document.body.style.overflow = 'hidden'; 3622 3623 // Carrega o iframe 3624 iframe.src = url; 3625 3626 // Timeout de segurança: se onload não disparar em 25s, esconde o loading 3627 let safetyTimeout = setTimeout(() => { 3628 loading.style.display = 'none'; 3629 iframe.classList.add('iframe-loaded'); 3630 }, 25000); 3631 3632 // onload â iframe carregou com sucesso (cross-origin ou não) 3633 iframe.onload = function() { 3634 clearTimeout(safetyTimeout); 3635 loading.style.display = 'none'; 3636 iframe.classList.add('iframe-loaded'); 3637 }; 3638 3639 // onerror -?' erro real de rede (raro para X-Frame-Options) 3640 iframe.onerror = function() { 3641 clearTimeout(safetyTimeout); 3642 loading.style.display = 'none'; 3643 blocked.style.display = 'flex'; 3644 }; 3645 } 3646 3647 function closeIframeModal() { 3648 const modal = document.getElementById('iframeModal'); 3649 const iframe = document.getElementById('iframeContent'); 3650 modal.classList.remove('iframe-open'); 3651 document.body.style.overflow = ''; 3652 3653 // ---- DEEP LINK: restaura a URL limpa ---- 3654 if (modal.dataset.deeplink) { 3655 history.pushState({}, '', _portalBase); 3656 delete modal.dataset.deeplink; 3657 delete modal.dataset.iframeUrl; 3658 } 3659 3660 setTimeout(() => { 3661 modal.style.display = 'none'; 3662 iframe.src = 'about:blank'; 3663 iframe.classList.remove('iframe-loaded'); 3664 }, 350); 3665 } 3666 3667 function copyIframeLink() { 3668 // Copia a URL do portal com deep link (não a URL crua do iframe) 3669 const modal = document.getElementById('iframeModal'); 3670 const url = modal.dataset.deeplink || document.getElementById('iframeModalExternal').href; 3671 const btn = document.getElementById('iframeModalCopy'); 3672 navigator.clipboard.writeText(url).then(() => { 3673 btn.classList.add('copied'); 3674 btn.querySelector('i').className = 'fa-solid fa-check'; 3675 const label = btn.querySelector('span'); 3676 if (label) label.textContent = 'Copiado!'; 3677 setTimeout(() => { 3678 btn.classList.remove('copied'); 3679 btn.querySelector('i').className = 'fa-solid fa-link'; 3680 if (label) label.textContent = 'Copiar'; 3681 }, 2000); 3682 }); 3683 } 3684 3685 // ESC fecha o modal 3686 document.addEventListener('keydown', function(e) { 3687 if (e.key === 'Escape') closeIframeModal(); 3688 }); 3689 3690 // ---- REPORTAR ERRO ---- 3691 function openReportError() { 3692 const title = document.getElementById('iframeModalTitle')?.textContent || ''; 3693 const url = document.getElementById('iframeModalExternal')?.href || ''; 3694 const city = "PM PIANC\u00d3"; 3695 const modal = document.getElementById('reportErrorModal'); 3696 if (!modal) return; 3697 document.getElementById('reportCity').value = city; 3698 document.getElementById('reportTitle').value = title; 3699 document.getElementById('reportUrl').value = url; 3700 document.getElementById('reportMsg').value = ''; 3701 document.getElementById('reportStatus').innerHTML = ''; 3702 modal.style.display = 'flex'; 3703 document.getElementById('reportMsg').focus(); 3704 } 3705 3706 function closeReportError() { 3707 const modal = document.getElementById('reportErrorModal'); 3708 if (modal) modal.style.display = 'none'; 3709 } 3710 3711 async function sendReport() { 3712 const btn = document.getElementById('reportSendBtn'); 3713 const city = document.getElementById('reportCity').value; 3714 const title = document.getElementById('reportTitle').value; 3715 const url = document.getElementById('reportUrl').value; 3716 const msg = document.getElementById('reportMsg').value; 3717 const status = document.getElementById('reportStatus'); 3718 3719 if (!msg.trim()) { status.innerHTML = '<span style="color:#f87171">Descreva o problema encontrado.</span>'; return; } 3720 3721 btn.disabled = true; 3722 btn.innerHTML = '<i class="fa-solid fa-spinner fa-spin me-1"></i>Enviando...'; 3723 3724 try { 3725 const fd = new FormData(); 3726 fd.append('report_action', 'send_error'); 3727 fd.append('website_hp', ''); // honeypot anti-bot 3728 fd.append('city', city); 3729 fd.append('title', title); 3730 fd.append('url', url); 3731 fd.append('msg', msg); 3732 fd.append('page_url', window.location.href); 3733 3734 const resp = await fetch(window.location.pathname, { method: 'POST', body: fd }); 3735 const data = await resp.json(); 3736 3737 if (data.ok) { 3738 status.innerHTML = '<span style="color:#22c55e"><i class="fa-solid fa-check me-1"></i>Enviado! Obrigado pelo reporte.</span>'; 3739 setTimeout(closeReportError, 2000); 3740 } else { 3741 status.innerHTML = '<span style="color:#f87171">' + (data.msg || 'Erro ao enviar') + '</span>'; 3742 } 3743 } catch(e) { 3744 status.innerHTML = '<span style="color:#f87171">Erro de conexão. Tente novamente.</span>'; 3745 } 3746 btn.disabled = false;
3747 btn.innerHTML = '<i class="fa-solid fa-paper-plane me-1"></i>Enviar Reporte'; 3748 } 3749 </script>
3749 3750 3751 <!-- MODAL REPORTAR ERRO --> 3752 <div id="reportErrorModal" style="display:none;position:fixed;inset:0;z-index:100002;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);align-items:center;justify-content:center"> 3753 <div style="background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:14px;width:460px;max-width:95%;box-shadow:0 20px 60px rgba(0,0,0,.5);color:#f1f5f9"> 3754 <div style="padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between"> 3755 <h3 style="font-size:1rem;font-weight:700;margin:0"><i class="fa-solid fa-flag me-2" style="color:#f87171"></i>Reportar Erro</h3> 3756 <button onclick="closeReportError()" style="background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.2rem"><i class="fa-solid fa-xmark"></i></button> 3757 </div> 3758 <div style="padding:1.5rem;display:flex;flex-direction:column;gap:.8rem"> 3759 <div style="display:flex;gap:.5rem"> 3760 <div style="flex:1"> 3761 <label style="font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;display:block;margin-bottom:.3rem">Cidade</label> 3762 <input type="text" id="reportCity" readonly style="width:100%;background:#334155;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.4rem .6rem;color:#f1f5f9;font-size:.82rem;font-family:inherit"> 3763 </div> 3764 <div style="flex:2"> 3765 <label style="font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;display:block;margin-bottom:.3rem">Página</label> 3766 <input type="text" id="reportTitle" readonly style="width:100%;background:#334155;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.4rem .6rem;color:#f1f5f9;font-size:.82rem;font-family:inherit"> 3767 </div> 3768 </div> 3769 <div> 3770 <label style="font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;display:block;margin-bottom:.3rem">URL com problema</label> 3771 <input type="text" id="reportUrl" readonly style="width:100%;background:#334155;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.4rem .6rem;color:#f1f5f9;font-size:.82rem;font-family:inherit;word-break:break-all"> 3772 </div> 3773 <div> 3774 <label style="font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;display:block;margin-bottom:.3rem">Descreva o problema *</label> 3775 <textarea id="reportMsg" rows="3" placeholder="Ex: A página não carrega, mostra erro 404, conteúdo desatualizado..." style="width:100%;background:#334155;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.5rem .6rem;color:#f1f5f9;font-size:.85rem;font-family:inherit;resize:vertical"></textarea> 3776 </div> 3777 <div style="display:flex;align-items:center;justify-content:space-between;margin-top:.5rem"> 3778 <div id="reportStatus" style="font-size:.82rem"></div> 3779 <button id="reportSendBtn" onclick="sendReport()" style="background:#ef4444;color:#fff;border:none;padding:.55rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.4rem"> 3780 <i class="fa-solid fa-paper-plane"></i>Enviar Reporte 3781 </button> 3782 </div> 3783 </div> 3784 </div> 3785 </div> 3786 3787 3788 3789 <!-- ============================================================ 3790 PRINT REPORT â Relatório imprimÃvel de conformidade PNTP 3791 ============================================================ --> 3792 <div id="printReport" style="display:none"> 3793 <div id="printReportContent"> 3794 <!-- Preenchido via JS ao imprimir --> 3795 </div> 3796 </div> 3797 3798 <style> 3799 @media print { 3800 /* Esconde tudo exceto o relatório */ 3801 body > *:not(#printReport) { display: none !important; } 3802 #printReport { 3803 display: block !important; 3804 position: static; /* NÃO fixed â permite múltiplas páginas */ 3805 width: 100%; 3806 height: auto; /* Cresce com o conteúdo */ 3807 background: #fff; 3808 margin: 0; 3809 padding: 0; 3810 } 3811 /* Margens de página â garante que o conteúdo quebre corretamente */ 3812 @page { 3813 size: A4 portrait; 3814 margin: 1.5cm 2cm; 3815 } 3816 .print-page { 3817 font-family: 'Segoe UI', Arial, sans-serif; 3818 color: #1e293b; 3819 font-size: 10pt; 3820 max-width: 100%; 3821 overflow: visible; /* essencial para múltiplas páginas */ 3822 } 3823 .print-header { 3824 display: flex; align-items: center; gap: 1rem; 3825 border-bottom: 3px solid #0f172a; padding-bottom: .75rem; margin-bottom: 1rem; 3826 page-break-inside: avoid; 3827 } 3828 .print-header-info { flex: 1; } 3829 .print-title { font-size: 16pt; font-weight: 800; color: #0f172a; margin: 0; } 3830 .print-sub { font-size: 9pt; color: #64748b; margin: .15rem 0 0; } 3831 .print-meta-grid { 3832 display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; 3833 background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; 3834 padding: .6rem 1rem; margin-bottom: 1rem; 3835 page-break-inside: avoid; 3836 } 3837 .print-meta-item { font-size: 8pt; } 3838 .print-meta-label { color: #94a3b8; font-weight: 700; text-transform: uppercase; display: block; } 3839 .print-meta-value { font-weight: 700; color: #1e293b; } 3840 .print-section-title { 3841 font-size: 9pt; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; 3842 color: #64748b; margin: .8rem 0 .3rem; padding-bottom: .2rem; 3843 border-bottom: 1px solid #e2e8f0; 3844 page-break-after: avoid; /* tÃtulo nunca fica sozinho no fim da página */ 3845 } 3846 .print-item { 3847 display: flex; align-items: flex-start; gap: .5rem; 3848 padding: .22rem 0; border-bottom: 1px dotted #f1f5f9; font-size: 8.5pt; 3849 page-break-inside: avoid; /* item nunca é cortado no meio */ 3850 } 3851 .print-footer { 3852 margin-top: 1.5rem; padding-top: .5rem; border-top: 1px solid #e2e8f0; 3853 font-size: 7.5pt; color: #94a3b8; display: flex; justify-content: space-between; 3854 page-break-inside: avoid; 3855 } 3856 } 3857 </style> 3858 3859
3859<script> 3860 function imprimirRelatorio() { 3861 // Coleta dados do checklist renderizado 3862 const itens = []; 3863 document.querySelectorAll('.checklist-item').forEach(el => { 3864 const status = el.querySelector('.ci-status')?.className.replace('ci-status ','').trim() || 'na'; 3865 const id = el.querySelector('.ci-id')?.textContent || ''; 3866 const classe = el.querySelector('[class*="ci-class"]')?.textContent || ''; 3867 const texto = el.querySelector('.ci-text')?.textContent || ''; 3868 const grupo = el.closest('.checklist-group')?.querySelector('.checklist-group-title')?.textContent || 'Geral'; 3869 itens.push({ status, id, classe, texto, grupo }); 3870 }); 3871 3872 // Agrupa por dimensão 3873 const grupos = {}; 3874 itens.forEach(i => { 3875 if (!grupos[i.grupo]) grupos[i.grupo] = []; 3876 grupos[i.grupo].push(i); 3877 }); 3878 3879 const total = itens.length; 3880 const ok = itens.filter(i => i.status === 'ok').length; 3881 const okExt = itens.filter(i => i.status === 'ok_ext').length; 3882 const okTotal = ok + okExt; 3883 const pending = itens.filter(i => i.status === 'pending').length; 3884 const na = itens.filter(i => i.status === 'na').length; 3885 const pct = total > 0 ? Math.round(okTotal / total * 100) : 0; 3886 const scoreLabel = pct >= 80 ? 'Excelente' : (pct >= 50 ? 'Em Progresso' : 'CrÃtico'); 3887 const scoreColor = pct >= 80 ? '#059669' : (pct >= 50 ? '#f59e0b' : '#ef4444'); 3888 const agora = new Date().toLocaleDateString('pt-BR', {day:'2-digit',month:'long',year:'numeric'}); 3889 const hora = new Date().toLocaleTimeString('pt-BR', {hour:'2-digit',minute:'2-digit'}); 3890 const municipio = 'PM PIANCÃ'; 3891 const uf = 'PB'; 3892 const cnpj = '09.148.727/0001-95'; 3893 const poder = 'Prefeitura Municipal'; 3894 const endereco = 'Praça Salviano Leite, 10A, Centro - Piancó PB | CEP: 58765-000'; 3895 const email = '[email protected]'; 3896 const brasao = 'https://files.easyweb.net.br/prefeituras/transparencia/2018/small/pianco-sm.png'; 3897 3898 let itensHtml = ''; 3899 Object.entries(grupos).forEach(([grupo, items]) => { 3900 const dimOk = items.filter(i => i.status === 'ok' || i.status === 'ok_ext').length; 3901 const dimTot = items.length; 3902 itensHtml += `<div class="print-section-title">${grupo} <span style="float:right;font-size:8pt;font-weight:400;color:#64748b">${dimOk}/${dimTot}</span></div>`; 3903 items.forEach(i => { 3904 const icone = i.status === 'ok' ? '✓' : (i.status === 'ok_ext' ? '▸' : (i.status === 'pending' ? '...' : '–')); 3905 const iconBg = i.status === 'ok' ? '#059669' : (i.status === 'ok_ext' ? '#2563eb' : (i.status === 'pending' ? '#f59e0b' : '#cbd5e1')); 3906 const iconClr = i.status === 'na' ? '#64748b' : '#fff'; 3907 const clsMap = { 'Essencial':'#7c3aed','Obrigatória':'#0369a1','Recomendada':'#0f766e' }; 3908 const clsClr = clsMap[i.classe] || '#64748b'; 3909 itensHtml += ` 3910 <div class="print-item"> 3911 <span style="min-width:20px;height:20px;border-radius:4px;background:${iconBg};color:${iconClr};font-size:9pt;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0">${icone}</span> 3912 <span style="font-weight:700;color:#1e293b;min-width:28px;font-size:8.5pt">${i.id}</span> 3913 <span style="font-size:7pt;font-weight:700;color:#fff;background:${clsClr};border-radius:3px;padding:1px 5px;white-space:nowrap;flex-shrink:0">${i.classe}</span> 3914 <span style="font-size:8pt;color:#334155;line-height:1.4">${i.texto}${i.status === 'ok_ext' ? ' <span style="font-size:7pt;color:#2563eb">[evidência estrutural]</span>' : ''}</span> 3915 </div>`; 3916 }); 3917 }); 3918 3919 document.getElementById('printReportContent').innerHTML = ` 3920 <div class="print-page"> 3921 <div class="print-header"> 3922 ${brasao ? `<img src="${brasao}" alt="Brasão" style="width:52px;height:52px;object-fit:contain;flex-shrink:0">` : ''} 3923 <div class="print-header-info"> 3924 <h1 class="print-title">Relatório de Conformidade PNTP 2026</h1> 3925 <p class="print-sub">${poder} de ${municipio}${uf ? '/'+uf : ''} · Gerado em ${agora} à s ${hora}</p> 3926 </div> 3927 </div> 3928 <div class="print-meta-grid"> 3929 <div class="print-meta-item"><span class="print-meta-label">MunicÃpio</span><span class="print-meta-value">${municipio}${uf ? '/'+uf : ''}</span></div> 3930 <div class="print-meta-item"><span class="print-meta-label">CNPJ</span><span class="print-meta-value">${cnpj}</span></div> 3931 <div class="print-meta-item"><span class="print-meta-label">Tipo de Poder</span><span class="print-meta-value">${poder}</span></div> 3932 ${endereco ? `<div class="print-meta-item" style="grid-column:1/-1"><span class="print-meta-label">Endereço</span><span class="print-meta-value">${endereco}</span></div>` : ''} 3933 ${email ? `<div class="print-meta-item"><span class="print-meta-label">E-mail</span><span class="print-meta-value">${email}</span></div>` : ''} 3934 </div> 3935 <div style="display:flex;align-items:center;gap:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem"> 3936 <div style="font-size:28pt;font-weight:900;color:${scoreColor};line-height:1">${pct}%</div> 3937 <div> 3938 <div style="font-weight:800;font-size:11pt;color:${scoreColor}">${scoreLabel}</div> 3939 <div style="font-size:8.5pt;color:#64748b;margin-top:.15rem">
3940 <span style="color:#059669;font-weight:700">${ok} com card URL</span> + 3941 <span style="color:#2563eb;font-weight:700">${okExt} via evidência</span> · 3942 <span style="color:#f59e0b;font-weight:700">${pending} pendentes</span> · 3943 <span style="color:#94a3b8">${na} não mapeados</span> · 3944 <strong>${total} critérios total</strong> 3945 </div> 3946 </div> 3947 </div> 3948 <div style="display:flex;gap:.8rem;margin-bottom:.8rem;flex-wrap:wrap"> 3949 <span style="font-size:7.5pt;color:#64748b;font-weight:700;align-self:center">Legenda:</span> 3950 <span style="font-size:7.5pt;display:inline-flex;align-items:center;gap:.3rem"><span style="background:#059669;color:#fff;border-radius:3px;padding:1px 5px">-o"</span> Card com URL</span> 3951 <span style="font-size:7.5pt;display:inline-flex;align-items:center;gap:.3rem"><span style="background:#2563eb;color:#fff;border-radius:3px;padding:1px 5px">⬡</span> Evidência estrutural</span> 3952 <span style="font-size:7.5pt;display:inline-flex;align-items:center;gap:.3rem"><span style="background:#f59e0b;color:#fff;border-radius:3px;padding:1px 5px">--<</span> URL pendente</span> 3953 <span style="font-size:7.5pt;display:inline-flex;align-items:center;gap:.3rem"><span style="background:#cbd5e1;color:#64748b;border-radius:3px;padding:1px 5px">â</span> Não mapeado</span> 3954 </div> 3955 ${itensHtml} 3956 <div class="print-footer"> 3957 <span>Portal da Transparência â ${municipio}${uf ? '/'+uf : ''}</span> 3958 <span>PNTP 2026 Selo Diamante · ${agora}</span> 3959 </div> 3960 </div>`; 3961 3962 const report = document.getElementById('printReport'); 3963 report.style.display = 'block'; 3964 3965 // Aguarda o afterprint para limpar (compatÃvel com todos os browsers) 3966 function cleanup() { 3967 report.style.display = 'none'; 3968 document.getElementById('printReportContent').innerHTML = ''; 3969 window.removeEventListener('afterprint', cleanup); 3970 } 3971 window.addEventListener('afterprint', cleanup); 3972 window.print(); 3973 } 3974 3975 </script>
3975 3976 3977 <!-- ============================================================ 3978 SCRIPTS 3979 ============================================================ --> 3980 <!-- Bootstrap 5.3.3 JS --> 3981
3981<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
3981 3982 3983 <!-- AOS - Animate on Scroll --> 3984
3984<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
3984 3985 3986
3986<script> 3987 // ---- AOS Init ---- 3988 AOS.init({ 3989 duration: 600, 3990 easing: 'ease-out-cubic', 3991 once: true, 3992 offset: 50, 3993 }); 3994 3995 // ---- Navbar scroll effect ---- 3996 const navbar = document.getElementById('mainNav'); 3997 window.addEventListener('scroll', () => { 3998 navbar.classList.toggle('scrolled', window.scrollY > 20); 3999 }); 4000 4001 // ---- Back to Top ---- 4002 const btnTop = document.getElementById('btnTop'); 4003 window.addEventListener('scroll', () => { 4004 btnTop.classList.toggle('visible', window.scrollY > 400); 4005 }); 4006 btnTop.addEventListener('click', () => window.scrollTo({ top: 0, behavior: 'smooth' })); 4007 4008 // ---- Theme Toggle (Dark Mode) ---- 4009 function toggleTheme() { 4010 const html = document.documentElement; 4011 const current = html.getAttribute('data-bs-theme'); 4012 const next = current === 'dark' ? 'light' : 'dark'; 4013 html.setAttribute('data-bs-theme', next); 4014 localStorage.setItem('theme', next); 4015 updateThemeIcon(next); 4016 } 4017 function updateThemeIcon(theme) { 4018 const icon = document.querySelector('#themeToggle i'); 4019 if (icon) icon.className = theme === 'dark' ? 'fa-solid fa-sun' : 'fa-solid fa-moon'; 4020 } 4021 // Load saved theme 4022 (function() { 4023 const saved = localStorage.getItem('theme'); 4024 if (saved) { 4025 document.documentElement.setAttribute('data-bs-theme', saved); 4026 updateThemeIcon(saved); 4027 } 4028 })(); 4029 document.getElementById('themeToggle').addEventListener('click', toggleTheme); 4030 4031 // ---- Font Size (PNTP 13.4) ---- 4032 let currentFontOffset = parseInt(localStorage.getItem('fontOffset') || '0'); 4033 applyFontSize(); 4034 4035 function changeFontSize(delta) { 4036 if (delta === 0) { 4037 currentFontOffset = 0; 4038 } else { 4039 currentFontOffset = Math.max(-4, Math.min(8, currentFontOffset + delta)); 4040 } 4041 localStorage.setItem('fontOffset', currentFontOffset); 4042 applyFontSize(); 4043 } 4044 function applyFontSize() { 4045 document.documentElement.style.fontSize = (16 + currentFontOffset) + 'px'; 4046 } 4047 4048 // ---- High Contrast (PNTP 13.3) ---- 4049 function toggleContrast() { 4050 document.body.classList.toggle('high-contrast'); 4051 localStorage.setItem('highContrast', document.body.classList.contains('high-contrast')); 4052 } 4053 if (localStorage.getItem('highContrast') === 'true') { 4054 document.body.classList.add('high-contrast'); 4055 } 4056 4057 // ---- Card accent bar hover ---- 4058 document.querySelectorAll('.card-portal').forEach(card => { 4059 card.addEventListener('mouseenter', function() { 4060 const bar = this.querySelector('.card-accent-bar'); 4061 if (bar) bar.style.opacity = '1'; 4062 }); 4063 card.addEventListener('mouseleave', function() { 4064 const bar = this.querySelector('.card-accent-bar'); 4065 if (bar) bar.style.opacity = '0'; 4066 }); 4067 }); 4068 4069 // ---- PNTP Info Popovers ---- 4070 document.querySelectorAll('[data-bs-toggle="popover"]').forEach(el => { 4071 new bootstrap.Popover(el, { 4072 container: 'body', 4073 sanitize: false, 4074 }); 4075 }); 4076 4077 // ---- PNTP Checklist: Scroll to Card ---- 4078 function scrollToPntpCard(criteriaId) { 4079 // Find the card that contains this criteria ID 4080 const cards = document.querySelectorAll('.card-portal[data-pntp-ids]'); 4081 let target = null; 4082 cards.forEach(card => { 4083 const ids = card.getAttribute('data-pntp-ids').split(',').map(s => s.trim()); 4084 if (ids.includes(criteriaId)) { 4085 target = card; 4086 } 4087 }); 4088 4089 if (target) { 4090 // Close the offcanvas 4091 const offcanvasEl = document.getElementById('offcanvasPNTP'); 4092 if (offcanvasEl) { 4093 const offcanvas = bootstrap.Offcanvas.getInstance(offcanvasEl); 4094 if (offcanvas) offcanvas.hide(); 4095 } 4096 4097 // Scroll after offcanvas closes 4098 setTimeout(() => { 4099 target.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4100 // Highlight animation 4101 target.classList.add('highlight'); 4102 setTimeout(() => target.classList.remove('highlight'), 2000); 4103 }, 350); 4104 } 4105 } 4106 4107 // ---- Keyboard Shortcuts ---- 4108 document.addEventListener('keydown', function(e) { 4109 if (!e.altKey || !e.shiftKey) return; 4110 const shortcuts = { 4111 'm': '#navbarContent', 4112 's': 'https://pianco.pb.gov.br/esic/', 4113 'o': 'https://pianco.pb.gov.br/acesso/fale_conosco', 4114 'f': '#top', 4115 'g': 'https://pianco.pb.gov.br/guias-e-manuais/glossario', 4116 };
4117 const key = e.key.toLowerCase(); 4118 if (shortcuts[key]) { 4119 e.preventDefault(); 4120 if (shortcuts[key].startsWith('#')) { 4121 const el = document.querySelector(shortcuts[key]); 4122 if (el) { 4123 if (el.classList.contains('collapse')) { 4124 new bootstrap.Collapse(el, { toggle: true }); 4125 } else { 4126 el.scrollIntoView({ behavior: 'smooth' }); 4127 } 4128 } 4129 } else { 4130 window.location.href = shortcuts[key]; 4131 } 4132 } 4133 }); 4134 4135 // ---- Live Search ---- 4136 (function() { 4137 const PT_INDEX = [{"title":"Receitas Orçamentárias","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receita-orcamentaria","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"receitas-orcamentarias"},{"title":"Receitas Extraorçamentárias","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receita-extra-orcamentaria","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"receitas-extraorcamentarias"},{"title":"Despesas Orçamentárias","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesa-orcamentaria","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"despesas-orcamentarias"},{"title":"Despesas Extraorçamentárias","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesa-extra-orcamentaria","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"despesas-extraorcamentarias"},{"title":"Documentos de Pagamento","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/documentos-pagamento","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"documentos-de-pagamento"},{"title":"Restos a Pagar","desc":"Despesas inscritas em restos a pagar","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"\/restosapagar.php?sg=201141","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"restos-a-pagar"},{"title":"DÃvida Ativa","desc":"Inscritos em dÃvida ativa","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/328","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"dividas-ativas"},{"title":"Subvenções Sociais","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"\/subvencoes.php?sg=201141","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"subvencoes-sociais"},{"title":"Receitas COVID-19","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receitas-covid-19","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"receitas-covid19"},{"title":"Despesas COVID-19","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesas-covid-19","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"despesas-covid19"},{"title":"Gastos com Publicidade","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/publicidade","iframe":true,"target":"","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"com-publicidade"},{"title":"Despesa com a Frota","desc":"","section":"Receitas e Despesas","icon":"fa-chart-line","color":"#059669","href":"https:\/\/api.smartmanager.app.br\/portal\/municipio-de-pianco\/","iframe":false,"target":"_blank","anchor":"#receitas-despesas","secaoId":"receitas-despesas","slug":"frota-depesas"},{"title":"Folha de Pagamento","desc":"Servidores, cargos e remuneração","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/folha-pagamento","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"despesas-com-pessoal"},{"title":"Estagiários","desc":"","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/345","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"estagiarios"},{"title":"Terceirizados","desc":"","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/files.easyweb.net.br\/lista-terceirizados.html","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"terceirizados"},{"title":"Concursos e Seleções","desc":"Editais, resultados e nomeações","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/5","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"concursos-selec
4137oes"},{"title":"Diárias e Passagens","desc":"","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesas-com-diarias","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"diarias"},{"title":"Tabela de Diárias","desc":"Valores das diárias por destino","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/files.easyweb.net.br\/tabela_diarias.html","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"tabela-diarias"},{"title":"Emendas Parlamentares","desc":"Federais, estaduais e execução","section":"Pessoal, Diárias e Emendas","icon":"fa-users","color":"#2563eb","href":"https:\/\/transparencia.pianco.pb.gov.br\/emendas.php?aba=federal&codigoIBGE=2511301","iframe":true,"target":"","anchor":"#pessoal-diarias","secaoId":"pessoal-diarias","slug":"emendas-impositivas"},{"title":"Licitações","desc":"Editais, fases e dispensas","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/licitacoes?header=no","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"editais"},{"title":"Atas de Adesão - SRP","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"https:\/\/pncp.gov.br\/app\/atas?pagina=1&q=pianco&status=todos&ufs=PB&esferas=M%7CN&poderes=E%7CN","iframe":false,"target":"_blank","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"atas-adesao"},{"title":"Plano de Contratações","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"https:\/\/pncp.linkdabio.app\/pncp\/?cnpj=09148727000195","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"plano-contratacao-anual"},{"title":"Licitantes Sancionados","desc":"Fornecedores impedidos de licitar","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"\/page.php?tema=licitantes-sancionados","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"licitantes-sancionados"},{"title":"Contratos","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"https:\/\/contratos.easyweb.com.br\/?site=pianco.pb.gov.br","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"contratos"},{"title":"Fiscais de Contratos","desc":"Relação de fiscais por contrato","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"\/page.php?tema=fiscais-contratos","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"fiscais-contratos"},{"title":"Ordem Cronológica de Pagamentos","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"\/ordemcronologica.php?codigoSAGRES=201141","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"ordem-pagamentos"},{"title":"Convênios","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"\/convenios.php?sg=201141","iframe":true,"target":"","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"convenios-federais"},{"title":"Acordos sem Transferência","desc":"","section":"Licitações, Contratos e Convênios","icon":"fa-gavel","color":"#d97706","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/336","iframe":false,"target":"_self","anchor":"#licitacoes-contratos","secaoId":"licitacoes-contratos","slug":"acordos-firmados"},{"title":"Obras","desc":"Situação, quantitativos e valores","section":"Obras Públicas","icon":"fa-helmet-safety","color":"#dc2626","href":"\/obras.php?sg=201141","iframe":true,"target":"","anchor":"#obras","secaoId":"obras","slug":"obras-fnde"},{"title":"Obras Paralisadas","desc":"Motivo, responsável e previsão","section":"Obras Públicas","icon":"fa-helmet-safety","color":"#dc2626","href":"\/obras.php?sg=201141","iframe":true,"target":"","anchor":"#obras","secaoId":"obras","slug":"obras-paralisadas"},{"title":"PPA - Plano Plurianual","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/207","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"ppa"},{"title":"LDO - Diretrizes Orçamentárias","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/204","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"ldo"},{"title":"LOA - Lei Orçamentária Anual","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/205","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"loa"},{"title":"RREO","desc":"Relatório Resumido da Execução Orçamentária","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/RREO","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"rreo"},{"title":"RGF","desc":"Relatório de Gestão Fiscal","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/RGF","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"rgf"},{"title":"Prestação de Contas Anual","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/206","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"pca"},{"title":"Relatório de Gestão","desc":"Relatório anual de atividades","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"\/page.php?tema=relatorio-atividade","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"relatorio-atividade"},{"title":"Parecer do TCE","desc":"Decisão do Tribunal de Contas","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"\/page.php?tema=parecer-tce","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"parecer-tribunal"},{"title":"Julgamento pelo Legislativo","desc":"Resultado do julgamento das contas","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"\/page.php?tema=julgamento-legislativo","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"julgamento-legislativo"},{"title":"Balancetes e Demonstrativos","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/demonstrativos","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"balancos-mensais-e-anuais"},{"title":"Instrumentos de Planejamento","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/33","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"instrumentos-de-planejamento"}
4137,{"title":"Plano Estratégico","desc":"","section":"Planejamento e Contas Públicas","icon":"fa-landmark","color":"#7c3aed","href":"\/page.php?tema=plano-estrategico","iframe":true,"target":"","anchor":"#planejamento","secaoId":"planejamento","slug":"plano-estrategico"},{"title":"Portal e-SIC","desc":"Envie pedidos de informação","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"https:\/\/pianco.pb.gov.br\/esic\/","iframe":false,"target":"_self","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"solicitar-informacoes"},{"title":"Regulamentação da LAI","desc":"","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"https:\/\/pianco.pb.gov.br\/admin\/tinyfinder\/assets\/uploads\/file\/kpgihri8.pdf","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"lei-de-acesso"},{"title":"Prazos e Recursos do SIC","desc":"Autoridades competentes e procedimentos","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"\/page.php?tema=prazos-recursos-sic","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"prazos-recursos-sic"},{"title":"Relatório Anual do SIC","desc":"EstatÃsticas de pedidos recebidos e atendidos","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"https:\/\/pianco.pb.gov.br\/esic?p=estatisticas-atendimento","iframe":false,"target":"_self","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"estatisticas-dos-chamados"},{"title":"Documentos Classificados","desc":"Lista de documentos em grau de sigilo","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"\/page.php?tema=documentos-classificados","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"documentos-classificados"},{"title":"Informações Desclassificadas","desc":"","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"\/page.php?tema=docs-desclassificados","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"docs-desclassificados"},{"title":"Ouvidoria","desc":"Canal de comunicação com o cidadão","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"https:\/\/pianco.pb.gov.br\/acesso\/fale_conosco","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"ouvidoria"},{"title":"Carta de Serviços","desc":"","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"https:\/\/pianco.pb.gov.br\/portaldeservicos","iframe":false,"target":"_self","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":""},{"title":"Responsável pelo SIC","desc":"Nome, cargo e contato do responsável","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"?page=responsaveis#sic","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"resp_pelo_sic"},{"title":"Responsável pela Ouvidoria","desc":"Nome, cargo e contato do responsável","section":"Acesso à Informação e Ouvidoria","icon":"fa-circle-info","color":"#0891b2","href":"?page=responsaveis#ouvidoria","iframe":true,"target":"","anchor":"#acesso-informacao","secaoId":"acesso-informacao","slug":"resp_pela_ouvidoria"},{"title":"O(a) Prefeito(a)","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/a_cidade\/o_prefeito","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"O(a) Vice-Prefeito(a)","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/a_cidade\/vice_prefeito","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Secretarias","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/secretarias","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Leis Municipais","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/4","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"leis"},{"title":"Diário Oficial","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/jornal-oficial","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"jornais-oficiais"},{"title":"Conselhos e Membros","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"conselhos"},{"title":"Glossário","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/guias-e-manuais\/glossario","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"glossario"}
4137,{"title":"Perguntas Frequentes","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/acesso\/perguntas_frequentes","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"perguntas-frequentes"},{"title":"VeÃculos","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"\/veiculos.php?sg=201141","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"veiculos"},{"title":"Contatos","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/acesso\/fale_conosco","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"ouvidoria"},{"title":"Mapa do Site","desc":"","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br\/guias-e-manuais\/mapa-do-site","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"mapa-do-site"},{"title":"Radar da Transparência","desc":"Botão Radar ATRICON no portal","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/radardatransparencia.atricon.org.br\/","iframe":true,"target":"","anchor":"#institucional","secaoId":"institucional","slug":"radar-transparencia"},{"title":"Redes Sociais","desc":"Links para perfis oficiais","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":"redes-sociais"},{"title":"Site Oficial","desc":"SÃtio oficial do municÃpio","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Portal da Transparência","desc":"Este portal","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"\/","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Acesso na Capa do Site","desc":"Link visÃvel na capa do site","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"https:\/\/pianco.pb.gov.br","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Busca no Portal","desc":"Ferramenta de pesquisa de conteúdo","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"\/?q=","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":""},{"title":"Acessibilidade","desc":"SÃmbolo, breadcrumbs, contraste e texto","section":"Informações Institucionais","icon":"fa-landmark-dome","color":"#475569","href":"#acessibilidade","iframe":false,"target":"_self","anchor":"#institucional","secaoId":"institucional","slug":"acessibilidade"},{"title":"LGPD - PolÃtica de Privacidade","desc":"PolÃtica de privacidade e proteção de dados pessoais","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"?page=privacidade","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"politica-privacidade"},{"title":"LGPD - Encarregado (DPO)","desc":"Nome e contato do encarregado de dados","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"?page=responsaveis#dpo","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"resp_pelos_dados"},{"title":"Termos de Uso","desc":"Regras de utilização do portal e dados abertos","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"?page=termos","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"termos-de-uso"},{"title":"Dados Abertos","desc":"Acesso automatizado e legÃvel por máquina","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"\/dadosabertos.php","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"dados"},{"title":"Gov. Digital - Regulamentação","desc":"","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"\/page.php?tema=regulamentacao-gov-digital","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"regulamentacao-gov-digital"},{"title":"Pesquisa de Satisfação","desc":"","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"\/pesquisadesatisfacao.php","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"pesquisa-satisfacao"},{"title":"Renúncias Fiscais","desc":"Desonerações tributárias e benef
4137iciários","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"\/page.php?tema=renuncias-fiscais","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"renuncias-fiscais"},{"title":"Regulamentação de Diárias","desc":"","section":"LGPD, Governo Digital e Regulamentações","icon":"fa-shield-halved","color":"#0d9488","href":"\/page.php?tema=regulamentacao-diarias","iframe":true,"target":"","anchor":"#lgpd-governo-digital","secaoId":"lgpd-governo-digital","slug":"regulamentacao-diarias"},{"title":"Unidades de Saúde","desc":"Horários, profissionais e especialidades","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"https:\/\/saude.tomba.me\/unidades-de-saude\/2511301","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"unidades-de-saude"},{"title":"Medicamentos SUS","desc":"Lista completa e estoques - Lei 14.654\/2023","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"https:\/\/saude.tomba.me\/medicamentos\/2511301","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"tabela-medicamentos"},{"title":"Plano Municipal de Saúde","desc":"Programação anual e relatório de gestão","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"\/planodesaude.php?sg=201141","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"plano-municipal-saude"},{"title":"Lista de Espera - Regulação","desc":"Consultas, exames e serviços médicos","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"\/page.php?tema=lista-espera-regulacao","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"lista-espera-regulacao"},{"title":"Conselho de Saúde","desc":"Composição, atas e pareceres","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"\/page.php?tema=conselho-saude","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"conselho-saude"},{"title":"Lista de Espera - Creches","desc":"Critérios de priorização de acesso","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"https:\/\/files.easyweb.net.br\/lista-espera-creches.html","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"lista-espera-creches"},{"title":"Conselho do Fundeb","desc":"Composição, atas e pareceres","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"\/page.php?tema=conselho-fundeb","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"conselho-fundeb"},{"title":"Conselho de Assistência Social","desc":"Composição, atas e pareceres","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"\/page.php?tema=conselho-assistencia-social","iframe":true,"target":"","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":"conselho-assistencia-social"},{"title":"COVID-19","desc":"","section":"Saúde, Educação e Assistência Social","icon":"fa-heart-pulse","color":"#e11d48","href":"https:\/\/pianco.pb.gov.br\/coronavirus","iframe":false,"target":"_self","anchor":"#saude-educacao","secaoId":"saude-educacao","slug":""}]; 4138 4139 const inp = document.getElementById('heroSearch'); 4140 const drop = document.getElementById('heroSearchDrop'); 4141 if (!inp || !drop) return; 4142 4143 let activeIdx = -1; 4144 4145 function escHtml(s) { return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } 4146 4147 function highlight(text, query) { 4148 if (!query) return escHtml(text); 4149 const re = new RegExp('(' + query.replace(/[.*+?^${}()|[\]\\]/g,'\\$&') + ')', 'gi'); 4150 return escHtml(text).replace(re, '<mark>$1</mark>'); 4151 } 4152
4153 function openDrop(items, query) { 4154 activeIdx = -1; 4155 if (!items.length) { 4156 drop.innerHTML = '<div class="sd-empty"><i class="fa-solid fa-magnifying-glass me-2 opacity-50"></i>Nenhuma seção encontrada para <strong>"' + escHtml(query) + '"</strong></div><div class="sd-footer">Pressione <kbd>Enter</kbd> para busca completa</div>'; 4157 drop.classList.add('visible'); 4158 return; 4159 } 4160 const max = 8; 4161 const shown = items.slice(0, max); 4162 const more = items.length - max; 4163 let html = shown.map((it, i) => { 4164 // iframe: usa div (sem href para não navegar) 4165 // âncora (#): usa a href para acessibilidade, tratamos no click 4166 // _self/_blank: usa <a href> normalmente 4167 const isIframe = it.iframe; 4168 const isAnchor = !it.href && it.anchor; 4169 let tag, href, tgt; 4170 if (isIframe) { 4171 tag = 'div'; href = ''; tgt = ''; 4172 } else if (isAnchor) { 4173 tag = 'a'; href = ` href="${escHtml(it.anchor)}"`; tgt = ''; 4174 } else if (it.href) { 4175 tag = 'a'; href = ` href="${escHtml(it.href)}"`; 4176 tgt = ` target="${escHtml(it.target)}"` + (it.target === '_blank' ? ' rel="noopener noreferrer"' : ''); 4177 } else { 4178 tag = 'div'; href = ''; tgt = ''; 4179 } 4180 const iframeAttr = isIframe ? `data-iframe-href="${escHtml(it.href || '')}"` : ''; 4181 return `<${tag}${href}${tgt} class="sd-item" role="option" data-idx="${i}" data-anchor="${escHtml(it.anchor || '')}" ${iframeAttr} data-title="${escHtml(it.title)}" data-secao-id="${escHtml(it.secaoId || '')}" data-slug="${escHtml(it.slug || '')}"> 4182 <div class="sd-icon" style="background:${escHtml(it.color)}"> 4183 <i class="fa-solid ${escHtml(it.icon)}"></i> 4184 </div> 4185 <div class="sd-texts"> 4186 <div class="sd-title">${highlight(it.title, query)}</div> 4187 <div class="sd-section"><i class="fa-solid fa-layer-group me-1 opacity-50"></i>${escHtml(it.section)}</div> 4188 </div> 4189 <i class="fa-solid fa-chevron-right ms-auto opacity-30" style="font-size:.7rem"></i> 4190 </${tag}>`; 4191 }).join(''); 4192 if (more > 0) { 4193 html += `<div class="sd-footer">${more} resultado(s) a mais â pressione <kbd>Enter</kbd> para ver todos</div>`; 4194 } else { 4195 html += `<div class="sd-footer">Pressione <kbd>Enter</kbd> para busca completa no sistema</div>`; 4196 } 4197 drop.innerHTML = html; 4198 drop.classList.add('visible'); 4199 4200 // Click handler on items 4201 drop.querySelectorAll('.sd-item').forEach(el => { 4202 el.addEventListener('click', function(e) { 4203 const title = this.getAttribute('data-title'); 4204 const iframeHref = this.getAttribute('data-iframe-href'); 4205 const anchor = this.getAttribute('data-anchor'); 4206 4207 // Iframe: abre modal, previne qualquer navegação 4208 if (iframeHref) { 4209 e.preventDefault(); 4210 closeDrop(); 4211 inp.value = title; 4212 const secaoId = this.getAttribute('data-secao-id') || ''; 4213 const slug = this.getAttribute('data-slug') || ''; 4214 openIframeModal(iframeHref, title, secaoId, slug); 4215 return; 4216 } 4217 4218 // Ãncora interna (#section): scroll suave, sem navegar 4219 if (anchor && anchor.startsWith('#')) { 4220 e.preventDefault(); 4221 closeDrop(); 4222 inp.value = title; 4223 const sec = document.querySelector(anchor); 4224 if (sec) sec.scrollIntoView({ behavior: 'smooth', block: 'start' }); 4225 return; 4226 } 4227
4228 // _self / _blank: deixa o <a href> funcionar normalmente 4229 closeDrop(); 4230 inp.value = title; 4231 }); 4232 }); 4233 } 4234 4235 function closeDrop() { 4236 drop.classList.remove('visible'); 4237 activeIdx = -1; 4238 } 4239 4240 function search(query) { 4241 const q = query.trim().toLowerCase(); 4242 if (q.length < 2) { closeDrop(); return; } 4243 const res = PT_INDEX.filter(it => { 4244 return it.title.toLowerCase().includes(q) || 4245 it.section.toLowerCase().includes(q) || 4246 (it.desc && it.desc.toLowerCase().includes(q)); 4247 }); 4248 openDrop(res, q); 4249 } 4250 4251 inp.addEventListener('input', () => search(inp.value)); 4252 4253 inp.addEventListener('keydown', function(e) { 4254 const items = drop.querySelectorAll('.sd-item'); 4255 if (!drop.classList.contains('visible') || !items.length) return; 4256 if (e.key === 'ArrowDown') { 4257 e.preventDefault(); 4258 activeIdx = Math.min(activeIdx + 1, items.length - 1); 4259 items.forEach((el,i) => el.classList.toggle('sd-active', i === activeIdx)); 4260 if (items[activeIdx]) items[activeIdx].scrollIntoView({ block: 'nearest' }); 4261 } else if (e.key === 'ArrowUp') { 4262 e.preventDefault(); 4263 activeIdx = Math.max(activeIdx - 1, 0); 4264 items.forEach((el,i) => el.classList.toggle('sd-active', i === activeIdx)); 4265 if (items[activeIdx]) items[activeIdx].scrollIntoView({ block: 'nearest' }); 4266 } else if (e.key === 'Enter' && activeIdx >= 0) { 4267 e.preventDefault(); 4268 items[activeIdx].click(); 4269 } else if (e.key === 'Escape') { 4270 closeDrop(); 4271 } 4272 }); 4273 4274 document.addEventListener('click', function(e) { 4275 if (!inp.contains(e.target) && !drop.contains(e.target)) closeDrop(); 4276 }); 4277 4278 inp.addEventListener('focus', () => { if (inp.value.trim().length >= 2) search(inp.value); }); 4279 })(); 4280 </script>
4280 4281 4282 <!-- Deep Link: auto-open modal from URL params --> 4283
4283<script> 4284 (function() { 4285 const DEEP_INDEX = {"receitas-despesas|receitas-orcamentarias":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receita-orcamentaria","titulo":"Receitas Orçamentárias","secao":"receitas-despesas","slug":"receitas-orcamentarias"},"receitas-despesas|receitas-extraorcamentarias":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receita-extra-orcamentaria","titulo":"Receitas Extraorçamentárias","secao":"receitas-despesas","slug":"receitas-extraorcamentarias"},"receitas-despesas|despesas-orcamentarias":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesa-orcamentaria","titulo":"Despesas Orçamentárias","secao":"receitas-despesas","slug":"despesas-orcamentarias"},"receitas-despesas|despesas-extraorcamentarias":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesa-extra-orcamentaria","titulo":"Despesas Extraorçamentárias","secao":"receitas-despesas","slug":"despesas-extraorcamentarias"},"receitas-despesas|documentos-de-pagamento":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/documentos-pagamento","titulo":"Documentos de Pagamento","secao":"receitas-despesas","slug":"documentos-de-pagamento"},"receitas-despesas|restos-a-pagar":{"url":"\/restosapagar.php?sg=201141","titulo":"Restos a Pagar","secao":"receitas-despesas","slug":"restos-a-pagar"},"receitas-despesas|dividas-ativas":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/328","titulo":"DÃvida Ativa","secao":"receitas-despesas","slug":"dividas-ativas"},"receitas-despesas|subvencoes-sociais":{"url":"\/subvencoes.php?sg=201141","titulo":"Subvenções Sociais","secao":"receitas-despesas","slug":"subvencoes-sociais"},"receitas-despesas|receitas-covid19":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/receitas-covid-19","titulo":"Receitas COVID-19","secao":"receitas-despesas","slug":"receitas-covid19"},"receitas-despesas|despesas-covid19":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesas-covid-19","titulo":"Despesas COVID-19","secao":"receitas-despesas","slug":"despesas-covid19"},"receitas-despesas|com-publicidade":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/publicidade","titulo":"Gastos com Publicidade","secao":"receitas-despesas","slug":"com-publicidade"},"pessoal-diarias|despesas-com-pessoal":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/folha-pagamento","titulo":"Folha de Pagamento","secao":"pessoal-diarias","slug":"despesas-com-pessoal"},"pessoal-diarias|estagiarios":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/345","titulo":"Estagiários","secao":"pessoal-diarias","slug":"estagiarios"},"pessoal-diarias|terceirizados":{"url":"https:\/\/files.easyweb.net.br\/lista-terceirizados.html","titulo":"Terceirizados","secao":"pessoal-diarias","slug":"terceirizados"},"pessoal-diarias|concursos-selecoes":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/5","titulo":"Concursos e Seleções","secao":"pessoal-diarias","slug":"concursos-selecoes"},"pessoal-diarias|diarias":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/despesas-com-diarias","titulo":"Diárias e Passagens","secao":"pessoal-diarias","slug":"diarias"},"pessoal-diarias|tabela-diarias":{"url":"https:\/\/files.easyweb.net.br\/tabela_diarias.html","titulo":"Tabela de Diárias","secao":"pessoal-diarias","slug":"tabela-diarias"},"pessoal-diarias|emendas-impositivas":{"url":"https:\/\/transparencia.pianco.pb.gov.br\/emendas.php?aba=federal&codigoIBGE=2511301","titulo":"Emendas Parlamentares","secao":"pessoal-diarias","slug":"emendas-impositivas"},"licitacoes-contratos|editais":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/licitacoes?header=no","titulo":"Licitações","secao":"licitacoes-contratos","slug":"editais"},"licitacoes-contratos|plano-contratacao-anual":{"url":"https:\/\/pncp.linkdabio.app\/pncp\/?cnpj=09148727000195","titulo":"Plano de Contratações","secao":"licitacoes-contratos","slug":"plano-contratacao-anual"},"licitacoes-contratos|licitantes-sancionados":{"url":"\/page.php?tema=licitantes-sancionados","titulo":"Licitantes Sancionados","secao":"licitacoes-contratos","slug":"licitantes-sancionados"},"licitacoes-contratos|contratos":{"url":"https:\/\/contratos.easyweb.com.br\/?site=pianco.pb.gov.br","titulo":"Contratos","secao":"licitacoes-contratos","slug":"contratos"},"licitacoes-contratos|fiscais-contratos":{"url":"\/page.php?tema=fiscais-contratos","titulo":"Fiscais de Contratos","secao":"licitacoes-contratos","slug":"fiscais-contratos"},"licitacoes-contratos|ordem-pagamentos":{"url":"\/ordemcronologica.php?codigoSAGRES=201141","titulo":"Ordem Cronológica de Pagamentos","secao":"licitacoes-contratos","slug":"ordem-pagamentos"},"licitacoes-contratos|convenios-federais":{"url":"\/convenios.php?sg=201141","titulo":"Convênios","secao":"licitacoes-contratos","slug":"convenios-federais"},"obras|obras-fnde":{"url":"\/obras.php?sg=201141","titulo":"Obras","secao":"obras","slug":"obras-fnde"},"obras|obras-paralisadas":{"url":"\/obras.php?sg=201141","titulo":"Obras Paralisadas","secao":"obras","slug":"obras-paralisadas"},"planejamento|ppa":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/207","titulo":"PPA - Plano Plurianual","secao":"planejamento","slug":"ppa"},"planejamento|ldo":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/204","t
4285itulo":"LDO - Diretrizes Orçamentárias","secao":"planejamento","slug":"ldo"},"planejamento|loa":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/205","titulo":"LOA - Lei Orçamentária Anual","secao":"planejamento","slug":"loa"},"planejamento|rreo":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/RREO","titulo":"RREO","secao":"planejamento","slug":"rreo"},"planejamento|rgf":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/RGF","titulo":"RGF","secao":"planejamento","slug":"rgf"},"planejamento|pca":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/206","titulo":"Prestação de Contas Anual","secao":"planejamento","slug":"pca"},"planejamento|relatorio-atividade":{"url":"\/page.php?tema=relatorio-atividade","titulo":"Relatório de Gestão","secao":"planejamento","slug":"relatorio-atividade"},"planejamento|parecer-tribunal":{"url":"\/page.php?tema=parecer-tce","titulo":"Parecer do TCE","secao":"planejamento","slug":"parecer-tribunal"},"planejamento|julgamento-legislativo":{"url":"\/page.php?tema=julgamento-legislativo","titulo":"Julgamento pelo Legislativo","secao":"planejamento","slug":"julgamento-legislativo"},"planejamento|balancos-mensais-e-anuais":{"url":"https:\/\/portaldatransparencia.publicsoft.com.br\/sistemas\/ContabilidadePublica\/Mtx0\/demonstrativos","titulo":"Balancetes e Demonstrativos","secao":"planejamento","slug":"balancos-mensais-e-anuais"},"planejamento|instrumentos-de-planejamento":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/33","titulo":"Instrumentos de Planejamento","secao":"planejamento","slug":"instrumentos-de-planejamento"},"planejamento|plano-estrategico":{"url":"\/page.php?tema=plano-estrategico","titulo":"Plano Estratégico","secao":"planejamento","slug":"plano-estrategico"},"acesso-informacao|lei-de-acesso":{"url":"https:\/\/pianco.pb.gov.br\/admin\/tinyfinder\/assets\/uploads\/file\/kpgihri8.pdf","titulo":"Regulamentação da LAI","secao":"acesso-informacao","slug":"lei-de-acesso"},"acesso-informacao|prazos-recursos-sic":{"url":"\/page.php?tema=prazos-recursos-sic","titulo":"Prazos e Recursos do SIC","secao":"acesso-informacao","slug":"prazos-recursos-sic"},"acesso-informacao|documentos-classificados":{"url":"\/page.php?tema=documentos-classificados","titulo":"Documentos Classificados","secao":"acesso-informacao","slug":"documentos-classificados"},"acesso-informacao|docs-desclassificados":{"url":"\/page.php?tema=docs-desclassificados","titulo":"Informações Desclassificadas","secao":"acesso-informacao","slug":"docs-desclassificados"},"acesso-informacao|ouvidoria":{"url":"https:\/\/pianco.pb.gov.br\/acesso\/fale_conosco","titulo":"Ouvidoria","secao":"acesso-informacao","slug":"ouvidoria"},"acesso-informacao|resp_pelo_sic":{"url":"?page=responsaveis#sic","titulo":"Responsável pelo SIC","secao":"acesso-informacao","slug":"resp_pelo_sic"},"acesso-informacao|resp_pela_ouvidoria":{"url":"?page=responsaveis#ouvidoria","titulo":"Responsável pela Ouvidoria","secao":"acesso-informacao","slug":"resp_pela_ouvidoria"},"institucional|leis":{"url":"https:\/\/pianco.pb.gov.br\/acesso-a-informacao\/publicacoes\/p16_sectionid\/4","titulo":"Leis Municipais","secao":"institucional","slug":"leis"},"institucional|jornais-oficiais":{"url":"https:\/\/pianco.pb.gov.br\/jornal-oficial","titulo":"Diário Oficial","secao":"institucional","slug":"jornais-oficiais"},"institucional|conselhos":{"url":"https:\/\/pianco.pb.gov.br\/","titulo":"Conselhos e Membros","secao":"institucional","slug":"conselhos"},"institucional|glossario":{"url":"https:\/\/pianco.pb.gov.br\/guias-e-manuais\/glossario","titulo":"Glossário","secao":"institucional","slug":"glossario"},"institucional|perguntas-frequentes":{"url":"https:\/\/pianco.pb.gov.br\/acesso\/perguntas_frequentes","titulo":"Perguntas Frequentes","secao":"institucional","slug":"perguntas-frequentes"},"institucional|veiculos":{"url":"\/veiculos.php?sg=201141","titulo":"VeÃculos","secao":"institucional","slug":"veiculos"},"institucional|ouvidoria":{"url":"https:\/\/pianco.pb.gov.br\/acesso\/fale_conosco","titulo":"Contatos","secao":"institucional","slug":"ouvidoria"},"institucional|mapa-do-site":{"url":"https:\/\/pianco.pb.gov.br\/guias-e-manuais\/mapa-do-site","titulo":"Mapa do
4285Site","secao":"institucional","slug":"mapa-do-site"},"institucional|radar-transparencia":{"url":"https:\/\/radardatransparencia.atricon.org.br\/","titulo":"Radar da Transparência","secao":"institucional","slug":"radar-transparencia"},"lgpd-governo-digital|politica-privacidade":{"url":"?page=privacidade","titulo":"LGPD - PolÃtica de Privacidade","secao":"lgpd-governo-digital","slug":"politica-privacidade"},"lgpd-governo-digital|resp_pelos_dados":{"url":"?page=responsaveis#dpo","titulo":"LGPD - Encarregado (DPO)","secao":"lgpd-governo-digital","slug":"resp_pelos_dados"},"lgpd-governo-digital|termos-de-uso":{"url":"?page=termos","titulo":"Termos de Uso","secao":"lgpd-governo-digital","slug":"termos-de-uso"},"lgpd-governo-digital|dados":{"url":"\/dadosabertos.php","titulo":"Dados Abertos","secao":"lgpd-governo-digital","slug":"dados"},"lgpd-governo-digital|regulamentacao-gov-digital":{"url":"\/page.php?tema=regulamentacao-gov-digital","titulo":"Gov. Digital - Regulamentação","secao":"lgpd-governo-digital","slug":"regulamentacao-gov-digital"},"lgpd-governo-digital|pesquisa-satisfacao":{"url":"\/pesquisadesatisfacao.php","titulo":"Pesquisa de Satisfação","secao":"lgpd-governo-digital","slug":"pesquisa-satisfacao"},"lgpd-governo-digital|renuncias-fiscais":{"url":"\/page.php?tema=renuncias-fiscais","titulo":"Renúncias Fiscais","secao":"lgpd-governo-digital","slug":"renuncias-fiscais"},"lgpd-governo-digital|regulamentacao-diarias":{"url":"\/page.php?tema=regulamentacao-diarias","titulo":"Regulamentação de Diárias","secao":"lgpd-governo-digital","slug":"regulamentacao-diarias"},"saude-educacao|unidades-de-saude":{"url":"https:\/\/saude.tomba.me\/unidades-de-saude\/2511301","titulo":"Unidades de Saúde","secao":"saude-educacao","slug":"unidades-de-saude"},"saude-educacao|tabela-medicamentos":{"url":"https:\/\/saude.tomba.me\/medicamentos\/2511301","titulo":"Medicamentos SUS","secao":"saude-educacao","slug":"tabela-medicamentos"},"saude-educacao|plano-municipal-saude":{"url":"\/planodesaude.php?sg=201141","titulo":"Plano Municipal de Saúde","secao":"saude-educacao","slug":"plano-municipal-saude"},"saude-educacao|lista-espera-regulacao":{"url":"\/page.php?tema=lista-espera-regulacao","titulo":"Lista de Espera - Regulação","secao":"saude-educacao","slug":"lista-espera-regulacao"},"saude-educacao|conselho-saude":{"url":"\/page.php?tema=conselho-saude","titulo":"Conselho de Saúde","secao":"saude-educacao","slug":"conselho-saude"},"saude-educacao|lista-espera-creches":{"url":"https:\/\/files.easyweb.net.br\/lista-espera-creches.html","titulo":"Lista de Espera - Creches","secao":"saude-educacao","slug":"lista-espera-creches"},"saude-educacao|conselho-fundeb":{"url":"\/page.php?tema=conselho-fundeb","titulo":"Conselho do Fundeb","secao":"saude-educacao","slug":"conselho-fundeb"},"saude-educacao|conselho-assistencia-social":{"url":"\/page.php?tema=conselho-assistencia-social","titulo":"Conselho de Assistência Social","secao":"saude-educacao","slug":"conselho-assistencia-social"}}; 4286 4287 const params = new URLSearchParams(window.location.search); 4288 const secao = params.get('secao'); 4289 const item = params.get('item'); 4290 4291 if (secao && item) { 4292 const key = secao + '|' + item; 4293 const data = DEEP_INDEX[key]; 4294 if (data) { 4295 // Espera DOM + AOS carregar, depois abre o modal 4296 setTimeout(() => { 4297 openIframeModal(data.url, data.titulo, data.secao, data.slug); 4298 }, 600); 4299 } 4300 } 4301 4302 // Botão Voltar do browser: fecha o modal 4303 window.addEventListener('popstate', function(e) { 4304 const modal = document.getElementById('iframeModal'); 4305 if (modal && modal.classList.contains('iframe-open')) { 4306 const iframe = document.getElementById('iframeContent'); 4307 modal.classList.remove('iframe-open'); 4308 document.body.style.overflow = ''; 4309 delete modal.dataset.deeplink; 4310 delete modal.dataset.iframeUrl; 4311 setTimeout(() => { 4312 modal.style.display = 'none'; 4313 iframe.src = 'about:blank'; 4314 }, 350); 4315 } 4316 }); 4317 })(); 4318 </script>
4318 4319 4320 <!-- VLibras (PNTP 13.1 - Acessibilidade em Libras) --> 4321 <div vw class="enabled"> 4322 <div vw-access-button class="active"></div> 4323 <div vw-plugin-wrapper> 4324 <div class="vw-plugin-top-wrapper"></div> 4325 </div> 4326 </div> 4327
4327<script src="https://vlibras.gov.br/app/vlibras-plugin.js" charset="UTF-8"></script>
4327 4328
4328<script> 4329 new window.VLibras.Widget("https://vlibras.gov.br/app", "/default_logo.json"); 4330 </script>
4330 4331 4332 <!-- UserWay Accessibility (canto inferior direito, agrupado com VLibras) --> 4333
4333<script src="https://cdn.userway.org/widget.js" data-account="4ZWseyhlR9"></script>
4333 4334 4335 <!-- ============================================================ 4336 e-MAG 3.1 â JAVASCRIPT (Atalhos, Contraste, Fonte, Persistência) 4337 ============================================================ --> 4338
4338<script> 4339 (function () { 4340 'use strict'; 4341 4342 // ---- Persistência: restaura preferências salvas ---- 4343 var savedContrast = localStorage.getItem('emag_contraste') || ''; 4344 var savedFont = parseInt(localStorage.getItem('emag_fonte') || '0', 10); 4345 if (savedContrast) applyContrast(savedContrast); 4346 if (savedFont) applyFont(savedFont); 4347 4348 // ---- Contraste ---- 4349 function applyContrast(mode) { 4350 document.body.classList.remove('emag-alto', 'emag-cinza', 'emag-negativo'); 4351 if (mode) document.body.classList.add('emag-' + mode); 4352 // Atualiza aria-pressed 4353 ['btnContrastNormal','btnContrastHigh','btnContrastGray','btnContrastNeg'].forEach(function(id) { 4354 var btn = document.getElementById(id); 4355 if (btn) btn.setAttribute('aria-pressed', 'false'); 4356 }); 4357 var map = { '':'btnContrastNormal', 'alto':'btnContrastHigh', 'cinza':'btnContrastGray', 'negativo':'btnContrastNeg' }; 4358 var active = document.getElementById(map[mode]); 4359 if (active) active.setAttribute('aria-pressed', 'true'); 4360 } 4361 4362 // ---- Fonte ---- 4363 function applyFont(level) { 4364 document.body.classList.remove('emag-font-1', 'emag-font-2'); 4365 if (level === 1) document.body.classList.add('emag-font-1'); 4366 if (level === 2) document.body.classList.add('emag-font-2'); 4367 } 4368 4369 // Exporta para uso inline nos onclick dos botões 4370 window.setContrast = function(mode) { 4371 applyContrast(mode); 4372 localStorage.setItem('emag_contraste', mode); 4373 }; 4374 window.setFont = function(level) { 4375 applyFont(level); 4376 localStorage.setItem('emag_fonte', level); 4377 }; 4378 4379 // ---- Atalhos de teclado e-MAG (Alt + 1/2/3/4) ---- 4380 // Firefox: Shift+Alt+n | macOS: Ctrl+Alt+n | Outros: Alt+n 4381 document.addEventListener('keydown', function(e) { 4382 if (!e.altKey) return; 4383 var target = null; 4384 switch (e.key) { 4385 case '1': target = document.getElementById('conteudo-principal'); break; 4386 case '2': target = document.getElementById('mainNav'); break; 4387 case '3': target = document.getElementById('heroSearch'); break; 4388 case '4': target = document.getElementById('footer-portal'); break; 4389 } 4390 if (target) { 4391 e.preventDefault(); 4392 target.setAttribute('tabindex', '-1'); 4393 target.focus({ preventScroll: false }); 4394 target.scrollIntoView({ behavior: 'smooth', block: 'start' }); 4395 } 4396 }); 4397 4398 // ---- Fecha dialog ao clicar fora (backdrop) ---- 4399 var dialog = document.getElementById('modalAcessibilidade'); 4400 if (dialog) { 4401 dialog.addEventListener('click', function(e) { 4402 var rect = dialog.getBoundingClientRect(); 4403 var inDialog = rect.top <= e.clientY && e.clientY <= rect.bottom && 4404 rect.left <= e.clientX && e.clientX <= rect.right; 4405 if (!inDialog) dialog.close(); 4406 }); 4407 } 4408 })(); 4409 </script>
4409 4410 4411 <!-- Google Analytics --> 4412
4412<script>
vendor: 354 bytes, lines 4412-4417
4412 4413 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 4414 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 4415 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 4416 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 4417 ga('create', '
4417UA-106219313-18
vendor: 44 bytes, lines 4417-4419
4417', 'auto'); 4418 ga('send', 'pageview'); 4419
4419</script>
4419 4420 4421 4422 4423<!-- Admin gerenciado via /admin --> 4424 4425<!-- ========== COOKIE CONSENT BANNER (LGPD) ========== --> 4426<div id="cookieConsent" style="display:none"> 4427 <div class="cookie-content"> 4428 <div class="cookie-icon"><i class="fa-solid fa-cookie-bite"></i></div> 4429 <div class="cookie-text"> 4430 <p><strong>PolÃtica de Cookies e Privacidade</strong></p> 4431 <p>Este portal utiliza cookies estritamente necessários para o funcionamento do site. 4432 Ao continuar navegando, você concorda com nossa 4433 <a href="javascript:void(0)" onclick="openIframeModal('?page=privacidade','PolÃtica de Privacidade')">PolÃtica de Privacidade</a> e 4434 <a href="javascript:void(0)" onclick="openIframeModal('?page=termos','Termos de Uso')">Termos de Uso</a>.</p> 4435 </div> 4436 <div class="cookie-actions"> 4437 <button onclick="acceptCookies()" class="cookie-btn-accept"><i class="fa-solid fa-check me-1"></i>Aceitar</button> 4438 <button onclick="openIframeModal('?page=privacidade','PolÃtica de Privacidade')" class="cookie-btn-more">Saiba mais</button> 4439 </div> 4440 </div> 4441</div> 4442<style> 4443#cookieConsent { 4444 position: fixed; bottom: 0; left: 0; right: 0; z-index: 99999; 4445 padding: 1rem 1.5rem; 4446 background: rgba(15,23,42,.92); 4447 backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); 4448 border-top: 1px solid rgba(255,255,255,.1); 4449 transform: translateY(100%); 4450 transition: transform .5s cubic-bezier(.4,0,.2,1); 4451} 4452#cookieConsent.visible { transform: translateY(0); } 4453.cookie-content { 4454 max-width: 1100px; margin: 0 auto; 4455 display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; 4456} 4457.cookie-icon { 4458 font-size: 2rem; color: #eab308; flex-shrink: 0; 4459 animation: cookieBounce 2s ease-in-out infinite; 4460} 4461@keyframes cookieBounce { 4462 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} 4463} 4464.cookie-text { flex: 1; min-width: 250px; } 4465.cookie-text p { margin: 0; font-size: .84rem; color: rgba(255,255,255,.85); line-height: 1.5; } 4466.cookie-text p:first-child { margin-bottom: .25rem; } 4467.cookie-text a { 4468 color: #60a5fa; text-decoration: underline; 4469 text-underline-offset: 2px; transition: color .2s; 4470} 4471.cookie-text a:hover { color: #93bbfc; } 4472.cookie-actions { display: flex; gap: .6rem; flex-shrink: 0; } 4473.cookie-btn-accept { 4474 background: linear-gradient(135deg,#2563eb,#1d4ed8); 4475 color: #fff; border: none; padding: .6rem 1.5rem; 4476 border-radius: 8px; font-size: .85rem; font-weight: 600; 4477 cursor: pointer; font-family: inherit; 4478 transition: transform .15s, box-shadow .15s; 4479} 4480.cookie-btn-accept:hover { 4481 transform: translateY(-1px); 4482 box-shadow: 0 4px 12px rgba(37,99,235,.4); 4483} 4484.cookie-btn-more { 4485 background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); 4486 border: 1px solid rgba(255,255,255,.15); padding: .6rem 1.2rem; 4487 border-radius: 8px; font-size: .82rem; cursor: pointer; font-family: inherit; 4488 transition: background .2s, color .2s; 4489} 4490.cookie-btn-more:hover { background: rgba(255,255,255,.15); color: #fff; } 4491@media (max-width: 576px) { 4492 .cookie-content { flex-direction: column; text-align: center; } 4493 .cookie-actions { width: 100%; justify-content: center; } 4494 .cookie-icon { display: none; } 4495} 4496</style>
4497<script> 4498(function(){ 4499 if (localStorage.getItem('pt_cookie_consent')) return; 4500 const el = document.getElementById('cookieConsent'); 4501 if (!el) return; 4502 el.style.display = ''; 4503 setTimeout(() => el.classList.add('visible'), 800); 4504})(); 4505function acceptCookies() { 4506 localStorage.setItem('pt_cookie_consent', Date.now()); 4507 const el = document.getElementById('cookieConsent'); 4508 el.classList.remove('visible'); 4509 setTimeout(() => el.style.display = 'none', 500); 4510} 4511</script>
4511 4512 4513</body> 4514</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.