:root{--bg:#0b0f1a;--fg:#e6ecff;--muted:#9fb0d0;--card:#10182a;--accent:#7c5cff;--success:#28a745;--danger:#dc3545;--warning:#ffc107;--info:#17a2b8;}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--fg)}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.nav{background:#0e1424;border-bottom:1px solid #1e2947}
.nav .brand{font-weight:700;color:var(--fg);text-decoration:none;margin-right:1rem}
.nav nav a{color:var(--muted);margin:0 .5rem;text-decoration:none}
.nav .btn{padding:.4rem .8rem;background:var(--accent);color:white;border-radius:.5rem}
h1,h2,h3{color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.cards.three{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.card{background:var(--card);padding:1rem;border:1px solid #1e2947;border-radius:.8rem;color:var(--fg)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
form label{display:block;margin:.5rem 0;color:var(--fg)}
input,select,textarea{width:100%;padding:.5rem;border-radius:.4rem;border:1px solid #30406a;background:#0e1628;color:#e6ecff}
button,.btn{cursor:pointer;border:0;padding:.5rem .9rem;border-radius:.5rem;background:var(--accent);color:#fff;text-decoration:none;display:inline-block}
.btn-link{background:none;border:none;color:var(--muted);cursor:pointer;text-decoration:underline;padding:.4rem .8rem;font-size:inherit}
.btn-link:hover{color:var(--fg)}
.btn-success{background:var(--success)!important;color:#fff!important}
.btn-danger{background:var(--danger)!important;color:#fff!important}
.btn-warning{background:var(--warning)!important;color:#000!important}
.btn-info{background:var(--info)!important;color:#fff!important}
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{border:1px solid #2a375e;padding:.5rem;color:var(--fg)}
.alert{background:#422; color:#fbb; padding:.5rem; border-radius:.5rem; margin:.5rem 0}
.footer{border-top:1px solid #1e2947;margin-top:2rem;padding:1rem 0;color:var(--muted)}

/* Admin Navigation */
.admin-nav{display:flex;gap:1rem;margin:1rem 0;flex-wrap:wrap}
.admin-nav a{background:var(--card);color:var(--fg);padding:.8rem 1.2rem;border-radius:.5rem;text-decoration:none;border:1px solid #1e2947;transition:all 0.2s}
.admin-nav a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}

/* Election Management */
.election-box{border:1px solid #2a375e;margin:1rem 0;padding:1rem;border-radius:5px;background:var(--card)}
.election-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.election-title{margin:0;color:var(--fg)}
.election-meta{margin:0.5rem 0 0 0;color:var(--muted)}
.election-actions{display:flex;gap:.5rem}
.post-section{margin:0.5rem 0;padding:0.5rem;background:#1a2332;border-radius:3px;border:1px solid #2a375e}
.post-title{font-weight:bold;color:var(--fg)}
.candidate-tag{display:inline-block;margin:0.2rem 0.5rem 0.2rem 0;padding:0.2rem 0.5rem;background:#2a4d69;color:#e6ecff;border-radius:2px;font-size:0.85em}

/* Form improvements */
form{background:var(--card);padding:1rem;border-radius:.5rem;margin:1rem 0;border:1px solid #1e2947}
form h3{margin-top:0;color:var(--fg)}
select{background:var(--card);color:var(--fg);border:1px solid #30406a}
select option{background:var(--card);color:var(--fg)}

/* Status indicators */
.status-live{color:var(--success);font-weight:bold}
.status-stopped{color:var(--muted);font-weight:bold}

/* Voting booth styles */
.voting-container{background:var(--card);padding:2rem;border-radius:.8rem;margin:1rem 0;border:1px solid #1e2947}
.voter-info{background:#1a2332;padding:1rem;border-radius:.5rem;margin:1rem 0;border-left:4px solid var(--success);color:var(--fg)}
.post-voting{background:#0e1628;padding:1rem;border-radius:.5rem;margin:1rem 0;border:1px solid #2a375e}
.candidate-option{background:var(--card);border:1px solid #2a375e;padding:.8rem;margin:.5rem 0;border-radius:.4rem;cursor:pointer;color:var(--fg);transition:all 0.2s}
.candidate-option:hover{border-color:var(--accent);background:#1a2332}
.candidate-option.selected{border-color:var(--success);background:#1a3328}
