/* Public-portal styles.
   Self-hosted rather than an inline <style> block: Config\ContentSecurityPolicy
   sets styleSrcElem = 'self' with no nonce, so a bare <style> is dropped by the
   browser in production (CSP is only enforced outside development) — the portal
   rendered unstyled live while looking fine locally. Same reason bootstrap is
   served from here instead of cdn.jsdelivr.net. */

body { background:#f6f8fb; color:#1f2933; }

.app-nav .brand-icon { width:32px; height:32px; border-radius:8px; object-fit:cover; }

.app-hero-icon { width:112px; height:112px; border-radius:24px; object-fit:cover; box-shadow:0 10px 30px rgba(0,0,0,.12); }

.legal-body { line-height:1.7; }
.legal-body h2 { font-size:1.35rem; margin-top:1.5rem; }
.legal-body h3 { font-size:1.1rem; margin-top:1.25rem; }
.legal-body img { max-width:100%; height:auto; }

footer a { text-decoration:none; }
