{
  "name": "TradeFix AI",
  "short_name": "TradeFix",
  "description": "AI-powered fault diagnosis, service reports, and PPM scheduling for HVAC & Refrigeration professionals",
  "start_url": "/",
  "scope": "/",
  "display": "standalone",
  "orientation": "portrait-primary",
  "background_color": "#0f1419",
  "theme_color": "#4a9eff",
  "icons": [
    {
      "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 192'><rect fill='%230f1419' width='192' height='192'/><rect x='20' y='20' width='152' height='152' fill='none' stroke='%234a9eff' stroke-width='2'/><circle cx='96' cy='96' r='40' fill='none' stroke='%234a9eff' stroke-width='2'/><circle cx='96' cy='96' r='8' fill='%234a9eff'/><line x1='20' y1='96' x2='172' y2='96' stroke='%234a9eff' stroke-width='1' opacity='0.5'/><line x1='96' y1='20' x2='96' y2='172' stroke='%234a9eff' stroke-width='1' opacity='0.5'/></svg>",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><rect fill='%230f1419' width='512' height='512'/><rect x='50' y='50' width='412' height='412' fill='none' stroke='%234a9eff' stroke-width='4'/><circle cx='256' cy='256' r='100' fill='none' stroke='%234a9eff' stroke-width='4'/><circle cx='256' cy='256' r='20' fill='%234a9eff'/><line x1='50' y1='256' x2='462' y2='256' stroke='%234a9eff' stroke-width='2' opacity='0.5'/><line x1='256' y1='50' x2='256' y2='462' stroke='%234a9eff' stroke-width='2' opacity='0.5'/></svg>",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "any maskable"
    }
  ],
  "screenshots": [
    {
      "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 720'><rect fill='%230f1419' width='540' height='720'/><text x='270' y='360' font-size='48' fill='%234a9eff' text-anchor='middle' font-family='monospace' font-weight='bold'>TradeFix AI</text></svg>",
      "sizes": "540x720",
      "type": "image/svg+xml",
      "form_factor": "narrow"
    }
  ],
  "categories": ["productivity", "utilities"],
  "shortcuts": [
    {
      "name": "New Diagnosis",
      "short_name": "Diagnose",
      "description": "Start a new AI-guided fault diagnosis",
      "url": "/diagnostics",
      "icons": [
        {
          "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'><rect fill='%234a9eff' width='96' height='96'/><circle cx='48' cy='48' r='20' fill='%230f1419'/><line x1='48' y1='10' x2='48' y2='86' stroke='%230f1419' stroke-width='2'/><line x1='10' y1='48' x2='86' y2='48' stroke='%230f1419' stroke-width='2'/></svg>",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Fault Codes",
      "short_name": "Codes",
      "description": "Search 900+ fault codes",
      "url": "/fault-codes",
      "icons": [
        {
          "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'><rect fill='%23f59e0b' width='96' height='96'/><text x='48' y='50' font-size='32' fill='%230f1419' text-anchor='middle' font-family='monospace' font-weight='bold'>E1</text></svg>",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "PPM Tracker",
      "short_name": "Schedule",
      "description": "Manage your PPM schedule",
      "url": "/ppm",
      "icons": [
        {
          "src": "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'><rect fill='%23ec4899' width='96' height='96'/><rect x='15' y='20' width='66' height='56' fill='none' stroke='%230f1419' stroke-width='2'/><line x1='15' y1='35' x2='81' y2='35' stroke='%230f1419' stroke-width='2'/><rect x='25' y='45' width='8' height='8' fill='%230f1419'/><rect x='40' y='45' width='8' height='8' fill='%230f1419'/><rect x='55' y='45' width='8' height='8' fill='%230f1419'/></svg>",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    }
  ],
  "share_target": {
    "action": "/diagnostics",
    "method": "POST",
    "enctype": "multipart/form-data",
    "params": {
      "title": "title",
      "text": "text",
      "url": "url",
      "files": [
        {
          "name": "media",
          "accept": ["image/*"]
        }
      ]
    }
  }
}
