:root {
    --navy-950: #07132e;
    --navy-900: #091d42;
    --navy-700: #154f91;
    --magenta-600: #d81d80;
    --magenta-500: #ef2c92;
    --cyan-400: #4ee6f5;
    --ink: #17203b;
    --muted: #64708a;
    --surface: #ffffff;
    --surface-soft: #f4f7fc;
    --border: #d8dfeb;
    --danger: #b4235b;
    --success: #0b8057;
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --radius-sm: .625rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --shadow-panel: 0 1.25rem 3.75rem rgb(7 19 46 / .18);
    --font-display: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    --candidate-image-scale: 1.2;
    --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: var(--font-body); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

.public-page { min-height: 100vh; background: var(--navy-950); }
.public-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(22rem, 34rem); }
.campaign-hero { isolation: isolate; position: relative; overflow: hidden; min-height: 100vh; padding: var(--space-10) clamp(var(--space-6), 7vw, 7rem); color: var(--surface); background: radial-gradient(circle at 86% 12%, rgb(78 230 245 / .34), transparent 19rem), radial-gradient(circle at 69% 82%, rgb(216 29 128 / .55), transparent 26rem), linear-gradient(140deg, var(--navy-950), var(--navy-900) 57%, #0b3a76); }
.campaign-hero::before, .campaign-hero::after { content: ''; position: absolute; z-index: -1; border: 2px solid rgb(78 230 245 / .8); border-radius: 50%; transform: rotate(-31deg); pointer-events: none; }
.campaign-hero::before { width: min(70vw, 70rem); height: min(70vw, 70rem); right: -25rem; top: -9rem; box-shadow: 0 0 1rem var(--magenta-500); }
.campaign-hero::after { width: min(58vw, 56rem); height: min(58vw, 56rem); right: -11rem; bottom: -32rem; border-color: var(--magenta-500); box-shadow: 0 0 1rem var(--magenta-500); }
.campaign-brand { display: inline-flex; align-items: center; gap: var(--space-2); border-left: 4px solid var(--magenta-500); padding-left: var(--space-3); font-weight: 800; letter-spacing: .12em; font-size: .8rem; text-transform: uppercase; }
.campaign-hero .eyebrow { margin-top: clamp(4rem, 12vh, 10rem); }
.eyebrow { margin: 0; color: var(--cyan-400); font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.campaign-hero h1 { max-width: 40rem; margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: clamp(3.8rem, 9vw, 8.5rem); font-weight: 900; letter-spacing: .02em; line-height: .82; text-transform: uppercase; text-shadow: .18rem .18rem 0 var(--magenta-600); }
.campaign-hero h1 strong { color: var(--cyan-400); font-weight: inherit; }
.campaign-hero .candidate-name { display: grid; width: fit-content; max-width: 23rem; margin-top: var(--space-4); font-family: var(--font-body); font-size: inherit; font-weight: 800; letter-spacing: -.065em; line-height: 1; text-shadow: none; text-transform: none; }
.candidate-prefix { width: fit-content; margin-bottom: var(--space-1); color: var(--cyan-400); font-size: clamp(1rem, 2.1vw, 1.5rem); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.candidate-first { color: #fff; font-size: clamp(4.2rem, 8.7vw, 8rem); font-weight: 850; line-height: .86; }
.candidate-last { width: fit-content; margin-top: var(--space-2); padding: var(--space-1) var(--space-3) var(--space-2); color: #fff; background: var(--magenta-600); font-size: clamp(2rem, 4.4vw, 4.4rem); font-weight: 850; letter-spacing: -.055em; line-height: .88; box-shadow: .35rem .35rem 0 rgb(78 230 245 / .82); }
.hero-copy { max-width: 28rem; margin-top: var(--space-6); font-size: 1.1rem; line-height: 1.55; }
.candidate-photo { position: absolute; z-index: -1; right: clamp(-7rem, 0vw, 2rem); bottom: 0; width: min(49vw, 43rem); height: min(80vh, 53rem); object-fit: contain; object-position: bottom right; transform: scale(var(--candidate-image-scale)); transform-origin: bottom right; filter: drop-shadow(-1.5rem 1.5rem 2rem rgb(0 0 0 / .35)); }

.lead-panel { display: flex; min-height: 100vh; flex-direction: column; justify-content: center; padding: clamp(var(--space-6), 6vw, var(--space-12)); background: var(--surface); }
.form-intro { max-width: 34rem; }
.form-intro .eyebrow { color: var(--magenta-600); }
.form-intro h2, .success-card h2 { margin: var(--space-2) 0 var(--space-3); color: var(--navy-900); font-size: clamp(2rem, 4vw, 2.75rem); letter-spacing: -.045em; line-height: 1.04; }
.form-intro > p:not(.eyebrow), .success-card p { color: var(--muted); line-height: 1.6; }
.referral-note { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: #edf5ff; color: var(--navy-700) !important; font-size: .875rem; }
.lead-form { display: grid; gap: var(--space-4); max-width: 34rem; margin-top: var(--space-8); }
.field { display: grid; gap: var(--space-2); color: var(--ink); font-size: .9rem; font-weight: 750; }
.field input, .field select { min-height: 3.25rem; width: 100%; padding: 0 var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); outline: none; color: var(--ink); background: var(--surface); box-shadow: 0 1px 2px rgb(7 19 46 / .04); transition: border-color .18s ease, box-shadow .18s ease; }
.field input::placeholder { color: #8993a7; }
.field input:focus, .field select:focus, .consent input:focus-visible { border-color: var(--navy-700); box-shadow: 0 0 0 .25rem rgb(21 79 145 / .15); }
.field input:disabled, .field select:disabled, .button:disabled { cursor: not-allowed; opacity: .6; }
.field small, .field-error { min-height: 1rem; color: var(--danger); font-size: .78rem; font-weight: 650; }
.consent { display: flex; gap: var(--space-3); align-items: flex-start; color: var(--muted); font-size: .81rem; line-height: 1.5; cursor: pointer; }
.consent input { width: 1.125rem; height: 1.125rem; margin-top: .125rem; accent-color: var(--magenta-600); }
.consent a { color: var(--navy-700); font-weight: 750; }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: var(--space-2); border: 0; border-radius: var(--radius-sm); padding: 0 var(--space-5); font-weight: 850; text-decoration: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; cursor: pointer; }
.button-primary { color: #fff; background: linear-gradient(100deg, var(--magenta-600), var(--magenta-500)); box-shadow: 0 .75rem 1.5rem rgb(216 29 128 / .22); }
.button-primary:hover { transform: translateY(-1px); background: linear-gradient(100deg, #c91570, #e32286); box-shadow: 0 1rem 1.8rem rgb(216 29 128 / .3); }
.button:focus-visible { outline: 3px solid var(--cyan-400); outline-offset: 3px; }
.alert { margin: var(--space-5) 0 0; padding: var(--space-3) var(--space-4); border-left: 4px solid var(--navy-700); border-radius: var(--radius-sm); background: #edf5ff; color: var(--navy-900); font-size: .9rem; line-height: 1.5; }
.alert-error { border-color: var(--danger); background: #fff0f5; color: #93134c; }
.privacy-copy { max-width: 34rem; margin: var(--space-5) 0 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.success-card { max-width: 32rem; }
.success-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; color: #fff; background: var(--success); font-size: 1.5rem; font-weight: 900; }
.success-card .button { margin-top: var(--space-5); }
.success-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.success-actions .button { margin-top: 0; }
.button-secondary { border: 1px solid var(--navy-700); color: var(--navy-700); background: var(--surface); }
.button-loader { width: 1rem; height: 1rem; border: .15rem solid rgb(255 255 255 / .5); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
.button.is-loading { cursor: wait; }
.privacy-link { display: inline-block; margin-top: var(--space-5); color: var(--navy-700); font-size: .84rem; font-weight: 750; }
@keyframes spin { to { transform: rotate(360deg); } }

.privacy-page { min-height: 100vh; padding: var(--space-6); background: linear-gradient(145deg, var(--navy-950), #103970); }
.privacy-shell { display: grid; gap: var(--space-5); width: min(100%, 48rem); margin: 0 auto; }
.back-link { width: fit-content; color: var(--cyan-400); font-weight: 750; text-decoration: none; }
.privacy-card { padding: clamp(var(--space-5), 7vw, var(--space-8)); border: 1px solid rgb(255 255 255 / .2); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-panel); }
.privacy-card h1, .privacy-card h2 { margin: var(--space-2) 0 var(--space-3); color: var(--navy-900); line-height: 1.1; }
.privacy-card h1 { font-size: clamp(1.9rem, 8vw, 2.7rem); letter-spacing: -.045em; }
.privacy-card h2 { margin-top: var(--space-6); font-size: 1.2rem; }
.privacy-card p { color: var(--muted); line-height: 1.6; }
.privacy-card textarea { width: 100%; resize: vertical; padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink); }

.admin-page { min-height: 100vh; background: var(--surface-soft); color: var(--ink); }
.admin-header { padding: var(--space-5) max(var(--space-5), calc((100% - 75rem) / 2)); color: #fff; background: var(--navy-900); }
.admin-header-inner, .admin-main { width: min(100% - 2rem, 75rem); margin: auto; }
.admin-header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.admin-brand { font-weight: 850; }
.admin-brand span { color: var(--cyan-400); }
.admin-main { padding: var(--space-8) 0 var(--space-12); }
.admin-title { margin: 0; color: var(--navy-900); font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.045em; }
.admin-subtitle { margin: var(--space-2) 0 0; color: var(--muted); }
.map-card { margin-top: var(--space-6); padding: var(--space-6); }
.map-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-5); }
.map-heading .eyebrow { display: flex; align-items: center; gap: var(--space-2); color: var(--magenta-600); }
.map-heading .eyebrow svg, .metric-label svg { width: 1rem; height: 1rem; stroke-width: 2.5; }
.map-heading h2 { margin-top: var(--space-2); color: var(--navy-900); font-size: clamp(1.3rem, 2vw, 1.75rem); }
.map-legend { display: flex; flex-wrap: wrap; gap: var(--space-3); color: var(--muted); font-size: .76rem; white-space: nowrap; }
.map-legend span { display: inline-flex; align-items: center; gap: var(--space-1); }
.legend-swatch { display: inline-block; width: .75rem; height: .75rem; border-radius: 50%; }
.legend-empty { background: #dbe6f7; }.legend-low { background: #91dff0; }.legend-high { background: var(--magenta-600); }
#territory-map { min-height: 31rem; margin-top: var(--space-5); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md); background: #eaf1fa; }
.map-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); color: var(--muted); font-size: .84rem; }
.map-footer p { margin: 0; }.map-footer #map-detail { color: var(--navy-700); }.map-footer #map-detail strong { display: block; color: var(--navy-900); }.map-footer #map-detail span { display: block; margin-top: var(--space-1); }.map-footer .is-error { color: var(--danger); font-weight: 700; }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.card { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-5); background: var(--surface); box-shadow: 0 .5rem 1.5rem rgb(7 19 46 / .05); }
.metric-label { display: flex; align-items: center; gap: var(--space-2); margin: 0; color: var(--muted); font-size: .8rem; font-weight: 750; }
.metric-value { margin: var(--space-2) 0 0; color: var(--navy-900); font-size: 2rem; font-weight: 850; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
.card h2 { margin: 0; color: var(--navy-900); font-size: 1.1rem; }
.ranking { display: grid; gap: var(--space-3); padding: 0; margin: var(--space-5) 0 0; list-style: none; }
.ranking li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; font-size: .88rem; }
.ranking li span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking strong { min-width: 2rem; color: var(--magenta-600); text-align: right; }
.leadership-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--space-3); margin-top: var(--space-5); }
.leadership-form input { min-height: 2.8rem; padding: 0 var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.leadership-list { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.leadership-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-4); border-radius: var(--radius-sm); background: var(--surface-soft); }
.leadership-item p { margin: 0; font-size: .88rem; }
.leadership-item small { color: var(--muted); }
.tag { display: inline-flex; margin-top: var(--space-2); border-radius: 999px; padding: .2rem .5rem; color: var(--navy-700); background: #e8f4ff; font-size: .72rem; font-weight: 800; }
.tag.inactive { color: #78530b; background: #fff4cf; }
.link-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: flex-end; }
.button-small { min-height: 2.4rem; padding: 0 var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--navy-900); background: #fff; font-size: .78rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.button-small:hover { border-color: var(--navy-700); }
.admin-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.admin-actions .button { min-height: 2.7rem; }
.stack-card { display: grid; gap: var(--space-6); }
.stack-section { padding-top: var(--space-6); border-top: 1px solid var(--border); }
.campaign-settings-form { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.campaign-settings-form .field small { color: var(--muted); font-weight: 500; }
.campaign-settings-form .button { justify-self: start; }
.notice { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); color: var(--success); background: #e9fbf3; font-size: .88rem; }
.empty { margin: var(--space-4) 0 0; color: var(--muted); font-size: .9rem; }
.login { width: min(100% - 2rem, 25rem); margin: 12vh auto; }
.login form { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.login input { min-height: 3rem; padding: 0 var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.lead-list-section { padding-top: 0; }
.lead-table-wrap { overflow-x: auto; margin-top: var(--space-5); }
.lead-table { min-width: 44rem; width: 100%; border-collapse: collapse; font-size: .84rem; }
.lead-table th, .lead-table td { padding: var(--space-3); border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.lead-table th { color: var(--muted); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.lead-table td small { display: block; margin-top: var(--space-1); color: var(--muted); }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); margin-top: var(--space-5); color: var(--muted); font-size: .82rem; }
.filter-card { margin-top: var(--space-5); }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.filter-heading h2 { margin-top: var(--space-1); }
.filters-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-5) 0; }
.filter-card .button { min-height: 2.8rem; }
.ranking-detailed small { display: block; margin-top: var(--space-1); color: var(--muted); font-size: .72rem; font-weight: 500; }
.request-list { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.request-item { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-radius: var(--radius-sm); background: var(--surface-soft); }
.request-item p, .request-item small { display: block; margin: var(--space-1) 0 0; color: var(--muted); font-size: .82rem; }

@media (max-width: 900px) { .public-shell { grid-template-columns: 1fr; } .campaign-hero { min-height: 34rem; padding: var(--space-8) var(--space-6); } .campaign-hero .eyebrow { margin-top: var(--space-10); } .candidate-photo { width: min(82vw, 31rem); height: 30rem; right: -3rem; } .lead-panel { min-height: auto; padding: var(--space-8) var(--space-5); } .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-grid { grid-template-columns: 1fr; } .map-heading, .map-footer { align-items: flex-start; flex-direction: column; } #territory-map { min-height: 24rem; } }
@media (max-width: 520px) { .campaign-hero { min-height: 30rem; } .campaign-hero h1 { font-size: 4.2rem; } .hero-copy { max-width: 15rem; font-size: .95rem; } .candidate-photo { width: 24rem; height: 24rem; right: -4rem; } .metrics { grid-template-columns: 1fr 1fr; } .leadership-form { grid-template-columns: 1fr; } .admin-header-inner { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

.hero-cta { display: none; }

/* Painel: a composição começa no celular e expande apenas onde há espaço útil. */
.admin-page { background: linear-gradient(180deg, #edf2fa 0, var(--surface-soft) 38rem); }
.admin-header { padding: var(--space-4) var(--space-4); background: linear-gradient(118deg, var(--navy-950), var(--navy-900) 70%, #123d77); }
.admin-header-inner, .admin-main { width: min(100% - var(--space-6), 75rem); }
.admin-header-inner { align-items: flex-start; flex-direction: column; }
.admin-brand { font-size: .9rem; letter-spacing: .01em; }
.admin-header .button-small { min-height: 2.75rem; color: #fff; border-color: rgb(255 255 255 / .3); background: rgb(255 255 255 / .08); }
.admin-main { padding: var(--space-6) 0 var(--space-10); }
.admin-title { font-size: clamp(1.85rem, 9vw, 2.4rem); line-height: 1; }
.admin-subtitle { font-size: .9rem; line-height: 1.5; }
.map-card { position: relative; overflow: hidden; margin-top: var(--space-5); padding: var(--space-4); border-color: #193b6c; color: #fff; background: radial-gradient(circle at 82% 8%, rgb(78 230 245 / .22), transparent 17rem), radial-gradient(circle at 12% 110%, rgb(239 44 146 / .3), transparent 18rem), linear-gradient(145deg, #07132e, #0c2855); box-shadow: 0 1.25rem 2.5rem rgb(7 19 46 / .22); }
.map-card::before { position: absolute; inset: 0; border: 1px solid rgb(255 255 255 / .08); border-radius: inherit; content: ''; pointer-events: none; }
.map-heading { align-items: flex-start; flex-direction: column; gap: var(--space-4); }
.map-heading .eyebrow { color: var(--cyan-400); }
.map-heading h2 { color: #fff; font-size: 1.5rem; }
.map-heading .admin-subtitle { color: #c8d7ee; }
.map-legend { width: 100%; gap: var(--space-2); color: #d9e7fb; white-space: normal; }
.map-legend span { min-height: 2rem; border: 1px solid rgb(255 255 255 / .13); border-radius: var(--radius-sm); padding: 0 var(--space-2); background: rgb(0 0 0 / .12); }
.legend-empty { background: #1d416d; }.legend-low { background: #50ddec; }.legend-high { background: #ef2c92; }
#territory-map { min-height: 25rem; margin-top: var(--space-4); border-color: rgb(128 240 255 / .5); border-radius: var(--radius-sm); background: #07132e; }
.leaflet-container { color: var(--ink); font-family: var(--font-body); }
.leaflet-control-zoom a, .map-reset-control { display: grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border: 1px solid rgb(128 240 255 / .7) !important; color: #fff !important; background: rgb(7 19 46 / .92) !important; box-shadow: 0 .5rem 1rem rgb(0 0 0 / .2); font-weight: 800; cursor: pointer; }
.leaflet-control-zoom a:first-child { border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important; }.leaflet-control-zoom a:last-child { border-radius: 0 0 var(--radius-sm) var(--radius-sm) !important; }.map-reset-control { border-radius: var(--radius-sm); padding: 0 var(--space-3); }
.leaflet-control-attribution { color: #c9daef !important; background: rgb(7 19 46 / .72) !important; font-size: .62rem !important; }.leaflet-control-attribution a { color: var(--cyan-400) !important; }
.leaflet-tooltip { border: 1px solid var(--cyan-400); border-radius: var(--radius-sm); color: #fff; background: var(--navy-950); box-shadow: var(--shadow-panel); font-weight: 750; }
.map-footer { align-items: flex-start; flex-direction: column; gap: var(--space-2); color: #cfddf0; font-size: .8rem; }.map-footer #map-detail { min-width: 100%; border-left: .2rem solid var(--magenta-500); padding-left: var(--space-3); color: #fff; }.map-footer #map-detail strong { color: var(--cyan-400); }
.metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.card { padding: var(--space-4); border-radius: var(--radius-sm); }
.metric-label { gap: var(--space-1); font-size: .7rem; line-height: 1.25; }.metric-label svg { width: .9rem; height: .9rem; }.metric-value { font-size: 1.65rem; }
.admin-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-4); }
.card h2 { font-size: 1.2rem; }
.leadership-form { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
.leadership-form input, .button-small { min-height: 2.75rem; font-size: .84rem; }
.leadership-item { grid-template-columns: minmax(0, 1fr); align-items: flex-start; padding: var(--space-4); }
.link-actions { justify-content: flex-start; }.link-actions form { flex: 1 1 auto; }.link-actions form .button-small { width: 100%; }.link-actions > .button-small, .link-actions details { flex: 1 1 calc(50% - var(--space-2)); }.link-actions > .button-small { display: inline-flex; align-items: center; justify-content: center; }
.lead-table { min-width: 38rem; }.lead-table th, .lead-table td { padding: var(--space-2) var(--space-3); }
.pagination { justify-content: space-between; }
.filters-grid { grid-template-columns: minmax(0, 1fr); }
.filter-heading, .request-item { align-items: flex-start; flex-direction: column; }

@media (min-width: 44rem) {
    .admin-header { padding: var(--space-5) max(var(--space-5), calc((100% - 75rem) / 2)); }
    .admin-header-inner { align-items: center; flex-direction: row; }
    .admin-main { padding: var(--space-8) 0 var(--space-12); }
    .map-card { padding: var(--space-6); }.map-heading, .map-footer { align-items: center; flex-direction: row; }
    .map-legend { justify-content: flex-end; width: auto; }.map-footer #map-detail { min-width: 17rem; }
    #territory-map { min-height: 31rem; }
    .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
    .metric-label { gap: var(--space-2); font-size: .8rem; }.metric-value { font-size: 2rem; }
    .admin-grid { grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
    .leadership-form { grid-template-columns: 1fr 1fr auto; }
    .filters-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ranking-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .leadership-item { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .link-actions { justify-content: flex-end; }.link-actions form, .link-actions > .button-small, .link-actions details { flex: initial; }.link-actions form .button-small { width: auto; }
}

@media (max-width: 32.5rem) {
    .campaign-hero { --candidate-image-scale: 1.42; min-height: 25rem; padding: var(--space-5); }
    .campaign-hero .eyebrow { max-width: 12rem; margin-top: var(--space-8); font-size: .67rem; }
    .campaign-hero .candidate-name { max-width: 12.5rem; margin-top: var(--space-2); }
    .candidate-prefix { margin-bottom: var(--space-1); font-size: .72rem; letter-spacing: .1em; }
    .candidate-first { font-size: 3.55rem; line-height: .84; }
    .candidate-last { margin-top: var(--space-2); padding: var(--space-1) var(--space-2) var(--space-2); font-size: 1.9rem; box-shadow: .25rem .25rem 0 rgb(78 230 245 / .82); }
    .hero-copy { max-width: 12.5rem; margin-top: var(--space-4); font-size: .88rem; line-height: 1.45; }
    .hero-cta { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); margin-top: var(--space-4); border: 1px solid var(--cyan-400); border-radius: var(--radius-sm); padding: 0 var(--space-4); color: var(--navy-950); background: var(--cyan-400); box-shadow: 0 .5rem 1.25rem rgb(78 230 245 / .28); font-size: .84rem; font-weight: 850; text-decoration: none; }
    .hero-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
    .candidate-photo { width: 19.5rem; height: 21rem; right: -3.75rem; }
    .lead-panel { padding: var(--space-6) var(--space-5) var(--space-8); }
    .form-intro h2 { font-size: 2rem; }
    .lead-form { margin-top: var(--space-6); }
    #lead-form { scroll-margin-top: var(--space-4); }
}
