.ss-consumption-source {
    margin: 22px 0;
    padding: 20px;
    border: 1px solid #d9e5ea;
    border-radius: 14px;
    background: #f7fafb;
}
.ss-consumption-source h3 { margin: 0 0 12px; color: #123b5d; }
.ss-mode-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}
.ss-mode-switch button {
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #b9ccd5;
    border-radius: 10px;
    color: #123b5d;
    background: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.ss-mode-switch button.active {
    border-color: #ed8b00;
    color: #fff;
    background: #ed8b00;
    box-shadow: 0 7px 18px rgba(237,139,0,.2);
}
.ss-source-panel { max-width: 520px; }
.ss-source-panel label { margin: 0; }
.ss-bill-estimate { margin: 10px 0 4px; color: #123b5d; font-weight: 800; }
#annual_consumption_panel { display: block; }
#annual_consumption_panel[hidden], #bill_panel[hidden] { display: none !important; }
@media (max-width: 650px) {
    .ss-mode-switch { grid-template-columns: 1fr; }
    .ss-consumption-source { padding: 16px; }
}

