
.production-page { background:#fffaf0; }
.production-hero { position:relative; overflow:hidden; padding:88px 0 78px; background:linear-gradient(125deg,#ffc43f 0%,#ffb92e 58%,#f4a814 100%); border-bottom:10px solid var(--green-700); }
.production-hero::after { content:"55333"; position:absolute; right:-35px; bottom:-85px; font-size:17rem; line-height:1; font-weight:1000; color:rgba(0,45,135,.07); letter-spacing:-.08em; }
.production-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:55px; }
.production-hero h1 { margin:0; color:var(--blue-900); font-size:clamp(4rem,8vw,7.2rem); line-height:.82; letter-spacing:-.07em; text-transform:uppercase; font-weight:1000; }
.production-hero h1 span { color:var(--green-700); }
.production-hero p { max-width:720px; margin:28px 0 20px; font-size:1.2rem; font-weight:700; color:#163b76; }
.production-meta { display:flex; flex-wrap:wrap; gap:10px; }
.production-meta span { background:rgba(255,255,255,.52); border:1px solid rgba(0,45,135,.12); padding:8px 12px; border-radius:999px; font-size:.84rem; color:var(--blue-900); }
.hero-total-card { justify-self:end; width:min(330px,100%); padding:34px 30px; background:var(--blue-900); border-radius:30px; border-bottom:10px solid var(--green-700); box-shadow:0 24px 55px rgba(0,45,135,.24); color:#fff; transform:rotate(1deg); }
.hero-total-card span,.hero-total-card small { display:block; }
.hero-total-card span { text-transform:uppercase; letter-spacing:.12em; font-weight:900; font-size:.8rem; }
.hero-total-card strong { display:block; color:var(--yellow-500); font-size:6rem; line-height:1; letter-spacing:-.06em; }
.hero-total-card small { opacity:.82; font-weight:700; }
.summary-section,.highlights-section,.search-section { padding:80px 0; }
.production-heading { max-width:780px; margin-bottom:34px; }
.production-heading h2 { margin:0 0 10px; color:var(--blue-900); font-size:clamp(2rem,4vw,3.25rem); line-height:1.05; letter-spacing:-.04em; }
.production-heading p { margin:0; color:#536789; font-weight:600; }
.production-heading.light h2,.production-heading.light p { color:#fff; }
.summary-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; }
.summary-card { min-height:165px; padding:24px; border-radius:22px; background:#fff; border:1px solid rgba(0,45,135,.09); box-shadow:0 14px 38px rgba(0,45,135,.08); display:flex; flex-direction:column; justify-content:space-between; }
.summary-card .metric-icon { width:38px; height:7px; border-radius:999px; background:var(--green-700); }
.summary-card strong { color:var(--blue-900); font-size:2.35rem; line-height:1; letter-spacing:-.04em; }
.summary-card span { color:#60708e; font-size:.88rem; font-weight:800; line-height:1.3; }
.charts-section { padding:80px 0; background:linear-gradient(140deg,#002d87,#003bc8); }
.charts-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.chart-card { background:#fff; border-radius:25px; padding:25px; box-shadow:0 18px 55px rgba(0,0,0,.14); min-height:365px; }
.chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:25px; }
.chart-head h3 { margin:0; color:var(--blue-900); font-size:1.2rem; }
.chart-head span { color:#7b8aa4; font-size:.75rem; font-weight:800; text-align:right; }
.bar-chart { display:grid; gap:12px; }
.bar-row { display:grid; grid-template-columns:150px 1fr 54px; align-items:center; gap:10px; font-size:.83rem; font-weight:800; color:#415678; }
.bar-track { height:14px; background:#eef2f8; border-radius:999px; overflow:hidden; }
.bar-fill { height:100%; min-width:3px; border-radius:999px; background:linear-gradient(90deg,var(--green-700),var(--yellow-500)); }
.bar-value { text-align:right; color:var(--blue-900); font-weight:950; }
.money-chart .bar-row { grid-template-columns:130px 1fr 90px; }
.status-layout { display:grid; grid-template-columns:180px 1fr; align-items:center; gap:26px; }
.donut { width:175px; height:175px; border-radius:50%; display:grid; place-items:center; position:relative; background:conic-gradient(var(--blue-900) 0 55%,var(--green-700) 55% 70%,var(--yellow-500) 70% 84%,#5b79c7 84% 92%,#80b590 92% 96%,#b8c2d7 96% 100%); }
.donut::after { content:""; position:absolute; width:112px; height:112px; border-radius:50%; background:#fff; }
.donut div { position:relative; z-index:1; text-align:center; }
.donut strong { display:block; color:var(--blue-900); font-size:2rem; line-height:1; }
.donut span { color:#75849e; font-size:.72rem; font-weight:800; }
.status-legend { display:grid; gap:8px; }
.legend-item { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid #edf0f5; font-size:.8rem; }
.legend-item span { color:#5c6e8d; font-weight:700; }
.legend-item strong { color:var(--blue-900); }
.highlight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.highlight-card { background:#fff; border-radius:22px; padding:24px; border:1px solid rgba(0,45,135,.1); box-shadow:0 14px 35px rgba(0,45,135,.07); }
.highlight-card .tag,.record-card .tag { display:inline-flex; padding:5px 9px; border-radius:999px; background:#eaf7ee; color:var(--green-800); font-size:.7rem; font-weight:950; letter-spacing:.04em; text-transform:uppercase; }
.highlight-card h3 { margin:14px 0 10px; color:var(--blue-900); font-size:1rem; line-height:1.35; }
.highlight-card p { margin:0; color:#64738e; font-size:.83rem; font-weight:650; }
.search-section { background:#fff; }
.filters-panel { display:grid; grid-template-columns:2fr repeat(4,1fr) auto; gap:12px; align-items:end; padding:20px; background:#f7f9fc; border:1px solid #e6ebf3; border-radius:22px; }
.filters-panel label { display:grid; gap:6px; }
.filters-panel label>span { color:#566a8c; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.filters-panel input,.filters-panel select { width:100%; min-height:46px; border:1px solid #d7deea; border-radius:12px; padding:0 12px; background:#fff; color:var(--ink); font:inherit; font-size:.88rem; outline:none; }
.filters-panel input:focus,.filters-panel select:focus { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(0,59,200,.1); }
.clear-button { min-height:46px; border:0; border-radius:12px; padding:0 16px; background:var(--blue-900); color:#fff; font-weight:900; cursor:pointer; }
.results-toolbar { display:flex; justify-content:space-between; gap:15px; margin:24px 0 14px; color:#6b7890; font-size:.85rem; }
.results-toolbar strong { color:var(--blue-900); }
.records-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.record-card { position:relative; background:#fff; border:1px solid #e5eaf2; border-radius:18px; padding:20px; transition:.18s ease; }
.record-card:hover { transform:translateY(-2px); border-color:#cbd6e8; box-shadow:0 12px 30px rgba(0,45,135,.08); }
.record-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.record-status { font-size:.68rem; font-weight:950; color:#6b7a94; text-transform:uppercase; }
.record-card h3 { margin:13px 0 12px; color:var(--blue-900); font-size:.98rem; line-height:1.38; }
.record-meta { display:flex; flex-wrap:wrap; gap:7px; color:#64738e; font-size:.76rem; font-weight:750; }
.record-meta span { background:#f5f7fb; padding:5px 8px; border-radius:8px; }
.record-resource { margin-top:12px; color:var(--green-800); font-size:1rem; font-weight:950; }
.details-button { margin-top:15px; border:0; background:transparent; padding:0; color:var(--blue-700); font-weight:950; cursor:pointer; }
.pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin-top:28px; }
.page-button { min-width:38px; height:38px; border:1px solid #dce3ee; background:#fff; border-radius:10px; color:var(--blue-900); font-weight:900; cursor:pointer; }
.page-button.active { background:var(--blue-900); color:#fff; border-color:var(--blue-900); }
.data-note { padding:65px 0; background:var(--green-700); color:#fff; }
.data-note-inner { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:center; }
.data-note h2 { margin:0 0 10px; font-size:2.4rem; line-height:1.05; }
.data-note p { margin:0; max-width:760px; opacity:.9; }
.data-stamp { padding:24px; border:1px solid rgba(255,255,255,.25); border-radius:22px; background:rgba(0,0,0,.08); }
.data-stamp strong { display:block; color:var(--yellow-500); font-size:4rem; line-height:1; }
.data-stamp span,.data-stamp small { display:block; font-weight:800; }
.data-stamp small { opacity:.75; margin-top:5px; }
.record-dialog { width:min(720px,calc(100% - 30px)); max-height:85vh; border:0; border-radius:24px; padding:30px; color:var(--ink); box-shadow:0 30px 90px rgba(0,0,0,.3); }
.record-dialog::backdrop { background:rgba(0,20,60,.62); backdrop-filter:blur(4px); }
.dialog-close { position:absolute; right:15px; top:12px; width:38px; height:38px; border:0; border-radius:50%; background:#eef2f8; color:var(--blue-900); font-size:1.6rem; cursor:pointer; }
.dialog-content h2 { color:var(--blue-900); margin:14px 40px 16px 0; line-height:1.2; }
.dialog-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dialog-field { padding:12px; border-radius:12px; background:#f6f8fb; }
.dialog-field span { display:block; color:#73819a; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.dialog-field strong { display:block; color:var(--blue-900); margin-top:3px; }
.dialog-field.full { grid-column:1/-1; }
.no-results { grid-column:1/-1; padding:50px; text-align:center; background:#f7f9fc; border-radius:20px; color:#65738d; }
.production-cta { margin-top:28px; display:flex; justify-content:center; }
@media (max-width:1050px){.summary-grid{grid-template-columns:repeat(3,1fr)}.filters-panel{grid-template-columns:1fr 1fr 1fr}.search-box{grid-column:1/-1}.clear-button{width:100%}}
@media (max-width:820px){.production-hero-grid,.data-note-inner{grid-template-columns:1fr}.hero-total-card{justify-self:start}.charts-grid,.records-grid,.highlight-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.status-layout{grid-template-columns:150px 1fr}.donut{width:145px;height:145px}.donut::after{width:92px;height:92px}.production-hero::after{font-size:10rem}.nav a:not(.nav-number){display:none}}
@media (max-width:560px){.production-hero{padding:60px 0}.production-hero h1{font-size:3.5rem}.hero-total-card strong{font-size:4.7rem}.summary-grid{grid-template-columns:1fr}.filters-panel{grid-template-columns:1fr}.search-box{grid-column:auto}.bar-row,.money-chart .bar-row{grid-template-columns:105px 1fr 70px}.status-layout{grid-template-columns:1fr}.donut{margin:0 auto}.results-toolbar{display:block}.results-toolbar span{display:block;margin-top:4px}.dialog-fields{grid-template-columns:1fr}.dialog-field.full{grid-column:auto}}

/* V4.3 — produção pública consolidada, sem pesquisa ou detalhamento */
.results-only-section{padding:70px 0;background:#f6f8fc}.results-only-card{max-width:900px;margin:0 auto;padding:34px 38px;border-radius:28px;background:#fff;border:1px solid rgba(0,45,135,.10);box-shadow:0 16px 44px rgba(0,45,135,.08);text-align:center}.results-only-card h2{margin:8px auto 12px;color:var(--blue-900);font-size:clamp(2rem,4vw,3rem);line-height:1.06;letter-spacing:-.04em}.results-only-card p{max-width:760px;margin:0 auto;color:#5d6f8e;font-weight:650;line-height:1.65}.data-load-error{margin-top:18px!important;color:#a33!important;font-weight:800!important}@media(max-width:560px){.results-only-section{padding:48px 0}.results-only-card{padding:27px 22px}}

/* V5.4 — consulta pública auditada + votações favoráveis */
.search-section{padding:75px 0}.consult-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.consult-tab{border:1px solid #d7deea;background:#fff;color:var(--blue-900);border-radius:999px;padding:12px 18px;font:inherit;font-weight:900;cursor:pointer}.consult-tab strong{display:inline-grid;place-items:center;min-width:28px;height:24px;margin-left:7px;padding:0 7px;border-radius:999px;background:#edf2f9}.consult-tab.active{background:var(--blue-900);color:#fff;border-color:var(--blue-900)}.consult-tab.active strong{background:rgba(255,255,255,.18)}.vote-explainer{margin:0 0 18px;padding:15px 18px;border-radius:14px;background:#fff7db;border:1px solid #f2d56a;color:#5c4a0b;line-height:1.5}.vote-card .record-status{color:var(--green-800)}.dialog-field a{color:var(--blue-700);font-weight:900;text-decoration:none}.dialog-field a:hover{text-decoration:underline}@media(max-width:560px){.consult-tabs{display:grid;grid-template-columns:1fr}.consult-tab{text-align:left}.search-section{padding:48px 0}}

/* V5.5.3 — ajustes solicitados pelo gabinete */
.summary-note{margin-top:16px;padding:14px 18px;border:1px solid #ecd477;border-radius:14px;background:#fff8dd;color:#66500b;font-size:.86rem;line-height:1.5}.explore-heading{margin:46px 0 20px}.explore-heading h3{margin:6px 0 7px;color:var(--blue-900);font-size:clamp(1.6rem,3vw,2.25rem)}.explore-heading p{margin:0;color:#60708e;font-weight:650}.mandate-explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mandate-number-card{appearance:none;text-align:left;border:1px solid rgba(0,45,135,.12);border-radius:20px;background:#fff;padding:22px;cursor:pointer;box-shadow:0 12px 30px rgba(0,45,135,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.mandate-number-card:hover,.mandate-number-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,45,135,.12);border-color:var(--blue-700);outline:none}.mandate-number-card .mandate-number{display:block;color:var(--blue-900);font-size:2.6rem;line-height:1;font-weight:1000;letter-spacing:-.05em}.mandate-number-card>span:not(.mandate-number){display:block;margin-top:9px;color:#526785;font-weight:850}.mandate-number-card small{display:block;margin-top:13px;color:var(--green-800);font-weight:900}.support-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.support-metric{padding:20px;border-radius:18px;background:#f5f8fc;border:1px solid #e1e8f2}.support-metric strong{display:block;color:var(--blue-900);font-size:2rem;line-height:1}.support-metric span{display:block;margin-top:7px;color:#425a7e;font-weight:900}.support-metric small{display:block;margin-top:7px;color:#74829a;line-height:1.45}.composition-card .bar-row{grid-template-columns:190px 1fr 48px}.office-note-card{display:flex;flex-direction:column}.office-note-body{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 8px}.office-note-body strong{color:var(--blue-900);font-size:5rem;line-height:.9;letter-spacing:-.06em}.office-note-body span{margin-top:8px;color:var(--green-800);font-size:1.15rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.office-note-body p{max-width:440px;margin:18px 0 0;color:#667690;line-height:1.6;font-weight:650}.unipace-section{padding:82px 0;background:#f4f7fb;border-top:1px solid #e5eaf1;border-bottom:1px solid #e5eaf1}.unipace-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.unipace-head h2{margin:5px 0 0;color:var(--blue-900);font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.045em}.unipace-head p{max-width:390px;margin:0;color:#697a96;font-weight:650}.unipace-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cad6e5;border-left:1px solid #cad6e5}.unipace-card{position:relative;min-height:165px;padding:26px 24px;border-right:1px solid #cad6e5;border-bottom:1px solid #cad6e5;background:#fff}.unipace-card:nth-child(3n+1){background:#edf3f8}.unipace-card small{display:block;color:#7e8da5;font-weight:800;letter-spacing:.12em}.unipace-card strong{display:block;margin-top:28px;color:#183a68;font-family:Georgia,'Times New Roman',serif;font-size:3rem;line-height:.9;font-weight:500}.unipace-card span{display:block;margin-top:10px;color:#415b7d;font-size:.88rem;line-height:1.4}.search-section{scroll-margin-top:85px}
@media(max-width:1050px){.mandate-explore-grid,.unipace-grid{grid-template-columns:repeat(2,1fr)}.support-metrics{grid-template-columns:1fr 1fr 1fr}.composition-card .bar-row{grid-template-columns:155px 1fr 45px}}
@media(max-width:680px){.mandate-explore-grid,.support-metrics,.unipace-grid{grid-template-columns:1fr}.unipace-head{display:block}.unipace-head p{margin-top:12px}.composition-card .bar-row{grid-template-columns:115px 1fr 40px}.unipace-card{min-height:auto}.unipace-card strong{margin-top:18px}}
.filters-panel{grid-template-columns:2fr repeat(3,1fr) auto}
@media(max-width:1050px){.filters-panel{grid-template-columns:1fr 1fr 1fr}.search-box{grid-column:1/-1}}
@media(max-width:560px){.filters-panel{grid-template-columns:1fr}.search-box{grid-column:auto}}

/* v5.5.4 — acompanhamento legislativo */
.consult-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 16px}.consult-tab{appearance:none;border:1px solid rgba(0,45,135,.16);background:#fff;color:#062e79;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.2s ease}.consult-tab:hover{transform:translateY(-1px);border-color:#ffb92e}.consult-tab.active{background:#062e79;color:#fff;border-color:#062e79;box-shadow:0 8px 22px rgba(6,46,121,.18)}
.public-finance-note{display:flex;gap:12px 24px;align-items:center;justify-content:space-between;background:#fff8e7;border:1px solid rgba(255,185,46,.38);border-radius:16px;padding:15px 18px;margin-bottom:20px}.public-finance-note strong{color:#062e79;min-width:260px}.public-finance-note span{color:#5c6575;font-size:.92rem;line-height:1.5}
.resources-highlight-card{background:linear-gradient(145deg,#fff 0%,#fff9e9 100%)}.resource-big-number{padding:12px 0 2px;display:flex;flex-direction:column}.resource-big-number small{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#667085}.resource-big-number strong{font-size:clamp(2.25rem,4vw,4rem);line-height:1;color:#062e79;margin:5px 0}.resource-big-number>span{font-size:1.05rem;font-weight:800;color:#07863d}.resource-big-number p{margin:16px 0 0;color:#5c6575;line-height:1.55;max-width:520px}.executive-card{border-top:4px solid #ffb92e}.source-link{display:inline-flex;margin-top:18px;font-weight:800;color:#062e79;text-decoration:none}.source-link:hover{text-decoration:underline}.dialog-disclaimer{margin-top:18px;padding:12px 14px;background:#f5f7fb;border-radius:12px;color:#5c6575;font-size:.9rem;line-height:1.5}
@media(max-width:720px){.consult-tabs{display:grid;grid-template-columns:1fr}.consult-tab{border-radius:14px;text-align:left}.public-finance-note{align-items:flex-start;flex-direction:column;gap:6px}.public-finance-note strong{min-width:0}}
