:root{--ink:#193d35;--muted:#63756f;--green:#216650;--line:#dfe7e2;--cream:#f5f7f4}
body{font-family:"Segoe UI",Arial,sans-serif}header{border-bottom:1px solid #e3e9e5}.nav{padding-top:18px;padding-bottom:18px;max-width:1280px}header .association-logo{width:220px}main{max-width:1280px}nav>a{padding:8px 2px;font-weight:600}nav>a:hover{color:#216650}h1,h2,h3{letter-spacing:-.035em}.button{border-radius:10px;box-shadow:0 3px 8px #183e3510;transition:background .18s,box-shadow .18s}.button:hover{color:white;box-shadow:0 5px 16px #183e3520}.button.secondary:hover{color:var(--ink);background:#dce9df}.panel,.form-card{box-shadow:0 5px 24px #153b2e05}.table th{letter-spacing:.06em;text-transform:uppercase}.table tbody tr:hover{background:#f3f7f3}footer{max-width:1220px;margin-top:36px}.login-workspace{display:grid;grid-template-columns:1.05fr 1fr;margin:42px auto 20px;min-height:650px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 16px 60px #183e3508}.login-story{position:relative;overflow:hidden;background:#173e34;color:#fff;padding:48px 48px 26px;display:flex;flex-direction:column}.login-story .eyebrow{color:#decca3;font-size:10px}.login-story .eyebrow>span{background:#ffbd61}.login-story h1{font-size:clamp(38px,4.2vw,57px);line-height:1.1;margin:30px 0 20px;font-weight:550;letter-spacing:-2px;position:relative;z-index:1}.login-story h1 em{font-style:normal;color:#f4bd70}.login-story>p{font-size:15px;line-height:1.8;color:#c0d1c8;max-width:330px;margin:0;position:relative;z-index:1}.architecture-art{height:210px;position:relative;margin-top:24px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent,transparent 39px,#ffffff06 40px),repeating-linear-gradient(0deg,transparent,transparent 39px,#ffffff06 40px)}.arch{position:absolute;border:1px solid #d8af6d65;border-bottom:0;border-radius:150px 150px 0 0;bottom:0}.arch-one{height:200px;width:200px;right:16px}.arch-two{height:160px;width:160px;right:36px;background:linear-gradient(145deg,#f9c67615,transparent)}.arch-three{height:120px;width:120px;right:56px}.art-caption{position:absolute;bottom:16px;left:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:3px;color:#bbcfc2}.story-foot{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff20;padding-top:20px;margin-top:auto;font-size:10px;color:#c0d1c8}.login-content{padding:64px clamp(24px,4.5vw,68px);align-self:center}.login-content>.eyebrow{color:#6c8076;font-size:10px}.login-content h2{font-size:36px;margin:16px 0 8px;font-weight:650}.login-content .intro{margin-bottom:25px}.modern-login-form{padding:0;border:0;border-radius:0;box-shadow:none}.modern-login-form>label{margin:20px 0 8px;color:#354d43;font-size:13px}.modern-login-form>input{background:#fafbf9;border-color:#d8e2db;min-height:51px;border-radius:9px;padding:14px}.modern-login-form>input::placeholder{color:#89958f;font-size:13px}.modern-login-form .button{justify-content:space-between;margin-top:28px;min-height:52px}.voter-login-note{display:flex;gap:14px;margin-top:30px;padding:18px;background:#f5f7f2;border:1px solid #e7ebe1;border-radius:10px}.note-icon{color:#36664d;font-size:21px}.voter-login-note strong{font-size:13px}.voter-login-note p{margin:5px 0 0;font-size:12px;line-height:1.7;color:#66766b}.login-caption{font-size:10px;color:#75847b;margin:22px 0 0}.login-screen footer{margin-top:16px}.dashboard-screen .admin-hero{padding:48px 0 32px}.dashboard-screen .admin-hero h1{font-size:42px;margin:14px 0 10px}.dashboard-screen .admin-hero .eyebrow{color:#658071}.dashboard-screen .stats{gap:16px;border:0;background:none;padding:0;grid-template-columns:repeat(3,1fr) 1.1fr;align-items:stretch}.dashboard-screen .stats>div{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:112px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:3px 16px}.dashboard-screen .stats strong{font-size:34px;font-weight:650;grid-row:1;grid-column:1}.dashboard-screen .stats span:not(.stat-icon){font-size:12px;grid-column:1}.dashboard-screen .stat-icon{grid-column:2;grid-row:1 / 3;align-self:center;width:42px;height:42px;background:#edf3ed;border-radius:12px;text-align:center;line-height:42px}.dashboard-screen .stats .stats-note{display:flex;flex-direction:column;justify-content:center;background:#eaf0e5;color:#56704e;border-color:#e0e8d8;font-size:12px}.dashboard-screen .stats-note b{font-weight:600}.dashboard-screen .polls{padding-top:42px}.dashboard-screen .section-heading h2{font-size:25px}.dashboard-screen .filter-form{padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff}.dashboard-screen .filter-form input,.dashboard-screen .filter-form select{font-size:13px;border:0;background-color:transparent}.dashboard-screen .card{border-radius:15px;padding:25px;box-shadow:0 4px 18px #123d2f04}.dashboard-screen .card:hover{border-color:#b8ccbd;box-shadow:0 10px 24px #123d2f0a}.dashboard-screen .card h3{font-size:21px;margin-top:24px}.dashboard-screen .card p{font-size:13px}.dashboard-screen .card-link{font-size:13px;padding-top:4px}.status-active{background:#dcf3e5;color:#226142}.status-scheduled{background:#e6eefb;color:#365b89}.status-draft{background:#fff0d5;color:#815b21}.status-closed{background:#edf0ee;color:#5c6962}
@media(max-width:950px){.login-story{padding:36px 28px}.login-content{padding:40px 28px}.dashboard-screen .stats{grid-template-columns:repeat(3,1fr)}.dashboard-screen .stats .stats-note{display:none}.dashboard-screen .stats>div{padding:18px}.dashboard-screen .admin-hero h1{font-size:36px}}
@media(max-width:650px){.login-workspace{grid-template-columns:1fr;margin-top:24px;border-radius:16px;min-height:0}.login-story{padding:26px}.login-story h1{font-size:34px;margin:18px 0 10px}.login-story h1 br:last-child{display:none}.login-story>p{font-size:13px;max-width:none}.architecture-art,.story-foot{display:none}.login-content{padding:30px 24px}.login-content h2{font-size:30px}.login-screen .secure-note{display:none}.login-screen header nav{display:none}.dashboard-screen .stats{gap:8px}.dashboard-screen .stats>div{padding:14px 10px;display:flex;flex-direction:column;align-items:flex-start;min-height:92px}.dashboard-screen .stats strong{font-size:27px}.dashboard-screen .stat-icon{display:none}.dashboard-screen .stats span:not(.stat-icon){font-size:10px}.dashboard-screen .filter-form{width:100%;flex-wrap:wrap}.dashboard-screen .admin-hero h1{font-size:34px}.dashboard-screen .admin-hero{padding-top:30px}footer .association-logo{width:150px}}
@media(prefers-reduced-motion:reduce){.button,.card{transition:none}}
/* Preserve the supplied circular emblem and its original image proportions. */
header .association-logo{width:190px;height:104px;object-fit:contain}
.association-logo.footer-logo{width:130px;height:71px;object-fit:contain}
@media(max-width:600px){header .association-logo{width:160px;height:87px}.association-logo.footer-logo{width:120px;height:65px}}
/* Display only the circular emblem from the supplied wide image. */
header .nav{padding-top:8px;padding-bottom:8px;min-height:78px}
header .association-logo{width:64px;height:64px;max-width:none;object-fit:cover;object-position:center;clip-path:circle(48% at 50% 50%)}
.association-logo.footer-logo{width:52px;height:52px;max-width:none;object-fit:cover;object-position:center;clip-path:circle(48% at 50% 50%)}
header nav{gap:26px}
@media(max-width:600px){header .nav{flex-wrap:nowrap;gap:12px;padding-top:8px;padding-bottom:8px}header .association-logo{width:54px;height:54px}header nav{width:auto;flex:1;gap:10px;flex-wrap:wrap;font-size:11px}header nav a{padding:4px 0}header nav .text-button{font-size:11px}}
.list-pager{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:18px 0 8px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.list-pager label{display:flex;align-items:center;gap:10px;white-space:nowrap}.list-pager select{width:92px;font-size:13px}.pager-navigation{display:flex;align-items:center;gap:8px}.pager-navigation .button.small{padding:8px 11px}.pager-navigation>span{white-space:nowrap}main [hidden]{display:none!important}@media(max-width:600px){.pager-navigation{width:100%;justify-content:space-between;gap:4px}.pager-navigation .button.small{font-size:11px;padding:8px}}
.election-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.election-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:16px 20px;white-space:nowrap;font-weight:600;font-size:14px}.election-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);background:#eaf1e9;border-radius:8px 8px 0 0}.election-editor-dialog{width:min(560px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:16px;color:var(--ink);box-shadow:0 24px 80px #12352e30}.election-editor-dialog::backdrop{background:#102d2466;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{margin:0;font-size:24px}.election-editor-dialog .stack-form{margin-bottom:0!important}.election-sections{margin-bottom:24px}@media(max-width:600px){.election-tabs button{padding:12px;font-size:12px}.election-editor-dialog{padding:22px}}
/* Compact election workspace, without changing other page layouts. */
.election-detail-screen .detail-heading{padding:18px 0 16px}
.election-detail-screen .detail-heading .back{margin-bottom:12px}
.election-detail-screen .detail-heading h1{font-size:32px;line-height:1.2;margin:10px 0 8px}
.election-detail-screen .detail-heading .intro{margin-bottom:10px;line-height:1.5}
.election-detail-screen .detail-heading .intro:empty{display:none}
.election-detail-screen .detail-meta{margin-bottom:14px}
.election-detail-screen .action-row{gap:8px}
.election-detail-screen .button.small{padding:9px 14px;font-size:12px}
.election-detail-screen .stats{padding:12px 10px;border-radius:10px}
.election-detail-screen .stats>div{padding:0 16px;gap:10px}
.election-detail-screen .stats strong{font-size:25px}
.election-detail-screen .election-tabs{margin-top:16px!important;margin-bottom:12px;gap:4px}
.election-detail-screen .election-tabs button{padding:11px 16px;font-size:13px}
.election-detail-screen .panel{padding:18px 20px;border-radius:10px}
.election-detail-screen .candidate-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.election-detail-screen .candidate-toolbar h2{margin:0;font-size:23px}
.election-detail-screen .candidate-tools{margin:0}
.election-detail-screen #election-results>.inline-link{margin-top:0}
.election-detail-screen #election-results>.hint{margin:4px 0 12px}
.election-detail-screen #election-results>h3.mt-4{margin-top:18px!important;margin-bottom:5px}
.election-detail-screen #election-results>h3+.hint{margin-bottom:8px}
.election-detail-screen .post-result{padding:8px 12px;margin:10px 0;font-size:13px}
.election-detail-screen .candidate-row{padding:12px 0}
.election-detail-screen .candidate-row .hint:empty{display:none}
.election-detail-screen .candidate-row progress{height:6px;margin-top:6px}
.election-detail-screen .candidate-row form{margin-top:4px}
.election-detail-screen #election-status{margin-top:0!important}
.election-detail-screen .table td{padding-top:10px;padding-bottom:10px}
.election-detail-screen .list-pager{margin-top:10px;padding-top:10px;gap:10px}
@media(max-width:600px){.election-detail-screen .detail-heading h1{font-size:27px}.election-detail-screen .panel{padding:15px}.election-detail-screen .stats>div{padding:0 8px}.election-detail-screen .candidate-toolbar{align-items:flex-start}.election-detail-screen .candidate-tools{width:100%}}
/* New portrait logo: show the full artwork within the compact header. */
header .association-logo{width:44px;height:66px;object-fit:contain;clip-path:none}
.association-logo.footer-logo{width:36px;height:54px;object-fit:contain;clip-path:none}
@media(max-width:600px){header .association-logo{width:36px;height:54px}.association-logo.footer-logo{width:32px;height:48px}}
