{"id":8218,"date":"2025-08-16T08:20:27","date_gmt":"2025-08-16T08:20:27","guid":{"rendered":"https:\/\/medstuffies.com\/user-account\/"},"modified":"2026-06-27T01:34:43","modified_gmt":"2026-06-26T22:34:43","slug":"user-account","status":"publish","type":"page","link":"https:\/\/medstuffies.com\/en\/user-account\/","title":{"rendered":"User Account"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8218\" class=\"elementor elementor-8218\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe0d7db elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"fe0d7db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0747e6 elementor-widget elementor-widget-shortcode\" data-id=\"d0747e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <style>\r\n            \/* \u2500\u2500\u2500 Reset & base \u2500\u2500\u2500 *\/\r\n            .mh-dash * { margin:0; padding:0; box-sizing:border-box; }\r\n            .mh-dash { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #F4F7F9; color: #0B2333; line-height: 1.5; }\r\n            .mh-dash a { text-decoration: none; color: inherit; }\r\n\r\n            .mh-dash-container {\r\n                max-width: 1024px;\r\n                margin: 0 auto;\r\n                padding: 40px 24px;\r\n                background: #F4F7F9;\r\n                min-height: 100vh;\r\n            }\r\n\r\n            .mh-dash-title {\r\n                text-align: center;\r\n                font-size: 2rem;\r\n                font-weight: 800;\r\n                color: #0B2333;\r\n                margin-bottom: 32px;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 Cards \u2500\u2500\u2500 *\/\r\n            .mh-dash-card {\r\n                background: #FFFFFF;\r\n                border-radius: 12px;\r\n                border: 1px solid #F1F5F9;\r\n                box-shadow: 0 1px 3px rgba(0,0,0,0.04);\r\n                padding: 24px;\r\n                margin-bottom: 24px;\r\n            }\r\n\r\n            .mh-dash-card-header {\r\n                display: flex;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                margin-bottom: 16px;\r\n                font-weight: 700;\r\n                font-size: 1.1rem;\r\n                color: #0B2333;\r\n            }\r\n            .mh-dash-card-header .btn-add {\r\n                background: #F8FAFC;\r\n                border: 1px solid #E2E8F0;\r\n                border-radius: 6px;\r\n                padding: 4px 14px;\r\n                font-size: 0.8rem;\r\n                font-weight: 600;\r\n                color: #334155;\r\n                cursor: pointer;\r\n                transition: 0.2s;\r\n            }\r\n            .mh-dash-card-header .btn-add:hover {\r\n                background: #115673;\r\n                color: #FFFFFF;\r\n                border-color: #115673;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 Recently Added \u2500\u2500\u2500 *\/\r\n            .mh-dash-recent-item {\r\n                display: flex;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                padding: 12px 0;\r\n                border-bottom: 1px solid #F1F5F9;\r\n            }\r\n            .mh-dash-recent-item:last-child {\r\n                border-bottom: none;\r\n            }\r\n            .mh-dash-recent-item .title {\r\n                font-weight: 500;\r\n                color: #0B2333;\r\n            }\r\n            .mh-dash-recent-item .title a {\r\n                color: #0B2333;\r\n                transition: color 0.2s;\r\n            }\r\n            .mh-dash-recent-item .title a:hover {\r\n                color: #115673;\r\n            }\r\n            .mh-dash-recent-item .tag {\r\n                font-size: 0.7rem;\r\n                font-weight: 600;\r\n                padding: 2px 10px;\r\n                border-radius: 12px;\r\n                background: #F1F5F9;\r\n                color: #94A3B8;\r\n                white-space: nowrap;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 Saved Library \u2500\u2500\u2500 *\/\r\n            .mh-dash-saved-grid {\r\n                display: grid;\r\n                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n                gap: 16px;\r\n            }\r\n            .mh-dash-saved-card {\r\n                display: flex;\r\n                align-items: center;\r\n                gap: 12px;\r\n                padding: 16px;\r\n                border: 1px solid #E2E8F0;\r\n                border-radius: 12px;\r\n                background: #FFFFFF;\r\n                transition: all 0.2s;\r\n                cursor: pointer;\r\n            }\r\n            .mh-dash-saved-card:hover {\r\n                box-shadow: 0 4px 12px rgba(0,0,0,0.06);\r\n                border-color: #CBD5E1;\r\n            }\r\n            .mh-dash-saved-icon {\r\n                width: 40px;\r\n                height: 40px;\r\n                background: #E0F2FE;\r\n                border-radius: 8px;\r\n                display: flex;\r\n                align-items: center;\r\n                justify-content: center;\r\n                flex-shrink: 0;\r\n                color: #115673;\r\n            }\r\n            .mh-dash-saved-content {\r\n                flex: 1;\r\n                min-width: 0;\r\n            }\r\n            .mh-dash-saved-content .title {\r\n                font-weight: 700;\r\n                font-size: 0.95rem;\r\n                color: #0B2333;\r\n                white-space: nowrap;\r\n                overflow: hidden;\r\n                text-overflow: ellipsis;\r\n            }\r\n            .mh-dash-saved-content .meta {\r\n                font-size: 0.7rem;\r\n                color: #94A3B8;\r\n                margin-top: 2px;\r\n                display: flex;\r\n                gap: 6px;\r\n                align-items: center;\r\n                flex-wrap: wrap;\r\n            }\r\n            .mh-dash-saved-content .meta .cat {\r\n                background: #F1F5F9;\r\n                padding: 0 8px;\r\n                border-radius: 10px;\r\n                color: #64748B;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 My Notes \u2500\u2500\u2500 *\/\r\n            .mh-dash-notes-list {\r\n                display: flex;\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n            .mh-dash-note-item {\r\n                display: flex;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                padding: 12px 16px;\r\n                background: #F8FAFC;\r\n                border: 1px solid #F1F5F9;\r\n                border-radius: 10px;\r\n                transition: 0.2s;\r\n                cursor: pointer;\r\n            }\r\n            .mh-dash-note-item:hover {\r\n                background: #F1F5F9;\r\n            }\r\n            .mh-dash-note-item .left {\r\n                display: flex;\r\n                flex-direction: column;\r\n                gap: 2px;\r\n                overflow: hidden;\r\n                flex: 1;\r\n            }\r\n            .mh-dash-note-item .left .title {\r\n                font-weight: 700;\r\n                color: #0B2333;\r\n            }\r\n            .mh-dash-note-item .left .preview {\r\n                font-size: 0.85rem;\r\n                color: #64748B;\r\n                white-space: nowrap;\r\n                overflow: hidden;\r\n                text-overflow: ellipsis;\r\n            }\r\n            .mh-dash-note-item .right {\r\n                font-size: 0.7rem;\r\n                color: #94A3B8;\r\n                white-space: nowrap;\r\n                margin-left: 12px;\r\n                flex-shrink: 0;\r\n            }\r\n            \/* Removed .right a because the whole card is clickable *\/\r\n\r\n            .mh-dash-empty {\r\n                text-align: center;\r\n                padding: 40px 16px;\r\n                color: #94A3B8;\r\n            }\r\n            .mh-dash-empty i {\r\n                font-size: 2rem;\r\n                margin-bottom: 12px;\r\n                display: block;\r\n                color: #E2E8F0;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 Modal (Add Note) \u2500\u2500\u2500 *\/\r\n            .mh-dash-modal {\r\n                display: none;\r\n                position: fixed;\r\n                inset: 0;\r\n                background: rgba(0,0,0,0.4);\r\n                align-items: center;\r\n                justify-content: center;\r\n                z-index: 1000;\r\n                padding: 20px;\r\n            }\r\n            .mh-dash-modal.open {\r\n                display: flex;\r\n            }\r\n            .mh-dash-modal-box {\r\n                background: #FFFFFF;\r\n                border-radius: 16px;\r\n                padding: 32px;\r\n                max-width: 500px;\r\n                width: 100%;\r\n                box-shadow: 0 20px 60px rgba(0,0,0,0.15);\r\n            }\r\n            .mh-dash-modal-box h3 {\r\n                margin-bottom: 16px;\r\n                font-weight: 700;\r\n                color: #0B2333;\r\n            }\r\n            .mh-dash-modal-box select,\r\n            .mh-dash-modal-box textarea {\r\n                width: 100%;\r\n                padding: 10px 12px;\r\n                border: 1px solid #E2E8F0;\r\n                border-radius: 8px;\r\n                font-family: inherit;\r\n                font-size: 0.95rem;\r\n                margin-bottom: 12px;\r\n                background: #FFFFFF;\r\n                color: #0B2333;\r\n            }\r\n            .mh-dash-modal-box textarea {\r\n                min-height: 100px;\r\n                resize: vertical;\r\n            }\r\n            .mh-dash-modal-box .actions {\r\n                display: flex;\r\n                gap: 12px;\r\n                justify-content: flex-end;\r\n            }\r\n            .mh-dash-modal-box .actions button {\r\n                padding: 8px 20px;\r\n                border-radius: 8px;\r\n                font-weight: 600;\r\n                border: none;\r\n                cursor: pointer;\r\n                transition: 0.2s;\r\n            }\r\n            .mh-dash-modal-box .actions .btn-cancel {\r\n                background: #F1F5F9;\r\n                color: #334155;\r\n            }\r\n            .mh-dash-modal-box .actions .btn-cancel:hover {\r\n                background: #E2E8F0;\r\n            }\r\n            .mh-dash-modal-box .actions .btn-save {\r\n                background: #115673;\r\n                color: #FFFFFF;\r\n            }\r\n            .mh-dash-modal-box .actions .btn-save:hover {\r\n                background: #0A445A;\r\n            }\r\n\r\n            \/* \u2500\u2500\u2500 Responsive \u2500\u2500\u2500 *\/\r\n            @media (max-width: 640px) {\r\n                .mh-dash-container { padding: 24px 16px; }\r\n                .mh-dash-saved-grid { grid-template-columns: 1fr; }\r\n            }\r\n        <\/style>\r\n\r\n        <div class=\"mh-dash\">\r\n            <div class=\"mh-dash-container\">\r\n                <h1 class=\"mh-dash-title\">Dashboard<\/h1>\r\n\r\n                <!-- Card A: Recently Added Topics -->\r\n                <div class=\"mh-dash-card\">\r\n                    <div class=\"mh-dash-card-header\">\ud83d\udccc Recently Added Topics<\/div>\r\n                    <div id=\"mhDashRecent\">\r\n                                                                                    <div class=\"mh-dash-recent-item\">\r\n                                    <span class=\"title\"><a href=\"https:\/\/medstuffies.com\/en\/clinical_topic\/diabetes-mellitus-dm\/\">Diabetes Mellitus (DM)<\/a><\/span>\r\n                                    <span class=\"tag\">Clinical Topics<\/span>\r\n                                <\/div>\r\n                                                            <div class=\"mh-dash-recent-item\">\r\n                                    <span class=\"title\"><a href=\"https:\/\/medstuffies.com\/en\/clinical_topic\/acute-ischemic-stroke-ais\/\">Acute Ischemic Stroke (AIS)<\/a><\/span>\r\n                                    <span class=\"tag\">Clinical Topics<\/span>\r\n                                <\/div>\r\n                                                            <div class=\"mh-dash-recent-item\">\r\n                                    <span class=\"title\"><a href=\"https:\/\/medstuffies.com\/en\/clinical_topic\/clostridioides-difficile-infection-cdi\/\">Clostridioides difficile Infection (CDI)<\/a><\/span>\r\n                                    <span class=\"tag\">Clinical Topics<\/span>\r\n                                <\/div>\r\n                                                            <div class=\"mh-dash-recent-item\">\r\n                                    <span class=\"title\"><a href=\"https:\/\/medstuffies.com\/en\/clinical_topic\/chronic-obstructive-pulmonary-disease-copd\/\">Chronic Obstructive Pulmonary Disease (COPD)<\/a><\/span>\r\n                                    <span class=\"tag\">Clinical Topics<\/span>\r\n                                <\/div>\r\n                                                            <div class=\"mh-dash-recent-item\">\r\n                                    <span class=\"title\"><a href=\"https:\/\/medstuffies.com\/en\/clinical_topic\/heart-failure\/\">Heart Failure<\/a><\/span>\r\n                                    <span class=\"tag\">Clinical Topics<\/span>\r\n                                <\/div>\r\n                                                                        <\/div>\r\n                <\/div>\r\n\r\n                <!-- Card B: Saved Library -->\r\n                <div class=\"mh-dash-card\">\r\n                    <div class=\"mh-dash-card-header\">\r\n                        \ud83d\udcda Saved Library\r\n                        <span style=\"font-size:0.8rem; font-weight:400; color:#94A3B8;\" id=\"mhSavedCount\"><\/span>\r\n                    <\/div>\r\n                    <div class=\"mh-dash-saved-grid\" id=\"mhDashSavedGrid\"><\/div>\r\n                <\/div>\r\n\r\n                <!-- Card C: My Notes -->\r\n                <div class=\"mh-dash-card\">\r\n                    <div class=\"mh-dash-card-header\">\r\n                        \ud83d\udcdd My Notes\r\n                        <button class=\"btn-add\" id=\"mhAddNoteBtn\">+ Add Note<\/button>\r\n                    <\/div>\r\n                    <div class=\"mh-dash-notes-list\" id=\"mhDashNotesList\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Modal (Add Note) -->\r\n            <div class=\"mh-dash-modal\" id=\"mhNoteModal\">\r\n                <div class=\"mh-dash-modal-box\">\r\n                    <h3>Add a Note<\/h3>\r\n                    <select id=\"mhNoteTopic\"><\/select>\r\n                    <textarea id=\"mhNoteContent\" placeholder=\"Write your note\u2026\"><\/textarea>\r\n                    <div class=\"actions\">\r\n                        <button class=\"btn-cancel\" id=\"mhNoteCancel\">Cancel<\/button>\r\n                        <button class=\"btn-save\" id=\"mhNoteSave\">Save Note<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/js\/all.min.js\"><\/script>\r\n        <script>\r\n        (function() {\r\n            \/\/ \u2500\u2500\u2500 Engine data \u2500\u2500\u2500\r\n            const engines = [{\"id\":\"clinical_topic\",\"name\":\"Clinical Topics\",\"color\":\"#4F46E5\",\"engine_num\":1,\"category\":\"Clinical\",\"post_type\":\"clinical_topic\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/clinical-hub\\\/\"},{\"id\":\"medication\",\"name\":\"Medications\",\"color\":\"#0EA5E9\",\"engine_num\":2,\"category\":\"Pharma\",\"post_type\":\"medication\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/medications\\\/\"},{\"id\":\"lab_test\",\"name\":\"Lab Tests\",\"color\":\"#10B981\",\"engine_num\":3,\"category\":\"Labs\",\"post_type\":\"lab_test\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/labs\\\/\"},{\"id\":\"clinical_algorithm\",\"name\":\"Clinical Algorithms\",\"color\":\"#8B5CF6\",\"engine_num\":4,\"category\":\"Clinical\",\"post_type\":\"clinical_algorithm\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/algorithms\\\/\"},{\"id\":\"qbank_question\",\"name\":\"Q-Bank\",\"color\":\"#F43F5E\",\"engine_num\":5,\"category\":\"Clinical\",\"post_type\":\"qbank_question\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/qbank\\\/\"},{\"id\":\"med_score\",\"name\":\"Risk Scores\",\"color\":\"#F59E0B\",\"engine_num\":6,\"category\":\"Guidelines\",\"post_type\":\"med_score\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/scores\\\/\"},{\"id\":\"on_call_guide\",\"name\":\"On\\u2011Call Guides\",\"color\":\"#EF4444\",\"engine_num\":7,\"category\":\"Clinical\",\"post_type\":\"on_call_guide\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/on-call\\\/\"},{\"id\":\"imaging_atlas\",\"name\":\"Imaging Atlas\",\"color\":\"#06B6D4\",\"engine_num\":8,\"category\":\"Clinical\",\"post_type\":\"imaging_atlas\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/imaging\\\/\"},{\"id\":\"med_glossary\",\"name\":\"Glossary & Terms\",\"color\":\"#14B8A6\",\"engine_num\":9,\"category\":\"Guidelines\",\"post_type\":\"med_glossary\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/glossary\\\/\"},{\"id\":\"ddx_symptom\",\"name\":\"DDx Engine\",\"color\":\"#D946EF\",\"engine_num\":10,\"category\":\"Clinical\",\"post_type\":\"ddx_symptom\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/ddx\\\/\"},{\"id\":\"pediatrics_milestones\",\"name\":\"Pediatrics & Milestones\",\"color\":\"#F97316\",\"engine_num\":11,\"category\":\"Clinical\",\"post_type\":\"pediatrics_milestones\",\"archive_link\":\"#\"},{\"id\":\"basic_science\",\"name\":\"Basic Sciences Engine\",\"color\":\"#6366F1\",\"engine_num\":12,\"category\":\"Guidelines\",\"post_type\":\"basic_science\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/basic-sciences\\\/\"},{\"id\":\"anatomy_atlas\",\"name\":\"Anatomy Atlas\",\"color\":\"#EC4899\",\"engine_num\":13,\"category\":\"Guidelines\",\"post_type\":\"anatomy_atlas\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/anatomy\\\/\"},{\"id\":\"genetic_marker\",\"name\":\"Genetics & Precision\",\"color\":\"#84CC16\",\"engine_num\":14,\"category\":\"Labs\",\"post_type\":\"genetic_marker\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/genetics\\\/\"},{\"id\":\"microbio_pathogen\",\"name\":\"Microbiology Archive\",\"color\":\"#14B8A6\",\"engine_num\":15,\"category\":\"Labs\",\"post_type\":\"microbio_pathogen\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/microbiology\\\/\"},{\"id\":\"guideline_update\",\"name\":\"Guidelines Update\",\"color\":\"#F43F5E\",\"engine_num\":16,\"category\":\"Guidelines\",\"post_type\":\"guideline_update\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/guidelines\\\/\"},{\"id\":\"toxicology_engine\",\"name\":\"Toxicology Engine\",\"color\":\"#0EA5E9\",\"engine_num\":17,\"category\":\"Pharma\",\"post_type\":\"toxicology_engine\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/toxicology\\\/\"},{\"id\":\"order_set\",\"name\":\"Order Sets\",\"color\":\"#A855F7\",\"engine_num\":18,\"category\":\"Procedures\",\"post_type\":\"order_set\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/order-sets\\\/\"},{\"id\":\"clinical_procedure\",\"name\":\"Procedures Archive\",\"color\":\"#EAB308\",\"engine_num\":19,\"category\":\"Procedures\",\"post_type\":\"clinical_procedure\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/procedures\\\/\"},{\"id\":\"medical_equipment\",\"name\":\"Medical Equipment\",\"color\":\"#38BDF8\",\"engine_num\":20,\"category\":\"Procedures\",\"post_type\":\"medical_equipment\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/equipment\\\/\"},{\"id\":\"patient_handout\",\"name\":\"Patient Education Archive\",\"color\":\"#F97316\",\"engine_num\":21,\"category\":\"Guidelines\",\"post_type\":\"patient_handout\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/patient-education\\\/\"},{\"id\":\"med_billing\",\"name\":\"Medical Billing\",\"color\":\"#10B981\",\"engine_num\":22,\"category\":\"Guidelines\",\"post_type\":\"med_billing\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/billing\\\/\"},{\"id\":\"osce_station\",\"name\":\"OSCE Skills\",\"color\":\"#D946EF\",\"engine_num\":23,\"category\":\"Guidelines\",\"post_type\":\"osce_station\",\"archive_link\":\"https:\\\/\\\/medstuffies.com\\\/en\\\/osce\\\/\"}];\r\n\r\n            \/\/ \u2500\u2500\u2500 Helpers \u2500\u2500\u2500\r\n            function getBookmarks() {\r\n                const all = [];\r\n                engines.forEach(eng => {\r\n                    const key = 'mh_e' + eng.engine_num + '_books';\r\n                    const books = JSON.parse(localStorage.getItem(key) || '[]');\r\n                    books.forEach(item => {\r\n                        let id, title;\r\n                        if (typeof item === 'string') {\r\n                            id = item;\r\n                            title = eng.name;\r\n                        } else if (typeof item === 'object' && item.id) {\r\n                            id = item.id;\r\n                            title = item.title || eng.name;\r\n                        } else {\r\n                            return;\r\n                        }\r\n                        all.push({ engine: eng, postId: id, title: title });\r\n                    });\r\n                });\r\n                return all;\r\n            }\r\n\r\n            function getNotes() {\r\n                const notes = [];\r\n                engines.forEach(eng => {\r\n                    for (let i = 0; i < localStorage.length; i++) {\r\n                        const key = localStorage.key(i);\r\n                        if (key && key.startsWith('mh_e' + eng.engine_num + '_notes_')) {\r\n                            const postId = key.split('_notes_')[1];\r\n                            const content = localStorage.getItem(key);\r\n                            if (content) {\r\n                                let title = eng.name;\r\n                                const books = getBookmarks();\r\n                                const found = books.find(b => b.postId == postId);\r\n                                if (found) title = found.title;\r\n                                \/\/ Try to get createdAt from localStorage or set default\r\n                                let createdAt = localStorage.getItem('mh_note_created_' + postId);\r\n                                if (createdAt) {\r\n                                    createdAt = new Date(createdAt);\r\n                                } else {\r\n                                    createdAt = new Date();\r\n                                    localStorage.setItem('mh_note_created_' + postId, createdAt.toISOString());\r\n                                }\r\n                                notes.push({ engine: eng, postId: postId, content: content, title: title, createdAt: createdAt });\r\n                            }\r\n                        }\r\n                    }\r\n                });\r\n                return notes;\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 Time Ago Function \u2500\u2500\u2500\r\n            function timeAgo(date) {\r\n                if (!date) return 'Just now';\r\n                const now = new Date();\r\n                const diff = Math.floor((now - date) \/ 1000); \/\/ seconds\r\n                if (diff < 60) return 'Just now';\r\n                const minutes = Math.floor(diff \/ 60);\r\n                if (minutes < 60) return minutes + 'm ago';\r\n                const hours = Math.floor(minutes \/ 60);\r\n                if (hours < 24) return hours + 'h ago';\r\n                const days = Math.floor(hours \/ 24);\r\n                if (days < 7) return days + 'd ago';\r\n                if (days < 30) return Math.floor(days \/ 7) + 'w ago';\r\n                if (days < 365) return Math.floor(days \/ 30) + 'mo ago';\r\n                return Math.floor(days \/ 365) + 'y ago';\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 State \u2500\u2500\u2500\r\n            let savedItems = [];\r\n            let noteItems = [];\r\n            let timerInterval = null;\r\n\r\n            \/\/ \u2500\u2500\u2500 Render Saved Library \u2500\u2500\u2500\r\n            function renderLibrary() {\r\n                const books = getBookmarks();\r\n                \/\/ We want to include a createdAt for each saved item \u2013 we store it in localStorage\r\n                const savedWithDates = books.map(b => {\r\n                    let createdAt = localStorage.getItem('mh_saved_' + b.postId);\r\n                    if (!createdAt) {\r\n                        createdAt = new Date().toISOString();\r\n                        localStorage.setItem('mh_saved_' + b.postId, createdAt);\r\n                    }\r\n                    return { ...b, createdAt: new Date(createdAt) };\r\n                });\r\n                savedItems = savedWithDates;\r\n\r\n                const container = document.getElementById('mhDashSavedGrid');\r\n                const countEl = document.getElementById('mhSavedCount');\r\n                countEl.textContent = savedItems.length + ' saved';\r\n\r\n                if (savedItems.length === 0) {\r\n                    container.innerHTML = `<div class=\"mh-dash-empty\" style=\"grid-column:1\/-1;\"><i class=\"fas fa-bookmark\"><\/i>No saved topics yet.<\/div>`;\r\n                    return;\r\n                }\r\n\r\n                let html = '';\r\n                savedItems.forEach(b => {\r\n                    const cat = b.engine.category || 'Topic';\r\n                    const ago = timeAgo(b.createdAt);\r\n                    html += `\r\n                        <div class=\"mh-dash-saved-card\" onclick=\"window.location.href='https:\/\/medstuffies.com\/en\/?p=${b.postId}'\">\r\n                            <div class=\"mh-dash-saved-icon\"><i class=\"fas fa-file-medical\"><\/i><\/div>\r\n                            <div class=\"mh-dash-saved-content\">\r\n                                <div class=\"title\">${b.title}<\/div>\r\n                                <div class=\"meta\">\r\n                                    <span class=\"cat\">${cat}<\/span>\r\n                                    <span>Saved ${ago}<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    `;\r\n                });\r\n                container.innerHTML = html;\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 Render Notes (clickable entire card) \u2500\u2500\u2500\r\n            function renderNotes() {\r\n                const notes = getNotes();\r\n                noteItems = notes;\r\n\r\n                const container = document.getElementById('mhDashNotesList');\r\n                if (notes.length === 0) {\r\n                    container.innerHTML = `<div class=\"mh-dash-empty\"><i class=\"fas fa-pen\"><\/i>No personal notes yet. Click \"Add Note\" to start.<\/div>`;\r\n                    return;\r\n                }\r\n                let html = '';\r\n                notes.forEach(n => {\r\n                    const preview = n.content.substring(0, 80) + (n.content.length > 80 ? '\u2026' : '');\r\n                    const link = 'https:\/\/medstuffies.com\/en\/?p=' + n.postId;\r\n                    const ago = timeAgo(n.createdAt);\r\n                    html += `\r\n                        <div class=\"mh-dash-note-item\" onclick=\"window.location.href='${link}'\">\r\n                            <div class=\"left\">\r\n                                <div class=\"title\">${n.title}<\/div>\r\n                                <div class=\"preview\">${preview}<\/div>\r\n                            <\/div>\r\n                            <div class=\"right\">${ago}<\/div>\r\n                        <\/div>\r\n                    `;\r\n                });\r\n                container.innerHTML = html;\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 Update timers (called every 60s) \u2500\u2500\u2500\r\n            function updateTimers() {\r\n                renderLibrary();\r\n                renderNotes();\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 Start interval \u2500\u2500\u2500\r\n            function startTimer() {\r\n                if (timerInterval) clearInterval(timerInterval);\r\n                timerInterval = setInterval(updateTimers, 60000);\r\n            }\r\n\r\n            \/\/ \u2500\u2500\u2500 Add Note Modal \u2500\u2500\u2500\r\n            const modal = document.getElementById('mhNoteModal');\r\n            const openBtn = document.getElementById('mhAddNoteBtn');\r\n            const cancelBtn = document.getElementById('mhNoteCancel');\r\n            const saveBtn = document.getElementById('mhNoteSave');\r\n            const topicSelect = document.getElementById('mhNoteTopic');\r\n            const noteContent = document.getElementById('mhNoteContent');\r\n\r\n            function populateTopicSelect() {\r\n                topicSelect.innerHTML = '';\r\n                const books = getBookmarks();\r\n                if (books.length === 0) {\r\n                    topicSelect.innerHTML = '<option value=\"\">No saved topics \u2013 save one first<\/option>';\r\n                    return;\r\n                }\r\n                books.forEach(b => {\r\n                    const opt = document.createElement('option');\r\n                    opt.value = b.postId;\r\n                    opt.textContent = b.title + ' (' + b.engine.name + ')';\r\n                    topicSelect.appendChild(opt);\r\n                });\r\n            }\r\n\r\n            openBtn.addEventListener('click', function() {\r\n                populateTopicSelect();\r\n                modal.classList.add('open');\r\n            });\r\n\r\n            cancelBtn.addEventListener('click', function() {\r\n                modal.classList.remove('open');\r\n                noteContent.value = '';\r\n            });\r\n\r\n            saveBtn.addEventListener('click', function() {\r\n                const postId = topicSelect.value;\r\n                const content = noteContent.value.trim();\r\n                if (!postId || !content) {\r\n                    alert('Please select a topic and write a note.');\r\n                    return;\r\n                }\r\n                const eng = engines.find(e => {\r\n                    const key = 'mh_e' + e.engine_num + '_books';\r\n                    const books = JSON.parse(localStorage.getItem(key) || '[]');\r\n                    return books.some(item => (typeof item === 'string' ? item : item.id) == postId);\r\n                });\r\n                if (!eng) {\r\n                    alert('Could not find the engine for this topic.');\r\n                    return;\r\n                }\r\n                const key = 'mh_e' + eng.engine_num + '_notes_' + postId;\r\n                localStorage.setItem(key, content);\r\n                \/\/ Set creation timestamp if not exists\r\n                if (!localStorage.getItem('mh_note_created_' + postId)) {\r\n                    localStorage.setItem('mh_note_created_' + postId, new Date().toISOString());\r\n                }\r\n                modal.classList.remove('open');\r\n                noteContent.value = '';\r\n                renderNotes();\r\n            });\r\n\r\n            \/\/ \u2500\u2500\u2500 Initial render \u2500\u2500\u2500\r\n            renderLibrary();\r\n            renderNotes();\r\n            startTimer();\r\n\r\n            \/\/ Re-run when localStorage changes (for bookmark updates from other tabs)\r\n            window.addEventListener('storage', function(e) {\r\n                if (e.key && e.key.startsWith('mh_e')) {\r\n                    renderLibrary();\r\n                    renderNotes();\r\n                }\r\n            });\r\n\r\n            \/\/ Also re-run on focus to catch changes\r\n            document.addEventListener('visibilitychange', function() {\r\n                if (!document.hidden) {\r\n                    renderLibrary();\r\n                    renderNotes();\r\n                }\r\n            });\r\n\r\n        })();\r\n        <\/script>\r\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"pmpro_default_level":"","footnotes":""},"class_list":["post-8218","page","type-page","status-publish","hentry","pmpro-has-access"],"acf":[],"_links":{"self":[{"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/pages\/8218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/comments?post=8218"}],"version-history":[{"count":5,"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/pages\/8218\/revisions"}],"predecessor-version":[{"id":14718,"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/pages\/8218\/revisions\/14718"}],"wp:attachment":[{"href":"https:\/\/medstuffies.com\/en\/wp-json\/wp\/v2\/media?parent=8218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}