.ef-page { color: #263846; padding: 12px 0 28px; }
.ef-page * { box-sizing: border-box; }
.ef-page .ef-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.ef-page .ef-eyebrow { color: #436e64; font-size: 11px; font-weight: 700; letter-spacing: .09em; }
.ef-page h1 { font-size: 30px; font-weight: 700; line-height: 1.2; margin: 8px 0; color: #173e35; }
.ef-page p { margin: 6px 0; line-height: 1.6; }
.ef-page .ef-header p, .ef-page .ef-results-heading p { color: #586b78; }
.ef-page .ef-source { color: #215f51; font-weight: 600; white-space: nowrap; }
.ef-page .ef-panel { background: #fff; border: 1px solid #dce5e2; border-radius: 12px; }
.ef-page .ef-filters { padding: 20px; margin-bottom: 20px; }
.ef-page .ef-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 16px; margin: 0; }
.ef-page .ef-year { flex: 0 0 170px; }
.ef-page .ef-search { flex: 1 1 250px; }
.ef-page label { display: block; color: #344c58; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.ef-page #emendas-busca, .ef-page #emendas-ano { box-sizing: border-box; width: 100%; height: 44px; margin: 0; padding: 0 12px; border: 1px solid #bbc9c4; border-radius: 6px; background: #fff; font-size: 14px; color: #263846; box-shadow: none; }
.ef-page .ef-actions { display: flex; gap: 8px; }
.ef-page .ef-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 1px solid #215f51; border-radius: 6px; background: #215f51; color: white; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; cursor: pointer; text-decoration: none; }
.ef-page .ef-button-light { color: #215f51; background: #fff; border-color: #bbcfc8; }
.ef-page .ef-button:hover { background: #173f36; color: #fff; }
.ef-page .ef-beneficiaries { border-top: 1px solid #e6ece9; margin-top: 18px; padding-top: 14px; font-size: 13px; }
.ef-page summary { cursor: pointer; padding: 5px 0; color: #215f51; font-weight: 600; }
.ef-page .ef-count, .ef-page .ef-tag { display: inline-block; border-radius: 20px; padding: 4px 10px; background: #eaf3ef; color: #245d4e; font-size: 12px; }
.ef-page .ef-location { margin-left: 12px; color: #586b78; font-weight: 400; }
.ef-page .ef-beneficiaries li { padding: 5px 0; overflow-wrap: anywhere; }
.ef-page .ef-beneficiaries p { color: #586b78; }
.ef-page .ef-stats { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 16px; margin-bottom: 22px; }
.ef-page .ef-stat { padding: 20px; display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.ef-page .ef-stat > span { color: #526773; font-size: 12px; }
.ef-page .ef-stat > strong { font-size: 28px; color: #214d41; line-height: 1.25; overflow-wrap: anywhere; }
.ef-page .ef-stat small { font-size: 15px; font-weight: 400; }
.ef-page .ef-stat-primary { background: #f0f7f3; border-color: #c9ddd3; }
.ef-page .ef-stat .ef-date { font-size: 23px; }
.ef-page .ef-results { overflow: hidden; }
.ef-page .ef-results-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 20px 22px 8px; }
.ef-page h2 { font-size: 19px; font-weight: 600; margin: 0; }
.ef-page .ef-results-heading p { font-size: 12px; }
.ef-page .ef-tag { white-space: nowrap; }
.ef-page .ef-table-hint { padding: 0 22px 12px; color: #586b78; font-size: 12px; }
.ef-page .ef-table-wrap { overflow-x: auto; }
.ef-page .ef-table { border-collapse: collapse; width: 100%; min-width: 970px; font-size: 13px; }
.ef-page .ef-table th { background: #f2f6f4; color: #40584f; font-size: 12px; text-align: left; padding: 13px 16px; border-top: 1px solid #e0e8e4; border-bottom: 1px solid #e0e8e4; }
.ef-page .ef-table td { padding: 17px 16px; border-bottom: 1px solid #edf1ef; vertical-align: top; line-height: 1.55; }
.ef-page .ef-table tbody tr:hover { background: #f8fbf9; }
.ef-page .ef-table td:nth-child(2), .ef-page .ef-table td:nth-child(3) { min-width: 180px; max-width: 280px; overflow-wrap: anywhere; }
.ef-page .ef-table .ef-money { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.ef-page .ef-document { display: block; color: #5c6e79; font-size: 12px; margin-top: 3px; }
.ef-page .ef-nowrap { white-space: nowrap; }
.ef-page .ef-budget { min-width: 145px; max-width: 300px; }
.ef-page .ef-budget dl { margin: 12px 0 0; }
.ef-page .ef-budget dt { font-size: 11px; font-weight: 600; color: #5c6e79; margin-top: 10px; }
.ef-page .ef-budget dd { margin: 2px 0; overflow-wrap: anywhere; }
.ef-page .ef-detail { display: inline-block; padding: 6px 10px; border: 1px solid #bfd2c9; border-radius: 6px; color: #215f51; white-space: nowrap; font-weight: 600; }
.ef-page .ef-detail:hover { background: #eaf3ef; }
.ef-page .ef-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; font-size: 13px; }
.ef-page .ef-disabled { color: #687781; padding: 10px 18px; }
.ef-page .ef-about { margin: 18px 4px 0; color: #586b78; font-size: 12px; }
.ef-page .ef-about p { max-width: 1000px; }
.ef-page .ef-notice { padding: 16px 20px; border: 1px solid #e4cd94; background: #fff9ea; color: #715114; border-radius: 8px; margin-bottom: 20px; }
.ef-page .ef-error { background: #fff3f2; border-color: #edc8c4; color: #8a342c; }
.ef-page .ef-empty { padding: 40px 24px; text-align: center; }
.ef-page .ef-empty h3 { font-size: 18px; margin: 0 0 8px; }
.ef-page .ef-empty p { max-width: 540px; margin: 0 auto 20px; color: #586b78; }
.ef-page .ef-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ef-page a:focus-visible, .ef-page button:focus-visible, .ef-page summary:focus-visible, .ef-page input:focus, .ef-page select:focus, .ef-page .ef-table-wrap:focus-visible { outline: 3px solid #327965; outline-offset: 3px; }
@media (max-width: 760px) {
    .ef-page .ef-header { align-items: flex-start; flex-direction: column; gap: 10px; }
    .ef-page h1 { font-size: 26px; }
    .ef-page .ef-stats { grid-template-columns: 1fr; gap: 10px; }
    .ef-page .ef-stat { padding: 16px; gap: 6px; }
    .ef-page .ef-year, .ef-page .ef-search { flex: 1 1 100%; }
    .ef-page .ef-actions { width: 100%; }
    .ef-page .ef-actions .ef-button { flex: 1; }
    .ef-page .ef-filters { padding: 16px; }
    .ef-page .ef-location { display: block; margin: 8px 0 0; }
    .ef-page .ef-pagination { padding: 14px 10px; gap: 6px; flex-wrap: wrap; }
    .ef-page .ef-pagination .ef-button, .ef-page .ef-disabled { padding: 8px 12px; }
}
@media print {
    .ef-page .ef-form, .ef-page .ef-source, .ef-page .ef-pagination, .ef-page .ef-table-hint { display: none; }
    .ef-page .ef-table-wrap { overflow: visible; }
    .ef-page .ef-table { min-width: 0; font-size: 9px; }
    .ef-page .ef-table td, .ef-page .ef-table th { padding: 6px; min-width: 0 !important; }
    .ef-page .ef-stats { grid-template-columns: repeat(3, 1fr); }
}
