@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--primary-red: #ba0406;--black: #000;--secondary-blue: #a3090a;--saffron: #ff9933;--green: #138808;--white: #ffffff;--light-gray: #f5f7fa;--dark-gray: #2c3e50;--red: #dc3545;--gold: #ffd700}body{font-family:"Montserrat", sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal;background:var(--white);color:var(--dark-gray);line-height:1.6}.header{background:#ba0406;color:var(--white);padding:25px 20px;text-align:center;position:sticky;top:0;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.header h1{font-size:1.8em;font-weight:700}.header p{font-size:1.1em;opacity:0.95;line-height:1}.container{max-width:1400px;width:90%;margin:0 auto;padding:40px 0}.summary-dashboard{display:grid;grid-template-columns:repeat(5, 1fr);gap:20px;margin-bottom:30px}.summary-card{background:var(--white);padding:16px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);text-align:center;transition:transform 0.3s, box-shadow 0.3s;border-top:4px solid var(--primary-red);display:grid;grid-template-columns:50px auto;column-gap:8px;align-items:center}.summary-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.12)}.summary-card .icon{font-size:2.5em}.summary-card .number{font-size:1.2em;font-weight:bold;color:var(--primary-red);margin:0 0;line-height:1;text-align:left}.summary-card .label{font-size:.9em;color:#666;font-weight:500;text-align:left}.section-header{background:var(--white);padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.section-title{font-size:1.4em;color:var(--primary-red);font-weight:600;display:flex;align-items:center;gap:10px}.view-toggle{display:flex;gap:10px}.toggle-btn{padding:10px 20px;background:var(--white);border:2px solid var(--primary-red);border-radius:25px;cursor:pointer;font-size:0.95em;font-weight:600;transition:all 0.3s;color:var(--primary-red)}.toggle-btn.active{background:var(--primary-red);color:var(--white)}.toggle-btn:hover{background:var(--secondary-blue);color:var(--white);border-color:var(--secondary-blue)}.filters-section{background:var(--white);padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:15px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:var(--dark-gray);font-size:0.9em}.filter-group select,.filter-group input{padding:10px 15px;border:1px solid #333;border-radius:8px;font-size:0.95em;transition:border-color 0.3s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-red)}.party-cards-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;margin-bottom:30px}.party-card{background:var(--white);border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);overflow:hidden;transition:all 0.3s;cursor:pointer;border-top:5px solid}.party-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.15)}.party-card-header{padding:8px 20px;display:flex;align-items:center;gap:16px;background:linear-gradient(135deg, rgba(0,61,130,0.05) 0%, rgba(30,90,158,0.05) 100%)}.party-logo{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.2em;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.party-logo img{width:100%;border-radius:100%}.party-info{display:flex;align-items:center;column-gap:16px}.party-info h3{font-size:1.2em;color:var(--primary-red);font-weight:600}.party-badge{display:inline-block;padding:4px 12px;background:var(--saffron);color:var(--white);border-radius:8px;font-size:0.70em;font-weight:700}.party-stats{padding:20px;display:grid;grid-template-columns:repeat(5, 1fr);gap:15px}.party-stat{text-align:center}.party-stat-value{font-size:1.1em;font-weight:bold;color:var(--primary-red);font-weight:600}.party-stat-label{font-size:0.85em;color:#666;margin-top:5px}.party-progress{padding:0 20px 20px}.progress-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:0.9em;font-weight:600}.progress-label span{line-height:1}.progress-bar-bg{height:8px;background:#e0e0e0;border-radius:10px;overflow:hidden}.progress-bar-fill{height:100%;background:#d93f41;background:linear-gradient(90deg, #d93f41 0%, #ba0406 100%);border-radius:10px;transition:width 0.5s ease}.party-details{max-height:0;overflow:hidden;transition:max-height 0.3s ease;background:#f9f9f9}.party-details.expanded{max-height:2000px;border-top:1px solid #ddd}.party-details-content{padding:20px}.ward-cards{display:flex;flex-direction:column;gap:20px}.ward-card{background:#f7f7f7;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,0.08);overflow:hidden;transition:all 0.3s}.ward-header{padding:8px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.ward-title-group{display:flex;align-items:center;gap:32px}.ward-number{font-size:1.3em;font-weight:600;color:var(--primary-red)}.ward-name{font-size:.9em;opacity:0.95}.ward-location{font-size:0.95em;opacity:0.9}.ward-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.seats-badge{background:rgba(255,255,255,0.2);padding:8px 15px;border-radius:20px;font-weight:600}.multi-member-badge{background:var(--saffron);padding:6px 12px;border-radius:16px;font-size:0.7em;font-weight:600;color:#fff}.expand-icon{font-size:1em;transition:transform 0.3s;color:var(--primary-red)}.ward-header.expanded .expand-icon{transform:rotate(180deg)}.ward-content{overflow:hidden;transition:max-height 0.3s ease;display:none}.ward-content.expanded{background-color:#fff}.bmc-logo{width:44px;display:inline-block;vertical-align:middle;margin-right:12px}.top-performer-section{background:linear-gradient(135deg, rgba(255,215,0,0.1), rgba(255,153,51,0.1));padding:20px;border-bottom:1px solid #ddd;display:none}.power span{font-weight:600;font-size:14px}.power .fpj-logo{background-color:#fff;padding:10px;width:220px;display:inline-block;vertical-align:middle}.header-container{display:flex;align-items:center;justify-content:space-between}.top-performer-title{font-size:1.1em;color:var(--primary-red);font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:8px}.top-performer-card{display:flex;align-items:center;gap:20px;background:var(--white);padding:20px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.performer-logo{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3em;background:var(--light-gray)}.performer-info{display:flex;align-items:center;column-gap:40px}.performer-name{font-size:1.2em;font-weight:600;color:var(--dark-gray)}.performer-party{font-size:1em;color:#666}.performer-votes{font-size:2em;font-weight:700;color:var(--primary-red)}.candidates-table-wrapper{padding:20px;overflow-x:auto}.candidates-table{width:100%;border-collapse:collapse}.candidates-table thead{background:var(--light-gray)}.candidates-table th{padding:8px 20px;text-align:left;font-weight:600;font-size:.9em;color:var(--dark-gray);border-bottom:2px solid #ddd}.candidates-table td{padding:6px 16px;border-bottom:1px solid #eee;font-size:.9em}.candidates-table tbody tr{transition:background 0.2s}.candidates-table tbody tr:hover{background:#f9f9f9}.candidates-table tbody tr.winner{background:rgba(19,136,8,0.08);border-left:4px solid var(--green)}.candidates-table tbody tr.top-performer{background:rgba(255,215,0,0.15);border-left:4px solid var(--gold)}.candidate-name-cell{font-weight:600;color:var(--dark-gray)}.party-cell{display:flex;align-items:center;gap:10px}.party-logo-small{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5em;background:var(--light-gray)}.party-logo-small img{width:100%;border-radius:100%}.votes-cell{font-size:1.2em;font-weight:600;color:var(--primary-red)}.candidates-table td.votes-cell{font-size:1em}.result-badge{display:inline-block;padding:4px 16px;border-radius:20px;font-size:0.85em;font-weight:600}.result-badge.won{background:var(--green);color:var(--white)}.result-badge.lost{background:var(--red);color:var(--white)}.result-badge.pending{background:#f1bc44;color:var(--white)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:500;font-size:.9em}.comparison-table{background:var(--white);border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);overflow:hidden;margin-bottom:30px}.comparison-table table{width:100%;border-collapse:collapse}.comparison-table thead{background:var(--primary-red);color:var(--white)}.comparison-table th{padding:12px 16px;text-align:left;font-weight:600;cursor:pointer;user-select:none;font-size:.9em}.comparison-table th:hover{background:var(--secondary-blue)}.comparison-table td{padding:8px 16px;border-bottom:1px solid #eee;line-height:1}.comparison-table td strong{font-weight:600}.comparison-table tbody tr:hover{background:var(--light-gray)}.footer{background:var(--black);color:var(--white);padding:30px 20px;margin-top:40px;text-align:center}.footer-content{max-width:1400px;margin:0 auto}.footer p{margin:10px 0;opacity:0.9}.disclaimer{background:rgba(255,153,51,0.2);padding:15px;border-radius:8px;margin-top:15px;font-weight:600}.party-logo-box{display:grid;grid-template-columns:40px auto;column-gap:16px;align-items:center}.party-logo-box img{Width:40px;aspect-ratio:1;border-radius:100%}.party-logo-box strong{font-size:.9em;font-weight:600}.election-widget{max-width:600px;width:100%;border-radius:8px;background-color:#f7f7f7;text-align:center;box-shadow:0 0 5px 1px rgba(0,0,0,0.2);overflow:hidden}.widget-head{background-color:#ba0406;color:#fff;padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.widget-head i{font-size:12px;font-weight:700;font-style:normal;color:#f9e800}.widget-head a{color:#fff;font-size:12px;text-decoration:none;font-weight:500;border:solid 1px #fff;padding:0 12px;border-radius:20px}.widget-head h2{font-size:1em;line-height:1}.tr{display:grid;grid-template-columns:16px auto 50px;column-gap:4px;border-bottom:solid 1px #d9d9d9}.tab-box{display:grid;grid-template-columns:1fr 1fr 1fr;row-gap:8px;margin-top:12px;font-weight:500;font-size:14px;column-gap:8px}.widget-head h2 span{background-color:#ff9933;font-size:.7em;padding:3px 4px;color:#fff;border-radius:4px;text-decoration:blink;-webkit-animation-name:blinker;-webkit-animation-duration:.7s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;-webkit-animation-direction:alternate}@-webkit-keyframes blinker{from{background-color:#ff9933}to{background-color:transparent}}.widget-head p{font-size:.9em;line-height:1;margin-top:10px}.party-alliance{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:8px}.party-alliance .alliance-box{background-color:#ff9933;color:#fff;padding:8px 8px;border-radius:8px}.party-alliance .alliance-box:first-child{background-color:#fea71c}.party-alliance .alliance-box:nth-child(2){background-color:#f58322}.party-alliance .alliance-box:nth-child(3){background-color:#83826e}.tr img{width:100%}.party-alliance .alliance-box h4{font-weight:600;line-height:1;font-size:16px}.party-alliance .alliance-box span{line-height:1;display:block;font-weight:600;font-size:16px;margin-top:8px}.widget-cont{padding:8px 16px}.widget-tab{width:max-content;margin:12px auto 0;border:solid 1px #000;border-radius:4px}.widget-tab button{color:#000;font-size:.9em;padding:.5em 1em;border:none;border-radius:0;cursor:pointer;background-color:#fff}.widget-tab button.active{background-color:var(--primary-red);color:#fff}.tab-box table{width:100%;text-align:left}.tab-box table th{color:#706e6e}.tab-box table td:first-child div{display:flex;align-items:center}.tab-box table td,.tab-box table th{border-bottom:solid 1px #d4d3d3;text-align:center}.tab-box table td i{width:28px;height:28px;display:inline-block;margin-right:16px;vertical-align:middle}.tab-box table td i img{width:100%;border-radius:100%}.tab-box table td,.tab-box table th{font-size:.9em;padding:8px 0}.tab-box table td:first-child,.tab-box table th:first-child{font-weight:700;text-align:left}.election-widget .toggle-btn{border-width:1px;background-color:var(--primary-red);font-size:.8em;width:max-content;display:block;margin:6px auto 12px;color:#fff;padding:6px 16px;border-radius:32px;text-decoration:none;line-height:1;font-weight:500}.view-btn{background-color:#a3090a;color:#fff;border-radius:32px;padding:3px 16px;text-decoration:none;margin-top:8px;margin-bottom:12px;display:block;width:max-content;margin:0 auto 8px;font-size:12px}.election-widget{display:none}#trending-dashboard{display:block}@media (max-width: 1279px){.summary-dashboard{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 1023px){.header h1{font-size:1.4em}.header p{font-size:1em}.summary-dashboard{grid-template-columns:repeat(3, 1fr)}.party-cards-grid{grid-template-columns:1fr}.candidates-table{font-size:0.85em}.comparison-table{overflow:auto}.comparison-table table{width:max-content}.ward-header{flex-direction:row;align-items:center}}@media (max-width: 767px){.ward-header{align-items:flex-start}.widget-cont{padding:8px 8px}.widget-head h2{font-size:1.1em}.ward-title-group{gap:16px}.ward-header{gap:8px;flex-wrap:nowrap}.ward-number{font-size:1.1em}.ward-name,.ward-location{font-size:.8em}.seats-badge{padding-left:0}.candidates-table{width:max-content}.summary-dashboard{grid-template-columns:repeat(2, 1fr)}.summary-card{grid-template-columns:1fr}.summary-card .number,.summary-card .label{text-align:center}.header-container{display:block}.header{padding:12px}.bmc-logo{width:36px;margin-right:8px}.header h1{font-size:1.2em}.header p{font-size:.8rem;opacity:0.95;line-height:.9;margin-top:-4px}.power span{font-size:12px}.power .fpj-logo{padding:6px;width:190px}.power{margin-top:12px}}@media (max-width: 479px){.widget-head{display:block}.party-stats{padding:20px;display:grid;grid-template-columns:repeat(3, 1fr);gap:10px}}#wardViewContainer{display:none}.login-box{max-width:360px;width:90%;margin:0 auto;text-align:center;box-shadow:0 0 5px 1px rgba(0,0,0,0.2);padding:32px;background:#ba0406;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.login-box h2{color:#fff;font-size:28px;text-transform:uppercase;font-weight:500;line-height:1}.field{margin-top:12px}.login-box br{display:none}.login-box label{color:#fff;display:block;font-size:14px;text-align:left;padding-left:8px}.login-box input{width:100%;padding:8px;border:none;border-radius:0;margin-top:0}.login-box .remember{display:grid;grid-template-columns:12px auto;align-items:center}.login-box .actions{margin-top:16px;width:max-content}.login-box .actions input{padding:7px 24px;font-size:16px;font-weight:500;background:#000;color:#fff;border:none}.login-box a{color:#fff;font-size:13px;margin:13px;display:inline-block;margin-top:20px}
