/*
 * The static legal pages - privacy-policy.html, data-act.html, sub-processors.html (PORTAL-CSP-STYLE-01, 2026-10-16).
 * Their styles lived in an inline <style> block, which the portal's Content-Security-Policy (style-src 'self') refuses,
 * so the pages rendered unstyled. One same-origin stylesheet serves all three; the wording is unchanged (legal session).
 * These public/ copies are the master copy of the pages (legal session, 2026-10-16).
 */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 14px; line-height: 1.6; color: #374151; background: #f8fafc; min-height: 100vh; padding: 48px 16px; }
.card { max-width: 760px; margin: 0 auto; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 40px 48px; box-shadow: 0 1px 3px rgba(0,0,0,.07); }
h1 { font-size: 22px; font-weight: 600; color: #0f172a; margin-bottom: 4px; }
.meta { font-size: 12px; color: #94a3b8; margin-bottom: 32px; }
h2 { font-size: 14px; font-weight: 600; color: #1e293b; margin: 24px 0 8px; }
p { margin-bottom: 10px; }
ul { padding-left: 20px; margin-bottom: 10px; }
ul li { margin-bottom: 4px; }
table { width: 100%; border-collapse: collapse; margin-bottom: 10px; font-size: 13px; }
th { background: #f1f5f9; text-align: left; padding: 8px 10px; border: 1px solid #e2e8f0; font-weight: 600; color: #475569; }
td { padding: 7px 10px; border: 1px solid #e2e8f0; vertical-align: top; }
a { color: #1d4ed8; text-decoration: underline; }
code { font-size: 12px; background: #f1f5f9; padding: 0 3px; border-radius: 3px; }
.back { display: inline-block; margin-top: 32px; font-size: 12px; color: #64748b; text-decoration: underline; }
hr { border: none; border-top: 1px solid #f1f5f9; margin: 28px 0 0; }
/* sub-processors.html: a wider card and a scrolling register table */
.card.wide { max-width: 960px; }
.card.wide a { word-break: break-word; }
.scroll { overflow-x: auto; margin-bottom: 10px; }
.scroll table { min-width: 720px; margin-bottom: 0; }
@media (max-width: 600px) { .card { padding: 24px 20px; } }
