/**
 * Dark Theme - Black background with white boxes
 */

.ptp-holon-pulse-dashboard {
    background: #1a1a1a;
    color: #ffffff;
}

.ptp-holon-name {
    color: #ffffff;
}

.ptp-section-header {
    background: rgba(255,255,255,0.1);
    color: #ffffff;
}

.ptp-section-header:hover {
    background: rgba(255,255,255,0.15);
}

/* Weather Section */
.ptp-weather-current {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
    border: 1px solid rgba(255,255,255,0.1);
}

.ptp-temp-display {
    color: #ffffff;
}

.ptp-weather-icon {
    filter: brightness(1.2);
}

.ptp-conditions-text {
    color: rgba(255,255,255,0.8);
}

.ptp-forecast-day {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
}

.ptp-forecast-day:hover {
    background: rgba(255,255,255,0.08);
}

.ptp-forecast-temp {
    color: #ffffff;
}

/* Population Section */
.ptp-pop-total-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
    color: #ffffff;
}

.ptp-pop-county-total {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.15);
}

.ptp-pop-number {
    color: #81c784;
}

.ptp-pop-label {
    color: rgba(255,255,255,0.8);
}

.ptp-pop-value {
    color: #81c784;
}

.ptp-pop-year {
    color: rgba(255,255,255,0.6);
}

.ptp-urban-rural-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
    color: #ffffff;
}

.ptp-population-chart {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.ptp-chart-title {
    color: rgba(255,255,255,0.8);
}

.ptp-chart-subtitle {
    color: rgba(255,255,255,0.7);
}

.ptp-pie-label {
    fill: #ffffff;
}

.ptp-pie-value {
    fill: rgba(255,255,255,0.7);
}

.ptp-legend-label {
    color: #ffffff;
}

.ptp-legend-value {
    color: rgba(255,255,255,0.8);
}

.ptp-town-breakdown {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
    border: 1px solid rgba(255,255,255,0.1);
}

.ptp-breakdown-label {
    color: rgba(255,255,255,0.8);
}

.ptp-town-row {
    color: #ffffff;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.ptp-town-row:hover {
    background: rgba(255,255,255,0.05);
}

.ptp-town-name {
    color: #ffffff;
}

.ptp-town-pop {
    color: #a5d6a7;
}

.ptp-town-pct {
    color: rgba(255,255,255,0.7);
}

.ptp-town-rural {
    border-top: 2px solid rgba(255,255,255,0.2);
}

/* Food Insecurity Section */
.ptp-fi-grid {
    background: transparent;
}

.ptp-fi-tile {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-fi-tile-label {
    color: rgba(255,255,255,0.7);
}

.ptp-fi-value {
    color: #ffffff;
}

.ptp-fi-rate {
    color: rgba(255,255,255,0.7);
}

.ptp-fi-tile-value {
    color: #ffffff;
}

.ptp-fi-tile-rate {
    color: rgba(255,255,255,0.7);
}

.ptp-fi-tile-subtitle {
    color: rgba(255,255,255,0.7);
}

/* Food Insecurity Main Tile (People) */
.ptp-fi-main-tile {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-fi-label {
    color: rgba(255,255,255,0.7);
}

/* Food Insecurity Shortfall Box */
.ptp-fi-shortfall {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
    color: #ffffff;
}

.ptp-shortfall-label {
    color: rgba(255,255,255,0.7);
}

.ptp-shortfall-value {
    color: #ffffff;
}

.ptp-shortfall-description {
    color: rgba(255,255,255,0.7);
}

/* Energy Section */
.ptp-energy-overview {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-energy-stat-label {
    color: rgba(255,255,255,0.7);
}

.ptp-energy-stat-value {
    color: #ffffff;
}

.ptp-energy-totals {
    background: transparent;
}

.ptp-energy-total-row {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.ptp-energy-total-label {
    color: #ffffff;
}

.ptp-energy-total-value {
    color: #ffffff;
}

/* Energy stat boxes (Weekly/Monthly/Quarterly/Yearly) */
.ptp-stat-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-stat-box .ptp-stat-label {
    color: rgba(255,255,255,0.7);
}

.ptp-stat-box .ptp-stat-value {
    color: #ffffff;
}

.ptp-stat-box .ptp-stat-period {
    color: rgba(255,255,255,0.6);
}

/* Current generation and active players */
.ptp-stat-compact .ptp-stat-label {
    color: rgba(255,255,255,0.7);
}

.ptp-stat-compact .ptp-stat-value {
    color: #ffffff;
}

/* Generation container */
.ptp-generation-container {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-subsection-title {
    color: rgba(255,255,255,0.8);
}

/* Demand container */
.ptp-demand-container {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255,255,255,0.15);
}

.ptp-demand-value {
    color: #64b5f6;
}

.ptp-methodology-blurb {
    color: rgba(255,255,255,0.8);
}

.ptp-methodology-blurb p {
    color: rgba(255,255,255,0.8);
}

.ptp-methodology-links a {
    color: rgba(255,255,255,0.9);
}

/* Export Buttons */
.ptp-export-button {
    background: rgba(255,255,255,0.15);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.3);
}

.ptp-export-button:hover {
    background: rgba(255,255,255,0.25);
}

/* Data Sources */
.ptp-data-sources {
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.7);
    border-top: 1px solid rgba(255,255,255,0.1);
}

.ptp-data-sources a {
    color: rgba(255,255,255,0.9);
}

/* YoY Arrows - keep red/green */
.ptp-yoy-indicator {
    /* Colors set inline, no change needed */
}
