/**
 * Energy Module - Styles
 * Fase 2: Energy Saver Pro
 */

/* ========================================
   ENERGY DASHBOARD
   ======================================== */

.energy-dashboard {
    padding: var(--spacing-lg);
}

.energy-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.energy-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.energy-stat-card {
    background: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-md);
}

.energy-stat-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-tertiary);
    margin-bottom: var(--spacing-xs);
}

.energy-stat-value {
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    margin-bottom: var(--spacing-xs);
}

.energy-stat-change {
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.energy-stat-change.positive {
    color: var(--color-success);
}

.energy-stat-change.negative {
    color: var(--color-danger);
}

/* ========================================
   CHARTS
   ======================================== */

.chart-container {
    background: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

.chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
}

.chart-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.chart-filters {
    display: flex;
    gap: var(--spacing-sm);
}

.chart-filter-btn {
    padding: var(--spacing-xs) var(--spacing-sm);
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: all var(--transition-normal);
    font-size: var(--font-size-sm);
}

.chart-filter-btn:hover {
    background: var(--color-bg-tertiary);
    border-color: var(--color-accent);
}

.chart-filter-btn.active {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: white;
}

.chart-canvas {
    position: relative;
    height: 300px;
    width: 100%;
}

/* ========================================
   SUGGESTIONS
   ======================================== */

.suggestions-container {
    background: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
}

.suggestions-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
}

.suggestions-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.suggestion-card {
    background: var(--color-bg-tertiary);
    border-left: 4px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--spacing-md);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-md);
    transition: all var(--transition-normal);
}

.suggestion-card:hover {
    background: var(--color-bg-hover);
}

.suggestion-card.priority-urgent {
    border-left-color: var(--color-danger);
}

.suggestion-card.priority-high {
    border-left-color: var(--color-warning);
}

.suggestion-card.priority-medium {
    border-left-color: var(--color-info);
}

.suggestion-card.priority-low {
    border-left-color: var(--color-success);
}

.suggestion-content {
    flex: 1;
}

.suggestion-title {
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.suggestion-message {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    margin-bottom: var(--spacing-xs);
}

.suggestion-details {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
}

.suggestion-actions {
    display: flex;
    gap: var(--spacing-xs);
}

.suggestion-dismiss-btn {
    padding: var(--spacing-xs) var(--spacing-sm);
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-tertiary);
    cursor: pointer;
    transition: all var(--transition-normal);
    font-size: var(--font-size-xs);
}

.suggestion-dismiss-btn:hover {
    background: var(--color-bg-hover);
    border-color: var(--color-danger);
    color: var(--color-danger);
}

/* ========================================
   ENERGY READING FORM
   ======================================== */

.energy-form-page {
    padding: var(--spacing-lg);
    max-width: 800px;
}

.energy-form {
    background: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
}

.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

/* ========================================
   ASSET ENERGY DETAIL
   ======================================== */

.asset-energy-detail {
    padding: var(--spacing-lg);
}

.asset-energy-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--spacing-lg);
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.asset-energy-info h1 {
    margin-bottom: var(--spacing-xs);
}

.asset-energy-meta {
    display: flex;
    gap: var(--spacing-lg);
    margin-top: var(--spacing-sm);
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.meta-label {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.meta-value {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.baseline-indicator {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: var(--color-bg-tertiary);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
}

.baseline-indicator.good {
    background: rgba(var(--color-success-rgb), 0.1);
    color: var(--color-success);
}

.baseline-indicator.warning {
    background: rgba(var(--color-warning-rgb), 0.1);
    color: var(--color-warning);
}

.baseline-indicator.danger {
    background: rgba(var(--color-danger-rgb), 0.1);
    color: var(--color-danger);
}

/* ========================================
   PREDICTION CARD
   ======================================== */

.prediction-card {
    background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    color: white;
    margin-bottom: var(--spacing-lg);
}

.prediction-title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--spacing-md);
    opacity: 0.9;
}

.prediction-value {
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-xs);
}

.prediction-range {
    font-size: var(--font-size-sm);
    opacity: 0.8;
    margin-bottom: var(--spacing-md);
}

.prediction-confidence {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .energy-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .energy-stats-grid {
        grid-template-columns: 1fr;
    }

    .chart-canvas {
        height: 250px;
    }

    .asset-energy-header {
        flex-direction: column;
    }

    .asset-energy-meta {
        flex-direction: column;
        gap: var(--spacing-md);
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   EMPTY STATE
   ======================================== */

.energy-empty-state {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    background: var(--color-bg-secondary);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-md);
}

.energy-empty-state svg {
    width: 64px;
    height: 64px;
    margin-bottom: var(--spacing-md);
    opacity: 0.3;
}

.energy-empty-state h3 {
    margin-bottom: var(--spacing-sm);
    color: var(--color-text-secondary);
}

.energy-empty-state p {
    color: var(--color-text-tertiary);
    margin-bottom: var(--spacing-md);
}

/* ========================================
   MOBILE COMPACT (480px)
   ======================================== */

@media (max-width: 480px) {
    .energy-dashboard {
        padding: 8px;
    }

    .energy-header {
        margin-bottom: 8px;
        gap: 8px;
    }

    .energy-header h1 {
        font-size: 1.25rem;
    }

    .energy-stats-grid {
        gap: 8px;
        margin-bottom: 8px;
    }

    .energy-stat-card {
        padding: 10px;
        border-radius: 8px;
    }

    .energy-stat-label {
        font-size: 0.7rem;
        margin-bottom: 2px;
    }

    .energy-stat-value {
        font-size: 1.4rem;
        margin-bottom: 2px;
    }

    .energy-stat-change {
        font-size: 0.7rem;
    }

    /* Compact chart */
    .chart-container {
        padding: 10px;
        margin-bottom: 8px;
    }

    .chart-title {
        font-size: 0.9rem;
    }

    .chart-canvas {
        height: 180px;
    }

    /* Suggestion cards */
    .suggestions-container {
        padding: 10px;
    }

    .suggestion-card {
        padding: 8px;
    }

    .suggestion-title {
        font-size: 0.85rem;
    }

    .suggestion-message {
        font-size: 0.75rem;
    }

    /* Prediction card */
    .prediction-card {
        padding: 10px;
        margin-bottom: 8px;
    }

    .prediction-title {
        font-size: 0.85rem;
        margin-bottom: 8px;
    }

    .prediction-value {
        font-size: 1.8rem;
    }

    /* Form */
    .energy-form-page {
        padding: 8px;
    }

    .energy-form {
        padding: 10px;
    }

    /* Asset energy detail */
    .asset-energy-detail {
        padding: 8px;
    }

    .asset-energy-info h1 {
        font-size: 1.2rem;
    }

    .meta-label {
        font-size: 0.65rem;
    }

    .meta-value {
        font-size: 0.85rem;
    }
}