<h4>Sandbox Mode — Checkbox Controls at Both Admin Levels</h4><h5>3-Level Sandbox Priority:</h5><ol><li><strong>.lcl auto-detection</strong> (highest) — always forces sandbox, non-overridable, auto-detected by hostname</li><li><strong>Platform Admin global checkbox</strong> — platform admin can enable sandbox for ALL sites at once. Overrides tenant settings.</li><li><strong>Tenant checkbox</strong> (lowest) — each tenant can enable sandbox for their own site to test without affecting others.</li></ol><h5>Platform Admin UI:</h5><ul><li>New <strong>Global Sandbox Mode</strong> card in Settings tab with checkbox, SweetAlert confirmation, priority explanation</li><li>Shows current status: .lcl detected / Platform admin enabled / Production mode</li><li>Visual indicator (green=production, red=sandbox forced)</li><li>API: <code>getGlobalSandbox</code>, <code>setGlobalSandbox</code></li></ul><h5>Tenant Admin UI:</h5><ul><li>New <strong>Sandbox Mode (This Site)</strong> card in Configuration tab with checkbox</li><li>Shows reason: .lcl / Platform admin (locked) / Self-enabled / Production</li><li>Checkbox disabled when sandbox is forced by higher level (.lcl or platform admin)</li><li>SweetAlert confirmation on toggle</li><li>API: <code>getConfig</code> now returns <code>sandbox_reason</code></li></ul><h5>EmailService Updates:</h5><ul><li>Added <code>global_sandbox_override</code> column to <code>email_config</code></li><li>Added <code>isGlobalSandboxEnabled()</code> method</li><li>Added <code>getSandboxReason()</code> method — returns 'dev_environment' / 'platform_admin' / 'tenant_setting' / null</li><li><code>getConfig()</code> now includes <code>sandbox_reason</code> in returned config</li></ul>