
695 N.W.2d 375 (2005)
RIVER CITY MORTGAGE CORPORATION, d/b/a River City Mortgage & Financial, Appellant,
v.
Gary J. BALDUS, Respondent,
Darrell Thompson, Respondent,
Statewide Lending Corporation, Respondent.
No. A04-1338.
Court of Appeals of Minnesota.
April 19, 2005.
*376 Wayne E. Gilbert, River City Mortgage Corporation, Eagan, MN, for appellant.
Steven J. Heim, Shannon M. Heim, Dorsey & Whitney LLP, Minneapolis, MN, for respondent Gary J. Baldus.
Darrell J. Thompson, Eagan, MN, pro se respondent.
Statewide Lending Corporation, Cannon Falls, MN, respondent.
Considered and decided by KALITOWSKI, Presiding Judge; KLAPHAKE, Judge; and PETERSON, Judge.

OPINION
KALITOWSKI, Judge.
On appeal in this real-estate financing contract dispute, appellant-lender argues that (a) the district court erred in finding that the rate-lock agreement it entered into with respondent-Baldus had no definite expiration date and was unenforceable under Minn.Stat. § 47.206 (2004); (b) even if Minn.Stat. § 47.206 was violated, the violation renders the contract voidable rather than void; (c) as a matter of law, respondent-Baldus anticipatorily breached the contract and appellant's right to sue accrued at the time of breach, rather than the closing date; and (d) appellant established that respondents Thompson and Statewide Lending Corporation tortiously interfered with appellant's contractual relations with respondent-Baldus; thus, even if the contract was invalid as to respondent-Baldus, the defense that the contract is voidable is not available to third-party tortfeasors Thompson and Statewide Lending Corporation.

FACTS
On July 24, 2002, respondent-Baldus (Baldus) applied for a mortgage loan with appellant River City Mortgage (appellant) to finance the purchase of a new home. And on August 29, 2002, Baldus entered into a Mortgage Loan Lock Agreement (rate-lock agreement) with appellant, where appellant agreed to provide a guaranteed interest rate of 6.25% if Baldus closed on his new home before November 25, 2002.
The record indicates that on October 4, 2002, Baldus submitted a separate nonbinding loan application to respondent-Statewide Lending (Statewide). Baldus's closing was subsequently postponed because of delays on the part of Baldus's builder. Baldus eventually closed a mortgage *377 loan with Statewide on January 6, 2003. Appellant filed suit against Baldus, Statewide, and Statewide's agent  respondent-Thompson (Thompson)  on April 14, 2003, alleging breach of contract, fraud, and bad faith against Baldus; and tortious interference with contract against Statewide and Thompson individually.
On May 12, 2004, the case proceeded to trial before the Dakota County District Court. The district court entered its order on June 16, 2004, finding that the rate-lock agreement was unenforceable under Minn.Stat. § 47.206 (2004). The court based this finding on the language of the rate-lock agreement, which states:
The Interest Rate, Points and Program will be Locked-in under the following terms:
1. 11/25/02 Expiration Date (LOAN MUST CLOSE AND DISBURSE ON OR BEFORE THIS DATE)
2. 6.25% Interest Rate Per Annum
3. 0 Discount Points
4. Arms Only: ___% Margin ___% Annual Cap ___% Lifetime Cap
5. Commitment Fee: $395.00
If the loan does not close on or before the Expiration Date, the Loan will be re-priced and closed at the greater of (a) the Interest Rate and Discount which RCMF is then willing to make the Loan in view of prevailing market conditions, or (b) the terms shown above.
Specifically, the district court recognized that the "writing did provide an `Expiration Date' for the Lock Commitment." But the court also found that the agreement "contained language which kept ... Baldus bound to borrow at a potentially higher rate once the `Expiration Date' for the Lock had passed," and there was "no indication of how long Baldus was bound to borrow from [appellant] if he did not do so while the Lock was in effect." And, "[a]s such, there was no `definite expiration date or term of the agreement' as required by the statute. Accordingly, the writing was not a valid contract, and there can be no breach of contract." Finally, the district court held that "because the additional counts of [appellant's] complaint ... are all reliant in some way on there being a valid contract in this matter, [appellant] cannot prevail on these counts in light of the Court's conclusion that there was no valid contract in this case." This appeal followed.

ISSUE
Did the district court err in finding that because the terms of appellant's rate-lock agreement violate the requirements of Minn.Stat. § 47.206, subds. 2, 3 (2004), the agreement was unenforceable?

ANALYSIS
In a bench trial, this court is limited to determining whether the district court's findings are clearly erroneous and whether the court erred in its conclusions of law. Leininger v. Anderson, 255 N.W.2d 22, 26 (Minn.1977). But statutory construction is a question of law, which this court reviews de novo. Brookfield Trade Ctr., Inc., v. County of Ramsey, 584 N.W.2d 390, 393 (Minn.1998).

I.
The questions of whether the rate-lock agreement here violates the requirements of Minn.Stat. § 47.206 (2004), and, if so, whether such a violation makes the agreement unenforceable as a matter of law, are questions of first impression. It is well settled that, when interpreting a statute, we must first determine whether the statute's language, on its face, is clear or ambiguous. Baker v. Ploetz, 616 N.W.2d 263, 268 (Minn.2000). Where the language of the statute is clear, statutory *378 construction is not only unnecessary, it is not permitted. State by Beaulieu v. RSJ, Inc., 552 N.W.2d 695, 701 (Minn.1996); see also Minn.Stat. § 645.16 (2004) (absent ambiguity, the letter of the law shall not be disregarded under the pretext of pursuing its spirit). And Minnesota statutes must be interpreted to give effect to all provisions and avoid rendering any one meaningless. Minn.Stat. §§ 645.16, .17 (2004).
Section 47.206, subdivision 2, states, in relevant part, that:
A lender offering borrowers the opportunity to enter into an agreement in advance of closing shall disclose, in writing, to the borrowers at the time the offer is made: (1) a definite expiration date or term of the agreement, which may not be less than the reasonably anticipated closing date or time required to process, approve, and close the loan....
In addition, section 47.206, subdivision 3, states that "[a] borrower or lender may not maintain an action on an agreement unless the agreement is in writing ... expresses consideration, sets forth the relevant terms and conditions, and is signed by the borrower and the lender." (Emphasis added.)
Accordingly, we conclude that, under the plain language of Minn.Stat. § 47.206, a party may not maintain an action based on a rate-lock agreement when it fails to include the relevant terms and conditions outlined in the statute including the condition that a lender "shall disclose ... a definite expiration date or term of the agreement" to the borrower. See Minn.Stat. § 645.44, subd. 16 (2004) (stating that the word "shall" means mandatory); Beaulieu, 552 N.W.2d at 702 (same); see also Van Asperen v. Darling Olds, Inc., 254 Minn. 62, 74, 93 N.W.2d 690, 698 (1958) (different provisions of the same statute must be interpreted in light of each other).
As noted above, the district court based its finding that the agreement is unenforceable on the last clause in the rate-lock agreement, which states:
If the loan does not close on or before the Expiration Date, the Loan will be re-priced and closed at the greater of (a) the Interest Rate and Discount which RCMF is then willing to make the Loan in view of prevailing market conditions, or (b) the terms shown above.
Appellant argues that the district court erred in finding the rate-lock agreement unenforceable because the agreement "contains a clearly implied expiration date that cannot be ignored: the eventual closing date." And this "clearly implied expiration date" satisfies the requirements of section 47.206, subdivisions 2 and 3. Appellant also argues that section 47.206 should be given a "flexible interpretation" because such an interpretation "best serves the interests of builders, borrowers, and lenders." We disagree.
The statute by its plain language requires either a definite expiration date or a definite term of the agreement. Minn.Stat. § 47.206, subd. 2. This requirement was not met. If appellant's arguments were accepted, the phrase in subdivision 3 of the statute beginning with "may not maintain an action on an agreement unless," would be rendered essentially meaningless. See Minn.Stat. § 47.206, subd. 3; see also Minn.Stat. §§ 645.16, .17 (statutes must be interpreted to give effect to all provisions and avoid rendering any one meaningless). And we conclude that the words "may not" and "unless" in subdivision 3 must be read to impose a requirement that any rate-lock agreement contain "the relevant terms and conditions" listed in subdivision 2. See Van Asperen, 254 Minn. at 74, 93 N.W.2d at 698 (stating that *379 different provisions of the same statute must be interpreted in light of each other).
Further, Minn.Stat. § 645.08(1) (2004), mandates that words and phrases be construed "according to their common and approved usage." And Black's Law Dictionary defines "term" as "a fixed period of time." Black's Law Dictionary 1482 (7th ed.1999). Appellant's interpretation of "the eventual closing date" as "a clearly implied expiration date" does not comport with the commonly understood definition of the word "term" as "a fixed period of time"; nor does it comport with the alternative description of a "definite expiration date," found in Minn.Stat. § 47.206, subd. 2. Accordingly, we conclude that Minn.Stat. § 47.206 expressly prohibits the open-ended language found in the rate-lock agreement here, and we affirm the district court's application of the statute.
Finally, we note that generally, when a party signs a contract and promises to perform under the contract, that performance will be required by law. Although the district court properly concluded that the contract signed by Baldus was unenforceable, our opinion here should not be construed as an approval of Baldus's actions.

II.
Appellant raises a number of other claims regarding the distinction between void and voidable contracts, and the effect of that distinction, if any, on its claims against Baldus and Thompson and Statewide. But this issue was not raised in appellant's complaint, nor was it argued before the district court. Accordingly, we decline to address appellant's arguments here. See Thiele v. Stich, 425 N.W.2d 580, 582 (Minn.1988) (stating that appellate courts in Minnesota generally review only issues presented to and considered by the district court, and holding that parties may not obtain review "by raising the same general issue litigated below but under a different theory"); Dyrdal v. Golden Nuggets, Inc., 689 N.W.2d 779, 785 n. 4 (Minn.2004) (declining to address appellant's anticipatory breach argument where it was raised for the first time on appeal).

DECISION
Because the plain language of Minn.Stat. § 47.206 (2004), makes the rate-lock agreement between appellant and Baldus unenforceable, we affirm the district court's decision. And because the remainder of appellant's claims were not raised in its complaint or argued before the district court, we decline to address those claims here.
Affirmed.
