:root{--brand:#2563eb;--navy:#0c214d;--text:#17233c;--muted:#68758a;--line:#e5eaf2;--bg:#f4f7fc;--white:#fff;--green:#059669;--red:#dc2626}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #d6deeb;border-radius:9px;background:white;color:var(--text)}input:focus,select:focus{outline:2px solid #a5c6ff;border-color:var(--brand)}label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#516079}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.7px}h2{font-size:20px}h3{font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{letter-spacing:2px;text-transform:uppercase;font-weight:800;font-size:11px;color:var(--brand)}.btn{border:0;padding:11px 17px;border-radius:9px;background:var(--brand);color:white;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(.93)}.btn.soft{background:#e9f0ff;color:#2454aa}.btn.light{background:white;color:var(--text);border:1px solid #dce3ee}.btn.danger{background:#fff0f0;color:var(--red)}.btn.green{background:var(--green)}.btn:disabled{opacity:.45;cursor:not-allowed}.stack{display:grid;gap:15px}.grid{display:grid;gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:white;border:1px solid #e4eaf3;border-radius:16px;padding:22px;box-shadow:0 4px 16px #10244706}.card.slim{padding:16px}.card h3{margin-bottom:5px}.field{margin-bottom:14px}.flex{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.notice{background:#f0f7ff;border:1px solid #cfddf7;border-radius:10px;padding:13px;color:#2c527a}.warning{background:#fff8e5;color:#805900;border:1px solid #f7df9b}.pill{display:inline-block;border-radius:40px;padding:4px 10px;background:#eef4ff;color:#205bc3;font-size:11px;font-weight:800}.pill.green{background:#e6f9f0;color:#047857}.pill.gray{background:#f1f3f7;color:#607087}.pill.red{background:#fee9e9;color:#b91c1c}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-info{background:linear-gradient(140deg,#0b1f4e,#164a95 75%,#2582ba);color:white;padding:clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-info:after{content:'✦';position:absolute;font-size:450px;opacity:.04;right:-60px;top:-190px}.auth-info h1{font-size:clamp(32px,3.5vw,52px);line-height:1.12;max-width:530px}.auth-info p{font-size:16px;color:#bed1ee;max-width:530px}.logo-top{font-weight:900;letter-spacing:1px;font-size:20px;margin-bottom:75px}.auth-formarea{display:flex;align-items:center;justify-content:center;padding:36px;background:#f7f9fd}.login-card{background:white;padding:38px;border:1px solid #ebeff7;border-radius:21px;width:min(100%,450px);box-shadow:0 16px 55px #18325b0b}.login-card h2{font-size:27px}.login-tabs{display:flex;background:#eef3fb;border-radius:10px;padding:5px;margin:22px 0}.login-tabs button{flex:1;border:0;border-radius:8px;padding:11px;background:none;color:#687b93;font-weight:750}.login-tabs button.active{background:white;color:#184a9c;box-shadow:0 3px 10px #11295611}.layout{display:grid;grid-template-columns:253px 1fr;min-height:100vh}.sidebar{background:#0d2149;color:#aebbd2;padding:27px 15px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar-brand{color:white;font-size:20px;line-height:1.1;font-weight:900;padding:10px 14px 32px}.sidebar-brand span{font-size:11px;font-weight:600;display:block;margin-top:7px;letter-spacing:1.3px;color:#75b7ff}.nav-caption{font-size:10px;letter-spacing:2px;margin:23px 15px 9px;color:#6e86ab;font-weight:900}.nav-btn{display:block;width:100%;text-align:left;border:0;background:transparent;color:#b4c2db;border-radius:9px;padding:12px 14px;margin:2px 0;font-weight:650}.nav-btn.active,.nav-btn:hover{background:#1d3c76;color:white}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:17px 32px;display:flex;align-items:center;justify-content:space-between}.topbar .title{font-weight:800;font-size:15px}.content{padding:32px;max-width:1480px;margin:auto}.hero{background:linear-gradient(115deg,#113775,#2466ae);padding:25px 30px;border-radius:17px;color:white;margin-bottom:21px;display:flex;justify-content:space-between;align-items:center}.hero h1{margin:0 0 4px}.hero p{color:#cde3ff;margin:0}.stat-number{font-size:32px;font-weight:900;letter-spacing:-1px;margin:7px 0}.stat-head{font-size:12px;color:#637289;font-weight:700}.stat-icon{font-size:24px;background:#f1f5fd;border-radius:12px;padding:10px}.stat{display:flex;align-items:center;justify-content:space-between}.table-wrap{overflow:auto;margin-top:14px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th,td{padding:12px 13px;border-bottom:1px solid #eaf0f7}th{background:#f7f9fc;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#64748b}tr:hover td{background:#fafdff}td .btn{padding:7px 10px;font-size:12px}td img{width:34px;height:34px;object-fit:cover;border-radius:7px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar input{max-width:340px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.step{padding:12px;border:1px solid #e6ebf3;border-radius:11px;display:flex;gap:10px;align-items:center}.step b{display:inline-grid;place-items:center;background:#e8f1ff;color:#2162bc;width:29px;height:29px;flex:none;border-radius:9px}.progress{background:#e9eff7;border-radius:20px;height:12px;overflow:hidden}.progress>div{height:100%;background:var(--green);transition:width .25s}.bar{height:12px;border-radius:10px;background:#eaf0f7;overflow:hidden}.bar>div{height:100%;background:var(--brand)}.modal-overlay{position:fixed;inset:0;background:#07152eb0;z-index:20;display:grid;place-items:center;padding:18px}.modal{width:min(100%,650px);max-height:90vh;overflow:auto;background:white;padding:25px;border-radius:17px;box-shadow:0 20px 80px #0004}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal header h2{margin:0}.vote-shell{max-width:1080px;margin:auto;padding:40px 22px}.vote-hero{text-align:center;padding:30px}.vote-hero h1{font-size:36px;color:var(--navy)}.vote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.candidate-card{border:2px solid #e0e7f1;border-radius:15px;padding:18px;background:white;cursor:pointer;text-align:center;transition:.2s}.candidate-card:hover,.candidate-card.chosen{border-color:var(--brand);background:#f2f7ff}.candidate-card img{width:75px;height:75px;object-fit:cover;border-radius:12px}.candidate-avatar{width:75px;height:75px;border-radius:12px;background:#e5edff;display:grid;place-items:center;font-size:35px;margin:auto}.print-only{display:none}.logo-preview{max-width:100px;max-height:100px;object-fit:contain}.initial{padding:15vh;text-align:center;font-size:22px}.page-foot{padding:20px 32px;color:#90a0b6;font-size:12px}#toast{position:fixed;bottom:20px;right:20px;z-index:100}#toast>div{margin-top:6px;padding:13px 17px;border-radius:11px;background:#103767;color:white;box-shadow:0 10px 30px #0002;max-width:360px}.empty{padding:32px;text-align:center;color:#8693a6}.line{height:1px;background:var(--line);margin:18px 0}.preview-banner{border-radius:14px;background:var(--brand);padding:30px;color:white;text-align:center}.preview-banner h2{margin:8px 0 0}.secondary{color:#68758a;font-size:13px}.print-header{display:none}@media(max-width:900px){.layout{grid-template-columns:70px 1fr}.sidebar{padding:20px 7px}.sidebar-brand{font-size:13px;padding:15px 4px}.sidebar-brand span,.nav-caption{display:none}.nav-btn{font-size:0;text-align:center;padding:15px 0}.nav-btn i{font-size:20px;font-style:normal}.content{padding:18px}.grid.four,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-screen{grid-template-columns:1fr}.auth-info{display:none}}@media(max-width:580px){.grid.two,.grid.three,.grid.four,.steps{grid-template-columns:1fr}.hero{display:block}.topbar{padding:14px}.content{padding:12px}.card{padding:16px}.stat-number{font-size:28px}.toolbar input{max-width:100%}.login-card{padding:22px}}@media print{body{background:white;color:black}.sidebar,.topbar,.page-foot,.no-print,.btn,.modal-overlay{display:none!important}.layout{display:block}.content{padding:0}.card{box-shadow:none;border:0}.print-header{display:block}.print-only{display:block}.hero{background:white;color:black;border-bottom:2px solid #111}.hero p{color:black}.table-wrap{overflow:visible}table{white-space:normal}th,td{font-size:10px;padding:5px}.pagebreak{break-after:page}}
