:root{--c-navy-900: #0c1728;--c-navy-800: #13233d;--c-navy-700: #1a2f52;--c-navy-600: #223f6e;--c-navy-100: #d9e4f5;--c-navy-50: #eef3fb;--c-gold: #d4a017;--c-gold-light: #e8c34d;--c-green: #1f7a3d;--c-gray-900: #111827;--c-gray-700: #374151;--c-gray-500: #6b7280;--c-gray-200: #e5e7eb;--c-gray-100: #f3f4f6;--c-white: #ffffff;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--radius: .5rem;--max-width: 1120px;--font: "Figtree", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--c-gray-900);background:var(--c-white);line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-sm)}.site-header{background:var(--c-navy-900);color:var(--c-white)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:80px}.brand{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;color:var(--c-white)}.brand span{font-weight:600;font-size:1.1rem}.nav-desktop{display:flex;align-items:center;gap:var(--space-md)}.nav-desktop a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--c-white)}.nav-desktop a:hover,.nav-desktop a.is-active{color:var(--c-gold-light)}.nav-toggle{display:none;background:none;border:none;color:var(--c-white);font-size:1.5rem;cursor:pointer}.nav-mobile{display:none;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--c-navy-800)}.nav-mobile.is-open{display:flex}.nav-mobile a{color:var(--c-white);text-decoration:none}@media (max-width: 780px){.nav-desktop{display:none}.nav-toggle{display:block}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn-gold{background:var(--c-gold);color:var(--c-navy-900)}.btn-gold:hover{background:var(--c-gold-light)}.btn-outline{background:transparent;color:var(--c-white);border-color:#ffffff59}.btn-outline:hover{background:#ffffff1a}.btn-navy{background:var(--c-navy-700);color:var(--c-white)}.btn-navy:hover{background:var(--c-navy-600)}.btn-danger{background:#b91c1c;color:var(--c-white)}.btn-danger:hover{background:#991b1b}.btn-sm{padding:.4rem .9rem;font-size:.8rem}.hero{background:var(--c-navy-800);color:var(--c-white);text-align:center;padding:var(--space-xl) 0}.hero .eyebrow{color:var(--c-gold);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.hero h1{font-size:2.25rem;margin:var(--space-xs) 0}.hero p{max-width:640px;margin:var(--space-sm) auto;color:var(--c-navy-100)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md)}.section{padding:var(--space-xl) 0}.section-alt{background:var(--c-gray-100)}.section h2{font-size:1.5rem;margin-bottom:var(--space-sm)}.eyebrow{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.eyebrow-green{color:var(--c-green)}.eyebrow-gold{color:var(--c-gold)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md)}.card{display:block;padding:var(--space-md);border:1px solid var(--c-gray-200);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .15s}.card:hover{border-color:var(--c-gold)}.card h3{margin:var(--space-xs) 0;font-size:1.15rem}.card p{color:var(--c-gray-700);font-size:.9rem;margin:0}.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-sm)}.pillar{padding:var(--space-sm);border:1px solid var(--c-gray-200);border-radius:var(--radius)}.pillar__num{color:var(--c-green);font-weight:700;font-size:.85rem}.pillar h3{margin:.25rem 0;font-size:1rem}.pillar p{color:var(--c-gray-700);font-size:.85rem;margin:0}.mvv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.mvv-grid h3{margin-bottom:.25rem}.mvv-grid p{color:var(--c-gray-700);font-size:.9rem;margin:0}.social-links{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.social-links a{padding:.6rem 1.1rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;text-decoration:none;border:1px solid var(--c-gray-200)}.social-links a.primary{background:var(--c-navy-700);color:var(--c-white);border-color:var(--c-navy-700)}.social-links a:not(.primary):hover{border-color:var(--c-gold)}.field{margin-bottom:var(--space-sm)}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--c-gray-200);border-radius:var(--radius);font-family:var(--font);font-size:.9rem}.field__error{color:#b91c1c;font-size:.8rem;margin-top:.25rem}.field__hint{color:var(--c-gray-500);font-size:.8rem}.checkbox-field{display:flex;align-items:flex-start;gap:.5rem;padding:var(--space-sm);background:var(--c-gray-100);border-radius:var(--radius)}.checkbox-field input{width:auto;margin-top:.2rem}.checkbox-field span{font-size:.85rem;color:var(--c-gray-700)}.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.alert{padding:var(--space-sm);border-radius:var(--radius);font-size:.9rem;margin-bottom:var(--space-sm)}.alert-success{background:#dcfce7;color:#166534}.alert-error{background:#fee2e2;color:#991b1b}.admin-shell{background:var(--c-gray-100);min-height:100vh}.admin-topbar{background:var(--c-navy-900);color:var(--c-white);display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);height:64px}.admin-topbar a{color:var(--c-gold-light);text-decoration:none;font-size:.85rem}.admin-topbar .spacer{flex:1}.admin-main{max-width:1200px;margin:0 auto;padding:var(--space-lg) var(--space-sm)}.admin-card{background:var(--c-white);border-radius:var(--radius);padding:var(--space-md);box-shadow:0 1px 3px #00000014;margin-bottom:var(--space-md)}.admin-grid{display:grid;gap:var(--space-sm)}.admin-grid.cols-2{grid-template-columns:repeat(2,1fr)}.admin-grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 780px){.admin-grid.cols-2,.admin-grid.cols-4{grid-template-columns:1fr}}table.data-table{width:100%;border-collapse:collapse;font-size:.875rem}table.data-table th,table.data-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--c-gray-200)}table.data-table th{text-transform:uppercase;font-size:.7rem;color:var(--c-gray-500);font-weight:600}table.data-table td.actions{text-align:right;white-space:nowrap}table.data-table td.actions a,table.data-table td.actions button{background:none;border:none;color:var(--c-navy-600);font-size:.8rem;cursor:pointer;margin-left:.75rem;padding:0;font-family:var(--font);text-decoration:underline}table.data-table td.actions .link-danger{color:#b91c1c}table.data-table td.actions .link-approve{color:var(--c-green)}.badge{display:inline-flex;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600}.badge-pendente{background:#d4a0172e;color:var(--c-gold)}.badge-aprovado{background:#1f7a3d26;color:var(--c-green)}.mapa-legend{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--c-gray-500);margin-top:var(--space-xs)}.mapa-legend .gradient{flex:1;height:.75rem;border-radius:999px;background:linear-gradient(to right,var(--c-navy-100),var(--c-navy-800))}.mapa-municipio{cursor:pointer;transition:filter .1s;stroke:#fff;stroke-width:.6}.mapa-municipio:hover,.mapa-municipio.is-hover{stroke:var(--c-gold);stroke-width:1.5}#mapa-tooltip{position:absolute;z-index:10;pointer-events:none;padding:.35rem .6rem;border-radius:.3rem;background:var(--c-navy-900);color:var(--c-white);font-size:.75rem;white-space:nowrap;display:none}.site-footer{background:var(--c-navy-900);color:var(--c-navy-100);padding:var(--space-md) 0;margin-top:var(--space-xl)}.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm);font-size:.85rem}.site-footer a{color:var(--c-navy-100);text-decoration:none}.site-footer a:hover{color:var(--c-white)}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}
