{"id":939,"date":"2025-07-01T18:12:07","date_gmt":"2025-07-01T18:12:07","guid":{"rendered":"https:\/\/awrpc.info\/?page_id=939"},"modified":"2025-07-01T23:10:12","modified_gmt":"2025-07-01T23:10:12","slug":"digital-will-planner","status":"publish","type":"page","link":"https:\/\/awrpc.info\/index.php\/digital-will-planner\/","title":{"rendered":"digital will planner"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;90%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<!-- You can paste this entire block of code into a Divi Code Module. --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->    \/* Basic styles for the planner container *\/<!-- [et_pb_line_break_holder] -->    #will-planner-container {<!-- [et_pb_line_break_holder] -->        font-family: 'Inter', sans-serif;<!-- [et_pb_line_break_holder] -->        color: #374151; \/* Default text color *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Custom styles for focus rings to use brand colors *\/<!-- [et_pb_line_break_holder] -->    .dwp-input:focus, .dwp-select:focus, .dwp-textarea:focus {<!-- [et_pb_line_break_holder] -->        outline: 2px solid transparent;<!-- [et_pb_line_break_holder] -->        outline-offset: 2px;<!-- [et_pb_line_break_holder] -->        box-shadow: 0 0 0 2px #3EAD5F;<!-- [et_pb_line_break_holder] -->        border-color: #3EAD5F !important; \/* Use !important to override potential theme styles *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-checkbox:checked {<!-- [et_pb_line_break_holder] -->        background-color: #3EAD5F !important;<!-- [et_pb_line_break_holder] -->        border-color: #3EAD5F !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-button-primary {<!-- [et_pb_line_break_holder] -->        background-color: #2A5A8C !important;<!-- [et_pb_line_break_holder] -->        color: white !important;<!-- [et_pb_line_break_holder] -->        transition: background-color 0.2s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-button-primary:hover:not(:disabled) {<!-- [et_pb_line_break_holder] -->        background-color: #22486e !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-button-primary:disabled {<!-- [et_pb_line_break_holder] -->        background-color: #6b7280 !important;<!-- [et_pb_line_break_holder] -->        cursor: not-allowed;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-button-secondary {<!-- [et_pb_line_break_holder] -->        background-color: #3EAD5F !important;<!-- [et_pb_line_break_holder] -->        color: white !important;<!-- [et_pb_line_break_holder] -->        transition: background-color 0.2s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dwp-button-secondary:hover {<!-- [et_pb_line_break_holder] -->        background-color: #318a4a !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Simple loading spinner *\/<!-- [et_pb_line_break_holder] -->    .dwp-spinner {<!-- [et_pb_line_break_holder] -->        border-color: #2A5A8C;<!-- [et_pb_line_break_holder] -->        border-top-color: transparent;<!-- [et_pb_line_break_holder] -->        border-radius: 50%;<!-- [et_pb_line_break_holder] -->        width: 2.5rem;<!-- [et_pb_line_break_holder] -->        height: 2.5rem;<!-- [et_pb_line_break_holder] -->        animation: spin 1s linear infinite;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @keyframes spin {<!-- [et_pb_line_break_holder] -->        to { transform: rotate(360deg); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Load Tailwind CSS and Google Fonts --><!-- [et_pb_line_break_holder] --><script src=\"https:\/\/cdn.tailwindcss.com\"><\/script><!-- [et_pb_line_break_holder] --><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><!-- [et_pb_line_break_holder] --><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><!-- [et_pb_line_break_holder] --><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Main Application Container --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"will-planner-container\" class=\"bg-gray-100 p-2 md:p-4\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Loading Screen --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"dwp-loading-screen\" class=\"flex flex-col items-center justify-center p-8 min-h-[400px]\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"dwp-spinner\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee id=\"dwp-loading-text\" class=\"text-lg font-semibold text-gray-700 mt-4\">Initializing Planner&#8230;<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Error Screen --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"dwp-error-screen\" class=\"hidden p-8 min-h-[400px]\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"p-6 bg-red-100 rounded-lg text-center border-2 border-red-300\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h2 class=\"text-xl font-bold text-red-700 mb-3\">Application Error<\/h2>\n<p><!-- [et_pb_line_break_holder] -->            <pee id=\"dwp-error-message\" class=\"text-md text-red-600 mb-4\">An unknown error occurred.<\/pee><!-- [et_pb_line_break_holder] -->            <button onclick=\"window.location.reload()\" class=\"px-4 py-2 bg-red-600 text-white rounded-md hover:bg-red-700\"><!-- [et_pb_line_break_holder] -->                Try Reloading Page<!-- [et_pb_line_break_holder] -->            <\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <!-- Authentication Screen (hidden initially) --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"dwp-auth-screen\" class=\"hidden min-h-[500px] flex items-center justify-center\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"w-full max-w-md bg-white p-8 rounded-lg shadow-md\"><!-- [et_pb_line_break_holder] -->            <!-- Branded Header --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"text-center mb-8\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"inline-flex items-center justify-center\"><!-- [et_pb_line_break_holder] -->                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D4AF37\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-3\"><path d=\"M4 22h16\"\/><path d=\"M2 10h20\"\/><path d=\"M6 10v12\"\/><path d=\"M18 10v12\"\/><path d=\"m6 6 6-4 6 4\"\/><path d=\"M4 10v-4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4\"\/><\/svg><!-- [et_pb_line_break_holder] -->                    <\/p>\n<h1 class=\"text-3xl font-bold\" style=\"color: #2A5A8C;\">Advanced Wealth<\/h1>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <pee class=\"text-gray-600 mt-2\">Digital Will Planner Portal<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <!-- Login Form --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"dwp-login-form-container\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h2 class=\"text-2xl font-bold text-center mb-6 text-gray-800\">Log In<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<form id=\"dwp-login-form\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-4\"><!-- [et_pb_line_break_holder] -->                        <label for=\"login-email\" class=\"block text-sm font-medium text-gray-700\">Email Address<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"email\" id=\"login-email\" required class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-6\"><!-- [et_pb_line_break_holder] -->                        <label for=\"login-password\" class=\"block text-sm font-medium text-gray-700\">Password<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"password\" id=\"login-password\" required class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <button type=\"submit\" class=\"dwp-button-primary w-full py-2 rounded-md\">Log In<\/button><!-- [et_pb_line_break_holder] -->                <\/form>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"text-center text-sm text-gray-600 mt-4\"><!-- [et_pb_line_break_holder] -->                    <a href=\"#\" id=\"show-forgot-password\" class=\"font-medium text-[#2A5A8C] hover:text-[#22486e]\">Forgot Password?<\/a><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <pee class=\"text-center text-sm text-gray-600 mt-2\"><!-- [et_pb_line_break_holder] -->                    Don&#8217;t have an account? <a href=\"#\" id=\"show-signup\" class=\"font-medium text-[#2A5A8C] hover:text-[#22486e]\">Sign Up<\/a><!-- [et_pb_line_break_holder] -->                <\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <!-- Sign Up Form --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"dwp-signup-form-container\" class=\"hidden\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h2 class=\"text-2xl font-bold text-center mb-6 text-gray-800\">Create Account<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<form id=\"dwp-signup-form\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-4\"><!-- [et_pb_line_break_holder] -->                        <label for=\"signup-email\" class=\"block text-sm font-medium text-gray-700\">Email Address<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"email\" id=\"signup-email\" required class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-6\"><!-- [et_pb_line_break_holder] -->                        <label for=\"signup-password\" class=\"block text-sm font-medium text-gray-700\">Password<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"password\" id=\"signup-password\" required minlength=\"6\" class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                         <pee class=\"text-xs text-gray-500 mt-1\">Password must be at least 6 characters long.<\/pee><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <button type=\"submit\" class=\"dwp-button-primary w-full py-2 rounded-md\">Create Account<\/button><!-- [et_pb_line_break_holder] -->                <\/form>\n<p><!-- [et_pb_line_break_holder] -->                <pee class=\"text-center text-sm text-gray-600 mt-4\"><!-- [et_pb_line_break_holder] -->                    Already have an account? <a href=\"#\" id=\"show-login\" class=\"font-medium text-[#2A5A8C] hover:text-[#22486e]\">Log In<\/a><!-- [et_pb_line_break_holder] -->                <\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <!-- Forgot Password Form --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"dwp-forgot-password-container\" class=\"hidden\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h2 class=\"text-2xl font-bold text-center mb-6 text-gray-800\">Reset Password<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<form id=\"dwp-forgot-password-form\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-4\"><!-- [et_pb_line_break_holder] -->                        <label for=\"forgot-email\" class=\"block text-sm font-medium text-gray-700\">Enter your account email<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"email\" id=\"forgot-email\" required class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <button type=\"submit\" class=\"dwp-button-primary w-full py-2 rounded-md\">Send Reset Link<\/button><!-- [et_pb_line_break_holder] -->                <\/form>\n<p><!-- [et_pb_line_break_holder] -->                <pee class=\"text-center text-sm text-gray-600 mt-4\"><!-- [et_pb_line_break_holder] -->                    <a href=\"#\" id=\"back-to-login\" class=\"font-medium text-[#2A5A8C] hover:text-[#22486e]\">Back to Log In<\/a><!-- [et_pb_line_break_holder] -->                <\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->             <pee id=\"dwp-auth-error\" class=\"text-center text-sm text-red-500 mt-4 h-4\"><\/pee><!-- [et_pb_line_break_holder] -->             <pee id=\"dwp-auth-success\" class=\"text-center text-sm text-green-500 mt-4 h-4\"><\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Main App Content (hidden initially) --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"dwp-app-container\" class=\"hidden flex flex-col md:flex-row min-h-[800px] font-sans\"><!-- [et_pb_line_break_holder] -->        <!-- Sidebar --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"w-full md:w-1\/4 p-4 text-white rounded-l-lg\" style=\"background-color: #2A5A8C;\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"flex items-center mb-6\"><!-- [et_pb_line_break_holder] -->                 <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D4AF37\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-2 flex-shrink-0\"><path d=\"M4 22h16\"\/><path d=\"M2 10h20\"\/><path d=\"M6 10v12\"\/><path d=\"M18 10v12\"\/><path d=\"m6 6 6-4 6 4\"\/><path d=\"M4 10v-4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4\"\/><\/svg><!-- [et_pb_line_break_holder] -->                <\/p>\n<h1 class=\"text-xl font-bold text-white\">Advanced Wealth<\/h1>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<nav id=\"dwp-sidebar-nav\"><!-- [et_pb_line_break_holder] -->                <!-- Navigation items will be injected here by JavaScript --><!-- [et_pb_line_break_holder] -->            <\/nav>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"mt-auto pt-6 border-t border-blue-500\"><!-- [et_pb_line_break_holder] -->                <button id=\"dwp-print-btn\" class=\"w-full flex items-center p-2 rounded-md text-left hover:bg-blue-600 transition-colors text-white mb-2\"><!-- [et_pb_line_break_holder] -->                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-2\"><polyline points=\"6 9 6 2 18 2 18 9\"><\/polyline><path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"><\/path><rect x=\"6\" y=\"14\" width=\"12\" height=\"8\"><\/rect><\/svg><!-- [et_pb_line_break_holder] -->                    Print Planner<!-- [et_pb_line_break_holder] -->                <\/button><!-- [et_pb_line_break_holder] -->                <pee id=\"dwp-user-email-display\" class=\"text-xs mb-2 break-all text-blue-200\"><\/pee><!-- [et_pb_line_break_holder] -->                <button id=\"dwp-sign-out-btn\" class=\"w-full flex items-center p-2 rounded-md text-left bg-red-500 hover:bg-red-600 transition-colors text-white\"><!-- [et_pb_line_break_holder] -->                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-2\"><path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"><\/path><polyline points=\"16 17 21 12 16 7\"><\/polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"><\/line><\/svg><!-- [et_pb_line_break_holder] -->                    Sign Out<!-- [et_pb_line_break_holder] -->                <\/button><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- Main Content --><!-- [et_pb_line_break_holder] -->        <main class=\"w-full md:w-3\/4 p-4 md:p-8 overflow-y-auto bg-white rounded-r-lg\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"dwp-form-content\"><!-- [et_pb_line_break_holder] -->                <!-- Form sections will be injected here by JavaScript --><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/main><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <!-- Save Confirmation Toast --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"dwp-save-confirmation\" class=\"hidden fixed bottom-5 right-5 p-3 rounded-md shadow-lg text-green-800 bg-green-100 z-50\"><!-- [et_pb_line_break_holder] -->        Data saved successfully!<!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script type=\"module\"><!-- [et_pb_line_break_holder] -->    \/\/ --- Firebase Imports ---<!-- [et_pb_line_break_holder] -->    import { initializeApp } from \"https:\/\/www.gstatic.com\/firebasejs\/11.7.3\/firebase-app.js\";<!-- [et_pb_line_break_holder] -->    import { getAuth, onAuthStateChanged, createUserWithEmailAndPassword, signInWithEmailAndPassword, signOut, sendPasswordResetEmail } from \"https:\/\/www.gstatic.com\/firebasejs\/11.7.3\/firebase-auth.js\";<!-- [et_pb_line_break_holder] -->    import { getFirestore, doc, setDoc, onSnapshot, setLogLevel } from \"https:\/\/www.gstatic.com\/firebasejs\/11.7.3\/firebase-firestore.js\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Firebase Configuration ---<!-- [et_pb_line_break_holder] -->    const firebaseConfig = {<!-- [et_pb_line_break_holder] -->        apiKey: \"AIzaSyAOF0WocYzdpCzdQ7lxyh4BjP_hecwQajk\",<!-- [et_pb_line_break_holder] -->        authDomain: \"advanced-digital-will-planner.firebaseapp.com\",<!-- [et_pb_line_break_holder] -->        projectId: \"advanced-digital-will-planner\",<!-- [et_pb_line_break_holder] -->        storageBucket: \"advanced-digital-will-planner.firebasestorage.app\",<!-- [et_pb_line_break_holder] -->        messagingSenderId: \"585369138313\",<!-- [et_pb_line_break_holder] -->        appId: \"1:585369138313:web:e800d099dbe37830124258\",<!-- [et_pb_line_break_holder] -->        measurementId: \"G-WP8RVXH6HN\"<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const appIdForPath = 'advanced-wealth-will-planner'; <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- DOM Elements ---<!-- [et_pb_line_break_holder] -->    const loadingScreen = document.getElementById('dwp-loading-screen');<!-- [et_pb_line_break_holder] -->    const errorScreen = document.getElementById('dwp-error-screen');<!-- [et_pb_line_break_holder] -->    const errorMessage = document.getElementById('dwp-error-message');<!-- [et_pb_line_break_holder] -->    const authScreen = document.getElementById('dwp-auth-screen');<!-- [et_pb_line_break_holder] -->    const appContainer = document.getElementById('dwp-app-container');<!-- [et_pb_line_break_holder] -->    const sidebarNav = document.getElementById('dwp-sidebar-nav');<!-- [et_pb_line_break_holder] -->    const formContent = document.getElementById('dwp-form-content');<!-- [et_pb_line_break_holder] -->    const userEmailDisplay = document.getElementById('dwp-user-email-display');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Global State ---<!-- [et_pb_line_break_holder] -->    let state = {<!-- [et_pb_line_break_holder] -->        userId: null,<!-- [et_pb_line_break_holder] -->        formData: {},<!-- [et_pb_line_break_holder] -->        currentSection: 'personalInfo',<!-- [et_pb_line_break_holder] -->        unsubscribe: () => {},<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Firebase Initialization ---<!-- [et_pb_line_break_holder] -->    let app, auth, db;<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->        app = initializeApp(firebaseConfig);<!-- [et_pb_line_break_holder] -->        auth = getAuth(app);<!-- [et_pb_line_break_holder] -->        db = getFirestore(app);<!-- [et_pb_line_break_holder] -->        setLogLevel('debug');<!-- [et_pb_line_break_holder] -->        console.log(\"Firebase initialized. Using fixed appIdForPath:\", appIdForPath);<!-- [et_pb_line_break_holder] -->    } catch (error) {<!-- [et_pb_line_break_holder] -->        console.error(\"FATAL: Error initializing Firebase:\", error);<!-- [et_pb_line_break_holder] -->        showErrorScreen(\"Could not initialize application services.\");<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ --- Section Definitions ---<!-- [et_pb_line_break_holder] -->    const SECTIONS = {<!-- [et_pb_line_break_holder] -->        personalInfo: { title: \"Personal Information\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'fullName', label: 'Full Legal Name' }, { id: 'dob', label: 'Date of Birth', type: 'date' },<!-- [et_pb_line_break_holder] -->            { id: 'address', label: 'Home Address', type: 'textarea' },<!-- [et_pb_line_break_holder] -->            { id: 'phone', label: 'Phone Number', type: 'tel' }, { id: 'email', label: 'Email Address', type: 'email' },<!-- [et_pb_line_break_holder] -->            { id: 'maritalStatus', label: 'Marital Status', type: 'select', options: [{v:'single',l:'Single'},{v:'married',l:'Married'},{v:'divorced',l:'Divorced'},{v:'widowed',l:'Widowed'}] },<!-- [et_pb_line_break_holder] -->            { id: 'spouseName', label: 'Spouse\u2019s Name', dependsOn: {field: 'maritalStatus', value: 'married'} },<!-- [et_pb_line_break_holder] -->            { id: 'childrenInfo', label: 'Children\u2019s Names and Ages', type: 'textarea' }, { id: 'emergencyContact', label: 'Emergency Contact Name & Number' },<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->        legalReps: { title: \"Legal Representatives\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'executorName', label: 'Executor Name' }, { id: 'executorContact', label: 'Executor Contact Info (Phone\/Email)'},<!-- [et_pb_line_break_holder] -->            { id: 'altExecutorName', label: 'Alternate Executor Name'}, { id: 'altExecutorContact', label: 'Alternate Executor Contact Info'},<!-- [et_pb_line_break_holder] -->            { id: 'attorneyName', label: 'Attorney Name'}, { id: 'attorneyContact', label: 'Attorney Contact Info'},<!-- [et_pb_line_break_holder] -->            { id: 'advisorName', label: 'Financial Advisor Name'}, { id: 'advisorContact', label: 'Financial Advisor Contact Info'},<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->        estateDocs: { title: \"Estate Documents Location\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'willLocation', label: 'Your Will', type: 'textarea' }, { id: 'trustLocation', label: 'Trust Documents', type: 'textarea'},<!-- [et_pb_line_break_holder] -->            { id: 'poaLocation', label: 'Power of Attorney', type: 'textarea'}, { id: 'healthcareProxyLocation', label: 'Healthcare Proxy \/ Advance Directive', type: 'textarea'},<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->        financialAccounts: { title: \"Financial Accounts\", isArray: true, itemSchema: { institutionName: '', accountType: '', last4Digits: '', loginInfo: ''} },<!-- [et_pb_line_break_holder] -->        insurance: { title: \"Insurance Policies\", isArray: true, itemSchema: { policyType: '', company: '', policyNumber: '', contact: ''} },<!-- [et_pb_line_break_holder] -->        realEstate: { title: \"Real Estate\", isArray: true, itemSchema: { address: '', ownership: 'own', mortgageInfo: '', deedLocation: '', utilities: ''} },<!-- [et_pb_line_break_holder] -->        vehicles: { title: \"Vehicles\", isArray: true, itemSchema: { makeModelYear: '', loanInfo: '', titleLocation: '', insurancePolicy: ''} },<!-- [et_pb_line_break_holder] -->        assetsSecurity: { title: \"Assets & Security\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'safeDepositBox', label: 'Safe Deposit Box Location', type: 'textarea'}, { id: 'homeSafe', label: 'Home Safe or Lockbox Details', type: 'textarea'},<!-- [et_pb_line_break_holder] -->            { id: 'passwordManager', label: 'Password Manager Master Password', type: 'textarea'},<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->        digitalAssets: { title: \"Digital Assets\", isArray: true, itemSchema: { accountType: '', serviceName: '', loginInfo: '', legacyInstructions: ''} },<!-- [et_pb_line_break_holder] -->        debts: { title: \"Debts & Obligations\", isArray: true, itemSchema: { debtType: '', creditor: '', accountNumber: '', amount: ''} },<!-- [et_pb_line_break_holder] -->        legacyWishes: { title: \"Legacy & Final Wishes\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'letterToLovedOnes', label: 'Letter to Loved Ones (Location or Content)', type: 'textarea'},<!-- [et_pb_line_break_holder] -->            { id: 'funeralPreferences', label: 'Funeral Preferences', type: 'textarea'},<!-- [et_pb_line_break_holder] -->            { id: 'burialOrCremation', label: 'Burial or Cremation', type: 'select', options: [{v:'burial', l:'Burial'}, {v:'cremation', l:'Cremation'}]},<!-- [et_pb_line_break_holder] -->            { id: 'petCare', label: 'Pet Care Instructions', type: 'textarea'},<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->        acknowledgment: { title: \"Final Acknowledgment\", fields: [<!-- [et_pb_line_break_holder] -->            { id: 'infoAccurate', label: 'I confirm the information provided is accurate to the best of my knowledge.', type: 'checkbox'},<!-- [et_pb_line_break_holder] -->            { id: 'dataSecure', label: 'I understand that all information I enter is securely stored in my private account and is not accessible by anyone else.', type: 'checkbox'},<!-- [et_pb_line_break_holder] -->            { id: 'notLegalAdvice', label: 'I acknowledge this tool is not legal advice and strongly recommend consulting with an attorney for all legal guidance.', type: 'checkbox'},<!-- [et_pb_line_break_holder] -->            { id: 'isOrganizerOnly', label: 'I recognize this organizer is simply to help me gather and organize my documents\u2014it doesn\u2019t replace professional or legal services.', type: 'checkbox'},<!-- [et_pb_line_break_holder] -->        ]},<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const SECTION_KEYS = Object.keys(SECTIONS);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- UI Update Functions ---<!-- [et_pb_line_break_holder] -->    function showErrorScreen(message) {<!-- [et_pb_line_break_holder] -->        errorMessage.textContent = message;<!-- [et_pb_line_break_holder] -->        loadingScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        appContainer.style.display = 'none';<!-- [et_pb_line_break_holder] -->        authScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        errorScreen.style.display = 'flex';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function showAuthScreen() {<!-- [et_pb_line_break_holder] -->        loadingScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        errorScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        appContainer.style.display = 'none';<!-- [et_pb_line_break_holder] -->        authScreen.style.display = 'flex';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function showApp() {<!-- [et_pb_line_break_holder] -->        loadingScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        errorScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        authScreen.style.display = 'none';<!-- [et_pb_line_break_holder] -->        appContainer.style.display = 'flex';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function render() {<!-- [et_pb_line_break_holder] -->        renderSidebar();<!-- [et_pb_line_break_holder] -->        renderFormContent();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    function renderSidebar() {<!-- [et_pb_line_break_holder] -->        sidebarNav.innerHTML = SECTION_KEYS.map(key => `<!-- [et_pb_line_break_holder] -->            <button data-section-key=\"${key}\" class=\"nav-button w-full text-left p-2 rounded-md mb-1 transition-colors ${state.currentSection === key ? 'font-semibold' : ''}\" style=\"background-color: ${state.currentSection === key ? '#3EAD5F' : 'transparent'};\"><!-- [et_pb_line_break_holder] -->                ${SECTIONS[key]?.title || key}<!-- [et_pb_line_break_holder] -->            <\/button><!-- [et_pb_line_break_holder] -->        `).join('');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderFormContent() {<!-- [et_pb_line_break_holder] -->        const sectionKey = state.currentSection;<!-- [et_pb_line_break_holder] -->        const section = SECTIONS[sectionKey];<!-- [et_pb_line_break_holder] -->        if (!section) { formContent.innerHTML = `<pee>Section not found.<\/pee>`; return; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const sectionData = state.formData[sectionKey] || (section.isArray ? [] : {});<!-- [et_pb_line_break_holder] -->        let fieldsHTML = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (section.isArray) {<!-- [et_pb_line_break_holder] -->            fieldsHTML = (sectionData.length > 0 ? sectionData : [{...section.itemSchema}]).map((item, index) => {<!-- [et_pb_line_break_holder] -->                const itemFields = Object.keys(section.itemSchema).map(fieldKey => `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"mb-4\"><!-- [et_pb_line_break_holder] -->                        <label for=\"${sectionKey}-${index}-${fieldKey}\" class=\"block text-sm font-medium text-gray-700 mb-1\">${fieldKey.replace(\/([A-Z])\/g, ' $1').replace(\/^.\/, str => str.toUpperCase())}<\/label><!-- [et_pb_line_break_holder] -->                        <input type=\"text\" id=\"${sectionKey}-${index}-${fieldKey}\" data-index=\"${index}\" data-field=\"${fieldKey}\" value=\"${item[fieldKey] || ''}\" class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                `).join('');<!-- [et_pb_line_break_holder] -->                return `<\/p>\n<div class=\"mb-6 p-4 border border-gray-200 rounded-lg relative\">${itemFields}<button data-remove-index=\"${index}\" class=\"remove-item-btn absolute top-2 right-2 text-red-500 font-bold text-xl\">&times;<\/button><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->            }).join('');<!-- [et_pb_line_break_holder] -->            fieldsHTML += `<button class=\"add-item-btn dwp-button-secondary px-4 py-2 rounded-md shadow-sm\">Add New Item<\/button>`;<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->            fieldsHTML = section.fields.map(field => {<!-- [et_pb_line_break_holder] -->                if (field.dependsOn && sectionData[field.dependsOn.field] !== field.dependsOn.value) return '';<!-- [et_pb_line_break_holder] -->                const value = sectionData[field.id] || '';<!-- [et_pb_line_break_holder] -->                const label = `<label for=\"${field.id}\" class=\"block text-sm font-medium text-gray-700 mb-1\">${field.label}<\/label>`;<!-- [et_pb_line_break_holder] -->                if (field.type === 'textarea') return `<\/p>\n<div class=\"mb-4\">${label}<textarea id=\"${field.id}\" class=\"dwp-textarea mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\" rows=\"3\">${value}<\/textarea><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                if (field.type === 'select') {<!-- [et_pb_line_break_holder] -->                    const optionsHTML = field.options.map(opt => `<option value=\"${opt.v}\" ${value === opt.v ? 'selected' : ''}>${opt.l}<\/option>`).join('');<!-- [et_pb_line_break_holder] -->                    return `<\/p>\n<div class=\"mb-4\">${label}<select id=\"${field.id}\" class=\"dwp-select mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><option value=\"\">-- Select --<\/option>${optionsHTML}<\/select><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                 if (field.type === 'checkbox') {<!-- [et_pb_line_break_holder] -->                    return `<\/p>\n<div class=\"flex items-center mb-4\"><input type=\"checkbox\" id=\"${field.id}\" ${value ? 'checked' : ''} class=\"dwp-checkbox h-4 w-4 border-gray-300 rounded mr-2\"><label for=\"${field.id}\" class=\"text-sm text-gray-900\">${field.label}<\/label><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                return `<\/p>\n<div class=\"mb-4\">${label}<input type=\"${field.type || 'text'}\" id=\"${field.id}\" value=\"${value}\" class=\"dwp-input mt-1 block w-full p-2 border border-gray-300 rounded-md shadow-sm\"><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->            }).join('');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        formContent.innerHTML = `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"bg-white p-6 rounded-lg shadow-md\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h2 class=\"text-xl font-bold mb-4 text-gray-800\">${section.title}<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                ${fieldsHTML}<!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"mt-8 flex justify-end\"><!-- [et_pb_line_break_holder] -->                    <button id=\"dwp-save-data-btn\" class=\"dwp-button-primary px-6 py-2 rounded-md shadow-sm\">Save All Data<\/button><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Event Listeners ---<!-- [et_pb_line_break_holder] -->    document.getElementById('will-planner-container').addEventListener('click', e => {<!-- [et_pb_line_break_holder] -->        if (e.target.closest('.nav-button')) {<!-- [et_pb_line_break_holder] -->            state.currentSection = e.target.closest('.nav-button').dataset.sectionKey;<!-- [et_pb_line_break_holder] -->            render();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        if (e.target.id === 'dwp-save-data-btn') saveData();<!-- [et_pb_line_break_holder] -->        if (e.target.closest('.add-item-btn')) {<!-- [et_pb_line_break_holder] -->            const sectionKey = state.currentSection;<!-- [et_pb_line_break_holder] -->            if (!state.formData[sectionKey] || !Array.isArray(state.formData[sectionKey])) state.formData[sectionKey] = [];<!-- [et_pb_line_break_holder] -->            state.formData[sectionKey].push({ ...SECTIONS[sectionKey].itemSchema });<!-- [et_pb_line_break_holder] -->            renderFormContent();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        if (e.target.closest('.remove-item-btn')) {<!-- [et_pb_line_break_holder] -->            const index = parseInt(e.target.closest('.remove-item-btn').dataset.removeIndex, 10);<!-- [et_pb_line_break_holder] -->            const sectionKey = state.currentSection;<!-- [et_pb_line_break_holder] -->            state.formData[sectionKey] = state.formData[sectionKey].filter((_, i) => i !== index);<!-- [et_pb_line_break_holder] -->            renderFormContent();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('will-planner-container').addEventListener('input', e => {<!-- [et_pb_line_break_holder] -->        const { id, value, type, checked } = e.target;<!-- [et_pb_line_break_holder] -->        const val = type === 'checkbox' ? checked : value;<!-- [et_pb_line_break_holder] -->        const sectionKey = state.currentSection;<!-- [et_pb_line_break_holder] -->        if (sectionKey && id) {<!-- [et_pb_line_break_holder] -->            const section = SECTIONS[sectionKey];<!-- [et_pb_line_break_holder] -->            if (section.isArray) {<!-- [et_pb_line_break_holder] -->                const index = parseInt(e.target.dataset.index, 10);<!-- [et_pb_line_break_holder] -->                const field = e.target.dataset.field;<!-- [et_pb_line_break_holder] -->                if (!state.formData[sectionKey]) state.formData[sectionKey] = [];<!-- [et_pb_line_break_holder] -->                if (!state.formData[sectionKey][index]) state.formData[sectionKey][index] = {};<!-- [et_pb_line_break_holder] -->                state.formData[sectionKey][index][field] = val;<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                if (!state.formData[sectionKey]) state.formData[sectionKey] = {};<!-- [et_pb_line_break_holder] -->                state.formData[sectionKey][id] = val;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Auth Form Logic<!-- [et_pb_line_break_holder] -->    const loginFormContainer = document.getElementById('dwp-login-form-container');<!-- [et_pb_line_break_holder] -->    const signupFormContainer = document.getElementById('dwp-signup-form-container');<!-- [et_pb_line_break_holder] -->    const forgotPasswordContainer = document.getElementById('dwp-forgot-password-container');<!-- [et_pb_line_break_holder] -->    const authError = document.getElementById('dwp-auth-error');<!-- [et_pb_line_break_holder] -->    const authSuccess = document.getElementById('dwp-auth-success');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function showAuthView(view) {<!-- [et_pb_line_break_holder] -->        loginFormContainer.style.display = view === 'login' ? 'block' : 'none';<!-- [et_pb_line_break_holder] -->        signupFormContainer.style.display = view === 'signup' ? 'block' : 'none';<!-- [et_pb_line_break_holder] -->        forgotPasswordContainer.style.display = view === 'forgot' ? 'block' : 'none';<!-- [et_pb_line_break_holder] -->        authError.textContent = '';<!-- [et_pb_line_break_holder] -->        authSuccess.textContent = '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('show-signup').addEventListener('click', (e) => { e.preventDefault(); showAuthView('signup'); });<!-- [et_pb_line_break_holder] -->    document.getElementById('show-login').addEventListener('click', (e) => { e.preventDefault(); showAuthView('login'); });<!-- [et_pb_line_break_holder] -->    document.getElementById('show-forgot-password').addEventListener('click', (e) => { e.preventDefault(); showAuthView('forgot'); });<!-- [et_pb_line_break_holder] -->    document.getElementById('back-to-login').addEventListener('click', (e) => { e.preventDefault(); showAuthView('login'); });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('dwp-signup-form').addEventListener('submit', (e) => {<!-- [et_pb_line_break_holder] -->        e.preventDefault();<!-- [et_pb_line_break_holder] -->        const email = document.getElementById('signup-email').value;<!-- [et_pb_line_break_holder] -->        const password = document.getElementById('signup-password').value;<!-- [et_pb_line_break_holder] -->        const btn = e.target.querySelector('button');<!-- [et_pb_line_break_holder] -->        btn.disabled = true;<!-- [et_pb_line_break_holder] -->        btn.textContent = 'Creating...';<!-- [et_pb_line_break_holder] -->        createUserWithEmailAndPassword(auth, email, password)<!-- [et_pb_line_break_holder] -->            .catch(error => authError.textContent = error.message)<!-- [et_pb_line_break_holder] -->            .finally(() => { btn.disabled = false; btn.textContent = 'Create Account'; });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('dwp-login-form').addEventListener('submit', (e) => {<!-- [et_pb_line_break_holder] -->        e.preventDefault();<!-- [et_pb_line_break_holder] -->        const email = document.getElementById('login-email').value;<!-- [et_pb_line_break_holder] -->        const password = document.getElementById('login-password').value;<!-- [et_pb_line_break_holder] -->        const btn = e.target.querySelector('button');<!-- [et_pb_line_break_holder] -->        btn.disabled = true;<!-- [et_pb_line_break_holder] -->        btn.textContent = 'Logging In...';<!-- [et_pb_line_break_holder] -->        signInWithEmailAndPassword(auth, email, password)<!-- [et_pb_line_break_holder] -->            .catch(error => authError.textContent = error.message)<!-- [et_pb_line_break_holder] -->            .finally(() => { btn.disabled = false; btn.textContent = 'Log In'; });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('dwp-forgot-password-form').addEventListener('submit', (e) => {<!-- [et_pb_line_break_holder] -->        e.preventDefault();<!-- [et_pb_line_break_holder] -->        const email = document.getElementById('forgot-email').value;<!-- [et_pb_line_break_holder] -->        const btn = e.target.querySelector('button');<!-- [et_pb_line_break_holder] -->        btn.disabled = true;<!-- [et_pb_line_break_holder] -->        btn.textContent = 'Sending...';<!-- [et_pb_line_break_holder] -->        sendPasswordResetEmail(auth, email)<!-- [et_pb_line_break_holder] -->            .then(() => {<!-- [et_pb_line_break_holder] -->                authSuccess.textContent = 'Password reset email sent! Please check your inbox.';<!-- [et_pb_line_break_holder] -->                authError.textContent = '';<!-- [et_pb_line_break_holder] -->            })<!-- [et_pb_line_break_holder] -->            .catch(error => authError.textContent = error.message)<!-- [et_pb_line_break_holder] -->            .finally(() => { btn.disabled = false; btn.textContent = 'Send Reset Link'; });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.getElementById('dwp-sign-out-btn').addEventListener('click', () => signOut(auth));<!-- [et_pb_line_break_holder] -->    document.getElementById('dwp-print-btn').addEventListener('click', () => printPlannerData());<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Firebase Core Logic ---<!-- [et_pb_line_break_holder] -->    function setupFirestoreListener(uid, userEmail) {<!-- [et_pb_line_break_holder] -->        if (state.unsubscribe) state.unsubscribe();<!-- [et_pb_line_break_holder] -->        document.getElementById('dwp-loading-text').textContent = 'Loading Your Data...';<!-- [et_pb_line_break_holder] -->        const docRef = doc(db, `artifacts\/${appIdForPath}\/users\/${uid}\/willPlannerData`, \"userData\");<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        state.unsubscribe = onSnapshot(docRef, (docSnap) => {<!-- [et_pb_line_break_holder] -->            console.log(\"Firestore data received.\");<!-- [et_pb_line_break_holder] -->            state.formData = docSnap.exists() ? docSnap.data() : {};<!-- [et_pb_line_break_holder] -->            userEmailDisplay.textContent = userEmail;<!-- [et_pb_line_break_holder] -->            showApp();<!-- [et_pb_line_break_holder] -->            render();<!-- [et_pb_line_break_holder] -->        }, (error) => {<!-- [et_pb_line_break_holder] -->            console.error(\"Firestore permission error:\", error);<!-- [et_pb_line_break_holder] -->            showErrorScreen(`Failed to load data. Please ensure your Firestore Security Rules match the App ID: \"${appIdForPath}\"`);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    async function saveData() {<!-- [et_pb_line_break_holder] -->        if (!state.userId) return alert(\"Cannot save, not signed in.\");<!-- [et_pb_line_break_holder] -->        const saveBtn = document.getElementById('dwp-save-data-btn');<!-- [et_pb_line_break_holder] -->        saveBtn.disabled = true;<!-- [et_pb_line_break_holder] -->        saveBtn.textContent = 'Saving...';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const docRef = doc(db, `artifacts\/${appIdForPath}\/users\/${state.userId}\/willPlannerData`, \"userData\");<!-- [et_pb_line_break_holder] -->        try {<!-- [et_pb_line_break_holder] -->            await setDoc(docRef, state.formData, { merge: true });<!-- [et_pb_line_break_holder] -->            const saveConf = document.getElementById('dwp-save-confirmation');<!-- [et_pb_line_break_holder] -->            saveConf.classList.remove('hidden');<!-- [et_pb_line_break_holder] -->            setTimeout(() => saveConf.classList.add('hidden'), 3000);<!-- [et_pb_line_break_holder] -->        } catch (error) {<!-- [et_pb_line_break_holder] -->            console.error(\"Error saving data:\", error);<!-- [et_pb_line_break_holder] -->            alert(\"Failed to save data. Please check console for errors.\");<!-- [et_pb_line_break_holder] -->        } finally {<!-- [et_pb_line_break_holder] -->            saveBtn.disabled = false;<!-- [et_pb_line_break_holder] -->            saveBtn.textContent = 'Save All Data';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function printPlannerData() {<!-- [et_pb_line_break_holder] -->        let printContent = `<!-- [et_pb_line_break_holder] -->            <!DOCTYPE html><!-- [et_pb_line_break_holder] -->            <html><!-- [et_pb_line_break_holder] -->            <head><!-- [et_pb_line_break_holder] -->                <title>Digital Will Planner Summary<\/title><!-- [et_pb_line_break_holder] -->                <\/p>\n<style><!-- [et_pb_line_break_holder] -->                    body { font-family: sans-serif; line-height: 1.6; padding: 20px; }<!-- [et_pb_line_break_holder] -->                    h1 { color: #2A5A8C; border-bottom: 2px solid #2A5A8C; padding-bottom: 10px; }<!-- [et_pb_line_break_holder] -->                    h2 { color: #3EAD5F; border-bottom: 1px solid #eee; padding-bottom: 5px; margin-top: 30px;}<!-- [et_pb_line_break_holder] -->                    .section { margin-bottom: 20px; }<!-- [et_pb_line_break_holder] -->                    .field { margin-bottom: 10px; }<!-- [et_pb_line_break_holder] -->                    .field-label { font-weight: bold; }<!-- [et_pb_line_break_holder] -->                    .array-item { border: 1px solid #ccc; padding: 10px; margin-top: 10px; border-radius: 5px; }<!-- [et_pb_line_break_holder] -->                <\/style>\n<p><!-- [et_pb_line_break_holder] -->            <\/head><!-- [et_pb_line_break_holder] -->            <body><!-- [et_pb_line_break_holder] -->                <\/p>\n<h1>Advanced Wealth - Digital Will Planner Summary<\/h1>\n<p><!-- [et_pb_line_break_holder] -->                <pee><strong>Client:<\/strong> ${auth.currentUser.email}<\/pee><!-- [et_pb_line_break_holder] -->                <pee><strong>Date Printed:<\/strong> ${new Date().toLocaleDateString()}<\/pee><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        for (const sectionKey in SECTIONS) {<!-- [et_pb_line_break_holder] -->            const section = SECTIONS[sectionKey];<!-- [et_pb_line_break_holder] -->            const data = state.formData[sectionKey];<!-- [et_pb_line_break_holder] -->            if (!data || Object.keys(data).length === 0) continue;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            printContent += `<\/p>\n<div class=\"section\">\n<h2>${section.title}<\/h2>\n<p>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (section.isArray) {<!-- [et_pb_line_break_holder] -->                if(Array.isArray(data) && data.length > 0) {<!-- [et_pb_line_break_holder] -->                    data.forEach((item, index) => {<!-- [et_pb_line_break_holder] -->                        printContent += `<\/p>\n<div class=\"array-item\">\n<h4>Item ${index + 1}<\/h4>\n<p>`;<!-- [et_pb_line_break_holder] -->                        for (const fieldKey in item) {<!-- [et_pb_line_break_holder] -->                            const label = fieldKey.replace(\/([A-Z])\/g, ' $1').replace(\/^.\/, str => str.toUpperCase());<!-- [et_pb_line_break_holder] -->                            printContent += `<\/p>\n<div class=\"field\"><span class=\"field-label\">${label}:<\/span> ${item[fieldKey] || 'N\/A'}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                        }<!-- [et_pb_line_break_holder] -->                        printContent += `<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                    });<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                section.fields.forEach(field => {<!-- [et_pb_line_break_holder] -->                    if (data[field.id]) {<!-- [et_pb_line_break_holder] -->                         printContent += `<\/p>\n<div class=\"field\"><span class=\"field-label\">${field.label}:<\/span> ${data[field.id]}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            printContent += `<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        printContent += '<\/body><\/html>';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const printWindow = window.open('', '_blank');<!-- [et_pb_line_break_holder] -->        printWindow.document.write(printContent);<!-- [et_pb_line_break_holder] -->        printWindow.document.close();<!-- [et_pb_line_break_holder] -->        printWindow.focus();<!-- [et_pb_line_break_holder] -->        setTimeout(() => { printWindow.print(); }, 500);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ --- Application Start ---<!-- [et_pb_line_break_holder] -->    onAuthStateChanged(auth, (user) => {<!-- [et_pb_line_break_holder] -->        if (user) {<!-- [et_pb_line_break_holder] -->            console.log(\"Auth state: User is signed in.\", user.uid);<!-- [et_pb_line_break_holder] -->            state.userId = user.uid;<!-- [et_pb_line_break_holder] -->            setupFirestoreListener(user.uid, user.email);<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->            console.log(\"Auth state: User is signed out.\");<!-- [et_pb_line_break_holder] -->            state.userId = null;<!-- [et_pb_line_break_holder] -->            if (state.unsubscribe) state.unsubscribe();<!-- [et_pb_line_break_holder] -->            state.formData = {};<!-- [et_pb_line_break_holder] -->            showAuthScreen();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-939","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/pages\/939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/comments?post=939"}],"version-history":[{"count":6,"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/pages\/939\/revisions"}],"predecessor-version":[{"id":978,"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/pages\/939\/revisions\/978"}],"wp:attachment":[{"href":"https:\/\/awrpc.info\/index.php\/wp-json\/wp\/v2\/media?parent=939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}