/* © 2025 VEX LLC. All rights reserved. */
/* ===================================================================
   PRIVACY.CSS - LGPD Consent Modal, Onboarding & Privacy Settings
   =================================================================== */

        /* LGPD Consent Modal */
        .lgpd-overlay { position: fixed; inset: 0; background: white; z-index: 9999;
            display: flex; align-items: center; justify-content: center; padding: 24px; }
        .lgpd-modal { background: white; border-radius: 0; padding: 0; max-width: 400px; width: 100%;
            max-height: 100vh; overflow-y: auto; }
        .lgpd-logo { text-align: center; margin-bottom: 24px; }
        .lgpd-title { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 32px; color: var(--text); }
        .lgpd-subtitle { font-size: 14px; color: var(--text-light); text-align: center; margin-bottom: 24px; }
        .lgpd-item { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0;
            border-bottom: 1px solid var(--border); }
        .lgpd-check { width: 24px; height: 24px; accent-color: var(--primary); margin-top: 2px;
            border-radius: 6px; }
        .lgpd-text { font-size: 14px; line-height: 1.5; color: var(--text); }
        .lgpd-text a { color: var(--primary); text-decoration: none; }
        .lgpd-btn { width: 100%; padding: 18px; background: var(--primary); color: white;
            border: none; border-radius: 30px; font-size: 16px; font-weight: 600;
            margin-top: 32px; cursor: pointer; box-shadow: 0 4px 15px rgba(75,123,245,0.35); }
        .lgpd-btn:disabled { background: #E0E0E0; cursor: not-allowed; box-shadow: none; }
        .lgpd-footer { text-align: center; margin-top: 24px; font-size: 14px; color: var(--text-light); }
        .lgpd-footer a { color: var(--primary); font-weight: 600; text-decoration: none; }

        /* Onboarding & Privacy */
        .onboarding-toggle-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border); }
        .onboarding-toggle-row:last-child { border-bottom: none; }
        .onboarding-toggle-label { font-size: 13px; color: var(--text); flex: 1; padding-right: 12px; }
        .onboarding-toggle-sublabel { font-size: 11px; color: var(--text-light); margin-top: 2px; }
        .privacy-toggle { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
        .privacy-toggle input { opacity: 0; width: 0; height: 0; }
        .privacy-toggle .slider { position: absolute; inset: 0; background: #D1D5DB; border-radius: 24px; cursor: pointer; transition: 0.3s; }
        .privacy-toggle .slider::before { content: ''; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; background: white; border-radius: 50%; transition: 0.3s; }
        .privacy-toggle input:checked + .slider { background: var(--primary); }
        .privacy-toggle input:checked + .slider::before { transform: translateX(20px); }

        /* Privacy Settings Screen */
        .privacy-section { margin-bottom: 24px; }
        .privacy-section-title { font-size: 16px; font-weight: 700; margin-bottom: 12px; color: var(--text); }
        .privacy-card { background: white; border-radius: 14px; padding: 16px; border: 1px solid var(--border); margin-bottom: 10px; }
        .privacy-card-header { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
        .privacy-card-desc { font-size: 12px; color: var(--text-light); line-height: 1.5; }
        .privacy-revoke-btn { font-size: 11px; color: #EF4444; cursor: pointer; border: 1px solid #FCA5A5; background: #FEF2F2; padding: 4px 10px; border-radius: 8px; margin-top: 8px; }
        .privacy-updated { font-size: 11px; color: var(--text-light); margin-top: 16px; text-align: center; }

        /* Agreements Wall */
        .agreement-read-btn { background: none; border: 1px solid var(--primary); color: var(--primary); padding: 6px 14px; border-radius: 8px; font-size: 12px; cursor: pointer; margin-top: 8px; font-weight: 600; display: inline-block; }
        .agreement-read-btn:hover { background: var(--primary); color: white; }
        .agreement-checkbox { width: 20px; height: 20px; accent-color: var(--primary); flex-shrink: 0; cursor: pointer; }
        .agreement-label { font-size: 13px; color: var(--text); cursor: pointer; line-height: 1.4; }
        .agreement-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
        .agreement-badge-update { display: inline-block; font-size: 10px; background: #FEF3C7; color: #92400E; padding: 2px 8px; border-radius: 6px; font-weight: 600; margin-left: 6px; }
