:root{color:#141c4a;font-synthesis:none;background:#eef2fa;font-family:Montserrat,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select,table{font:inherit;font-family:Montserrat,sans-serif}button{cursor:pointer}body{background:#eef2fa}.app-shell{gap:16px;min-height:100vh;padding:18px;display:flex}.main{flex:1;min-width:0;padding:0 10px 18px;position:relative}.sidebar{color:#fff;z-index:30;background:linear-gradient(#17245f,#101a49);border-radius:22px;flex-direction:column;align-items:center;width:66px;min-width:66px;height:calc(100vh - 36px);min-height:calc(100vh - 36px);display:flex;position:sticky;top:18px;box-shadow:0 12px 32px #111d5124}.logo-shell{background:#fff;border-radius:12px;width:44px;height:44px;margin:18px 0 32px;overflow:hidden}.logo-shell img{object-fit:cover;width:100%;height:100%}.sidebar nav{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.nav-item{color:#aeb7d4;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:50px;height:58px;display:flex;position:relative}.nav-item span{font-size:9px;font-weight:650}.nav-item.active{color:#fff;background:#ffffff24}.nav-item.active:before{content:"";background:#42e57c;border-radius:0 5px 5px 0;width:4px;height:54px;position:absolute;left:-17px}.sidebar-bottom{flex-direction:column;align-items:center;gap:18px;width:100%;margin-top:auto;padding:0 8px 14px;display:flex}.sidebar-help{color:#fff;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:grid}.sidebar-help:hover{background:#ffffff1a}.alumni-filter{flex-direction:column;align-items:center;gap:7px;width:100%;display:flex}.alumni-filter>span{color:#fff;white-space:nowrap;font-size:8px;font-weight:650}.alumni-switch{background:#657092;border:0;border-radius:999px;justify-content:flex-start;align-items:center;width:48px;height:25px;padding:3px;transition:all .2s;display:flex}.alumni-switch>span{background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .2s;display:block}.alumni-switch.on{background:#34dc72}.alumni-switch.on>span{transform:translate(23px)}.header{grid-template-columns:minmax(240px,1fr) minmax(0,420px) auto;align-items:start;gap:18px;min-height:70px;padding:10px 4px 16px;display:grid}.header h1{letter-spacing:-.2px;color:#132153;margin:2px 0 0;font-size:16px}.data-badge{letter-spacing:.35px;color:#6e7898;background:#f4f6fb;border:1px solid #e0e6f0;border-radius:999px;align-items:center;min-height:21px;padding:0 8px;font-size:9px;font-weight:850;display:inline-flex}.data-badge.bigquery{color:#0e6d59;background:#ebf8f3;border-color:#ccece1}.top-actions{justify-content:flex-end;gap:18px;display:flex}.btn{color:#132153;white-space:nowrap;background:#fff;border:1px solid #dfe5f1;border-radius:14px;align-items:center;gap:9px;height:46px;padding:0 22px;font-weight:750;display:flex;box-shadow:0 2px 8px #141c4a08}.btn.primary{color:#fff;background:#3f62df;border-color:#3f62df;justify-content:center;min-width:150px}.btn.ghost{justify-content:center;min-width:165px}.filter-count{color:#3155ce;background:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;font-weight:900;display:grid}.active-filters{flex-wrap:wrap;gap:7px;min-height:30px;margin:-3px 0 10px;display:flex}.filter-chip{color:#405079;background:#fff;border:1px solid #dce4f1;border-radius:999px;align-items:center;gap:7px;min-height:28px;padding:4px 9px 4px 11px;font-size:10px;display:flex;box-shadow:0 2px 7px #141c4a06}.filter-chip b{color:#1d2d60}.filter-chip:hover{background:#f8faff;border-color:#aebde5}.kpi-block{width:calc(66.666% - 10px);min-height:176px;margin:0 0 16px}.kpi-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.kpi-card{background:#fff;border:1px solid #e3e8f2;border-left:5px solid;border-radius:16px;flex-direction:column;justify-content:center;min-height:92px;padding:12px 14px;display:flex;box-shadow:0 8px 24px #141c4a0d}.kpi-card small{color:#6b7595;letter-spacing:.45px;font-size:9px;font-weight:800}.kpi-card strong{letter-spacing:-.7px;margin:3px 0;font-size:25px}.kpi-card span{color:#6b7595;font-size:10px;font-weight:650}.accent-blue{border-left-color:#3a5edd}.accent-purple{border-left-color:#7c3aed}.accent-green{border-left-color:#019978}.cargo-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:9px;display:grid}.cargo-card{text-align:left;cursor:pointer;color:#fff;border:0;border-radius:14px;flex-direction:column;justify-content:center;min-height:109px;padding:10px 12px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 7px 18px #141c4a14}.cargo-card:hover{transform:translateY(-1px);box-shadow:0 10px 23px #141c4a29}.cargo-card.selected{outline-offset:-4px;outline:3px solid #ffffffeb}.cargo-main{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cargo-main>div:first-child{flex-direction:column;min-width:0;display:flex}.cargo-card .cargo-main strong{font-size:27px;font-weight:800;line-height:28px}.cargo-card .cargo-main span{text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;margin-top:6px;font-size:10.5px;font-weight:750;line-height:13px}.cargo-extra{text-align:right;flex-direction:column;gap:4px;display:flex}.cargo-extra.multi{gap:5px}.cargo-extra.multi>div{justify-content:flex-end;gap:4px;display:flex}.cargo-extra small{text-transform:uppercase;opacity:.8;font-size:9px}.cargo-extra b{font-size:10.5px}.cargo-extra em{opacity:.8;font-style:normal}.cargo-footer{opacity:.84;border-top:1px solid #ffffff40;margin-top:auto;padding-top:7px;font-size:10px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:245px;gap:16px;display:grid}.chart-card{background:#fff;border:1px solid #e1e7f0a6;border-radius:26px;min-width:0;padding:16px 17px 12px;position:relative;overflow:hidden;box-shadow:0 4px 14px #141c4a06}.chart-card h3{color:#111;margin:0 0 4px;font-size:14px}.chart-card.interactive{cursor:crosshair}.chart-hint{color:#97a0b8;text-transform:uppercase;font-size:8px;position:absolute;top:17px;right:16px}.echart{width:100%;height:calc(100% - 23px)}.map-card{grid-area:1/3/span 2;min-height:506px;padding:16px 14px 12px}.map-card .echart{height:calc(100% - 20px);min-height:455px}@media (width>=1101px){.overview-layout{grid-template-rows:auto 245px 245px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.overview-layout>.kpi-block{grid-area:1/1/auto/span 2;width:100%;margin:0}.overview-layout>.dashboard-grid{display:contents}.overview-layout .dashboard-grid>.chart-card:first-child{grid-area:2/1}.overview-layout .dashboard-grid>.chart-card:nth-child(2){grid-area:2/2}.overview-layout .dashboard-grid>.chart-card:nth-child(3){grid-area:1/3/span 2;min-height:0}.overview-layout .dashboard-grid>.chart-card:nth-child(4){grid-area:3/1}.overview-layout .dashboard-grid>.chart-card:nth-child(5){grid-area:3/2}.overview-layout .dashboard-grid>.chart-card:nth-child(6){grid-area:3/3}.overview-layout .map-card .echart{height:calc(100% - 20px);min-height:0}}.list-kpis{width:100%;margin-bottom:14px}.list-kpis .kpi-block{width:100%;min-height:auto;margin:0}.list-kpis .cargo-row{gap:12px;margin-top:0}.list-card.list-card-pbi{background:#fff;border:1px solid #e1e7f0bf;border-radius:28px;width:100%;margin-top:0;padding:8px 16px 12px}.list-instruction{color:#9b9b9b;background:#fafafa;align-items:center;min-height:30px;margin:0 0 8px 4px;padding:0 11px;font-size:11px;display:inline-flex}.list-table-scroll{border:1px solid #edf0f5;width:100%;min-height:380px;max-height:calc(100vh - 365px);overflow:auto}.candidates-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:900px}.candidates-table th{z-index:5;color:#fff;text-align:left;background:#10265e;border-right:1px solid #ffffff29;height:43px;padding:0 14px;font-size:10px;font-weight:800;position:sticky;top:0}.candidates-table td{border-bottom:1px solid #e9edf4;height:79px;padding:9px 14px;font-size:11px}.candidates-table tbody tr:nth-child(2n){background:#f7f9fd}.candidate-main{align-items:center;gap:13px;display:flex}.candidate-photo{object-fit:cover;border-radius:9px;width:45px;min-width:45px;height:45px}.candidate-photo-fallback{color:#fff;background:linear-gradient(145deg,#405fdb,#17245f);place-items:center;display:grid}.candidate-info{flex-direction:column;gap:7px;min-width:0;display:flex}.candidate-info>strong{color:#00205b;text-transform:uppercase;font-size:12px;font-weight:850}.candidate-meta{align-items:center;gap:5px;font-size:10px;display:flex}.mini-party,.mini-state{border-radius:6px;padding:2px 7px;font-size:9px;font-weight:850}.mini-party{color:#2947af;background:#e7ecff}.mini-state{color:#12639f;background:#e5f3ff}.experience-pill,.reelection-pill{white-space:normal;text-align:center;border-radius:16px;justify-content:center;align-items:center;min-height:30px;padding:5px 12px;font-size:10px;line-height:1.25;display:inline-flex}.experience-pill{color:#155bad;background:#edf4ff;border:1px solid #d8e5fa}.experience-pill.exp-2{color:#6b27d9;background:#f1eaff}.experience-pill.exp-3{color:#08784e;background:#e5f7ef}.reelection-pill{color:#6b7595;background:#f4f6fa;border:1px solid #e1e5ed}.finance-box{border:1px solid #dfe5ef;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.finance-item{border-right:1px solid #e5e9f1;flex-direction:column;gap:3px;min-width:0;padding:7px 8px;display:flex}.finance-item:last-child{border-right:0}.finance-item small{font-size:7px}.finance-item strong{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:10px}.alumni-pill{color:#007b59;background:#e8f7f2;border:1px solid #c8e9df;border-radius:999px;justify-content:center;align-items:center;min-width:105px;min-height:50px;padding:7px 12px;font-size:10px;font-weight:850;display:inline-flex}.list-pagination{color:#7d87a3;justify-content:space-between;align-items:center;min-height:45px;padding:9px 3px 0;font-size:10px;display:flex}.page-perfil .header{grid-template-columns:minmax(250px,1fr) minmax(360px,500px) auto;align-items:start}.profile-search{z-index:60;width:100%;position:relative}.profile-search>svg{color:#7080a6;z-index:2;position:absolute;top:13px;left:16px}.profile-search>input{color:#182654;background:#fff;border:1px solid #dce3ef;border-radius:13px;outline:none;width:100%;height:48px;padding:0 44px;font-size:14px;box-shadow:0 2px 5px #141c4a05}.profile-search>input:focus{border-color:#5272e5;box-shadow:0 0 0 3px #5272e514}.search-results{z-index:100;background:#fff;border:1px solid #dce4f1;border-radius:14px;position:absolute;top:54px;left:0;right:0;overflow:hidden;box-shadow:0 16px 42px #141c4a2e}.search-results button{color:#182451;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:9px 14px;display:flex}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#f4f7ff}.search-result-main{flex-direction:column;gap:3px;display:flex}.search-result-main strong{font-size:12px}.search-result-main small{color:#7b86a4;font-size:10px}.search-results button>span{color:#7180a2;font-size:10px}.search-no-results{color:#7b86a4;text-align:center;padding:17px;font-size:11px}.page-perfil .active-filters{margin-bottom:5px}.candidate-profile-layout{grid-template-columns:minmax(390px,39%) minmax(0,61%);align-items:stretch;gap:16px;width:100%;display:grid}.candidate-profile-card{background:#fff;border:1px solid #e0e6f0;border-radius:24px;min-height:635px;position:relative;overflow:hidden;box-shadow:0 5px 18px #141c4a09}.profile-cover{background:linear-gradient(110deg,#3e63d9 0%,#2b62c6 45%,#038b7f 100%);height:118px}.candidate-photo-wrapper{height:88px;position:relative}.candidate-profile-photo{object-fit:cover;background:#fff;border:5px solid #fff;border-radius:19px;width:140px;height:164px;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #0a1e4b29}.candidate-profile-photo-fallback{color:#fff;background:linear-gradient(145deg,#405fdb,#17245f);place-items:center;font-size:32px;font-weight:850;display:grid}.candidate-profile-content{padding:16px 24px 22px}.candidate-profile-content h2{color:#111b4c;text-align:center;letter-spacing:-.4px;margin:0 0 8px;font-size:25px;line-height:30px}.candidate-profile-subtitle{color:#536181;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.candidate-profile-subtitle strong{color:#182451}.profile-alumni-badge{color:#007c5a;background:#e6f7f1;border:1px solid #bfe6d9;border-radius:999px;align-items:center;gap:5px;min-height:25px;padding:0 9px;font-weight:800;display:inline-flex}.profile-alumni-dot{background:#12ae7f;border-radius:50%;width:9px;height:9px}.profile-status-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin-top:18px;display:flex}.profile-status-badge,.profile-experience-badge{border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.profile-status-badge{color:#fff;background:#d48709}.profile-experience-badge{color:#85560c;background:#ffe19a}.profile-instagram-btn{color:#fff;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 13px;font-size:10px;font-weight:800;text-decoration:none;transition:filter .12s;display:inline-flex}.profile-instagram-btn svg{flex-shrink:0}.profile-instagram-btn:hover{filter:brightness(1.06)}.revenue-detail-btn{letter-spacing:.2px;color:#fff;background:#3f62df;border-radius:12px;justify-content:center;align-items:center;gap:7px;width:100%;height:38px;margin-top:14px;font-size:12px;font-weight:800;text-decoration:none;transition:filter .12s,transform .12s;display:inline-flex}.revenue-detail-btn svg{flex-shrink:0}.revenue-detail-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.profile-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.profile-fact{background:#f8f9fc;border:1px solid #e5e9f1;border-radius:14px;flex-direction:column;justify-content:center;gap:4px;min-height:61px;padding:11px 13px;display:flex}.profile-fact span{color:#7b86a4;font-size:10px}.profile-fact strong{color:#131e50;font-size:12px}.candidate-profile-right{grid-template-rows:auto auto 1fr;gap:16px;min-width:0;display:grid}.profile-detail-card{background:#fff;border:1px solid #e0e6f0;border-radius:22px;padding:18px 20px;box-shadow:0 5px 18px #141c4a06}.profile-detail-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-section-title{color:#677393;letter-spacing:.35px;font-size:10px;font-weight:850}.profile-money-total{color:#102052;letter-spacing:-.5px;font-size:24px}.revenue-list{flex-direction:column;gap:7px;margin-top:7px;display:flex}.revenue-row-label{color:#273660;justify-content:space-between;gap:16px;margin-bottom:3px;font-size:9px;display:flex}.revenue-row-label span:last-child{color:#536181}.profile-progress{background:#edf1f7;border-radius:999px;height:9px;overflow:hidden}.profile-progress-fill{border-radius:inherit;background:#3f61e8;min-width:0;height:100%}.revenue-row:nth-child(2) .profile-progress-fill,.revenue-row:nth-child(4) .profile-progress-fill{background:#11ad7a}.expense-card{min-height:190px}.expense-total-row{justify-content:space-between;align-items:flex-end;gap:15px;margin-top:10px;display:flex}.expense-total-row span{color:#65718f;font-size:9px}.expense-total-row strong{color:#112054;font-size:22px}.expense-progress-title{color:#1c2a57;justify-content:space-between;gap:15px;margin:8px 0 4px;font-size:9px;display:flex}.expense-progress-title strong:last-child{color:#009970}.expense-progress-fill{background:#08a87b}.expense-limit-row{color:#76819d;justify-content:space-between;gap:15px;margin-top:6px;font-size:8px;display:flex}.patrimony-row{color:#172452;background:#fbfcfe;border:1px solid #e4e8f1;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;min-height:38px;margin-top:12px;padding:0 11px;font-size:9px;display:flex}.patrimony-row strong{font-size:10px}.electoral-history-card{min-height:195px}.history-card-header{justify-content:space-between;align-items:center;display:flex}.history-card-header>span:last-child{color:#7883a0;font-size:9px}.electoral-timeline{justify-content:space-around;gap:18px;min-height:130px;margin-top:20px;display:flex;position:relative}.electoral-timeline-line{background:#e1e7f0;height:3px;position:absolute;top:12px;left:3%;right:3%}.electoral-event{z-index:2;text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;padding-top:31px;display:flex;position:relative}.electoral-dot{background:#06a583;border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:4px;box-shadow:0 0 0 2px #dce5ef}.electoral-year{color:#162052;font-size:16px}.electoral-office{color:#63708d;font-size:9px}.electoral-result{color:#078f68;font-size:10px}.electoral-event small{color:#72809d;font-size:9px}.profile-no-history{color:#7b86a4;place-items:center;min-height:120px;font-size:11px;display:grid}.profile-empty-state{min-height:calc(100vh - 230px);margin-top:55px}.filter-drawer{z-index:80;background:#fff;border:1px solid #dce4f1;border-radius:25px;width:390px;padding:24px 28px;transition:transform .24s;position:fixed;top:18px;bottom:18px;left:18px;overflow:auto;transform:translate(-110%);box-shadow:0 20px 60px #121d4f38}.filter-drawer.open{transform:translate(0)}.drawer-backdrop{opacity:0;pointer-events:none;z-index:70;background:#0d17402e;position:fixed;inset:0}.drawer-backdrop.show{opacity:1;pointer-events:auto}.drawer-head{border-bottom:1px solid #e4e9f3;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:18px;display:flex}.drawer-head h2{margin:0;font-size:26px}.drawer-head button{background:#f8faff;border:1px solid #dce4f1;border-radius:12px;width:42px;height:42px}.filter-field{margin-bottom:16px;display:block}.filter-field span,.switch-row span{color:#69769d;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.filter-field select,.filter-field input{border:1px solid #dfe5f1;border-radius:10px;width:100%;height:42px;padding:0 11px}.filter-field.ms{position:relative}.filter-field.ms .ms-control{cursor:pointer;background:#fff;border:1px solid #dfe5f1;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;height:42px;padding:0 11px;display:flex}.filter-field.ms .ms-control.has{background:#f8faff;border-color:#9db6e6}.filter-field .ms-summary{color:#1a2550;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;display:block;overflow:hidden}.filter-field.ms .ms-control:not(.has) .ms-summary{color:#98a2bd;font-weight:500}.filter-field .ms-caret{color:#7a86a8;margin:0;font-size:12px;font-weight:400;display:inline}.filter-field.ms .ms-pop{background:#fff;border:1px solid #dfe5f1;border-radius:10px;margin-top:6px;overflow:hidden;box-shadow:0 10px 26px #121d4f24}.filter-field.ms .ms-search{border-bottom:1px solid #eef2f8;padding:8px}.filter-field.ms .ms-search input{height:34px;font-size:13px}.filter-field.ms .ms-clear{text-align:left;color:#c43d3d;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f8;width:100%;padding:8px 12px;font-size:12px;font-weight:700}.filter-field.ms .ms-list{max-height:240px;padding:4px;overflow:auto}.filter-field.ms .ms-empty{text-align:center;color:#8a94b0;padding:12px;font-size:13px}.filter-field.ms .ms-opt{cursor:pointer;border-radius:8px;align-items:center;gap:9px;margin:0;padding:7px 8px;display:flex}.filter-field.ms .ms-opt:hover{background:#f2f6fd}.filter-field.ms .ms-opt.sel{background:#eef4ff}.filter-field.ms .ms-opt input{display:none}.filter-field .ms-box{background:#fff;border:1.5px solid #c2cde3;border-radius:5px;flex-shrink:0;width:17px;height:17px;margin:0;display:inline-block;position:relative}.filter-field.ms .ms-opt.sel .ms-box{background:#2947af;border-color:#2947af}.filter-field.ms .ms-opt.sel .ms-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.filter-field .ms-opt-label{color:#26324f;margin:0;font-size:13px;font-weight:500;display:inline}.switch-row{border-top:1px solid #eef1f6;justify-content:space-between;align-items:center;padding-top:14px;display:flex}.switch-row input{accent-color:#3f62df;width:20px;height:20px}.drawer-clear{background:#fff;border:1px solid #dfe5f1;border-radius:13px;width:100%;min-height:48px;margin-top:18px}.error-banner{color:#8d2e2e;background:#fff1f1;border:1px solid #ffd2d2;border-radius:10px;margin-bottom:12px;padding:10px 13px;font-size:12px}.loading-bar{z-index:100;background:#3f62df;width:40%;height:3px;animation:1.1s ease-in-out infinite load;position:fixed;top:0;left:0}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(350%)}}.empty-state{color:#7883a4;background:#fff;border-radius:28px;place-items:center;min-height:520px;margin-top:70px;font-weight:650;display:grid}@media (width<=1350px){.cargo-card .cargo-main strong{font-size:23px}.cargo-extra{display:none}.candidate-profile-layout{grid-template-columns:minmax(350px,40%) minmax(0,60%)}}@media (width<=1100px){.header,.page-perfil .header{grid-template-columns:1fr auto}.profile-search{grid-area:2/1/auto/-1}.kpi-block{width:100%}.cargo-row{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{grid-area:auto;min-height:245px}.candidate-profile-layout{grid-template-columns:1fr}.candidate-profile-card{min-height:auto}}@media (width<=720px){.app-shell{gap:8px;padding:8px}.sidebar{width:58px;min-width:58px;height:calc(100vh - 16px);min-height:calc(100vh - 16px);top:8px}.nav-item{width:44px}.main{padding:0 2px 12px}.header,.page-perfil .header{grid-template-columns:1fr;gap:10px}.top-actions{justify-content:flex-start}.btn{padding:0 12px;min-width:unset!important}.kpi-top{grid-template-columns:1fr}.cargo-row{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.candidate-profile-layout,.profile-facts-grid{grid-template-columns:1fr}.candidate-profile-content h2{font-size:21px}.electoral-timeline{justify-content:flex-start;overflow-x:auto}.electoral-event{min-width:150px}.list-pagination{flex-direction:column;align-items:flex-start}.filter-drawer{width:min(390px,100vw - 16px);top:8px;bottom:8px;left:8px}}.logo-shell{place-items:center;width:48px;height:48px;padding:5px;display:grid;overflow:visible}.logo-shell img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.title-stack{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.last-update{color:#6f7c9d;font-size:10px;line-height:1.2}.last-update strong{color:#273967;font-weight:800}.table-sort{width:100%;min-height:43px;color:inherit;align-items:center;justify-content:inherit;font-size:inherit;text-align:inherit;background:0 0;border:0;gap:7px;padding:0;font-weight:850;display:flex}.candidates-table th:nth-child(2) .table-sort,.candidates-table th:nth-child(3) .table-sort,.candidates-table th:nth-child(5) .table-sort{justify-content:center}.table-sort:hover,.table-sort.active{color:#cfe0ff}.sort-mark{opacity:.8;font-size:8px}.candidates-table tbody tr{cursor:pointer}.candidates-table tbody tr:hover{background:#eef4ff}.candidate-photo{object-position:center top;background:#eef2f8;width:48px;min-width:48px;height:54px}.candidate-cargo{color:#263967;font-weight:850}.experience-cell{flex-direction:column;align-items:center;gap:5px;display:flex}.experience-pill,.reelection-pill{font-weight:800}.previous-office{color:#66728f;text-align:center;max-width:190px;font-size:8px;font-weight:750;line-height:1.25}.reelection-pill.yes{color:#08784e;background:#e5f7ef;border-color:#c4e9db}.course-pill{white-space:normal;text-align:center;border-radius:14px;width:100%;min-width:0;min-height:42px;padding:8px 11px;line-height:1.25}.finance-empty,.alumni-empty{color:#8b95ad}.electoral-office{color:#52617f;font-size:9px;line-height:1.25}.electoral-office strong{color:#26355f;font-weight:850}.electoral-local{color:#8791a8!important;font-size:8px!important}html,body,#root,.app-shell{font-family:Montserrat,sans-serif}.logo-shell{background:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin:15px 0 28px;padding:8px;display:grid;overflow:hidden;box-shadow:0 0 0 2px #ffffff2e}.logo-img{object-fit:contain;width:100%;height:auto;display:block}.chart-card{padding:18px 20px 14px}.chart-card h3{font-family:Montserrat,sans-serif;font-size:13px;font-weight:800}.chart-hint{font-family:Montserrat,sans-serif;top:19px}.candidates-table th:first-child{width:30%}.candidates-table th:nth-child(2){text-align:center;width:15%}.candidates-table th:nth-child(3){text-align:center;width:9%}.candidates-table th:nth-child(4){width:27%}.candidates-table th:nth-child(5){text-align:center;width:19%}.candidates-table th{letter-spacing:.05px;font-family:Montserrat,sans-serif;font-size:9.5px}.candidates-table td{height:82px;padding:10px 15px;font-family:Montserrat,sans-serif}.table-sort,.table-sort:focus,.table-sort:active{box-shadow:none;outline:none}.table-sort:focus-visible{outline-offset:-3px;border-radius:4px;outline:2px solid #cfe0ffcc}.candidate-main{gap:14px}.candidate-info{gap:6px}.candidate-info>strong{font-size:11.5px;line-height:1.25}.candidate-meta{font-size:9.5px}.experience-cell{gap:0}.experience-pill{white-space:nowrap;min-height:32px;padding:0 14px;font-size:9.5px}.previous-office{display:none!important}.reelection-pill{min-width:48px;min-height:32px;font-size:10px}.finance-box{background:#fff;border-radius:12px;min-height:54px}.finance-item{justify-content:center;gap:4px;padding:8px 10px}.finance-item small{color:#63708f;letter-spacing:.1px;font-size:7.5px;font-weight:700}.finance-item strong{color:#0d2259;white-space:nowrap;font-size:11.5px;font-weight:850;line-height:1.15}.course-pill{border-radius:16px;min-height:44px;padding:8px 13px;font-size:9.5px;font-weight:800}@media (width<=1280px){.candidates-table th:first-child{width:28%}.candidates-table th:nth-child(2){width:16%}.candidates-table th:nth-child(4){width:29%}.candidates-table th:nth-child(5){width:18%}.finance-item strong{font-size:10.5px}}.sidebar-expanded-nav nav{gap:7px}.sidebar-expanded-nav .nav-item{height:49px}.sidebar-expanded-nav .nav-item.active:before{height:46px}.new-page-stack{flex-direction:column;gap:16px;display:flex}.summary-strip{background:#fff;border:1px solid #e3e8f1;border-radius:20px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 28px #16245b0d}.nominatas-summary{grid-template-columns:1.35fr repeat(6,minmax(115px,1fr))}.summary-main,.summary-stat{background:#fbfcff;border:1px solid #e3e8f1;border-radius:15px;flex-direction:column;justify-content:center;min-width:0;min-height:92px;padding:14px 15px;display:flex}.summary-main{color:#fff;background:linear-gradient(145deg,#17245f,#2448b7);border-color:#0000}.summary-main span,.summary-stat span{letter-spacing:.055em;text-transform:uppercase;color:#8993aa;font-size:9px;font-weight:850}.summary-main span,.summary-main small{color:#ffffffc7}.summary-main strong,.summary-stat strong{color:#101a4b;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:23px;font-weight:850;line-height:1.05;overflow:hidden}.summary-main strong{color:#fff;font-size:28px}.summary-main small,.summary-stat small{color:#7c879f;margin-top:6px;font-size:9px;font-weight:650}.section-heading{border-bottom:1px solid #e7ebf3;justify-content:space-between;align-items:flex-end;gap:16px;min-height:54px;padding:0 8px 10px;display:flex}.section-heading.compact{min-height:44px}.section-heading h2{color:#111a44;margin:0;font-size:15px}.section-heading p,.section-heading>span{color:#808aa2;margin:2px 0 0;font-size:10px;font-weight:600}.nominatas-card,.finance-list-card{padding-top:16px}.extended-table-scroll{border:1px solid #e5eaf2;border-top:0;max-height:610px;overflow:auto}.extended-table{min-width:1180px}.extended-table th{z-index:4;position:sticky;top:0}.extended-table td{min-height:76px}.nominatas-table th:first-child{width:31%}.nominatas-table th:nth-child(2){width:27%}.nominatas-table th:nth-child(3),.nominatas-table th:nth-child(4){width:9%}.nominatas-table th:nth-child(5){width:10%}.nominatas-table th:nth-child(6){width:14%}.best-vote{flex-direction:column;gap:3px;min-width:0;display:flex}.best-vote>strong{color:#07194f;font-size:15px;font-weight:850}.best-vote>span{color:#26365f;text-transform:uppercase;font-size:10px;font-weight:750}.best-vote>small{color:#68748e;white-space:normal;font-size:9px;font-weight:600}.metric-pill{color:#3157c8;background:#eef3fb;border:1px solid #dce5f4;border-radius:999px;justify-content:center;min-width:52px;padding:8px 12px;display:inline-flex}.metric-pill.positive{color:#087f67;background:#e8f7f1;border-color:#ccecdf}.metric-pill.warning{color:#9b7300;background:#fff6dc;border-color:#f0dfad}.muted-dash{color:#9ba4b8}.finance-top-grid{grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);align-items:stretch;gap:16px;display:grid}.finance-summary{grid-template-columns:repeat(2,minmax(150px,1fr));align-content:stretch}.finance-summary .summary-main{grid-row:span 2}.chart-card{background:#fff;border:1px solid #e3e8f1;border-radius:20px;min-width:0;padding:14px;box-shadow:0 8px 28px #16245b0d}.finance-chart-card .echart{height:240px}.candidates-table.finance-table{min-width:1320px}.finance-table th:first-child{width:26%}.finance-table th:nth-child(2){width:34%}.finance-table th:nth-child(3),.finance-table th:nth-child(4){width:14%}.finance-table th:nth-child(5){width:12%}.finance-stack{background:#fbfcff;border:1px solid #e0e6f0;border-radius:12px;grid-template-columns:repeat(3,1fr);min-width:440px;display:grid;overflow:hidden}.finance-stack>div{border-right:1px solid #e4e9f2;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;display:flex}.finance-stack>div:last-child{border-right:0}.finance-stack span,.teto-cell span{color:#7f899f;text-transform:uppercase;font-size:8px;font-weight:800}.finance-stack strong{color:#0d1f57;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:11.5px;font-weight:850}.positive-text{color:#087f67!important}.negative-text{color:#c43d3d!important}.origin-pill{color:#667085;background:#eef0f4;border:1px solid #dde1e7;border-radius:999px;justify-content:center;min-width:108px;padding:7px 10px;font-size:10px;font-weight:800;display:inline-flex}.origin-fundos{color:#3157c8;background:#e9eefc;border-color:#d5dff8}.origin-pessoa-fisica{color:#087f67;background:#e6f6f1;border-color:#c8ebe0}.origin-proprios{color:#a87900;background:#faf2d8;border-color:#efe0af}.origin-coletivo{color:#7042d6;background:#f0ebfc;border-color:#dfd5fa}.teto-cell{min-width:145px}.teto-cell>div:first-child{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.teto-cell strong{color:#0d1f57;font-size:12px;font-weight:850}.teto-track{background:#edf1f6;border-radius:999px;height:8px;overflow:hidden}.teto-track span{border-radius:inherit;background:#087f67;height:100%;display:block}.analysis-layout{grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:650px;display:grid}.analysis-controls{background:#fff;border:1px solid #e3e8f1;border-radius:20px;padding:20px 18px;box-shadow:0 8px 28px #16245b0d}.analysis-controls h2{color:#111a44;margin:0 0 22px;font-size:15px}.analysis-control-group{border-bottom:1px solid #e9edf4;flex-direction:column;gap:7px;margin-bottom:18px;padding:0 0 18px;display:flex}.analysis-control-group:last-child{border-bottom:0;margin-bottom:0}.analysis-control-group>span{color:#858da1;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:850}.analysis-control-group button{text-align:left;color:#4e5a75;background:#fbfcff;border:1px solid #e3e8f1;border-radius:9px;min-height:34px;padding:7px 10px;font-size:10px;font-weight:700}.analysis-control-group button:hover,.analysis-control-group button.selected{color:#087f67;background:#e9f8f2;border-color:#c8ebe0}.analysis-main{flex-direction:column;gap:16px;min-width:0;display:flex}.analysis-summary-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.analysis-summary-cards>div{background:#fff;border:1px solid #e3e8f1;border-radius:16px;flex-direction:column;padding:16px 18px;display:flex;box-shadow:0 8px 28px #16245b0a}.analysis-summary-cards span{color:#858da1;text-transform:uppercase;font-size:9px;font-weight:850}.analysis-summary-cards strong{color:#101a4b;margin-top:5px;font-size:22px;font-weight:850}.analysis-summary-cards small{color:#7e879d;margin-top:5px;font-size:9px;font-weight:650}.analysis-chart-card{flex:1;min-height:500px}.analysis-chart-card .echart{height:450px}.chart-empty{color:#8b94a9;place-items:center;min-height:400px;font-size:12px;display:grid}@media (width<=1320px){.nominatas-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}.finance-top-grid{grid-template-columns:1fr}}@media (width<=980px){.analysis-layout{grid-template-columns:1fr}.analysis-controls{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.analysis-controls h2{grid-column:1/-1;margin-bottom:4px}.analysis-control-group{border-bottom:0;margin:0;padding:0}.analysis-summary-cards{grid-template-columns:1fr}}.nominatas-title-stack{gap:0;padding-left:18px;position:relative}.nominatas-title-stack:before{content:"";background:#20b486;border-radius:999px;width:5px;height:38px;position:absolute;top:1px;left:0}.page-financeiro .nominatas-title-stack:before{background:#4c7cff}.page-analise .nominatas-title-stack:before{background:#8a55f4}.section-eyebrow{color:#8b91a8;letter-spacing:.02em;margin-bottom:1px;font-size:10px;font-weight:800;line-height:1.05;display:block}.nominatas-title-stack h1{font-size:22px;line-height:1.05}@media (width<=720px){.app-shell{flex-direction:column;gap:6px;padding:6px}.main{padding:0 2px 16px;overflow-x:hidden}.chart-card{border-radius:16px;padding:12px 12px 8px}.sidebar{z-index:40;border-radius:14px;flex-direction:row;align-items:center;gap:6px;width:100%;min-width:0;height:auto;min-height:0;padding:6px 8px;position:sticky;top:6px}.logo-shell{flex-shrink:0;width:40px;height:40px;margin:0 4px 0 2px;padding:5px}.sidebar nav{-webkit-overflow-scrolling:touch;flex-flow:row;flex:1;justify-content:flex-start;gap:2px;width:auto;overflow-x:auto}.nav-item{flex-shrink:0;width:auto;min-width:52px;height:46px;padding:0 8px}.nav-item span{font-size:8px}.nav-item.active:before{display:none}.sidebar-bottom{flex-direction:row;flex-shrink:0;align-items:center;gap:8px;width:auto;margin:0;padding:0 2px}.sidebar-help{display:none}.alumni-filter{flex-direction:column;gap:2px;width:auto}.alumni-filter>span{font-size:7px}.cargo-row{grid-template-columns:1fr 1fr;gap:8px}.cargo-card{min-height:0}.cargo-main{flex-wrap:wrap}.cargo-main>div:first-child{flex:1 0 100%}.cargo-extra{text-align:left;border-top:1px solid #ffffff2e;align-items:flex-start;width:100%;margin-top:8px;padding-top:6px;display:flex!important}.cargo-extra.multi>div{justify-content:flex-start}.candidate-profile-layout{grid-template-columns:1fr;min-width:0}.candidate-profile-card,.candidate-profile-right,.profile-detail-card{min-width:0;max-width:100%}.candidate-profile-content{padding:14px 14px 18px}.candidate-profile-content h2{font-size:19px;line-height:23px}.profile-facts-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-auto-rows:300px;gap:12px}.overview-layout{flex-direction:column;gap:12px;display:flex}.map-card{min-height:300px}.map-card .echart{min-height:270px}.analysis-layout{gap:12px;min-height:0}.analysis-controls{grid-template-columns:1fr 1fr}.analysis-chart-card{min-height:380px}.analysis-chart-card .echart{height:340px}.chart-empty{min-height:300px}.nominatas-title-stack h1,h1{font-size:19px}.table-scroll,.list-table-scroll,.extended-table-scroll{border:0;min-height:0;max-height:none;overflow:visible}.candidates-table,.candidates-table tbody,.candidates-table tr,.candidates-table td{width:100%;min-width:0;display:block}.candidates-table{table-layout:auto}.candidates-table thead{display:none}.candidates-table tbody tr,.candidates-table tbody tr:nth-child(2n){background:#fff;border:1px solid #e5e9f1;border-radius:16px;margin:0 0 12px;padding:12px 14px;box-shadow:0 2px 8px #141c4a0d}.candidates-table td{border:none;border-top:1px solid #f0f2f7;width:auto;height:auto;min-height:0;padding:8px 0 4px;text-align:left!important}.candidates-table td:first-child{border-top:0;padding-top:2px}.candidates-table td[data-label]:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:#858da1;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.candidates-table th{position:static}.candidate-main{align-items:center}.experience-cell,.finance-box{justify-content:flex-start}.list-instruction{display:block}}@media (width<=460px){.analysis-controls{grid-template-columns:1fr}.cargo-row{grid-template-columns:1fr 1fr}}.login-screen{background:linear-gradient(160deg,#17245f,#101a49);place-items:center;min-height:100vh;padding:24px;font-family:Montserrat,sans-serif;display:grid}.login-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:380px;padding:40px 32px;box-shadow:0 24px 60px #0a123759}.login-title{color:#111a44;letter-spacing:-.01em;font-size:24px;font-weight:900}.login-sub{color:#4e5a75;margin:10px 0 24px;font-size:13px;font-weight:600}.login-sub strong{color:#087f67}.login-btn{justify-content:center;min-height:44px;display:flex}.login-hint{color:#9098ad;margin-top:18px;font-size:11px}
