:root{--bg:#f6f7fb;--card:#fff;--text:#182033;--muted:#667085;--primary:#1d4ed8;--primary2:#0f172a;--success:#15803d;--danger:#dc2626;--warning:#b45309;--border:#e5e7eb;--shadow:0 20px 50px rgba(15,23,42,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.voter-body{min-height:100vh;background:radial-gradient(circle at top left,#dbeafe 0,#f8fafc 42%,#eef2ff 100%)}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:rgba(255,255,255,.90);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar strong{display:block;font-size:18px}.topbar span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.small-link{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:white;color:var(--primary)}.page{max-width:1180px;margin:0 auto;padding:24px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;min-height:calc(100vh - 84px)}.hero-card,.card{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);padding:28px}.hero h1{font-size:42px;margin:0 0 10px;line-height:1.06}.hero p{color:var(--muted);font-size:16px;line-height:1.6}.form{display:grid;gap:14px}.label{font-size:13px;font-weight:700;color:#344054}.input,.select,textarea{width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;font-size:15px;outline:none}.input:focus,.select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:14px;border:0;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.2)}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#0f172a}.btn.success{background:var(--success)}.btn.danger{background:var(--danger)}.btn.warning{background:var(--warning)}.btn.ghost{background:#fff;color:#1d4ed8;border:1px solid #dbeafe;box-shadow:none}.btn.light{background:#f8fafc;color:#0f172a;border:1px solid var(--border);box-shadow:none}.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}.alert{padding:12px 14px;border-radius:14px;margin:12px 0;border:1px solid}.alert.success{background:#ecfdf3;color:#027a48;border-color:#abefc6}.alert.error{background:#fef3f2;color:#b42318;border-color:#fecdca}.alert.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.stat b{font-size:30px;display:block}.stat span{color:var(--muted);font-size:13px}.house-card{position:relative;overflow:hidden;border-radius:24px;padding:24px;border:2px solid transparent;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08);cursor:pointer;transition:.2s}.house-card:hover{transform:translateY(-3px)}.house-card input{position:absolute;opacity:0}.house-card .icon{font-size:42px}.house-card h3{margin:8px 0 4px}.house-card p{margin:0;color:var(--muted)}.house-card.selected{border-color:#111827;background:#f8fafc}.house-card.disabled{opacity:.55;filter:grayscale(.5);cursor:not-allowed}.house-sagar{--house:#2563eb}.house-vasundhara{--house:#16a34a}.house-srishti{--house:#f97316}.house-himgiri{--house:#7c3aed}.house-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--house,#64748b) 12%,white);color:var(--house,#64748b);font-weight:800;font-size:12px}.post-block{background:#fff;border:1px solid var(--border);border-radius:26px;margin:18px 0;overflow:hidden;box-shadow:0 16px 42px rgba(15,23,42,.07)}.post-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:white}.post-head h2{font-size:22px;margin:0}.post-head small{opacity:.82}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;padding:18px}.candidate-card{border:1px solid var(--border);border-radius:22px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 26px rgba(15,23,42,.05)}.candidate-photo{height:190px;width:100%;border-radius:18px;object-fit:cover;background:#f1f5f9}.candidate-name{font-size:18px;font-weight:900}.candidate-meta{font-size:13px;color:var(--muted);line-height:1.5}.candidate-details{font-size:13px;color:#344054;line-height:1.45;min-height:36px}.voted-ribbon{display:inline-flex;align-items:center;gap:6px;color:#027a48;background:#ecfdf3;border:1px solid #abefc6;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.progress{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:999px}.admin-body{background:#f8fafc}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:#0f172a;color:white;padding:20px;overflow:auto}.admin-sidebar .brand{display:grid;gap:4px;margin-bottom:20px}.admin-sidebar .brand b{font-size:17px}.admin-sidebar .brand span{color:#94a3b8;font-size:12px}.admin-sidebar nav{display:grid;gap:7px}.admin-sidebar nav a{padding:12px 14px;border-radius:14px;color:#cbd5e1;font-weight:700}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#1d4ed8;color:white}.admin-main{margin-left:245px;padding:24px;min-height:100vh}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.admin-head h1{margin:0;font-size:30px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:12px 0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 12px 30px rgba(15,23,42,.06)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:middle}th{background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.04em}td{font-size:14px}.thumb{width:54px;height:54px;object-fit:cover;border-radius:12px;background:#eef2f7}.actions{display:flex;gap:6px;flex-wrap:wrap}.modal-card{max-width:1000px}.pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:12px}.pill.green{background:#ecfdf3;color:#027a48}.pill.red{background:#fef3f2;color:#b42318}.pill.gray{background:#f2f4f7;color:#475467}.result-row{display:grid;grid-template-columns:64px 1fr 120px;gap:12px;align-items:center;border-bottom:1px solid #eef2f7;padding:12px}.result-row:last-child{border-bottom:0}.print-only{display:none}@media(max-width:900px){.hero,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.admin-sidebar{position:relative;width:auto}.admin-main{margin-left:0}.admin-head{align-items:flex-start;flex-direction:column}.candidate-grid{grid-template-columns:1fr}.hero h1{font-size:32px}}@media print{.admin-sidebar,.admin-head .btn,.toolbar,.no-print{display:none!important}.admin-main{margin:0;padding:0}.card,.table-wrap,.post-block{box-shadow:none}.print-only{display:block}}
