{
  "app_name": "Loan Calculator",
  "pages": [
    {
      "page_id": "loan_calculator",
      "page_title": "Loan Calculator",
      "route_path": "/",
      "route_params": [],
      "image_indices": [],
      "description": "Single-page loan calculator application. Contains an input form section with fields: Principal Amount (currency input, default $250,000, range $1,000–$10,000,000), Annual Interest Rate (percentage input, default 6.5%, range 0%–50%), and Loan Term with a unit selector toggle for months/years (default 360 months, range 1–600 months). Inline validation displays error messages for out-of-range or invalid inputs. A prominent 'Calculate' button triggers computation, and a 'Reset' button restores defaults. The results display section shows three stat cards: Monthly Payment (large emphasized font), Total Interest Paid, and Total Amount Paid, all formatted as currency with thousands separators. Below results, a collapsible 'Show Amortization Schedule' section expands to reveal a paginated table with columns: Payment # , Payment Date, Payment Amount, Principal Portion, Interest Portion, Remaining Balance. The table highlights the milestone row where principal portion exceeds interest portion. An 'Export CSV' button allows downloading the schedule. A visual pie/donut chart shows the breakdown of total principal vs total interest. A disclaimer footer notes calculations are estimates for informational purposes. Responsive layout adapts from mobile (stacked) to desktop (side-by-side input/results). Tooltips on info icons explain terms like APR and amortization.",
      "navigates_to": []
    }
  ],
  "shared_state": [
    {
      "key": "currentCalculation",
      "type": "{ id: string; principal: number; annualInterestRate: number; loanTermMonths: number; monthlyPayment: number; totalPayment: number; totalInterest: number } | null",
      "initial_value": "null",
      "description": "Holds the current loan calculation parameters and results for use across input form, results display, and amortization schedule sections"
    },
    {
      "key": "calculatorDefaults",
      "type": "{ defaultPrincipal: number; defaultInterestRate: number; defaultTermMonths: number; minPrincipal: number; maxPrincipal: number; minInterestRate: number; maxInterestRate: number; minTermMonths: number; maxTermMonths: number } | null",
      "initial_value": "null",
      "description": "System-wide default values and constraints loaded from the API on app initialization, used for form defaults and validation"
    }
  ],
  "default_route": "loan_calculator",
  "design_system": {
    "theme_mode": "light",
    "density": "comfortable",
    "color_primary": "#1677ff",
    "color_success": "#52c41a",
    "color_warning": "#faad14",
    "color_error": "#ff4d4f",
    "color_bg_container": "#ffffff",
    "color_bg_layout": "#f5f5f5",
    "color_text": "#000000e0",
    "color_border": "#d9d9d9",
    "font_family": "Inter, -apple-system, sans-serif",
    "font_size_base": 14,
    "border_radius": 6,
    "component_overrides": {}
  }
}
