.rate-module{background:#fff;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.06);margin-bottom:2rem;padding:1.5rem;width:100%}.rate-content{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}.calculate-btn:hover:not(:disabled){background:#00646a}.rate-module label{display:block;font-weight:600;margin-bottom:.35rem}.rate-select{border:1px solid #ccc;border-radius:8px;font-size:.9rem;padding:.55rem .65rem;width:100%}.season-wrapper{margin-top:.25rem}.season-fieldset{border:none;padding:0}.season-fieldset legend{font-weight:600;margin-bottom:.5rem}.season-options{display:flex;flex-wrap:wrap;gap:1.25rem}.season-option{align-items:flex-start;cursor:pointer;display:flex;gap:.4rem}.season-option input[type=radio]{margin-top:.2rem}.season-text{display:flex;flex-direction:column;line-height:1.25}.season-name{font-weight:600}.season-months{color:#777;font-size:.75rem}.inputs{display:grid;gap:.85rem}.inputs label{display:none;font-weight:500}.inputs input{border:1px solid #ccc;border-radius:8px;font-size:.85rem;margin-top:.25rem;padding:.5rem .6rem;width:100%}.calculate-btn{align-self:flex-start;background:#0077b6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.55rem 1.35rem;transition:background .15s ease,opacity .15s ease}.calculate-btn:disabled{cursor:not-allowed;opacity:.5}.utility-results{margin-top:2rem}.bill-row{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.bill{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);padding:1rem}.before-bill{background:#f7f8fa}.after-bill{background:#eef6fb}.bill-window{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.bill-line{display:grid;font-size:.85rem;grid-template-columns:1fr auto;padding:.35rem 0}.bill-line.after-line.line-increase{color:#c62828}.bill-line.after-line.line-decrease{color:#2e7d32}.bill-total{border-top:1px solid #ddd;display:flex;font-weight:700;justify-content:space-between;margin-top:.65rem;padding-top:.5rem}.bill-total.increase{color:#c62828}.bill-total.decrease{color:#2e7d32}.bill-summary-tab{background:#fff;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.06);padding:1.5rem}.summary-table{max-width:650px}.summary-header,.summary-line,.summary-total-row{display:grid;gap:1rem;grid-template-columns:1fr auto auto;padding:.35rem 0}.summary-header{border-bottom:1px solid #ccc;font-weight:700}.summary-total-row{border-top:2px solid #ccc;font-weight:700;margin-top:.5rem;padding-top:.5rem}.summary-diff.increase{color:#c62828}.summary-diff.decrease{color:#2e7d32}@media (max-width:768px){.bill-row{grid-template-columns:1fr}.rate-content{gap:1rem}.calculate-btn{text-align:center;width:100%}.summary-header{display:none}.summary-line{border-bottom:1px solid #e0e0e0;display:block;padding:.65rem 0}.summary-line span{display:block;font-size:.85rem}.summary-total-row{display:block}.summary-total-row strong{display:block;margin-top:.25rem}}