html,body{max-width:100%}body{min-width:0;overflow-x:clip}main,section,article,.app-main,.app-content,.panel,.ranking-surface,.territory-panel,.contact-card,.feature-card,.candidate-card,.revision-manager,.revision-editor{min-width:0}.table-wrap,.line-chart-frame,.comparison-options{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;max-width:100%}.table-wrap{scrollbar-width:thin}.mini-line,.spark,.line-chart,.rj-municipality-map{max-width:100%;display:block}.mini-line,.spark{width:100%}.mini-line{aspect-ratio:440/42;height:auto}@media (hover:hover) and (pointer:fine){.button,.public-site .feature-card,.public-site[data-theme=light] .feature-card-stack:before,.candidate-card,.candidate-card-tracked,.theme-toggle,.nav-link,.office-switch a,.candidate-info-button,.map-cell{transition-duration:.14s;transition-timing-function:cubic-bezier(.2,.75,.25,1)}.button{transition-property:transform,box-shadow,border-color,background-color,color}.public-site .feature-card,.candidate-card,.candidate-card-tracked{transition-property:transform,box-shadow,border-color}.public-site[data-theme=light] .feature-card-stack:before{transition-property:transform}.office-switch a{transition-property:background-color,color,box-shadow}.candidate-info-button{transition-property:transform,background-color,color,border-color}.map-cell{transition-property:transform,background-color}.button:hover,.public-site .feature-card:hover,.candidate-card:hover,.candidate-card-tracked:hover,.theme-toggle:hover{transform:translateY(-2px)}.nav-link:hover{transform:translate(2px)}}@media (hover:none),(pointer:coarse){.button,.public-site .feature-card,.public-site[data-theme=light] .feature-card-stack:before,.kpi-card,.kpi-card-glass,.territory-kpi,.candidate-card,.candidate-card-tracked,.theme-toggle,.nav-link,.office-switch a,.candidate-info-button,.map-cell,.rj-municipality-map .municipality-shape{transition:none}.button:hover,.public-site .feature-card:hover,.kpi-card:hover,.kpi-card-glass:hover,.territory-kpi:hover,.candidate-card:hover,.candidate-card-tracked:hover,.theme-toggle:hover,.nav-link:hover,.map-cell:hover{transform:none}.public-site[data-theme=light] .feature-card-stack:hover:before{transform:translate(5px,6px)}.rj-municipality-map,.rj-municipality-map .municipality-shape,.rj-municipality-map .municipality-shape:hover,.rj-municipality-map .municipality-shape:focus-visible,.rj-municipality-map .municipality-shape.selected,.line-chart path,.line-chart circle,.kpi-card:after,.territory-kpi:after,.candidate-card-tracked:after,.page-heading:before{filter:none!important}.kpi-card,.kpi-card-glass,.territory-kpi,.panel,.ranking-surface,.territory-panel,.territory-map,.map-selection-card,.candidate-card,.candidate-card-tracked,.security-row,.empty-state,.display-selector,.button-quiet,.public-site .proof-grid,.public-site .step,.public-site .button-secondary{-webkit-backdrop-filter:none!important;will-change:auto!important}}.app-topbar{backface-visibility:hidden;transform:translate(0,0);transition:transform .15s cubic-bezier(.2,.72,.25,1)!important}.app-topbar.app-topbar-hidden{opacity:1!important;transform:translateY(calc(-100% - 8px))!important}@media (max-width:1000px){.app-content{padding-inline:clamp(18px,3vw,28px)}.panel,.ranking-surface,.territory-panel,.territory-map-panel,.territory-table-panel{max-width:100%}.panel-head,.revision-editor-head,.admin-create-row-head{flex-wrap:wrap}.admin-row-actions{row-gap:8px}}@media (max-width:820px){:root{--mobile-nav-height:68px}.container{width:min(100% - 32px,1180px)}.section{padding-block:clamp(62px,10vw,82px)}.public-header{height:68px}.public-header-inner{gap:14px}.public-nav{gap:10px;min-width:0}.public-nav .public-nav-secondary{display:none}.public-nav .public-nav-login{align-items:center;display:inline-flex!important}.hero-inner,.split,.contact-card,.auth-page{grid-template-columns:1fr}.hero-inner{gap:clamp(36px,7vw,54px);min-height:auto;padding-block:clamp(58px,9vw,78px) clamp(72px,11vw,92px)}.hero-copy,.pulse-panel-stack,.pulse-panel{width:100%;min-width:0}.pulse-panel{max-width:650px;margin-inline:auto;transform:none}.rank-row{grid-template-columns:28px minmax(0,1fr) auto}.rank-row>span:nth-child(2),.rank-row strong,.rank-row small{min-width:0}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{gap:36px}.auth-aside{min-height:250px}.app-shell{display:block}.app-main{width:100%}.sidebar{z-index:80;width:100%;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));border-top:1px solid #ffffff17;flex-direction:row;align-items:stretch;gap:0;display:flex;position:fixed;inset:auto 0 0}.sidebar .brand,.sidebar>.sidebar-label,.sidebar-user,.sidebar-admin>.sidebar-label{display:none}.sidebar>.sidebar-nav{flex:4 1 0}.sidebar-admin{flex:1 1 0;min-width:0;display:flex}.sidebar-admin .sidebar-nav{width:100%}.sidebar-nav{justify-content:stretch;align-items:stretch;gap:2px;width:100%;display:flex}.nav-link{text-align:center;border-radius:10px 14px;flex:1 1 0;grid-template-rows:20px auto;place-items:center;gap:2px;min-width:0;min-height:50px;padding:6px 4px;font-size:.62rem;line-height:1.05;display:grid}.nav-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mobile-brand{flex:none;display:inline-flex}.mobile-brand .brand-name{display:none}.app-topbar{height:60px;padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px));gap:10px}.app-topbar-kicker,.app-topbar-context small,.app-topbar .status{display:none}.app-topbar-context{min-width:0;margin-right:auto}.app-topbar-context>div{min-width:0}.app-topbar-context strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(46vw,360px);font-size:.8rem;display:block;overflow:hidden}.app-topbar-actions{flex:none}.app-content{width:100%;padding:24px 16px calc(var(--mobile-nav-height) + 30px + env(safe-area-inset-bottom,0px))}.page-heading{align-items:start;gap:16px;margin-bottom:22px;display:grid}.page-heading>div:first-child{padding-left:4px}.page-heading h1{font-size:clamp(1.85rem,6vw,2.35rem)}.office-switch{width:100%;min-width:0}.office-switch a{text-align:center;white-space:normal;flex:1 1 0;place-items:center;min-height:44px;padding-inline:8px;display:grid}.panel-grid,.territory-grid,.admin-grid,.admin-grid-three{grid-template-columns:1fr}.panel,.ranking-surface,.territory-panel{border-radius:20px;padding:clamp(16px,3vw,20px)}.panel-head{gap:12px;margin-bottom:16px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card,.territory-kpis .kpi-card{min-width:0;min-height:112px;padding:16px}.kpi-copy strong{font-size:clamp(1.45rem,5vw,1.8rem)}.candidate-card,.candidate-card-tracked{min-width:0}.line-chart-frame{scroll-behavior:auto;touch-action:pan-y;overflow:hidden}.line-chart{aspect-ratio:760/340;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;display:block}.chart-tooltip{max-width:min(300px,100% - 24px);position:absolute;top:12px;left:12px}.chart-legend{gap:8px 12px}.legend-item{min-width:0;max-width:100%}.ranking-toolbar-top{align-items:stretch}.ranking-main-tabs,.tabs,.display-selector{width:100%}.tab,.display-selector button{flex:1 1 0;min-height:44px}.ranking-filters,.block-filters{grid-template-columns:1fr 1fr}.ranking-result-count{justify-self:start}.comparison-search{width:100%;max-width:none}.comparison-options{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-map{min-height:clamp(330px,60vw,430px);padding:14px}.rj-municipality-map{max-height:430px}.map-selection-card{min-width:0;max-width:none;bottom:16px;left:16px;right:16px}.revision-editor-head,.admin-create-row-head,.security-row{align-items:stretch}.admin-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-upload-form,.admin-import-summary,.admin-create-grid,.admin-inline-form,.admin-inline-history{grid-template-columns:1fr 1fr}.admin-data-search{flex-basis:100%}.admin-pagination{flex-wrap:wrap}input,select,textarea{font-size:16px}.public-header,.app-topbar,.sidebar,.kpi-card,.kpi-card-glass,.territory-kpi,.panel,.ranking-surface,.territory-panel,.territory-map,.map-selection-card,.candidate-card,.candidate-card-tracked,.line-chart-frame,.ranking-toolbar-top,.ranking-filters,.security-row,.empty-state,.display-selector,.button-quiet,.public-site .proof-grid,.public-site .step,.public-site .button-secondary,.data-table th{-webkit-backdrop-filter:none!important}.rj-municipality-map,.rj-municipality-map .municipality-shape,.rj-municipality-map .municipality-shape:hover,.rj-municipality-map .municipality-shape:focus-visible,.rj-municipality-map .municipality-shape.selected,.line-chart path,.line-chart circle,.kpi-card:after,.territory-kpi:after,.candidate-card-tracked:after,.page-heading:before{filter:none!important}}@media (max-width:620px){.container{width:min(100% - 28px,1180px)}.public-header-inner{gap:10px}.public-header .brand-name{display:none}.public-nav{gap:7px;margin-left:auto}.public-nav-login{white-space:nowrap;align-items:center;min-height:44px;padding-inline:7px;font-size:.76rem;display:inline-flex!important}.public-header .button{white-space:nowrap;min-height:44px;padding-inline:12px;font-size:.74rem}.public-header .public-nav-cta{letter-spacing:-.01em;min-height:38px;padding-inline:9px;font-size:.68rem}.theme-toggle,.theme-toggle-compact{width:44px;min-width:44px;min-height:44px}.display{font-size:clamp(2.55rem,13.5vw,3.8rem)}.hero-copy p{margin-block:22px 26px;font-size:1.02rem;line-height:1.65}.hero-actions{flex-direction:column;align-items:flex-start;display:flex}.hero-actions .button{width:auto;max-width:100%;min-height:44px;padding-inline:16px;font-size:.88rem}.hero-note{grid-template-columns:1fr;gap:8px;margin-top:24px;display:grid}.pulse-panel{border-radius:20px;padding:18px}.pulse-head{gap:10px;margin-bottom:20px}.pulse-head>span:first-child{max-width:58%}.rank-row{gap:9px;padding-block:13px}.rank-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feature-grid,.proof-grid,.form-grid{grid-template-columns:1fr}.feature-card{min-height:0;padding:24px}.feature-card h3{margin-top:24px}.proof-strip{margin-top:0!important}.proof-grid{box-shadow:none}.proof-item{border-right:0;border-bottom:1px solid var(--line)}.proof-item:last-child{border-bottom:0}.contact-card{gap:28px;padding:24px}.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;display:grid}.auth-aside{min-height:220px;padding:28px 22px}.auth-message h1{font-size:clamp(2.3rem,11vw,3rem)}.auth-message p{display:none}.auth-panel{padding:30px 18px 48px}.auth-card{padding:26px!important}.app-content{padding-inline:12px}.page-heading p{font-size:.9rem;line-height:1.55}.panel,.ranking-surface,.territory-panel{padding:14px}.panel-head{grid-template-columns:1fr;display:grid}.kpi-grid{gap:8px}.kpi-card,.territory-kpis .kpi-card{min-height:104px;padding:14px}.kpi-copy>span,.kpi-card>span:not(.kpi-icon){font-size:.69rem}.candidate-card,.candidate-card-tracked{grid-template-columns:1fr;gap:12px;padding:14px}.candidate-card .candidate-stats,.candidate-card-tracked .candidate-stats{text-align:left}.ranking-filters,.block-filters,.comparison-options,.admin-upload-form,.admin-import-summary,.admin-create-grid,.admin-inline-form,.admin-inline-history{grid-template-columns:1fr}.comparison-selector-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.comparison-selector-actions .button{width:100%;min-width:0;padding-inline:8px}.comparison-selector-actions>span{grid-column:1/-1;width:100%;margin-left:0}.comparison-selected button{overflow-wrap:anywhere;max-width:100%}.line-chart{width:100%;min-width:0;max-width:100%;height:auto}.chart-tooltip{max-width:min(270px,100vw - 48px);padding:9px 10px}.chart-tooltip>span{grid-template-columns:8px minmax(70px,1fr) auto}.chart-legend{grid-template-columns:1fr;display:grid}.legend-item{overflow-wrap:anywhere}.candidate-popover-portal{border-radius:18px;max-height:min(72dvh,520px);overflow:auto}.territory-map{min-height:310px}.rj-municipality-map{max-height:350px}.map-selection-card{font-size:.78rem}.security-row{grid-template-columns:1fr;gap:12px;display:grid}.security-row>.button,.security-row>form,.security-row>form .button{width:100%}.admin-section-nav button{min-height:54px;padding:9px}.admin-section-nav button small{display:none}.admin-data-toolbar{align-items:stretch}.admin-data-toolbar>*{max-width:100%}.admin-pagination{align-items:stretch}.admin-pagination>div{width:100%}.admin-pagination .button{flex:1 1 0}.button,.nav-link,.tab,.display-selector button,.comparison-selected button,.comparison-options button,.icon-button,.candidate-info-button{min-height:44px}}@media (max-width:360px){.public-header .public-nav-cta{display:none}.public-nav-login{font-size:.72rem}.kpi-grid,.comparison-selector-actions{grid-template-columns:1fr}.comparison-selector-actions>span{grid-column:auto}.admin-section-nav{grid-template-columns:1fr}}@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){.auth-aside{min-height:170px}.app-topbar{height:54px}.sidebar{--mobile-nav-height:62px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:900px){.report-page-heading{align-items:stretch}.report-period-control{width:100%;min-width:0}.report-cover{min-height:340px;padding:34px 20px}.report-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-movement-grid{grid-template-columns:1fr}}@media (max-width:620px){.report-local-nav{flex-wrap:nowrap;width:100%;top:72px;overflow-x:auto}.report-local-nav a{flex:none}.report-section{border-radius:14px;padding:20px 16px}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-renewal-grid{grid-template-columns:1fr}.report-heading-row{align-items:start}.report-block>summary{padding:12px}.report-block>summary div{gap:3px;display:grid}.edition-report .report-table-wrap{overflow-x:hidden}.edition-report .report-data-table{table-layout:fixed;width:100%;min-width:0}.edition-report .report-data-table th,.edition-report .report-data-table td{padding:8px 6px;line-height:1.25}.edition-report .report-data-table th{letter-spacing:.035em;font-size:.58rem}.edition-report .report-data-table td{font-size:.7rem}.edition-report .report-col-candidate{overflow-wrap:anywhere;white-space:normal}.edition-report .report-col-party{text-overflow:ellipsis;white-space:nowrap;width:54px;overflow:hidden}.edition-report .report-col-mentions{width:76px}.edition-report .report-top30-table .report-col-rank{width:32px}.edition-report .report-top30-table .report-col-federation{display:none}}@media (max-width:820px){.public-site .public-nav{gap:0;margin-left:auto}.public-site .public-nav-links{display:none}.public-site .public-nav-actions{gap:8px}.public-site .hero-access-button{width:min(400px,100% - 32px);min-height:58px}}@media (max-width:620px){.public-site .public-nav-cta{display:none}.public-site .theme-toggle-compact.theme-toggle-labeled{white-space:nowrap;width:auto;min-width:0;padding-inline:10px;font-size:.76rem}.public-site .public-nav-panel{min-height:42px;padding-inline:12px;font-size:.76rem}.public-site .hero-access-button{width:calc(100% - 28px);min-height:56px;padding:0 20px 0 22px;font-size:.92rem}.public-site .footer-brand-stack{gap:10px}.public-site .footer-brand-stack .brand{white-space:nowrap;gap:7px;font-size:.88rem}.public-site .footer-brand-stack .brand-mark{border-radius:8px;width:28px;height:28px}.public-site .footer-brand-stack .brand small{display:none}.public-site .footer-product-brand{flex-direction:row;gap:6px;padding-left:10px;font-size:.62rem}.public-site .footer-prefab-future-logo{width:clamp(82px,26vw,112px)}}@media (max-width:820px){.sidebar-admin{flex:2 1 0}.sidebar-admin .nav-link{min-width:0}.public-site .public-nav-desktop{display:none}.public-site .public-mobile-menu{display:block}.public-site .public-header-inner{gap:10px}.public-site .public-header-theme .theme-toggle-labeled{width:auto;min-width:68px;min-height:42px;padding-inline:10px}}@media (max-width:420px){.public-site .public-mobile-menu-panel{width:calc(100vw - 28px);right:-2px}.public-site .public-mobile-menu-cta{white-space:normal;text-align:center;padding-block:10px;line-height:1.25}}@media (max-width:620px){.public-site .faq-index{margin-block:28px 42px;padding:22px 20px}.public-site .faq-index ol{grid-template-columns:1fr;gap:10px}.public-site .faq-item{padding-block:30px;scroll-margin-top:84px}.public-site .faq-cta{padding:26px 22px}}@media (max-width:820px){.admin-operational-switch select{width:min(36vw,180px);max-width:180px;min-height:34px;padding-inline:9px 24px;font-size:.7rem}}@media (max-width:480px){.admin-operational-switch select{width:min(42vw,156px);max-width:156px}.app-topbar:has(.admin-operational-switch) .app-topbar-context{display:none}}
