:root{
 --red:#e30613;
 --red-dark:#b9000b;
 --ink:#17191c;
 --ink-soft:#3f4650;
 --surface:#fff;
 --surface-soft:#f5f6f7;
 --line:#dfe3e8;
 --line-strong:#c8cdd4;
 --focus:#e3061326;
 --radius:10px;
 --shadow-sm:0 2px 8px #1822300a;
 --shadow-md:0 14px 36px #18223012;
 font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
 color:var(--ink)
}
html{background:#f4f5f6;scroll-behavior:smooth}
body{background:linear-gradient(180deg,#fff 0,#f4f5f6 340px);color:var(--ink);min-height:100vh}
a{color:var(--red-dark);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#8e0008}
.topbar{
 min-height:72px;
 padding:10px clamp(18px,4vw,58px);
 border-bottom:1px solid var(--line);
 box-shadow:0 4px 18px #1822300b;
 position:sticky;
 background:#fffffff5;
 backdrop-filter:blur(12px);
 flex-wrap:wrap
}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:4px;background:linear-gradient(90deg,var(--red) 0,var(--red) 22%,transparent 22%)}
.brand{gap:13px;font-size:1.08rem;letter-spacing:-.01em;min-width:0}
.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-logo{max-width:175px;max-height:46px}
.topbar nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.topbar nav>span{color:#59616d;font-size:.88rem;margin-right:4px;white-space:nowrap}
.topbar nav .btn{padding:8px 12px;font-size:.87rem;border-radius:7px}
.container{max-width:1240px;margin:0 auto;padding:clamp(26px,4vw,52px) clamp(18px,3vw,34px) 64px}
h1,h2,h3{color:var(--ink);letter-spacing:-.025em;line-height:1.15}
h1{font-size:clamp(2rem,4vw,3.35rem);margin:10px 0 26px}
h2{font-size:1.35rem;margin-top:0}
h3{font-size:1.05rem}
p{color:var(--ink-soft)}
.lead{font-size:1.08rem;line-height:1.65}
.muted{color:#687180}
.breadcrumb{margin:0 0 12px;padding:0;gap:9px;font-size:.88rem}
.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.card{
 border:1px solid var(--line);
 border-radius:12px;
 padding:clamp(20px,2.8vw,30px);
 box-shadow:var(--shadow-sm);
 margin-bottom:22px;
 transition:border-color .15s,box-shadow .15s
}
.card:hover{border-color:#d3d8de;box-shadow:var(--shadow-md)}
.grid{gap:22px}
.actions{align-items:center;gap:9px;margin:20px 0 24px}
.btn,button{
 min-height:42px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:7px;
 padding:10px 16px;
 background:var(--red);
 box-shadow:0 1px 2px #8d000b25;
 transition:background .15s,border-color .15s,box-shadow .15s,transform .05s
}
.btn:hover,button:hover{background:#c9000c;color:#fff;text-decoration:none;box-shadow:0 4px 12px #b9000b28}
.btn:active,button:active{transform:translateY(1px)}
.btn.secondary,button.secondary{background:#fff;color:#24272b;border:1px solid var(--line-strong);box-shadow:none}
.btn.secondary:hover,button.secondary:hover{background:#f5f6f7;border-color:#9da5af;color:#15171a}
.btn.danger,button.danger{background:#a8000a}
button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
label{color:#292d32;font-size:.92rem;margin-top:17px}
input,select,textarea{
 min-height:44px;
 padding:11px 13px;
 border:1px solid #b9c0c9;
 border-radius:7px;
 color:#17191c;
 transition:border-color .15s,box-shadow .15s;
 margin-top:6px
}
textarea{min-height:96px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#8f98a4}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px var(--focus)}
fieldset{border-color:var(--line);background:#fafbfc;border-radius:9px}
legend{color:#292d32}
.alert{border:1px solid #f2c5c9;border-left:5px solid var(--red);border-radius:7px;background:#fff4f5;color:#541117;box-shadow:none}
.alert.success,.success{border-color:#b9dfcc;border-left-color:#18794e;background:#effaf4;color:#155a3d}
.badge{padding:6px 10px;background:#eceef1;color:#414853;font-size:.76rem;letter-spacing:.02em}
.badge.open{background:#dff5e8;color:#115e3b}
.metric{font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.04em}
.progress{height:10px;background:#e1e4e8;margin-top:18px}.progress span{background:linear-gradient(90deg,var(--red-dark),var(--red))}
.table-scroll,.card:has(>table){overflow-x:auto}
table{font-size:.93rem}
th{padding:12px 14px;background:#f2f3f5;color:#4b535e;font-size:.76rem;text-transform:uppercase;letter-spacing:.055em;border-bottom:1px solid #d8dce1;white-space:nowrap}
td{padding:13px 14px;border-bottom:1px solid #e6e8eb;vertical-align:middle}
tbody tr{transition:background .12s}tbody tr:hover{background:#fafafb}
td .actions{margin:0}
code{background:#f0f1f3;border:1px solid #e0e3e7;border-radius:5px;padding:2px 5px;font-size:.9em}
.verification-summary{gap:20px}.verify-card{border-radius:11px;box-shadow:var(--shadow-sm)}
.settings-grid{gap:24px}
.logo-preview{background:#fafafa}
.vote-shell{margin-top:5vh}
.status-page{min-height:calc(100vh - 220px);display:grid;place-items:center;padding:28px 0}.status-panel{position:relative;width:min(100%,680px);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;padding:48px 52px 38px;text-align:center;box-shadow:var(--shadow-md)}.status-panel:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--red)}.status-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 22px;border-radius:50%;background:#fff1f2;border:1px solid #f0b8bd;color:var(--red);font-size:2.4rem;font-weight:800;line-height:1}.status-mark span{transform:translateY(-1px)}.status-eyebrow{margin:0 0 8px;color:var(--red-dark);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.status-panel h1{margin:0;color:var(--ink);font-size:clamp(2rem,6vw,3rem);letter-spacing:-.035em}.status-message{max-width:540px;margin:16px auto 0;color:var(--ink-soft);font-size:1.05rem;line-height:1.65}.status-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.status-help{display:flex;flex-direction:column;gap:3px;margin:34px -52px -38px;padding:18px 24px;background:#f5f6f7;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.status-help strong{color:var(--ink-soft)}
hr{border:0;border-top:1px solid var(--line);margin:28px 0}
dl dd{color:var(--ink-soft)}
@media(max-width:860px){
 .topbar{align-items:flex-start}
 .topbar nav{width:100%;justify-content:flex-start;padding-top:8px;border-top:1px solid #eceef1}
 .topbar nav>span{width:100%;margin-bottom:4px}
 .container{padding-top:28px}
 h1{margin-bottom:22px}
}
@media(max-width:700px){
 .topbar nav{display:flex}
 .topbar{position:relative;padding:11px 16px}
 .topbar nav .btn{flex:1;white-space:nowrap}
 .card{padding:18px;border-radius:9px}
 .grid{gap:14px}
 .actions{gap:7px}
 .actions>.btn,.actions>button,.actions>form{flex:1 1 auto}
 .actions>form>button{width:100%}
 table{font-size:.84rem}
 th,td{padding:10px}
 .status-page{min-height:auto;padding:12px 0}.status-panel{padding:38px 22px 28px;border-radius:10px}.status-mark{width:62px;height:62px}.status-help{margin:30px -22px -28px}
}
@media print{
 body{background:#fff}
 .card{box-shadow:none}
}
