.wb-election-container {
    background: #7f1918;
    color: #fff;
    padding: 20px;
    border-radius: 8px;
    font-family: 'Segoe UI', Roboto, sans-serif;
    max-width: 900px;
    margin: 20px auto;
}

.wb-header { text-align: center; border-bottom: 2px solid #333; margin-bottom: 20px; }
.wb-header h2 { color: #f1c40f; margin: 0; text-transform: uppercase; }

.wb-ticker {
    background: #333;
    padding: 10px;
    margin: 10px 0;
    border-radius: 4px;
    font-weight: bold;
}

.wb-majority-tag { color: #aaa; margin-right: 15px; }
.wb-status-live { color: #ff4757; text-transform: uppercase; animation: blink 1s infinite; }

.wb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 15px; }

.wb-party-card {
    background: #a34944;
    padding: 15px;
    border-radius: 5px;
    text-align: center;
    border: 2px solid transparent;
}

.wb-party-card.is-leading { border-color: #f1c40f; background: #a34944; }

.wb-logo-box img { width: 50px; height: 50px; object-fit: contain; margin-bottom: 10px; }
.wb-abbr { font-size: 1.5rem; font-weight: bold; display: block; height: 50px; }

.wb-seat-count {
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

.wb-progress-bar { height: 8px; background: #444; border-radius: 4px; margin-top: 10px; overflow: hidden; }
.wb-progress-fill { height: 100%; transition: width 0.5s ease-in-out; }

@keyframes blink { 0% { opacity: 1; } 50% { opacity: 0.3; } 100% { opacity: 1; } }