v3.26.1
Revenue from Contracts with Customers (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Total Revenues $ 392,599 $ 342,713 $ 890,169 $ 809,343
Residential        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 146,113 126,116 363,603 343,582
Residential | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 118,158 99,792 286,734 266,187
Residential | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 23,759 21,801 61,512 59,663
Residential | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 4,196 4,523 15,357 17,732
Commercial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 159,520 138,412 342,536 310,052
Commercial | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 123,044 104,409 256,403 228,119
Commercial | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 34,482 31,657 77,633 72,146
Commercial | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 1,994 2,346 8,500 9,787
Industrial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 11,675 10,032 24,330 20,616
Other, Lighting, Governmental, Irrigation, and Interdepartmental        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 14,412 9,691 20,445 14,975
Total Customer Revenue        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 331,720 284,251 750,914 689,225
Regulatory amortization        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 2,280 15,514 11,350 33,768
Transmission customers        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 29,141 28,147 60,112 54,703
Other Tariff and Contract Based Revenue        
Disaggregation of Revenue [Line Items]        
Regulatory amortization 29,458 14,801 67,793 31,647
Total Revenues        
Disaggregation of Revenue [Line Items]        
Total Revenues 392,599 342,713 890,169 809,343
Electric Domestic Regulated [Member] | Residential        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 116,430 98,059 260,097 235,328
Electric Domestic Regulated [Member] | Residential | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 98,447 81,824 218,885 196,801
Electric Domestic Regulated [Member] | Residential | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 17,983 16,235 41,212 38,527
Electric Domestic Regulated [Member] | Residential | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 0 0 0 0
Electric Domestic Regulated [Member] | Commercial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 141,174 121,647 279,053 247,913
Electric Domestic Regulated [Member] | Commercial | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 110,833 93,910 217,315 190,862
Electric Domestic Regulated [Member] | Commercial | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 30,341 27,737 61,738 57,051
Electric Domestic Regulated [Member] | Commercial | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 0 0 0 0
Electric Domestic Regulated [Member] | Industrial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 10,831 9,888 22,695 19,988
Electric Domestic Regulated [Member] | Other, Lighting, Governmental, Irrigation, and Interdepartmental        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 14,144 9,421 19,653 14,114
Electric Domestic Regulated [Member] | Total Customer Revenue        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 282,579 239,015 581,498 517,343
Electric Domestic Regulated [Member] | Regulatory amortization        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer (3,645) 10,325 6,426 38,015
Electric Domestic Regulated [Member] | Transmission customers        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 29,141 28,147 60,112 54,703
Electric Domestic Regulated [Member] | Other Tariff and Contract Based Revenue        
Disaggregation of Revenue [Line Items]        
Regulatory amortization 16,179 1,981 38,272 4,890
Electric Domestic Regulated [Member] | Total Revenues        
Disaggregation of Revenue [Line Items]        
Total Revenues 324,254 279,468 686,308 614,951
Gas Domestic Regulated [Member] | Residential        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 29,683 28,057 103,506 108,254
Gas Domestic Regulated [Member] | Residential | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 19,711 17,968 67,849 69,386
Gas Domestic Regulated [Member] | Residential | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 5,776 5,566 20,300 21,136
Gas Domestic Regulated [Member] | Residential | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 4,196 4,523 15,357 17,732
Gas Domestic Regulated [Member] | Commercial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 18,346 16,765 63,483 62,139
Gas Domestic Regulated [Member] | Commercial | Montana        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 12,211 10,499 39,088 37,257
Gas Domestic Regulated [Member] | Commercial | South Dakota        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 4,141 3,920 15,895 15,095
Gas Domestic Regulated [Member] | Commercial | Nebraska        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 1,994 2,346 8,500 9,787
Gas Domestic Regulated [Member] | Industrial        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 844 144 1,635 628
Gas Domestic Regulated [Member] | Other, Lighting, Governmental, Irrigation, and Interdepartmental        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 268 270 792 861
Gas Domestic Regulated [Member] | Total Customer Revenue        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 49,141 45,236 169,416 171,882
Gas Domestic Regulated [Member] | Regulatory amortization        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 5,925 5,189 4,924 (4,247)
Gas Domestic Regulated [Member] | Transmission customers        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 0 0 0 0
Gas Domestic Regulated [Member] | Other Tariff and Contract Based Revenue        
Disaggregation of Revenue [Line Items]        
Regulatory amortization 13,279 12,820 29,521 26,757
Gas Domestic Regulated [Member] | Total Revenues        
Disaggregation of Revenue [Line Items]        
Total Revenues $ 68,345 $ 63,245 $ 203,861 $ 194,392