/* Layout compartilhado entre os módulos. Cores e fontes vêm das variáveis --cp-* de tema.css. */
#app,.home-grid>*,.columns>*,.three>*,.territory-grid>*,.candidate-menu{min-width:0}
#nav{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%}
#nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
.menu-toggle{display:none;background:var(--cp-vidro);border-color:var(--cp-vidro-borda);color:#fff;min-height:44px}.menu-toggle:hover{background:var(--cp-vidro-borda)}
.actions{align-items:center;gap:10px}
.actions button{min-height:40px}
.row>*{min-width:0;max-width:100%}
.row label{flex:1 1 180px}
.filter-line{flex-wrap:wrap}
.columns,.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:600px}
td,th{overflow-wrap:anywhere}
button,input,select,textarea{max-width:100%}
textarea{font:inherit;width:100%}
.result-top strong{min-width:0;overflow-wrap:anywhere}
.result-top>span{flex-shrink:0}
.actual-map,.home-map{height:65vh;height:65svh;min-height:320px;max-height:720px}
.home-map{height:440px}
.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}
.pagination span{font-size:12px;text-align:center}
.pagination button{min-width:90px;min-height:44px}
#amendment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
#amendment-summary .metric{font-size:clamp(18px,2.5vw,30px);overflow-wrap:anywhere}
.table-wrap:focus-visible{outline:3px solid var(--cp-azul-claro);outline-offset:2px}
@media(max-width:1000px){.candidate-menu{padding-top:0}.home-grid,.columns{grid-template-columns:1fr}.planning{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
 header{padding:12px 12px 14px}.header-top{display:flex;flex-wrap:wrap;gap:10px}.brand img{max-width:100%}.brand{max-width:100%}.account{margin:0;flex-wrap:wrap;gap:0}.account a{min-height:44px;display:flex;align-items:center}
 .candidate-header{flex-direction:row;gap:12px;margin-top:12px;align-items:start}.candidate-menu{padding:0}.candidate-menu .welcome,.candidate-menu .city{text-align:left}.city label{margin:0}.city select{width:100%;margin-top:5px}
 .menu-toggle{display:block;width:100%;margin-top:12px;text-align:left}
 #nav{display:none;margin-top:8px;width:100%;flex-direction:row;gap:6px;box-shadow:none}
 #nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #nav a{font-size:14px;padding:10px 6px;white-space:normal;width:100%}#nav small{position:static;margin-left:4px;width:auto;padding:2px}
 main{margin:18px 12px}.local-strip{min-height:0;padding:8px;font-size:12px}.local-strip a{margin-left:5px;font-size:12px;padding:5px 8px}
 .three,.summary,#amendment-summary{grid-template-columns:1fr}.section{padding:16px;margin-bottom:18px}.section:first-child{padding-top:16px}.section>h2:first-child{margin:-17px -17px 16px;padding:14px 16px}.home-map{margin:12px -16px;width:calc(100% + 32px)}
 input:not([type=checkbox]),select,textarea{font-size:16px;min-height:44px}button{min-height:44px}.tabs{gap:5px}.tabs button{flex:1 1 auto}.actions{gap:8px}.actions button{flex:1 1 auto}.pagination{justify-content:space-between}.pagination span{flex:1 1 100%;order:3}
 .actual-map,.home-map{height:55svh;min-height:300px}.territory-grid{gap:12px}.panel{padding:14px}.color{margin:-14px -14px 14px}.metric{font-size:28px}.filter-line>*{max-width:100%}.map-legend{max-width:220px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.menu-toggle{display:none!important}.table-wrap table{min-width:0}.actual-map,.home-map{max-height:none}}

/* Mapa: filtros alinhados, mantendo os controles e eventos existentes. */
#app > .map-controls:has(#official-year){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 16px;align-items:end;margin-bottom:18px}
#app > .map-controls:has(#official-year)>label{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;grid-column:span 2}
#app > .map-controls:has(#official-year)>label:nth-child(4){grid-column:span 6}
#app > .map-controls:has(#official-year) select{display:block;width:100%;min-height:46px;margin:0}
#app > .map-controls:has(#official-year)>label:nth-child(5){grid-column:1/5;grid-row:2}
#app > .map-controls:has(#official-year)>label:nth-child(7){grid-column:5/-1;grid-row:2}
#app > .map-controls:has(#official-year)>.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0;align-self:start}
#app > .map-controls:has(#official-year)>.tabs:nth-child(6){grid-column:1/5;grid-row:3}
#app > .map-controls:has(#official-year)>.tabs:nth-child(8){grid-column:5/-1;grid-row:3}
#app > .map-controls:has(#official-year)>.tabs button{min-height:44px}
#app > .map-controls:has(#official-year)>.actions{grid-column:1/-1;margin:6px 0 0;flex-wrap:wrap}
#app > .map-controls:has(#official-year)>p{grid-column:1/-1;margin:0;overflow-wrap:anywhere}
@media(max-width:1050px){
 #app > .map-controls:has(#official-year)>label{grid-column:span 4}
 #app > .map-controls:has(#official-year)>label:nth-child(4){grid-column:1/-1}
 #app > .map-controls:has(#official-year)>label:nth-child(5),#app > .map-controls:has(#official-year)>label:nth-child(7){grid-row:3}
 #app > .map-controls:has(#official-year)>.tabs:nth-child(6),#app > .map-controls:has(#official-year)>.tabs:nth-child(8){grid-row:4}
}
@media(max-width:600px){
 #app > .map-controls:has(#official-year){grid-template-columns:minmax(0,1fr);gap:12px}
 #app > .map-controls:has(#official-year)>label,#app > .map-controls:has(#official-year)>label:nth-child(n),#app > .map-controls:has(#official-year)>.tabs:nth-child(n){grid-column:1;grid-row:auto}
 #app > .map-controls:has(#official-year)>.tabs{gap:5px}
}
