body{font-size:16px}main{padding-top:22px}.heading{margin:28px 0 22px}h1{font-size:clamp(28px,3.1vw,44px);max-width:1000px}.eyebrow{font-size:12px}.district-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:20px}.district-strip button{text-align:left;border:1px solid var(--line);padding:13px 16px;color:var(--ink)}.district-strip button[aria-pressed=true]{border-color:var(--wine);box-shadow:inset 0 -3px var(--wine);background:#fbf1f4}.district-strip small{display:block;color:var(--muted);font-size:12px}.district-strip strong{font-size:23px}.controls{margin-bottom:12px;padding:16px}.controls label:first-child{flex:0 1 220px}.controls select{min-width:210px}.scope-pill{padding:12px;color:var(--wine);font-size:14px}.breadcrumb{font-size:14px;color:var(--wine);font-weight:700;margin:18px 0}.winner{padding:21px}.winner .rank,.winner .sub,.winner p{font-size:14px}.winner h3{font-size:22px;min-height:54px}.winner strong{font-size:34px}.kpi span,.kpi small,label,.note,.bar-label,.ledger,.finding p,.mapping-row,.sources,.method-grid li,.audit p,summary{font-size:14px}.kpi strong{font-size:26px}.kpi-grid{margin:18px 0}.view-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:15px;margin:30px 0}.view-tabs button{border-color:var(--line);color:var(--muted)}.view-tabs button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.view[hidden]{display:none}.view h2{font-size:29px}.chart-grid{margin-top:0}.bar-label{align-items:start}.bar-label span{max-width:75%}.bar-track{height:12px}.bar-row{margin:25px 0}.bar-label small{display:block;font-size:12px}.bar-label b{white-space:nowrap}.findings{margin:24px 0 34px}.finding strong{font-size:23px}.finding h3{font-size:16px}.table-controls{gap:12px;padding:16px}.table-controls select{min-width:135px;max-width:265px;font:14px inherit}.table-controls label:first-child{min-width:150px;flex:1 1 130px}.table-controls input{min-width:100px}.table-scroll{max-height:580px}table{font-size:14px}th{font-size:14px}td{padding:14px}#district-rows td:nth-child(2),#district-rows td:nth-child(3),#section-rows td:nth-child(2),#section-rows td:nth-child(3){white-space:normal;min-width:190px;max-width:240px}#section-count{font-size:14px;color:var(--muted)}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.badge{display:inline-block;border-radius:5px;padding:6px 9px;font-size:14px;font-weight:650;color:#372e32}.positive{background:#eed2dc}.close{background:#f6e9c6}.negative{background:#dfe9ef}.section-link{white-space:nowrap}.mapping-card{border:1px solid var(--line);border-left:4px solid var(--wine);padding:24px;margin:16px 0}.mapping-card h3{font-size:21px}.mapping-card p{margin:7px 0}.mapping-card code{font-size:13px;overflow-wrap:anywhere}.mapping-card ul{margin-bottom:0}.mapping-card li{font-size:14px}.audit{overflow-wrap:anywhere}.audit code{font-size:12px}.warning p{margin-bottom:0;font-size:14px}.reconciliation{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.panel-note{font-size:14px;color:var(--muted)}#section-detail{margin-top:25px}.detail-title{display:flex;justify-content:space-between;gap:16px;align-items:center}.record-summary{padding:15px;background:var(--paper);font-size:14px}.special-note{font-size:14px;color:var(--muted);margin:8px 0}footer{font-size:12px}select,input{font-family:inherit;font-size:16px}button{font-size:14px}.elections a{font-size:14px}.method-grid p{font-size:16px}
@media(max-width:900px){.district-strip{grid-template-columns:repeat(3,1fr)}.controls label{flex:1 1 240px!important}.controls select{width:100%}.scope-pill{padding:0}.winner h3{min-height:0}.winner.difference{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.winner.difference .rank{grid-column:1/-1}.winner.difference strong{margin:0}.table-controls select{max-width:none}.chart-grid{grid-template-columns:1fr}.bar-label span{max-width:70%}}
@media(max-width:540px){.district-strip{gap:6px}.district-strip button{padding:10px}.heading{margin-top:22px}.kpi-grid{grid-template-columns:1fr 1fr}.winner-grid{gap:10px}.winner.difference{display:block}.winner.difference strong{margin-top:12px}.controls{gap:10px}.view-tabs{gap:6px}.view-tabs button{flex:1 1 44%;padding:10px 6px}.elections a{padding:9px;font-size:14px}.elections{gap:6px}.kpi strong{font-size:24px}.bar-label{font-size:14px}.mapping-card{padding:17px}.method-grid{gap:15px}.detail-title{align-items:start}.panel{padding:18px}.table-controls label{flex:auto;width:100%}.table-controls select{width:100%}}
