*{box-sizing:border-box}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182230;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;background:#f5f7fb}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#eef3ff,#f5f7fb 55%)}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e4e8ef;border-radius:24px;padding:42px;box-shadow:0 24px 80px #141f381a;text-align:center}.badge{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#182230;color:#fff;font-weight:800;margin-bottom:18px}.login-card h1{margin:0 0 12px;font-size:30px}.muted,.security-note{color:#697586;line-height:1.6}.login-box{display:flex;justify-content:center;padding:24px 0 14px}.security-note{font-size:13px}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:30px 0 50px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{margin:0 0 7px;color:#5b67d8;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.topbar h1{margin:0;font-size:clamp(25px,4vw,34px)}.account{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:8px}.account img{width:38px;height:38px;border-radius:50%}.account div{display:grid}.account strong{font-size:13px}.account span{color:#7b8491;font-size:11px}.hero{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#182230;color:#fff;border-radius:24px;padding:36px;margin-bottom:18px}.hero h2{max-width:650px;margin:0 0 12px;font-size:clamp(28px,5vw,46px);line-height:1.05}.hero p:not(.eyebrow){max-width:680px;color:#cbd3df;line-height:1.6;margin:0}.stats{display:flex;gap:28px;flex-shrink:0}.stats div{display:grid;text-align:center}.stats strong{font-size:34px}.stats span{color:#aeb8c8;font-size:12px}.grid{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}.panel{background:#fff;border:1px solid #e4e8ef;border-radius:20px;padding:24px;box-shadow:0 10px 35px #141f380b}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-heading h3{margin:0 0 5px;font-size:18px}.panel-heading p{margin:0;color:#7b8491;font-size:12px;line-height:1.5}.candidate-form{display:grid;gap:14px}label{display:grid;gap:7px;color:#4d5969;font-size:12px;font-weight:700}input{width:100%;border:1px solid #dce1e9;border-radius:10px;padding:12px 13px;outline:none;color:#182230;background:#fbfcfe}input:focus{border-color:#6572df;box-shadow:0 0 0 3px #6572df1f}.primary,.secondary,.danger,.danger-outline{border-radius:10px;padding:10px 15px;font-weight:750;border:1px solid transparent}.primary{color:#fff;background:#5b67d8}.secondary{color:#344054;background:#eef1f5}.danger{color:#fff;background:#d84d5b}.danger-outline{width:100%;margin-top:12px;color:#c43f4e;background:#fff;border-color:#efb4ba}.small{padding:8px 11px;font-size:12px}.alert{padding:13px 15px;border-radius:12px;margin:0 0 18px;font-size:13px}.alert.success{color:#176b45;background:#eaf8f0;border:1px solid #bfe8d1}.alert.error{color:#9d2837;background:#fff0f2;border:1px solid #f2c3c9}.candidate-list{display:grid;gap:10px}.candidate{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid #e6e9ef;border-radius:15px}.candidate-main{display:flex;align-items:center;gap:13px;min-width:0}.avatar{width:45px;height:45px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#eef0ff;color:#4f5bd2;font-weight:800}.candidate h4{margin:0 0 5px;font-size:15px}.candidate p{margin:0 0 3px;color:#687385;font-size:12px}.phone{color:#9aa3b1;font-size:11px}.candidate-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.vote-count{display:grid;text-align:center;min-width:42px}.vote-count strong{font-size:22px}.vote-count span{color:#8a94a3;font-size:10px}.empty{padding:28px;text-align:center;color:#788292;border:1px dashed #d6dbe4;border-radius:14px}footer{display:flex;justify-content:space-between;color:#8a94a3;font-size:11px;padding:22px 3px}@media(max-width:850px){.grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.stats{width:100%;justify-content:flex-start}}@media(max-width:650px){.page{width:min(100% - 20px,1180px);padding-top:15px}.topbar,.account{align-items:flex-start}.topbar{flex-direction:column}.account{width:100%}.hero{padding:25px;border-radius:18px}.panel{padding:18px}.candidate{align-items:flex-start;flex-direction:column}.candidate-actions{width:100%;justify-content:space-between}footer{gap:10px;flex-direction:column}}
