:root{--green:#0f7a3b;--dark:#082414;--gold:#f4c430;--soft:#f7fff9;--glass:rgba(255,255,255,.86)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#e9fff1,#f7fafc 40%,#f5f7fb);color:#132018}.hero{background:linear-gradient(135deg,#073d20,#0f7a3b 55%,#22a55b);color:white;padding:34px 20px;border-radius:0 0 34px 34px;box-shadow:0 20px 40px rgba(0,0,0,.18)}.wrap{max-width:1180px;margin:auto}.nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{font-weight:900;font-size:23px}.nav a{color:white;text-decoration:none;background:rgba(255,255,255,.14);padding:10px 16px;border-radius:14px;box-shadow:inset 0 1px rgba(255,255,255,.35)}.title{font-size:42px;font-weight:900;margin:12px 0 6px}.subtitle{opacity:.92;font-size:17px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:-34px}.card{background:var(--glass);border:1px solid rgba(15,122,59,.12);border-radius:24px;padding:22px;box-shadow:0 18px 35px rgba(8,36,20,.12);backdrop-filter:blur(10px)}.stat{font-size:32px;font-weight:900;color:var(--green)}.label{color:#64706a;font-weight:700}.btn,.button{border:0;text-decoration:none;display:inline-block;padding:12px 18px;border-radius:15px;background:linear-gradient(180deg,#20b85d,#0f7a3b);color:white;font-weight:800;box-shadow:0 8px 0 #075329,0 16px 28px rgba(15,122,59,.28);transform:translateY(0);cursor:pointer}.btn:hover,.button:hover{transform:translateY(-2px)}.btn.gold{background:linear-gradient(180deg,#ffe27a,#f4c430);color:#17200d;box-shadow:0 8px 0 #b88b00,0 16px 28px rgba(244,196,48,.32)}.section{padding:28px 20px}.two{grid-template-columns:1.2fr .8fr}.table{width:100%;border-collapse:collapse;background:white;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.08)}.table th{background:#0f7a3b;color:white;text-align:left;padding:13px}.table td{padding:13px;border-bottom:1px solid #e8eee9}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e8fff0;color:#0f7a3b;font-weight:800}.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:#071d11;color:white;padding:20px;box-shadow:12px 0 30px rgba(0,0,0,.16)}.side a{display:block;color:white;text-decoration:none;padding:12px 14px;border-radius:14px;margin:5px 0;background:rgba(255,255,255,.07)}.side a:hover{background:rgba(255,255,255,.16)}.main{padding:24px}.form{display:grid;gap:12px}.input,select,textarea{width:100%;padding:12px 14px;border:1px solid #d8e5dc;border-radius:14px;background:white;font:inherit}textarea{min-height:100px}.login{max-width:430px;margin:7vh auto}.notice{padding:14px 16px;border-radius:16px;background:#fff7d6;border:1px solid #f4c430}.danger{background:#fee2e2;color:#991b1b}.success{background:#dcfce7;color:#166534}.photo{width:48px;height:48px;border-radius:14px;object-fit:cover;background:#e5e7eb}@media(max-width:850px){.admin-shell{grid-template-columns:1fr}.side{position:relative}.two{grid-template-columns:1fr}.title{font-size:32px}.cards{margin-top:20px}.table{display:block;overflow:auto}}
.cardlink{color:inherit;text-decoration:none;transition:.18s}.cardlink:hover{transform:translateY(-4px);box-shadow:0 24px 45px rgba(8,36,20,.18)}.candidate-head,.profile{display:flex;gap:16px;align-items:center}.avatar{width:78px;height:78px;border-radius:22px;object-fit:cover;background:#e5e7eb}.profile-photo{width:180px;height:180px;border-radius:34px;object-fit:cover;background:#e5e7eb;box-shadow:0 16px 32px rgba(0,0,0,.15)}.symbol{width:90px;height:90px;object-fit:contain;border-radius:18px;background:white;border:1px solid #e5e7eb}.goldpill{background:#fff7d6;color:#8a6500}.mapgrid{min-height:520px;border-radius:34px;background:linear-gradient(135deg,#dff8e8,#fef9c3);padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;box-shadow:inset 0 0 60px rgba(15,122,59,.16)}.mapmarker{text-decoration:none;color:#132018;background:white;border:2px solid #0f7a3b;border-radius:24px;padding:18px;box-shadow:0 10px 0 #c7d2ce,0 18px 28px rgba(0,0,0,.12);display:grid;gap:6px}.mapmarker b{font-size:22px;color:#0f7a3b}.mapmarker span{font-weight:800}.mapmarker em{font-style:normal}.tv{background:#06120b;color:white;min-height:100vh}.tvbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:linear-gradient(90deg,#0f7a3b,#071d11);font-size:24px;font-weight:900;letter-spacing:.5px}.tvgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:22px}.tv .card{background:#0b2415;border-color:#17492b;color:white}.tv .label{color:#cbd5e1}.bigstat{font-size:84px;font-weight:1000;color:#f4c430}.wide{grid-column:1/-1}.tickergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.ticker{background:#102f1d;border-radius:18px;padding:16px;display:grid;gap:4px;border-left:8px solid #f4c430}.ticker b{font-size:25px;color:#f4c430}.ticker span{font-size:20px;font-weight:800}.ticker em{font-style:normal;color:#cbd5e1}@media(max-width:900px){.tvgrid{grid-template-columns:1fr}.profile{display:block}.profile-photo{width:130px;height:130px}.nav{display:block}.nav a{display:inline-block;margin:4px}.tvbar{font-size:16px}.bigstat{font-size:54px}}

.version-footer{margin:28px auto 0;padding:14px 18px;text-align:center;color:#e7f8ee;background:linear-gradient(135deg,#063b21,#0f7a3b);border-top:1px solid rgba(255,255,255,.25);font-size:13px;letter-spacing:.2px;box-shadow:0 -8px 18px rgba(0,0,0,.12)}
.admin-version{margin-top:36px;border-radius:16px;background:linear-gradient(135deg,#064e3b,#14532d)}
.login-help{max-width:520px;margin:14px auto;padding:12px 16px;border-radius:16px;background:#fff8db;border:1px solid #f2d36b;color:#3b3000;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.08)}
/* v0.2.2 lighter election theme */
:root{--green:#0e9f6e;--dark:#064e3b;--gold:#f59e0b;--sky:#38bdf8;--rose:#fb7185;--indigo:#6366f1;--soft:#f8fafc;--glass:rgba(255,255,255,.9)}
body{background:radial-gradient(circle at 8% 0%,#dcfce7,transparent 28%),radial-gradient(circle at 92% 12%,#e0f2fe,transparent 30%),linear-gradient(180deg,#ffffff,#f8fafc 42%,#eefdf5);color:#10231a}.hero{background:linear-gradient(135deg,#ecfdf5 0%,#ffffff 33%,#e0f2fe 100%);color:#0f172a;border-bottom:1px solid #dbeafe}.hero:before{content:"";display:block;height:7px;background:linear-gradient(90deg,#10b981,#f59e0b,#38bdf8,#6366f1,#fb7185);margin:-34px -20px 26px}.brand-badge{background:linear-gradient(135deg,#10b981,#f59e0b);color:white;border-radius:12px;padding:7px 10px;box-shadow:0 5px 0 rgba(0,0,0,.12)}.nav a{color:#064e3b;background:white;border:1px solid #d1fae5;box-shadow:0 5px 0 #bbf7d0}.title{background:linear-gradient(90deg,#064e3b,#0ea5e9,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.card:nth-child(4n+1){border-top:5px solid #10b981}.card:nth-child(4n+2){border-top:5px solid #f59e0b}.card:nth-child(4n+3){border-top:5px solid #38bdf8}.card:nth-child(4n+4){border-top:5px solid #6366f1}.stat{color:#0f766e}.table th{background:linear-gradient(90deg,#0f766e,#0ea5e9)}.btn,.button{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 7px 0 #047857,0 14px 26px rgba(16,185,129,.22)}.side{background:linear-gradient(180deg,#052e2b,#083344 60%,#111827)}.side a small{display:block;color:#bae6fd;font-size:11px;margin-top:3px}.admin-help{font-size:13px;line-height:1.45;padding:12px;border-radius:14px;background:rgba(255,255,255,.09);margin:12px 0 16px}.admin-form-card{overflow:visible}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.form label{font-weight:800;color:#334155;font-size:13px}.form label .input,.form label select,.form label textarea{margin-top:6px}.candidate-head{background:linear-gradient(135deg,#fff,#ecfdf5);padding:12px;border-radius:22px}.pill{background:#ecfeff;color:#0e7490}.goldpill{background:#fef3c7;color:#92400e}.mapmarker{border-color:#38bdf8;background:linear-gradient(135deg,#ffffff,#f0f9ff)}.version-footer{background:linear-gradient(90deg,#064e3b,#0ea5e9,#7c3aed)}
@media(max-width:850px){.form-grid{grid-template-columns:1fr}.main{padding:16px}.side a small{display:inline;margin-left:4px}}
/* v0.3 party media, user profiles and TV progress */
.party-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:2px solid #0f7a3b;border-radius:999px;background:#fff;font-size:13px;box-shadow:0 4px 10px rgba(15,23,42,.08)}
.party-badge img{width:28px;height:28px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid #e2e8f0}.party-top{display:flex;gap:14px;align-items:center}.party-logo{width:74px;height:74px;border-radius:20px;object-fit:contain;background:#fff;border:1px solid #e2e8f0}.party-flag{width:74px;height:48px;border-radius:12px;object-fit:cover;background:#fff;border:1px solid #e2e8f0}.party-card{border-top-color:var(--party,#0f7a3b)!important}.hint{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;padding:12px;border-radius:14px}.progressbar{height:34px;background:#1e293b;border-radius:999px;overflow:hidden;box-shadow:inset 0 3px 8px rgba(0,0,0,.35)}.progressbar span{display:block;height:100%;background:linear-gradient(90deg,#f4c430,#22c55e);border-radius:999px}.tv canvas{max-height:340px}.candidate-card{position:relative;overflow:hidden}.candidate-card:after{content:"";position:absolute;inset:auto -30px -40px auto;width:130px;height:130px;border-radius:999px;background:radial-gradient(circle,#e0f2fe,transparent 70%);z-index:0}.candidate-card>*{position:relative;z-index:1}

/* v0.3.2 professional responsive dashboard refresh */
body{font-size:15px;line-height:1.55}.wrap{width:min(1180px,calc(100% - 32px))}.hero{padding:24px 16px;border-radius:0 0 26px 26px}.nav{gap:16px}.nav>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.nav a{padding:8px 12px;border-radius:10px}.title{font-size:clamp(28px,4vw,46px);line-height:1.1}.section{padding:22px 0}.card{border-radius:18px;padding:18px;min-width:0}.cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:18px}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.table-wrap,.card{overflow-x:auto}.table{min-width:720px}.table th,.table td{vertical-align:middle}.admin-shell{grid-template-columns:260px minmax(0,1fr);background:#f3f6fb}.side{position:sticky;top:0;height:100vh;overflow:auto;padding:18px;background:#111827}.admin-brand{font-size:22px;font-weight:900;margin-bottom:14px;background:linear-gradient(90deg,#34d399,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent}.admin-user{padding:12px;border-radius:14px;background:rgba(255,255,255,.06)}.side nav{display:grid;gap:6px}.side a{margin:0;padding:11px 12px;border-radius:11px;background:transparent}.side a:hover{background:rgba(255,255,255,.09)}.main{padding:22px;min-width:0}.main h1{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.compact-form textarea{min-height:74px}.checks{display:flex;flex-wrap:wrap;gap:12px}.checks label{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px}.input,select,textarea{min-height:42px;border-radius:11px;max-width:100%}.party-badge{border:1px solid color-mix(in srgb,var(--party-accent) 45%,#e5e7eb);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--party-accent) 9%,#fff));white-space:nowrap}.party-badge img{width:30px;height:30px}.party-badge span{font-weight:800;color:#0f172a}.candidate-head{align-items:flex-start}.avatar{width:70px;height:70px;flex:0 0 auto}.profile{align-items:flex-start}.tvgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv .table{min-width:0}.tv .card{overflow:hidden}.tv .party-badge{background:#fff}.version-footer{clear:both}.hint,.admin-help,.login-help{display:none!important}
@media(max-width:900px){.admin-shell{display:block}.side{position:relative;height:auto}.side nav{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.main{padding:14px}.two,.tvgrid{grid-template-columns:1fr}.table{min-width:680px}.profile{display:grid;gap:14px}.profile-photo{width:120px;height:120px}.btn,.button{padding:10px 13px;box-shadow:0 4px 0 #047857,0 10px 18px rgba(16,185,129,.18)}}
@media(max-width:560px){.wrap{width:min(100% - 20px,1180px)}.hero{padding:18px 10px}.nav{display:block}.brand{margin-bottom:10px}.nav>div:last-child{justify-content:flex-start}.nav a{font-size:13px;padding:7px 9px}.cards{grid-template-columns:1fr}.card{padding:14px}.form-grid{grid-template-columns:1fr}.side nav{grid-template-columns:1fr 1fr}.title{font-size:27px}.stat{font-size:27px}.bigstat{font-size:44px}}
/* v0.3.3 upload/forms fixes */
.notice{padding:12px 14px;border-radius:14px;margin:0 0 16px 0;border:1px solid #dbe4ef;background:#f8fafc;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.notice.success{background:#ecfdf5;border-color:#86efac;color:#065f46}.notice.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.notice.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.form-grid,.grid.two,.grid.cards{align-items:start}.form label{display:flex;flex-direction:column;gap:7px;min-width:0}.input,select,textarea{max-width:100%;box-sizing:border-box}textarea{min-height:96px}.photo,.avatar,.symbol,.party-badge img{object-fit:contain;background:#fff}.party-badge img{width:28px;height:28px;border-radius:8px;border:1px solid rgba(15,23,42,.12)}
@media(max-width:860px){.admin-shell{display:block}.side{position:relative;width:auto;min-height:auto}.side nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.main{padding:14px}.form-grid,.grid.two,.grid.cards{grid-template-columns:1fr!important}.table{min-width:720px}.table-wrap,.card{overflow-x:auto}}

/* v0.3.4 reporting, image fallback and sortable tables */
.table-wrap{width:100%;overflow-x:auto}.compact-table th,.compact-table td{padding:9px 10px;font-size:13px}.constituency-report-card{background:#fff;border:1px solid #dbeafe;border-left:7px solid #0ea5e9;border-radius:18px;padding:14px;margin:0 0 16px;box-shadow:0 12px 26px rgba(15,23,42,.08)}.report-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.report-head h2{margin:0;font-size:20px}.sortable th{cursor:pointer;user-select:none;white-space:nowrap}.sortable th:after{content:" ↕";opacity:.45;font-size:11px}.photo-preview{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.image-guide{background:#eef6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:10px 12px;font-size:13px}.media-missing{display:inline-flex;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b;font-size:11px;border:1px dashed #cbd5e1}@media(max-width:700px){.report-head{display:block}.compact-table{min-width:760px}.side nav{grid-template-columns:1fr}.photo{width:40px;height:40px}}


/* v0.3.5 typography, system tools and production polish */
:root{--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--panel:#ffffff;--panel-soft:#f8fafc}
html{font-family:var(--font-ui)}body,input,select,textarea,button{font-family:var(--font-ui)}
body{font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.01em;color:var(--ink)}
h1,h2,h3,.title,.brand,.admin-brand{letter-spacing:-.035em}h1{font-size:clamp(25px,3vw,38px);line-height:1.12}h2{font-size:clamp(18px,2vw,25px);line-height:1.2}.muted{color:var(--muted)}
.card{background:linear-gradient(180deg,#fff,#fbfdff);border-color:var(--line)}.system-card{max-width:980px;overflow:auto}.system-card code{background:#f1f5f9;padding:3px 6px;border-radius:7px;color:#0f172a}.system-card ol{line-height:1.9}
.side{box-shadow:12px 0 34px rgba(15,23,42,.13)}.side a{font-weight:700}.main{background:radial-gradient(circle at 90% 0%,#e0f2fe 0,transparent 28%),#f5f7fb;min-height:100vh}
.table th{font-weight:800;letter-spacing:-.015em}.table td{font-weight:500}.compact-table th,.compact-table td{font-size:13px}.input,select,textarea{font-size:14px;background:#fff;border:1px solid #cbd5e1}.input:focus,select:focus,textarea:focus{outline:3px solid rgba(56,189,248,.22);border-color:#38bdf8}
.btn,.button,button{font-weight:800;letter-spacing:-.01em}.notice{font-weight:700}.version-footer{font-family:var(--font-ui);font-weight:700}
@media(max-width:760px){body{font-size:14px}.table{min-width:640px}.main{padding:12px}.side nav{grid-template-columns:1fr}.card{border-radius:16px}.title{font-size:27px}}


/* v0.3.6 public ticker, candidate photos in tables and dashboard KPI polish */
.public-news-ticker{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#0f172a,#064e3b);color:#fff;padding:9px 16px;font-weight:800;border-bottom:3px solid #f59e0b}
.public-news-ticker strong{background:#ef4444;color:#fff;border-radius:999px;padding:5px 10px;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.public-news-ticker marquee{flex:1}.candidate-mini{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:inherit}.candidate-mini img{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#f1f5f9;border:1px solid #e2e8f0}.tv-top-ticker{display:flex;gap:14px;align-items:center;background:#f8e71c;color:#071d11;padding:12px 22px;font-size:22px;font-weight:1000;box-shadow:0 8px 24px rgba(0,0,0,.22)}.tv-top-ticker strong{background:#ef4444;color:white;padding:5px 12px;border-radius:999px}.big-admin-stat{font-size:30px;font-weight:900;color:#0f766e;margin:8px 0 10px}.admin-dashboard-grid{align-items:stretch}
@media(max-width:760px){.public-news-ticker{font-size:13px;padding:7px 10px}.candidate-mini img{width:34px;height:34px}.tv-top-ticker{font-size:15px;padding:9px 12px}.table .candidate-mini{min-width:150px}}

.admin-tool-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.tool-card{text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}.tool-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.12)}.tool-card.highlight{border:1px solid rgba(16,185,129,.35);background:linear-gradient(135deg,#ecfdf5,#ffffff)}.warning-card{border-left:5px solid #f59e0b}.one-col{grid-template-columns:1fr!important}code{background:#f1f5f9;border-radius:6px;padding:2px 6px}


/* v0.3.8 permissions, profile/sidebar and chart sizing fixes */
.admin-user-card{display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.07);margin-bottom:14px;color:#fff}
.admin-user-card img,.admin-avatar-fallback{width:44px;height:44px;border-radius:14px;object-fit:cover;background:#e2e8f0;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-weight:900;color:#0f172a}.admin-user-card strong{display:block;line-height:1.1}.admin-user-card small{color:#cbd5e1}.side{display:flex;flex-direction:column}.side nav{flex:1}.side-version{font-size:12px;color:#cbd5e1;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:14px;text-align:left;font-weight:800}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-card{min-height:260px;overflow:hidden}.chart-card canvas{max-height:210px!important}.admin-dashboard-grid canvas{width:100%!important}.tvgrid canvas,.tv canvas{max-height:260px!important}.tv .chart-card canvas{max-height:230px!important}.table input[type=checkbox]{width:18px;height:18px}.pill.danger{background:#fee2e2;color:#991b1b}.notice.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}
@media(max-width:1100px){.three{grid-template-columns:1fr 1fr}.chart-card canvas{max-height:190px!important}}
@media(max-width:760px){.three{grid-template-columns:1fr}.chart-card{min-height:auto}.chart-card canvas{max-height:210px!important}.admin-user-card{margin-top:6px}.side-version{padding-bottom:10px}}

/* v0.3.9 detailed constituency boundary view */
.boundary-search-card{margin-bottom:18px}.boundary-group{margin:24px 0}.boundary-group h2{font-size:1.2rem;margin:0 0 12px;color:#0f5132}.boundary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.boundary-card{display:flex;gap:12px;background:#fff;border:1px solid rgba(15,81,50,.14);border-radius:18px;padding:15px;box-shadow:0 10px 25px rgba(31,41,55,.07)}.boundary-number{min-width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#f5c542);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center}.boundary-body h3{margin:0 0 8px;font-size:1rem}.boundary-body p{margin:0;color:#475569;line-height:1.55;font-size:.92rem}.compact-table td{vertical-align:top}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}.kpi{background:#fff;border:1px solid rgba(15,81,50,.12);border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(31,41,55,.06)}.kpi span{display:block;color:#64748b;font-size:.82rem}.kpi strong{font-size:1.8rem;color:#0f5132}
@media(max-width:640px){.boundary-grid{grid-template-columns:1fr}.boundary-card{padding:12px}.boundary-number{min-width:38px;height:38px}.boundary-body p{font-size:.88rem}}


/* v0.3.10 collapsible Settings menu and 3D system buttons */
.admin-nav .settings-menu{margin:8px 0;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);overflow:hidden}
.admin-nav .settings-menu summary{cursor:pointer;list-style:none;padding:13px 14px;font-weight:900;color:#fff;background:linear-gradient(135deg,rgba(16,185,129,.34),rgba(14,165,233,.22));border-radius:16px;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.admin-nav .settings-menu summary::-webkit-details-marker{display:none}.admin-nav .settings-menu summary:after{content:'▾';float:right;transition:.2s}.admin-nav .settings-menu:not([open]) summary:after{transform:rotate(-90deg)}
.admin-nav .settings-links{padding:8px}.admin-nav .settings-links a{margin:6px 0;background:rgba(255,255,255,.10);border-left:4px solid #f59e0b;padding-left:12px}
.system-3d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:18px}.sys3d{position:relative;display:grid;gap:7px;text-decoration:none;color:#0f172a;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:22px;padding:20px 18px;min-height:145px;border:1px solid rgba(15,23,42,.08);box-shadow:0 9px 0 #cbd5e1,0 18px 32px rgba(15,23,42,.14);transition:.16s transform,.16s box-shadow;overflow:hidden}.sys3d:hover{transform:translateY(-4px);box-shadow:0 13px 0 #cbd5e1,0 24px 42px rgba(15,23,42,.18)}.sys3d:active{transform:translateY(4px);box-shadow:0 4px 0 #cbd5e1,0 10px 18px rgba(15,23,42,.12)}.sys3d span{font-size:30px}.sys3d b{font-size:18px}.sys3d small{color:#475569;font-weight:700;line-height:1.35}.sys3d:before{content:'';position:absolute;inset:0 0 auto 0;height:7px;background:#10b981}.sys-media:before{background:#10b981}.sys-path:before{background:#0ea5e9}.sys-config:before{background:#8b5cf6}.sys-db:before{background:#f59e0b}.sys-env:before{background:#ef4444}.sys-upgrade:before{background:#14b8a6}.sys-one{background:linear-gradient(135deg,#ecfdf5,#fff7ed)}.sys-one:before{background:linear-gradient(90deg,#10b981,#f59e0b)}
@media(max-width:760px){.system-3d-grid{grid-template-columns:1fr}.admin-nav .settings-links{display:grid;grid-template-columns:1fr;gap:0}.admin-nav .settings-menu summary{font-size:14px}}


/* v0.3.11 public menu grouping and coordinate map */
.public-menu{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.public-dd{position:relative}.public-dd summary{list-style:none;cursor:pointer;color:#064e3b;background:white;border:1px solid #d1fae5;box-shadow:0 5px 0 #bbf7d0;padding:8px 12px;border-radius:10px;font-weight:800}.public-dd summary::-webkit-details-marker{display:none}.public-dd summary:after{content:' ▾';font-size:12px}.public-dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:white;border:1px solid #dbeafe;border-radius:16px;box-shadow:0 18px 42px rgba(15,23,42,.16);padding:8px;z-index:50}.public-dd-menu a{display:block;margin:4px;color:#064e3b!important;background:#f8fafc!important;box-shadow:none!important;border:1px solid #e2e8f0}.results-dd{order:99}.coordinate-map-card{overflow:visible}.map-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.coordinate-map{position:relative;min-height:620px;border-radius:30px;background:radial-gradient(circle at 35% 25%,rgba(16,185,129,.26),transparent 21%),radial-gradient(circle at 67% 55%,rgba(14,165,233,.2),transparent 23%),linear-gradient(135deg,#e0f2fe,#ecfdf5 55%,#fff7ed);border:1px solid #bfdbfe;overflow:hidden;box-shadow:inset 0 0 80px rgba(15,118,110,.12)}.map-shape{position:absolute;inset:8% 18% 10% 25%;border-radius:55% 38% 50% 44%;background:linear-gradient(135deg,rgba(15,118,110,.12),rgba(245,158,11,.10));border:2px dashed rgba(15,118,110,.35);transform:rotate(-12deg)}.coord-marker{position:absolute;transform:translate(-50%,-50%);z-index:5;display:grid;gap:2px;width:min(168px,28vw);text-decoration:none;color:#0f172a;background:#fff;border:2px solid var(--c);border-radius:16px;padding:8px 10px;box-shadow:0 7px 0 color-mix(in srgb,var(--c) 45%,#cbd5e1),0 16px 26px rgba(15,23,42,.16);transition:.16s transform,.16s z-index}.coord-marker:hover{transform:translate(-50%,-56%);z-index:20}.coord-marker b{color:var(--c);font-weight:1000}.coord-marker span{font-size:12px;font-weight:900;line-height:1.1}.coord-marker small{font-size:10px;color:#475569;line-height:1.2}.map-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:16px}.map-list-row{text-decoration:none;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;display:grid;gap:2px}.map-list-row b{color:#0f766e}.map-list-row em{font-style:normal;color:#475569}.map-list-row small{color:#64748b}@media(max-width:900px){.public-menu{justify-content:flex-start}.public-dd{position:static}.public-dd-menu{position:static;margin-top:6px}.coordinate-map{min-height:540px}.coord-marker{width:132px;padding:6px}.coord-marker span{display:none}.coord-marker small{display:none}}@media(max-width:560px){.coordinate-map{min-height:440px}.coord-marker{width:auto;min-width:54px;border-radius:999px}.coord-marker b{font-size:11px}.public-menu a,.public-dd summary{font-size:13px;padding:7px 9px}}


/* v0.3.12 SVG constituency map mapping */
.svg-map-admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:start}.svg-map-wrap{background:#fff;border:1px solid #dbeafe;border-radius:22px;overflow:auto;max-height:78vh;box-shadow:inset 0 0 30px rgba(15,23,42,.08);position:relative}.svg-map-wrap svg{display:block;width:100%;height:auto;min-width:720px}.svg-selectable{cursor:pointer;transition:fill .14s,stroke .14s,opacity .14s}.svg-selectable:hover{stroke:#ef4444!important;stroke-width:3px!important;opacity:.88}.svg-mapped{fill:#bbf7d0!important;stroke:#059669!important;stroke-width:2px!important}.svg-selected{fill:#fde68a!important;stroke:#dc2626!important;stroke-width:4px!important}.svg-public-mapped{cursor:pointer;fill:var(--map-fill)!important;stroke:#ffffff!important;stroke-width:1.8px!important;transition:opacity .15s,filter .15s}.map-note-card{border-left:6px solid #f4c430;background:linear-gradient(135deg,#ffffff,#f7fee7)}.svg-public-mapped:hover{opacity:.82;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}.svg-public-unmapped{opacity:.42}.svg-tooltip{position:absolute;z-index:9999;background:#0f172a;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 14px 32px rgba(15,23,42,.28);font-size:13px;max-width:260px;pointer-events:none}.svg-tooltip b{color:#facc15}.small-list{line-height:1.8;color:#475569}.btn.danger{background:linear-gradient(180deg,#fb7185,#dc2626);box-shadow:0 7px 0 #991b1b,0 14px 26px rgba(220,38,38,.22)}.table-wrap{overflow:auto}@media(max-width:1100px){.svg-map-admin-grid{grid-template-columns:1fr}.svg-map-wrap{max-height:64vh}.svg-map-wrap svg{min-width:620px}}@media(max-width:640px){.svg-map-wrap svg{min-width:520px}.svg-tooltip{font-size:12px;max-width:210px}}

.dashboard-chart-card{max-width:760px;margin:auto}.dashboard-chart-card canvas{max-height:320px}


/* v1.0 major release: favicon, sortable tables, mobile responsive polish */
html{scroll-behavior:smooth}img{max-width:100%;height:auto}.brand{display:flex;align-items:center;gap:8px}.brand-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px}.menu-toggle{display:none;border:0;border-radius:14px;background:linear-gradient(180deg,#fff,#ecfdf5);color:#064e3b;font-weight:900;padding:10px 14px;box-shadow:0 5px 0 #bbf7d0;cursor:pointer}.admin-menu-toggle{position:sticky;top:0;z-index:1000;width:100%;border-radius:0;box-shadow:none;background:#052e2b;color:#fff;text-align:left}.sortable-th{cursor:pointer;user-select:none;position:relative;padding-right:26px!important}.sortable-th:after{content:'↕';position:absolute;right:9px;opacity:.72;font-size:12px}.sortable-th.sort-asc:after{content:'▲';opacity:1}.sortable-th.sort-desc:after{content:'▼';opacity:1}.table-wrap,.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}.table{min-width:720px}.public-news-ticker{display:flex;gap:10px;align-items:center;background:#062f1d;color:#fff;padding:8px 12px;font-weight:800}.public-news-ticker strong{background:#f4c430;color:#062f1d;border-radius:999px;padding:5px 10px}.public-menu a,.public-dd summary{white-space:nowrap}.public-dd-menu{max-height:70vh;overflow:auto}.card,.table,.input,select,textarea{max-width:100%}.main{min-width:0}.admin-form-grid{align-items:start}.candidate-head{min-width:0}.candidate-head>div{min-width:0}.candidate-head h3,.candidate-head b{overflow-wrap:anywhere}.svg-map-wrap{max-width:100%}.svg-map-wrap svg{max-width:none}.version-footer,.side-version{font-variant-numeric:tabular-nums}
@media(max-width:980px){
  .menu-toggle{display:inline-block}.public-nav{display:flex;flex-wrap:wrap;gap:10px}.public-menu{display:none;width:100%;background:rgba(255,255,255,.94);border:1px solid #dbeafe;border-radius:18px;padding:10px;box-shadow:0 12px 30px rgba(15,23,42,.12)}.public-menu.is-open{display:flex}.public-menu a,.public-dd summary{display:block;color:#064e3b!important;background:#f8fafc!important;box-shadow:none!important;border:1px solid #e2e8f0;margin:3px}.public-dd{width:100%}.public-dd-menu{position:static;width:100%;box-shadow:none;border-radius:12px;margin:6px 0 0}.title{font-size:clamp(28px,7vw,42px)}.hero{padding:24px 14px;border-radius:0 0 22px 22px}.section{padding:18px 12px}.grid.two,.two,.three{grid-template-columns:1fr!important}.card{border-radius:18px;padding:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{font-size:26px}.boundary-grid{grid-template-columns:1fr}.boundary-card{display:block}.boundary-number{margin-bottom:10px}.admin-shell{display:block}.admin-menu-toggle{display:block}.side{display:none;position:fixed;inset:42px 0 0 0;z-index:999;overflow:auto;border-radius:0}.side.is-open{display:flex}.main{padding:16px 12px}.admin-user-card{margin-top:4px}.table{font-size:14px}.table th,.table td{padding:10px;white-space:nowrap}.input,select,textarea{font-size:16px}.btn,.button{padding:10px 14px}.inline-actions{gap:6px}.inline-actions .btn,.inline-actions .button{flex:1 1 auto;text-align:center}.chart-card canvas,.dashboard-chart-card canvas,.tvgrid canvas,.tv canvas{max-height:240px!important}.tvgrid{padding:12px;gap:12px}.tvbar{display:block;padding:12px 14px}.bigstat{font-size:44px}.tickergrid{grid-template-columns:1fr}.coord-marker{box-shadow:0 4px 0 color-mix(in srgb,var(--c) 45%,#cbd5e1),0 8px 16px rgba(15,23,42,.16)}
}
@media(max-width:520px){
  .hero:before{margin:-24px -14px 18px}.brand{font-size:18px}.brand-badge{min-width:36px;padding:6px 8px}.title{font-size:26px}.subtitle{font-size:14px}.cards{grid-template-columns:1fr 1fr}.card{padding:13px}.stat{font-size:22px}.label{font-size:12px}.table{min-width:640px}.photo{width:40px;height:40px}.avatar{width:58px;height:58px;border-radius:16px}.profile-photo{width:110px;height:110px;border-radius:22px}.boundary-card{padding:12px}.system-3d-grid{grid-template-columns:1fr}.public-news-ticker{font-size:12px;padding:6px 8px}.version-footer{font-size:11px;padding:10px}.svg-map-wrap svg{min-width:460px}.coordinate-map{min-height:380px}.coord-marker{padding:5px 7px}.coord-marker b{font-size:10px}.admin-brand{font-size:18px}.side a{padding:10px 12px}.main h1{font-size:24px}.main h2{font-size:20px}
}


/* v1.0.1 admin compact editing additions */
.inline-form{display:inline-block;margin:0 .15rem}
.btn.tiny{padding:.35rem .55rem;font-size:.78rem;border-radius:.55rem}
.btn.danger{background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff}
.table-wrap{width:100%;overflow-x:auto}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.compact-form label{font-size:.9rem;font-weight:700}
.check{display:flex;gap:.5rem;align-items:center;margin:.75rem 0}
@media(max-width:720px){.grid.two{grid-template-columns:1fr!important}.form-grid{grid-template-columns:1fr}.table th,.table td{white-space:nowrap}.boundary-card{align-items:flex-start}}


/* v1.0.2 interactive map and history import fixes */
.interactive-map-card{padding:0;overflow:hidden;border-radius:24px}
#interactiveMap{width:100%;height:660px;min-height:440px;border-radius:24px;background:#e0f2fe}
.ajk-map-pin{background:transparent;border:0}
.ajk-map-pin div{width:52px;height:52px;border-radius:50% 50% 50% 12px;transform:rotate(-45deg);background:linear-gradient(135deg,var(--pin),#facc15);box-shadow:0 8px 20px rgba(15,23,42,.28);display:flex;align-items:center;justify-content:center;border:3px solid #fff}
.ajk-map-pin strong{transform:rotate(45deg);color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.35);font-weight:1000}
.map-popup h3{margin:.1rem 0 .45rem;color:#064e3b}.map-popup p{margin:.25rem 0}.map-popup .btn.tiny{display:inline-block;margin-top:.4rem;text-decoration:none}
.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;color:#475569;font-weight:800}.map-legend span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px}.dot{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:6px}.dot.declared{background:#059669}.dot.pending{background:#f59e0b}.dot.none{background:#0ea5e9}
@media(max-width:760px){#interactiveMap{height:520px;border-radius:18px}.interactive-map-card{border-radius:18px}.ajk-map-pin div{width:44px;height:44px}.ajk-map-pin strong{font-size:10px}.map-legend span{font-size:12px;padding:7px 10px}}

/* v1.0.3 compact design, restored SVG map, stronger history display */
body{font-size:14px}.hero{padding:18px 14px;border-radius:0 0 20px 20px}.hero:before{height:5px;margin:-18px -14px 16px}.nav{margin-bottom:12px}.brand{font-size:20px}.nav a,.public-dd summary{padding:7px 10px;border-radius:10px;font-size:13px}.title{font-size:clamp(24px,3.3vw,34px);margin:6px 0 2px}.subtitle{font-size:14px}.section{padding:16px 14px}.grid{gap:12px}.card{padding:14px;border-radius:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:-18px}.kpi-cards .card{min-height:96px}.stat{font-size:25px}.label{font-size:12px}.btn,.button{padding:8px 11px;border-radius:10px;font-size:13px;box-shadow:0 4px 0 #047857,0 10px 18px rgba(16,185,129,.18)}.btn.gold,.button.gold{box-shadow:0 4px 0 #b88b00,0 10px 18px rgba(244,196,48,.2)}.input,select,textarea{padding:9px 11px;border-radius:10px;font-size:14px}.form-grid{gap:9px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.table{min-width:680px;font-size:12.5px}.compact-table th,.compact-table td,.table.compact-table th,.table.compact-table td{padding:7px 8px;vertical-align:middle}.table th{padding:8px}.table td{padding:8px}.party-badge{padding:4px 7px;gap:5px;font-size:12px;border-width:1px}.party-badge img{width:22px;height:22px}.candidate-mini{display:inline-flex;align-items:center;gap:6px;min-width:0}.candidate-mini img{width:30px;height:30px;border-radius:9px;object-fit:cover;background:#e5e7eb}.party-mini-img{width:28px;height:28px;object-fit:contain;background:white;border:1px solid #e2e8f0;border-radius:7px}.candidate-head{padding:9px;gap:10px}.avatar{width:62px;height:62px;border-radius:16px}.candidate-card h2{font-size:17px;margin:.2rem 0}.candidate-card p{margin:.35rem 0;font-size:12.5px}.candidate-card .stat{font-size:22px}.cards .candidate-card{min-height:190px}.compact-section{padding-top:12px;padding-bottom:12px}.compact-chart{max-width:520px}.compact-chart canvas,.chart-card canvas{max-height:260px!important}.latest-card{overflow:hidden}.latest-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.latest-heading h2{margin:.2rem 0}.latest-heading span{font-size:12px;color:#64748b;font-weight:800}.latest-scroll{height:250px;overflow:hidden;position:relative;border-radius:14px}.latest-scroll table{animation:latest-up 22s linear infinite}.latest-scroll:hover table{animation-play-state:paused}@keyframes latest-up{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}.kpi-row.compact-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-bottom:12px}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.07)}.kpi span{display:block;color:#64748b;font-size:12px;font-weight:800}.kpi strong{display:block;font-size:18px;color:#064e3b;line-height:1.2}.history-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.history-title-row h2{margin:0}.compact-history-grid{gap:12px}.public-svg-map{background:linear-gradient(135deg,#ecfdf5,#fefce8)}.svg-map-wrap{border-radius:16px}.svg-map-wrap svg{min-width:640px}.side{padding:14px}.side a{padding:9px 11px;margin:3px 0;border-radius:10px;font-size:13px}.main{padding:18px}.admin-version{margin-top:18px}.dashboard-chart-card canvas{max-height:260px!important}.chart-card{overflow:hidden}
@media(min-width:1050px){.cards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.candidate-card{min-width:0}.latest-scroll{height:310px}.history-title-row{display:block}.table{min-width:620px}.compact-table th,.compact-table td{padding:7px 8px}.public-menu.is-open{display:block}.public-dd-menu a{display:block}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.card{padding:12px}.candidate-head{align-items:flex-start}.avatar{width:52px;height:52px}.title{font-size:23px}.latest-scroll{height:330px}.table{font-size:12px;min-width:600px}.party-badge span{max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svg-map-wrap svg{min-width:500px}}

/* v1.0.5 cleanup, compact reports and professional history charts */
:root{--compact-gap:8px}.section{padding:12px 12px}.card{padding:12px}.grid{gap:var(--compact-gap)}.public-menu a,.public-dd summary,.side a{padding:7px 9px}.table.compact-table,.compact-table{border-spacing:0}.table.compact-table th,.table.compact-table td{padding:5px 7px;font-size:12px;line-height:1.25}.results-report-grid,.report-grid{gap:8px}.report-constituency-block,.constituency-report-card{margin:0 0 8px 0;padding:8px;border-radius:12px}.history-chart-card canvas{max-height:225px!important}.history-chart-card h2{font-size:17px;margin:0 0 6px}.compact-history-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.kpi-row.compact-kpis{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.kpi{padding:9px;border-radius:12px}.kpi strong{font-size:16px}.svg-selectable{cursor:pointer;transition:.12s ease}.svg-selected{outline:4px solid #f59e0b!important;filter:drop-shadow(0 0 6px rgba(245,158,11,.8))}.svg-mapped{filter:drop-shadow(0 0 3px rgba(15,118,110,.6))}.admin-svg-map svg [aria-label="Pakistan Tehreek-e-Insaf"],.public-svg-map svg [aria-label="Pakistan Tehreek-e-Insaf"]{display:none!important}@media(max-width:780px){.table.compact-table th,.table.compact-table td{padding:5px 6px;font-size:11.5px}.card{padding:10px}.section{padding:10px}.history-chart-card canvas{max-height:205px!important}}

/* v1.0.6 mobile/responsive polish and election-style cards */
:root{--safe-shadow:0 8px 22px rgba(15,23,42,.08)}
body{overflow-x:hidden}.wrap{max-width:1180px}.section{padding:10px 10px}.card{box-shadow:var(--safe-shadow)}
/* Remove declaration progress space and make ticker reliable on iPhone */
.latest-scroll.iphone-feed{height:265px;overflow:hidden;position:relative;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.latest-feed-track{display:flex;flex-direction:column;gap:7px;will-change:transform;animation:latestFeedScroll 28s linear infinite;padding:10px;transform:translateZ(0)}
.latest-scroll:hover .latest-feed-track{animation-play-state:paused}.latest-feed-item{display:grid;grid-template-columns:minmax(120px,1.15fr) minmax(120px,1fr) minmax(160px,1.2fr);gap:8px;align-items:center;text-decoration:none;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-left:5px solid #0f766e;border-radius:12px;padding:8px 10px;box-shadow:0 4px 12px rgba(15,23,42,.05)}.latest-feed-item strong{color:#064e3b}.latest-feed-item span{font-weight:800}.latest-feed-item em{font-style:normal;color:#475569;font-size:12px}@keyframes latestFeedScroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-50%,0)}}
@supports (-webkit-touch-callout:none){.latest-feed-track{animation-duration:34s}.latest-scroll.iphone-feed{transform:translateZ(0)}}
/* Responsive tables: one scroll wrapper only, compact cells */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:640px}.table th,.table td{white-space:nowrap}.table.compact-table th,.table.compact-table td{padding:5px 6px;font-size:12px}.sortable-th{cursor:pointer;user-select:none}.sortable-th:after{content:' ↕';opacity:.35;font-size:10px}.sort-asc:after{content:' ▲';opacity:.8}.sort-desc:after{content:' ▼';opacity:.8}
/* Menu mobile fixes */
.menu-toggle{touch-action:manipulation}.public-menu{align-items:center}.public-dd{position:relative}.public-dd-menu{min-width:210px}.public-dd[open] summary{background:#ecfdf5}.public-dd-menu a{white-space:nowrap}.side{transition:transform .2s ease}.admin-menu-toggle{position:sticky;top:0;z-index:60;width:100%;text-align:left;border:0;background:#064e3b;color:#fff;padding:9px 12px;font-weight:900}
/* Candidate cards: no inner horizontal bars */
.candidate-grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.candidate-card{overflow:hidden;min-width:0}.candidate-head{min-width:0}.candidate-card h2{font-size:16px;line-height:1.2;word-break:break-word;overflow-wrap:anywhere}.candidate-card p{word-break:break-word;overflow-wrap:anywhere}.candidate-card .party-badge{max-width:100%}.candidate-card .party-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.avatar{flex:0 0 auto}.cardlink{min-width:0}
/* Party page: horizontal cards inspired by election result dashboards */
.party-list{display:flex;flex-direction:column;gap:10px}.party-card{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(160px,1fr) minmax(170px,1fr);gap:12px;align-items:center;border-left:8px solid var(--party,#0f7a3b);padding:12px 14px;overflow:hidden}.party-card .party-top{display:flex;align-items:center;gap:12px;min-width:0}.party-card h2{margin:0 0 5px;font-size:18px;line-height:1.2;word-break:break-word}.party-card p{margin:0;color:#475569;line-height:1.35;max-height:42px;overflow:hidden}.party-logo{width:54px;height:54px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.party-flag{width:72px;height:42px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0}.party-card .grid.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.party-card .stat{font-size:22px}
/* Better history visuals */
.compact-history-grid{grid-template-columns:1.15fr 1fr 1fr!important}.history-chart-card{min-height:290px}.history-chart-card canvas{height:230px!important;max-height:230px!important}.history-title-row{gap:8px}.kpi-row.compact-kpis{margin-top:4px}.pill{white-space:nowrap}
/* Compact reporting */
.results-report-grid,.report-grid{gap:4px}.report-constituency-block,.constituency-report-card{margin:0 0 5px;padding:6px;border-radius:10px}.report-constituency-block h2,.constituency-report-card h2{font-size:16px;margin:0 0 4px}.compact-filter{padding:8px}.compact-filter select,.compact-filter input{min-height:36px}
@media(max-width:1050px){.candidate-grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.party-card{grid-template-columns:1fr 140px 140px}.party-card p{display:none}}
@media(max-width:820px){body{font-size:13px}.section{padding:8px}.public-menu{display:none;width:100%;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:8px;margin-top:8px;box-shadow:0 12px 30px rgba(15,23,42,.12)}.public-menu.is-open{display:flex}.public-dd{width:100%}.public-dd summary,.public-menu a{display:block;width:100%}.public-dd-menu{position:static!important;box-shadow:none!important;border:0!important;background:#f8fafc!important;margin-top:4px;border-radius:10px;padding:4px}.public-dd-menu a{padding-left:18px}.admin-shell{display:block}.side{position:fixed;z-index:80;top:42px;bottom:0;left:0;width:280px;max-width:85vw;overflow:auto;transform:translateX(-105%)}.side.is-open{transform:translateX(0)}.main{padding:10px}.table{min-width:560px}.latest-feed-item{grid-template-columns:1fr;gap:2px}.latest-scroll.iphone-feed{height:320px}.candidate-grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.party-card{grid-template-columns:1fr;align-items:start}.party-card p{display:block}.compact-history-grid{grid-template-columns:1fr!important}.history-chart-card{min-height:255px}.history-chart-card canvas{height:205px!important;max-height:205px!important}.history-title-row{display:block}}
@media(max-width:520px){.candidate-grid.cards{grid-template-columns:1fr}.candidate-card{min-height:auto}.candidate-head{gap:8px}.candidate-card .party-badge span{max-width:150px}.party-card{padding:10px;border-left-width:6px}.party-flag{width:58px;height:34px}.party-logo{width:46px;height:46px}.table{min-width:520px}.table.compact-table th,.table.compact-table td{font-size:11px;padding:5px}.latest-scroll.iphone-feed{height:360px}.kpi-row.compact-kpis{grid-template-columns:1fr 1fr}.brand{font-size:18px}.hero{padding:14px 10px}.title{font-size:22px}}
.history-bars-card{margin:10px 0}.history-bars{display:flex;flex-direction:column;gap:7px}.history-bar-row{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(160px,2fr) 62px;gap:8px;align-items:center;font-size:12px}.history-bar-label{font-weight:800;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-bar-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}.history-bar-track i{display:block;height:100%;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.history-bar-row strong{text-align:right;color:#064e3b}@media(max-width:620px){.history-bar-row{grid-template-columns:1fr 52px}.history-bar-track{grid-column:1 / -1;order:3}.history-bar-label{white-space:normal}}
/* v1.0.7 compact responsive/election-visual improvements */
.compact-section{padding-top:14px;padding-bottom:14px}.compact-form{padding:14px}.tight-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.small-btn,.btn.tiny{padding:8px 11px;border-radius:11px;font-size:12px}.compact-table{font-size:13px}.compact-table th,.compact-table td{padding:7px 8px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}.public-menu a,.public-dd summary{padding:7px 10px!important;font-size:14px}.candidate-grid-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.clean-candidate-card{min-width:0;overflow:hidden;padding:14px}.clean-candidate-card h2{font-size:16px;line-height:1.2;margin:0 0 6px;overflow-wrap:anywhere}.clean-candidate-card .candidate-head{display:flex;gap:10px;align-items:center;min-width:0}.clean-candidate-card .avatar{width:62px;height:62px;border-radius:16px;flex:0 0 auto}.candidate-seat{font-size:13px;margin:8px 0;color:#475569}.small-stat{font-size:24px}.party-list-horizontal{display:grid;gap:12px}.party-wide-card{display:grid;grid-template-columns:150px 1fr 250px;align-items:center;gap:14px;border-left:8px solid var(--party);padding:16px}.party-media-strip{display:flex;gap:8px;align-items:center}.party-logo-wide{width:72px;height:72px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.party-flag-wide{width:70px;height:46px;object-fit:cover;border-radius:12px;background:#fff;border:1px solid #e2e8f0}.party-title-link{text-decoration:none;color:inherit}.party-wide-main p{margin:6px 0 0;color:#475569}.party-wide-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.party-wide-stats div{background:#f8fafc;border-radius:14px;padding:10px}.party-wide-stats strong{display:block;color:#0f766e;font-size:22px}.party-wide-stats span{font-size:12px;color:#64748b;font-weight:800}.party-profile-hero{display:flex;gap:18px;align-items:center;border-left:8px solid var(--party)}.top-party-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.top-party-card{text-decoration:none;color:inherit;border-left:8px solid var(--party);position:relative}.party-flag-mini{width:52px;height:34px;border-radius:8px;object-fit:cover;float:right}.rich-feed-item{display:grid!important;grid-template-columns:54px 1fr;gap:10px;align-items:center}.feed-media{position:relative;width:54px;height:48px}.feed-candidate{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#e2e8f0}.feed-flag{position:absolute;right:0;bottom:0;width:28px;height:18px;object-fit:cover;border-radius:4px;border:1px solid white;background:white}.history-summary-strip{font-size:15px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-left:8px solid #f59e0b}.boundary-card{padding:10px!important;gap:10px}.boundary-card h3{margin:0;font-size:15px}.boundary-card p{font-size:13px;line-height:1.35;margin:4px 0 0}.boundary-number{min-width:30px!important;height:30px!important;font-size:13px!important}.history-bars-card{padding:16px}.history-bar-row{display:grid;grid-template-columns:220px 1fr 70px;gap:9px;align-items:center;margin:7px 0}.history-bar-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-bar-track{height:16px;border-radius:999px;background:#e2e8f0;overflow:hidden}.history-bar-track i{display:block;height:100%;border-radius:999px}.admin-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:10px 0 14px}.latest-scroll{height:315px;overflow:hidden}.latest-feed-track{animation:feedScroll 26s linear infinite}.latest-feed-track:hover{animation-play-state:paused}@keyframes feedScroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:1000px){.candidate-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.party-wide-card{grid-template-columns:100px 1fr}.party-wide-stats{grid-column:1/-1}.top-party-kpis{grid-template-columns:1fr}.party-profile-hero{display:block}}
@media(max-width:640px){.wrap{width:min(100% - 18px,1180px)}.section{padding:12px 9px}.card{padding:13px;border-radius:17px}.candidate-grid-four{grid-template-columns:1fr}.clean-candidate-card .candidate-head{align-items:flex-start}.party-wide-card{grid-template-columns:1fr}.party-media-strip{justify-content:flex-start}.party-wide-stats{grid-template-columns:repeat(3,1fr)}.history-bar-row{grid-template-columns:1fr}.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:6px}.title{font-size:27px}.hero{padding:18px 10px}.public-menu{gap:4px}.latest-scroll{height:260px}}
/* v1.0.8 Party Position page */
.party-position-card{padding:10px}.party-position-table{min-width:980px}.party-position-table tbody tr{border-left:6px solid var(--party,#0f766e)}.party-position-name{min-width:210px}.party-position-name a{text-decoration:none;color:#0f172a}.party-position-name strong{display:block;font-size:14px}.party-position-name small{display:block;color:#64748b;font-weight:800;margin-top:2px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;border-radius:999px;background:#ecfdf5;color:#065f46;font-weight:1000;border:1px solid #bbf7d0}.party-mini-flag{width:54px;height:32px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.party-mini-symbol{width:38px;height:38px;object-fit:contain;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.share-cell{display:grid;grid-template-columns:1fr 58px;gap:8px;align-items:center;min-width:160px}.share-track{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden;display:block}.share-track i{height:100%;display:block;border-radius:999px}.share-cell b{text-align:right;color:#064e3b}.chart-card canvas{max-height:300px}@media(max-width:700px){.party-position-table{min-width:860px}.party-position-card{padding:6px}.party-mini-flag{width:46px;height:28px}.party-mini-symbol{width:34px;height:34px}.share-cell{min-width:130px;grid-template-columns:1fr 48px}.chart-card canvas{max-height:240px}}

/* v1.0.9 fixes: compact feed, party position fallback, better candidate/party spacing, safer SVG editor */
.latest-card{padding:14px}.latest-heading{margin-bottom:8px}.latest-feed-item,.rich-feed-item{border-bottom:1px solid #e2e8f0;padding:9px 6px;border-radius:12px;text-decoration:none;color:#0f172a}.rich-feed-item:hover{background:#f8fafc}.feed-copy{display:grid;gap:2px;min-width:0}.feed-copy strong,.feed-copy span,.feed-copy em{display:block;white-space:normal;line-height:1.25}.feed-copy strong{font-size:13px;color:#064e3b}.feed-copy span{font-size:13px;font-weight:800}.feed-copy em{font-size:12px;color:#64748b}.candidate-photo-wrap{position:relative;display:inline-block;flex:0 0 auto}.candidate-party-flag{position:absolute;right:-4px;bottom:-4px;width:34px;height:22px;object-fit:cover;border:2px solid #fff;border-radius:6px;box-shadow:0 5px 12px rgba(15,23,42,.18);background:#fff}.clean-candidate-card{overflow:hidden;min-width:0}.clean-candidate-card h2{font-size:17px;line-height:1.2;word-break:break-word}.clean-candidate-card .candidate-head{display:flex;gap:12px;min-width:0}.candidate-seat{font-size:13px;color:#475569;line-height:1.3}.party-wide-card{min-width:0}.party-wide-main{min-width:0}.party-wide-main h2{word-break:break-word;margin:0 0 6px}.party-wide-main p{line-height:1.35}.party-position-table td,.party-position-table th{vertical-align:middle}.party-position-table .party-badge{white-space:nowrap}.quick-hide-boxes{margin-top:12px;display:grid;gap:8px}.quick-hide-form{display:inline-block;margin-right:6px}.svg-selectable{cursor:pointer;transition:.12s}.svg-selectable:hover{filter:drop-shadow(0 0 4px #f59e0b)}.svg-selected{stroke:#ef4444!important;stroke-width:3!important;filter:drop-shadow(0 0 6px #ef4444)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.compact-table th,.compact-table td{padding:7px 9px}.public-svg-map svg{max-width:100%;height:auto}.svg-map-wrap{overflow:auto}.btn.tiny{padding:7px 10px;border-radius:10px;font-size:12px;box-shadow:0 4px 0 #047857,0 8px 16px rgba(16,185,129,.18)}.btn.tiny.danger{background:linear-gradient(180deg,#f87171,#dc2626);box-shadow:0 4px 0 #991b1b,0 8px 16px rgba(220,38,38,.18)}
@media(max-width:700px){.latest-feed-item,.rich-feed-item{grid-template-columns:48px 1fr!important;padding:8px 4px}.feed-media{width:48px;height:44px}.feed-candidate{width:38px;height:38px}.feed-flag{width:26px;height:17px}.party-wide-card{padding:12px}.party-wide-stats div{padding:8px 5px}.party-wide-stats strong{font-size:18px}.party-wide-main p{font-size:13px}.party-position-table{min-width:920px}.candidate-head{align-items:center}.avatar{width:66px;height:66px;border-radius:18px}.candidate-party-flag{width:30px;height:19px}.card{max-width:100%}}


/* v1.0.11 winner/runner-up highlighting and candidate profile media refinements */
.table tbody tr.result-winner-row, .compact-table tbody tr.result-winner-row, tr.result-winner-row{background:rgba(132,204,22,.20)!important;box-shadow:inset 5px 0 0 rgba(101,163,13,.75)}
.table tbody tr.result-runner-row, .compact-table tbody tr.result-runner-row, tr.result-runner-row{background:rgba(245,158,11,.20)!important;box-shadow:inset 5px 0 0 rgba(217,119,6,.75)}
.table tbody tr.result-winner-row td, .table tbody tr.result-runner-row td{border-bottom-color:rgba(15,23,42,.08)}
.result-position-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}
.result-position-tag.win{background:rgba(132,204,22,.25);color:#365314;border:1px solid rgba(101,163,13,.25)}
.result-position-tag.second{background:rgba(245,158,11,.25);color:#78350f;border:1px solid rgba(217,119,6,.25)}
.profile-photo-wrap{position:relative;display:inline-block;flex:0 0 auto}
.profile-photo-wrap .profile-photo{width:240px;height:240px;border-radius:38px}
.profile-flag-thumb{position:absolute;right:8px;bottom:8px;width:42px;height:28px;object-fit:cover;border:3px solid #fff;border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.25)}
.result-snapshot-media{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.result-snapshot-media .symbol{width:54px;height:54px;border-radius:13px}.result-snapshot-media .flag-small{width:58px;height:36px;object-fit:cover;border-radius:10px}
@media(max-width:900px){.profile-photo-wrap .profile-photo{width:170px;height:170px}.profile-flag-thumb{width:36px;height:24px;right:5px;bottom:5px}.profile{display:flex;align-items:flex-start}}
@media(max-width:560px){.profile{display:block}.profile-photo-wrap .profile-photo{width:150px;height:150px;border-radius:28px}.profile-flag-thumb{width:32px;height:21px}.result-snapshot-media .symbol{width:46px;height:46px}.result-snapshot-media .flag-small{width:50px;height:31px}}

/* v1.0.12 responsive SVG map tooltip/panel improvements */
.svg-map-page-card{overflow:hidden}.responsive-map-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.map-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.svg-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:stretch}.improved-svg-map{height:min(72vh,740px);min-height:520px;overflow:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#f0fdf4,#fefce8);border:1px solid #d9f99d}.svg-map-scale{display:inline-block;min-width:100%;transition:transform .15s ease}.improved-svg-map svg{display:block;width:100%;height:auto;min-width:760px;max-width:none}.svg-public-mapped{cursor:pointer;fill:var(--map-fill)!important;stroke:#ffffff!important;stroke-width:1.5px!important;transition:filter .15s ease,opacity .15s ease,stroke-width .15s ease}.svg-public-mapped:hover,.svg-public-mapped.svg-public-active{opacity:.92;stroke:#052e16!important;stroke-width:2.8px!important;filter:drop-shadow(0 4px 8px rgba(6,78,59,.35))}.svg-public-unmapped{opacity:.55}.svg-info-panel{background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.08);padding:16px;min-height:260px;max-height:72vh;overflow:auto;position:sticky;top:12px}.svg-info-empty{display:grid;gap:8px;color:#64748b}.svg-info-empty strong{color:#064e3b;font-size:18px}.map-dot{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#16a34a,#facc15);box-shadow:0 8px 18px rgba(22,163,74,.25)}.svg-info-kicker{display:inline-flex;background:#dcfce7;color:#166534;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px}.svg-info-content h3{margin:10px 0 4px;color:#064e3b;font-size:22px;line-height:1.15}.svg-info-content p{margin:0 0 12px;color:#64748b}.svg-info-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding:9px 0;align-items:center}.svg-info-row span{font-size:12px;color:#64748b;font-weight:800}.svg-info-row strong{text-align:right;color:#0f172a}.svg-info-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.compact-map-note{padding:10px 14px}.compact-map-note h2{font-size:18px;margin:0 0 4px}.compact-map-note p{margin:0}.svg-tooltip{display:none!important}
@media(max-width:900px){.svg-map-layout{grid-template-columns:1fr}.svg-info-panel{position:relative;top:auto;min-height:auto;max-height:none;order:-1}.improved-svg-map{height:62vh;min-height:420px}.improved-svg-map svg{min-width:680px}.responsive-map-toolbar{align-items:stretch}.map-actions .btn{flex:1 0 auto}}
@media(max-width:560px){.improved-svg-map{height:58vh;min-height:360px;border-radius:14px}.improved-svg-map svg{min-width:560px}.svg-info-panel{padding:12px;border-radius:14px}.svg-info-content h3{font-size:18px}.svg-info-row{padding:7px 0}.svg-info-buttons .btn{flex:1 1 120px;text-align:center}.map-actions{width:100%}.map-actions .btn{padding:7px 8px;font-size:12px}}

/* v1.0.19 live session monitoring */
.pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:800;white-space:nowrap;background:#eef2ff;color:#3730a3}
.pill.live{background:rgba(132,204,22,.22);color:#166534;border:1px solid rgba(22,101,52,.22)}
.pill.amber{background:rgba(245,158,11,.20);color:#92400e;border:1px solid rgba(146,64,14,.18)}
.pill.muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.session-live-row{background:rgba(132,204,22,.08)!important}
.photo.tiny{width:26px;height:26px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:.35rem}
.compact-table td,.compact-table th{padding:.42rem .5rem;font-size:.88rem}


/* v1.0.20 permissions/menu, live filters, wide party position, history charts */
.wide-wrap{max-width:1440px!important;width:min(1440px,calc(100% - 24px))!important}.top-party-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.party-position-table{min-width:1180px}.party-position-card{overflow-x:auto}.live-filter-form{border-left:5px solid #0f766e}.admin-nav a,.settings-menu summary{font-size:13px}.history-chart-card canvas,.chart-card canvas{max-height:280px!important}@media(max-width:850px){.top-party-kpis{grid-template-columns:1fr}.wide-wrap{width:min(100% - 16px,1440px)!important}.party-position-table{min-width:980px}.live-filter-form .form-grid{grid-template-columns:1fr}.admin-nav a,.settings-menu summary{font-size:12px;padding:9px 10px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.compact-table{font-size:12px}}

/* v1.0.22 compact data-entry forms and clearer calculated result fields */
.admin-form-card,.card:has(form.compact-form){padding:14px 16px;border-radius:18px}
.form.compact-form{gap:8px}.form.compact-form .form-grid,.admin-form-card .form-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px 10px}.form.compact-form label,.admin-form-card label{font-size:12px}.form.compact-form .input,.form.compact-form select,.form.compact-form textarea,.admin-form-card .input,.admin-form-card select,.admin-form-card textarea{padding:8px 10px;border-radius:10px;font-size:13px}.form.compact-form textarea,.admin-form-card textarea{min-height:58px}.admin-form-card h2,.admin-form-card h3{margin:.15rem 0 .35rem;font-size:17px}.form.compact-form .btn,.admin-form-card .btn{padding:9px 14px;border-radius:12px}.result-calc-note{display:block;margin-top:4px;color:#64748b;font-size:12px}.svg-public-mapped.party-leading{filter:saturate(1.25)}
@media(max-width:700px){.form.compact-form .form-grid,.admin-form-card .form-grid{grid-template-columns:1fr 1fr}.form.compact-form .input,.form.compact-form select,.admin-form-card .input,.admin-form-card select{font-size:12px;padding:7px 8px}.admin-form-card,.card:has(form.compact-form){padding:12px}}
@media(max-width:460px){.form.compact-form .form-grid,.admin-form-card .form-grid{grid-template-columns:1fr}}

/* v1.0.23 public navigation, top-party cards and SVG winner popup refinements */
.election-wordmark{display:inline-flex!important;align-items:baseline;gap:3px;text-decoration:none!important;background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;border-radius:18px!important;padding:8px 13px!important;box-shadow:0 7px 0 #dbeafe,0 14px 28px rgba(15,23,42,.08)!important;letter-spacing:-.04em;font-weight:900!important;white-space:nowrap}.election-wordmark span:nth-child(1){color:#4285f4}.election-wordmark span:nth-child(2){color:#db4437}.election-wordmark span:nth-child(3){color:#f4b400}.election-wordmark em{font-style:normal;color:#0f9d58;margin-left:5px}.election-wordmark strong{color:#4285f4;margin-left:4px}.top-four-party-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px}.top-party-card-v1023{min-width:0;overflow:hidden}.top-party-media{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.party-flag-mini.larger{width:64px!important;height:42px!important;border-radius:10px;object-fit:cover;float:none!important;box-shadow:0 8px 16px rgba(15,23,42,.13);border:1px solid #e2e8f0;background:#fff}.top-party-full-name{font-weight:900;color:#0f172a;line-height:1.15;min-height:36px;font-size:13px;overflow-wrap:anywhere}.top-party-card-v1023 .party-badge span{font-size:12px}.svg-info-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.sparkle-winner-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000;color:#052e16;background:linear-gradient(135deg,#d9f99d,#fef08a,#bbf7d0);border:1px solid rgba(132,204,22,.45);box-shadow:0 0 0 4px rgba(250,204,21,.13),0 8px 20px rgba(132,204,22,.22)}.runner-up-row strong{color:#92400e}.svg-public-mapped{fill:var(--map-fill)!important}.svg-public-mapped.party-leading,.svg-public-mapped.svg-public-active{filter:saturate(1.35) drop-shadow(0 3px 8px rgba(15,23,42,.18))}.public-dd-menu a{display:block!important;margin:3px!important}.public-nav{gap:10px}.public-menu{align-items:center}
@media(max-width:1050px){.top-four-party-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.election-wordmark{font-size:18px!important}.public-nav{align-items:flex-start}}
@media(max-width:640px){.top-four-party-kpis{grid-template-columns:1fr!important}.party-flag-mini.larger{width:58px!important;height:38px!important}.top-party-full-name{min-height:auto}.election-wordmark{font-size:16px!important;padding:7px 10px!important;border-radius:14px!important}.public-menu{width:100%}.svg-info-topline{align-items:flex-start}.sparkle-winner-badge{font-size:11px;padding:5px 8px}}

/* v1.0.24 news-style logo, BBC-style party change widgets and social sharing */
.election-news-logo{display:inline-flex!important;align-items:center;gap:8px;text-decoration:none!important;color:#fff!important;background:linear-gradient(135deg,#064e3b,#0f766e 48%,#111827)!important;border-radius:16px!important;padding:8px 12px!important;box-shadow:0 10px 24px rgba(6,78,59,.28),inset 0 1px 0 rgba(255,255,255,.25)!important;border:1px solid rgba(255,255,255,.2)!important;letter-spacing:-.02em;white-space:nowrap}.election-news-logo .logo-live{background:#ef4444;color:#fff;border-radius:7px;padding:3px 6px;font-size:11px;font-weight:1000;box-shadow:0 0 0 2px rgba(239,68,68,.2)}.election-news-logo .logo-main{font-size:23px;font-weight:1000;color:#facc15}.election-news-logo .logo-sub{font-size:14px;font-weight:900;color:#ecfeff;text-transform:uppercase;letter-spacing:.06em}.party-change-card{padding:14px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0}.party-change-title{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:12px}.party-change-title h2{margin:0;font-size:20px}.party-change-title span{font-size:12px;color:#64748b}.bbc-seat-strip{display:flex;align-items:stretch;width:100%;gap:2px;background:#0f172a;padding:10px;border-radius:18px;overflow:auto;-webkit-overflow-scrolling:touch}.bbc-seat-block{min-width:132px;flex:1 0 132px;display:grid;grid-template-rows:48px 28px 28px;text-align:center;text-decoration:none!important;color:#fff!important;border-radius:0;overflow:hidden;background:var(--party);box-shadow:inset 0 -38px 0 rgba(255,255,255,.22)}.bbc-seat-block:before{content:"";display:block;background:rgba(255,255,255,.15)}.bbc-seat-block .bbc-party{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:1000;font-size:14px;padding:0 5px;white-space:nowrap}.bbc-seat-block strong{font-size:19px;color:#fff;line-height:28px;background:rgba(0,0,0,.12)}.bbc-seat-block em{font-size:13px;line-height:28px;font-style:normal;background:#020617;color:#fff;font-weight:900}.bbc-seat-block em.pos{color:#bbf7d0}.bbc-seat-block em.neg{color:#fecaca}.party-change-table-wrap{margin-top:10px;overflow-x:auto}.party-change-table td,.party-change-table th{padding:8px 10px}.change-pill{display:inline-flex;border-radius:999px;padding:3px 8px;font-weight:900;font-size:12px}.change-pill.up{background:#dcfce7;color:#166534}.change-pill.down{background:#fee2e2;color:#991b1b}.share-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#ecfdf5);border:1px solid #dbeafe}.share-strip span{font-weight:900;color:#064e3b}.share-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;text-decoration:none!important;color:#fff!important;cursor:pointer}.share-btn.fb{background:#1877f2}.share-btn.wa{background:#25d366;color:#052e16!important}.share-btn.tt{background:#111827}.latest-card h2,.constituency-report-card h2,.svg-map-page-card h2{letter-spacing:-.02em}@media(max-width:720px){.election-news-logo{padding:7px 9px!important;border-radius:14px!important}.election-news-logo .logo-main{font-size:20px}.election-news-logo .logo-sub{font-size:12px}.bbc-seat-block{min-width:110px;flex-basis:110px}.party-change-title{display:block}.party-change-title span{display:block;margin-top:3px}.share-strip{gap:6px;padding:8px}.share-btn{padding:7px 9px;font-size:11px}}


/* v1.0.25 smaller branded share icons, privacy footer and map party flag popup */
.share-bottom-wrap{max-width:1160px;margin:18px auto 6px}.share-strip-small{justify-content:center;background:transparent!important;border:0!important;padding:6px!important;margin:8px auto!important;gap:7px}.share-strip-small span{font-size:12px;color:#64748b;margin-right:2px}.share-icon{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid rgba(15,23,42,.08);box-shadow:0 7px 16px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.4);font-size:14px;font-weight:1000;line-height:1;transition:transform .15s ease,box-shadow .15s ease}.share-icon:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(15,23,42,.18)}.share-facebook{background:linear-gradient(135deg,#1877f2,#0b5bd3);color:#fff!important;font-family:Arial,sans-serif;font-size:18px}.share-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff!important;font-size:13px}.share-twitter{background:linear-gradient(135deg,#111827,#000);color:#fff!important;font-size:15px}.share-copy{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#0f172a!important;cursor:pointer}.version-footer{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.version-footer a{color:#0f766e;text-decoration:none;font-weight:800}.version-footer a:hover{text-decoration:underline}.policy-page .card{max-width:900px;margin:auto;line-height:1.72}.policy-page h2{font-size:30px;margin-top:0}.policy-page h3{margin-top:22px;color:#064e3b}.svg-popup-party-flag{width:52px;height:34px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;margin-right:8px;vertical-align:middle;box-shadow:0 5px 12px rgba(15,23,42,.14)}.svg-popup-party-logo{width:34px;height:34px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid #e2e8f0;margin-right:8px;vertical-align:middle}.svg-party-row strong{display:flex;align-items:center;gap:2px;justify-content:flex-end}.svg-info-panel{overflow:auto}.svg-info-content{max-width:100%}@media(max-width:640px){.share-icon{width:28px;height:28px;font-size:12px}.share-facebook{font-size:17px}.share-strip-small span{width:100%;text-align:center}.svg-party-row strong{justify-content:flex-start}.svg-popup-party-flag{width:46px;height:30px}.policy-page .card{padding:16px}.policy-page h2{font-size:24px}}


/* v1.0.26 SVG result map colour controls */
.public-svg-map svg text,
.public-svg-map svg tspan,
.improved-svg-map svg text,
.improved-svg-map svg tspan{fill:#111827!important;stroke:none!important;font-weight:800!important;paint-order:stroke;vector-effect:non-scaling-stroke}
.svg-public-mapped{fill:var(--map-fill,#bbf7d0)!important;stroke:#ffffff!important;stroke-width:1.7px!important}
.svg-public-mapped.svg-public-active,.svg-public-mapped:hover{stroke:#111827!important;stroke-width:2.8px!important;filter:saturate(1.18) drop-shadow(0 4px 8px rgba(15,23,42,.25))}
.map-colour-swatch{display:inline-block;width:34px;height:22px;border-radius:8px;border:1px solid #cbd5e1;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.map-colour-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.map-colour-form input[type=color]{width:46px;height:34px;padding:2px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.colour-mode-pill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:#ecfdf5;color:#047857}.colour-mode-pill.manual{background:#fef3c7;color:#92400e}

/* v1.1.1 refinements: map locking, TV clock/ticker, party links, about page */
.party-wide-stats a{display:block;text-decoration:none!important;color:inherit;border-radius:14px;padding:8px;background:linear-gradient(135deg,#f8fafc,#ffffff);border:1px solid #e2e8f0;transition:.15s transform,.15s box-shadow}.party-wide-stats a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.12)}
.party-wide-stats div,.party-wide-stats a{text-align:center}.party-wide-stats strong{display:block;font-size:24px;color:var(--party,#0f766e)}.party-wide-stats span{display:block;font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.svg-info-row a{color:#064e3b;text-decoration:none;font-weight:1000}.svg-info-row a:hover{text-decoration:underline}.svg-info-content{border-top:5px solid var(--winner-colour,#16a34a)}.svg-info-content .sparkle-winner-badge{background:linear-gradient(135deg,var(--winner-colour,#22c55e),#fef08a);color:#052e16}.map-actions a[href*="svg_map_colours"]{display:none!important}
.latest-tv-card h2{font-size:clamp(1.45rem,2.4vw,2.45rem)!important;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;color:#fef08a;text-shadow:0 2px 18px rgba(250,204,21,.35)}.pst-clock{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.86rem,1.6vw,1.25rem);padding:8px 12px;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.about-system-page .card{line-height:1.72}.about-system-page h2,.about-system-page h3{color:#064e3b}.about-system-page .grid.two{margin-top:16px}.about-system-page p{margin-bottom:0}.election-news-logo{background:linear-gradient(135deg,#052e16,#065f46 42%,#0f172a 100%)!important;border-radius:14px!important}.election-news-logo .logo-live{animation:pulse 1.5s infinite}.election-news-logo .logo-main{color:#fff!important}.election-news-logo .logo-sub{color:#fef08a!important}
@media(max-width:760px){.party-wide-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.party-wide-card{display:grid!important;gap:12px}.pst-clock{width:100%;text-align:center}.latest-tv-card h2{font-size:1.45rem!important}.svg-map-layout{display:block}.svg-info-panel{margin-top:12px;max-height:55vh}.svg-map-wrap{min-height:360px}}


/* v1.1.2 layout, SEO, forms, TV and mobile map refinements */
.wide-wrap{width:min(100% - 32px,1500px)!important;max-width:1500px!important}.home-wide-wrap{width:min(100% - 28px,1500px)!important;max-width:1500px!important}.candidate-position-pill,.candidate-position-profile{display:inline-flex;align-items:center;border-radius:999px;background:#ecfeff;color:#155e75;border:1px solid #bae6fd;font-size:12px;font-weight:900;padding:4px 8px;margin:5px 0}.candidate-position-profile{font-size:13px;background:#fef3c7;color:#92400e;border-color:#fde68a}.admin-compact-form .form-grid,.compact-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.admin-compact-form textarea,.compact-form textarea{min-height:82px}.constituency-chart-grid canvas,#turnoutPieChart{max-height:250px!important}.svg-info-panel.is-locked{box-shadow:0 16px 45px rgba(22,163,74,.25);border-color:#86efac}.public-menu{justify-content:flex-start}.tv-latest-full{width:100%;box-sizing:border-box}.tv-grid .tv-card canvas{max-height:220px!important}
@media(max-width:760px){.home-wide-wrap,.wide-wrap{width:min(100% - 16px,100%)!important}.svg-map-layout{display:flex!important;flex-direction:column!important}.svg-map-wrap{width:100%;max-width:100%;min-height:360px;overflow:auto!important;-webkit-overflow-scrolling:touch}.svg-map-scale{min-width:780px}.svg-info-panel{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-height:none!important;margin-top:12px;z-index:2}.svg-info-panel.is-locked{position:sticky!important;bottom:0;background:#fff}.public-menu{display:none;flex-direction:column;width:100%;background:rgba(255,255,255,.1);padding:8px;border-radius:16px}.public-menu.is-open{display:flex}.public-dd-menu{position:static!important;box-shadow:none!important}.tv-latest-full .tv-scroll-track{grid-template-columns:1fr!important}.tv-grid{grid-template-columns:1fr!important}.constituency-chart-grid canvas,#turnoutPieChart{max-height:220px!important}}


/* v1.1.4 party colour polish and development-mode readability */
.latest-scroll{max-height:520px!important;min-height:300px!important;overflow:hidden;}
.latest-feed-item,.rich-feed-item{padding:14px 10px!important;min-height:74px!important;gap:12px!important;}
.feed-media{width:58px;height:58px;flex:0 0 58px;}
.feed-candidate{width:58px!important;height:58px!important;object-fit:cover;border-radius:16px;}
.feed-flag{width:32px!important;height:22px!important;border-radius:6px;}
.latest-heading h2{font-size:1.35rem!important;}
.party-badge{box-shadow:inset 4px 0 0 var(--party-accent),0 2px 8px rgba(15,23,42,.06);}
.bbc-seat-block,.top-party-card,.party-wide-card,.party-position-table tr{border-color:color-mix(in srgb,var(--party) 40%,#e2e8f0)!important;}
.bbc-seat-block{background:linear-gradient(135deg,var(--party),color-mix(in srgb,var(--party) 70%,#ffffff));}
.result-winner-row{background:rgba(132,204,22,.18)!important;box-shadow:inset 4px 0 0 #84cc16;}
.result-runner-row{background:rgba(245,158,11,.18)!important;box-shadow:inset 4px 0 0 #f59e0b;}
body{user-select:auto!important;-webkit-user-select:auto!important;}
@media(max-width:760px){.latest-scroll{max-height:430px!important}.latest-feed-item,.rich-feed-item{min-height:82px!important}.feed-copy strong{font-size:12px}.feed-copy span{font-size:13px}.feed-copy em{font-size:11px}}


/* v1.1.5 fixes: no horizontal party-card scroll, mixed party colour accents, repaired profile layouts */
.party-wide-card,.party-profile-hero,.top-party-card,.bbc-seat-block{border-left:9px solid var(--party,#0f766e)!important;border-right:4px solid var(--party2,#facc15)!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.90)),linear-gradient(90deg,var(--party,#0f766e),var(--party2,#facc15))!important;background-origin:border-box!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
.party-wide-card{grid-template-columns:minmax(104px,150px) minmax(0,1fr) minmax(220px,250px)!important;}
.party-media-strip,.party-wide-main,.party-wide-stats{min-width:0!important;}
.party-wide-main h2,.party-wide-main p,.party-title-link{overflow-wrap:anywhere;word-break:normal;max-width:100%;}
.party-wide-main p{max-height:4.5em;overflow:auto;}
.party-wide-stats a,.party-wide-stats div{min-width:0!important;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--party2,#facc15) 12%,#ffffff))!important;border:1px solid color-mix(in srgb,var(--party,#0f766e) 24%,#e2e8f0)!important;}
.party-wide-stats strong{color:var(--party,#0f766e)!important;}
.party-badge{border-color:var(--party-accent,#0f766e)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--party-accent,#0f766e) 12%,#ffffff),#fff)!important;}
.party-profile-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--party,#0f766e) 13%,#ffffff),color-mix(in srgb,var(--party2,#facc15) 16%,#ffffff))!important;}
.profile{min-width:0;align-items:flex-start}.profile>div{min-width:0}.profile h2{overflow-wrap:anywhere}.result-snapshot-media{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.symbol{max-width:90px}.candidate-mini{min-width:0}.candidate-mini span{overflow-wrap:anywhere;}
@media(max-width:980px){.party-wide-card{grid-template-columns:1fr!important}.party-media-strip{justify-content:flex-start}.party-wide-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.party-wide-main p{max-height:none;overflow:visible}}
@media(max-width:640px){.party-wide-stats{grid-template-columns:1fr 1fr 1fr!important}.party-wide-stats strong{font-size:17px!important}.party-flag-wide{width:60px;height:38px}.party-logo-wide{width:60px;height:60px}.profile{display:grid!important;gap:14px}.profile-photo{width:150px!important;height:150px!important}.symbol{width:64px;height:64px}.party-wide-card{padding:12px!important}}

/* v1.1.6 chart and colour repair */
.bbc-seat-strip{gap:12px!important;align-items:stretch!important}.bbc-seat-block{opacity:1!important;color:#fff!important;background:linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 58%,var(--party2,#facc15) 100%)!important;border:1px solid rgba(15,23,42,.20)!important;border-bottom:5px solid var(--party2,#facc15)!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important;box-shadow:0 10px 26px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.22)!important}.bbc-seat-block strong,.bbc-seat-block .bbc-party,.bbc-seat-block em{color:#fff!important}.bbc-seat-block em.pos{background:rgba(255,255,255,.18);border-radius:999px;padding:3px 8px}.bbc-seat-block em.neg{background:rgba(0,0,0,.22);border-radius:999px;padding:3px 8px}
.chart-card{min-height:300px!important}.chart-card canvas{display:block!important;width:100%!important;height:240px!important;max-height:260px!important}.compact-history-grid .chart-card,.history-chart-card{min-height:270px!important}.compact-history-grid canvas,.history-chart-card canvas{height:205px!important;max-height:220px!important}.constituency-chart-grid canvas,#compareChart,#turnoutPieChart{height:230px!important;max-height:240px!important}.admin-dashboard-grid .chart-card{min-height:280px!important}.admin-dashboard-grid canvas,#adminTurnout{height:220px!important;max-height:230px!important}.tv-card canvas{height:210px!important;max-height:215px!important}.party-position-charts .chart-card{min-height:315px!important}.party-position-charts canvas{height:255px!important}
.party-change-card{background:linear-gradient(135deg,#ffffff,#f8fafc)!important;border:1px solid #dbeafe!important;box-shadow:0 14px 35px rgba(15,23,42,.10)!important}.party-wide-card,.top-party-card,.party-profile-hero{box-shadow:0 16px 34px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.4)!important}.party-wide-card:hover,.top-party-card:hover,.bbc-seat-block:hover{transform:translateY(-2px);filter:saturate(1.1)}
@media(max-width:760px){.chart-card{min-height:260px!important}.chart-card canvas{height:200px!important;max-height:210px!important}.compact-history-grid .chart-card,.history-chart-card{min-height:245px!important}.compact-history-grid canvas,.history-chart-card canvas{height:185px!important}.constituency-chart-grid canvas,#compareChart,#turnoutPieChart{height:195px!important;max-height:205px!important}.party-position-charts canvas{height:210px!important}.bbc-seat-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bbc-seat-block{min-height:88px!important}}


/* v1.1.7 party colour polish */
.party-kpi-card,.top-party-card,.top-party-card-v1023{background:linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 62%,var(--party2,#facc15) 100%)!important;color:#fff!important;border:1px solid rgba(15,23,42,.10)!important;box-shadow:0 18px 38px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.28)!important;}
.party-kpi-card .stat,.top-party-card .stat,.top-party-card-v1023 .stat{font-size:clamp(32px,4vw,52px)!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.28)!important;line-height:1!important;}
.party-kpi-card .label,.top-party-card .label,.top-party-card-v1023 .label,.top-party-card-v1023 .top-party-full-name{color:rgba(255,255,255,.96)!important;text-shadow:0 1px 3px rgba(0,0,0,.2)!important;}
.chart-card,.party-position-charts .chart-card,.history-chart-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important;}
.bbc-seat-strip{background:#f8fafc!important;border:1px solid #e2e8f0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;}
.bbc-seat-block{background:linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 64%,var(--party2,#facc15) 100%)!important;border:1px solid color-mix(in srgb,var(--party,#0f766e) 24%,#ffffff)!important;border-bottom:0!important;border-radius:13px!important;box-shadow:0 9px 22px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.24)!important;}
.bbc-seat-block:before{display:none!important}.bbc-seat-block strong{background:rgba(255,255,255,.17)!important}.bbc-seat-block em{background:linear-gradient(135deg,color-mix(in srgb,var(--party2,#facc15) 82%,#ffffff),color-mix(in srgb,var(--party2,#facc15) 64%,#111827))!important;color:#0f172a!important;text-shadow:none!important;border-top:1px solid rgba(255,255,255,.35)!important}.bbc-seat-block em.neg{color:#111827!important}.bbc-seat-block em.pos{color:#052e16!important}.party-change-title span{max-width:620px;white-space:normal;color:#475569!important;font-weight:700}
.party-profile-hero-v117{display:grid!important;grid-template-columns:minmax(240px,360px) 1fr;gap:22px;align-items:center;padding:24px!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.90)),linear-gradient(135deg,var(--party,#0f766e),var(--party2,#facc15))!important;border-left:11px solid var(--party,#0f766e)!important;border-right:6px solid var(--party2,#facc15)!important;}
.party-profile-media-v117{display:grid;gap:12px;align-items:center}.party-profile-flag-v117{width:100%;height:190px;object-fit:cover;border-radius:22px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 16px 30px rgba(15,23,42,.15)}.party-profile-small-media-v117{display:flex;gap:12px;align-items:center}.party-profile-logo-v117,.party-profile-symbol-v117{width:72px;height:72px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid #e2e8f0;padding:6px;box-shadow:0 8px 18px rgba(15,23,42,.10)}.party-profile-copy-v117 h2{margin:0;font-size:clamp(28px,4vw,46px);letter-spacing:-.04em}.party-profile-title-row-v117{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.party-profile-copy-v117 p{max-width:780px}
@media(max-width:780px){.party-profile-hero-v117{grid-template-columns:1fr;padding:18px!important}.party-profile-flag-v117{height:140px}.party-profile-logo-v117,.party-profile-symbol-v117{width:58px;height:58px}.bbc-seat-block{min-width:120px!important}.party-change-title span{font-size:12px}}


/* v1.1.8 professional election-night Party Position Change redesign */
.party-change-card{
  padding:18px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 58%,#eef6ff 100%)!important;
  border:1px solid rgba(148,163,184,.32)!important;
  box-shadow:0 22px 48px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.party-change-title{align-items:center!important;margin-bottom:16px!important;border-bottom:1px solid rgba(148,163,184,.22);padding-bottom:12px;}
.party-change-title h2{
  font-size:clamp(24px,2.6vw,34px)!important;
  letter-spacing:-.045em!important;
  color:#071827!important;
  line-height:1!important;
}
.party-change-title span{
  font-size:13px!important;
  color:#334155!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  max-width:720px!important;
}
.bbc-seat-strip{
  gap:14px!important;
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#f8fafc,#eef2f7)!important;
  border:1px solid rgba(148,163,184,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(15,23,42,.04)!important;
}
.bbc-seat-block{
  min-width:150px!important;
  flex-basis:150px!important;
  min-height:132px!important;
  display:grid!important;
  grid-template-rows:44px 1fr 38px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  position:relative!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.45),transparent 31%),
    linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 52%,var(--party2,#facc15) 100%)!important;
  border:1px solid rgba(255,255,255,.70)!important;
  outline:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 18px 34px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -22px 34px rgba(0,0,0,.10)!important;
  transform:translateZ(0)!important;
}
.bbc-seat-block::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 38%,rgba(0,0,0,.12));
  pointer-events:none;
  z-index:-1;
}
.bbc-seat-block:hover{transform:translateY(-4px) scale(1.015)!important;filter:saturate(1.16) contrast(1.04)!important;box-shadow:0 24px 46px rgba(15,23,42,.26), inset 0 1px 0 rgba(255,255,255,.42)!important;}
.bbc-seat-block .bbc-party{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0 10px!important;
  font-size:clamp(15px,1.3vw,19px)!important;
  line-height:1.05!important;
  font-weight:1000!important;
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.36)!important;
  background:rgba(0,0,0,.13)!important;
  white-space:normal!important;
}
.bbc-seat-block strong{
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:1!important;
  color:#fff!important;
  background:transparent!important;
  text-shadow:0 4px 12px rgba(0,0,0,.34)!important;
  letter-spacing:-.07em!important;
}
.bbc-seat-block em{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;
  margin:0!important;
  border-radius:0!important;
  font-style:normal!important;
  font-size:clamp(15px,1.3vw,18px)!important;
  font-weight:1000!important;
  letter-spacing:-.02em!important;
  color:#0f172a!important;
  text-shadow:none!important;
  background:linear-gradient(135deg,#f8fafc,#dbeafe)!important;
  border-top:1px solid rgba(255,255,255,.50)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.bbc-seat-block em.pos{background:linear-gradient(135deg,#dcfce7,#86efac)!important;color:#064e3b!important;}
.bbc-seat-block em.neg{background:linear-gradient(135deg,#fee2e2,#fca5a5)!important;color:#7f1d1d!important;}
.party-change-table-wrap{margin-top:16px!important;border-radius:18px!important;border:1px solid #e2e8f0!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,23,42,.07)!important;}
.party-change-table th{background:#f8fafc!important;color:#0f172a!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.party-change-table td{font-size:14px!important;}
@media(max-width:900px){.bbc-seat-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.bbc-seat-block{min-width:0!important;flex-basis:auto!important}.party-change-title{display:block!important}.party-change-title span{display:block!important;margin-top:7px!important}}
@media(max-width:520px){.bbc-seat-strip{grid-template-columns:1fr!important;padding:12px!important}.bbc-seat-block{min-height:118px!important;grid-template-rows:38px 1fr 34px!important}.party-change-card{padding:12px!important}.party-change-title h2{font-size:22px!important}.bbc-seat-block strong{font-size:42px!important}}


/* v1.1.9 party page card spacing and colour polish */
.party-list-horizontal{display:grid!important;gap:16px!important;max-width:1380px!important;}
.party-wide-card{display:grid!important;grid-template-columns:minmax(128px,180px) minmax(0,1fr) minmax(330px,410px)!important;align-items:stretch!important;gap:18px!important;overflow:hidden!important;}
.party-wide-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-self:center!important;min-width:0!important;}
.party-wide-stats a,.party-wide-stats div{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:84px!important;padding:12px 10px!important;text-align:center!important;border-radius:16px!important;overflow:hidden!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
.party-wide-stats strong{font-size:clamp(22px,2.3vw,34px)!important;line-height:1!important;white-space:nowrap!important;}
.party-wide-stats span{font-size:12px!important;line-height:1.15!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.035em!important;white-space:normal!important;max-width:100%!important;}
.party-wide-main h2{font-size:clamp(22px,2.4vw,34px)!important;line-height:1.08!important;}
.party-wide-main p{font-size:14px!important;line-height:1.35!important;}
@media(max-width:1060px){.party-wide-card{grid-template-columns:minmax(110px,150px) minmax(0,1fr)!important}.party-wide-stats{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.party-wide-stats a,.party-wide-stats div{min-height:72px!important}}
@media(max-width:640px){.party-wide-card{grid-template-columns:1fr!important}.party-media-strip{display:flex!important}.party-wide-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.party-wide-stats span{font-size:10.5px!important;letter-spacing:0!important}.party-wide-stats strong{font-size:20px!important}.party-wide-stats a,.party-wide-stats div{padding:9px 6px!important;min-height:66px!important}}
.party-change-card,.chart-card{background:#fff!important;}
.bbc-seat-block{color:#fff!important;}
.bbc-seat-block strong{letter-spacing:-.04em!important;}


/* v1.1.10 full-width consistency, softer party cards, taller SVG map, flatter public report */
:root{--site-max:1520px;}
.wrap{max-width:var(--site-max)!important;width:min(96vw,var(--site-max))!important;}
.wide-wrap{max-width:1560px!important;width:min(97vw,1560px)!important;}
.section.wrap,.hero .wrap,footer .wrap,.public-footer .wrap{max-width:var(--site-max)!important;width:min(96vw,var(--site-max))!important;}
@media(min-width:1200px){.section{padding-left:0!important;padding-right:0!important}.hero{padding-left:0!important;padding-right:0!important}}
/* reduce apparent opacity/saturation of party cards by approx 20% while retaining readable content */
.party-wide-card,.party-kpi-card,.top-party-card,.top-party-card-v1023{filter:saturate(.86) brightness(1.06)!important;}
.party-wide-card{background:linear-gradient(135deg,color-mix(in srgb,var(--party,#0f766e) 82%,#fff 18%),color-mix(in srgb,var(--party2,#facc15) 82%,#fff 18%))!important;border-color:color-mix(in srgb,var(--party,#0f766e) 40%,#e2e8f0 60%)!important;}
.party-wide-stats a,.party-wide-stats div{background:rgba(255,255,255,.86)!important;color:#0f172a!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(15,23,42,.08)!important;}
.party-wide-stats strong{color:#0f172a!important}.party-wide-stats span{color:#334155!important;}
.party-wide-main h2,.party-wide-main p{overflow-wrap:anywhere!important;}
/* make interactive SVG map taller on PC so less vertical scrolling is needed */
@media(min-width:1024px){
  .svg-map-page-card{min-height:calc(100vh - 190px)!important;}
  .svg-map-layout{grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important;align-items:stretch!important;}
  .public-svg-map,.improved-svg-map,.svg-map-wrap{height:calc(100vh - 310px)!important;min-height:760px!important;max-height:1080px!important;}
  .svg-map-scale{min-height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  .svg-map-scale svg{max-height:100%!important;width:100%!important;height:100%!important;object-fit:contain!important;}
}
@media(min-width:1500px){.public-svg-map,.improved-svg-map,.svg-map-wrap{min-height:850px!important;height:calc(100vh - 260px)!important;}}
/* flat public results report: constituency is a column, not grouped cards */
.compact-report-card{padding:14px!important;border-radius:18px!important;}
.flat-report-head{margin-bottom:10px!important;padding-bottom:8px!important;border-bottom:1px solid #e2e8f0!important;}
.flat-results-table{font-size:13px!important;}
.flat-results-table th,.flat-results-table td{padding:7px 9px!important;vertical-align:middle!important;}
.flat-results-table .candidate-photo-cell,.flat-results-table .party-badge{gap:6px!important;}
.tiny-photo{width:30px!important;height:30px!important;border-radius:8px!important;object-fit:contain!important;background:#fff!important;}
@media(max-width:760px){.wrap,.section.wrap,.hero .wrap{width:min(94vw,100%)!important}.flat-results-table{font-size:12px!important}.flat-results-table th,.flat-results-table td{padding:6px!important}.public-svg-map,.improved-svg-map,.svg-map-wrap{min-height:520px!important}}


/* v1.1.13 focused UI patch: party cards, theme links, results report */
:root{
  --theme-link:#065f46;
  --theme-link-hover:#b7791f;
  --theme-link-visited:#0f766e;
}
a{color:var(--theme-link);}
a:visited{color:var(--theme-link-visited);}
a:hover,a:focus{color:var(--theme-link-hover);}
.party-title-link,.candidate-name-link,.result-link,.constituency-link{color:var(--theme-link)!important;}
.party-title-link:hover,.candidate-name-link:hover,.result-link:hover,.constituency-link:hover{color:var(--theme-link-hover)!important;}
/* restore 10% strength from the softened v1.1.10 party cards */
.party-wide-card,.party-kpi-card,.top-party-card,.top-party-card-v1023{filter:saturate(.96) brightness(1.03)!important;}
.party-wide-card{
  background:linear-gradient(135deg,color-mix(in srgb,var(--party,#0f766e) 90%,#fff 10%),color-mix(in srgb,var(--party2,#facc15) 90%,#fff 10%))!important;
  border:1px solid color-mix(in srgb,var(--party,#0f766e) 58%,#e2e8f0 42%)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.13),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.party-wide-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none;}
.party-wide-card{position:relative;}
.party-wide-main,.party-wide-stats,.party-media-strip{position:relative;z-index:1;}
.party-wide-stats a,.party-wide-stats div{min-width:0!important;overflow:hidden!important;}
.party-wide-stats span{white-space:normal!important;overflow-wrap:anywhere!important;}
.flat-results-table th:nth-child(1),.flat-results-table td:nth-child(1){min-width:220px;}
.flat-results-table th:nth-child(4),.flat-results-table td:nth-child(4){min-width:155px;}
.flat-results-table .party-badge{margin-right:5px;}
.party-name-inline{font-weight:800;}
@media(max-width:760px){.flat-results-table th:nth-child(1),.flat-results-table td:nth-child(1){min-width:190px}.flat-results-table th:nth-child(4),.flat-results-table td:nth-child(4){min-width:135px}}


/* v1.1.14 news, security, TV, map and polished layout */
a{color:#064e3b}a:hover{color:#b45309}.side a{color:#e5fff4!important}.side a:hover{color:#ffffff!important;background:rgba(255,255,255,.14)!important}.news-page .news-hero{background:linear-gradient(135deg,#052e16,#065f46,#0f172a);color:#fff;border:0}.live-badge-public{display:inline-flex;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#dc2626,#991b1b);font-weight:1000;color:#fff;box-shadow:0 0 18px rgba(220,38,38,.38)}.news-grid,.news-list,.tickergrid{display:grid;gap:12px}.breaking-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.news-card{display:grid;grid-template-columns:120px 1fr;gap:12px;background:#fff;border:1px solid #e2e8f0;border-left:6px solid #0f766e;border-radius:18px;padding:10px;box-shadow:0 12px 28px rgba(15,23,42,.08)}.news-breaking-card{border-left-color:#dc2626;background:linear-gradient(135deg,#fff,#fff7ed)}.news-img{width:120px;height:90px;object-fit:cover;border-radius:14px}.news-body h2{font-size:18px;margin:4px 0}.news-body p{margin:4px 0;color:#475569}.news-type{text-transform:uppercase;font-weight:1000;color:#b45309;font-size:11px;letter-spacing:.08em}.top-news-parties{display:grid;gap:10px}.news-party{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:18px;text-decoration:none;background:linear-gradient(135deg,var(--party,#0f766e),var(--party2,#facc15));color:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.12)}.news-party img{width:54px;height:36px;object-fit:cover;border-radius:10px;border:2px solid rgba(255,255,255,.55)}.news-party strong{font-size:20px}.news-party span{grid-column:2/4;font-size:12px;opacity:.92}.security-protected body{user-select:none}.compact-form .table{min-width:620px}.entered-results-card h2{margin-top:0}.flat-results-table th,.flat-results-table td{white-space:nowrap}.svg-map-page-card{min-height:calc(100vh - 190px)}.svg-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px}.svg-map-wrap{height:calc(100vh - 285px);min-height:560px;overflow:hidden!important;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ecfdf5,#fefce8);border-radius:20px}.svg-map-scale{width:100%!important;height:100%!important;transform:none!important;display:flex;align-items:center;justify-content:center}.svg-map-scale svg{max-width:100%!important;max-height:100%!important;width:auto!important;height:100%!important;min-width:0!important;display:block}.svg-info-panel{max-height:calc(100vh - 285px);overflow:auto}.compact-map-note{display:none}.tv body,.tv-shell{overflow:hidden}.tv-shell{height:100vh;box-sizing:border-box}.tv-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tv-card{min-height:180px!important;padding:12px!important}.tv-card canvas{max-height:160px!important}.tv-latest-full .latest-list{max-height:180px!important}.tv-latest-full .tv-scroll-track{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tv-kpi{padding:12px!important}.tv-kpi strong{font-size:1.65rem!important}.kpi-row{gap:8px!important;margin:8px 0!important}.tv-ticker{margin:8px 0!important}.tvbar{padding:10px 14px!important}.latest-tv-card h2{font-size:1.55rem!important}.version-footer{gap:14px;padding:12px 10px;line-height:1.4}.version-footer span{display:inline-flex;align-items:center}
@media(max-width:900px){.news-card{grid-template-columns:1fr}.news-img{width:100%;height:160px}.svg-map-layout{display:block}.svg-map-wrap{height:70vh;min-height:430px;overflow:auto!important;align-items:flex-start;justify-content:flex-start}.svg-map-scale{min-width:680px!important;height:auto!important}.svg-map-scale svg{height:auto!important;width:100%!important;max-height:none!important}.svg-info-panel{max-height:55vh;margin-top:10px}.tv-shell{height:auto;overflow:auto}.tv-grid,.tv-latest-full .tv-scroll-track{grid-template-columns:1fr!important}.tv-card canvas{max-height:210px!important}}

/* v1.1.15 traceable release UI fixes */
.result-runner-row{background:transparent!important;box-shadow:none!important;}
.result-winner-row{background:rgba(34,197,94,.16)!important;box-shadow:inset 4px 0 0 #22c55e!important;}
.candidate-grid-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.candidate-grid-five .candidate-card{min-width:0;overflow:hidden;}
.compact-boundary-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.kpi-link{text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow;}
.kpi-link:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.14);}
.live-kpi-five{grid-template-columns:repeat(5,minmax(0,1fr));}
.breaking-ribbon-115{display:flex;align-items:center;gap:10px;background:#7f1d1d;color:#fff;font-weight:900;padding:8px 20px;border-bottom:3px solid #f59e0b;}
.breaking-ribbon-115 span{background:#f59e0b;color:#111827;border-radius:999px;padding:5px 10px;font-size:12px;letter-spacing:.06em;}
.winner-skyscraper{height:360px;overflow:hidden;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;}
.winner-skyscraper-track{display:grid;gap:8px;padding:10px;animation:winnerScroll115 28s linear infinite;}
.winner-skyscraper:hover .winner-skyscraper-track{animation-play-state:paused;}
@keyframes winnerScroll115{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.winner-feed-row{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f172a;background:linear-gradient(135deg,color-mix(in srgb,var(--party) 18%,#fff),color-mix(in srgb,var(--party2) 20%,#fff));border-left:5px solid var(--party);border-radius:16px;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.08);}
.winner-feed-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff;box-shadow:0 4px 10px rgba(15,23,42,.18);}
.winner-feed-flag{width:42px;height:28px;border-radius:8px;object-fit:cover;background:#fff;border:1px solid rgba(15,23,42,.12);}
.winner-feed-main{display:grid;gap:2px;min-width:0;flex:1;}.winner-feed-main b{font-size:14px;line-height:1.1;}.winner-feed-main small{font-size:11px;color:#475569;}
.winner-feed-stats{display:grid;text-align:right;}.winner-feed-stats strong{font-size:16px;}.winner-feed-stats small{font-size:10px;color:#475569;}
.tiny-flag{width:38px;height:24px;border-radius:6px;object-fit:cover;border:1px solid #e2e8f0;background:#fff;}
@media(max-width:1100px){.candidate-grid-five{grid-template-columns:repeat(3,minmax(0,1fr));}.live-kpi-five{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.candidate-grid-five{grid-template-columns:1fr;}.live-kpi-five{grid-template-columns:1fr;}.winner-skyscraper{height:420px;}}

/* v1.1.16 KPI/menu link polish */
.kpi-link{display:block;text-decoration:none;color:inherit}
.kpi-link:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.14)}
.public-menu>a{white-space:nowrap}

/* v1.1.17 footer policies, visitor analytics, party-position number emphasis */
.version-footer a.footer-policy-link{color:#facc15!important;text-decoration:none!important;font-weight:900;border-bottom:1px solid rgba(250,204,21,.45)}
.version-footer a.footer-policy-link:hover{color:#fff7ad!important;border-bottom-color:#fff7ad}.version-footer a.footer-policy-link:visited{color:#fde68a!important}
.party-change-table td:nth-child(2),.party-change-table td:nth-child(3),.party-change-table td:nth-child(4),.party-change-table td:nth-child(5),.party-change-table td:nth-child(6){font-size:1.04rem;font-weight:900;color:#0f172a}.party-change-table .change-pill{font-size:.98rem;padding:5px 10px}.party-change-table th{font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}.url-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visitor-analytics .stat{font-size:1.6rem}.policy-page h3{margin-top:1.2rem}.policy-page p{line-height:1.65}.admin-nav a[href="visitor_analytics.php"]:before{content:"📈 ";}.admin-nav a[href="news.php"]:before{content:"📰 ";}
@media(max-width:760px){.version-footer{gap:7px}.party-change-table td:nth-child(2),.party-change-table td:nth-child(3),.party-change-table td:nth-child(4),.party-change-table td:nth-child(5),.party-change-table td:nth-child(6){font-size:.95rem}.url-cell{max-width:190px}}


/* v1.1.18 refinements */
.info-kpi{cursor:default;text-decoration:none;}
@media (min-width: 900px){
  .constituencies-page .table, body.constituencies-page .table, .constituencies-table{font-size:1.04rem;}
  .constituencies-page .table td, .constituencies-page .table th{padding-top:.78rem;padding-bottom:.78rem;}
}
.wordpress-news-card{overflow:hidden;}
.news-card-link{display:block;color:inherit;text-decoration:none;height:100%;}
.news-card-link:hover h2{color:#b98900;}
.news-body[dir="auto"], textarea[dir="auto"]{unicode-bidi:plaintext;}
.news-article-wrap{max-width:1120px;margin-inline:auto;}
.news-article-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:24px;align-items:center;}
.news-article-hero img{width:100%;max-height:360px;object-fit:cover;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.18);}
.news-article-title{font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;margin:.25rem 0;}
.news-article-body{font-size:1.08rem;line-height:1.85;white-space:pre-wrap;}
.news-article-body:lang(ur), .news-article-body[dir="rtl"]{font-family:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq",Inter,sans-serif;line-height:2.2;}
@media(max-width:760px){.news-article-hero{grid-template-columns:1fr}.news-article-hero img{max-height:260px}.news-article-body{font-size:1rem}}

/* v1.1.19 News module, ticker separation and admin menu icons */
.news-specific-ticker{background:linear-gradient(90deg,#7f1d1d,#dc2626,#111827)!important;color:#fff;border-bottom:3px solid #facc15}.news-specific-ticker span{background:#facc15!important;color:#111827!important}.news-article-tile h2 a{color:#064e3b;text-decoration:none}.news-article-tile h2 a:hover{color:#b45309}.news-image-link{display:block;overflow:hidden;border-radius:18px 18px 0 0}.news-image-link img{transition:transform .25s ease}.news-image-link:hover img{transform:scale(1.04)}.wp-news-editor textarea.news-rich-textarea{min-height:260px;line-height:1.8;font-size:15px}.wp-news-editor textarea[dir=auto],.wp-news-editor input[dir=auto],.news-card [dir=rtl],.news-article-body[dir=rtl]{font-family:Inter,'Noto Nastaliq Urdu','Noto Naskh Arabic',Tahoma,Arial,sans-serif;text-align:right;line-height:2}.wp-news-editor .form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.news-list{display:grid;gap:16px}.news-card{overflow:hidden}.news-card .news-body{padding:14px}.news-card .news-img{width:100%;height:170px;object-fit:cover}.admin-nav a{font-weight:800;letter-spacing:-.01em}.settings-links a{font-size:13px}.pill{white-space:nowrap}.news-hero{background:linear-gradient(135deg,#052e16,#0f766e 55%,#111827);color:#fff}.news-hero p{color:#ecfeff}.news-type{display:inline-flex;border-radius:999px;padding:4px 9px;background:#dcfce7;color:#166534;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.breaking-grid .news-type,.news-breaking-card .news-type{background:#fee2e2;color:#991b1b}@media(max-width:700px){.wp-news-editor textarea.news-rich-textarea{min-height:190px}.news-card .news-img{height:135px}.admin-nav a{font-size:14px}}

/* v1.1.20 Kashmir header/banner and favicon polish */
.hero.has-kashmir-banner{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.62) 100%),
    url('../img/kashmir-header-banner.png') center right / cover no-repeat !important;
  border-bottom:1px solid rgba(15,118,110,.16);
}
.hero.has-kashmir-banner:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:5px;
  background:linear-gradient(90deg,#064e3b,#f59e0b,#064e3b);
  opacity:.9;
}
.hero.has-kashmir-banner .wrap{position:relative;z-index:1;}
.hero.has-kashmir-banner .title,.hero.has-kashmir-banner .subtitle{text-shadow:0 1px 0 rgba(255,255,255,.65)}
.bbc-urdu-news-section .news-card{border-left-color:#b91c1c;background:linear-gradient(135deg,#ffffff,#fff7ed)}
.bbc-urdu-news-section .news-type{background:#fee2e2;color:#991b1b}
@media(max-width:760px){
  .hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.84)),url('../img/kashmir-header-banner.png') center / cover no-repeat!important;}
}


/* v1.1.21 header, tables, dropdown and news refinements */
.hero.has-kashmir-banner{
  overflow:visible!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.89) 0%,rgba(255,255,255,.83) 38%,rgba(255,255,255,.57) 100%),
    url('../img/kashmir-header-banner.png') right 42% / cover no-repeat !important;
}
.hero.has-kashmir-banner .title{
  background:none!important;color:#064e3b!important;-webkit-text-fill-color:#064e3b!important;text-shadow:0 1px 0 rgba(255,255,255,.9),0 3px 12px rgba(255,255,255,.55)!important;
}
.hero.has-kashmir-banner .subtitle{color:#1f2937!important;text-shadow:0 1px 0 rgba(255,255,255,.9)!important;}
.public-dd-menu{z-index:9999!important;max-height:min(82vh,520px)!important;overflow-y:auto!important;overflow-x:hidden!important;}
.public-dd[open] .public-dd-menu{display:block!important;}
@media(min-width:900px){.constituencies-table{font-size:1.08rem!important}.constituencies-table th,.constituencies-table td{padding:1rem .95rem!important;}}
@media(max-width:760px){
  .table-wrap{position:relative;padding-bottom:22px;}
  .table-wrap:after{content:'Swipe left/right →';position:sticky;left:8px;bottom:2px;display:inline-flex;background:linear-gradient(135deg,#064e3b,#0f766e);color:#fff;font-size:11px;font-weight:900;border-radius:999px;padding:5px 10px;box-shadow:0 8px 18px rgba(15,23,42,.18);z-index:4;opacity:.92;}
  .table-wrap.no-swipe-hint:after{display:none;}
}
.news-source-link{display:inline-flex;margin-top:7px;font-weight:900;color:#064e3b!important;text-decoration:none;border-bottom:1px solid rgba(6,78,59,.35)}
.news-source-link:hover{color:#b45309!important;border-bottom-color:#b45309}.soft-sep{border:0;border-top:1px solid #e2e8f0;margin:18px 0}.top-candidate-margin-list{display:grid;gap:10px}.top-candidate-margin{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;text-decoration:none!important;color:#0f172a!important;border-left:5px solid var(--party,#0f766e);border-right:2px solid var(--party2,#facc15);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--party2,#facc15) 13%,#fff));border-radius:16px;padding:9px;box-shadow:0 8px 18px rgba(15,23,42,.07)}.top-candidate-margin img{width:44px;height:44px;border-radius:13px;object-fit:cover;background:#f1f5f9}.top-candidate-margin span{display:grid;min-width:0}.top-candidate-margin b{font-size:13px;line-height:1.15;overflow-wrap:anywhere}.top-candidate-margin small{font-size:11px;color:#475569}.top-candidate-margin strong{font-size:18px;color:var(--party,#0f766e)}.bulk-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.bulk-news-form td:first-child,.bulk-news-form th:first-child{text-align:center;width:42px}.bulk-news-form input[type=checkbox]{width:18px;height:18px;accent-color:#0f766e}


/* v1.1.22 news layout, header banner and constituency table refinements */
.hero.has-kashmir-banner{
  background:
    linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.84) 38%,rgba(255,255,255,.60) 100%),
    url('../img/kashmir-header-banner.png') center right / cover no-repeat !important;
}
.news-top-block-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;align-items:stretch;}
.news-lower-grid-122{display:grid;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:18px;align-items:start;}
.news-block{position:relative;overflow:visible;}
.admin-block-label{position:absolute;top:-10px;right:14px;background:linear-gradient(135deg,#111827,#064e3b);color:#fff;border:1px solid rgba(250,204,21,.55);box-shadow:0 10px 22px rgba(15,23,42,.18);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;z-index:5;}
.news-block-main .news-card .news-img{height:190px;}
.news-block-side .news-party{padding:10px;}
.news-block-side .top-candidate-margin{grid-template-columns:38px 1fr auto;padding:8px;}
.news-block-side .top-candidate-margin img{width:38px;height:38px;}
.news-block-side .top-candidate-margin strong{font-size:16px;}
.news-lower-layout-122 .news-block-full{padding:22px;}
.bbc-feed-panel-122 .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.winner-feed-panel-122 .winner-skyscraper{height:560px;}
.news-list-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.news-list-compact .news-card .news-img{height:150px;}
@media(min-width:900px){
  .constituencies-table th,.constituencies-table td{padding:.58rem .82rem!important;line-height:1.28!important;}
}
@media(max-width:1100px){
  .news-top-block-grid{grid-template-columns:1fr 1fr;}
  .news-block-main{grid-column:1/-1;}
  .news-lower-grid-122{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .news-top-block-grid,.news-lower-grid-122,.news-list-compact,.bbc-feed-panel-122 .news-grid{grid-template-columns:1fr!important;}
  .news-lower-layout-122 .news-block-full{padding:16px;}
  .winner-feed-panel-122 .winner-skyscraper{height:430px;}
  .admin-block-label{position:static;display:inline-flex;margin:0 0 8px;}
  .hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.82)),url('../img/kashmir-header-banner.png') center / cover no-repeat!important;}
}

/* v1.1.23 integrated newspaper-style News front page */
.news23-breaking{display:flex;align-items:center;gap:0;background:#111827;color:#fff;border-bottom:4px solid #facc15;overflow:hidden;font-weight:900}.news23-breaking>span{background:#dc2626;color:#fff;text-transform:uppercase;letter-spacing:.06em;padding:12px 18px;white-space:nowrap}.news23-breaking marquee{padding:0 14px;font-size:15px}.news23-page{padding-top:20px}.news23-front-grid{display:block}.news23-top-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;align-items:stretch}.news23-block{position:relative;overflow:visible}.news23-hero-block{padding:0;overflow:hidden}.news23-hero{height:100%;display:grid;grid-template-rows:auto 1fr;background:#fff}.news23-hero>a{display:block}.news23-hero img{width:100%;height:330px;object-fit:cover;background:#ecfdf5}.news23-hero-text{padding:22px}.news23-live-label,.news23-category{display:inline-flex;align-items:center;border-radius:999px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;margin-bottom:10px}.news23-hero h2{font-size:clamp(28px,3.1vw,46px);line-height:1.02;letter-spacing:-.05em;margin:6px 0 12px}.news23-hero h2 a,.news23-card h3 a,.news23-mini a{color:#064e3b;text-decoration:none}.news23-hero h2 a:hover,.news23-card h3 a:hover,.news23-mini a:hover{color:#b45309}.news23-hero p{font-size:16px;color:#475569;line-height:1.65}.news23-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#64748b;font-weight:800;font-size:13px}.news23-side-block h2,.news23-block h2{margin-top:0;color:#064e3b;letter-spacing:-.035em}.news23-mini-list{display:grid;gap:12px}.news23-mini a{display:grid;grid-template-columns:92px 1fr;gap:11px;align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:8px;box-shadow:0 8px 18px rgba(15,23,42,.06)}.news23-mini img{width:92px;height:70px;object-fit:cover;border-radius:12px}.news23-mini b{display:block;line-height:1.22;font-size:13.5px}.news23-mini small{display:block;color:#64748b;margin-top:4px}.news23-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.news23-summary-grid a{display:grid;gap:2px;text-align:center;border-radius:16px;background:linear-gradient(135deg,#ecfdf5,#fff7ed);border:1px solid #bbf7d0;padding:12px;text-decoration:none;box-shadow:0 8px 16px rgba(15,23,42,.06)}.news23-summary-grid strong{font-size:26px;color:#064e3b;line-height:1}.news23-summary-grid span{font-size:11px;color:#475569;font-weight:900;text-transform:uppercase}.news23-progress{height:14px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:14px 0 8px}.news23-progress span{display:block;height:100%;background:linear-gradient(90deg,#064e3b,#facc15)}.news23-block-full{margin-top:18px}.news23-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:3px solid #064e3b;padding-bottom:8px;margin-bottom:14px}.news23-section-head h2{margin:0}.news23-section-head span,.news23-section-head a{font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.news23-latest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.news23-card{overflow:hidden;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 28px rgba(15,23,42,.08)}.news23-img{display:block;overflow:hidden}.news23-img img{width:100%;height:155px;object-fit:cover;transition:transform .25s ease;background:#ecfdf5}.news23-card:hover .news23-img img{transform:scale(1.045)}.news23-body{padding:14px}.news23-card h3{font-size:16px;line-height:1.24;margin:4px 0 8px}.news23-card p{font-size:13.5px;color:#475569;line-height:1.55;margin:0 0 12px}.news23-election-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:18px}.news23-update-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.news23-update-cards a{display:grid;gap:7px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#f0fdf4,#fff);border-left:5px solid #064e3b;box-shadow:0 8px 18px rgba(15,23,42,.06);text-decoration:none}.news23-update-cards b{color:#064e3b}.news23-update-cards span{color:#475569;font-size:13px}.news23-popular ol{margin:0;padding-left:22px}.news23-popular li{margin:8px 0;font-weight:800}.news23-lower{padding-top:0}.news23-lower-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(330px,2fr);gap:18px}.bbc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rss-card .news23-category{background:#fee2e2;color:#991b1b}.news23-winner-feed{height:620px}.news23-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.news23-party-candidates{padding-top:0}.news23-page [dir=rtl],.news23-lower [dir=rtl]{font-family:Inter,'Noto Nastaliq Urdu','Noto Naskh Arabic',Tahoma,Arial,sans-serif;text-align:right;line-height:2}.news23-page .admin-block-label{top:-12px}.news23-page .card,.news23-lower .card,.news23-party-candidates .card{border-radius:22px}@media(max-width:1250px){.news23-top-grid{grid-template-columns:1fr 1fr}.news23-hero-block{grid-column:1/-1}.news23-latest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.news23-update-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bbc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.news23-top-grid,.news23-election-grid,.news23-lower-split,.news23-two-cols{grid-template-columns:1fr}.news23-latest-grid,.bbc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news23-winner-feed{height:460px}.news23-hero img{height:260px}}@media(max-width:620px){.news23-breaking{display:block}.news23-breaking>span{display:block;text-align:center;padding:9px}.news23-top-grid,.news23-latest-grid,.bbc-grid,.news23-update-cards,.news23-summary-grid{grid-template-columns:1fr}.news23-mini a{grid-template-columns:82px 1fr}.news23-mini img{width:82px;height:64px}.news23-hero-text{padding:16px}.news23-hero h2{font-size:27px}.news23-card h3{font-size:15px}.news23-section-head{display:block}.news23-summary-grid a{padding:10px}.news23-winner-feed{height:420px}.news23-page .admin-block-label{position:static;display:inline-flex;margin-bottom:8px}}

/* v1.2.0 News & Media Edition refinements */
.news23-top-grid{align-items:stretch!important;}
.news23-top-grid>.news23-block{height:100%;}
.news23-hero-block,.news23-side-block{min-height:560px;}
.news23-hero{height:100%;}
.news23-mini-list{gap:10px;}
.news23-mini a{min-height:86px;}
.news23-summary-grid{grid-template-columns:1fr!important;gap:12px!important;}
.news23-summary-grid a{grid-template-columns:auto 1fr;align-items:center;text-align:left;padding:16px 18px!important;border-radius:18px!important;}
.news23-summary-grid strong{font-size:34px!important;min-width:90px;}
.news23-summary-grid span{font-size:13px!important;text-align:left;}
.news23-latest-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.news23-card h3{font-size:17px;}
.news23-card p{line-height:1.5;}
.news23-lower-split{align-items:stretch;}
.news23-lower-split>.news23-block{height:100%;}
.news23-winner-feed,.bbc-urdu-news-section{height:620px;overflow:hidden;}
.bbc-urdu-news-section .news23-latest-grid{max-height:540px;overflow:auto;padding-right:6px;}
.top-candidate-margin-list{display:grid;gap:10px;}
.top-candidate-margin{min-height:66px;}
.top-candidate-margin strong{font-size:20px;}
.news23-two-cols>.card{height:100%;}
.news23-party-candidates .news23-two-cols{align-items:stretch;}
.about-system-page .grid.two{align-items:stretch;}
.about-system-page .grid.two>.card{height:100%;display:flex;flex-direction:column;justify-content:flex-start;min-height:210px;}
.scroll-top-btn{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:999px;border:0;background:linear-gradient(135deg,#064e3b,#facc15);color:#fff;font-weight:1000;font-size:24px;box-shadow:0 14px 30px rgba(15,23,42,.25);cursor:pointer;z-index:200;opacity:0;pointer-events:none;transform:translateY(12px);transition:.22s ease;}
.scroll-top-btn.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.news-article-social{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;}
.news-article-social a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-weight:900;background:#f8fafc;border:1px solid #e2e8f0;color:#064e3b;}
.related-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;}
.related-news-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.06);}
.related-news-card h3{font-size:16px;line-height:1.25;margin:0 0 8px;}
@media(max-width:1250px){.news23-hero-block,.news23-side-block{min-height:auto}.news23-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.news23-summary-grid a{grid-template-columns:1fr;text-align:center}.news23-summary-grid span{text-align:center}.news23-summary-grid strong{min-width:0}}
@media(max-width:760px){
  .news23-page,.news23-lower,.news23-party-candidates{padding-left:0;padding-right:0;}
  .news23-top-grid,.news23-election-grid,.news23-lower-split,.news23-two-cols,.news23-latest-grid,.bbc-grid,.news23-update-cards{grid-template-columns:1fr!important;}
  .news23-hero img{height:210px!important;}
  .news23-hero h2{font-size:24px!important;line-height:1.12!important;}
  .news23-hero p,.news23-card p{font-size:14px!important;}
  .news23-summary-grid a{grid-template-columns:auto 1fr;text-align:left;}
  .news23-summary-grid span{text-align:left;}
  .news23-summary-grid strong{font-size:30px!important;min-width:74px;}
  .news23-mini a{grid-template-columns:78px 1fr!important;}
  .news23-mini img{width:78px!important;height:62px!important;}
  .news23-winner-feed,.bbc-urdu-news-section{height:auto;max-height:none;overflow:visible;}
  .bbc-urdu-news-section .news23-latest-grid{max-height:none;overflow:visible;padding-right:0;}
  .winner-skyscraper{height:420px;}
  .related-news-grid{grid-template-columns:1fr;}
}


/* v1.2.1 News refinement release */
.election-countdown{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:235px; padding:8px 14px; border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(250,204,21,.20));
  border:1px solid rgba(255,255,255,.35); color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.25),0 10px 22px rgba(0,0,0,.12);
}
.election-countdown .countdown-title{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;opacity:.92}
.election-countdown .countdown-values{font-size:15px;font-weight:1000;white-space:nowrap}
.news23-mini-list{grid-template-columns:1fr 1fr;display:grid}
.news23-mini-list .news23-mini a{height:100%;min-height:156px;display:grid;grid-template-columns:1fr;align-content:start}
.news23-mini-list .news23-mini img{width:100%;height:86px;object-fit:cover}
.news23-hero-block,.news23-side-block{min-height:590px}
.news23-hero h2{font-size:clamp(24px,2.45vw,38px)!important;line-height:1.08!important}
.news23-summary-grid-six{grid-template-columns:1fr!important;gap:10px!important}
.news23-summary-grid-six a{min-height:72px}
.news23-summary-grid-six strong{font-size:30px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rss-card .news23-img img,.bbc-urdu-news-section .news23-card .news23-img img{
  width:100%; height:auto!important; aspect-ratio:16/9; object-fit:cover; object-position:center; background:#f1f5f9;
}
.bbc-urdu-news-section .news23-card{display:flex;flex-direction:column}
.bbc-urdu-news-section .news23-card .news23-body{flex:1}
@media(max-width:1250px){
  .news23-mini-list{grid-template-columns:1fr}
  .news23-mini-list .news23-mini a{min-height:auto;grid-template-columns:92px 1fr}
  .news23-mini-list .news23-mini img{width:92px;height:70px}
  .election-countdown{order:3;min-width:100%;margin-top:8px}
}
@media(max-width:760px){
  .election-countdown{padding:7px 10px;border-radius:14px}
  .election-countdown .countdown-values{font-size:13px}
  .news23-hero h2{font-size:22px!important}
  .news23-mini-list{grid-template-columns:1fr!important}
  .news23-mini-list .news23-mini a{grid-template-columns:86px 1fr!important;min-height:auto!important}
  .news23-mini-list .news23-mini img{width:86px!important;height:66px!important}
}

/* v1.2.2 newsroom refinements */
.news23-breaking>span{font-size:85%!important;}
.news23-top-grid{grid-template-columns:2fr 1fr 1fr!important;align-items:stretch!important;}
.news23-top-grid>.news23-block{height:100%;}
.news23-hero-block,.news23-side-block{min-height:590px;}
.news23-mini-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.news23-mini-list .news23-mini a{grid-template-columns:88px 1fr!important;min-height:94px!important;align-content:center!important;}
.news23-mini-list .news23-mini img{width:88px!important;height:68px!important;object-fit:cover!important;border-radius:12px!important;}
.news23-summary-grid-eight{grid-template-columns:1fr!important;gap:8px!important;}
.news23-summary-grid-eight a{grid-template-columns:98px 1fr!important;align-items:center!important;text-align:left!important;padding:10px 12px!important;min-height:56px!important;border-radius:16px!important;}
.news23-summary-grid-eight strong{font-size:25px!important;min-width:90px!important;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news23-summary-grid-eight span{font-size:11.5px!important;text-align:left!important;line-height:1.25!important;}
.bbc-urdu-news-section .news23-card .news23-img{display:block;background:#f8fafc;aspect-ratio:16/9;}
.bbc-urdu-news-section .news23-card .news23-img img,
.rss-card .news23-img img{width:100%!important;height:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;background:#f8fafc!important;}
.party-position-charts .chart-card:has(#partySeatsChart){min-height:460px;}
#partySeatsChart{min-height:360px!important;}
.tv-card:has(#seats){min-height:280px;}
.tv-card:has(#seats) canvas{max-height:255px!important;}
@media(max-width:1250px){.news23-top-grid{grid-template-columns:1fr!important}.news23-hero-block,.news23-side-block{min-height:auto}.news23-summary-grid-eight a{grid-template-columns:auto 1fr!important}.news23-summary-grid-eight strong{min-width:74px!important}}
@media(max-width:620px){.news23-summary-grid-eight a{grid-template-columns:auto 1fr!important;text-align:left!important}.news23-summary-grid-eight strong{font-size:26px!important;min-width:70px!important}.news23-mini-list .news23-mini a{grid-template-columns:82px 1fr!important;min-height:auto!important}.news23-mini-list .news23-mini img{width:82px!important;height:64px!important}}

/* v1.2.4 professional admin + frontend refinement */
:root{--ajk-link:#0b6b3a;--ajk-link-hover:#c58a00;--admin-bg:#f4f7f6;--admin-card:#ffffff;--admin-line:#dbe7df;}
a{color:var(--ajk-link)}a:hover{color:var(--ajk-link-hover)}
/* Front landing page: cleaner election-focused landing layout */
.hero.has-kashmir-banner{background-position:center -18px!important;background-size:cover!important;box-shadow:0 12px 34px rgba(6,78,59,.12)}
.hero .title{font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.03;max-width:980px}.hero .subtitle{max-width:860px;font-size:clamp(1rem,1.6vw,1.18rem)}
.home-wide-wrap,.wide-wrap{max-width:1480px!important}.kpi-cards .card{min-height:132px;display:flex;flex-direction:column;justify-content:center}.kpi-cards .stat{font-size:clamp(2rem,3vw,3.3rem)}
.top-party-card,.party-wide-card,.news-party{background:linear-gradient(135deg,var(--party,#0f766e),var(--party2,#facc15))!important;color:#fff!important;border:1px solid rgba(255,255,255,.38)!important;box-shadow:0 18px 40px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.26)!important}.top-party-card .label,.top-party-card .stat,.top-party-card a,.party-wide-card .label,.party-wide-card .stat,.party-wide-card a,.news-party span,.news-party b,.news-party strong{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.22)}
/* Admin dashboard/layout polish */
body:has(.admin-shell){background:linear-gradient(180deg,#f8fafc,#eef7f1)!important}.admin-shell{grid-template-columns:270px minmax(0,1fr)!important;background:var(--admin-bg)}.side{background:linear-gradient(180deg,#06271a,#0a3b27 54%,#10233a)!important;border-right:1px solid rgba(255,255,255,.08)}.admin-brand{font-size:1.35rem;font-weight:1000;margin-bottom:16px;letter-spacing:-.03em}.admin-nav a,.admin-nav summary{font-weight:800;display:flex!important;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:.15s ease}.admin-nav a:hover,.admin-nav summary:hover{transform:translateX(2px);background:rgba(255,255,255,.18)!important}.main{max-width:calc(100vw - 270px);padding:26px 30px!important}.main>.grid.cards,.main .cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.main .card{border-radius:22px;border:1px solid var(--admin-line);box-shadow:0 14px 34px rgba(15,23,42,.08);background:var(--admin-card)}.main h1,.main h2{letter-spacing:-.035em;color:#073d2a}.main .table{font-size:.96rem}.main .table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.btn,.button,button.btn,input[type=submit],.main button:not(.menu-toggle){width:auto!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:10px 15px!important;border-radius:12px!important;white-space:nowrap}.form .btn,.form .button{justify-self:start}.form-grid{align-items:end}.admin-form-actions,.actions,.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.communication-menu summary{background:rgba(250,204,21,.14)!important;color:#fef9c3!important}
/* Chart correction: do not stretch Seats by Party; give symbol headroom and match vote share height */
.chart-card{height:420px!important;display:flex;flex-direction:column}.chart-card canvas{height:330px!important;max-height:330px!important}.party-seats-chart-card{height:420px!important}.party-seats-chart-card canvas{height:330px!important;max-height:330px!important;margin-top:12px!important}.party-seats-chart-card h2,.chart-card h2{margin-bottom:6px!important}.party-position-charts,.chart-grid{align-items:stretch!important}.party-seats-chart-card{padding-top:18px!important;overflow:visible!important}.party-seats-chart-card .chartjs-render-monitor{overflow:visible!important}
/* News page refinements */
.news23-top-grid{align-items:stretch}.news23-hero-block,.news23-side-block{height:100%}.news23-side-block .news23-mini-list{display:grid;grid-template-columns:1fr!important;gap:10px}.news23-mini img{aspect-ratio:16/9!important;object-fit:cover!important}.news23-card img,.news23-hero img,.rss-item img,.news23-img img{object-fit:cover!important;aspect-ratio:16/9!important;width:100%;image-rendering:auto}.news23-hero-text h2{font-size:clamp(1.45rem,2.4vw,2.35rem)!important}.news23-breaking span{font-size:85%!important}.top-candidate-margin-list .top-candidate-margin:nth-child(n+5){display:none!important}
/* Sharper countdown */
.election-countdown{background:linear-gradient(135deg,#111827,#b91c1c 48%,#facc15)!important;color:#fff!important;border:2px solid rgba(250,204,21,.75)!important;border-radius:18px!important;padding:9px 13px!important;box-shadow:0 12px 30px rgba(185,28,28,.28),0 0 0 4px rgba(250,204,21,.13)!important;text-align:center;min-width:245px}.election-countdown .countdown-title{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:1000;color:#fef08a}.election-countdown .countdown-values{display:block;font-size:1.05rem;font-weight:1000;line-height:1.1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
/* TV footer */
.tv .version-footer,.tv-footer-credit{position:fixed;left:0;right:0;bottom:0;z-index:20;text-align:center;background:rgba(2,6,23,.72)!important;color:#d1fae5!important;padding:6px 10px!important;font-size:12px!important;backdrop-filter:blur(8px)}
/* Mobile and tablet */
@media(max-width:1100px){.admin-shell{grid-template-columns:1fr!important}.main{max-width:100%;padding:18px!important}.side{display:none}.side.is-open{display:block}.news23-top-grid{grid-template-columns:1fr!important}.chart-card,.party-seats-chart-card{height:360px!important}.chart-card canvas,.party-seats-chart-card canvas{height:280px!important;max-height:280px!important}.election-countdown{min-width:0;width:100%;margin:8px 0}}
@media(max-width:720px){.hero .title{font-size:1.85rem}.news23-summary-grid-eight{grid-template-columns:1fr!important}.news23-card,.news23-mini,.winner-feed-row{width:100%;min-width:0}.table{font-size:.92rem}.scroll-hint,.table-responsive:before{content:'Swipe table left/right for more columns →';display:block;font-size:12px;font-weight:800;color:#0f766e;margin:0 0 7px}.chart-card,.party-seats-chart-card{height:340px!important}.chart-card canvas,.party-seats-chart-card canvas{height:260px!important;max-height:260px!important}}


/* v1.2.5 candidate winners, menu grouping, banner and security polish */
.candidate-card{position:relative;overflow:visible!important;}
.candidate-winner-card{border:2px solid rgba(250,204,21,.85)!important;box-shadow:0 18px 44px rgba(250,204,21,.22),0 0 0 5px rgba(34,197,94,.10)!important;background:linear-gradient(135deg,#ffffff,#fffbea)!important;}
.winner-ribbon{position:absolute;top:12px;right:-12px;z-index:5;transform:rotate(8deg);display:inline-flex;align-items:center;justify-content:center;padding:8px 15px;border-radius:12px;background:linear-gradient(135deg,#facc15,#22c55e,#16a34a);color:#052e16;font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;border:2px solid rgba(255,255,255,.82);box-shadow:0 10px 26px rgba(22,163,74,.35);text-shadow:0 1px 0 rgba(255,255,255,.55)}
.winner-ribbon-flash{animation:winnerPulse 1.25s ease-in-out infinite;}
@keyframes winnerPulse{0%,100%{filter:brightness(1);transform:rotate(8deg) scale(1)}50%{filter:brightness(1.25);transform:rotate(8deg) scale(1.05)}}
.candidate-winner-card .candidate-head h2:after{content:' Elected';display:inline-flex;margin-left:8px;vertical-align:middle;border-radius:999px;background:#dcfce7;color:#166534;border:1px solid #86efac;padding:3px 8px;font-size:11px;font-weight:1000;text-transform:uppercase;}
.admin-nav details.settings-menu{margin:7px 0;}
.admin-nav details.settings-menu>summary{cursor:pointer;list-style:none;border-radius:14px;padding:11px 12px;background:rgba(255,255,255,.10);color:#e5fff4;}
.admin-nav details.settings-menu>summary::-webkit-details-marker{display:none;}
.admin-nav details.settings-menu>summary:after{content:'+';margin-left:auto;font-weight:1000;}
.admin-nav details.settings-menu[open]>summary:after{content:'−';}
.admin-nav .settings-links{display:grid;gap:6px;padding:8px 0 3px 14px;}
.user-management-menu>summary{background:rgba(250,204,21,.18)!important;color:#fef9c3!important;}
.admin-block-label{display:none!important;}
.hero.has-kashmir-banner{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.91) 42%,rgba(255,255,255,.78) 100%),url('../img/kashmir-header-banner.png') center center / contain no-repeat!important;background-color:#f8fafc!important;}
.news23-summary-grid-eight a strong{font-size:22px!important;}
.news23-summary-grid-eight a span{text-transform:none!important;font-size:12px!important;}
.news23-hero>a img,.news23-img img{object-fit:cover!important;object-position:center!important;}
.bbc-urdu-news-section .news23-card .news23-img img,.rss-card .news23-img img{object-fit:cover!important;object-position:center!important;aspect-ratio:16/9!important;}
@media(max-width:760px){.winner-ribbon{right:8px;top:8px;font-size:10px;padding:6px 10px}.candidate-winner-card .candidate-head h2:after{display:block;width:max-content;margin:6px 0 0}.hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.88)),url('../img/kashmir-header-banner.png') center / contain no-repeat!important;}}


/* v1.2.6 banner, winner badge, admin collapsible forms, GeoIP2 analytics polish */
.hero.has-kashmir-banner{
  background:linear-gradient(90deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.955) 45%,rgba(255,255,255,.90) 100%),url('../img/kashmir-header-banner.png') center center / 100% 100% no-repeat!important;
  background-color:#f8fafc!important;
}
.candidate-card{position:relative;overflow:visible!important;padding-top:22px!important;}
.winner-ribbon{top:8px!important;left:8px!important;right:auto!important;transform:rotate(-8deg)!important;z-index:8!important;padding:6px 12px!important;font-size:11px!important;border-radius:10px!important;}
@keyframes winnerPulse{0%,100%{filter:brightness(1);transform:rotate(-8deg) scale(1)}50%{filter:brightness(1.25);transform:rotate(-8deg) scale(1.05)}}
.candidate-winner-card{border:2px solid rgba(250,204,21,.90)!important;box-shadow:0 18px 44px rgba(250,204,21,.22),0 0 0 5px rgba(34,197,94,.10)!important;background:linear-gradient(135deg,#ffffff,#fffbea)!important;}
.candidate-winner-card .candidate-head{padding-top:12px;}
.candidate-winner-card .candidate-head h2:after{display:none!important;}
.candidate-winner-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(250,204,21,.16),transparent 34%,rgba(34,197,94,.10));}
.admin-collapsible-form{position:relative;}
.admin-form-toggle{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:linear-gradient(135deg,#064e3b,#0f766e);color:#fff;font-weight:900;padding:9px 14px;margin:0 0 12px;cursor:pointer;box-shadow:0 8px 18px rgba(6,78,59,.18);}
.admin-collapsible-form.is-collapsed form{display:none!important;}
.admin-collapsible-form.is-collapsed{padding-bottom:12px;}
.election-countdown{background:linear-gradient(135deg,#020617 0%,#991b1b 42%,#f59e0b 100%)!important;color:#fff!important;border:2px solid #fde047!important;box-shadow:0 14px 34px rgba(153,27,27,.34),0 0 0 5px rgba(253,224,71,.14)!important;}
.election-countdown .countdown-title{color:#fef3c7!important;text-shadow:0 1px 8px rgba(0,0,0,.35)!important;}
.election-countdown .countdown-values{font-size:1.1rem!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.45)!important;}
.news23-page table,.news23-lower table,.news23-party-candidates table{width:100%;border-collapse:collapse;}
.news23-page .table-wrap,.news23-lower .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media(max-width:760px){
  .hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.985),rgba(255,255,255,.92)),url('../img/kashmir-header-banner.png') center center / 100% auto no-repeat!important;}
  .election-countdown{width:100%!important;min-width:0!important;margin:10px 0!important;padding:10px 12px!important;border-radius:16px!important;}
  .election-countdown .countdown-values{font-size:1rem!important;white-space:normal!important;line-height:1.2!important;}
  .winner-ribbon{left:7px!important;right:auto!important;top:7px!important;font-size:10px!important;padding:5px 9px!important;}
  .candidate-winner-card .candidate-head{padding-top:18px;}
  .news23-page .table-wrap:before,.news23-lower .table-wrap:before{content:'Swipe left/right for more details →';display:block;margin:0 0 8px;color:#0f766e;font-size:12px;font-weight:900;}
}


/* v1.2.7 GeoIP2 analytics, banner clarity and News KPI alignment */
.hero.has-kashmir-banner{
  background:
    linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.78) 44%,rgba(255,255,255,.56) 100%),
    url('../img/kashmir-header-banner.png') center center / contain no-repeat!important;
  background-color:#f8fafc!important;
}
.hero.has-kashmir-banner .title,.hero.has-kashmir-banner .subtitle{color:#064e3b!important;text-shadow:0 1px 0 rgba(255,255,255,.95),0 6px 18px rgba(255,255,255,.75)!important;}
.news23-summary-grid-eight a{
  grid-template-columns:1fr auto!important;
  text-align:left!important;
  column-gap:14px!important;
}
.news23-summary-grid-eight a span{grid-column:1!important;grid-row:1!important;text-align:left!important;align-self:center!important;}
.news23-summary-grid-eight a strong{grid-column:2!important;grid-row:1!important;text-align:right!important;justify-self:end!important;min-width:auto!important;max-width:170px!important;}
.analytics-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0;}
.visitor-analytics .stat{font-size:1.45rem!important;line-height:1.05;overflow-wrap:anywhere;}
code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px;color:#0f172a;}
@media(max-width:900px){.analytics-split{grid-template-columns:1fr}.hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.91),rgba(255,255,255,.74)),url('../img/kashmir-header-banner.png') center center / contain no-repeat!important;}}
@media(max-width:620px){.news23-summary-grid-eight a{grid-template-columns:1fr auto!important}.news23-summary-grid-eight a strong{font-size:1.15rem!important;max-width:140px!important}.news23-summary-grid-eight a span{font-size:.76rem!important}.hero.has-kashmir-banner{background-size:contain!important;}}


/* v1.2.8 verified rebuild: banner, ticker speed, visitor strip and article image quality */
.hero.has-kashmir-banner{
  background:
    linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.78) 44%,rgba(255,255,255,.56) 100%),
    url('../img/kashmir-header-banner.png') right center / contain no-repeat!important;
  background-color:#f8fafc!important;
}
.latest-feed-track{animation-duration:46s!important;}
@supports (-webkit-touch-callout:none){.latest-feed-track{animation-duration:52s!important;}}
.visitor-location-strip{
  max-width:min(1480px,calc(100% - 28px));
  margin:10px auto 0;
  padding:6px 12px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:linear-gradient(90deg,#f8fafc,#ecfdf5);
  color:#334155;
  font-size:12px;
  font-weight:800;
  display:flex;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.visitor-location-strip span{color:#064e3b;text-transform:uppercase;letter-spacing:.05em;}
.news-article-hero img{
  width:100%!important;
  max-height:520px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f8fafc!important;
  image-rendering:auto!important;
}
.news23-hero>a img{
  object-fit:cover!important;
  object-position:center!important;
  min-height:320px;
}
.news23-img img{image-rendering:auto!important;}
@media(max-width:760px){
  .hero.has-kashmir-banner{background:linear-gradient(135deg,rgba(255,255,255,.91),rgba(255,255,255,.74)),url('../img/kashmir-header-banner.png') right center / contain no-repeat!important;}
  .visitor-location-strip{border-radius:14px;white-space:normal;text-align:center;line-height:1.35;}
  .news-article-hero img{max-height:340px!important;}
}

/* v1.2.9 configurable header banner */
.hero.has-kashmir-banner{
  background:
    linear-gradient(90deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.72) 44%,rgba(255,255,255,.48) 100%),
    var(--header-banner-image, url('../img/kashmir-header-banner.png')) right center / contain no-repeat!important;
  background-color:#f8fafc!important;
}
@media(max-width:760px){
  .hero.has-kashmir-banner{
    background:
      linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.68)),
      var(--header-banner-image, url('../img/kashmir-header-banner.png')) right center / contain no-repeat!important;
  }
}

/* v1.3.0 configurable banner and settings/audit refinements */
.hero.has-kashmir-banner{
  min-height:var(--header-banner-height,260px)!important;
  background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.78) 44%,rgba(255,255,255,.60) 100%)!important;
  background-color:#f8fafc!important;
  position:relative!important;
  overflow:hidden!important;
}
.hero.has-kashmir-banner:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'));
  background-position:var(--header-banner-align,right) center;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:var(--header-banner-opacity,.85);
  pointer-events:none;
  z-index:0;
}
.hero.has-kashmir-banner .wrap{position:relative;z-index:2;min-height:calc(var(--header-banner-height,260px) - 38px);display:flex;flex-direction:column;justify-content:center;}
.admin-form-actions{display:flex!important;gap:10px;align-items:center;flex-wrap:wrap;}
.audit-location{font-size:.82rem;color:#475569;font-weight:800;display:block;margin-top:3px;}
.audit-ip-link{font-weight:900;color:#064e3b!important;}
@media(max-width:760px){
  .hero.has-kashmir-banner{min-height:min(var(--header-banner-height,260px),230px)!important;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.68))!important;}
  .hero.has-kashmir-banner:before{background-position:var(--header-banner-align,right) center;background-size:contain;}
  .hero.has-kashmir-banner .wrap{min-height:auto;}
}


/* v1.3.1 banner visibility and dropdown layering fixes */
.hero.has-kashmir-banner{
  background:linear-gradient(90deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.68) 42%,rgba(255,255,255,.46) 100%)!important;
  background-color:#f8fafc!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.hero.has-kashmir-banner:before{
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'))!important;
  background-position:var(--header-banner-align,center) center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:var(--header-banner-opacity,.5)!important;
  z-index:0!important;
  display:block!important;
}
.hero.has-kashmir-banner .wrap{position:relative!important;z-index:2!important;}
.public-nav,.public-menu,.public-dd{position:relative!important;z-index:10050!important;overflow:visible!important;}
.public-dd-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  z-index:100000!important;
  min-width:230px!important;
  max-height:min(86vh,620px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.28)!important;
  border-radius:16px!important;
  padding:8px!important;
}
.public-dd-menu a{color:#064e3b!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:none!important;display:block!important;margin:4px 0!important;}
.public-dd-menu a:hover{background:#ecfdf5!important;color:#b45309!important;}
.cards,.kpi-cards,.card,.section,.wrap{position:relative;z-index:auto;}
@media(max-width:760px){
  .hero.has-kashmir-banner{overflow:visible!important;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.58))!important;}
  .hero.has-kashmir-banner:before{background-position:center center!important;background-size:contain!important;opacity:var(--header-banner-opacity,.5)!important;}
  .public-dd-menu{position:static!important;max-height:none!important;box-shadow:none!important;margin-top:8px!important;}
}


/* v1.3.2 restore header banner as background inside header, below ticker and behind all header content */
.hero.has-kashmir-banner{
  /* Keep the banner inside the existing header area instead of making a separate oversized banner block. */
  min-height:auto!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.50) 45%,rgba(255,255,255,.48) 100%),
    var(--header-banner-image, url('../img/kashmir-header-banner.png')) center center / contain no-repeat!important;
  background-color:#f8fafc!important;
  overflow:visible!important;
  position:relative!important;
  isolation:isolate!important;
}
.hero.has-kashmir-banner:before{
  content:none!important;
  display:none!important;
}
.hero.has-kashmir-banner .wrap{
  position:relative!important;
  z-index:2!important;
  min-height:auto!important;
  display:block!important;
}
.hero.has-kashmir-banner .nav,
.hero.has-kashmir-banner .title,
.hero.has-kashmir-banner .subtitle,
.hero.has-kashmir-banner .election-countdown{
  position:relative!important;
  z-index:3!important;
}
.hero.has-kashmir-banner .title,
.hero.has-kashmir-banner .subtitle{
  color:#064e3b!important;
  text-shadow:0 1px 0 rgba(255,255,255,.95),0 6px 18px rgba(255,255,255,.72)!important;
}
.public-nav,.public-menu,.public-dd{position:relative!important;z-index:10050!important;overflow:visible!important;}
.public-dd-menu{z-index:100000!important;}
@media(max-width:760px){
  .hero.has-kashmir-banner{
    background:
      linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.50)),
      var(--header-banner-image, url('../img/kashmir-header-banner.png')) center center / contain no-repeat!important;
  }
}


/* v1.3.3 header banner consistency, dropdown layering and constituency watermark */
.hero.has-kashmir-banner{
  position:relative!important;
  z-index:99990!important;
  isolation:isolate!important;
  overflow:visible!important;
  background:linear-gradient(90deg,rgba(255,255,255,.54) 0%,rgba(255,255,255,.50) 45%,rgba(255,255,255,.46) 100%)!important;
  background-color:#f8fafc!important;
}
.hero.has-kashmir-banner:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1480px,calc(100% - 28px))!important;
  max-width:100%!important;
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'))!important;
  background-position:var(--header-banner-align,center) center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:var(--header-banner-opacity,.5)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.hero.has-kashmir-banner .wrap{position:relative!important;z-index:3!important;display:block!important;min-height:auto!important;}
.hero.has-kashmir-banner .nav,.hero.has-kashmir-banner .title,.hero.has-kashmir-banner .subtitle,.hero.has-kashmir-banner .election-countdown{position:relative!important;z-index:4!important;}
.public-news-ticker{position:relative!important;z-index:100000!important;}
.public-nav,.public-menu,.public-dd{position:relative!important;z-index:2147482000!important;overflow:visible!important;}
.public-dd-menu{
  position:absolute!important;
  z-index:2147483000!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:min(88vh,720px)!important;
  visibility:visible!important;
  opacity:1!important;
  clip:auto!important;
}
.section,.cards,.kpi-cards,.card,.latest-card,.dashboard-card,.news23-page,.news23-block{z-index:auto!important;}
.header-banner-preview-admin{
  position:relative;
  height:var(--header-banner-height,260px);
  border:1px solid #e5e7eb;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(255,255,255,.54),rgba(255,255,255,.46));
  margin:12px 0 18px;
  isolation:isolate;
}
.header-banner-preview-admin:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'));
  background-position:var(--header-banner-align,center) center;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:var(--header-banner-opacity,.5);
  z-index:0;
}
.header-banner-preview-admin span{
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:2;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#064e3b;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(6,78,59,.18);
}
.constituencies-table{font-size:15px!important;}
.constituencies-table th,.constituencies-table td{font-size:15px!important;line-height:1.35!important;}
.watermark-table{position:relative;isolation:isolate;background:#fff;}
.watermark-table:before{
  content:attr(data-watermark);
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(-24deg);
  font-size:clamp(42px,7vw,96px);
  font-weight:1000;
  letter-spacing:.08em;
  color:rgba(15,23,42,.055);
  pointer-events:none;
  white-space:nowrap;
}
.watermark-table table{position:relative;z-index:1;background:rgba(255,255,255,.92);}
@media(max-width:760px){
  .hero.has-kashmir-banner:before{width:calc(100% - 16px)!important;background-position:var(--header-banner-align,center) center!important;background-size:contain!important;}
  .public-dd-menu{position:static!important;z-index:auto!important;max-height:none!important;}
  .constituencies-table{font-size:14px!important;}
  .constituencies-table th,.constituencies-table td{font-size:14px!important;}
  .watermark-table:before{font-size:44px;}
}

/* v1.3.4 focused banner reset and compact constituency watermark fix */
.hero.has-kashmir-banner{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
  min-height:260px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.50),rgba(255,255,255,.50)),
    url('../img/kashmir-header-banner.png') center center / contain no-repeat!important;
  background-color:#fff!important;
  z-index:1000!important;
}
.hero.has-kashmir-banner:before,
.hero.has-kashmir-banner:after{display:none!important;content:none!important;}
.hero.has-kashmir-banner .wrap{position:relative!important;z-index:5!important;min-height:auto!important;display:block!important;}
.hero.has-kashmir-banner .nav,
.hero.has-kashmir-banner .title,
.hero.has-kashmir-banner .subtitle,
.hero.has-kashmir-banner .election-countdown{position:relative!important;z-index:6!important;}
.header-banner-preview-admin{
  height:260px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.50),rgba(255,255,255,.50)),
    url('../img/kashmir-header-banner.png') center center / contain no-repeat!important;
  background-color:#fff!important;
}
.header-banner-preview-admin:before{display:none!important;content:none!important;}
.public-nav,.public-menu,.public-dd{position:relative!important;z-index:2147482000!important;overflow:visible!important;}
.public-dd-menu{z-index:2147483000!important;overflow:visible!important;}
.constituencies-table{font-size:13px!important;width:100%!important;max-width:100%!important;}
.constituencies-table th,.constituencies-table td{font-size:13px!important;line-height:1.18!important;padding:8px 9px!important;vertical-align:middle!important;}
.constituencies-watermark.watermark-table{position:relative!important;isolation:isolate!important;background:#fff!important;overflow:auto!important;}
.constituencies-watermark.watermark-table:before{
  content:attr(data-watermark)!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-22deg)!important;
  font-size:clamp(46px,8vw,110px)!important;
  font-weight:1000!important;
  letter-spacing:.10em!important;
  color:rgba(6,78,59,.105)!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
.constituencies-watermark table{position:relative!important;z-index:2!important;background:transparent!important;}
.constituencies-watermark table th,
.constituencies-watermark table td{background:rgba(255,255,255,.82)!important;}
.constituencies-watermark table thead th{background:rgba(248,250,252,.93)!important;}
@media(max-width:760px){
  .hero.has-kashmir-banner{min-height:210px!important;background-size:contain!important;background-position:center center!important;}
  .constituencies-table{font-size:12px!important;min-width:780px!important;}
  .constituencies-table th,.constituencies-table td{font-size:12px!important;padding:7px 8px!important;}
  .constituencies-watermark.watermark-table:before{font-size:52px!important;}
}


/* v1.3.5 admin-configurable banner width + final public layout cleanup */
html,body{max-width:100%;overflow-x:hidden;}
.hero.has-kashmir-banner{
  position:relative!important;
  min-height:var(--header-banner-height,260px)!important;
  padding:18px 0 22px!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  overflow:visible!important;
  isolation:isolate!important;
  z-index:10!important;
}
.hero.has-kashmir-banner:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;bottom:0!important;
  left:50%!important;
  width:var(--header-banner-width,100%)!important;
  max-width:100%!important;
  transform:translateX(-50%)!important;
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'))!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:var(--header-banner-align,center) center!important;
  opacity:var(--header-banner-opacity,.5)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.hero.has-kashmir-banner:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.70),rgba(255,255,255,.46),rgba(255,255,255,.70))!important;
  z-index:1!important;
  pointer-events:none!important;
}
.hero.has-kashmir-banner .wrap{position:relative!important;z-index:2!important;display:block!important;min-height:auto!important;}
.hero.has-kashmir-banner .title,.hero.has-kashmir-banner .subtitle{color:#064e3b!important;text-shadow:0 1px 0 rgba(255,255,255,.95),0 6px 18px rgba(255,255,255,.75)!important;}
.header-banner-preview-admin{height:var(--header-banner-height,260px)!important;background:#fff!important;position:relative!important;overflow:hidden!important;isolation:isolate!important;}
.header-banner-preview-admin:before{content:""!important;display:block!important;position:absolute!important;top:0!important;bottom:0!important;left:50%!important;width:var(--header-banner-width,100%)!important;max-width:100%!important;transform:translateX(-50%)!important;background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'))!important;background-position:var(--header-banner-align,center) center!important;background-size:contain!important;background-repeat:no-repeat!important;opacity:var(--header-banner-opacity,.5)!important;z-index:0!important;}
.header-banner-preview-admin:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,.38),rgba(255,255,255,.62));z-index:1;pointer-events:none;}
.header-banner-preview-admin span{z-index:2!important;}
.home-wide-wrap:first-of-type{padding-top:26px!important;}
.kpi-cards{margin-top:0!important;gap:18px!important;}
.kpi-cards .card{border:1px solid rgba(15,122,59,.20)!important;box-shadow:0 14px 30px rgba(8,36,20,.12)!important;overflow:visible!important;}
.constituencies-page{padding-top:20px!important;}
.constituencies-page .card{overflow:visible!important;}
.constituencies-watermark.watermark-table{overflow-x:hidden!important;overflow-y:visible!important;border-radius:18px!important;max-width:100%!important;}
.constituencies-watermark .table{min-width:0!important;width:100%!important;table-layout:auto!important;}
.constituencies-table th,.constituencies-table td{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
.constituencies-table th:nth-child(1),.constituencies-table td:nth-child(1){width:74px!important;white-space:nowrap!important;}
.constituencies-table th:nth-child(4),.constituencies-table td:nth-child(4),.constituencies-table th:nth-child(5),.constituencies-table td:nth-child(5),.constituencies-table th:nth-child(6),.constituencies-table td:nth-child(6),.constituencies-table th:nth-child(7),.constituencies-table td:nth-child(7){white-space:nowrap!important;}
@media(max-width:900px){
  html,body{overflow-x:auto;}
  .hero.has-kashmir-banner{min-height:min(var(--header-banner-height,240px),240px)!important;}
  .constituencies-watermark.watermark-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .constituencies-watermark .table{min-width:760px!important;}
}
@media(max-width:760px){
  .hero.has-kashmir-banner{padding:14px 0 18px!important;min-height:210px!important;}
  .hero.has-kashmir-banner:before{width:min(var(--header-banner-width,100%),100%)!important;background-position:center center!important;}
  .home-wide-wrap:first-of-type{padding-top:18px!important;}
}


/* v1.3.7 safe layout recovery: public banner, home spacing, constituencies table, admin menu typography only */
.hero.has-kashmir-banner{
  min-height:200px!important;
  padding:18px 16px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #e5e7eb!important;
  overflow:hidden!important;
  position:relative!important;
}
.hero.has-kashmir-banner:before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  height:auto!important;
  margin:0!important;
  background-image:var(--header-banner-image, url('../img/kashmir-header-banner.png'))!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  opacity:.60!important;
  pointer-events:none!important;
  z-index:0!important;
}
.hero.has-kashmir-banner .wrap{
  position:relative!important;
  z-index:1!important;
}
.hero.has-kashmir-banner .nav{margin-bottom:12px!important;}
.hero.has-kashmir-banner .title{margin-top:8px!important;margin-bottom:6px!important;}
.hero.has-kashmir-banner .subtitle{margin-top:0!important;}
.home-wide-wrap:first-of-type{padding-top:16px!important;}
.home-wide-wrap.compact-section{padding-top:16px!important;padding-bottom:16px!important;}
.kpi-cards{margin-top:0!important;gap:16px!important;}
.kpi-cards .card{border:1px solid rgba(15,122,59,.22)!important;}
.admin-shell .side nav a,
.admin-shell .side .admin-nav a,
.admin-shell .side details.settings-menu>summary{
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.25!important;
}
.admin-shell .side nav a{padding:9px 11px!important;}
.admin-shell .side details.settings-menu>summary{padding:9px 11px!important;}
.admin-shell .side .settings-links{gap:4px!important;}
.constituencies-page{padding-top:16px!important;}
.constituencies-watermark.watermark-table{
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  max-width:100%!important;
}
.constituencies-watermark.watermark-table .table,
.constituencies-table{
  width:100%!important;
  max-width:100%!important;
  table-layout:auto!important;
}
.constituencies-table th,.constituencies-table td{
  font-size:12.5px!important;
  line-height:1.18!important;
  padding:7px 8px!important;
}
@media(max-width:900px){
  .hero.has-kashmir-banner{min-height:185px!important;}
  .constituencies-table{min-width:760px!important;}
}

/* v1.3.8 targeted public layout patch: banner + home KPI cards only */
.hero.has-kashmir-banner:before{
  width:min(1416px,calc(100% - 32px))!important;
  max-width:1416px!important;
  opacity:.60!important;
  background-size:cover!important;
  background-position:center center!important;
}
.home-wide-wrap:first-of-type,
.home-wide-wrap.compact-section:first-of-type{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.kpi-cards{
  gap:14px!important;
  margin-top:0!important;
}
.kpi-cards .card{
  min-height:0!important;
  padding:14px!important;
  border-radius:17px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  position:relative!important;
}
.kpi-cards .card:after{
  content:"";
  position:absolute;
  inset:auto -30px -40px auto;
  width:130px;
  height:130px;
  border-radius:999px;
  background:radial-gradient(circle,#e0f2fe,transparent 70%);
  z-index:0;
}
.kpi-cards .card>*{
  position:relative;
  z-index:1;
}
.kpi-cards .stat{
  font-size:24px!important;
  line-height:1.12!important;
  margin-bottom:6px!important;
}
.kpi-cards .label{
  font-size:13px!important;
  line-height:1.3!important;
}
.kpi-cards .kpi-link:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.14)!important;
}
@media(max-width:900px){
  .hero.has-kashmir-banner:before{width:min(100%,calc(100% - 18px))!important;max-width:100%!important;}
  .kpi-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){.kpi-cards{grid-template-columns:1fr!important;}}

/* v1.3.9 requested public layout adjustment only: banner opacity/width, KPI revert, constituency no horizontal scrollbar */
.hero.has-kashmir-banner:before{
  width:min(1558px,calc(100% - 20px))!important;
  max-width:1558px!important;
  opacity:.90!important;
  background-size:cover!important;
  background-position:center center!important;
}
/* Revert home KPI cards back to the previous v1.3.7 look */
.kpi-cards{margin-top:0!important;gap:16px!important;}
.kpi-cards .card{
  min-height:132px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  border:1px solid rgba(15,122,59,.22)!important;
  box-shadow:0 18px 35px rgba(8,36,20,.12)!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
}
.kpi-cards .card:after{display:none!important;content:none!important;}
.kpi-cards .stat{font-size:clamp(2rem,3vw,3.3rem)!important;line-height:1.12!important;margin-bottom:0!important;}
.kpi-cards .label{font-size:inherit!important;line-height:inherit!important;}
.kpi-cards .kpi-link:hover{transform:translateY(-4px)!important;box-shadow:0 24px 45px rgba(8,36,20,.18)!important;}
/* Remove horizontal scrollbar on Constituencies table by forcing table to fit and wrap */
.constituencies-watermark.watermark-table,
.constituencies-page .table-wrap,
.constituencies-page .responsive-table,
.constituencies-page .card{
  overflow-x:hidden!important;
  max-width:100%!important;
}
.constituencies-watermark.watermark-table .table,
.constituencies-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.constituencies-table th,.constituencies-table td{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  padding:7px 7px!important;
}
.constituencies-table th:nth-child(1),.constituencies-table td:nth-child(1){width:58px!important;white-space:normal!important;}
@media(max-width:900px){
  .hero.has-kashmir-banner:before{width:min(100%,calc(100% - 14px))!important;max-width:100%!important;}
  .constituencies-table{min-width:0!important;}
}


/* v1.3.10 Constituencies page reset: use the standard table layout like other public pages */
.constituencies-page + .compact-section + .compact-section .table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-width:100%!important;
  border-radius:18px!important;
}
.constituencies-page + .compact-section + .compact-section .table{
  min-width:720px!important;
  width:100%!important;
  table-layout:auto!important;
}
.constituencies-page + .compact-section + .compact-section .table th,
.constituencies-page + .compact-section + .compact-section .table td{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  padding:13px!important;
}
.constituencies-page + .compact-section + .compact-section .table-wrap:after,
.constituencies-page + .compact-section + .compact-section .table-wrap:before{display:none!important;content:none!important;}


/* v1.3.11 final configurable banner controls: admin width/opacity now drive the public banner */
.hero.has-kashmir-banner:before{
  width:min(var(--header-banner-width,95%), calc(100% - 28px))!important;
  max-width:1480px!important;
  opacity:var(--header-banner-opacity,.60)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.header-banner-preview-admin:before{
  width:min(var(--header-banner-width,95%), calc(100% - 20px))!important;
  max-width:1480px!important;
  opacity:var(--header-banner-opacity,.60)!important;
  background-size:cover!important;
  background-position:center center!important;
}
@media(max-width:900px){
  .hero.has-kashmir-banner:before{width:min(100%,calc(100% - 14px))!important;max-width:100%!important;}
}

/* v1.3.21 visual restore: keep v1.3.11 front-page/menu styling, preserve later header/contact/analytics features */
.hero.has-kashmir-banner{
  --site-wide-container:min(1500px,calc(100% - 28px));
  position:relative!important;
  z-index:5000!important;
  background:transparent!important;
  padding:0!important;
  min-height:var(--header-banner-height,268px)!important;
  overflow:visible!important;
  border-radius:0 0 22px 22px!important;
}
.hero.has-kashmir-banner:before{
  content:"";
  position:absolute!important;
  z-index:0!important;
  left:50%!important;
  right:auto!important;
  top:0!important;
  bottom:0!important;
  width:min(1530px,calc(100% - 14px))!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  background-image:var(--header-banner-image,url('../img/kashmir-header-banner.png'))!important;
  background-position:var(--header-banner-align,center) center!important;
  background-size:102% 100%!important;
  background-repeat:no-repeat!important;
  opacity:var(--header-banner-opacity,.6)!important;
  border-radius:6px!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 var(--header-banner-edge-fade,4%),#000 calc(100% - var(--header-banner-edge-fade,4%)),transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0%,#000 var(--header-banner-edge-fade,4%),#000 calc(100% - var(--header-banner-edge-fade,4%)),transparent 100%)!important;
}
.hero.has-kashmir-banner .wrap{
  position:relative!important;
  z-index:2!important;
  width:var(--site-wide-container)!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-height:calc(var(--header-banner-height,268px) - 18px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding-top:10px!important;
  padding-bottom:12px!important;
}
.hero.has-kashmir-banner .nav.public-nav{
  position:relative!important;
  z-index:2147482000!important;
  overflow:visible!important;
  width:100%!important;
  margin:0 0 6px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.hero.has-kashmir-banner .public-menu,
.hero.has-kashmir-banner .public-dd{position:relative!important;z-index:2147482000!important;overflow:visible!important;}
.hero.has-kashmir-banner .public-menu{flex:1 1 auto!important;justify-content:flex-end!important;gap:8px!important;}
/* Restore slick earlier menu button look */
.hero.has-kashmir-banner .public-menu a,
.hero.has-kashmir-banner .public-dd summary,
.hero.has-kashmir-banner .public-menu-toggle{
  white-space:nowrap!important;
  color:#064e3b!important;
  background:white!important;
  border:1px solid #d1fae5!important;
  box-shadow:0 5px 0 #bbf7d0!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-decoration:none!important;
}
.hero.has-kashmir-banner .public-menu a:hover,
.hero.has-kashmir-banner .public-dd summary:hover,
.hero.has-kashmir-banner .public-menu-toggle:hover{
  background:#ecfdf5!important;
  color:#042f2e!important;
  transform:translateY(-1px)!important;
}
.hero.has-kashmir-banner .public-dd-menu,
.public-dd-menu{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  min-width:220px!important;
  max-height:min(76vh,540px)!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #dbeafe!important;
  border-radius:16px!important;
  box-shadow:0 22px 55px rgba(15,23,42,.24)!important;
  padding:8px!important;
  z-index:2147483640!important;
}
.hero.has-kashmir-banner .public-dd-menu a,
.public-dd-menu a{
  display:block!important;
  margin:4px!important;
  color:#064e3b!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-weight:700!important;
}
.hero.has-kashmir-banner .public-dd-menu a:hover,
.public-dd-menu a:hover{background:#ecfdf5!important;color:#042f2e!important;}
.hero.has-kashmir-banner .election-countdown-card{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  margin:0 0 4px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#052e16 0%,#0f766e 56%,#f59e0b 100%)!important;
  border:1px solid rgba(250,204,21,.72)!important;
  box-shadow:0 13px 28px rgba(6,78,59,.24),0 5px 0 rgba(120,53,15,.55),inset 0 1px 0 rgba(255,255,255,.26)!important;
  color:#fff!important;
}
.hero.has-kashmir-banner .election-countdown-card .countdown-title{color:#fef08a!important;font-weight:900!important;text-shadow:0 1px 8px rgba(0,0,0,.25)!important;white-space:nowrap!important;}
.hero.has-kashmir-banner .election-countdown-card .countdown-values{color:#fff!important;font-size:15px!important;font-weight:900!important;text-shadow:0 2px 12px rgba(0,0,0,.4)!important;white-space:nowrap!important;}

/* Keep v1.3.11 blended party-colour cards and remove neutral v1.3.20 look */
.bbc-seat-strip{background:#f8fafc!important;border:1px solid #e2e8f0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;}
.bbc-seat-block,
.party-kpi-card,
.top-party-card,
.top-party-card-v1023{
  background:linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 64%,var(--party2,#facc15) 100%)!important;
  color:#fff!important;
  border:1px solid color-mix(in srgb,var(--party,#0f766e) 24%,#ffffff)!important;
  box-shadow:0 9px 22px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.25)!important;
}
.bbc-seat-block .bbc-party,
.bbc-seat-block strong,
.bbc-seat-block em,
.party-kpi-card .label,
.party-kpi-card .stat,
.top-party-card .label,
.top-party-card .stat,
.top-party-card-v1023 .label,
.top-party-card-v1023 .stat,
.top-party-card-v1023 .top-party-full-name{color:#fff!important;}
.bbc-seat-block em{background:rgba(255,255,255,.17)!important;border-radius:999px!important;padding:3px 8px!important;text-shadow:none!important;}
.bbc-seat-block em.pos{background:linear-gradient(135deg,#dcfce7,#86efac)!important;color:#064e3b!important;}
.bbc-seat-block em.neg{background:linear-gradient(135deg,#fee2e2,#fca5a5)!important;color:#7f1d1d!important;}
.bbc-seat-block:hover,.top-party-card:hover,.party-kpi-card:hover{transform:translateY(-2px)!important;filter:saturate(1.08)!important;}
.party-change-card{background:linear-gradient(135deg,#ffffff,#f8fafc)!important;border:1px solid #dbeafe!important;box-shadow:0 14px 35px rgba(15,23,42,.10)!important;}
.party-change-table .serial-col{width:54px!important;text-align:center!important;white-space:nowrap!important;}
.party-row-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#f1f5f9!important;color:#334155!important;border:1px solid #cbd5e1!important;font-weight:700!important;box-shadow:none!important;}
.party-change-table .party-name-link{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;text-decoration:none!important;}
.party-change-table .styled-party-name,.party-change-table .party-name-first{font-size:14.5px!important;font-weight:600!important;color:#334155!important;letter-spacing:0!important;text-shadow:none!important;}
.party-change-table .party-name-link:hover .styled-party-name,.party-change-table .party-name-link:hover .party-name-first{color:#0f766e!important;text-decoration:underline;text-underline-offset:3px;}

/* Contact Us page styles kept from newer releases */
.contact-card{max-width:860px;margin:0 auto;}
.contact-card h2{margin-top:0;color:#064e3b;}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.contact-form-grid label{font-weight:600;color:#334155;}
.contact-form-grid .full{grid-column:1/-1;}
.contact-actions{display:flex;justify-content:flex-end;}

/* Constituencies page: standard compact table, no broken forced layout */
.constituencies-table-wrap{max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch!important;}
.constituencies-table{width:100%!important;min-width:760px!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important;font-size:14px!important;}
.constituencies-table th,.constituencies-table td{padding:6px 8px!important;line-height:1.22!important;vertical-align:middle!important;white-space:nowrap!important;}

@media(max-width:900px){
  .hero.has-kashmir-banner{--site-wide-container:min(100% - 18px,1500px);}
  .hero.has-kashmir-banner:before{width:100%!important;border-radius:0!important;background-size:cover!important;}
  .hero.has-kashmir-banner .nav.public-nav{align-items:flex-start!important;flex-wrap:wrap!important;}
  .hero.has-kashmir-banner .public-menu{display:none;width:100%!important;flex-basis:100%!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:rgba(255,255,255,.94)!important;border:1px solid #dbeafe!important;border-radius:18px!important;padding:10px!important;box-shadow:0 12px 30px rgba(15,23,42,.12)!important;}
  .hero.has-kashmir-banner .public-menu.is-open{display:flex!important;}
  .hero.has-kashmir-banner .public-menu a,.hero.has-kashmir-banner .public-dd summary{display:block!important;width:100%!important;}
  .hero.has-kashmir-banner .public-dd{width:100%!important;}
  .hero.has-kashmir-banner .public-dd-menu,.public-dd-menu{position:static!important;width:100%!important;max-height:none!important;box-shadow:none!important;margin-top:6px!important;}
  .hero.has-kashmir-banner .election-countdown-card{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important;}
  .bbc-seat-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .contact-form-grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .bbc-seat-strip{grid-template-columns:1fr!important;}
  .hero.has-kashmir-banner .election-countdown-card{flex-direction:column!important;text-align:center!important;gap:4px!important;}
  .hero.has-kashmir-banner .election-countdown-card .countdown-values{white-space:normal!important;font-size:14px!important;}
  .contact-actions .btn{width:100%;}
}


/* v1.3.28 public menu reset: original-theme, clean slick navigation only */
.hero.has-kashmir-banner,
.hero.has-kashmir-banner .wrap,
.hero.has-kashmir-banner .nav.public-nav,
.hero.has-kashmir-banner .public-menu,
.hero.has-kashmir-banner .public-dd{
  overflow:visible!important;
}
.hero.has-kashmir-banner .nav.public-nav{
  position:relative!important;
  z-index:9000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hero.has-kashmir-banner .public-menu{
  position:relative!important;
  z-index:9010!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hero.has-kashmir-banner .public-menu>a,
.hero.has-kashmir-banner .public-dd>summary,
.hero.has-kashmir-banner .menu-toggle.public-menu-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:39px!important;
  padding:9px 14px!important;
  border-radius:12px!important;
  border:1px solid rgba(16,185,129,.32)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(236,253,245,.94))!important;
  color:#064e3b!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 5px 0 rgba(187,247,208,.86),0 12px 22px rgba(15,23,42,.08)!important;
  font-size:14.5px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-shadow:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease!important;
}
.hero.has-kashmir-banner .public-menu>a:hover,
.hero.has-kashmir-banner .public-menu>a:focus,
.hero.has-kashmir-banner .public-dd>summary:hover,
.hero.has-kashmir-banner .public-dd>summary:focus,
.hero.has-kashmir-banner .menu-toggle.public-menu-toggle:hover,
.hero.has-kashmir-banner .menu-toggle.public-menu-toggle:focus{
  background:linear-gradient(180deg,#ffffff,#d1fae5)!important;
  border-color:rgba(5,150,105,.46)!important;
  color:#042f2e!important;
  transform:translateY(-1px)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 6px 0 rgba(110,231,183,.9),0 16px 28px rgba(6,95,70,.14)!important;
}
.hero.has-kashmir-banner .public-menu>a:active,
.hero.has-kashmir-banner .public-dd>summary:active,
.hero.has-kashmir-banner .menu-toggle.public-menu-toggle:active{
  transform:translateY(2px)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 2px 0 rgba(110,231,183,.9),0 8px 16px rgba(6,95,70,.12)!important;
}
.hero.has-kashmir-banner .public-dd{
  position:relative!important;
  z-index:9020!important;
}
.hero.has-kashmir-banner .public-dd>summary{
  list-style:none!important;
}
.hero.has-kashmir-banner .public-dd>summary::-webkit-details-marker{display:none!important;}
.hero.has-kashmir-banner .public-dd>summary:after{
  content:'▾';
  margin-left:7px;
  font-size:11px;
  color:currentColor;
  opacity:.8;
}
.hero.has-kashmir-banner .public-dd-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  z-index:99999!important;
  min-width:230px!important;
  width:max-content!important;
  max-width:min(92vw,320px)!important;
  margin:0!important;
  padding:8px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(203,213,225,.9)!important;
  box-shadow:0 24px 56px rgba(15,23,42,.22)!important;
  overflow:visible!important;
  max-height:none!important;
}
.hero.has-kashmir-banner .public-dd-menu a{
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:3px 0!important;
  padding:10px 12px!important;
  min-height:38px!important;
  border-radius:11px!important;
  background:#ffffff!important;
  color:#064e3b!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:600!important;
}
.hero.has-kashmir-banner .public-dd-menu a:hover,
.hero.has-kashmir-banner .public-dd-menu a:focus{
  background:#ecfdf5!important;
  border-color:#bbf7d0!important;
  color:#042f2e!important;
  transform:none!important;
}
@media(max-width:900px){
  .hero.has-kashmir-banner .nav.public-nav{flex-wrap:wrap!important;align-items:flex-start!important;}
  .hero.has-kashmir-banner .menu-toggle.public-menu-toggle{display:inline-flex!important;}
  .hero.has-kashmir-banner .public-menu{
    display:none!important;
    width:100%!important;
    flex-basis:100%!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:7px!important;
    margin-top:8px!important;
    padding:10px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(219,234,254,.95)!important;
    border-radius:18px!important;
    box-shadow:0 16px 34px rgba(15,23,42,.14)!important;
  }
  .hero.has-kashmir-banner .public-menu.is-open{display:flex!important;}
  .hero.has-kashmir-banner .public-menu>a,
  .hero.has-kashmir-banner .public-dd>summary{
    width:100%!important;
    justify-content:flex-start!important;
    min-height:42px!important;
    font-size:15px!important;
    box-shadow:none!important;
  }
  .hero.has-kashmir-banner .public-dd{width:100%!important;}
  .hero.has-kashmir-banner .public-dd-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin-top:6px!important;
    padding:6px!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    box-shadow:none!important;
  }
}

/* v1.3.29 targeted fix: hide the mobile hamburger button on desktop only */
@media (min-width: 901px){
  .hero.has-kashmir-banner .menu-toggle.public-menu-toggle,
  .menu-toggle.public-menu-toggle{
    display:none!important;
  }
}
@media (max-width: 900px){
  .hero.has-kashmir-banner .menu-toggle.public-menu-toggle,
  .menu-toggle.public-menu-toggle{
    display:inline-flex!important;
  }
}

/* v1.3.30 Constituencies page screenshot watermark: scoped only to public Constituencies table */
.constituencies-table-wrap.jt-watermark-table{
  position:relative!important;
  background-color:#ffffff!important;
  background-image:url('../img/javedtariq-watermark-tile.png')!important;
  background-repeat:repeat!important;
  background-size:420px 260px!important;
  background-position:center top!important;
  isolation:isolate!important;
}
.constituencies-table-wrap.jt-watermark-table .constituencies-table{
  position:relative!important;
  z-index:1!important;
  background:transparent!important;
}
.constituencies-table-wrap.jt-watermark-table .constituencies-table tbody td{
  background:rgba(255,255,255,.82)!important;
}
.constituencies-table-wrap.jt-watermark-table .constituencies-table tbody tr:hover td{
  background:rgba(236,253,245,.90)!important;
}
.constituencies-table-wrap.jt-watermark-table .constituencies-table thead th{
  position:relative!important;
  z-index:2!important;
}
.jt-watermark-source{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  padding:8px 10px!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:#64748b!important;
  background:rgba(255,255,255,.88)!important;
  border-top:1px solid rgba(203,213,225,.75)!important;
  text-align:right!important;
  font-weight:600!important;
}
@media(max-width:760px){
  .constituencies-table-wrap.jt-watermark-table{background-size:320px 200px!important;}
  .jt-watermark-source{text-align:center!important;font-size:11.5px!important;}
}


/* v1.3.31 shared table watermark + compact General Settings */
.jt-watermark-table{
  position:relative!important;
  background-color:#fff!important;
  background-image:var(--jt-watermark-image)!important;
  background-repeat:repeat!important;
  background-size:auto!important;
  background-position:center top!important;
  isolation:isolate!important;
}
.jt-watermark-table .table{position:relative!important;z-index:1!important;background:transparent!important;}
.jt-watermark-table .table tbody td{background:rgba(255,255,255,.83)!important;}
.jt-watermark-table .table tbody tr:hover td{background:rgba(248,250,252,.92)!important;}
.jt-watermark-table .table thead th{position:relative!important;z-index:2!important;background:rgba(248,250,252,.96)!important;}
.general-settings-compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;align-items:start!important;}
.general-settings-compact .admin-form-card{margin:0!important;padding:16px!important;}
.general-settings-compact .admin-form-card h2{font-size:17px!important;margin:0 0 8px!important;}
.general-settings-compact .form-grid{gap:10px!important;}
.general-settings-compact label{font-size:13px!important;}
.general-settings-compact .input,.general-settings-compact select,.general-settings-compact textarea{padding:9px 10px!important;font-size:13px!important;}
.general-settings-compact .admin-form-actions{grid-column:1/-1!important;position:sticky!important;bottom:10px!important;z-index:4!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(8px)!important;}
@media(max-width:900px){.general-settings-compact{grid-template-columns:1fr!important}.general-settings-compact .admin-form-actions{position:static!important}}
/* Make Latest result updates use the full row width instead of bunching content on the left */
.latest-feed-item.rich-feed-item,.latest-feed-item,.rich-feed-item{
  grid-template-columns:64px minmax(0,1fr) minmax(180px,.75fr)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.latest-feed-item.rich-feed-item .feed-copy,.rich-feed-item .feed-copy{min-width:0!important;width:100%!important;}
.latest-feed-item.rich-feed-item .feed-copy em,.rich-feed-item .feed-copy em{text-align:left!important;}
@media(max-width:700px){.latest-feed-item.rich-feed-item,.latest-feed-item,.rich-feed-item{grid-template-columns:48px 1fr!important}}


/* v1.3.32 watermarked public tables: restore visible headers, grid lines and 20% default readability */
.jt-watermark-table{
  position:relative!important;
  background-color:#ffffff!important;
  background-image:var(--jt-watermark-image)!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  border:1px solid #cbd5e1!important;
  border-radius:16px!important;
  overflow:auto!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
.jt-watermark-table .table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:rgba(255,255,255,.88)!important;
  position:relative!important;
  z-index:1!important;
}
.jt-watermark-table .table thead,
.jt-watermark-table .table thead tr{
  position:relative!important;
  z-index:5!important;
}
.jt-watermark-table .table thead th{
  position:relative!important;
  z-index:6!important;
  background:linear-gradient(180deg,#064e3b 0%,#047857 100%)!important;
  color:#ffffff!important;
  font-weight:800!important;
  font-size:13px!important;
  letter-spacing:.015em!important;
  text-align:left!important;
  border-right:1px solid rgba(255,255,255,.22)!important;
  border-bottom:2px solid #facc15!important;
  padding:11px 12px!important;
  white-space:nowrap!important;
}
.jt-watermark-table .table thead th:first-child{border-top-left-radius:14px!important;}
.jt-watermark-table .table thead th:last-child{border-top-right-radius:14px!important;border-right:0!important;}
.jt-watermark-table .table tbody td{
  background:rgba(255,255,255,.76)!important;
  color:#1f2937!important;
  border-right:1px solid #dbe4ef!important;
  border-bottom:1px solid #dbe4ef!important;
  padding:10px 12px!important;
}
.jt-watermark-table .table tbody td:first-child{border-left:0!important;}
.jt-watermark-table .table tbody tr:hover td{
  background:rgba(236,253,245,.90)!important;
}
.jt-watermark-table .table a{color:#065f46!important;font-weight:700!important;text-decoration:none!important;}
.jt-watermark-table .table a:hover{color:#92400e!important;text-decoration:underline!important;}
.jt-watermark-source{
  border-top:1px solid #cbd5e1!important;
  background:rgba(255,255,255,.92)!important;
  color:#475569!important;
}
@media(max-width:760px){
  .jt-watermark-table .table thead th{font-size:12px!important;padding:9px 10px!important;}
  .jt-watermark-table .table tbody td{font-size:12px!important;padding:8px 10px!important;}
}


/* v1.3.33 watermark visibility and table protection fix */
.jt-watermark-table{
  background-color:#fff!important;
  background-image:var(--jt-watermark-image)!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  background-size:auto!important;
  border:1px solid #cbd5e1!important;
  border-radius:16px!important;
  overflow:auto!important;
}
.jt-watermark-table .table{
  background:rgba(255,255,255,.55)!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.jt-watermark-table .table thead th{
  background:linear-gradient(180deg,#064e3b 0%,#047857 100%)!important;
  color:#ffffff!important;
  font-weight:700!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
  border-right:1px solid rgba(255,255,255,.25)!important;
  border-bottom:2px solid #facc15!important;
  padding:11px 12px!important;
  white-space:nowrap!important;
}
.jt-watermark-table .table tbody td{
  background:rgba(255,255,255,.60)!important;
  border-right:1px solid #d6dee8!important;
  border-bottom:1px solid #d6dee8!important;
  color:#1f2937!important;
}
.jt-watermark-table .table tbody tr:hover td{background:rgba(236,253,245,.82)!important;}
.results-report-table-wrap.jt-watermark-table,
.history-table-wrap.jt-watermark-table,
.constituencies-table-wrap.jt-watermark-table,
.live-results-table-wrap.jt-watermark-table{background-image:var(--jt-watermark-image)!important;}
@media(max-width:760px){
  .jt-watermark-table .table thead th{font-size:12px!important;padding:9px 10px!important;}
  .jt-watermark-table .table tbody td{font-size:12px!important;padding:8px 10px!important;}
}

/* v1.3.34 professional candidate filtering, table view, admin sidebar and share icon fixes */
.candidate-smart-page{padding-bottom:8px!important}.candidate-smart-filter{border-left:6px solid #0f766e;background:linear-gradient(135deg,#ffffff,#f8fafc)!important}.candidate-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.candidate-filter-head h2{margin:0;color:#073d2a}.candidate-filter-head p{margin:5px 0 0}.candidate-view-switch{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.candidate-view-switch .button{box-shadow:none!important;min-height:36px!important}.candidate-filter-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.candidate-filter-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.candidate-table-section{padding-top:8px!important}.candidate-list-table th{white-space:nowrap}.candidate-list-table td{vertical-align:middle}.candidate-table-photo{width:54px;height:54px;object-fit:cover;border-radius:14px;border:1px solid #dbe4df;background:#f1f5f9;box-shadow:0 8px 18px rgba(15,23,42,.12)}.candidate-table-flag{width:48px;height:32px;object-fit:cover;border-radius:8px;border:1px solid #dbe4df;background:#fff;box-shadow:0 5px 12px rgba(15,23,42,.10)}.candidate-list-table a{text-decoration:none;color:#064e3b}.candidate-list-table a:hover{text-decoration:underline}.candidate-seat{line-height:1.35}.share-whatsapp svg{width:18px;height:18px;display:block}.share-whatsapp{font-size:0!important}.share-whatsapp:hover svg{transform:scale(1.08)}
/* keep the admin sidebar fully scrollable without changing the menu structure */
@media(min-width:1101px){.admin-shell .side{position:sticky!important;top:0!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:90px!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.admin-shell .side::-webkit-scrollbar{width:8px}.admin-shell .side::-webkit-scrollbar-track{background:transparent}.admin-shell .side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}.admin-shell .side .side-version{position:relative!important;margin-top:18px!important}}
@media(max-width:760px){.candidate-filter-head{display:block}.candidate-view-switch{justify-content:flex-start;margin-top:10px}.candidate-list-table{font-size:12px}.candidate-table-photo{width:44px;height:44px}.candidate-table-flag{width:42px;height:28px}}

/* v1.3.35 professional candidate table and analytics polish */
.candidate-smart-filter{padding:14px!important}.candidate-filter-head{align-items:center!important;margin-bottom:10px!important}.candidate-filter-head h2{font-size:18px!important}.candidate-filter-head .muted{font-size:12px!important}.candidate-view-switch .button,.button-small,.btn-small{font-size:12px!important;padding:8px 10px!important;min-height:32px!important;border-radius:10px!important;line-height:1.1!important}.candidate-filter-grid{display:grid!important;grid-template-columns:minmax(150px,1.05fr) minmax(190px,1.35fr) minmax(145px,1fr) minmax(150px,1fr) auto!important;gap:8px!important;align-items:end!important}.candidate-filter-grid label{margin:0!important;font-size:12px!important;font-weight:800!important}.candidate-filter-grid select,.candidate-filter-grid input{height:36px!important;padding:7px 9px!important;font-size:12px!important}.candidate-filter-actions{margin-top:0!important;gap:6px!important;white-space:nowrap!important}.candidate-filter-actions-inline{display:flex!important;align-items:end!important}.candidate-table-card{padding:12px!important}.candidate-table-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.candidate-table-title h2{margin:0!important;font-size:18px!important;color:#073d2a}.neat-candidate-table{font-size:12px!important;border-radius:14px!important;overflow:hidden!important}.neat-candidate-table th{font-size:11px!important;letter-spacing:.035em!important;text-transform:uppercase!important;padding:8px 9px!important;white-space:nowrap!important;background:#edf7f3!important;color:#064e3b!important}.neat-candidate-table td{padding:6px 9px!important;line-height:1.25!important;vertical-align:middle!important}.neat-candidate-table tr:nth-child(even) td{background:#fbfdfc}.neat-candidate-table tr:hover td{background:#f0fdf4!important}.candidate-table-photo{width:34px!important;height:34px!important;border-radius:999px!important;object-fit:cover!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #d8e8df,0 4px 12px rgba(15,23,42,.13)!important;background:#f1f5f9!important}.candidate-table-flag{width:30px!important;height:20px!important;border-radius:5px!important;object-fit:cover!important;border:1px solid #dbe4df!important;box-shadow:0 3px 8px rgba(15,23,42,.12)!important}.candidate-name-cell b{font-size:12.5px!important;color:#073d2a!important}.candidate-party-mini{display:inline-flex;align-items:center;justify-content:center;min-width:42px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900;color:#fff;background:var(--party-colour,#0f766e);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}.mini-profile-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46!important;font-size:11px!important;font-weight:900!important;text-decoration:none!important;white-space:nowrap}.mini-profile-link:hover{background:#064e3b!important;color:#fff!important}.candidate-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.candidate-card-footer .label{margin:0!important}.clean-candidate-card .mini-profile-link{margin-left:auto}.visitor-analytics{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:8px!important}.visitor-analytics .card{padding:10px 8px!important;min-height:76px!important}.visitor-analytics .stat{font-size:clamp(13px,1.25vw,20px)!important;line-height:1.05!important;letter-spacing:-.03em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.visitor-analytics .label{font-size:10.5px!important;line-height:1.15!important;white-space:normal!important}.share-whatsapp{background:#25d366!important;color:#fff!important}.share-whatsapp svg{width:19px!important;height:19px!important;display:block!important}.share-whatsapp svg path{fill:currentColor!important}
@media(max-width:1180px){.candidate-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.candidate-filter-actions-inline{grid-column:1/-1}.visitor-analytics{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.candidate-filter-head{display:block!important}.candidate-view-switch{justify-content:flex-start!important;margin-top:8px!important}.candidate-filter-grid{grid-template-columns:1fr!important}.candidate-list-table{min-width:850px}.visitor-analytics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.visitor-analytics .card{min-height:70px!important}.neat-candidate-table{font-size:11px!important}}


/* v1.3.36 candidate table mobile cleanup */
.candidate-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-candidate-table{width:100%;border-collapse:separate!important;border-spacing:0!important}.responsive-candidate-table .party-badge{padding:4px 8px!important;font-size:12px!important;gap:5px!important;max-width:150px!important}.responsive-candidate-table .party-badge img{width:22px!important;height:22px!important;border-radius:6px!important}.responsive-candidate-table .party-badge span{font-size:12px!important;font-weight:800!important;max-width:95px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.responsive-candidate-table .candidate-party-cell{min-width:118px}.responsive-candidate-table .candidate-name-cell{min-width:160px}.responsive-candidate-table .candidate-name-cell b{font-size:13px!important;line-height:1.2!important}.responsive-candidate-table .candidate-constituency-cell{max-width:220px}.responsive-candidate-table .candidate-table-photo{width:36px!important;height:36px!important;border-radius:50%!important}.responsive-candidate-table .candidate-table-flag{width:32px!important;height:21px!important;border-radius:5px!important}.responsive-candidate-table .pill{font-size:11px!important;padding:3px 7px!important;white-space:nowrap}.responsive-candidate-table .mini-profile-link{font-size:11px!important;padding:4px 8px!important}.responsive-candidate-table th,.responsive-candidate-table td{white-space:nowrap}.responsive-candidate-table .candidate-constituency-cell{white-space:normal;line-height:1.2}
@media(max-width:760px){
  .candidate-table-card{padding:10px!important;background:#fff!important;overflow:visible!important}.candidate-table-title{align-items:flex-start!important}.candidate-table-title h2{font-size:17px!important}.candidate-table-wrap{overflow:visible!important}.responsive-candidate-table{min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.responsive-candidate-table thead{display:none!important}.responsive-candidate-table tbody{display:grid!important;gap:10px!important}.responsive-candidate-table tr{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;grid-template-areas:"photo name link" "photo party flag" "code seat status" "district district district";gap:4px 8px!important;align-items:center!important;background:#fff!important;border:1px solid #dbe7e1!important;border-radius:14px!important;padding:9px!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important}.responsive-candidate-table tr.result-winner-row{border-color:#facc15!important;background:linear-gradient(135deg,#fffbeb,#ffffff)!important}.responsive-candidate-table td{display:block!important;border:0!important;padding:0!important;background:transparent!important;min-width:0!important;white-space:normal!important}.responsive-candidate-table td:before{display:none!important}.responsive-candidate-table .candidate-table-photo{width:42px!important;height:42px!important}.responsive-candidate-table td[data-label="Photo"]{grid-area:photo}.responsive-candidate-table .candidate-name-cell{grid-area:name;min-width:0!important}.responsive-candidate-table .candidate-name-cell b{font-size:14px!important;color:#073d2a!important;line-height:1.15!important}.responsive-candidate-table .candidate-party-cell{grid-area:party;min-width:0!important}.responsive-candidate-table .candidate-party-cell .party-badge{max-width:145px!important;font-size:12px!important;padding:3px 7px!important}.responsive-candidate-table .candidate-party-cell .party-badge img{width:20px!important;height:20px!important}.responsive-candidate-table .candidate-party-cell .party-badge span{font-size:12px!important;max-width:92px!important}.responsive-candidate-table .candidate-flag-cell{grid-area:flag;text-align:right}.responsive-candidate-table .candidate-table-flag{width:34px!important;height:22px!important}.responsive-candidate-table .candidate-code-cell{grid-area:code;font-size:12px!important;color:#064e3b!important}.responsive-candidate-table .candidate-code-cell:before{content:'Code ';display:inline!important;color:#64748b!important;font-size:11px!important;font-weight:800!important}.responsive-candidate-table .candidate-constituency-cell{grid-area:seat;font-size:12px!important;color:#334155!important;max-width:none!important}.responsive-candidate-table .candidate-status-cell{grid-area:status;text-align:right}.responsive-candidate-table .candidate-district-cell{grid-area:district;font-size:11.5px!important;color:#64748b!important;border-top:1px solid #edf2ef!important;padding-top:5px!important}.responsive-candidate-table .candidate-district-cell:before{content:'District: ';display:inline!important;font-weight:800!important;color:#475569!important}.responsive-candidate-table .candidate-link-cell{grid-area:link;text-align:right}.responsive-candidate-table .mini-profile-link{font-size:0!important;padding:5px 8px!important}.responsive-candidate-table .mini-profile-link:after{content:'View';font-size:11px!important}
}


/* v1.3.38 professional theme/menu and candidate table refinements */
.hero .title{font-size:clamp(1.72rem,3.1vw,2.75rem)!important;line-height:1.05!important}.hero .subtitle{font-size:clamp(.92rem,1.25vw,1.02rem)!important;line-height:1.45!important}.page-title,.section-title h1,.page-head h1{font-size:clamp(1.55rem,2.4vw,2.15rem)!important}.page-description,.page-head p,.subtitle{font-size:.96rem!important}
/* Admin menu: compact enough to show the whole menu without internal scrolling */
.admin-shell{grid-template-columns:250px minmax(0,1fr)!important}.side{height:auto!important;min-height:100vh!important;overflow:visible!important;position:sticky!important;top:0!important;padding:12px 12px 10px!important}.admin-brand{font-size:1.08rem!important;margin-bottom:8px!important}.admin-user-card{padding:8px!important;margin-bottom:8px!important}.admin-user-card img,.admin-avatar-fallback{width:34px!important;height:34px!important}.admin-nav{gap:3px!important}.admin-nav a,.admin-nav details.settings-menu>summary{padding:6px 8px!important;margin:2px 0!important;border-radius:9px!important;font-size:12px!important;line-height:1.15!important;min-height:30px!important}.admin-nav .settings-links{gap:2px!important;padding:4px 0 2px 8px!important}.side-version{font-size:10px!important;padding-top:6px!important;margin-top:6px!important}.main{max-width:calc(100vw - 250px)!important}.admin-menu-toggle{display:none}.contact-security-question{max-width:320px}.contact-security-question input{max-width:160px}
@media(max-width:1100px){.admin-shell{display:block!important}.side{display:none!important;position:relative!important;min-height:0!important}.side.is-open{display:block!important}.main{max-width:100%!important}.admin-menu-toggle{display:inline-flex!important;position:sticky;top:8px;z-index:2000;margin:8px}}
/* Candidate table: desktop compact, aligned media cells */
.neat-candidate-table{font-size:12.5px!important;border-radius:16px!important;overflow:hidden!important;border:1px solid #dbe7e1!important}.neat-candidate-table th{font-size:11.5px!important;padding:8px 9px!important;background:#edf7f3!important;color:#064e3b!important}.neat-candidate-table td{padding:7px 9px!important;vertical-align:middle!important;line-height:1.25!important}.candidate-table-photo{width:42px!important;height:42px!important;border-radius:50%!important;object-fit:cover!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #cbd5e1,0 5px 13px rgba(15,23,42,.12)!important;background:#f1f5f9!important}.candidate-table-flag{width:42px!important;height:28px!important;border-radius:7px!important;object-fit:cover!important;border:1px solid #dbe4df!important;background:#fff!important;box-shadow:0 3px 9px rgba(15,23,42,.10)!important}.candidate-list-table .party-badge{font-size:inherit!important;padding:5px 9px!important;gap:7px!important;max-width:180px!important}.candidate-list-table .party-badge img{width:26px!important;height:26px!important}.candidate-list-table .party-badge span{font-size:inherit!important;font-weight:800!important;max-width:118px!important}.candidate-name-cell b{font-size:13px!important}.candidate-link-cell .mini-profile-link,.mini-profile-link{font-size:11.5px!important;padding:4px 9px!important}.candidate-filter-head h2{font-size:17px!important}.candidate-filter-grid{grid-template-columns:minmax(135px,1fr) minmax(180px,1.25fr) minmax(135px,1fr) minmax(135px,1fr) auto!important;gap:7px!important}.candidate-filter-grid label{font-size:11.5px!important}.candidate-filter-grid select{height:34px!important;font-size:12px!important}.candidate-filter-actions .btn,.candidate-filter-actions .button{min-height:34px!important;padding:7px 11px!important;font-size:12px!important}
@media(max-width:760px){.candidate-table-card{padding:9px!important}.candidate-table-wrap{overflow:visible!important}.responsive-candidate-table{min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.responsive-candidate-table thead{display:none!important}.responsive-candidate-table tbody{display:grid!important;gap:8px!important}.responsive-candidate-table tr{display:grid!important;grid-template-columns:44px minmax(0,1fr) 42px!important;grid-template-areas:"photo name flag" "photo party status" "code seat link" "district district district"!important;gap:4px 8px!important;align-items:center!important;background:#fff!important;border:1px solid #dbe7e1!important;border-radius:13px!important;padding:8px!important;box-shadow:0 5px 15px rgba(15,23,42,.055)!important}.responsive-candidate-table td{display:block!important;border:0!important;padding:0!important;background:transparent!important;min-width:0!important;white-space:normal!important}.responsive-candidate-table .candidate-table-photo{width:40px!important;height:40px!important}.responsive-candidate-table td[data-label="Photo"]{grid-area:photo}.responsive-candidate-table .candidate-name-cell{grid-area:name;min-width:0!important}.responsive-candidate-table .candidate-name-cell b{font-size:13.5px!important;line-height:1.12!important}.responsive-candidate-table .candidate-party-cell{grid-area:party;min-width:0!important}.responsive-candidate-table .candidate-party-cell .party-badge{max-width:165px!important;padding:3px 7px!important;font-size:12px!important}.responsive-candidate-table .candidate-party-cell .party-badge img{width:22px!important;height:22px!important}.responsive-candidate-table .candidate-party-cell .party-badge span{font-size:12px!important;max-width:120px!important}.responsive-candidate-table .candidate-flag-cell{grid-area:flag;text-align:right}.responsive-candidate-table .candidate-table-flag{width:38px!important;height:25px!important}.responsive-candidate-table .candidate-code-cell{grid-area:code;font-size:12px!important;color:#064e3b!important}.responsive-candidate-table .candidate-constituency-cell{grid-area:seat;font-size:12px!important;color:#334155!important;line-height:1.2!important}.responsive-candidate-table .candidate-status-cell{grid-area:status;text-align:left}.responsive-candidate-table .candidate-status-cell .pill{font-size:10.5px!important;padding:2px 6px!important}.responsive-candidate-table .candidate-district-cell{grid-area:district;font-size:11.5px!important;color:#64748b!important;border-top:1px solid #edf2ef!important;padding-top:5px!important}.responsive-candidate-table .candidate-district-cell:before{content:'District: ';font-weight:800;color:#475569}.responsive-candidate-table .candidate-link-cell{grid-area:link;text-align:right}.responsive-candidate-table .mini-profile-link{font-size:11px!important;padding:4px 8px!important}.candidate-filter-grid{grid-template-columns:1fr!important}.candidate-view-switch .button{font-size:11px!important}.hero .title{font-size:1.55rem!important}.hero .subtitle{font-size:.9rem!important}}


/* v1.3.40 candidate/admin/menu refinements */
.candidate-serial-mini{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#f8fafc;border:1px solid #dbeafe;color:#0f172a;font-weight:900;font-size:12px}.candidate-card{position:relative}.candidate-card-serial{position:absolute;top:10px;left:10px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;color:#064e3b;font-weight:900;font-size:12px;box-shadow:0 6px 14px rgba(15,23,42,.12)}.candidate-table-flag{width:34px!important;height:34px!important;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e2e8f0;padding:2px}.candidate-party-cell .party-badge{font-size:12px!important}.candidate-list-table .serial-col{width:42px;text-align:center}.candidate-list-table th,.candidate-list-table td{vertical-align:middle}.candidate-card-footer{justify-content:flex-start!important}.admin-candidate-filter-line{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1.2fr auto;gap:8px;align-items:end}.admin-filter-actions{display:flex;gap:8px;align-items:end}.admin-filter-actions .btn,.admin-filter-actions .button{white-space:nowrap}.admin-candidates-table .photo{width:38px;height:38px;border-radius:50%}
.admin-body .side{height:100vh!important;max-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;position:sticky!important;top:0!important}.admin-body .admin-nav a,.admin-body .admin-nav summary{font-size:12px!important;padding:6px 8px!important;line-height:1.15!important}.admin-body .settings-links a{padding:5px 8px!important}.admin-body .admin-brand{font-size:18px!important;margin-bottom:8px!important}.admin-body .admin-user-card{padding:8px!important;margin-bottom:8px!important}.admin-body .side-version{font-size:10px!important;padding:8px!important;margin-top:8px!important}
@media(max-width:980px){.admin-candidate-filter-line{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-actions{grid-column:1/-1}.candidate-list-table{min-width:760px}.candidate-table-flag{width:30px!important;height:30px!important}}
@media(max-width:620px){.admin-candidate-filter-line{grid-template-columns:1fr}.candidate-table-card{padding:10px!important}.candidate-table-wrap{overflow-x:auto}.candidate-list-table{min-width:720px;font-size:11.5px}.candidate-table-photo{width:34px!important;height:34px!important}.candidate-table-flag{width:28px!important;height:28px!important}.candidate-serial-mini{min-width:22px;height:22px;font-size:11px}}


/* v1.3.41 universal menu repair for all themes including Classic Current
   Applies to public header/menu and admin sidebar consistently across every active theme. */
:root{--ep-menu-radius:13px;--ep-menu-green:#064e3b;--ep-menu-gold:#d4af37;--ep-menu-line:rgba(226,232,240,.72)}
.hero .nav.public-nav,
.ep-themed-public-header .nav.public-nav,
.nav.public-nav{
  position:relative!important;
  z-index:2147481000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  overflow:visible!important;
}
.hero .public-menu,
.ep-themed-public-header .public-menu,
.public-menu{
  position:relative!important;
  z-index:2147481200!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  min-width:0!important;
}
.hero .public-menu>a,
.hero .public-dd>summary,
.ep-themed-public-header .public-menu>a,
.ep-themed-public-header .public-dd>summary,
.public-menu>a,
.public-dd>summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:9px 13px!important;
  border-radius:var(--ep-menu-radius)!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.08!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  list-style:none!important;
}
.public-dd{position:relative!important;z-index:2147481500!important;overflow:visible!important;display:inline-flex!important;align-items:center!important;}
.public-dd>summary::-webkit-details-marker{display:none!important;}
.public-dd>summary:after{content:'▾';font-size:10px;margin-left:7px;opacity:.75;}
.public-dd-menu,
.hero .public-dd-menu,
.ep-themed-public-header .public-dd-menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  z-index:2147481800!important;
  min-width:232px!important;
  width:max-content!important;
  max-width:min(92vw,340px)!important;
  padding:8px!important;
  margin:0!important;
  border-radius:16px!important;
  overflow:visible!important;
  max-height:none!important;
  box-shadow:0 24px 58px rgba(15,23,42,.24)!important;
}
.public-dd-menu a,
.hero .public-dd-menu a,
.ep-themed-public-header .public-dd-menu a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:38px!important;
  margin:3px 0!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  font-size:13.5px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.menu-toggle.public-menu-toggle{display:none!important;}

/* Classic Current and Kashmir visual menu base */
body.ep-theme-classic .public-menu>a,
body.ep-theme-classic .public-dd>summary,
body.ep-theme-kashmir .public-menu>a,
body.ep-theme-kashmir .public-dd>summary{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(236,253,245,.94))!important;
  color:#064e3b!important;
  border:1px solid rgba(16,185,129,.34)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 5px 0 rgba(187,247,208,.82),0 12px 22px rgba(15,23,42,.08)!important;
  text-shadow:none!important;
}
body.ep-theme-classic .public-menu>a:hover,
body.ep-theme-classic .public-dd>summary:hover,
body.ep-theme-kashmir .public-menu>a:hover,
body.ep-theme-kashmir .public-dd>summary:hover{
  background:linear-gradient(180deg,#fff8dc,#d4af37)!important;
  color:#111827!important;
  border-color:rgba(212,175,55,.68)!important;
  transform:translateY(-1px)!important;
}
body.ep-theme-classic .public-dd-menu,
body.ep-theme-kashmir .public-dd-menu{background:#fff!important;border:1px solid rgba(203,213,225,.9)!important;}
body.ep-theme-classic .public-dd-menu a,
body.ep-theme-kashmir .public-dd-menu a{background:#f8fafc!important;color:#064e3b!important;border:1px solid transparent!important;}
body.ep-theme-classic .public-dd-menu a:hover,
body.ep-theme-kashmir .public-dd-menu a:hover{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#042f2e!important;}

/* Universal mobile public menu */
@media(max-width:900px){
  .hero .nav.public-nav,.ep-themed-public-header .nav.public-nav,.nav.public-nav{flex-wrap:wrap!important;align-items:flex-start!important;}
  .menu-toggle.public-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:auto!important;}
  .hero .public-menu,.ep-themed-public-header .public-menu,.public-menu{
    display:none!important;
    width:100%!important;
    flex:0 0 100%!important;
    order:5!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:7px!important;
    margin-top:8px!important;
    padding:10px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(219,234,254,.96)!important;
    box-shadow:0 16px 34px rgba(15,23,42,.15)!important;
  }
  .hero .public-menu.is-open,.ep-themed-public-header .public-menu.is-open,.public-menu.is-open{display:flex!important;}
  .hero .public-menu>a,.hero .public-dd>summary,.ep-themed-public-header .public-menu>a,.ep-themed-public-header .public-dd>summary,.public-menu>a,.public-dd>summary{
    width:100%!important;
    justify-content:flex-start!important;
    min-height:42px!important;
    font-size:15px!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .public-dd{display:block!important;width:100%!important;}
  .public-dd-menu,.hero .public-dd-menu,.ep-themed-public-header .public-dd-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin-top:6px!important;
    padding:6px!important;
    border-radius:14px!important;
    box-shadow:none!important;
    background:#f8fafc!important;
  }
  body.ep-theme-newsroom-live .public-menu,
  body.ep-theme-patriot-dark .public-menu,
  body.ep-theme-election-newsroom .public-menu,
  body.ep-theme-analytics-pro .public-menu{background:rgba(15,23,42,.96)!important;border-color:rgba(255,255,255,.16)!important;}
}

/* Admin sidebar: no broken internal scrollbar; compact full menu for all themes */
.admin-body .admin-shell{grid-template-columns:248px minmax(0,1fr)!important;align-items:stretch!important;min-height:100vh!important;}
.admin-body .side,
.admin-shell .side{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  height:auto!important;
  max-height:none!important;
  min-height:100vh!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overflow-x:visible!important;
  padding:10px 10px 8px!important;
  box-sizing:border-box!important;
}
.admin-body .admin-brand{font-size:16px!important;line-height:1.05!important;margin:0 0 7px!important;}
.admin-body .admin-user-card{display:flex!important;align-items:center!important;gap:7px!important;padding:6px 7px!important;margin:0 0 7px!important;border-radius:12px!important;}
.admin-body .admin-user-card img,.admin-body .admin-avatar-fallback{width:30px!important;height:30px!important;min-width:30px!important;font-size:13px!important;}
.admin-body .admin-user-card strong{font-size:12px!important;line-height:1.1!important;}
.admin-body .admin-user-card small{font-size:10px!important;line-height:1.1!important;}
.admin-body .admin-nav{display:grid!important;gap:2px!important;align-content:start!important;}
.admin-body .admin-nav a,
.admin-body .admin-nav details.settings-menu>summary{
  min-height:25px!important;
  padding:5px 7px!important;
  margin:0!important;
  border-radius:8px!important;
  font-size:11.3px!important;
  line-height:1.12!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
}
.admin-body .admin-nav details.settings-menu{margin:2px 0!important;}
.admin-body .admin-nav .settings-links{display:grid!important;gap:2px!important;padding:3px 0 2px 7px!important;}
.admin-body .admin-nav .settings-links a{min-height:23px!important;padding:4px 7px!important;font-size:10.9px!important;}
.admin-body .side-version{position:static!important;font-size:9.5px!important;line-height:1.15!important;padding:5px 3px 0!important;margin-top:4px!important;opacity:.75!important;}
.admin-body .main{max-width:calc(100vw - 248px)!important;min-width:0!important;}
.admin-menu-toggle{display:none!important;}
@media(max-width:1100px){
  .admin-body .admin-shell{display:block!important;grid-template-columns:1fr!important;}
  .admin-body .side{display:none!important;position:relative!important;min-height:0!important;width:100%!important;}
  .admin-body .side.is-open{display:block!important;}
  .admin-body .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-body .main{max-width:100%!important;}
  .admin-menu-toggle{display:inline-flex!important;position:sticky!important;top:8px!important;z-index:2147481900!important;margin:8px!important;}
}
@media(max-width:620px){.admin-body .admin-nav{grid-template-columns:1fr!important;}}


/* v1.3.51 cleanup: single classic template, compact nested SVG map tools, app/version link */
.admin-nav .svg-map-menu{margin:2px 0 2px 8px!important;}
.admin-nav .svg-map-menu>summary{font-size:11px!important;min-height:26px!important;padding:5px 7px!important;background:rgba(255,255,255,.075)!important;}
.admin-nav .svg-map-menu .settings-links{padding:3px 0 2px 8px!important;}
.side-version.app-version-link{display:block!important;color:rgba(255,255,255,.76)!important;text-decoration:none!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important;font-size:9.5px!important;line-height:1.2!important;padding:5px 3px 0!important;margin-top:4px!important;}
.side-version.app-version-link:hover{color:#fff!important;text-decoration:underline!important;transform:none!important;background:transparent!important;}


/* v1.5.0 Candidate management and front-end table polish */
.admin-candidates-table th:last-child,.admin-candidates-table td:last-child{border-right:0!important;}
.admin-candidate-name-link{color:#065f46!important;font-weight:800!important;text-decoration:none!important;}
.admin-candidate-name-link:hover{text-decoration:underline!important;text-underline-offset:3px!important;color:#92400e!important;}
.admin-candidate-click-photo{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.admin-candidate-click-photo:hover{transform:scale(1.04);box-shadow:0 8px 18px rgba(15,23,42,.18)!important;}
.candidate-edit-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
.btn.danger,.button.danger{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important;box-shadow:none!important;}
.btn.danger:hover,.button.danger:hover{background:#b91c1c!important;color:#fff!important;}

.candidate-profile-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.candidate-profile-title-row h2{margin:0!important;}
.facebook-profile-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#1877f2!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;font-size:13px;box-shadow:0 8px 18px rgba(24,119,242,.22);}
.facebook-profile-btn:before{content:'f';display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fff;color:#1877f2;font-weight:900;font-family:Arial,sans-serif;}
.facebook-profile-btn:hover{filter:brightness(.95);transform:translateY(-1px);}

.candidate-profile-table-wrap.jt-watermark-table{background-image:var(--jt-watermark-image)!important;}
.candidate-table-wrap.jt-watermark-table{border-radius:14px!important;}
.neat-candidate-table th{padding:8px 9px!important;font-size:13px!important;line-height:1.15!important;}
.neat-candidate-table td{padding:5px 8px!important;font-size:13.5px!important;line-height:1.15!important;vertical-align:middle!important;}
.neat-candidate-table .candidate-table-photo{width:42px!important;height:42px!important;border-radius:10px!important;}
.neat-candidate-table .candidate-table-flag{width:58px!important;height:34px!important;border-radius:7px!important;object-fit:cover!important;}
.neat-candidate-table .party-badge{transform:scale(.96);transform-origin:left center;white-space:nowrap!important;}
.neat-candidate-table .candidate-code-cell b{font-size:14px!important;}
.neat-candidate-table .candidate-name-cell b{font-size:14px!important;}
@media(max-width:760px){.neat-candidate-table td{font-size:12.5px!important;padding:6px 8px!important}.neat-candidate-table .candidate-table-photo{width:38px!important;height:38px!important}.neat-candidate-table .candidate-table-flag{width:50px!important;height:30px!important}.candidate-profile-title-row{align-items:flex-start}.facebook-profile-btn{font-size:12px;padding:6px 9px}}


/* v1.5.1 Candidate table mobile responsive fix */
@media(max-width:720px){
  .candidate-table-section{padding-top:10px!important;}
  .candidate-table-card{padding:12px!important;border-radius:18px!important;overflow:visible!important;}
  .candidate-table-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;}
  .candidate-table-title h2{font-size:1.1rem!important;margin:0!important;}
  .candidate-table-wrap.candidate-profile-table-wrap{overflow:visible!important;border-radius:16px!important;background:transparent!important;box-shadow:none!important;}
  .responsive-candidate-table.neat-candidate-table,
  .responsive-candidate-table.neat-candidate-table tbody,
  .responsive-candidate-table.neat-candidate-table tr,
  .responsive-candidate-table.neat-candidate-table td{display:block!important;width:100%!important;min-width:0!important;}
  .responsive-candidate-table.neat-candidate-table{border-collapse:separate!important;border-spacing:0 10px!important;background:transparent!important;box-shadow:none!important;}
  .responsive-candidate-table.neat-candidate-table thead{display:none!important;}
  .responsive-candidate-table.neat-candidate-table tbody{display:grid!important;gap:10px!important;}
  .responsive-candidate-table.neat-candidate-table tr{
    position:relative!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    grid-template-areas:
      "photo candidate status"
      "photo party party"
      "code seat seat"!important;
    gap:6px 10px!important;
    padding:10px 10px 9px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(15,122,59,.16)!important;
    border-radius:16px!important;
    box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
    overflow:hidden!important;
  }
  .responsive-candidate-table.neat-candidate-table tr.result-winner-row{border-color:rgba(245,158,11,.52)!important;background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,255,255,.96))!important;}
  .responsive-candidate-table.neat-candidate-table td{border:0!important;padding:0!important;background:transparent!important;line-height:1.2!important;}
  .responsive-candidate-table.neat-candidate-table td:before{display:none!important;content:none!important;}
  .responsive-candidate-table.neat-candidate-table .serial-col{position:absolute!important;right:8px!important;bottom:7px!important;width:auto!important;opacity:.65!important;font-size:10px!important;}
  .responsive-candidate-table.neat-candidate-table td[data-label="Photo"]{grid-area:photo!important;align-self:start!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-table-photo{width:46px!important;height:46px!important;border-radius:12px!important;object-fit:cover!important;box-shadow:0 5px 12px rgba(15,23,42,.14)!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-name-cell{grid-area:candidate!important;min-width:0!important;padding-right:4px!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-name-cell a{display:block!important;color:#063f2b!important;text-decoration:none!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-name-cell b{font-size:15px!important;line-height:1.15!important;display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-status-cell{grid-area:status!important;justify-self:end!important;align-self:start!important;white-space:nowrap!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-status-cell .pill{font-size:11px!important;padding:4px 7px!important;line-height:1.1!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-party-cell{grid-area:party!important;min-width:0!important;display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-party-cell .party-badge{max-width:100%!important;transform:none!important;font-size:12px!important;padding:4px 7px!important;min-height:26px!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-party-cell .party-badge img{width:24px!important;height:24px!important;object-fit:contain!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-flag-cell{grid-area:party!important;justify-self:end!important;align-self:center!important;margin-right:2px!important;z-index:2!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-table-flag{width:54px!important;height:31px!important;border-radius:7px!important;object-fit:cover!important;border:1px solid rgba(15,23,42,.12)!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-code-cell{grid-area:code!important;align-self:center!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-code-cell b{display:inline-flex!important;align-items:center!important;min-height:25px!important;padding:4px 8px!important;border-radius:999px!important;background:#ecfdf5!important;color:#065f46!important;font-size:12px!important;white-space:nowrap!important;border:1px solid #bbf7d0!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-constituency-cell{grid-area:seat!important;font-size:12.5px!important;color:#334155!important;padding-right:28px!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-district-cell{grid-area:seat!important;justify-self:end!important;align-self:end!important;font-size:11.5px!important;color:#64748b!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:3px 7px!important;max-width:48%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-district-cell:before{content:'District: '!important;display:inline!important;font-weight:800!important;}
  .candidate-smart-filter{padding:13px!important;border-radius:18px!important;}
  .candidate-filter-head{gap:10px!important;}
  .candidate-view-switch{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;}
  .candidate-view-switch .button{width:100%!important;text-align:center!important;justify-content:center!important;padding:9px 8px!important;font-size:12.5px!important;min-height:36px!important;box-shadow:none!important;}
  .candidate-filter-grid{grid-template-columns:1fr!important;gap:8px!important;}
}
@media(max-width:420px){
  .responsive-candidate-table.neat-candidate-table tr{grid-template-columns:44px minmax(0,1fr)!important;grid-template-areas:"photo candidate" "photo status" "party party" "code seat"!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-status-cell{justify-self:start!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-flag-cell{justify-self:end!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-table-flag{width:48px!important;height:28px!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-district-cell{display:none!important;}
  .responsive-candidate-table.neat-candidate-table .candidate-constituency-cell{padding-right:0!important;}
}

/* v1.5.2 CSS cleanup: final candidate mobile and party colour card overrides */
.party-colour-profile-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(310px,1fr))!important;gap:18px!important;align-items:stretch!important;}
.party-colour-card{position:relative!important;overflow:hidden!important;border:1px solid color-mix(in srgb,var(--party) 42%,#e5e7eb)!important;border-top:5px solid var(--party)!important;box-shadow:0 18px 42px rgba(15,23,42,.12)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--party) 14%,#fff) 0%,#fff 43%,color-mix(in srgb,var(--party2) 16%,#fff) 100%)!important;display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:16px!important;min-height:230px!important;}
.party-colour-card:before{content:""!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at top right,color-mix(in srgb,var(--party3) 32%,transparent),transparent 42%),linear-gradient(90deg,var(--party),var(--party2),var(--party3))!important;opacity:.10!important;pointer-events:none!important;}
.party-colour-card:after{content:""!important;position:absolute!important;inset:8px!important;border:1px solid rgba(180,135,35,.42)!important;border-radius:16px!important;pointer-events:none!important;}
.party-card-ribbon{position:absolute!important;left:0!important;right:0!important;top:0!important;height:9px!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;z-index:3!important;}
.party-card-ribbon span:nth-child(1){background:var(--party)!important}.party-card-ribbon span:nth-child(2){background:var(--party2)!important}.party-card-ribbon span:nth-child(3){background:var(--party3)!important}
.party-colour-card .party-media-strip{position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;align-content:center!important;gap:10px!important;min-height:190px!important;background:linear-gradient(160deg,color-mix(in srgb,var(--party) 87%,#111827),color-mix(in srgb,var(--party3) 72%,#111827))!important;border-radius:16px!important;padding:14px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;}
.party-colour-card .party-flag-wide{width:106px!important;height:62px!important;object-fit:cover!important;border-radius:12px!important;background:#fff!important;border:3px solid rgba(255,255,255,.82)!important;box-shadow:0 10px 20px rgba(0,0,0,.20)!important;}
.party-colour-card .party-logo-wide{width:92px!important;height:92px!important;object-fit:contain!important;border-radius:22px!important;background:#fff!important;border:4px solid color-mix(in srgb,var(--party2) 65%,#fff)!important;box-shadow:0 12px 24px rgba(0,0,0,.22)!important;}
.party-colour-card .party-wide-main{position:relative!important;z-index:2!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important;padding-right:4px!important;}
.party-colour-card .party-title-link{text-decoration:none!important;color:#0f172a!important;}.party-colour-card .party-title-link h2{margin:0!important;font-size:1.35rem!important;line-height:1.15!important;color:#0f172a!important;}
.party-short-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:5px 11px!important;border-radius:999px!important;background:linear-gradient(90deg,var(--party),var(--party3))!important;color:#fff!important;font-weight:900!important;letter-spacing:.04em!important;box-shadow:0 8px 18px color-mix(in srgb,var(--party) 26%,transparent)!important;}
.party-colour-card .party-badge{border-color:color-mix(in srgb,var(--party2) 70%,#e5e7eb)!important;background:rgba(255,255,255,.88)!important;box-shadow:none!important;}
.party-colour-card p{margin:0!important;color:#334155!important;font-size:.92rem!important;line-height:1.45!important;}
.party-colour-card .party-wide-stats{position:relative!important;z-index:2!important;grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:4px!important;}
.party-colour-card .party-wide-stats>a,.party-colour-card .party-wide-stats>div{padding:10px!important;border-radius:14px!important;text-decoration:none!important;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--party2) 12%,#fff))!important;border:1px solid color-mix(in srgb,var(--party) 18%,#e2e8f0)!important;text-align:center!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;}
.party-colour-card .party-wide-stats strong{display:block!important;color:var(--party)!important;font-size:1.2rem!important;line-height:1!important}.party-colour-card .party-wide-stats span{display:block!important;color:#475569!important;font-size:.74rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.03em!important;margin-top:4px!important;}
.candidate-mobile-list{display:none!important;}
@media(max-width:900px){
  .candidate-table-card{overflow:visible!important;background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important;}
  .candidate-table-card>.candidate-table-wrap{display:none!important;}
  .candidate-mobile-list{display:grid!important;gap:10px!important;margin-top:10px!important;}
  .candidate-mobile-card{position:relative!important;display:grid!important;grid-template-columns:50px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;padding:10px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(15,122,59,.18)!important;border-radius:16px!important;text-decoration:none!important;color:#0f172a!important;box-shadow:0 9px 20px rgba(15,23,42,.08)!important;overflow:hidden!important;}
  .candidate-mobile-card.result-winner-row{border-color:rgba(245,158,11,.55)!important;background:linear-gradient(135deg,#fffbeb,#fff)!important;}
  .candidate-mobile-number{position:absolute!important;right:8px!important;bottom:7px!important;font-size:10px!important;font-weight:900!important;color:#94a3b8!important;}
  .candidate-mobile-photo{width:50px!important;height:50px!important;border-radius:13px!important;object-fit:cover!important;background:#e5e7eb!important;box-shadow:0 6px 14px rgba(15,23,42,.16)!important;}
  .candidate-mobile-main{display:grid!important;gap:5px!important;min-width:0!important;}
  .candidate-mobile-main strong{font-size:15px!important;line-height:1.12!important;color:#064e3b!important;overflow-wrap:anywhere!important;}
  .candidate-mobile-main small{font-size:12px!important;line-height:1.22!important;color:#475569!important;overflow-wrap:anywhere!important;padding-right:16px!important;}
  .candidate-mobile-party{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;min-width:0!important;}
  .candidate-mobile-party .party-badge{font-size:12px!important;padding:4px 7px!important;gap:5px!important;max-width:100%!important;white-space:normal!important;}
  .candidate-mobile-party .party-badge img{width:24px!important;height:24px!important;}
  .candidate-mobile-flag{width:58px!important;height:34px!important;object-fit:cover!important;border-radius:8px!important;background:#fff!important;border:1px solid #dbe2ea!important;}
  .candidate-mobile-status{justify-self:end!important;align-self:start!important;white-space:nowrap!important;}
  .candidate-mobile-status .pill{font-size:11px!important;padding:4px 7px!important;line-height:1.05!important;}
  .candidate-smart-page,.candidate-table-section{width:min(100%,calc(100% - 20px))!important;padding-left:0!important;padding-right:0!important;}
  .candidate-filter-head{display:grid!important;gap:10px!important;}
  .candidate-view-switch{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;}
  .candidate-view-switch .button{justify-content:center!important;text-align:center!important;box-shadow:none!important;}
  .party-colour-profile-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .party-colour-card{grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;padding:14px!important;min-height:0!important;}
  .party-colour-card .party-media-strip{min-height:150px!important;padding:10px!important;}
  .party-colour-card .party-flag-wide{width:82px!important;height:48px!important;}
  .party-colour-card .party-logo-wide{width:72px!important;height:72px!important;border-radius:18px!important;}
  .party-colour-card .party-title-link h2{font-size:1.05rem!important;}
  .party-colour-card p{font-size:.82rem!important;}
  .party-colour-card .party-wide-stats{gap:7px!important;}
  .party-colour-card .party-wide-stats>a,.party-colour-card .party-wide-stats>div{padding:8px 5px!important;}
}
@media(max-width:460px){
  .candidate-mobile-card{grid-template-columns:46px minmax(0,1fr)!important;}
  .candidate-mobile-status{grid-column:2!important;justify-self:start!important;}
  .candidate-mobile-photo{width:46px!important;height:46px!important;}
  .candidate-mobile-flag{width:52px!important;height:30px!important;}
  .party-colour-card{grid-template-columns:1fr!important;}
  .party-colour-card .party-media-strip{display:flex!important;min-height:112px!important;justify-content:center!important;}
}

/* v1.5.3 professional party cards, compact candidate tables and public performance polish */
.clear-symbol-bg,.party-badge img,.party-mini-symbol,.party-change-symbol{background:#fff!important;object-fit:contain!important;border:1px solid rgba(15,23,42,.10)!important;box-shadow:0 5px 14px rgba(15,23,42,.10)!important;}
.party-badge{background:#fff!important;border-color:rgba(15,23,42,.10)!important;box-shadow:0 5px 14px rgba(15,23,42,.06)!important;}
.party-badge img{padding:2px!important;}

.party-colour-profile-grid{gap:18px!important;}
.party-colour-profile-grid .party-wide-card{
  position:relative!important;display:grid!important;grid-template-columns:230px minmax(0,1fr) 330px!important;gap:0!important;align-items:stretch!important;
  padding:0!important;overflow:hidden!important;border:1px solid rgba(15,23,42,.10)!important;border-radius:26px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--party,#0f766e) 90%,#ffffff) 0%,color-mix(in srgb,var(--party2,#facc15) 72%,#ffffff) 55%,color-mix(in srgb,var(--party3,#1d4ed8) 78%,#ffffff) 100%)!important;
  box-shadow:0 24px 54px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.35)!important;
}
.party-colour-profile-grid .party-wide-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 42%,rgba(255,255,255,.16));pointer-events:none;}
.party-colour-profile-grid .party-card-ribbon{position:absolute!important;inset:0 auto 0 0!important;width:11px!important;display:grid!important;grid-template-rows:1fr 1fr 1fr!important;z-index:2!important;}
.party-colour-profile-grid .party-card-ribbon span:nth-child(1){background:var(--party,#0f766e)!important}.party-colour-profile-grid .party-card-ribbon span:nth-child(2){background:var(--party2,#facc15)!important}.party-colour-profile-grid .party-card-ribbon span:nth-child(3){background:var(--party3,#1d4ed8)!important}
.party-colour-profile-grid .party-media-strip{position:relative!important;z-index:1!important;padding:20px 16px 20px 28px!important;display:grid!important;grid-template-columns:1fr!important;place-items:center!important;gap:12px!important;background:rgba(255,255,255,.18)!important;border-right:1px solid rgba(255,255,255,.30)!important;}
.party-colour-profile-grid .party-flag-wide{width:100%!important;height:86px!important;border-radius:18px!important;object-fit:cover!important;border:3px solid rgba(255,255,255,.85)!important;box-shadow:0 14px 26px rgba(15,23,42,.20)!important;}
.party-colour-profile-grid .party-logo-wide{width:92px!important;height:92px!important;border-radius:24px!important;object-fit:contain!important;background:#fff!important;padding:8px!important;border:3px solid rgba(255,255,255,.95)!important;box-shadow:0 18px 36px rgba(15,23,42,.20)!important;}
.party-colour-profile-grid .party-wide-main{position:relative!important;z-index:1!important;padding:22px 22px!important;color:#fff!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;}
.party-colour-profile-grid .party-wide-main h2{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.35)!important;margin:0 0 8px!important;font-size:clamp(24px,2.4vw,36px)!important;}
.party-colour-profile-grid .party-wide-main p{color:rgba(255,255,255,.94)!important;text-shadow:0 1px 3px rgba(0,0,0,.22)!important;max-width:680px!important;}
.party-colour-profile-grid .party-short-pill{align-self:flex-start!important;background:rgba(255,255,255,.95)!important;color:#0f172a!important;border-radius:999px!important;padding:6px 12px!important;font-weight:1000!important;box-shadow:0 8px 18px rgba(15,23,42,.14)!important;margin-bottom:8px!important;}
.party-colour-profile-grid .party-wide-main .party-badge{align-self:flex-start!important;margin:4px 0 8px!important;}
.party-colour-profile-grid .party-wide-stats{position:relative!important;z-index:1!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:20px!important;align-self:center!important;}
.party-colour-profile-grid .party-wide-stats a,.party-colour-profile-grid .party-wide-stats div{min-height:96px!important;border-radius:20px!important;background:rgba(255,255,255,.92)!important;color:#0f172a!important;text-decoration:none!important;box-shadow:0 12px 24px rgba(15,23,42,.13)!important;border:1px solid rgba(255,255,255,.75)!important;}
.party-colour-profile-grid .party-wide-stats strong{color:var(--party,#0f766e)!important;font-size:clamp(24px,2.6vw,38px)!important;}.party-colour-profile-grid .party-wide-stats span{color:#334155!important;}
@media(max-width:1050px){.party-colour-profile-grid .party-wide-card{grid-template-columns:190px 1fr!important}.party-colour-profile-grid .party-wide-stats{grid-column:1/-1!important;padding-top:0!important}}
@media(max-width:650px){.party-colour-profile-grid .party-wide-card{grid-template-columns:1fr!important;border-radius:22px!important}.party-colour-profile-grid .party-media-strip{grid-template-columns:1fr 92px!important;padding:18px 18px 8px 28px!important;border-right:0!important}.party-colour-profile-grid .party-flag-wide{height:76px!important}.party-colour-profile-grid .party-wide-main{padding:12px 18px 18px 28px!important}.party-colour-profile-grid .party-wide-stats{grid-template-columns:repeat(3,1fr)!important;padding:0 14px 16px 26px!important;gap:7px!important}.party-colour-profile-grid .party-wide-stats a,.party-colour-profile-grid .party-wide-stats div{min-height:70px!important;padding:8px 5px!important}.party-colour-profile-grid .party-wide-stats strong{font-size:22px!important}.party-colour-profile-grid .party-wide-stats span{font-size:10px!important}}

.table-view-emphasis{border:2px solid #facc15!important;box-shadow:0 0 0 3px rgba(250,204,21,.20),0 8px 18px rgba(15,23,42,.12)!important;font-weight:1000!important;}
.candidate-party-kpis-section{padding-top:10px!important;padding-bottom:6px!important}.candidate-party-kpi-strip{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:4px 2px 10px!important;scrollbar-width:thin!important}.candidate-party-kpi-card{flex:1 0 116px!important;max-width:158px!important;display:flex!important;align-items:center!important;gap:8px!important;text-decoration:none!important;color:#fff!important;border-radius:16px!important;padding:9px 10px!important;background:linear-gradient(135deg,var(--party,#0f766e),var(--party2,#facc15) 65%,var(--party3,#1d4ed8))!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 12px 24px rgba(15,23,42,.12)!important;}.candidate-party-kpi-card img{width:34px!important;height:34px!important;border-radius:10px!important;padding:3px!important;flex:0 0 auto!important}.candidate-party-kpi-card span{display:grid!important;line-height:1.05!important;min-width:0!important}.candidate-party-kpi-card b{font-size:20px!important;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.3)!important}.candidate-party-kpi-card em{font-style:normal!important;font-size:11px!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 1px 3px rgba(0,0,0,.26)!important}

.neat-candidate-table,.responsive-candidate-table{table-layout:auto!important}.neat-candidate-table th,.neat-candidate-table td,.responsive-candidate-table th,.responsive-candidate-table td{padding:4px 6px!important;line-height:1.12!important}.responsive-candidate-table .candidate-party-cell{min-width:92px!important}.responsive-candidate-table .candidate-name-cell{min-width:138px!important}.responsive-candidate-table .candidate-constituency-cell{max-width:185px!important}.responsive-candidate-table .party-badge{padding:2px 5px!important;gap:4px!important}.responsive-candidate-table .party-badge img{width:22px!important;height:22px!important}.responsive-candidate-table .candidate-table-photo{width:32px!important;height:32px!important}.responsive-candidate-table .candidate-table-flag{width:38px!important;height:24px!important}.candidate-mobile-list{display:none!important}@media(max-width:760px){.candidate-table-wrap{display:none!important}.candidate-mobile-list{display:grid!important;gap:10px!important}.candidate-mobile-card{display:grid!important;grid-template-columns:28px 48px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;padding:9px!important;border-radius:16px!important;border:1px solid #dbe7e1!important;background:#fff!important;text-decoration:none!important;color:#0f172a!important;box-shadow:0 8px 18px rgba(15,23,42,.07)!important}.candidate-mobile-number{font-size:11px!important;font-weight:1000!important;color:#64748b!important}.candidate-mobile-photo{width:48px!important;height:48px!important;border-radius:14px!important;object-fit:cover!important}.candidate-mobile-main{min-width:0!important;display:grid!important;gap:3px!important}.candidate-mobile-main strong{font-size:14px!important;color:#073d2a!important;line-height:1.1!important}.candidate-mobile-main small{font-size:11px!important;color:#64748b!important;line-height:1.15!important}.candidate-mobile-party{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}.candidate-mobile-flag{width:36px!important;height:23px!important;border-radius:5px!important;object-fit:cover!important;background:#fff!important}.candidate-mobile-status{grid-column:3!important;justify-self:start!important}.candidate-mobile-party .party-badge{padding:2px 5px!important}.candidate-mobile-party .party-badge img{width:20px!important;height:20px!important}.candidate-mobile-party .party-badge span{font-size:11px!important;max-width:78px!important}}

.compact-constituencies-table .con-code-col{width:78px!important;min-width:78px!important}.compact-constituencies-table .con-name-col{width:230px!important;min-width:210px!important}.compact-constituencies-table .con-district-col{width:135px!important;min-width:120px!important}.compact-constituencies-table th,.compact-constituencies-table td{padding-left:8px!important;padding-right:8px!important;white-space:nowrap!important}.compact-constituencies-table .con-name-col{white-space:normal!important;line-height:1.15!important}

.symbol-seat-block .bbc-party{gap:8px!important;}.party-change-symbol{width:34px!important;height:34px!important;border-radius:10px!important;padding:3px!important;flex:0 0 auto!important}.latest-scroll .latest-feed-track{animation-duration:var(--latest-scroll-speed,32s)!important;}@supports (-webkit-touch-callout:none){.latest-scroll .latest-feed-track{animation-duration:var(--latest-scroll-speed,32s)!important;}}


/* v1.5.4 Sample 1 political party card design - final public party identity system */
.party-sample-one-page{padding-top:22px!important}.party-page-topline{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:18px!important}.party-page-topline h1{margin:0 0 6px!important;font-size:clamp(28px,3vw,42px)!important;color:#0f172a!important;letter-spacing:-.03em!important}.party-page-topline p{margin:0!important;color:#475569!important;font-size:1rem!important}.party-total-card{min-width:170px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:14px 18px!important;box-shadow:0 12px 30px rgba(15,23,42,.08)!important;display:grid!important;grid-template-columns:auto 1fr!important;gap:4px 12px!important;align-items:center!important}.party-total-card:before{content:'👥';grid-row:1/3;font-size:28px;color:#0f7a3b}.party-total-card span{font-size:12px;color:#475569}.party-total-card strong{font-size:26px;color:#0f172a;line-height:1}.party-sample-one-list{display:grid!important;gap:16px!important}.party-s1-card{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 450px!important;min-height:154px!important;border-radius:22px!important;overflow:hidden!important;background:#fff!important;border:1px solid color-mix(in srgb,var(--party2,#d4af37) 54%,#e2e8f0)!important;box-shadow:0 15px 38px rgba(15,23,42,.12)!important;isolation:isolate!important}.party-s1-card:before{content:"";position:absolute;inset:0;border-radius:22px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);pointer-events:none;z-index:5}.party-s1-identity{position:relative!important;display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:22px!important;align-items:center!important;min-width:0!important;padding:20px 34px 20px 28px!important;text-decoration:none!important;color:#fff!important;clip-path:polygon(0 0,calc(100% - 58px) 0,100% 100%,0 100%)!important;background:linear-gradient(122deg,color-mix(in srgb,var(--party,#0f7a3b) 92%,#000) 0%,var(--party,#0f7a3b) 38%,var(--party2,#d62828) 72%,var(--party3,#111827) 100%)!important}.party-s1-colourwash{position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,rgba(0,0,0,.08),rgba(0,0,0,.28));z-index:0}.party-s1-colourwash:after{content:"";position:absolute;left:-30px;bottom:-42px;width:220px;height:110px;background:linear-gradient(25deg,var(--party2,#d62828),var(--party3,#111827));transform:skewX(-26deg);opacity:.96;border-top:3px solid rgba(255,255,255,.30)}.party-s1-logo-ring{position:relative;z-index:1;width:126px;height:126px;border-radius:999px;display:grid;place-items:center;background:#fff;border:4px solid color-mix(in srgb,var(--party2,#d4af37) 80%,#fff);box-shadow:0 18px 34px rgba(0,0,0,.32),inset 0 0 0 5px rgba(255,255,255,.78);overflow:hidden}.party-s1-logo-ring img{width:108px;height:108px;object-fit:contain;border-radius:999px}.party-s1-copy{position:relative;z-index:1;min-width:0}.party-s1-copy h2{margin:0!important;font-size:clamp(24px,2.2vw,34px)!important;line-height:1.08!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.35)!important;letter-spacing:-.02em!important}.party-verified{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#fff;color:var(--party,#0f7a3b);font-size:14px;vertical-align:middle;text-shadow:none;margin-left:4px}.party-s1-urdu,.party-s1-short{font-size:clamp(16px,1.5vw,22px)!important;margin-top:8px;color:rgba(255,255,255,.95);text-shadow:0 1px 5px rgba(0,0,0,.28);font-weight:700}.party-s1-line{height:1px;width:min(430px,90%);background:rgba(255,255,255,.42);margin:12px 0}.party-s1-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#fff;font-size:14px;font-weight:750;text-shadow:0 1px 4px rgba(0,0,0,.28)}.party-s1-details{position:relative!important;display:grid!important;grid-template-columns:1fr 1fr 1fr 42px!important;gap:0!important;align-items:center!important;padding:18px 20px 18px 34px!important;background:linear-gradient(90deg,#fff 0%,#fff 70%,#fbfdff 100%)!important}.party-s1-details:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(180deg,var(--party2,#d4af37),color-mix(in srgb,var(--party2,#d4af37) 60%,#fff));clip-path:polygon(0 0,100% 0,40% 100%,0 100%)}.party-s1-panel{min-height:112px;display:grid!important;place-items:center!important;align-content:center!important;text-align:center!important;gap:8px!important;padding:8px 12px!important;border-right:1px solid #dbe3ea!important;text-decoration:none!important;color:#111827!important}.party-s1-panel span{font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#334155}.party-s1-flag{width:118px!important;height:76px!important;object-fit:cover!important;border-radius:3px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 6px 16px rgba(15,23,42,.10)!important}.party-s1-symbol{width:84px!important;height:84px!important;object-fit:contain!important;padding:8px!important;border-radius:12px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:none!important}.party-s1-count b{font-size:36px!important;line-height:1!important;color:var(--party,#0f7a3b)!important}.party-s1-arrow{display:grid!important;place-items:center!important;text-decoration:none!important;color:#0f172a!important;font-size:54px!important;line-height:1!important;font-weight:300!important}.party-s1-arrow:hover{color:var(--party,#0f7a3b)!important}.party-s1-card:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(15,23,42,.16)!important;transition:.18s ease}.party-s1-card:hover .party-s1-logo-ring{transform:scale(1.025);transition:.18s ease}
@media(max-width:1100px){.party-s1-card{grid-template-columns:1fr!important}.party-s1-identity{clip-path:none!important}.party-s1-details{padding-left:20px!important}.party-s1-details:before{display:none}.party-s1-panel{min-height:98px}.party-s1-flag{width:106px!important;height:66px!important}.party-s1-symbol{width:72px!important;height:72px!important}}
@media(max-width:700px){.party-page-topline{display:grid!important;align-items:start!important}.party-total-card{width:100%!important}.party-s1-card{border-radius:18px!important}.party-s1-identity{grid-template-columns:86px minmax(0,1fr)!important;gap:14px!important;padding:16px!important}.party-s1-logo-ring{width:78px;height:78px;border-width:3px}.party-s1-logo-ring img{width:66px;height:66px}.party-s1-copy h2{font-size:20px!important}.party-s1-urdu,.party-s1-short{font-size:14px!important;margin-top:5px}.party-s1-line{margin:8px 0}.party-s1-meta{font-size:11px;gap:8px}.party-s1-details{grid-template-columns:1fr 1fr!important;padding:10px!important}.party-s1-panel{min-height:82px;padding:6px;border-bottom:1px solid #e2e8f0}.party-s1-panel:nth-child(2){border-right:0}.party-s1-flag{width:88px!important;height:52px!important}.party-s1-symbol{width:58px!important;height:58px!important}.party-s1-count b{font-size:26px!important}.party-s1-arrow{position:absolute;right:10px;bottom:8px;font-size:34px!important;width:36px;height:36px;background:#fff;border-radius:999px;box-shadow:0 8px 18px rgba(15,23,42,.12)}}


/* v1.5.5 Urdu + Candidate Mobile Recode
   Final overrides deliberately sit at end of stylesheet to neutralise older table/mobile rules. */
.party-s1-urdu,
[dir="rtl"]{
  font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic","Jameel Noori Nastaleeq","Nafees Web Naskh",Tahoma,Arial,sans-serif!important;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
  letter-spacing:0!important;
  line-height:1.7!important;
}
.party-s1-urdu{font-weight:800!important;font-size:clamp(17px,1.45vw,23px)!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.38)!important;}

.candidate-table-section .candidate-table-card{border-radius:18px!important;}
.candidate-table-section .candidate-table-wrap{overflow-x:auto!important;}
.candidate-table-section .neat-candidate-table th{padding:6px 7px!important;font-size:11px!important;}
.candidate-table-section .neat-candidate-table td{padding:4px 7px!important;line-height:1.15!important;}
.candidate-table-section .candidate-table-photo{width:32px!important;height:32px!important;}
.candidate-table-section .candidate-table-flag{width:38px!important;height:24px!important;}
.candidate-table-section .party-badge{padding:2px 6px!important;min-height:26px!important;}
.candidate-table-section .party-badge img{width:21px!important;height:21px!important;object-fit:contain!important;background:#fff!important;}

.candidate-mobile-v1555{display:none!important;}
@media(max-width:780px){
  .candidate-smart-page,.candidate-table-section{width:min(100%,calc(100% - 18px))!important;margin-left:auto!important;margin-right:auto!important;}
  .candidate-filter-head{display:grid!important;gap:10px!important;}
  .candidate-view-switch{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;}
  .candidate-view-switch .button{text-align:center!important;font-size:12px!important;padding:9px 8px!important;border-radius:12px!important;}
  .candidate-filter-grid{grid-template-columns:1fr!important;gap:8px!important;}
  .candidate-filter-grid select{width:100%!important;min-height:38px!important;}
  .candidate-table-card{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;}
  .candidate-table-card .candidate-table-title{padding:0 2px 8px!important;}
  .candidate-table-card>.candidate-table-wrap{display:none!important;}
  .candidate-mobile-v1555{display:grid!important;gap:10px!important;margin:6px 0 0!important;}
  .candidate-mobile-v1555 .candidate-mobile-card{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;grid-template-areas:"photo main" "photo status"!important;gap:6px 10px!important;align-items:start!important;position:relative!important;padding:10px 10px 9px!important;background:#fff!important;border:1px solid rgba(15,122,59,.20)!important;border-radius:16px!important;box-shadow:0 8px 22px rgba(15,23,42,.08)!important;text-decoration:none!important;color:#0f172a!important;min-height:76px!important;overflow:hidden!important;}
  .candidate-mobile-v1555 .candidate-mobile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0f766e,#d4af37)!important;}
  .candidate-mobile-v1555 .candidate-mobile-number{position:absolute!important;right:8px!important;top:7px!important;font-size:10px!important;font-weight:900!important;color:#94a3b8!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:2px 5px!important;line-height:1!important;}
  .candidate-mobile-v1555 .candidate-mobile-photo{grid-area:photo!important;width:54px!important;height:54px!important;border-radius:14px!important;object-fit:cover!important;background:#e5e7eb!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #dbe7e1,0 6px 14px rgba(15,23,42,.14)!important;}
  .candidate-mobile-v1555 .candidate-mobile-main{grid-area:main!important;display:grid!important;gap:4px!important;min-width:0!important;padding-right:34px!important;}
  .candidate-mobile-v1555 .candidate-mobile-main strong{font-size:15.5px!important;line-height:1.14!important;color:#063f2b!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .candidate-mobile-v1555 .candidate-mobile-main small{font-size:11.5px!important;line-height:1.22!important;color:#475569!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .candidate-mobile-v1555 .candidate-mobile-party{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;min-width:0!important;}
  .candidate-mobile-v1555 .candidate-mobile-flag{width:46px!important;height:28px!important;border-radius:6px!important;object-fit:cover!important;background:#fff!important;border:1px solid #dbe2ea!important;box-shadow:none!important;}
  .candidate-mobile-v1555 .party-badge{font-size:11px!important;padding:3px 6px!important;gap:4px!important;min-height:24px!important;max-width:145px!important;white-space:nowrap!important;overflow:hidden!important;}
  .candidate-mobile-v1555 .party-badge img{width:20px!important;height:20px!important;object-fit:contain!important;background:#fff!important;border-radius:5px!important;}
  .candidate-mobile-v1555 .party-badge span{max-width:88px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important;}
  .candidate-mobile-v1555 .candidate-mobile-status{grid-area:status!important;justify-self:start!important;align-self:center!important;white-space:nowrap!important;}
  .candidate-mobile-v1555 .candidate-mobile-status .pill{font-size:10.5px!important;padding:3px 7px!important;line-height:1.05!important;}
}
@media(max-width:380px){
  .candidate-mobile-v1555 .candidate-mobile-card{grid-template-columns:48px minmax(0,1fr)!important;gap:6px 8px!important;padding:9px!important;}
  .candidate-mobile-v1555 .candidate-mobile-photo{width:48px!important;height:48px!important;}
  .candidate-mobile-v1555 .candidate-mobile-main strong{font-size:14px!important;}
  .candidate-mobile-v1555 .candidate-mobile-flag{width:40px!important;height:24px!important;}
}

/* Candidate single profile mobile layout */
.candidate-profile-v1555 .candidate-profile-main-card,.candidate-profile-v1555 .candidate-profile-snapshot-card{overflow:hidden!important;}
.candidate-profile-main{align-items:flex-start!important;}
.candidate-profile-title-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.facebook-profile-btn{white-space:nowrap!important;}
@media(max-width:760px){
  .candidate-profile-v1555{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:min(100%,calc(100% - 18px))!important;margin-left:auto!important;margin-right:auto!important;}
  .candidate-profile-v1555 .card{padding:14px!important;border-radius:18px!important;}
  .candidate-profile-main{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;}
  .candidate-profile-main .profile-photo{width:88px!important;height:88px!important;border-radius:18px!important;object-fit:cover!important;}
  .candidate-profile-main .profile-flag-thumb{width:46px!important;height:30px!important;right:-5px!important;bottom:-5px!important;border-radius:7px!important;}
  .candidate-profile-title-row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;align-items:start!important;}
  .candidate-profile-title-row h2{font-size:20px!important;line-height:1.12!important;margin:0!important;overflow-wrap:anywhere!important;}
  .candidate-profile-title-row .facebook-profile-btn{justify-self:start!important;font-size:12px!important;padding:7px 10px!important;border-radius:999px!important;}
  .candidate-profile-main .party-badge{max-width:100%!important;margin-top:4px!important;}
  .candidate-profile-main p{font-size:13px!important;line-height:1.45!important;margin:8px 0!important;}
  .candidate-profile-main .button{font-size:12px!important;padding:8px 10px!important;border-radius:12px!important;}
  .candidate-profile-snapshot-card .stat{font-size:32px!important;}
  .result-snapshot-media{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;}
  .result-snapshot-media .symbol{width:54px!important;height:54px!important;object-fit:contain!important;background:#fff!important;border-radius:12px!important;padding:5px!important;border:1px solid #e2e8f0!important;}
  .result-snapshot-media .flag-small{width:70px!important;height:46px!important;object-fit:cover!important;}
  .candidate-history-section-v1555{width:min(100%,calc(100% - 18px))!important;margin-left:auto!important;margin-right:auto!important;}
  .candidate-history-section-v1555 .card{padding:12px!important;border-radius:18px!important;}
  .candidate-history-table-wrap{overflow:visible!important;}
  .candidate-history-table-v1555{border:0!important;background:transparent!important;box-shadow:none!important;}
  .candidate-history-table-v1555 thead{display:none!important;}
  .candidate-history-table-v1555 tbody{display:grid!important;gap:8px!important;}
  .candidate-history-table-v1555 tr{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;background:#fff!important;border:1px solid #dbe7e1!important;border-radius:14px!important;padding:9px!important;box-shadow:0 6px 16px rgba(15,23,42,.06)!important;}
  .candidate-history-table-v1555 td{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border:0!important;padding:4px 0!important;background:transparent!important;font-size:12px!important;}
  .candidate-history-table-v1555 td:before{content:attr(data-label)!important;font-weight:900!important;color:#64748b!important;font-size:10.5px!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
}

/* v1.5.6 Official AJK Elections Branding Refresh */
.official-ajk-brand{display:inline-flex!important;align-items:center!important;text-decoration:none!important;min-width:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.official-ajk-brand img{display:block!important;height:74px!important;width:auto!important;max-width:min(620px,64vw)!important;object-fit:contain!important;filter:drop-shadow(0 10px 20px rgba(15,23,42,.12))!important;}
.nav.public-nav{align-items:center!important;}
.official-admin-brand{padding:10px 10px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04))!important;border-bottom:1px solid rgba(255,255,255,.12)!important;}
.official-admin-brand img{width:100%!important;max-width:220px!important;height:auto!important;display:block!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))!important;}
.tv-official-brand img{height:82px!important;width:auto!important;max-width:520px!important;object-fit:contain!important;display:block!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35))!important;}
.tvbar .tv-official-brand{min-width:0!important;flex:1 1 auto!important;}
@media(max-width:860px){
  .official-ajk-brand img{height:58px!important;max-width:74vw!important;}
  .official-admin-brand img{max-width:180px!important;}
  .tv-official-brand img{height:62px!important;max-width:70vw!important;}
}
@media(max-width:520px){
  .official-ajk-brand img{height:48px!important;max-width:68vw!important;}
  .tv-official-brand img{height:50px!important;}
}

/* v1.5.7 Professional responsive and Urdu rendering fixes */
:root{--urdu-font:'Noto Nastaliq Urdu','Noto Naskh Arabic','Jameel Noori Nastaleeq','Nafees Nastaleeq',serif;}
.urdu-text,.party-s1-urdu,.party-detail-urdu,[dir="rtl"]{font-family:var(--urdu-font)!important;line-height:2.05!important;letter-spacing:0!important;text-rendering:geometricPrecision;unicode-bidi:plaintext;}
.official-ajk-brand img{height:var(--site-logo-height,72px)!important;max-width:min(430px,42vw)!important;object-fit:var(--site-logo-fit,contain)!important;object-position:left center!important;display:block!important;}
.official-admin-brand img{height:var(--site-logo-height,72px)!important;max-width:100%!important;object-fit:contain!important;}
.logo-preview-admin{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:12px 0}.logo-preview-admin img{max-height:84px;max-width:100%;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px}.logo-preview-admin .favicon-preview-admin{width:76px;height:76px;border-radius:16px;padding:4px}
.party-detail-hero{overflow:hidden;border-radius:26px!important;padding:0!important;border:1px solid color-mix(in srgb,var(--party2,#d4af37) 58%,#dbe3ea)!important;box-shadow:0 22px 58px rgba(15,23,42,.14)!important}.party-detail-colour-panel{display:grid;grid-template-columns:148px minmax(0,1fr);gap:26px;align-items:center;padding:28px 34px;color:#fff;background:linear-gradient(125deg,color-mix(in srgb,var(--party,#0f766e) 96%,#000) 0%,var(--party,#0f766e) 48%,var(--party2,#d4af37) 74%,var(--party3,#111827) 100%);position:relative;isolation:isolate}.party-detail-colour-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.22),transparent 28%),linear-gradient(160deg,rgba(0,0,0,.08),rgba(0,0,0,.28));z-index:-1}.party-detail-logo-ring{width:128px;height:128px;border-radius:999px;background:#fff;display:grid;place-items:center;border:4px solid color-mix(in srgb,var(--party2,#d4af37) 78%,#fff);box-shadow:0 18px 42px rgba(0,0,0,.28);overflow:hidden}.party-detail-logo-ring img{width:108px;height:108px;object-fit:contain}.party-detail-colour-panel h2{margin:0!important;color:#fff!important;font-size:clamp(28px,3.2vw,46px)!important;line-height:1.08;text-shadow:0 2px 10px rgba(0,0,0,.35)}.party-detail-urdu{font-size:clamp(19px,2vw,28px);font-weight:800;margin-top:8px;color:#fff}.party-detail-meta-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.party-detail-meta-line span{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);font-weight:800}.party-detail-info-grid{display:grid;grid-template-columns:210px 210px minmax(0,1fr);gap:16px;padding:20px;background:#fff}.party-detail-media-box{display:grid;place-items:center;align-content:center;gap:10px;min-height:165px;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);text-align:center;font-weight:900;color:#334155;text-transform:uppercase;font-size:12px}.party-detail-flag{width:145px;height:92px;object-fit:cover;border:1px solid #e2e8f0;box-shadow:0 8px 22px rgba(15,23,42,.10)}.party-detail-symbol{width:105px;height:105px;object-fit:contain}.party-detail-facts dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px 14px;margin:0;padding:8px}.party-detail-facts dt{font-weight:900;color:#475569}.party-detail-facts dd{margin:0;color:#0f172a;font-weight:750}.party-detail-description{border-top:1px solid #e2e8f0;background:#fbfdff;padding:18px 24px}.party-detail-description h3{margin:0 0 8px;color:#0f172a}.party-detail-description p{margin:0;color:#334155}
.candidate-party-kpi-strip{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:10px!important;padding:4px 2px 12px!important;scrollbar-width:thin}.candidate-party-kpi-card{flex:0 0 148px!important;min-height:74px!important;display:grid!important;grid-template-columns:44px 1fr!important;align-items:center!important;gap:9px!important;border-radius:16px!important;padding:10px!important;text-decoration:none!important;background:linear-gradient(135deg,var(--party,#0f766e),var(--party2,#facc15))!important;color:#fff!important;box-shadow:0 10px 22px rgba(15,23,42,.12)!important}.candidate-party-kpi-card img{width:40px!important;height:40px!important;object-fit:contain!important;background:#fff!important;border-radius:10px!important;padding:4px!important}.candidate-party-kpi-card b{display:block!important;font-size:24px!important;line-height:1!important}.candidate-party-kpi-card em{display:block!important;font-style:normal!important;font-size:12px!important;line-height:1.1!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.table-view-emphasis{box-shadow:0 0 0 3px rgba(250,204,21,.22)!important;font-weight:900!important}
.candidate-table-card{overflow:hidden}.candidate-list-table th,.candidate-list-table td{padding:6px 7px!important;vertical-align:middle!important;line-height:1.15!important}.candidate-list-table .candidate-table-photo{width:36px!important;height:36px!important;object-fit:cover!important;border-radius:999px!important}.candidate-list-table .candidate-table-flag{width:50px!important;height:30px!important;object-fit:cover!important;border-radius:6px!important}.candidate-list-table .party-badge{gap:4px!important;padding:3px 5px!important}.candidate-list-table .party-badge img{width:26px!important;height:26px!important;background:#fff!important;object-fit:contain!important}.candidate-mobile-list{display:none}.candidate-mobile-card{position:relative;display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;text-decoration:none;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-left:5px solid #0f766e;border-radius:16px;padding:10px 12px;margin:9px 0;box-shadow:0 8px 22px rgba(15,23,42,.08)}.candidate-mobile-number{font-size:12px;font-weight:900;color:#64748b}.candidate-mobile-photo{width:42px;height:42px;border-radius:999px;object-fit:cover}.candidate-mobile-main{min-width:0}.candidate-mobile-main strong{display:block;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-mobile-main small{display:block;color:#64748b;font-weight:700;margin-top:2px}.candidate-mobile-party{display:flex;align-items:center;gap:6px;margin-top:6px}.candidate-mobile-party img{width:30px;height:30px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:3px}.candidate-mobile-code{justify-self:end;font-weight:1000;color:#0f766e;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:5px 8px;font-size:12px}.candidate-mobile-status{grid-column:2/4;font-size:12px}
.constituencies-table{table-layout:fixed!important;width:100%!important}.constituencies-table .con-code-col{width:92px!important;white-space:nowrap!important}.constituencies-table .con-name-col{width:210px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.constituencies-table .con-district-col{width:150px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.constituencies-table th,.constituencies-table td{padding:7px 8px!important}.constituencies-table td:nth-child(4),.constituencies-table td:nth-child(5),.constituencies-table td:nth-child(6),.constituencies-table td:nth-child(7){white-space:nowrap}.history-table-wrap,.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.history-table-wrap table,.table-wrap table{min-width:760px}.historical-mobile-note{display:none}
.party-sample-one-list{gap:18px!important}.party-s1-card{grid-template-columns:minmax(0,1fr) 430px!important}.party-s1-copy h2{font-size:clamp(22px,2vw,32px)!important}.party-s1-urdu{font-family:var(--urdu-font)!important;font-size:clamp(17px,1.5vw,24px)!important}.party-s1-meta{font-size:13px!important}.party-s1-flag{background:#fff!important}.clear-symbol-bg,.party-mini-img,.party-s1-symbol,.tv-party-logo,.candidate-table-flag{background:#fff!important;box-shadow:none!important}
@media(max-width:900px){.official-ajk-brand img{height:var(--site-logo-mobile-height,48px)!important;max-width:min(280px,68vw)!important}.party-detail-colour-panel{grid-template-columns:96px minmax(0,1fr);gap:16px;padding:18px}.party-detail-logo-ring{width:88px;height:88px}.party-detail-logo-ring img{width:76px;height:76px}.party-detail-info-grid{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.party-detail-facts{grid-column:1/-1}.party-detail-facts dl{grid-template-columns:120px minmax(0,1fr);font-size:14px}.party-detail-media-box{min-height:125px}.party-detail-flag{width:112px;height:70px}.party-detail-symbol{width:82px;height:82px}.candidate-filter-head{display:grid!important;gap:12px!important}.candidate-view-switch{display:flex!important;gap:8px!important}.candidate-view-switch .button{flex:1;text-align:center}.candidate-list-table{display:none!important}.candidate-table-wrap{background:transparent!important;padding:0!important;border:0!important}.candidate-mobile-list{display:block!important}.candidate-party-kpi-card{flex-basis:132px!important}.party-s1-card{display:block!important;border-radius:18px!important}.party-s1-identity{clip-path:none!important;grid-template-columns:82px minmax(0,1fr)!important;padding:16px!important}.party-s1-logo-ring{width:74px!important;height:74px!important}.party-s1-logo-ring img{width:62px!important;height:62px!important}.party-s1-details{grid-template-columns:1fr 1fr!important;padding:10px!important}.party-s1-panel{min-height:82px!important}.party-s1-arrow{position:absolute!important;right:12px!important;bottom:12px!important;width:36px!important;height:36px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 8px 18px rgba(15,23,42,.14)!important}.party-page-topline{display:grid!important}.constituencies-table{min-width:960px!important}.constituencies-table-wrap{overflow-x:auto!important}.history-table-wrap table,.table-wrap table{min-width:860px}.logo-preview-admin{grid-template-columns:1fr}.public-menu{max-height:75vh;overflow:auto}}
@media(max-width:560px){.party-detail-colour-panel h2{font-size:24px!important}.party-detail-urdu{font-size:18px}.party-detail-info-grid{grid-template-columns:1fr}.party-detail-facts dl{grid-template-columns:1fr;gap:4px}.candidate-party-kpi-section{padding-left:8px!important;padding-right:8px!important}.candidate-party-kpi-card{flex-basis:118px!important;grid-template-columns:36px 1fr!important}.candidate-party-kpi-card img{width:34px!important;height:34px!important}.candidate-party-kpi-card b{font-size:20px!important}.candidate-mobile-card{grid-template-columns:38px 1fr 58px;padding:9px}.candidate-mobile-photo{width:38px;height:38px}.candidate-mobile-main strong{font-size:14px}.party-s1-copy h2{font-size:18px!important}.party-s1-meta span{font-size:11px}.party-s1-details{grid-template-columns:1fr 1fr!important}.party-s1-flag{width:82px!important;height:50px!important}.party-s1-symbol{width:54px!important;height:54px!important}.party-s1-count b{font-size:24px!important}}


/* v1.5.8 Logo settings and Constituencies column correction */
.official-ajk-brand img{
  height:var(--site-logo-height,72px)!important;
  width:auto!important;
  max-width:min(760px,62vw)!important;
  object-fit:var(--site-logo-fit,contain)!important;
  object-position:left center!important;
}
.official-admin-brand img{
  height:var(--site-logo-height,72px)!important;
  width:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}
.tv-official-brand img{
  height:var(--tv-logo-height,var(--site-logo-height,82px))!important;
  width:auto!important;
  max-width:min(760px,58vw)!important;
  object-fit:contain!important;
}
@media(max-width:860px){
  .official-ajk-brand img{height:var(--site-logo-mobile-height,48px)!important;max-width:72vw!important;}
}
@media(max-width:520px){
  .official-ajk-brand img{height:var(--site-logo-mobile-height,44px)!important;max-width:70vw!important;}
}
.logo-preview-admin img:not(.favicon-preview-admin){max-width:100%;height:auto;max-height:130px;object-fit:contain;}
/* Make the front-end Constituencies table use the available width properly. */
.constituencies-watermark.watermark-table{overflow-x:auto!important;max-width:100%!important;}
.constituencies-table{
  table-layout:fixed!important;
  width:100%!important;
  min-width:1040px!important;
}
.constituencies-table th,.constituencies-table td{
  padding:7px 8px!important;
  line-height:1.18!important;
  vertical-align:middle!important;
}
.constituencies-table .con-code-col,
.constituencies-table th:nth-child(1),.constituencies-table td:nth-child(1){
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.constituencies-table .con-name-col,
.constituencies-table th:nth-child(2),.constituencies-table td:nth-child(2){
  width:190px!important;
  max-width:190px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.constituencies-table .con-district-col,
.constituencies-table th:nth-child(3),.constituencies-table td:nth-child(3){
  width:118px!important;
  max-width:118px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.constituencies-table th:nth-child(4),.constituencies-table td:nth-child(4){width:116px!important;white-space:nowrap!important;}
.constituencies-table th:nth-child(5),.constituencies-table td:nth-child(5),
.constituencies-table th:nth-child(6),.constituencies-table td:nth-child(6){width:92px!important;white-space:nowrap!important;}
.constituencies-table th:nth-child(7),.constituencies-table td:nth-child(7){width:82px!important;white-space:nowrap!important;}
.constituencies-table th:nth-child(8),.constituencies-table td:nth-child(8){width:160px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.constituencies-table th:nth-child(9),.constituencies-table td:nth-child(9){width:116px!important;white-space:nowrap!important;}
@media(max-width:900px){.constituencies-table{min-width:1040px!important;}}


/* v1.5.9 Constituencies table final column-width correction
   The live page has several older table rules above. This block is intentionally
   last and more specific so Code gets enough width while Constituency/District
   stop wasting horizontal space. */
.constituencies-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.constituencies-table.compact-constituencies-table{
  width:100%!important;
  min-width:1080px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.constituencies-table.compact-constituencies-table th,
.constituencies-table.compact-constituencies-table td{
  padding:6px 7px!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
}
.constituencies-table.compact-constituencies-table .con-code-col{
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.constituencies-table.compact-constituencies-table .con-code-col a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:74px!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
.constituencies-table.compact-constituencies-table .con-name-col{
  width:185px!important;
  min-width:185px!important;
  max-width:185px!important;
}
.constituencies-table.compact-constituencies-table .con-district-col{
  width:115px!important;
  min-width:115px!important;
  max-width:115px!important;
}
.constituencies-table.compact-constituencies-table .con-voters-col{width:105px!important;}
.constituencies-table.compact-constituencies-table .con-gender-col{width:88px!important;}
.constituencies-table.compact-constituencies-table .con-turnout-col{width:78px!important;}
.constituencies-table.compact-constituencies-table .con-leader-col{width:170px!important;}
.constituencies-table.compact-constituencies-table .con-status-col{width:112px!important;}
@media(max-width:760px){
  .constituencies-table.compact-constituencies-table{min-width:1040px!important;}
  .constituencies-table.compact-constituencies-table th,
  .constituencies-table.compact-constituencies-table td{padding:5px 6px!important;font-size:12px!important;}
}


/* v1.5.10 Constituencies table recovery
   Reverses the rigid v1.5.9 fixed-width rules and returns the public
   constituencies table to a compact, fluid and user-resizable layout. */
.constituencies-table-wrap,
.constituencies-watermark.watermark-table{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
}
.constituencies-table.compact-constituencies-table,
.constituencies-table{
  width:100%!important;
  min-width:920px!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:13px!important;
}
.constituencies-table.compact-constituencies-table th,
.constituencies-table.compact-constituencies-table td,
.constituencies-table th,
.constituencies-table td{
  padding:5px 6px!important;
  line-height:1.18!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.constituencies-table.compact-constituencies-table .con-code-col,
.constituencies-table .con-code-col{
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.constituencies-table.compact-constituencies-table .con-code-col a,
.constituencies-table .con-code-col a{
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
.constituencies-table.compact-constituencies-table .con-name-col,
.constituencies-table .con-name-col{
  width:auto!important;
  min-width:150px!important;
  max-width:none!important;
}
.constituencies-table.compact-constituencies-table .con-district-col,
.constituencies-table .con-district-col{
  width:auto!important;
  min-width:90px!important;
  max-width:none!important;
}
.constituencies-table.compact-constituencies-table .con-voters-col,
.constituencies-table .con-voters-col{width:auto!important;min-width:92px!important;}
.constituencies-table.compact-constituencies-table .con-gender-col,
.constituencies-table .con-gender-col{width:auto!important;min-width:74px!important;}
.constituencies-table.compact-constituencies-table .con-turnout-col,
.constituencies-table .con-turnout-col{width:auto!important;min-width:68px!important;}
.constituencies-table.compact-constituencies-table .con-leader-col,
.constituencies-table .con-leader-col{width:auto!important;min-width:135px!important;}
.constituencies-table.compact-constituencies-table .con-status-col,
.constituencies-table .con-status-col{width:auto!important;min-width:90px!important;}
.constituencies-table.resizable-columns th{position:relative!important;}
.constituencies-table .col-resizer{
  position:absolute!important;
  right:-3px!important;
  top:25%!important;
  width:7px!important;
  height:50%!important;
  cursor:col-resize!important;
  z-index:5!important;
  border-right:2px solid rgba(0,83,58,.25)!important;
}
.constituencies-table .col-resizer:hover{border-right-color:rgba(0,83,58,.75)!important;}
@media(max-width:760px){
  .constituencies-table.compact-constituencies-table,
  .constituencies-table{min-width:920px!important;font-size:12px!important;}
  .constituencies-table.compact-constituencies-table th,
  .constituencies-table.compact-constituencies-table td,
  .constituencies-table th,
  .constituencies-table td{padding:5px!important;}
}

/* v1.5.11 Design 1 party position change section */
.party-change-design1-card{padding:18px!important;border-radius:24px!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 68%,#eef6ff 100%)!important;border:1px solid rgba(148,163,184,.28)!important;box-shadow:0 22px 52px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.92)!important;overflow:hidden!important}
.party-change-design1-title{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(360px,1.25fr)!important;gap:18px!important;align-items:center!important;border-bottom:1px solid rgba(148,163,184,.26)!important;margin-bottom:16px!important;padding-bottom:14px!important}.party-change-design1-title h2{font-size:clamp(26px,2.8vw,38px)!important;letter-spacing:-.055em!important;color:#071827!important;margin:0!important;line-height:1!important}.party-change-design1-title span{font-size:13px!important;color:#334155!important;font-weight:800!important}.party-trend-summary-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.trend-summary-item{position:relative;min-height:70px;border-left:1px solid rgba(148,163,184,.22);padding:8px 10px 8px 54px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 9px 22px rgba(15,23,42,.06);overflow:hidden}.trend-summary-item em{position:absolute;left:10px;top:12px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:1000;color:#fff;background:#0f766e;box-shadow:0 8px 18px rgba(15,23,42,.16)}.trend-summary-item b{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#334155;font-weight:1000}.trend-summary-item strong{display:block;font-size:15px;color:#071827;margin:3px 0 1px}.trend-summary-item span{display:block!important;font-size:13px!important;font-weight:1000!important;color:#0f766e!important}.trend-loss em{background:#dc2626}.trend-loss span{color:#b91c1c!important}.trend-leader em{background:#2563eb}.trend-votes em{background:#7c3aed}.trend-votes span{color:#b91c1c!important}.party-trend-card-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:12px;margin:14px 0 10px}.party-trend-card{position:relative;display:grid;gap:8px;text-decoration:none!important;color:#fff!important;min-height:146px;border-radius:18px;padding:14px;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.45),transparent 28%),linear-gradient(135deg,var(--party,#0f766e) 0%,var(--party,#0f766e) 60%,var(--party2,#facc15) 100%)!important;border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 34px rgba(15,23,42,.19),inset 0 1px 0 rgba(255,255,255,.36);overflow:hidden}.party-trend-card:after{content:"";position:absolute;inset:auto 0 0 0;height:42px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18));pointer-events:none}.party-trend-top{display:flex;align-items:center;gap:9px;min-width:0}.party-trend-top strong{font-size:18px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.35)}.party-trend-symbol{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(15,23,42,.18);flex:0 0 auto}.party-trend-symbol img{width:31px;height:31px;object-fit:contain}.party-trend-mid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.party-trend-mid b{font-size:38px;line-height:.88;font-weight:1000;text-shadow:0 2px 4px rgba(0,0,0,.35)}.party-trend-mid small{text-transform:uppercase;font-weight:1000;font-size:10px;letter-spacing:.05em;opacity:.92;grid-column:1}.party-trend-mid em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;border-radius:10px;padding:7px 9px;background:rgba(255,255,255,.19);font-weight:1000;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.party-trend-mid em.loss{background:rgba(185,28,28,.78)}.party-trend-mid em.gain{background:rgba(22,163,74,.72)}.party-trend-mid em.flat{background:rgba(71,85,105,.64)}.party-trend-mid em span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.party-trend-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.38);overflow:hidden;position:relative;z-index:2}.party-trend-progress i{display:block;height:100%;background:rgba(255,255,255,.9);border-radius:999px}.party-trend-foot{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:800;opacity:.95;position:relative;z-index:2}.design1-table-wrap{margin-top:12px;border:1px solid rgba(148,163,184,.24);border-radius:16px;overflow:auto;background:#fff}.design1-table-wrap table{min-width:920px!important}.design1-table-wrap .party-change-table th{background:#f8fafc!important;color:#0f172a!important;font-weight:1000!important;text-transform:uppercase;font-size:11px!important;letter-spacing:.035em}.design1-table-wrap .party-change-table td{font-size:13px!important}.design1-table-wrap .party-row-number{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:999px;background:#eef6ff;border:1px solid #bfdbfe;font-weight:900}.design1-table-wrap .change-pill{font-size:13px!important;padding:5px 10px!important}@media(max-width:1280px){.party-trend-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.party-change-design1-title{grid-template-columns:1fr}.party-trend-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.party-trend-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.party-trend-summary-strip{grid-template-columns:1fr}.party-trend-card{min-height:130px;padding:12px}.party-trend-mid b{font-size:30px}.party-trend-top strong{font-size:15px}.party-trend-symbol{width:36px;height:36px}.party-trend-symbol img{width:27px;height:27px}}

/* v1.5.11 Historical 2021 reliability and Design 1 homepage polish */
.historical-results-2021-card{border-left:7px solid #f59e0b!important;background:linear-gradient(135deg,#ffffff,#fff7ed)!important}.historical-results-2021-table th{background:#f8fafc!important;color:#0f172a!important;text-transform:uppercase;font-size:12px!important}.historical-results-2021-table td{font-size:13px!important}.history-2021-kpis{margin-bottom:12px!important}.historical-admin-kpis{margin-bottom:14px!important}.history-2021-kpis .kpi,.historical-admin-kpis .kpi{border-left:5px solid #0f766e!important}.historical-results-2021-table .party-mini-img{width:34px!important;height:34px!important;object-fit:contain;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.historical-results-2021-card .notice.warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:14px;padding:12px;margin:10px 0}.chart-card canvas#histPartySeats,.chart-card canvas#histPartyVotes{height:280px!important;max-height:280px!important}@media(max-width:760px){.history-2021-kpis,.historical-admin-kpis{grid-template-columns:1fr 1fr!important}.historical-results-2021-table td,.historical-results-2021-table th{font-size:12px!important}.chart-card canvas#histPartySeats,.chart-card canvas#histPartyVotes{height:220px!important;max-height:220px!important}}

/* v1.5.13 public/header/menu/party-colour/mobile refinements */
/* Countdown sits next to logo and remains visible on mobile */
.public-nav{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;overflow:visible!important;}
.public-nav .official-ajk-brand{flex:0 0 auto!important;}
.public-nav .election-countdown{order:2!important;flex:0 0 auto!important;min-width:230px!important;margin:0 10px!important;}
.public-nav .menu-toggle{order:3!important;}
.public-nav .public-menu{order:4!important;flex:1 1 auto!important;}
.election-countdown.election-countdown-card{background:linear-gradient(135deg,#0f172a,#7f1d1d 48%,#f59e0b)!important;border:2px solid #facc15!important;color:#fff!important;box-shadow:0 0 0 4px rgba(250,204,21,.20),0 16px 36px rgba(15,23,42,.26)!important;}
.election-countdown .countdown-title{color:#fef08a!important;font-weight:1000!important;letter-spacing:.08em!important;}
.election-countdown .countdown-values{color:#fff!important;font-weight:1000!important;font-size:18px!important;text-shadow:0 2px 6px rgba(0,0,0,.42)!important;}

/* Restore party colour styling everywhere for party badge/cards */
.party-badge{background:linear-gradient(135deg,var(--party-accent,#0f766e),color-mix(in srgb,var(--party-accent,#0f766e) 72%,#facc15))!important;color:#fff!important;border:1px solid color-mix(in srgb,var(--party-accent,#0f766e) 65%,#ffffff)!important;box-shadow:0 8px 18px rgba(15,23,42,.16)!important;}
.party-badge span{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.25)!important;}
.party-badge img{background:#fff!important;border:1px solid rgba(255,255,255,.8)!important;padding:2px!important;}
.clear-symbol-bg,.party-mini-img,.party-s1-symbol,.tv-party-logo,.candidate-table-flag{box-shadow:0 5px 13px rgba(15,23,42,.12)!important;}
.party-card,.top-party-card,.party-trend-card,.party-s1-card{border-color:color-mix(in srgb,var(--party,#0f766e) 55%,#e5e7eb)!important;}

/* Candidate Profiles party KPI cards: centred, bordered, stronger */
.candidate-party-kpi-strip{justify-content:center!important;align-items:stretch!important;}
.candidate-party-kpi-card{border:2px solid rgba(255,255,255,.85)!important;outline:1px solid color-mix(in srgb,var(--party,#0f766e) 50%,#e5e7eb)!important;text-align:center!important;justify-items:center!important;box-shadow:0 12px 28px rgba(15,23,42,.18)!important;}
.candidate-party-kpi-card span{display:grid!important;justify-items:center!important;text-align:center!important;}
.candidate-party-kpi-card img{margin:auto!important;}

/* Party detail Urdu fields should visually align like English text */
.party-detail-page .party-detail-urdu,
.party-detail-page .urdu-text,
.party-detail-page [dir="rtl"]{text-align:left!important;direction:ltr!important;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif!important;}
.party-detail-facts dd{word-break:break-word;}

/* Homepage/mobile audit fixes */
@media(max-width:900px){
  .home-wide-wrap{width:min(100% - 18px,1180px)!important;}
  .grid.cards.kpi-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .party-trend-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important;gap:8px!important;}
  .party-trend-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .top-four-party-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .party-change-title{display:grid!important;gap:12px!important;}
  .public-nav{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:8px!important;align-items:center!important;}
  .public-nav .official-ajk-brand{grid-column:1!important;grid-row:1!important;}
  .public-nav .election-countdown{grid-column:2!important;grid-row:1!important;min-width:0!important;margin:0!important;padding:7px 9px!important;}
  .public-nav .menu-toggle{grid-column:3!important;grid-row:1!important;justify-self:end!important;}
  .public-nav .public-menu{grid-column:1/-1!important;grid-row:2!important;width:100%!important;}
}
@media(max-width:760px){
  html,body{overflow-x:hidden!important;}
  .public-menu{display:none!important;grid-template-columns:1fr!important;background:rgba(255,255,255,.96)!important;border-radius:16px!important;padding:8px!important;margin-top:8px!important;box-shadow:0 14px 34px rgba(15,23,42,.14)!important;max-height:none!important;overflow:visible!important;}
  .public-menu.open{display:grid!important;}
  .public-menu>a,.public-dd>summary{width:100%!important;justify-content:flex-start!important;color:#064e3b!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;margin:2px 0!important;}
  .public-dd{display:block!important;width:100%!important;position:static!important;}
  .public-dd-menu{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;box-shadow:none!important;border:0!important;background:#fff!important;padding:4px 0 4px 12px!important;max-height:none!important;overflow:visible!important;}
  .public-dd-menu a{width:100%!important;display:flex!important;justify-content:flex-start!important;color:#064e3b!important;}
  .election-countdown .countdown-title{font-size:9px!important;}
  .election-countdown .countdown-values{font-size:12px!important;white-space:normal!important;line-height:1.1!important;}
  .grid.cards.kpi-cards,.party-trend-summary-strip,.party-trend-card-grid,.top-four-party-kpis{grid-template-columns:1fr!important;}
  .party-trend-card{min-height:auto!important;}
  .latest-scroll.iphone-feed{height:310px!important;}
  .latest-feed-item{grid-template-columns:54px 1fr!important;}
  .feed-media{width:54px!important;height:54px!important;}
  .feed-candidate{width:54px!important;height:54px!important;}
  .party-change-table-wrap{overflow-x:auto!important;}
  .party-change-table{min-width:780px!important;}
  .top-party-card{min-height:auto!important;}
  .card{max-width:100%!important;}
}
@media(max-width:430px){
  .public-nav{grid-template-columns:1fr auto!important;}
  .public-nav .official-ajk-brand{grid-column:1!important;}
  .public-nav .menu-toggle{grid-column:2!important;}
  .public-nav .election-countdown{grid-column:1/-1!important;grid-row:2!important;}
  .public-nav .public-menu{grid-row:3!important;}
}

/* v1.5.14 countdown KPI, multicolour party badges and mobile refinements */
.public-nav{position:relative!important;}
.public-nav .official-ajk-brand{position:relative!important;z-index:5!important;}
.public-nav .election-countdown.election-countdown-card{
  order:2!important;
  flex:0 0 auto!important;
  min-width:205px!important;
  max-width:245px!important;
  margin-left:-12px!important;
  margin-right:8px!important;
  transform:rotate(-2.2deg)!important;
  padding:8px 12px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#020617 0%,#7f1d1d 46%,#facc15 100%)!important;
  border:2px solid rgba(255,255,255,.9)!important;
  box-shadow:0 0 0 4px rgba(250,204,21,.22),0 16px 34px rgba(15,23,42,.34),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.election-countdown.election-countdown-card:before{content:"";position:absolute;inset:-6px;border-radius:22px;background:linear-gradient(135deg,rgba(250,204,21,.35),rgba(239,68,68,.22));z-index:-1;filter:blur(8px)}
.election-countdown .countdown-title{font-size:9.5px!important;line-height:1!important;color:#fef08a!important;text-transform:uppercase!important;letter-spacing:.08em!important;text-align:center!important;display:block!important;}
.election-countdown .countdown-values{font-size:15px!important;line-height:1.05!important;color:#fff!important;text-align:center!important;display:block!important;text-shadow:0 2px 4px rgba(0,0,0,.5)!important;white-space:nowrap!important;}
.party-badge.party-badge-gradient,.party-badge{background:linear-gradient(135deg,var(--party-accent,#0f766e) 0%,var(--party-accent2,#facc15) 62%,var(--party-accent3,#ffffff) 115%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 8px 18px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.22)!important;}
.party-badge.party-badge-gradient:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 34%,rgba(0,0,0,.14));pointer-events:none}.party-badge{position:relative;overflow:hidden}.party-badge span{position:relative;z-index:2;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important}.party-badge img{position:relative;z-index:2;background:#fff!important;}
.party-trend-summary-strip{align-items:stretch!important}.trend-summary-item{display:grid!important;grid-template-columns:38px 1fr!important;grid-template-areas:"icon title" "icon value" "icon detail"!important;gap:1px 8px!important;padding:9px 10px!important;min-height:72px!important}.trend-summary-item em{grid-area:icon!important;position:static!important;width:34px!important;height:34px!important;margin:auto 0!important}.trend-summary-item b{grid-area:title!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.trend-summary-item strong{grid-area:value!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.trend-summary-item span{grid-area:detail!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.tv-mode-switch{display:flex;gap:8px;align-items:center;justify-content:center;margin:10px 0}.tv-mode-switch a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-weight:1000;border:1px solid rgba(255,255,255,.18)}.tv-mode-switch a.active{background:linear-gradient(135deg,#facc15,#22c55e);color:#052e16}.tv-insights-bridge{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tv-insights-mini{border-radius:18px;padding:10px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.tv-insights-mini b{display:block;color:#facc15}.tv-insights-mini span{display:block;color:#d1fae5;font-weight:900;font-size:12px}
@media(max-width:900px){.public-nav .election-countdown.election-countdown-card{margin-left:0!important;transform:rotate(-1.5deg)!important;max-width:100%!important}.party-trend-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.trend-summary-item{min-height:68px!important}.tv-insights-bridge{grid-template-columns:1fr}}
@media(max-width:760px){.public-nav .election-countdown.election-countdown-card{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;padding:7px 8px!important;border-radius:14px!important}.election-countdown .countdown-title{font-size:8px!important}.election-countdown .countdown-values{font-size:11.5px!important;white-space:normal!important}.party-change-design1-title{display:block!important}.party-trend-summary-strip{grid-template-columns:1fr!important;margin-top:10px!important}.trend-summary-item{grid-template-columns:34px 1fr!important;padding:8px!important}.trend-summary-item em{width:30px!important;height:30px!important}.trend-summary-item strong{font-size:14px!important}.trend-summary-item span{font-size:12px!important}.public-menu.open,.public-menu.is-open{display:grid!important}.public-menu{max-height:none!important;overflow:visible!important}.public-dd-menu{position:static!important;display:grid!important;box-shadow:none!important;max-height:none!important;overflow:visible!important}}
@media(max-width:430px){.public-nav .election-countdown.election-countdown-card{grid-column:1/-1!important;grid-row:2!important;transform:rotate(-1deg)!important}.public-nav .public-menu{grid-row:3!important}}


/* v1.5.15 Premium blue-gradient admin sidebar redesign */
.admin-body{
  --admin-blue:#2d7cf6;
  --admin-blue-2:#1d5fd4;
  --admin-blue-3:#123b88;
  --admin-navy:#071b45;
  --admin-gold:#f8c23c;
}
.admin-body .admin-shell{grid-template-columns:270px minmax(0,1fr)!important;background:linear-gradient(180deg,#f8fbff,#edf5ff)!important;}
.admin-body .side{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.23),transparent 23%),
    linear-gradient(180deg,#2d7cf6 0%,#1d5fd4 42%,#123b88 74%,#071b45 100%)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
  box-shadow:18px 0 42px rgba(18,59,136,.24)!important;
  padding:16px 13px 18px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.42) transparent;
}
.admin-body .side::-webkit-scrollbar{width:8px}.admin-body .side::-webkit-scrollbar-track{background:transparent}.admin-body .side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.34);border-radius:999px}
.admin-body .official-admin-brand{
  display:grid!important;
  place-items:center!important;
  gap:6px!important;
  text-align:center!important;
  padding:14px 10px 16px!important;
  margin:0 0 12px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 16px 30px rgba(7,27,69,.22)!important;
  color:#fff!important;
}
.admin-body .official-admin-brand img{
  height:var(--site-logo-height,72px)!important;
  max-width:210px!important;
  width:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.42)) brightness(1.09) contrast(1.05)!important;
}
.admin-body .admin-brand-title{display:block!important;color:#fff!important;font-size:13px!important;font-weight:1000!important;line-height:1.15!important;letter-spacing:-.02em!important;text-shadow:0 2px 10px rgba(0,0,0,.36)!important;}
.admin-body .official-admin-brand small{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:3px 8px!important;border-radius:999px!important;background:rgba(248,194,60,.18)!important;border:1px solid rgba(248,194,60,.42)!important;color:#fff8d1!important;font-size:10px!important;font-weight:900!important;}
.admin-body .admin-user-card{
  background:rgba(7,27,69,.34)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-radius:18px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.admin-body .admin-user-card strong{color:#fff!important}.admin-body .admin-user-card small{color:#dbeafe!important;font-weight:800!important;}
.admin-body .admin-nav{display:grid!important;gap:5px!important;align-content:start!important;}
.admin-body .admin-nav a,
.admin-body .admin-nav details.settings-menu>summary{
  min-height:34px!important;
  padding:8px 10px!important;
  margin:0!important;
  border-radius:13px!important;
  color:#f8fbff!important;
  background:rgba(255,255,255,.095)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(8px)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  transition:transform .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease!important;
}
.admin-body .admin-nav a:hover,
.admin-body .admin-nav details.settings-menu>summary:hover{
  transform:translateX(4px)!important;
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(7,27,69,.20),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.admin-body .admin-nav a[href$="dashboard.php"],
.admin-body .admin-nav a[aria-current="page"],
.admin-body .admin-nav a.active{
  background:linear-gradient(135deg,#ffffff,#e0f2fe)!important;
  color:#123b88!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 12px 28px rgba(7,27,69,.24)!important;
}
.admin-body .admin-nav details.settings-menu{margin:0!important;border-radius:15px!important;overflow:visible!important;}
.admin-body .admin-nav details.settings-menu>summary{list-style:none;cursor:pointer;}
.admin-body .admin-nav details.settings-menu>summary::-webkit-details-marker{display:none!important;}
.admin-body .admin-nav details.settings-menu>summary:after{content:'▸'!important;margin-left:auto!important;color:#f8c23c!important;font-size:12px!important;transition:transform .15s ease!important;}
.admin-body .admin-nav details.settings-menu[open]>summary:after{content:'▾'!important;}
.admin-body .admin-nav .settings-links{
  margin:5px 0 5px 9px!important;
  padding:6px 0 6px 10px!important;
  gap:4px!important;
  border-left:2px solid rgba(248,194,60,.35)!important;
}
.admin-body .admin-nav .settings-links a{
  min-height:28px!important;
  font-size:11px!important;
  padding:6px 8px!important;
  background:rgba(7,27,69,.22)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.admin-body .communication-menu>summary{background:linear-gradient(135deg,rgba(248,194,60,.30),rgba(255,255,255,.10))!important;color:#fff8d1!important;border-color:rgba(248,194,60,.35)!important;}
.admin-body .user-management-menu>summary{background:linear-gradient(135deg,rgba(14,165,233,.28),rgba(255,255,255,.10))!important;color:#e0f2fe!important;border-color:rgba(125,211,252,.34)!important;}
.admin-body .side-version{
  display:flex!important;align-items:center!important;justify-content:center!important;
  margin:12px 0 0!important;padding:8px 10px!important;
  border-radius:14px!important;background:rgba(7,27,69,.28)!important;color:#fff7c2!important;border:1px solid rgba(248,194,60,.22)!important;font-weight:900!important;
}
.admin-body .main{background:linear-gradient(180deg,#f8fbff,#eff6ff 48%,#f8fafc)!important;}
.admin-body .main h1{color:#0f2f72!important;}
@media(max-width:1100px){
  .admin-body .admin-shell{display:block!important;grid-template-columns:1fr!important;}
  .admin-body .side{display:none!important;position:relative!important;height:auto!important;max-height:none!important;min-height:0!important;border-radius:0 0 22px 22px!important;}
  .admin-body .side.is-open{display:block!important;}
  .admin-body .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-menu-toggle{display:inline-flex!important;position:sticky!important;top:0!important;z-index:5000!important;background:linear-gradient(135deg,#2d7cf6,#123b88)!important;color:#fff!important;}
}
@media(max-width:620px){.admin-body .admin-nav{grid-template-columns:1fr!important}.admin-body .official-admin-brand img{max-width:180px!important}.admin-body .side{padding:12px!important}}


/* v1.5.16 party-defined gradients, mobile party-change scroll and larger logo settings */
.party-badge.party-badge-defined-colours,
.party-badge.party-badge-gradient{
  background:linear-gradient(135deg,var(--party-accent,#0f7a3b) 0%,var(--party-accent2,var(--party-accent,#0f7a3b)) 58%,var(--party-accent3,var(--party-accent2,var(--party-accent,#0f7a3b))) 100%)!important;
  border:1px solid color-mix(in srgb,var(--party-accent2,var(--party-accent,#0f7a3b)) 72%,#ffffff)!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--party-accent,#0f7a3b) 24%,transparent)!important;
  color:#fff!important;
}
.party-badge.party-badge-defined-colours span,
.party-badge.party-badge-gradient span{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.38)!important;}
.party-badge.party-badge-defined-colours img,
.party-badge.party-badge-gradient img{background:rgba(255,255,255,.95)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 3px 8px rgba(0,0,0,.18)!important;}
.design1-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;position:relative!important;padding-bottom:28px!important;}
.design1-table-wrap .party-change-table{min-width:900px!important;}
.design1-table-wrap:after{content:'Swipe left/right to view full party change table →';position:sticky;left:10px;bottom:2px;display:inline-flex;background:linear-gradient(135deg,#123b88,#2d7cf6);color:#fff;font-size:11px;font-weight:900;border-radius:999px;padding:6px 11px;box-shadow:0 8px 18px rgba(15,23,42,.2);z-index:8;}
.logo-preview-admin img{max-height:120px!important;}
.official-ajk-brand img{height:var(--site-logo-height,78px)!important;max-width:min(520px,46vw)!important;}
.official-admin-brand img{height:var(--site-logo-height,84px)!important;max-height:180px!important;}
@media(max-width:900px){
  .party-change-table-wrap,.design1-table-wrap{overflow-x:auto!important;}
  .party-change-table-wrap table,.design1-table-wrap table{min-width:900px!important;}
  .design1-table-wrap:after{display:inline-flex!important;}
}
@media(min-width:901px){.design1-table-wrap:after{display:none!important;}}


/* v1.5.28 Historical Results responsive redesign */
.history-modern-filter{display:grid!important;grid-template-columns:minmax(180px,260px) minmax(240px,1fr);gap:12px!important;align-items:end!important;border-left:6px solid #0f766e!important;background:linear-gradient(135deg,#ffffff,#f0fdf4)!important;}
.history-modern-filter label{font-weight:1000;color:#064e3b;text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.history-modern-filter select{min-height:46px;border-radius:14px;border:1px solid #bbf7d0;padding:10px 12px;font-weight:800;background:#fff;}
.history-modern-overview{padding-top:4px!important;}
.history-hero-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:18px;align-items:stretch;padding:22px;border-radius:26px;background:radial-gradient(circle at top left,rgba(250,204,21,.25),transparent 28%),linear-gradient(135deg,#052e16,#065f46 48%,#0f172a);box-shadow:0 24px 60px rgba(15,23,42,.22);color:#fff;overflow:hidden;position:relative;}
.history-hero-card:after{content:'';position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);}
.history-hero-copy,.history-hero-stats{position:relative;z-index:1;}
.history-eyebrow{display:inline-flex;padding:6px 11px;border-radius:999px;background:rgba(250,204,21,.18);border:1px solid rgba(250,204,21,.48);color:#fef3c7;font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.history-hero-card h2{font-size:clamp(28px,4vw,46px);line-height:1;margin:10px 0;color:#fff;letter-spacing:-.05em;}
.history-hero-card p{max-width:760px;color:#d1fae5;font-size:16px;line-height:1.65;margin:0;}
.history-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.history-hero-stats div{display:grid;align-content:center;gap:4px;padding:16px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.history-hero-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#bbf7d0;}
.history-hero-stats strong{font-size:clamp(24px,3vw,36px);line-height:1;color:#fff;}
.history-overview-charts>.card,.history-detail-charts>.card{border-radius:24px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border:1px solid #e2e8f0!important;box-shadow:0 18px 42px rgba(15,23,42,.08)!important;min-height:360px;}
.history-overview-charts canvas,.history-detail-charts canvas{max-height:290px!important;}
.history-kpi-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;}
.history-kpi-grid .kpi{border-radius:20px!important;border:1px solid #bbf7d0!important;background:linear-gradient(135deg,#ffffff,#ecfdf5)!important;box-shadow:0 12px 28px rgba(15,23,42,.07)!important;text-align:center!important;}
.history-kpi-grid .kpi span{color:#065f46!important;font-weight:1000!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
.history-kpi-grid .kpi strong{color:#0f172a!important;font-size:clamp(20px,2.4vw,30px)!important;}
.history-modern-table-card{border-radius:26px!important;overflow:hidden!important;border:1px solid #d1fae5!important;box-shadow:0 18px 42px rgba(15,23,42,.08)!important;}
.history-modern-table-card h2{font-size:clamp(22px,2.3vw,34px)!important;color:#064e3b!important;margin-bottom:6px!important;}
.historical-results-2021-table{min-width:980px!important;}
.history-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
.history-table-wrap:after{content:'Swipe left/right to view full historical table →';position:sticky;left:8px;bottom:4px;display:none;background:linear-gradient(135deg,#064e3b,#facc15);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(15,23,42,.18);}
.historical-admin-hero{background:linear-gradient(135deg,#eff6ff,#fff,#ecfdf5)!important;border-left:6px solid #2d7cf6!important;border-radius:22px!important;}
.historical-admin-hero h2{color:#123b88!important;margin-top:0!important;}
@media(max-width:1100px){.history-hero-card{grid-template-columns:1fr}.history-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.history-overview-charts,.history-detail-charts{grid-template-columns:1fr!important}.history-overview-charts>.card,.history-detail-charts>.card{min-height:320px}}
@media(max-width:760px){.history-modern-filter{grid-template-columns:1fr!important}.history-hero-card{padding:16px;border-radius:22px}.history-hero-stats{grid-template-columns:1fr 1fr}.history-kpi-grid{grid-template-columns:1fr 1fr!important}.history-table-wrap:after{display:inline-flex}.historical-results-2021-table{min-width:920px!important}.history-hero-card h2{font-size:28px}.history-hero-card p{font-size:14px}}
@media(max-width:460px){.history-hero-stats,.history-kpi-grid{grid-template-columns:1fr!important}}


/* v1.5.29 Candidate constituency result chooser and comparison page */
.candidate-result-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;position:relative;z-index:5}
.candidate-result-choice{position:relative;display:inline-block}
.candidate-result-choice summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:linear-gradient(135deg,#064e3b,#0f766e,#facc15);color:#fff;font-weight:1000;padding:10px 16px;box-shadow:0 12px 26px rgba(6,78,59,.22);text-transform:uppercase;font-size:12px;letter-spacing:.05em}
.candidate-result-choice summary::-webkit-details-marker{display:none}
.candidate-result-choice[open] summary{border-radius:18px 18px 6px 6px}
.candidate-result-choice-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:320px;display:grid;gap:8px;background:#fff;border:1px solid #bbf7d0;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(15,23,42,.2);z-index:1000}
.candidate-result-choice-menu a{display:grid;gap:3px;padding:12px;border-radius:14px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#064e3b;text-decoration:none}
.candidate-result-choice-menu a:hover{background:linear-gradient(135deg,#ecfdf5,#fff7ed);color:#b45309;border-color:#facc15}
.candidate-result-choice-menu a strong{font-size:14px}.candidate-result-choice-menu a span{font-size:12px;color:#64748b;font-weight:800}.button.outline{background:#fff!important;color:#064e3b!important;border:1px solid #bbf7d0!important}.election-context-ribbon{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.election-context-ribbon.has-history{background:#fff7ed;color:#b45309}.candidate-related-links-v1529 h2{margin-top:0;color:#064e3b}.candidate-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.candidate-related-grid a{display:flex;gap:10px;align-items:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,#fff,#f0fdf4);border:1px solid #d1fae5;text-decoration:none;color:#064e3b;font-weight:900;box-shadow:0 10px 22px rgba(15,23,42,.06)}.candidate-related-grid b{display:block}.candidate-related-grid small{display:block;color:#64748b;margin-top:3px}.compare-hero-v1529{margin-top:0}.compare-cards-v1529 .card{border-radius:22px!important}.compare-winner{display:grid;gap:6px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#fff7ed);border:1px solid #bbf7d0;margin-bottom:12px}.compare-winner strong{font-size:22px;color:#064e3b}.compare-winner span{font-weight:900;color:#475569}@media(max-width:900px){.candidate-related-grid{grid-template-columns:1fr 1fr}.candidate-result-choice-menu{position:fixed;left:14px;right:14px;top:auto;bottom:18px;min-width:0;z-index:200000}}@media(max-width:560px){.candidate-related-grid{grid-template-columns:1fr}.candidate-result-actions{display:grid}.candidate-result-choice summary,.candidate-result-actions .button{justify-content:center;width:100%}.candidate-profile-v1529{grid-template-columns:1fr!important}.compare-cards-v1529{grid-template-columns:1fr!important}}

/* v1.5.30 historical constituency UX and candidate result table improvements */
.candidate-result-actions-v1530{display:block!important;margin-top:18px!important;max-width:760px!important;overflow:visible!important;}
.candidate-result-choice-panel{border:1px solid #bbf7d0;border-radius:22px;background:linear-gradient(135deg,#ffffff,#f0fdf4 58%,#fff7ed);padding:14px;box-shadow:0 14px 34px rgba(15,23,42,.08);}
.candidate-result-choice-title{display:inline-flex;align-items:center;gap:8px;font-weight:1000;color:#064e3b;text-transform:uppercase;letter-spacing:.06em;font-size:12px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:7px 11px;margin-bottom:12px;}
.candidate-result-choice-title:before{content:'📊';}
.candidate-result-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.candidate-result-choice-grid a{display:grid;gap:5px;padding:14px;border-radius:18px;border:1px solid #d1fae5;background:#fff;color:#064e3b;text-decoration:none;min-height:92px;box-shadow:0 10px 22px rgba(15,23,42,.05);}
.candidate-result-choice-grid a:hover{transform:translateY(-1px);border-color:#facc15;background:linear-gradient(135deg,#ecfdf5,#fff7ed);color:#92400e;}
.candidate-result-choice-grid a strong{font-size:14px;line-height:1.2}.candidate-result-choice-grid a span{font-size:12px;color:#64748b;font-weight:800;line-height:1.35}
.history-clickable-table .clickable-row{cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;}
.history-clickable-table .clickable-row:hover{background:#ecfdf5!important;box-shadow:inset 4px 0 #0f766e;}
.history-clickable-table .clickable-row:focus{outline:3px solid rgba(250,204,21,.55);outline-offset:-3px;}
.history-party-profile-img{width:34px!important;height:34px!important;object-fit:contain!important;border-radius:10px!important;background:#fff!important;margin-right:8px;vertical-align:middle;box-shadow:0 4px 12px rgba(15,23,42,.12);}
.historical-candidate-results-v1530 th,.historical-candidate-results-v1530 td{vertical-align:middle!important;}
.candidate-history-photo{width:46px;height:46px;border-radius:14px;object-fit:cover;background:#f8fafc;border:2px solid #fff;box-shadow:0 6px 14px rgba(15,23,42,.15);display:inline-flex;align-items:center;justify-content:center;font-weight:1000;color:#064e3b;}
.candidate-history-photo.placeholder{background:linear-gradient(135deg,#ecfdf5,#fef3c7);border:1px solid #bbf7d0;}
.party-flag-mini{width:36px;height:24px;border-radius:7px;object-fit:cover;border:1px solid #e2e8f0;box-shadow:0 4px 10px rgba(15,23,42,.10);}
.party-mini-img.squeezed{width:34px!important;height:34px!important;object-fit:contain!important;border-radius:9px!important;}
.winner-margin{color:#047857;font-weight:1000;display:inline-flex;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:4px 9px;}
.history-bars-pro{display:grid!important;gap:12px!important;}
.history-bar-row-pro{display:grid!important;grid-template-columns:38px 44px minmax(0,1fr) 82px 118px;gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:0 10px 22px rgba(15,23,42,.05);}
.history-bar-row-pro:hover{border-color:#bbf7d0;box-shadow:0 14px 28px rgba(15,23,42,.09);}
.history-bar-rank{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#064e3b,#0f766e);color:#fff;font-weight:1000;}
.history-bar-logo{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;padding:3px;box-shadow:0 5px 12px rgba(15,23,42,.12);}
.history-bar-main{min-width:0;display:grid;gap:7px;}.history-bar-row-pro .history-bar-label{font-size:13px;font-weight:1000;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.history-bar-row-pro .history-bar-track{height:13px;background:#e2e8f0;border-radius:999px;overflow:hidden;}.history-bar-row-pro .history-bar-track i{display:block;height:100%;width:var(--hist-width);background:linear-gradient(90deg,var(--hist-party),color-mix(in srgb,var(--hist-party) 62%,#facc15));border-radius:999px;box-shadow:0 0 18px color-mix(in srgb,var(--hist-party) 32%,transparent);}.history-bar-row-pro strong{font-size:18px;color:#064e3b;text-align:right;}.history-bar-row-pro small{font-weight:900;color:#64748b;text-align:right;}
@media(max-width:900px){.candidate-result-choice-grid{grid-template-columns:1fr}.candidate-result-choice-grid a{min-height:auto}.historical-candidate-results-v1530{min-width:1080px!important}.history-bar-row-pro{grid-template-columns:32px 38px minmax(180px,1fr) 72px 100px}.history-bar-row-pro small{font-size:11px}.history-bar-row-pro strong{font-size:15px}}
@media(max-width:560px){.candidate-result-choice-panel{padding:12px;border-radius:18px}.candidate-result-choice-title{width:100%;justify-content:center}.history-bar-row-pro{grid-template-columns:30px 34px minmax(160px,1fr) 66px 88px;padding:10px}.history-bar-logo{width:34px;height:34px}.candidate-history-photo{width:42px;height:42px}}

/* v1.5.31 Featured Constituency Battle + historical visual polish */
.latest-spotlight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:14px;align-items:stretch;}
.latest-spotlight-grid>.card{height:100%;}
.homepage-spotlight-card{overflow:hidden;position:relative;}
.spotlight-battle{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:10px;align-items:center;min-height:214px;}
.spotlight-candidate{min-width:0;text-decoration:none;color:#0f172a;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--party,#0f766e) 26%,#e2e8f0);background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--party,#0f766e) 10%,#fff));box-shadow:0 12px 26px rgba(15,23,42,.06);}
.spotlight-candidate img{width:62px;height:62px;border-radius:18px;object-fit:cover;background:#e2e8f0;border:3px solid #fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--party,#0f766e) 45%,#e2e8f0);}
.spotlight-candidate b{font-size:15px;line-height:1.15;overflow-wrap:anywhere;}
.spotlight-candidate span{font-size:12px;font-weight:900;color:#475569;}
.spotlight-candidate strong{font-size:26px;line-height:1;color:var(--party,#0f766e);}
.spotlight-candidate em{font-style:normal;font-size:13px;font-weight:1000;color:var(--party2,#f59e0b);}
.spotlight-gauge{text-align:center;display:grid;place-items:center;gap:6px;}
.spotlight-ring{width:124px;height:124px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at center,#fff 0 46%,transparent 48%),conic-gradient(#0f766e 0 55%,#f59e0b 55% 100%);box-shadow:inset 0 0 0 10px rgba(255,255,255,.75),0 12px 28px rgba(15,23,42,.12);}
.spotlight-ring strong{display:block;font-size:24px;line-height:1;}
.spotlight-ring span{display:block;font-size:11px;text-transform:uppercase;font-weight:1000;color:#475569;}
.spotlight-gauge small{font-weight:1000;color:#0f172a;}
.spotlight-progress{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:10px;}
.spotlight-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0f766e,#f59e0b);}
.spotlight-actions{display:flex;justify-content:center;margin-top:10px;}
.spotlight-actions a{font-weight:1000;color:#064e3b;text-decoration:none;border:1px solid #bbf7d0;background:#ecfdf5;border-radius:999px;padding:8px 12px;}
.history-bars-card{padding:12px!important;}
.history-bars-pro{gap:6px!important;}
.history-bar-row-pro{grid-template-columns:28px 36px minmax(0,1fr) 68px 92px!important;gap:7px!important;padding:7px 9px!important;border-radius:14px!important;margin:0!important;}
.history-bar-rank{width:25px!important;height:25px!important;font-size:11px!important;}
.history-bar-logo{width:30px!important;height:30px!important;border-radius:9px!important;}
.history-bar-label{font-size:11px!important;line-height:1.15!important;}
.history-bar-track{height:10px!important;}
.history-bar-row-pro strong{font-size:12px!important;}
.history-bar-row-pro small{font-size:11px!important;}
.history-chart-card #marginChart{max-height:220px!important;}
.candidate-history-photo{width:46px!important;height:46px!important;border-radius:12px!important;object-fit:cover;background:#e2e8f0;display:inline-grid;place-items:center;text-align:center;font-weight:1000;color:#0f766e;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;}
.candidate-history-photo.placeholder{display:inline-grid;}
@media(max-width:900px){.latest-spotlight-grid{grid-template-columns:1fr}.spotlight-battle{grid-template-columns:1fr;}.spotlight-gauge{order:2}.spotlight-candidate.right{order:3}.spotlight-ring{width:104px;height:104px}.history-bar-row-pro{grid-template-columns:24px 32px minmax(0,1fr) 58px!important}.history-bar-row-pro small{display:none}}

.party-candidate-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.party-candidate-list-head h2{margin:0}.party-result-filter{display:flex;align-items:center;gap:8px;margin:0}.party-result-filter label{font-weight:800;font-size:13px}.party-result-filter .input{width:auto;min-width:165px;padding:8px 10px}.party-filter-count{margin:8px 0 12px;color:#64748b;font-size:13px;font-weight:700}

/* ==========================================================
   v1.7.0 Mobile-first public UI/UX refinement
   ========================================================== */
:root{--mobile-page-pad:14px;--mobile-card-radius:18px;--mobile-touch:44px;--mobile-bottom-nav-h:66px}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}
.public-body{font-feature-settings:"kern" 1,"liga" 1;overflow-x:hidden}
.public-body a,.public-body button,.public-body select,.public-body input{touch-action:manipulation}
.public-body :focus-visible{outline:3px solid rgba(14,116,144,.38);outline-offset:3px}
.mobile-bottom-nav{display:none}

@media(max-width:900px){
  .public-body{padding-bottom:calc(var(--mobile-bottom-nav-h) + env(safe-area-inset-bottom,0px))}
  .wrap,.home-wide-wrap{width:auto!important;max-width:none!important;margin-left:var(--mobile-page-pad)!important;margin-right:var(--mobile-page-pad)!important}
  .section{padding-top:13px!important;padding-bottom:13px!important}
  .compact-section{padding-top:9px!important;padding-bottom:9px!important}
  .card{border-radius:var(--mobile-card-radius)!important;box-shadow:0 8px 24px rgba(15,23,42,.08)!important}
  .hero{min-height:auto!important;height:auto!important;padding-bottom:14px!important}
  .hero>.wrap{margin-left:0!important;margin-right:0!important;padding-left:var(--mobile-page-pad)!important;padding-right:var(--mobile-page-pad)!important}
  .hero .title{font-size:clamp(23px,6.5vw,34px)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin-top:14px!important}
  .hero .subtitle{font-size:13px!important;line-height:1.45!important;max-width:96%!important}
  .public-nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding-top:10px!important}
  .official-ajk-brand img{height:var(--site-logo-mobile-height,48px)!important;max-width:min(62vw,220px)!important}
  .public-menu-toggle{display:inline-grid!important;place-items:center;width:var(--mobile-touch)!important;height:var(--mobile-touch)!important;border-radius:14px!important;font-size:24px!important}
  .public-menu{grid-column:1/-1!important;width:100%!important;background:#fff!important;border:1px solid #dbe5ee!important;border-radius:18px!important;padding:8px!important;box-shadow:0 18px 45px rgba(15,23,42,.18)!important;gap:4px!important}
  .public-menu a,.public-menu summary{min-height:var(--mobile-touch)!important;display:flex!important;align-items:center!important;padding:10px 12px!important;border-radius:12px!important;font-size:14px!important;font-weight:800!important}
  .public-dd-menu{padding:4px 0 4px 12px!important;border-left:3px solid #dbeafe!important}
  .public-news-ticker{min-height:38px!important;font-size:12px!important}
  .public-news-ticker strong{padding:0 10px!important}
  .grid.cards,.kpi-cards,.top-party-kpis,.top-four-party-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .kpi-cards .card,.top-party-card{padding:13px!important;min-height:106px!important}
  .kpi-cards .stat,.top-party-card .stat{font-size:clamp(24px,7vw,34px)!important}
  .kpi-cards .label,.top-party-card .label{font-size:11.5px!important;line-height:1.3!important}
  .latest-spotlight-grid,.history-overview-charts,.history-detail-charts{grid-template-columns:1fr!important;gap:12px!important}
  .latest-heading{align-items:flex-start!important;gap:5px!important}
  .latest-heading h2{font-size:19px!important;line-height:1.18!important}
  .latest-feed-item{min-height:72px!important;padding:10px!important}
  .feed-copy strong{font-size:13px!important}.feed-copy span{font-size:12px!important}.feed-copy em{font-size:10.5px!important}
  .spotlight-battle{grid-template-columns:1fr 90px 1fr!important;gap:8px!important}
  .spotlight-candidate{padding:10px 6px!important}.spotlight-candidate img{width:66px!important;height:66px!important}.spotlight-candidate b{font-size:12px!important}
  .spotlight-ring{width:78px!important;height:78px!important}.spotlight-ring strong{font-size:19px!important}
  .filters,.filter-grid,.report-filters,.party-result-filter{gap:9px!important}
  .filters .input,.filter-grid .input,.report-filters .input,.party-result-filter .input,select.input,input.input{min-height:var(--mobile-touch)!important;font-size:16px!important}
  .button,.btn,button:not(.scroll-top-btn){min-height:var(--mobile-touch);padding:10px 14px}
  .table-wrap,.design1-table-wrap,.history-table-wrap{position:relative;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .table-wrap:before,.design1-table-wrap:before,.history-table-wrap:before{content:"Swipe to view more →";position:sticky;left:8px;display:inline-flex;margin:7px 0 4px;padding:5px 9px;border-radius:999px;background:#eef6ff;color:#1e3a8a;font-size:10px;font-weight:900;z-index:3}
  table.table{font-size:12px!important}
  table.table th,table.table td{padding:9px 8px!important;white-space:nowrap}
  table.table th{position:sticky;top:0;z-index:2}
  .candidate-card,.party-card,.constituency-card{border-radius:18px!important}
  .candidate-card img,.candidate-photo{object-position:center top}
  .candidate-profile-grid,.party-profile-grid{grid-template-columns:1fr!important}
  .share-strip{flex-wrap:wrap!important;gap:7px!important}.share-strip a,.share-strip button{flex:1 1 120px!important;justify-content:center!important}
  .version-footer{display:grid!important;gap:7px!important;text-align:center!important;padding:18px 14px calc(20px + env(safe-area-inset-bottom,0px))!important;font-size:11px!important}
  .visitor-location-strip{font-size:10px!important;padding:7px 12px!important;text-align:center!important}
  .scroll-top-btn{bottom:calc(var(--mobile-bottom-nav-h) + 14px + env(safe-area-inset-bottom,0px))!important;right:14px!important;width:42px!important;height:42px!important}
  .mobile-bottom-nav{position:fixed;z-index:9998;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--mobile-bottom-nav-h) + env(safe-area-inset-bottom,0px));padding:6px 5px env(safe-area-inset-bottom,0px);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid rgba(148,163,184,.35);box-shadow:0 -8px 30px rgba(15,23,42,.12)}
  .mobile-bottom-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#475569;border-radius:12px;font-size:18px}
  .mobile-bottom-nav a b{font-size:9.5px;line-height:1;font-weight:900;white-space:nowrap}
  .mobile-bottom-nav a.is-active{color:#0f766e;background:#ecfdf5}
  canvas{max-width:100%!important}
}

@media(max-width:520px){
  :root{--mobile-page-pad:10px}
  .grid.cards,.kpi-cards,.top-party-kpis,.top-four-party-kpis{gap:7px!important}
  .kpi-cards .card,.top-party-card{padding:11px!important;min-height:96px!important}
  .party-trend-card-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .party-trend-card{border-radius:15px!important;padding:10px!important;min-height:122px!important}
  .party-trend-foot{display:grid!important;gap:2px!important}
  .spotlight-battle{grid-template-columns:1fr!important}.spotlight-gauge{order:2}.spotlight-candidate.right{order:3}
  .history-kpi-grid,.history-2021-kpis{grid-template-columns:1fr 1fr!important}
  .party-candidate-list-head{align-items:stretch!important}.party-result-filter{width:100%!important;display:grid!important;grid-template-columns:1fr!important}.party-result-filter .input{width:100%!important}
  .candidate-list,.party-list{grid-template-columns:1fr!important}
}

@media(max-width:360px){
  .grid.cards,.kpi-cards,.top-party-kpis,.top-four-party-kpis,.history-kpi-grid,.history-2021-kpis{grid-template-columns:1fr!important}
  .mobile-bottom-nav a b{font-size:8.5px}.mobile-bottom-nav a{font-size:16px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v1.7.1 stability, validation and admin polish */
.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-page-heading h1{margin:0 0 6px}.admin-page-heading p{margin:0;color:#64748b;max-width:760px}.validation-total{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#ecfdf5;color:#065f46;font-weight:900;white-space:nowrap}.validation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.validation-card{padding:15px!important;border-left:6px solid #94a3b8}.validation-card p{margin:9px 0 0;color:#64748b;font-size:13px;line-height:1.45}.validation-card-top{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center}.validation-card-top b{font-size:22px}.validation-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:1000;background:#f1f5f9}.validation-ok{border-left-color:#10b981}.validation-ok .validation-icon{background:#d1fae5;color:#047857}.validation-high{border-left-color:#dc2626}.validation-high .validation-icon{background:#fee2e2;color:#b91c1c}.validation-medium{border-left-color:#f59e0b}.validation-medium .validation-icon{background:#fef3c7;color:#b45309}.validation-info{border-left-color:#0284c7}.validation-info .validation-icon{background:#e0f2fe;color:#0369a1}.validation-actions{margin-bottom:16px}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.empty-state{display:grid;gap:5px;padding:28px;text-align:center;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc}.empty-state strong{font-size:18px;color:#065f46}.empty-state span{color:#64748b}.table code{font-size:12px;overflow-wrap:anywhere;white-space:normal}
@media(max-width:1000px){.validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-page-heading{align-items:flex-start;flex-direction:column}.validation-grid{grid-template-columns:1fr}.validation-total{white-space:normal}.validation-card-top{grid-template-columns:28px minmax(0,1fr) auto}.action-row>*{width:100%;text-align:center}.admin-body .main{padding:14px}.admin-body h1{font-size:26px}.admin-body .card{border-radius:15px}.admin-body .table{min-width:640px}}

/* v1.8.1 consolidated election-night, performance and premium polish */
:root{--ui-radius:16px;--ui-radius-sm:11px;--ui-border:#dbe4ec;--ui-muted:#64748b;--ui-ink:#0f172a;--ui-surface:#fff;--ui-soft:#f7fafc;--ui-primary:#087443;--ui-primary-dark:#075b36;--ui-gold:#d49a19;--ui-shadow:0 12px 35px rgba(15,23,42,.08)}
.premium-ui-v180{background:linear-gradient(180deg,#f7fafc 0,#fff 520px);color:var(--ui-ink)}
.premium-ui-v180 .card{border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
.premium-ui-v180 h1,.premium-ui-v180 h2,.premium-ui-v180 h3{letter-spacing:-.025em}.premium-ui-v180 h2{font-size:clamp(20px,2vw,27px)}
.premium-ui-v180 .btn{border-radius:var(--ui-radius-sm);font-weight:850;box-shadow:0 5px 15px rgba(8,116,67,.14)}
.premium-ui-v180 .input,.premium-ui-v180 input,.premium-ui-v180 select,.premium-ui-v180 textarea{border-radius:11px;border-color:#cbd8e3;background:#fff}
.premium-ui-v180 .table{border-collapse:separate;border-spacing:0}.premium-ui-v180 .table th{background:#eef4f7;color:#26384a;font-size:11px;letter-spacing:.035em;text-transform:uppercase}.premium-ui-v180 .table td{border-bottom:1px solid #e7edf2}.premium-ui-v180 .table tbody tr:hover{background:#f6fbf8}
.report-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.report-head h2,.report-head p{margin:0}.report-head p{margin-top:4px}
.election-night-kpis .card{position:relative;overflow:hidden}.election-night-kpis .card:after{content:"";position:absolute;inset:auto -20px -45px auto;width:105px;height:105px;border-radius:50%;background:rgba(8,116,67,.06)}
.premium-filter-bar{position:relative}.premium-filter-bar .form-grid{align-items:end}.premium-data-card{padding:18px!important}
.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#eef2f7;color:#475569;border:1px solid #d8e0e8;font-size:11px;font-weight:850;white-space:nowrap}.status-declared,.status-locked{background:#dcfce7;color:#166534;border-color:#86efac}.status-in-progress{background:#e0f2fe;color:#075985;border-color:#7dd3fc}.status-pending-approval{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-awaiting,.status-not-started{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}
.turnout-meter{display:grid;grid-template-columns:minmax(70px,120px) auto;align-items:center;gap:8px}.turnout-meter:before{content:"";grid-column:1;grid-row:1;height:8px;border-radius:999px;background:#e2e8f0}.turnout-meter i{grid-column:1;grid-row:1;height:8px;width:var(--turnout);max-width:100%;border-radius:999px;background:linear-gradient(90deg,#0f766e,#22c55e)}.turnout-meter b{font-size:12px}
.candidate-profile-main-card,.candidate-profile-snapshot-card{overflow:hidden}.candidate-profile-main-card{border-top:5px solid var(--ui-primary)!important}.candidate-profile-title-row h2{font-size:clamp(25px,3.4vw,39px)!important}.candidate-result-choice-grid a,.candidate-related-grid a{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.candidate-result-choice-grid a:hover,.candidate-related-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.1);border-color:#9bc9b2}
.result-winner-row{background:linear-gradient(90deg,#edfff3,#fff)!important}.result-winner-row td:first-child{box-shadow:inset 4px 0 #16a34a}.goldpill{background:#fff7db!important;color:#8a5a00!important;border-color:#efd27a!important}
.empty-state{min-height:130px;place-content:center}.muted{color:var(--ui-muted)}
.admin-body{background:#f3f6f8}.admin-body .main>.card,.admin-body .card{border-radius:15px;border:1px solid #dbe4ec;box-shadow:0 8px 24px rgba(15,23,42,.06)}.admin-nav a,.admin-nav summary{border-radius:10px}.admin-nav a:hover{transform:translateX(2px)}
@media(max-width:900px){.report-head{align-items:flex-start;flex-direction:column}.premium-data-card{padding:12px!important}.turnout-report-table{min-width:980px}.turnout-meter{grid-template-columns:88px auto}.candidate-profile-main-card{position:relative}.candidate-result-choice-grid{grid-template-columns:1fr!important}.candidate-related-grid{grid-template-columns:1fr!important}.premium-ui-v180 .table th,.premium-ui-v180 .table td{padding:10px 8px!important}.premium-ui-v180 .hero .title{max-width:94%}.premium-filter-bar{padding:12px!important}}
@media(min-width:901px){.candidate-profile-main-card{min-height:310px}.premium-filter-bar{position:sticky;top:8px;z-index:8;box-shadow:0 16px 35px rgba(15,23,42,.1)!important}}


/* v1.8.2 detailed constituency turnout chart */
.turnout-chart-shell{position:relative;height:330px;max-width:620px;margin:0 auto 14px}.turnout-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.turnout-number-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:'dot label votes' 'dot label percent';align-items:center;column-gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.turnout-number-item i{grid-area:dot;width:11px;height:34px;border-radius:999px;background:var(--chart-colour)}.turnout-number-item span{grid-area:label;min-width:0}.turnout-number-item strong{display:block;color:#0f172a}.turnout-number-item small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turnout-number-item b{grid-area:votes;font-size:1.04rem;color:#0f172a}.turnout-number-item em{grid-area:percent;text-align:right;font-style:normal;font-weight:700;color:#475569}.turnout-chart-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:11px}.turnout-chart-foot span{padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.82rem}.turnout-chart-foot strong{color:#0f172a}.turnout-detail-card{overflow:hidden}
@media(max-width:700px){.turnout-chart-shell{height:270px}.turnout-number-grid{grid-template-columns:1fr}.turnout-number-item{padding:9px 10px}.turnout-chart-foot{justify-content:flex-start}}

/* v1.8.3 aligned constituency charts and detailed candidate comparison */
.constituency-results-charts{align-items:stretch}.constituency-results-charts>.card{height:100%;display:flex;flex-direction:column;overflow:hidden}.candidate-chart-shell,.turnout-chart-shell{position:relative;height:300px;max-width:620px;width:100%;margin:0 auto 14px}.candidate-number-grid,.turnout-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.candidate-number-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:'dot label votes' 'dot label percent';align-items:center;column-gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.candidate-number-item i{grid-area:dot;width:11px;height:34px;border-radius:999px;background:var(--chart-colour)}.candidate-number-item span{grid-area:label;min-width:0}.candidate-number-item strong{display:block;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-number-item small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-number-item b{grid-area:votes;font-size:1.04rem;color:#0f172a}.candidate-number-item em{grid-area:percent;text-align:right;font-style:normal;font-weight:700;color:#475569}.candidate-chart-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:auto;padding-top:11px}.candidate-chart-foot span{padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.82rem}.candidate-chart-foot strong{color:#0f172a}.turnout-chart-foot{margin-top:auto;padding-top:11px}.candidate-comparison-card h2,.turnout-detail-card h2{margin-bottom:10px}
@media(min-width:761px){.constituency-results-charts>.card{min-height:690px}.candidate-chart-shell,.turnout-chart-shell{height:300px}}
@media(max-width:760px){.constituency-results-charts>.card{height:auto}.candidate-chart-shell,.turnout-chart-shell{height:260px}.candidate-number-grid,.turnout-number-grid{grid-template-columns:1fr}.candidate-chart-foot,.turnout-chart-foot{justify-content:flex-start}.candidate-number-item{padding:9px 10px}}
