{"id":2678,"date":"2026-01-27T09:46:06","date_gmt":"2026-01-27T09:46:06","guid":{"rendered":"https:\/\/malikskitchen.in\/?page_id=2678"},"modified":"2026-02-27T10:45:55","modified_gmt":"2026-02-27T10:45:55","slug":"daily-account","status":"publish","type":"page","link":"https:\/\/malikskitchen.in\/index.php\/daily-account\/","title":{"rendered":"Daily Account"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2678\" class=\"elementor elementor-2678\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1aa2547 e-flex e-con-boxed e-con e-parent\" data-id=\"1aa2547\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-08e2ea9 elementor-widget elementor-widget-html\" data-id=\"08e2ea9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Daily Accounts - Rozana Khata<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/xlsx\/0.18.5\/xlsx.full.min.js\"><\/script>\r\n    <style>\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            font-family: 'Poppins', sans-serif;\r\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n            min-height: 100vh;\r\n            padding: 10px;\r\n            overflow-x: hidden;\r\n        }\r\n\r\n        .container {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            background: white;\r\n            border-radius: 15px;\r\n            box-shadow: 0 20px 60px rgba(0,0,0,0.3);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .header {\r\n            background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);\r\n            color: white;\r\n            padding: 20px 15px;\r\n            text-align: center;\r\n        }\r\n\r\n        .header h1 {\r\n            font-size: 1.6em;\r\n            font-weight: 700;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .action-buttons {\r\n            display: flex;\r\n            gap: 8px;\r\n            justify-content: center;\r\n            flex-wrap: wrap;\r\n            margin-top: 12px;\r\n        }\r\n\r\n        .action-btn {\r\n            background: rgba(255,255,255,0.2);\r\n            border: 2px solid white;\r\n            color: white;\r\n            padding: 8px 12px;\r\n            border-radius: 8px;\r\n            cursor: pointer;\r\n            font-size: 0.8em;\r\n            font-weight: 600;\r\n            transition: all 0.3s;\r\n        }\r\n\r\n        .action-btn:hover {\r\n            background: white;\r\n            color: #2d3748;\r\n        }\r\n\r\n        .date-selector {\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            gap: 10px;\r\n            margin-top: 12px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .date-btn {\r\n            background: rgba(255,255,255,0.2);\r\n            border: 2px solid white;\r\n            color: white;\r\n            padding: 8px 15px;\r\n            border-radius: 8px;\r\n            cursor: pointer;\r\n            font-size: 0.85em;\r\n            font-weight: 600;\r\n            transition: all 0.3s;\r\n        }\r\n\r\n        .date-btn:hover {\r\n            background: white;\r\n            color: #2d3748;\r\n        }\r\n\r\n        .current-date {\r\n            font-size: 0.95em;\r\n            font-weight: 600;\r\n            padding: 8px 15px;\r\n            background: rgba(255,255,255,0.3);\r\n            border-radius: 8px;\r\n        }\r\n\r\n        .main-content {\r\n            display: grid;\r\n            grid-template-columns: 1fr;\r\n            gap: 15px;\r\n            padding: 15px;\r\n        }\r\n\r\n        .section {\r\n            background: #f7fafc;\r\n            border-radius: 12px;\r\n            padding: 15px;\r\n            box-shadow: 0 2px 8px rgba(0,0,0,0.08);\r\n        }\r\n\r\n        .section-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n            padding-bottom: 10px;\r\n            border-bottom: 3px solid;\r\n        }\r\n\r\n        .sell-section .section-header { border-color: #48bb78; }\r\n        .purchase-section .section-header { border-color: #f56565; }\r\n        .cashout-section .section-header { border-color: #ed8936; }\r\n\r\n        .section-title {\r\n            font-size: 1.2em;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .sell-section .section-title { color: #48bb78; }\r\n        .purchase-section .section-title { color: #f56565; }\r\n        .cashout-section .section-title { color: #ed8936; }\r\n\r\n        .entry-form {\r\n            display: grid;\r\n            gap: 8px;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .form-row {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 8px;\r\n        }\r\n\r\n        .entry-form input, .entry-form select {\r\n            padding: 10px;\r\n            border: 2px solid #e2e8f0;\r\n            border-radius: 6px;\r\n            font-size: 0.95em;\r\n            font-family: inherit;\r\n            width: 100%;\r\n        }\r\n\r\n        .entry-form input:focus, .entry-form select:focus {\r\n            outline: none;\r\n            border-color: #667eea;\r\n        }\r\n\r\n        .add-btn {\r\n            padding: 10px 20px;\r\n            border: none;\r\n            border-radius: 6px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s;\r\n            font-size: 0.95em;\r\n            color: white;\r\n        }\r\n\r\n        .sell-section .add-btn { background: #48bb78; }\r\n        .purchase-section .add-btn { background: #f56565; }\r\n        .cashout-section .add-btn { background: #ed8936; }\r\n\r\n        .add-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 4px 12px rgba(0,0,0,0.2);\r\n        }\r\n\r\n        .entries-list {\r\n            max-height: 250px;\r\n            overflow-y: auto;\r\n            margin-bottom: 12px;\r\n        }\r\n\r\n        .entry-item {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            padding: 10px;\r\n            background: white;\r\n            border-radius: 6px;\r\n            margin-bottom: 6px;\r\n            box-shadow: 0 1px 3px rgba(0,0,0,0.08);\r\n            animation: slideIn 0.3s ease-out;\r\n        }\r\n\r\n        @keyframes slideIn {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(-20px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n        \r\n        @keyframes slideOut {\r\n            from {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n            to {\r\n                opacity: 0;\r\n                transform: translateX(20px);\r\n            }\r\n        }\r\n\r\n        .entry-info {\r\n            flex: 1;\r\n        }\r\n\r\n        .entry-name {\r\n            font-weight: 600;\r\n            font-size: 0.95em;\r\n            margin-bottom: 3px;\r\n        }\r\n\r\n        .entry-details {\r\n            display: flex;\r\n            gap: 10px;\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .entry-amount {\r\n            font-size: 1em;\r\n            font-weight: 700;\r\n            color: #2d3748;\r\n        }\r\n\r\n        .payment-badge {\r\n            font-size: 0.75em;\r\n            padding: 3px 8px;\r\n            border-radius: 4px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .cash-badge {\r\n            background: #c6f6d5;\r\n            color: #22543d;\r\n        }\r\n\r\n        .online-badge {\r\n            background: #bee3f8;\r\n            color: #1a365d;\r\n        }\r\n\r\n        .pending-badge {\r\n            background: #feebc8;\r\n            color: #7c2d12;\r\n        }\r\n\r\n        .kharch-badge {\r\n            background: #fed7d7;\r\n            color: #742a2a;\r\n        }\r\n\r\n        .advance-badge {\r\n            background: #d6bcfa;\r\n            color: #44337a;\r\n        }\r\n\r\n        .kharch-badge {\r\n            background: #fed7d7;\r\n            color: #742a2a;\r\n        }\r\n\r\n        .advance-badge {\r\n            background: #e9d8fd;\r\n            color: #44337a;\r\n        }\r\n\r\n        .delete-btn {\r\n            background: #fc8181;\r\n            color: white;\r\n            border: none;\r\n            padding: 6px 12px;\r\n            border-radius: 5px;\r\n            cursor: pointer;\r\n            font-weight: 600;\r\n            transition: all 0.2s;\r\n            font-size: 0.85em;\r\n        }\r\n\r\n        .delete-btn:hover {\r\n            background: #f56565;\r\n        }\r\n\r\n        .total-box {\r\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n            color: white;\r\n            padding: 12px;\r\n            border-radius: 8px;\r\n            text-align: center;\r\n            font-size: 1.1em;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .payment-summary {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 8px;\r\n            margin-bottom: 12px;\r\n        }\r\n\r\n        .payment-card {\r\n            background: white;\r\n            padding: 10px;\r\n            border-radius: 6px;\r\n            text-align: center;\r\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n        }\r\n\r\n        .payment-label {\r\n            font-size: 0.8em;\r\n            color: #718096;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        .payment-value {\r\n            font-size: 1.1em;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .grand-total-section {\r\n            background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);\r\n            color: white;\r\n            padding: 20px 15px;\r\n            border-radius: 12px;\r\n        }\r\n\r\n        .grand-total-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\r\n            gap: 10px;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .total-card {\r\n            background: rgba(255,255,255,0.1);\r\n            padding: 12px;\r\n            border-radius: 8px;\r\n            text-align: center;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .total-label {\r\n            font-size: 0.75em;\r\n            opacity: 0.9;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n        .total-value {\r\n            font-size: 1.3em;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .final-total {\r\n            background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);\r\n            padding: 15px;\r\n            border-radius: 8px;\r\n            text-align: center;\r\n            box-shadow: 0 4px 15px rgba(72, 187, 120, 0.4);\r\n        }\r\n\r\n        .final-total-label {\r\n            font-size: 1em;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n        .final-total-value {\r\n            font-size: 2em;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .purchase-toggle {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            padding: 12px;\r\n            background: rgba(255,255,255,0.1);\r\n            border-radius: 8px;\r\n            margin-bottom: 15px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .toggle-switch {\r\n            position: relative;\r\n            width: 50px;\r\n            height: 26px;\r\n            background: #fc8181;\r\n            border-radius: 13px;\r\n            cursor: pointer;\r\n            transition: background 0.3s;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .toggle-switch.active {\r\n            background: #48bb78;\r\n        }\r\n\r\n        .toggle-slider {\r\n            position: absolute;\r\n            top: 3px;\r\n            left: 3px;\r\n            width: 20px;\r\n            height: 20px;\r\n            background: white;\r\n            border-radius: 50%;\r\n            transition: transform 0.3s;\r\n        }\r\n\r\n        .toggle-switch.active .toggle-slider {\r\n            transform: translateX(24px);\r\n        }\r\n\r\n        .toggle-label {\r\n            font-size: 0.9em;\r\n            font-weight: 600;\r\n            line-height: 1.3;\r\n        }\r\n\r\n        .toggle-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\r\n            gap: 12px;\r\n            padding: 15px;\r\n            background: rgba(255,255,255,0.1);\r\n            border-radius: 8px;\r\n            margin-bottom: 10px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .toggle-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 8px;\r\n            background: rgba(255,255,255,0.05);\r\n            border-radius: 6px;\r\n        }\r\n\r\n        .quick-summary {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));\r\n            gap: 10px;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .summary-btn {\r\n            background: rgba(255,255,255,0.15);\r\n            border: 2px solid rgba(255,255,255,0.3);\r\n            color: white;\r\n            padding: 12px 8px;\r\n            border-radius: 8px;\r\n            cursor: pointer;\r\n            font-size: 0.85em;\r\n            font-weight: 600;\r\n            transition: all 0.3s;\r\n            text-align: center;\r\n            line-height: 1.4;\r\n        }\r\n\r\n        .summary-btn:hover {\r\n            background: rgba(255,255,255,0.25);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 4px 12px rgba(0,0,0,0.3);\r\n        }\r\n\r\n        .summary-btn:active {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .cash-btn:hover { border-color: #48bb78; }\r\n        .online-btn:hover { border-color: #3182ce; }\r\n        .pending-btn:hover { border-color: #ed8936; }\r\n        .purchase-btn:hover { border-color: #f56565; }\r\n        .cashout-btn:hover { border-color: #fc8181; }\r\n\r\n        .modal {\r\n            display: none;\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0,0,0,0.7);\r\n            z-index: 1000;\r\n            justify-content: center;\r\n            align-items: center;\r\n            padding: 20px;\r\n        }\r\n\r\n        .modal.active {\r\n            display: flex;\r\n        }\r\n\r\n        .modal-content {\r\n            background: white;\r\n            border-radius: 15px;\r\n            padding: 25px;\r\n            max-width: 500px;\r\n            width: 100%;\r\n            max-height: 80vh;\r\n            overflow-y: auto;\r\n        }\r\n\r\n        .modal-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .modal-title {\r\n            font-size: 1.5em;\r\n            font-weight: 700;\r\n            color: #2d3748;\r\n        }\r\n\r\n        .close-btn {\r\n            background: #fc8181;\r\n            color: white;\r\n            border: none;\r\n            padding: 8px 15px;\r\n            border-radius: 6px;\r\n            cursor: pointer;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .summary-section {\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .summary-title {\r\n            font-size: 1.2em;\r\n            font-weight: 600;\r\n            color: #2d3748;\r\n            margin-bottom: 10px;\r\n            padding-bottom: 8px;\r\n            border-bottom: 2px solid #e2e8f0;\r\n        }\r\n\r\n        .summary-row {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            padding: 8px 0;\r\n            border-bottom: 1px solid #f7fafc;\r\n        }\r\n\r\n        .summary-row:last-child {\r\n            border-bottom: none;\r\n            font-weight: 700;\r\n            font-size: 1.1em;\r\n            padding-top: 12px;\r\n        }\r\n\r\n        .pending-alert {\r\n            background: #feebc8;\r\n            border-left: 4px solid #ed8936;\r\n            padding: 15px;\r\n            border-radius: 8px;\r\n            margin-top: 15px;\r\n        }\r\n\r\n        .pending-alert-title {\r\n            font-weight: 700;\r\n            color: #7c2d12;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .pending-item {\r\n            padding: 8px 0;\r\n            color: #744210;\r\n        }\r\n\r\n        @media (min-width: 768px) {\r\n            .main-content {\r\n                grid-template-columns: 1fr 1fr;\r\n            }\r\n\r\n            .header h1 {\r\n                font-size: 2em;\r\n            }\r\n\r\n            .section-title {\r\n                font-size: 1.4em;\r\n            }\r\n\r\n            .cashout-section {\r\n                grid-column: 1 \/ -1;\r\n            }\r\n\r\n            .grand-total-section {\r\n                grid-column: 1 \/ -1;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 767px) {\r\n            body {\r\n                padding: 5px;\r\n            }\r\n\r\n            .header {\r\n                padding: 15px 10px;\r\n            }\r\n\r\n            .main-content {\r\n                padding: 10px;\r\n            }\r\n\r\n            .date-selector {\r\n                gap: 5px;\r\n            }\r\n\r\n            .current-date {\r\n                font-size: 0.8em;\r\n                padding: 6px 10px;\r\n            }\r\n\r\n            .date-btn, .action-btn {\r\n                font-size: 0.75em;\r\n                padding: 6px 10px;\r\n            }\r\n        }\r\n\r\n        @media print {\r\n            .header, .entry-form, .delete-btn, .action-buttons, .date-selector {\r\n                display: none !important;\r\n            }\r\n            \r\n            body {\r\n                background: white;\r\n                padding: 0;\r\n            }\r\n            \r\n            .container {\r\n                box-shadow: none;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <h1>\ud83d\udcca Daily Accounts - Rozana Khata<\/h1>\r\n            \r\n            <div class=\"action-buttons\">\r\n                <button class=\"action-btn\" onclick=\"showPlatformPayments()\" style=\"background: linear-gradient(135deg, #f97316, #ea580c); color: white; font-weight: 700;\">\ud83d\udecd\ufe0f Platform<\/button>\r\n                <button class=\"action-btn\" onclick=\"openPLPage()\" style=\"background: linear-gradient(135deg, #48bb78, #38a169); color: white; font-weight: 700;\">\ud83d\udcc8 P&L<\/button>\r\n                <button class=\"action-btn\" onclick=\"showPendingReminder()\">\u23f3 Pending<\/button>\r\n                <button class=\"action-btn\" onclick=\"showAdvanceReminder()\">\ud83d\udcb0 Advance<\/button>\r\n                <button class=\"action-btn\" onclick=\"shareToday()\">\ud83d\udce4 Share<\/button>\r\n                <button class=\"action-btn\" onclick=\"showSettings()\" style=\"background: rgba(255,255,255,0.3);\">\u2699\ufe0f Settings<\/button>\r\n            <\/div>\r\n            \r\n            <input type=\"file\" id=\"importFile\" accept=\".xlsx,.xls\" style=\"display: none;\" onchange=\"importFromExcel(event)\">\r\n\r\n            <div class=\"date-selector\">\r\n                <button class=\"date-btn\" onclick=\"changeDate(-1)\">\u25c0 Previous<\/button>\r\n                <div class=\"current-date\" id=\"currentDate\"><\/div>\r\n                <button class=\"date-btn\" onclick=\"changeDate(1)\">Next \u25b6<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"main-content\">\r\n            <!-- Sell Section -->\r\n            <div class=\"section sell-section\">\r\n                <div class=\"section-header\">\r\n                    <span class=\"section-title\">\ud83d\udcb0 Sell (Bikri)<\/span>\r\n                <\/div>\r\n                <div class=\"entry-form\">\r\n                    <input type=\"text\" id=\"sellItem\" placeholder=\"Item ka naam\">\r\n                    <div class=\"form-row\">\r\n                        <input type=\"number\" id=\"sellAmount\" placeholder=\"Amount\">\r\n                        <select id=\"sellPayment\">\r\n                            <option value=\"cash\">Cash<\/option>\r\n                            <option value=\"online\">Online<\/option>\r\n                            <option value=\"pending\">Pending<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                    <button class=\"add-btn\" onclick=\"addEntry('sell')\">+ Add Entry<\/button>\r\n                <\/div>\r\n                \r\n                <div class=\"payment-summary\">\r\n                    <div class=\"payment-card\">\r\n                        <div class=\"payment-label\">\ud83d\udcb5 Cash<\/div>\r\n                        <div class=\"payment-value\" style=\"color: #48bb78;\">\u20b9<span id=\"cashTotal\">0<\/span><\/div>\r\n                    <\/div>\r\n                    <div class=\"payment-card\">\r\n                        <div class=\"payment-label\">\ud83d\udcb3 Online<\/div>\r\n                        <div class=\"payment-value\" style=\"color: #3182ce;\">\u20b9<span id=\"onlineTotal\">0<\/span><\/div>\r\n                    <\/div>\r\n                    <div class=\"payment-card\">\r\n                        <div class=\"payment-label\">\u23f3 Pending<\/div>\r\n                        <div class=\"payment-value\" style=\"color: #ed8936;\">\u20b9<span id=\"pendingTotal\">0<\/span><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"entries-list\" id=\"sellList\"><\/div>\r\n                <div class=\"total-box\">Total Sell: \u20b9<span id=\"sellTotal\">0<\/span><\/div>\r\n            <\/div>\r\n\r\n            <!-- Purchase Section -->\r\n            <div class=\"section purchase-section\">\r\n                <div class=\"section-header\">\r\n                    <span class=\"section-title\">\ud83d\uded2 Purchase (Kharidari)<\/span>\r\n                <\/div>\r\n                <div class=\"entry-form\">\r\n                    <input type=\"text\" id=\"purchaseItem\" placeholder=\"Item ka naam\">\r\n                    <input type=\"number\" id=\"purchaseAmount\" placeholder=\"Amount\">\r\n                    <button class=\"add-btn\" onclick=\"addEntry('purchase')\">+ Add Entry<\/button>\r\n                <\/div>\r\n                <div class=\"entries-list\" id=\"purchaseList\"><\/div>\r\n                <div class=\"total-box\">Total Purchase: \u20b9<span id=\"purchaseTotal\">0<\/span><\/div>\r\n            <\/div>\r\n\r\n            <!-- Cashout Section -->\r\n            <div class=\"section cashout-section\">\r\n                <div class=\"section-header\">\r\n                    <span class=\"section-title\">\ud83d\udcb8 Cashout (Kharch)<\/span>\r\n                <\/div>\r\n                <div class=\"entry-form\">\r\n                    <input type=\"text\" id=\"cashoutItem\" placeholder=\"Kharch ka naam\">\r\n                    <div class=\"form-row\">\r\n                        <input type=\"number\" id=\"cashoutAmount\" placeholder=\"Amount\">\r\n                        <select id=\"cashoutType\">\r\n                            <option value=\"kharch\">Kharch<\/option>\r\n                            <option value=\"advance\">Advance<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                    <button class=\"add-btn\" onclick=\"addEntry('cashout')\">+ Add Entry<\/button>\r\n                <\/div>\r\n                <div class=\"entries-list\" id=\"cashoutList\"><\/div>\r\n                <div class=\"total-box\">Total Cashout: \u20b9<span id=\"cashoutTotal\">0<\/span><\/div>\r\n            <\/div>\r\n\r\n            <!-- Grand Total Section -->\r\n            <div class=\"grand-total-section\">\r\n                <div class=\"toggle-grid\">\r\n                    <div class=\"toggle-item\">\r\n                        <div class=\"toggle-switch active\" id=\"cashToggle\" onclick=\"toggleItem('cash')\">\r\n                            <div class=\"toggle-slider\"><\/div>\r\n                        <\/div>\r\n                        <span class=\"toggle-label\">\ud83d\udcb5 Cash<\/span>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"toggle-item\">\r\n                        <div class=\"toggle-switch active\" id=\"onlineToggle\" onclick=\"toggleItem('online')\">\r\n                            <div class=\"toggle-slider\"><\/div>\r\n                        <\/div>\r\n                        <span class=\"toggle-label\">\ud83d\udcb3 Online<\/span>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"toggle-item\">\r\n                        <div class=\"toggle-switch\" id=\"pendingToggle\" onclick=\"toggleItem('pending')\">\r\n                            <div class=\"toggle-slider\"><\/div>\r\n                        <\/div>\r\n                        <span class=\"toggle-label\">\u23f3 Pending<\/span>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"toggle-item\">\r\n                        <div class=\"toggle-switch\" id=\"purchaseToggle\" onclick=\"toggleItem('purchase')\">\r\n                            <div class=\"toggle-slider\"><\/div>\r\n                        <\/div>\r\n                        <span class=\"toggle-label\">\ud83d\uded2 Purchase<\/span>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"toggle-item\">\r\n                        <div class=\"toggle-switch\" id=\"cashoutToggle\" onclick=\"toggleItem('cashout')\">\r\n                            <div class=\"toggle-slider\"><\/div>\r\n                        <\/div>\r\n                        <span class=\"toggle-label\">\ud83d\udcb8 Cashout<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div style=\"text-align: center; color: rgba(255,255,255,0.8); font-size: 0.85em; margin-bottom: 15px;\">\r\n                    \u26a1 Toggle ON = Minus from Grand Total | Toggle OFF = Plus\/Ignore\r\n                <\/div>\r\n\r\n                <div class=\"grand-total-grid\">\r\n                    <div class=\"total-card\">\r\n                        <div class=\"total-label\">Previous Balance<\/div>\r\n                        <div class=\"total-value\">\u20b9<span id=\"prevBalance\">0<\/span><\/div>\r\n                    <\/div>\r\n                    <div class=\"total-card\">\r\n                        <div class=\"total-label\">Today Sell<\/div>\r\n                        <div class=\"total-value\" style=\"color: #48bb78;\">+\u20b9<span id=\"todaySell\">0<\/span><\/div>\r\n                    <\/div>\r\n                    <div class=\"total-card\">\r\n                        <div class=\"total-label\">Today Purchase<\/div>\r\n                        <div class=\"total-value\" style=\"color: #fc8181;\">-\u20b9<span id=\"todayPurchase\">0<\/span><\/div>\r\n                    <\/div>\r\n                    <div class=\"total-card\">\r\n                        <div class=\"total-label\">Today Cashout<\/div>\r\n                        <div class=\"total-value\" style=\"color: #fc8181;\">-\u20b9<span id=\"todayCashout\">0<\/span><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"final-total\">\r\n                    <div class=\"final-total-label\">\ud83c\udfc6 GRAND TOTAL<\/div>\r\n                    <div class=\"final-total-value\">\u20b9<span id=\"grandTotal\">0<\/span><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Modal for Summary -->\r\n    <div class=\"modal\" id=\"summaryModal\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h2 class=\"modal-title\" id=\"modalTitle\">Summary<\/h2>\r\n                <button class=\"close-btn\" onclick=\"closeModal()\">Close<\/button>\r\n            <\/div>\r\n            <div id=\"modalBody\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        let currentDateIndex = 0;\r\n        let toggleStates = {\r\n            cash: true,\r\n            online: true,\r\n            pending: false,\r\n            purchase: false,\r\n            cashout: true\r\n        };\r\n        let data = {};\r\n\r\n        function getCurrentDateKey() {\r\n            const date = new Date();\r\n            date.setDate(date.getDate() + currentDateIndex);\r\n            return date.toISOString().split('T')[0];\r\n        }\r\n\r\n        function formatDate(dateStr) {\r\n            const date = new Date(dateStr);\r\n            const options = { year: 'numeric', month: 'short', day: 'numeric', weekday: 'short' };\r\n            return date.toLocaleDateString('en-US', options);\r\n        }\r\n\r\n        function changeDate(direction) {\r\n            const startDate = localStorage.getItem('startDate');\r\n            \r\n            \/\/ If going to previous date\r\n            if (direction === -1 && startDate) {\r\n                const targetDate = new Date();\r\n                targetDate.setDate(targetDate.getDate() + currentDateIndex - 1);\r\n                const targetDateKey = targetDate.toISOString().split('T')[0];\r\n                \r\n                \/\/ Check if target date is before start date\r\n                if (targetDateKey < startDate) {\r\n                    alert(`\ud83d\udeab Cannot go before Start Date!\\n\\nYour Start Date is: ${formatDate(startDate)}\\n\\nChange it in Settings if needed.`);\r\n                    return;\r\n                }\r\n            }\r\n            \r\n            saveCurrentData();\r\n            currentDateIndex += direction;\r\n            updateDisplay();\r\n            loadData();\r\n            \r\n            \/\/ Force recalculate to show updated previous balance\r\n            setTimeout(() => {\r\n                calculateTotals();\r\n            }, 100);\r\n        }\r\n\r\n        function toggleItem(type) {\r\n            toggleStates[type] = !toggleStates[type];\r\n            const toggle = document.getElementById(`${type}Toggle`);\r\n            toggle.classList.toggle('active');\r\n            saveCurrentData();\r\n            calculateGrandTotal();\r\n            \r\n            \/\/ Show update notification if not on today\r\n            if (currentDateIndex !== 0) {\r\n                showUpdateNotification();\r\n            }\r\n        }\r\n\r\n        function addEntry(type) {\r\n            const itemInput = document.getElementById(`${type}Item`);\r\n            const amountInput = document.getElementById(`${type}Amount`);\r\n            \r\n            const item = itemInput.value.trim();\r\n            const amount = parseFloat(amountInput.value);\r\n\r\n            if (!item || !amount || amount <= 0) {\r\n                alert('Please fill all details correctly!');\r\n                return;\r\n            }\r\n\r\n            const dateKey = getCurrentDateKey();\r\n            if (!data[dateKey]) {\r\n                \/\/ Get global toggle settings for new pages\r\n                const globalToggles = JSON.parse(localStorage.getItem('globalToggles') || JSON.stringify({\r\n                    cash: true,\r\n                    online: true,\r\n                    pending: false,\r\n                    purchase: false,\r\n                    cashout: true\r\n                }));\r\n                \r\n                data[dateKey] = { \r\n                    sell: [], \r\n                    purchase: [], \r\n                    cashout: [], \r\n                    toggleStates: {...globalToggles}\r\n                };\r\n            }\r\n\r\n            const entry = { item, amount };\r\n            \r\n            if (type === 'sell') {\r\n                const paymentMode = document.getElementById('sellPayment').value;\r\n                entry.payment = paymentMode;\r\n            } else if (type === 'cashout') {\r\n                const cashoutType = document.getElementById('cashoutType').value;\r\n                entry.type = cashoutType;\r\n            }\r\n\r\n            data[dateKey][type].push(entry);\r\n            \r\n            itemInput.value = '';\r\n            amountInput.value = '';\r\n            \r\n            saveCurrentData();\r\n            renderEntries(type);\r\n            calculateTotals();\r\n            \r\n            \/\/ Show update notification if not on today\r\n            if (currentDateIndex !== 0) {\r\n                showUpdateNotification();\r\n            }\r\n        }\r\n        \r\n        function showUpdateNotification() {\r\n            const notification = document.createElement('div');\r\n            notification.style.cssText = `\r\n                position: fixed;\r\n                top: 20px;\r\n                right: 20px;\r\n                background: #48bb78;\r\n                color: white;\r\n                padding: 15px 20px;\r\n                border-radius: 10px;\r\n                box-shadow: 0 4px 12px rgba(0,0,0,0.3);\r\n                z-index: 9999;\r\n                animation: slideIn 0.3s ease-out;\r\n            `;\r\n            notification.textContent = '\u2705 Updated! Future dates will reflect this change.';\r\n            document.body.appendChild(notification);\r\n            \r\n            setTimeout(() => {\r\n                notification.style.animation = 'slideOut 0.3s ease-out';\r\n                setTimeout(() => notification.remove(), 300);\r\n            }, 2000);\r\n        }\r\n\r\n        function deleteEntry(type, index) {\r\n            const dateKey = getCurrentDateKey();\r\n            data[dateKey][type].splice(index, 1);\r\n            saveCurrentData();\r\n            renderEntries(type);\r\n            calculateTotals();\r\n            \r\n            \/\/ Show update notification if not on today\r\n            if (currentDateIndex !== 0) {\r\n                showUpdateNotification();\r\n            }\r\n        }\r\n\r\n        function renderEntries(type) {\r\n            const dateKey = getCurrentDateKey();\r\n            const list = document.getElementById(`${type}List`);\r\n            list.innerHTML = '';\r\n\r\n            if (data[dateKey] && data[dateKey][type]) {\r\n                data[dateKey][type].forEach((entry, index) => {\r\n                    const div = document.createElement('div');\r\n                    div.className = 'entry-item';\r\n                    \r\n                    let paymentBadge = '';\r\n                    if (type === 'sell' && entry.payment) {\r\n                        let badgeClass = '';\r\n                        if (entry.payment === 'cash') badgeClass = 'cash-badge';\r\n                        else if (entry.payment === 'online') badgeClass = 'online-badge';\r\n                        else if (entry.payment === 'pending') badgeClass = 'pending-badge';\r\n                        paymentBadge = `<span class=\"payment-badge ${badgeClass}\">${entry.payment.toUpperCase()}<\/span>`;\r\n                    } else if (type === 'cashout' && entry.type) {\r\n                        let badgeClass = entry.type === 'kharch' ? 'kharch-badge' : 'advance-badge';\r\n                        paymentBadge = `<span class=\"payment-badge ${badgeClass}\">${entry.type.toUpperCase()}<\/span>`;\r\n                    }\r\n                    \r\n                    div.innerHTML = `\r\n                        <div class=\"entry-info\">\r\n                            <div class=\"entry-name\">${entry.item}<\/div>\r\n                            <div class=\"entry-details\">\r\n                                <div class=\"entry-amount\">\u20b9${entry.amount.toLocaleString('en-IN')}<\/div>\r\n                                ${paymentBadge}\r\n                            <\/div>\r\n                        <\/div>\r\n                        <button class=\"delete-btn\" onclick=\"deleteEntry('${type}', ${index})\">Delete<\/button>\r\n                    `;\r\n                    list.appendChild(div);\r\n                });\r\n            }\r\n        }\r\n\r\n        function calculateTotals() {\r\n            const dateKey = getCurrentDateKey();\r\n            const currentData = data[dateKey] || { sell: [], purchase: [], cashout: [] };\r\n\r\n            const sellTotal = currentData.sell.reduce((sum, e) => sum + e.amount, 0);\r\n            const purchaseTotal = currentData.purchase.reduce((sum, e) => sum + e.amount, 0);\r\n            const cashoutTotal = currentData.cashout.reduce((sum, e) => sum + e.amount, 0);\r\n\r\n            const cashTotal = currentData.sell\r\n                .filter(e => e.payment === 'cash')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n            const onlineTotal = currentData.sell\r\n                .filter(e => e.payment === 'online')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n            const pendingTotal = currentData.sell\r\n                .filter(e => e.payment === 'pending')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n\r\n            document.getElementById('cashTotal').textContent = cashTotal.toLocaleString('en-IN');\r\n            document.getElementById('onlineTotal').textContent = onlineTotal.toLocaleString('en-IN');\r\n            document.getElementById('pendingTotal').textContent = pendingTotal.toLocaleString('en-IN');\r\n            document.getElementById('sellTotal').textContent = sellTotal.toLocaleString('en-IN');\r\n            document.getElementById('purchaseTotal').textContent = purchaseTotal.toLocaleString('en-IN');\r\n            document.getElementById('cashoutTotal').textContent = cashoutTotal.toLocaleString('en-IN');\r\n\r\n            document.getElementById('todaySell').textContent = sellTotal.toLocaleString('en-IN');\r\n            document.getElementById('todayPurchase').textContent = purchaseTotal.toLocaleString('en-IN');\r\n            document.getElementById('todayCashout').textContent = cashoutTotal.toLocaleString('en-IN');\r\n\r\n            calculateGrandTotal();\r\n        }\r\n\r\n        function calculateGrandTotal() {\r\n            const dateKey = getCurrentDateKey();\r\n            const currentData = data[dateKey] || { sell: [], purchase: [], cashout: [] };\r\n\r\n            const cashTotal = currentData.sell\r\n                .filter(e => e.payment === 'cash')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n            const onlineTotal = currentData.sell\r\n                .filter(e => e.payment === 'online')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n            const pendingTotal = currentData.sell\r\n                .filter(e => e.payment === 'pending')\r\n                .reduce((sum, e) => sum + e.amount, 0);\r\n            const purchaseTotal = currentData.purchase.reduce((sum, e) => sum + e.amount, 0);\r\n            const cashoutTotal = currentData.cashout.reduce((sum, e) => sum + e.amount, 0);\r\n\r\n            const prevBalance = getPreviousDayBalance();\r\n            \r\n            let grandTotal = prevBalance;\r\n            \r\n            \/\/ Add\/subtract based on toggle states\r\n            if (toggleStates.cash) grandTotal += cashTotal;\r\n            if (toggleStates.online) grandTotal += onlineTotal;\r\n            if (toggleStates.pending) grandTotal += pendingTotal;\r\n            if (toggleStates.purchase) grandTotal -= purchaseTotal;\r\n            if (toggleStates.cashout) grandTotal -= cashoutTotal;\r\n\r\n            document.getElementById('prevBalance').textContent = prevBalance.toLocaleString('en-IN');\r\n            document.getElementById('grandTotal').textContent = grandTotal.toLocaleString('en-IN');\r\n        }\r\n\r\n        function getPreviousDayBalance() {\r\n            \/\/ If we're on today (index 0), previous balance is 0\r\n            if (currentDateIndex === 0) return 0;\r\n            \r\n            \/\/ Get start date from localStorage\r\n            const startDate = localStorage.getItem('startDate');\r\n            \r\n            \/\/ Calculate cumulative balance from earliest date to current date - 1\r\n            let balance = 0;\r\n            \r\n            \/\/ Get all dates that have data\r\n            const allDates = Object.keys(data).sort();\r\n            \r\n            if (allDates.length === 0) return 0;\r\n            \r\n            \/\/ Get current date\r\n            const currentDate = new Date();\r\n            currentDate.setDate(currentDate.getDate() + currentDateIndex);\r\n            const currentDateKey = currentDate.toISOString().split('T')[0];\r\n            \r\n            \/\/ If start date is set, use it as reference, otherwise use all dates\r\n            const effectiveStartDate = startDate || allDates[0];\r\n            \r\n            \/\/ Calculate balance from all dates before current date (and after or equal to start date)\r\n            allDates.forEach(dateKey => {\r\n                \/\/ Only include dates: (1) after or equal to start date, (2) before current date\r\n                if (dateKey >= effectiveStartDate && dateKey < currentDateKey) {\r\n                    const dayData = data[dateKey];\r\n                    const dayToggles = dayData.toggleStates || {\r\n                        cash: true,\r\n                        online: true,\r\n                        pending: false,\r\n                        purchase: false,\r\n                        cashout: true\r\n                    };\r\n                    \r\n                    const cashTotal = dayData.sell\r\n                        .filter(e => e.payment === 'cash')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const onlineTotal = dayData.sell\r\n                        .filter(e => e.payment === 'online')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const pendingTotal = dayData.sell\r\n                        .filter(e => e.payment === 'pending')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const purchaseTotal = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    const cashoutTotal = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    if (dayToggles.cash) balance += cashTotal;\r\n                    if (dayToggles.online) balance += onlineTotal;\r\n                    if (dayToggles.pending) balance += pendingTotal;\r\n                    if (dayToggles.purchase) balance -= purchaseTotal;\r\n                    if (dayToggles.cashout) balance -= cashoutTotal;\r\n                }\r\n            });\r\n            \r\n            return balance;\r\n        }\r\n        \r\n        function calculateBalanceUpToDate(targetIndex) {\r\n            let balance = 0;\r\n            \r\n            for (let i = 0; i <= targetIndex; i++) {\r\n                const date = new Date();\r\n                date.setDate(date.getDate() + i);\r\n                const dateKey = date.toISOString().split('T')[0];\r\n                \r\n                if (data[dateKey]) {\r\n                    const dayData = data[dateKey];\r\n                    const dayToggles = dayData.toggleStates || {\r\n                        cash: true,\r\n                        online: true,\r\n                        pending: false,\r\n                        purchase: false,\r\n                        cashout: true\r\n                    };\r\n                    \r\n                    const cashTotal = dayData.sell\r\n                        .filter(e => e.payment === 'cash')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const onlineTotal = dayData.sell\r\n                        .filter(e => e.payment === 'online')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const pendingTotal = dayData.sell\r\n                        .filter(e => e.payment === 'pending')\r\n                        .reduce((s, e) => s + e.amount, 0);\r\n                    const purchaseTotal = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    const cashoutTotal = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    if (dayToggles.cash) balance += cashTotal;\r\n                    if (dayToggles.online) balance += onlineTotal;\r\n                    if (dayToggles.pending) balance += pendingTotal;\r\n                    if (dayToggles.purchase) balance -= purchaseTotal;\r\n                    if (dayToggles.cashout) balance -= cashoutTotal;\r\n                }\r\n            }\r\n            \r\n            return balance;\r\n        }\r\n\r\n        function saveCurrentData() {\r\n            const dateKey = getCurrentDateKey();\r\n            if (data[dateKey]) {\r\n                data[dateKey].toggleStates = {...toggleStates};\r\n            }\r\n            localStorage.setItem('accountsData', JSON.stringify(data));\r\n        }\r\n\r\n        function loadData() {\r\n            const saved = localStorage.getItem('accountsData');\r\n            if (saved) {\r\n                data = JSON.parse(saved);\r\n            }\r\n\r\n            const dateKey = getCurrentDateKey();\r\n            if (data[dateKey] && data[dateKey].toggleStates) {\r\n                toggleStates = {...data[dateKey].toggleStates};\r\n            } else {\r\n                \/\/ Default toggle states\r\n                toggleStates = {\r\n                    cash: true,\r\n                    online: true,\r\n                    pending: false,\r\n                    purchase: false,\r\n                    cashout: true\r\n                };\r\n            }\r\n            \r\n            \/\/ Update toggle UI\r\n            Object.keys(toggleStates).forEach(key => {\r\n                const toggle = document.getElementById(`${key}Toggle`);\r\n                if (toggle) {\r\n                    if (toggleStates[key]) {\r\n                        toggle.classList.add('active');\r\n                    } else {\r\n                        toggle.classList.remove('active');\r\n                    }\r\n                }\r\n            });\r\n\r\n            renderEntries('sell');\r\n            renderEntries('purchase');\r\n            renderEntries('cashout');\r\n            calculateTotals();\r\n        }\r\n\r\n        function updateDisplay() {\r\n            const dateKey = getCurrentDateKey();\r\n            document.getElementById('currentDate').textContent = formatDate(dateKey);\r\n        }\r\n\r\n        \/\/ Import from Excel\r\n        function importFromExcel(event) {\r\n            const file = event.target.files[0];\r\n            if (!file) return;\r\n            \r\n            const reader = new FileReader();\r\n            reader.onload = function(e) {\r\n                try {\r\n                    const workbook = XLSX.read(e.target.result, { type: 'binary' });\r\n                    \r\n                    \/\/ Show Merge\/Replace Modal\r\n                    const modal = document.createElement('div');\r\n                    modal.style.cssText = 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 10000; display: flex; justify-content: center; align-items: center;';\r\n                    modal.innerHTML = `\r\n                        <div style=\"background: white; border-radius: 15px; padding: 30px; max-width: 450px;\">\r\n                            <h2 style=\"margin: 0 0 20px 0; color: #2d3748;\">\ud83d\udce5 Import Mode<\/h2>\r\n                            <div style=\"display: grid; gap: 12px;\">\r\n                                <button id=\"btnMerge\" style=\"padding: 18px; background: linear-gradient(135deg, #48bb78, #38a169); color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; text-align: left;\">\r\n                                    <div style=\"font-size: 1.2em; margin-bottom: 5px;\">\ud83d\udd04 Merge Data<\/div>\r\n                                    <div style=\"font-size: 0.85em; opacity: 0.9;\">Keep existing + Add new<\/div>\r\n                                <\/button>\r\n                                <button id=\"btnReplace\" style=\"padding: 18px; background: linear-gradient(135deg, #fc8181, #ef4444); color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; text-align: left;\">\r\n                                    <div style=\"font-size: 1.2em; margin-bottom: 5px;\">\u26a0\ufe0f Replace All<\/div>\r\n                                    <div style=\"font-size: 0.85em; opacity: 0.9;\">Delete existing data<\/div>\r\n                                <\/button>\r\n                                <button id=\"btnCancel\" style=\"padding: 12px; background: #718096; color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;\">Cancel<\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    `;\r\n                    document.body.appendChild(modal);\r\n                    \r\n                    document.getElementById('btnMerge').onclick = () => {\r\n                        document.body.removeChild(modal);\r\n                        processImportData(workbook, 'merge');\r\n                    };\r\n                    \r\n                    document.getElementById('btnReplace').onclick = () => {\r\n                        document.body.removeChild(modal);\r\n                        if (confirm('\u26a0\ufe0f This will DELETE all current data!\\n\\nContinue?')) {\r\n                            processImportData(workbook, 'replace');\r\n                        }\r\n                    };\r\n                    \r\n                    document.getElementById('btnCancel').onclick = () => {\r\n                        document.body.removeChild(modal);\r\n                    };\r\n                    \r\n                } catch (error) {\r\n                    console.error('Import error:', error);\r\n                    alert('\u274c Error reading file.');\r\n                }\r\n            };\r\n            \r\n            reader.readAsBinaryString(file);\r\n        }\r\n        \r\n        \/\/ Process Import with Merge or Replace\r\n        function processImportData(workbook, mode) {\r\n            try {\r\n                let importedData = (mode === 'merge') ? JSON.parse(JSON.stringify(data)) : {};\r\n                let importedPlatforms = (mode === 'merge') ? JSON.parse(localStorage.getItem('platformPayments') || '{}') : {};\r\n                let stats = {new: 0, updated: 0, skipped: 0, platforms: 0};\r\n                \r\n                \/\/ Read each sheet\r\n                workbook.SheetNames.forEach(sheetName => {\r\n                    \/\/ Check for Platform Payments sheet\r\n                    if (sheetName === 'Platform Payments' || sheetName.includes('Platform')) {\r\n                        console.log('\ud83d\udcca Found Platform Payments sheet');\r\n                        const sheet = workbook.Sheets[sheetName];\r\n                        const rows = XLSX.utils.sheet_to_json(sheet, { header: 1 });\r\n                        console.log('Total rows:', rows.length);\r\n                        let foundHeader = false;\r\n                        \r\n                        rows.forEach(row => {\r\n                            if (!row || row.length < 3) return;\r\n                            const firstCell = String(row[0] || '').toUpperCase();\r\n                            \r\n                            \/\/ Skip title and date range rows\r\n                            if (firstCell.includes('PLATFORM PAYMENTS') || firstCell.includes('DATE RANGE')) {\r\n                                return;\r\n                            }\r\n                            \r\n                            \/\/ Detect header row\r\n                            if (firstCell.includes('DATE') || firstCell === 'DATE') {\r\n                                foundHeader = true;\r\n                                return;\r\n                            }\r\n                            \r\n                            \/\/ Skip total row and process only after header found\r\n                            if (!foundHeader || firstCell.includes('TOTAL')) return;\r\n                            \r\n                            const dateStr = String(row[0] || '').trim();\r\n                            const platform = String(row[1] || '').trim();\r\n                            const restaurant = String(row[2] || '').trim();\r\n                            const amount = parseFloat(row[3]);\r\n                            \r\n                            if (!dateStr || !platform || !restaurant || isNaN(amount)) return;\r\n                            \r\n                            \/\/ Parse date - multiple formats\r\n                            let dateKey = null;\r\n                            \r\n                            \/\/ Format: \"5 Feb 2026\"\r\n                            let match = dateStr.match(\/(\\d{1,2})\\s+(\\w{3})\\s+(\\d{4})\/);\r\n                            if (match) {\r\n                                const monthMap = {'Jan':'01','Feb':'02','Mar':'03','Apr':'04','May':'05','Jun':'06','Jul':'07','Aug':'08','Sep':'09','Oct':'10','Nov':'11','Dec':'12'};\r\n                                const month = monthMap[match[2]];\r\n                                if (month) {\r\n                                    dateKey = `${match[3]}-${month}-${match[1].padStart(2,'0')}`;\r\n                                }\r\n                            }\r\n                            \r\n                            \/\/ Format: \"Wed, Feb 14, 2026\" (from formatDate)\r\n                            if (!dateKey) {\r\n                                match = dateStr.match(\/\\w+,\\s+(\\w{3})\\s+(\\d{1,2}),\\s+(\\d{4})\/);\r\n                                if (match) {\r\n                                    const monthMap = {'Jan':'01','Feb':'02','Mar':'03','Apr':'04','May':'05','Jun':'06','Jul':'07','Aug':'08','Sep':'09','Oct':'10','Nov':'11','Dec':'12'};\r\n                                    const month = monthMap[match[1]];\r\n                                    if (month) {\r\n                                        dateKey = `${match[3]}-${month}-${match[2].padStart(2,'0')}`;\r\n                                    }\r\n                                }\r\n                            }\r\n                            \r\n                            if (dateKey) {\r\n                                if (!importedPlatforms[dateKey]) importedPlatforms[dateKey] = [];\r\n                                \r\n                                \/\/ Check duplicate in merge mode\r\n                                const isDupe = mode === 'merge' && importedPlatforms[dateKey].some(e => \r\n                                    e.platform === platform && e.restaurant === restaurant && e.amount === amount\r\n                                );\r\n                                \r\n                                if (!isDupe) {\r\n                                    importedPlatforms[dateKey].push({platform, restaurant, amount, timestamp: new Date().toISOString()});\r\n                                    stats.platforms++;\r\n                                    console.log(`\u2705 Imported: ${dateKey} - ${platform} - ${restaurant} - ${amount}`);\r\n                                }\r\n                            } else {\r\n                                console.log(`\u274c Failed to parse date: \"${dateStr}\"`);\r\n                            }\r\n                        });\r\n                        console.log('Total platforms imported:', stats.platforms);\r\n                        return;\r\n                    }\r\n                    \r\n                    \/\/ Regular date sheets\r\n                    const dateKey = sheetName;\r\n                    const sheet = workbook.Sheets[dateKey];\r\n                    const rows = XLSX.utils.sheet_to_json(sheet, { header: 1 });\r\n                    \r\n                    const dateExists = importedData[dateKey] !== undefined;\r\n                    const tempData = {sell: [], purchase: [], cashout: []};\r\n                    let currentSection = '';\r\n                    \r\n                    rows.forEach(row => {\r\n                        if (!row || row.length === 0) return;\r\n                        const firstCell = String(row[0] || '').toUpperCase();\r\n                        \r\n                        if (firstCell.includes('SELL') || firstCell.includes('BIKRI')) {\r\n                            currentSection = 'sell';\r\n                        } else if (firstCell.includes('PURCHASE') || firstCell.includes('KHARIDARI')) {\r\n                            currentSection = 'purchase';\r\n                        } else if (firstCell.includes('CASHOUT') || firstCell.includes('KHARCH')) {\r\n                            currentSection = 'cashout';\r\n                        } else if (currentSection && row[0] && row[1] && !firstCell.includes('TOTAL') && !firstCell.includes('ITEM')) {\r\n                            const item = String(row[0]);\r\n                            const amount = parseFloat(row[1]);\r\n                            \r\n                            if (item && !isNaN(amount)) {\r\n                                const entry = {item, amount};\r\n                                if (currentSection === 'sell' && row[2]) entry.payment = String(row[2]).toLowerCase();\r\n                                if (currentSection === 'cashout' && row[2]) entry.type = String(row[2]).toLowerCase();\r\n                                tempData[currentSection].push(entry);\r\n                            }\r\n                        }\r\n                    });\r\n                    \r\n                    \/\/ Check if identical (merge mode only)\r\n                    if (mode === 'merge' && dateExists) {\r\n                        const existing = importedData[dateKey];\r\n                        const identical = JSON.stringify(existing.sell) === JSON.stringify(tempData.sell) &&\r\n                                         JSON.stringify(existing.purchase) === JSON.stringify(tempData.purchase) &&\r\n                                         JSON.stringify(existing.cashout) === JSON.stringify(tempData.cashout);\r\n                        \r\n                        if (identical) {\r\n                            stats.skipped++;\r\n                            return;\r\n                        } else {\r\n                            stats.updated++;\r\n                        }\r\n                    } else if (!dateExists) {\r\n                        stats.new++;\r\n                    }\r\n                    \r\n                    \/\/ Save data\r\n                    importedData[dateKey] = {\r\n                        sell: tempData.sell,\r\n                        purchase: tempData.purchase,\r\n                        cashout: tempData.cashout,\r\n                        toggleStates: importedData[dateKey]?.toggleStates || {\r\n                            cash: true, online: true, pending: false, purchase: false, cashout: true\r\n                        }\r\n                    };\r\n                });\r\n                \r\n                data = importedData;\r\n                localStorage.setItem('accountsData', JSON.stringify(data));\r\n                \r\n                if (Object.keys(importedPlatforms).length > 0) {\r\n                    localStorage.setItem('platformPayments', JSON.stringify(importedPlatforms));\r\n                }\r\n                \r\n                loadData();\r\n                \r\n                let msg = '\u2705 Import complete!\\n\\n';\r\n                if (mode === 'merge') {\r\n                    msg += `New: ${stats.new}\\nUpdated: ${stats.updated}\\nSkipped: ${stats.skipped}\\n\\nTotal: ${Object.keys(data).length} dates`;\r\n                } else {\r\n                    msg += `Total: ${Object.keys(data).length} dates imported`;\r\n                }\r\n                if (stats.platforms > 0) {\r\n                    msg += `\\n\ud83d\udecd\ufe0f Platform: ${stats.platforms} payments`;\r\n                }\r\n                alert(msg);\r\n                \r\n            } catch (error) {\r\n                console.error('Import processing error:', error);\r\n                alert('\u274c Import failed!');\r\n            }\r\n        }\r\n\r\n        \/\/ Export to Excel with Date Range\r\n        function exportToExcel() {\r\n            \/\/ Direct export all data - no modal needed\r\n            if (!confirm('\ud83d\udce5 Export all your data to Excel?\\n\\nThis will include:\\n\u2705 All daily entries\\n\u2705 Platform payments\\n\u2705 Complete backup\\n\\nContinue?')) {\r\n                return;\r\n            }\r\n            \r\n            exportAll();\r\n        }\r\n        \r\n        function performExport() {\r\n            const dateFrom = document.getElementById('exportDateFrom').value;\r\n            const dateTo = document.getElementById('exportDateTo').value;\r\n            \r\n            if (!dateFrom || !dateTo) {\r\n                alert('Please select both dates!');\r\n                return;\r\n            }\r\n            \r\n            if (new Date(dateFrom) > new Date(dateTo)) {\r\n                alert('From Date should be before To Date!');\r\n                return;\r\n            }\r\n            \r\n            const workbook = XLSX.utils.book_new();\r\n            \r\n            const startDate = new Date(dateFrom);\r\n            const endDate = new Date(dateTo);\r\n            let exportCount = 0;\r\n            \r\n            \/\/ Loop through date range\r\n            for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\r\n                const dateKey = d.toISOString().split('T')[0];\r\n                \r\n                if (data[dateKey]) {\r\n                    const dayData = data[dateKey];\r\n                    const sheetData = [];\r\n                    \r\n                    \/\/ Header\r\n                    sheetData.push(['DATE: ' + formatDate(dateKey)]);\r\n                    sheetData.push([]);\r\n                    \r\n                    \/\/ Sell Section\r\n                    sheetData.push(['SELL (BIKRI)']);\r\n                    sheetData.push(['Item', 'Amount', 'Payment Mode']);\r\n                    dayData.sell.forEach(item => {\r\n                        sheetData.push([item.item, item.amount, item.payment || '']);\r\n                    });\r\n                    \r\n                    const cashTotal = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                    const onlineTotal = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                    const pendingTotal = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    sheetData.push(['Cash Total', cashTotal]);\r\n                    sheetData.push(['Online Total', onlineTotal]);\r\n                    sheetData.push(['Pending Total', pendingTotal]);\r\n                    sheetData.push(['Total Sell', dayData.sell.reduce((s, e) => s + e.amount, 0)]);\r\n                    sheetData.push([]);\r\n                    \r\n                    \/\/ Purchase Section\r\n                    sheetData.push(['PURCHASE (KHARIDARI)']);\r\n                    sheetData.push(['Item', 'Amount']);\r\n                    dayData.purchase.forEach(item => {\r\n                        sheetData.push([item.item, item.amount]);\r\n                    });\r\n                    sheetData.push(['Total Purchase', dayData.purchase.reduce((s, e) => s + e.amount, 0)]);\r\n                    sheetData.push([]);\r\n                    \r\n                    \/\/ Cashout Section\r\n                    sheetData.push(['CASHOUT (KHARCH)']);\r\n                    sheetData.push(['Item', 'Amount', 'Type']);\r\n                    dayData.cashout.forEach(item => {\r\n                        sheetData.push([item.item, item.amount, item.type || 'kharch']);\r\n                    });\r\n                    sheetData.push(['Total Cashout', dayData.cashout.reduce((s, e) => s + e.amount, 0), '']);\r\n                    \r\n                    const worksheet = XLSX.utils.aoa_to_sheet(sheetData);\r\n                    XLSX.utils.book_append_sheet(workbook, worksheet, dateKey);\r\n                    exportCount++;\r\n                }\r\n            }\r\n            \r\n            \/\/ Add Platform Payments Sheet for selected date range\r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            const dateRangePlatforms = {};\r\n            \r\n            Object.keys(platformPayments).forEach(date => {\r\n                if (date >= dateFrom && date <= dateTo) {\r\n                    dateRangePlatforms[date] = platformPayments[date];\r\n                }\r\n            });\r\n            \r\n            if (Object.keys(dateRangePlatforms).length > 0) {\r\n                const platformSheet = [];\r\n                platformSheet.push(['PLATFORM PAYMENTS (Zomato\/Swiggy)']);\r\n                platformSheet.push(['Date Range: ' + dateFrom + ' to ' + dateTo]);\r\n                platformSheet.push([]);\r\n                platformSheet.push(['Date', 'Platform', 'Restaurant', 'Amount']);\r\n                \r\n                let totalPlatform = 0;\r\n                Object.keys(dateRangePlatforms).sort().forEach(date => {\r\n                    dateRangePlatforms[date].forEach(payment => {\r\n                        platformSheet.push([\r\n                            formatDate(date),\r\n                            payment.platform,\r\n                            payment.restaurant,\r\n                            payment.amount\r\n                        ]);\r\n                        totalPlatform += payment.amount;\r\n                    });\r\n                });\r\n                \r\n                platformSheet.push([]);\r\n                platformSheet.push(['TOTAL PLATFORM PAYMENTS', '', '', totalPlatform]);\r\n                \r\n                const platformWorksheet = XLSX.utils.aoa_to_sheet(platformSheet);\r\n                XLSX.utils.book_append_sheet(workbook, platformWorksheet, 'Platform Payments');\r\n            }\r\n            \r\n            if (exportCount === 0) {\r\n                alert('No data found in selected date range!');\r\n                return;\r\n            }\r\n            \r\n            const platformCount = Object.values(dateRangePlatforms).reduce((sum, arr) => sum + arr.length, 0);\r\n            XLSX.writeFile(workbook, `Accounts_${dateFrom}_to_${dateTo}.xlsx`);\r\n            closeModal();\r\n            alert(`\u2705 Excel file downloaded successfully!\\n${exportCount} days exported${platformCount > 0 ? '\\n\ud83d\udecd\ufe0f ' + platformCount + ' platform payments' : ''}.`);\r\n        }\r\n        \r\n        function exportAll() {\r\n            const workbook = XLSX.utils.book_new();\r\n            \r\n            \/\/ Get all dates with data\r\n            const allDates = Object.keys(data).sort();\r\n            \r\n            if (allDates.length === 0) {\r\n                alert('No data to export!');\r\n                return;\r\n            }\r\n\r\n            allDates.forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                const sheetData = [];\r\n                \r\n                \/\/ Header\r\n                sheetData.push(['DATE: ' + formatDate(dateKey)]);\r\n                sheetData.push([]);\r\n                \r\n                \/\/ Sell Section\r\n                sheetData.push(['SELL (BIKRI)']);\r\n                sheetData.push(['Item', 'Amount', 'Payment Mode']);\r\n                dayData.sell.forEach(item => {\r\n                    sheetData.push([item.item, item.amount, item.payment || '']);\r\n                });\r\n                \r\n                const cashTotal = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                const onlineTotal = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                const pendingTotal = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                \r\n                sheetData.push(['Cash Total', cashTotal]);\r\n                sheetData.push(['Online Total', onlineTotal]);\r\n                sheetData.push(['Pending Total', pendingTotal]);\r\n                sheetData.push(['Total Sell', dayData.sell.reduce((s, e) => s + e.amount, 0)]);\r\n                sheetData.push([]);\r\n                \r\n                \/\/ Purchase Section\r\n                sheetData.push(['PURCHASE (KHARIDARI)']);\r\n                sheetData.push(['Item', 'Amount']);\r\n                dayData.purchase.forEach(item => {\r\n                    sheetData.push([item.item, item.amount]);\r\n                });\r\n                sheetData.push(['Total Purchase', dayData.purchase.reduce((s, e) => s + e.amount, 0)]);\r\n                sheetData.push([]);\r\n                \r\n                \/\/ Cashout Section\r\n                sheetData.push(['CASHOUT (KHARCH)']);\r\n                sheetData.push(['Item', 'Amount', 'Type']);\r\n                dayData.cashout.forEach(item => {\r\n                    sheetData.push([item.item, item.amount, item.type || 'kharch']);\r\n                });\r\n                sheetData.push(['Total Cashout', dayData.cashout.reduce((s, e) => s + e.amount, 0), '']);\r\n                \r\n                const worksheet = XLSX.utils.aoa_to_sheet(sheetData);\r\n                XLSX.utils.book_append_sheet(workbook, worksheet, dateKey);\r\n            });\r\n            \r\n            \/\/ Add Platform Payments Sheet\r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            if (Object.keys(platformPayments).length > 0) {\r\n                const platformSheet = [];\r\n                platformSheet.push(['PLATFORM PAYMENTS (Zomato\/Swiggy)']);\r\n                platformSheet.push([]);\r\n                platformSheet.push(['Date', 'Platform', 'Restaurant', 'Amount']);\r\n                \r\n                let totalPlatform = 0;\r\n                Object.keys(platformPayments).sort().forEach(date => {\r\n                    platformPayments[date].forEach(payment => {\r\n                        platformSheet.push([\r\n                            formatDate(date),\r\n                            payment.platform,\r\n                            payment.restaurant,\r\n                            payment.amount\r\n                        ]);\r\n                        totalPlatform += payment.amount;\r\n                    });\r\n                });\r\n                \r\n                platformSheet.push([]);\r\n                platformSheet.push(['TOTAL PLATFORM PAYMENTS', '', '', totalPlatform]);\r\n                \r\n                const platformWorksheet = XLSX.utils.aoa_to_sheet(platformSheet);\r\n                XLSX.utils.book_append_sheet(workbook, platformWorksheet, 'Platform Payments');\r\n            }\r\n            \r\n            const platformCount = Object.values(platformPayments).reduce((sum, arr) => sum + arr.length, 0);\r\n            \r\n            const filename = `Backup_${new Date().toISOString().split('T')[0]}.xlsx`;\r\n            XLSX.writeFile(workbook, filename);\r\n            \r\n            let message = `\u2705 Complete backup downloaded!\\n\\n`;\r\n            message += `\ud83d\udcc5 ${allDates.length} days\\n`;\r\n            if (platformCount > 0) {\r\n                message += `\ud83d\udecd\ufe0f ${platformCount} platform payments\\n`;\r\n            }\r\n            message += `\\n\ud83d\udcbe File: ${filename}\\n`;\r\n            message += `\\n\u2705 Save this file safely!`;\r\n            \r\n            alert(message);\r\n        }\r\n\r\n        \/\/ Print Today\r\n        function printToday() {\r\n            window.print();\r\n        }\r\n\r\n        \/\/ Share Options\r\n        function showShareOptions() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udce4 Share Report';\r\n            \r\n            const today = new Date();\r\n            const todayStr = today.toISOString().split('T')[0];\r\n            const weekAgo = new Date(today);\r\n            weekAgo.setDate(weekAgo.getDate() - 7);\r\n            const weekAgoStr = weekAgo.toISOString().split('T')[0];\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"display: grid; gap: 10px;\">\r\n                        <button onclick=\"shareToday(); closeModal();\" style=\"padding: 15px; background: linear-gradient(135deg, #48bb78 0%, #38a169 100%); color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 1em;\">\r\n                            \ud83d\udcf1 Share Today's Report\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div class=\"summary-section\">\r\n                    <div class=\"summary-title\">\ud83d\udcc5 Share Date Range Report<\/div>\r\n                    <div style=\"display: grid; gap: 10px;\">\r\n                        <div>\r\n                            <label style=\"display: block; margin-bottom: 5px; font-weight: 600; color: #2d3748;\">From Date (A):<\/label>\r\n                            <input type=\"date\" id=\"shareDateFrom\" value=\"${weekAgoStr}\" style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px; font-size: 1em;\">\r\n                        <\/div>\r\n                        <div>\r\n                            <label style=\"display: block; margin-bottom: 5px; font-weight: 600; color: #2d3748;\">To Date (B):<\/label>\r\n                            <input type=\"date\" id=\"shareDateTo\" value=\"${todayStr}\" style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px; font-size: 1em;\">\r\n                        <\/div>\r\n                        <button onclick=\"shareCustomRange()\" style=\"padding: 12px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 1em;\">\r\n                            \ud83d\udce4 Share Custom Range\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        function shareCustomRange() {\r\n            const dateFrom = document.getElementById('shareDateFrom').value;\r\n            const dateTo = document.getElementById('shareDateTo').value;\r\n            \r\n            if (!dateFrom || !dateTo) {\r\n                alert('Please select both dates!');\r\n                return;\r\n            }\r\n            \r\n            if (new Date(dateFrom) > new Date(dateTo)) {\r\n                alert('From Date should be before To Date!');\r\n                return;\r\n            }\r\n            \r\n            const startDate = new Date(dateFrom);\r\n            const endDate = new Date(dateTo);\r\n            \r\n            let shareText = `\ud83d\udcca DAILY ACCOUNTS REPORT\\n`;\r\n            shareText += `\ud83d\udcc5 Period: ${formatDate(dateFrom)} to ${formatDate(dateTo)}\\n`;\r\n            shareText += `${'='.repeat(40)}\\n\\n`;\r\n            \r\n            let totalCash = 0, totalOnline = 0, totalPending = 0, totalPurchase = 0, totalCashout = 0;\r\n            let openingBalance = 0;\r\n            \r\n            \/\/ Calculate opening balance\r\n            const allDates = Object.keys(data).sort();\r\n            allDates.forEach(dateKey => {\r\n                if (dateKey < dateFrom) {\r\n                    const dayData = data[dateKey];\r\n                    const dayToggles = dayData.toggleStates || {\r\n                        cash: true, online: true, pending: false, purchase: false, cashout: true\r\n                    };\r\n                    \r\n                    const cash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                    const online = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                    const pending = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                    const purchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    const cashout = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    if (dayToggles.cash) openingBalance += cash;\r\n                    if (dayToggles.online) openingBalance += online;\r\n                    if (dayToggles.pending) openingBalance += pending;\r\n                    if (dayToggles.purchase) openingBalance -= purchase;\r\n                    if (dayToggles.cashout) openingBalance -= cashout;\r\n                }\r\n            });\r\n            \r\n            shareText += `\ud83d\udcbc OPENING BALANCE: \u20b9${openingBalance.toLocaleString('en-IN')}\\n\\n`;\r\n            \r\n            \/\/ Loop through date range\r\n            for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\r\n                const dateKey = d.toISOString().split('T')[0];\r\n                \r\n                if (data[dateKey]) {\r\n                    const dayData = data[dateKey];\r\n                    \r\n                    const dayCash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                    const dayOnline = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                    const dayPending = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                    const dayPurchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    const dayCashout = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    totalCash += dayCash;\r\n                    totalOnline += dayOnline;\r\n                    totalPending += dayPending;\r\n                    totalPurchase += dayPurchase;\r\n                    totalCashout += dayCashout;\r\n                    \r\n                    shareText += `\ud83d\udcc5 ${formatDate(dateKey)}\\n`;\r\n                    shareText += `\ud83d\udcb5 Cash: \u20b9${dayCash.toLocaleString('en-IN')} | `;\r\n                    shareText += `\ud83d\udcb3 Online: \u20b9${dayOnline.toLocaleString('en-IN')}\\n`;\r\n                    shareText += `\u23f3 Pending: \u20b9${dayPending.toLocaleString('en-IN')} | `;\r\n                    shareText += `\ud83d\uded2 Purchase: \u20b9${dayPurchase.toLocaleString('en-IN')}\\n`;\r\n                    shareText += `\ud83d\udcb8 Cashout: \u20b9${dayCashout.toLocaleString('en-IN')}\\n\\n`;\r\n                }\r\n            }\r\n            \r\n            shareText += `${'='.repeat(40)}\\n`;\r\n            shareText += `\ud83d\udcca PERIOD TOTALS:\\n`;\r\n            shareText += `\ud83d\udcb5 Total Cash: \u20b9${totalCash.toLocaleString('en-IN')}\\n`;\r\n            shareText += `\ud83d\udcb3 Total Online: \u20b9${totalOnline.toLocaleString('en-IN')}\\n`;\r\n            shareText += `\u23f3 Total Pending: \u20b9${totalPending.toLocaleString('en-IN')}\\n`;\r\n            shareText += `\ud83d\uded2 Total Purchase: \u20b9${totalPurchase.toLocaleString('en-IN')}\\n`;\r\n            shareText += `\ud83d\udcb8 Total Cashout: \u20b9${totalCashout.toLocaleString('en-IN')}\\n\\n`;\r\n            \r\n            const closingBalance = openingBalance + totalCash + totalOnline + totalPending - totalPurchase - totalCashout;\r\n            shareText += `\ud83c\udfc6 CLOSING BALANCE: \u20b9${closingBalance.toLocaleString('en-IN')}`;\r\n            \r\n            closeModal();\r\n            \r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: 'Daily Accounts Report',\r\n                    text: shareText\r\n                }).catch(err => {\r\n                    copyToClipboard(shareText);\r\n                });\r\n            } else {\r\n                copyToClipboard(shareText);\r\n            }\r\n        }\r\n        \r\n        \/\/ Share Today\r\n        function shareToday() {\r\n            const dateKey = getCurrentDateKey();\r\n            const currentData = data[dateKey] || { sell: [], purchase: [], cashout: [] };\r\n            \r\n            const sellTotal = currentData.sell.reduce((sum, e) => sum + e.amount, 0);\r\n            const purchaseTotal = currentData.purchase.reduce((sum, e) => sum + e.amount, 0);\r\n            const cashoutTotal = currentData.cashout.reduce((sum, e) => sum + e.amount, 0);\r\n            \r\n            const cashTotal = currentData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n            const onlineTotal = currentData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n            const pendingTotal = currentData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n            \r\n            const prevBalance = getPreviousDayBalance();\r\n            \r\n            let grandTotal = prevBalance;\r\n            if (toggleStates.cash) grandTotal += cashTotal;\r\n            if (toggleStates.online) grandTotal += onlineTotal;\r\n            if (toggleStates.pending) grandTotal += pendingTotal;\r\n            if (toggleStates.purchase) grandTotal -= purchaseTotal;\r\n            if (toggleStates.cashout) grandTotal -= cashoutTotal;\r\n            \r\n            const storeName = localStorage.getItem('storeName') || 'Daily Accounts';\r\n            \r\n            let shareText = `\ud83d\udcca ${storeName}\\n`;\r\n            shareText += `${'='.repeat(40)}\\n`;\r\n            shareText += `Date: ${formatDate(dateKey)}\\n`;\r\n            shareText += `${'='.repeat(40)}\\n\\n`;\r\n            \r\n            shareText += `\ud83d\udcbc PREVIOUS BALANCE: \u20b9${prevBalance.toLocaleString('en-IN')}\\n\\n`;\r\n            \r\n            \/\/ SELL DETAILS\r\n            shareText += `\ud83d\udcb0 SELL DETAILS:\\n`;\r\n            \r\n            if (currentData.sell.filter(e => e.payment === 'cash').length > 0) {\r\n                shareText += `\ud83d\udcb5 CASH:\\n`;\r\n                currentData.sell.filter(e => e.payment === 'cash').forEach(item => {\r\n                    shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                });\r\n                shareText += `  Cash Total: \u20b9${cashTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            }\r\n            \r\n            if (currentData.sell.filter(e => e.payment === 'online').length > 0) {\r\n                shareText += `\ud83d\udcb3 ONLINE:\\n`;\r\n                currentData.sell.filter(e => e.payment === 'online').forEach(item => {\r\n                    shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                });\r\n                shareText += `  Online Total: \u20b9${onlineTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            }\r\n            \r\n            if (currentData.sell.filter(e => e.payment === 'pending').length > 0) {\r\n                shareText += `\u23f3 PENDING:\\n`;\r\n                currentData.sell.filter(e => e.payment === 'pending').forEach(item => {\r\n                    shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                });\r\n                shareText += `  Pending Total: \u20b9${pendingTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            }\r\n            \r\n            shareText += `TOTAL SELL: \u20b9${sellTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            \r\n            \/\/ PURCHASE DETAILS\r\n            if (currentData.purchase.length > 0) {\r\n                shareText += `\ud83d\uded2 PURCHASE DETAILS:\\n`;\r\n                currentData.purchase.forEach(item => {\r\n                    shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                });\r\n                shareText += `TOTAL PURCHASE: \u20b9${purchaseTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            }\r\n            \r\n            \/\/ CASHOUT DETAILS\r\n            if (currentData.cashout.length > 0) {\r\n                shareText += `\ud83d\udcb8 CASHOUT DETAILS:\\n`;\r\n                \r\n                const kharchItems = currentData.cashout.filter(e => !e.type || e.type === 'kharch');\r\n                const advanceItems = currentData.cashout.filter(e => e.type === 'advance');\r\n                \r\n                if (kharchItems.length > 0) {\r\n                    shareText += `KHARCH:\\n`;\r\n                    kharchItems.forEach(item => {\r\n                        shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                    });\r\n                    const kharchTotal = kharchItems.reduce((s, e) => s + e.amount, 0);\r\n                    shareText += `  Kharch Total: \u20b9${kharchTotal.toLocaleString('en-IN')}\\n\\n`;\r\n                }\r\n                \r\n                if (advanceItems.length > 0) {\r\n                    shareText += `ADVANCE:\\n`;\r\n                    advanceItems.forEach(item => {\r\n                        shareText += `  \u2022 ${item.item}: \u20b9${item.amount.toLocaleString('en-IN')}\\n`;\r\n                    });\r\n                    const advanceTotal = advanceItems.reduce((s, e) => s + e.amount, 0);\r\n                    shareText += `  Advance Total: \u20b9${advanceTotal.toLocaleString('en-IN')}\\n\\n`;\r\n                }\r\n                \r\n                shareText += `TOTAL CASHOUT: \u20b9${cashoutTotal.toLocaleString('en-IN')}\\n\\n`;\r\n            }\r\n            \r\n            shareText += `${'='.repeat(40)}\\n`;\r\n            shareText += `\ud83c\udfc6 GRAND TOTAL: \u20b9${grandTotal.toLocaleString('en-IN')}\\n`;\r\n            shareText += `${'='.repeat(40)}`;\r\n            \r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: 'Daily Accounts',\r\n                    text: shareText\r\n                }).catch(err => {\r\n                    copyToClipboard(shareText);\r\n                });\r\n            } else {\r\n                copyToClipboard(shareText);\r\n            }\r\n        }\r\n\r\n        function copyToClipboard(text) {\r\n            navigator.clipboard.writeText(text).then(() => {\r\n                alert('Report copied to clipboard! You can paste it anywhere.');\r\n            });\r\n        }\r\n\r\n        \/\/ Show Summary Modal\r\n        function showSummary() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udcca Custom Date Range Summary';\r\n            \r\n            const today = new Date();\r\n            const todayStr = today.toISOString().split('T')[0];\r\n            const weekAgo = new Date(today);\r\n            weekAgo.setDate(weekAgo.getDate() - 7);\r\n            const weekAgoStr = weekAgo.toISOString().split('T')[0];\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div class=\"summary-title\">\ud83d\udcc5 Select Date Range<\/div>\r\n                    <div style=\"display: grid; gap: 10px; margin-bottom: 15px;\">\r\n                        <div>\r\n                            <label style=\"display: block; margin-bottom: 5px; font-weight: 600; color: #2d3748;\">From Date (A):<\/label>\r\n                            <input type=\"date\" id=\"dateFrom\" value=\"${weekAgoStr}\" style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px; font-size: 1em;\">\r\n                        <\/div>\r\n                        <div>\r\n                            <label style=\"display: block; margin-bottom: 5px; font-weight: 600; color: #2d3748;\">To Date (B):<\/label>\r\n                            <input type=\"date\" id=\"dateTo\" value=\"${todayStr}\" style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px; font-size: 1em;\">\r\n                        <\/div>\r\n                        <button onclick=\"generateCustomSummary()\" style=\"padding: 12px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 1em;\">\r\n                            \ud83d\udcca Generate Summary\r\n                        <\/button>\r\n                    <\/div>\r\n                    \r\n                    <div id=\"customSummaryResult\"><\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        function generateCustomSummary() {\r\n            const dateFrom = document.getElementById('dateFrom').value;\r\n            const dateTo = document.getElementById('dateTo').value;\r\n            \r\n            if (!dateFrom || !dateTo) {\r\n                alert('Please select both dates!');\r\n                return;\r\n            }\r\n            \r\n            if (new Date(dateFrom) > new Date(dateTo)) {\r\n                alert('From Date should be before To Date!');\r\n                return;\r\n            }\r\n            \r\n            const result = document.getElementById('customSummaryResult');\r\n            \r\n            \/\/ Generate day by day summary\r\n            let html = '<div class=\"summary-section\" style=\"margin-top: 20px;\">';\r\n            html += '<div class=\"summary-title\">\ud83d\udccb Day by Day Breakdown<\/div>';\r\n            html += '<div style=\"max-height: 400px; overflow-y: auto;\">';\r\n            \r\n            const startDate = new Date(dateFrom);\r\n            const endDate = new Date(dateTo);\r\n            let totalCash = 0, totalOnline = 0, totalPending = 0, totalPurchase = 0, totalCashout = 0;\r\n            let runningBalance = 0;\r\n            \r\n            \/\/ Calculate opening balance (balance before start date)\r\n            const daysBeforeStart = Math.floor((startDate - new Date().setHours(0,0,0,0)) \/ (1000 * 60 * 60 * 24));\r\n            \r\n            for (let offset = 0; offset < daysBeforeStart; offset++) {\r\n                const date = new Date();\r\n                date.setDate(date.getDate() + offset);\r\n                const dateKey = date.toISOString().split('T')[0];\r\n                \r\n                if (data[dateKey]) {\r\n                    const dayData = data[dateKey];\r\n                    const dayToggles = dayData.toggleStates || {\r\n                        cash: true, online: true, pending: false, purchase: false, cashout: true\r\n                    };\r\n                    \r\n                    const cash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                    const online = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                    const pending = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                    const purchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    const cashout = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    if (dayToggles.cash) runningBalance += cash;\r\n                    if (dayToggles.online) runningBalance += online;\r\n                    if (dayToggles.pending) runningBalance += pending;\r\n                    if (dayToggles.purchase) runningBalance -= purchase;\r\n                    if (dayToggles.cashout) runningBalance -= cashout;\r\n                }\r\n            }\r\n            \r\n            \/\/ Show opening balance\r\n            html += `\r\n                <div style=\"background: #e3f2fd; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #2196f3;\">\r\n                    <div style=\"font-weight: 700; color: #1565c0; font-size: 1.1em;\">Opening Balance (before ${formatDate(dateFrom)})<\/div>\r\n                    <div style=\"font-size: 1.5em; font-weight: 700; color: #1976d2; margin-top: 5px;\">\u20b9${runningBalance.toLocaleString('en-IN')}<\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            \/\/ Loop through selected date range\r\n            for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\r\n                const dateKey = d.toISOString().split('T')[0];\r\n                \r\n                let dayCash = 0, dayOnline = 0, dayPending = 0, dayPurchase = 0, dayCashout = 0;\r\n                let dayBalance = 0;\r\n                \r\n                if (data[dateKey]) {\r\n                    const dayData = data[dateKey];\r\n                    const dayToggles = dayData.toggleStates || {\r\n                        cash: true, online: true, pending: false, purchase: false, cashout: true\r\n                    };\r\n                    \r\n                    dayCash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                    dayOnline = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                    dayPending = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                    dayPurchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                    dayCashout = dayData.cashout.reduce((s, e) => s + e.amount, 0);\r\n                    \r\n                    \/\/ Calculate day's contribution to balance\r\n                    if (dayToggles.cash) dayBalance += dayCash;\r\n                    if (dayToggles.online) dayBalance += dayOnline;\r\n                    if (dayToggles.pending) dayBalance += dayPending;\r\n                    if (dayToggles.purchase) dayBalance -= dayPurchase;\r\n                    if (dayToggles.cashout) dayBalance -= dayCashout;\r\n                    \r\n                    runningBalance += dayBalance;\r\n                    \r\n                    totalCash += dayCash;\r\n                    totalOnline += dayOnline;\r\n                    totalPending += dayPending;\r\n                    totalPurchase += dayPurchase;\r\n                    totalCashout += dayCashout;\r\n                }\r\n                \r\n                const hasData = data[dateKey] && (dayCash > 0 || dayOnline > 0 || dayPending > 0 || dayPurchase > 0 || dayCashout > 0);\r\n                \r\n                html += `\r\n                    <div style=\"background: ${hasData ? 'white' : '#f7fafc'}; padding: 12px; margin-bottom: 10px; border-radius: 8px; border: 1px solid ${hasData ? '#e2e8f0' : '#edf2f7'};\">\r\n                        <div style=\"font-weight: 700; color: #2d3748; margin-bottom: 8px; font-size: 1em;\">\r\n                            ${formatDate(dateKey)}\r\n                        <\/div>\r\n                        <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 8px; font-size: 0.9em;\">\r\n                            <div>\r\n                                <div style=\"color: #718096; font-size: 0.85em;\">\ud83d\udcb5 Cash<\/div>\r\n                                <div style=\"font-weight: 600; color: #48bb78;\">\u20b9${dayCash.toLocaleString('en-IN')}<\/div>\r\n                            <\/div>\r\n                            <div>\r\n                                <div style=\"color: #718096; font-size: 0.85em;\">\ud83d\udcb3 Online<\/div>\r\n                                <div style=\"font-weight: 600; color: #3182ce;\">\u20b9${dayOnline.toLocaleString('en-IN')}<\/div>\r\n                            <\/div>\r\n                            <div>\r\n                                <div style=\"color: #718096; font-size: 0.85em;\">\u23f3 Pending<\/div>\r\n                                <div style=\"font-weight: 600; color: #ed8936;\">\u20b9${dayPending.toLocaleString('en-IN')}<\/div>\r\n                            <\/div>\r\n                            <div>\r\n                                <div style=\"color: #718096; font-size: 0.85em;\">\ud83d\uded2 Purchase<\/div>\r\n                                <div style=\"font-weight: 600; color: #f56565;\">\u20b9${dayPurchase.toLocaleString('en-IN')}<\/div>\r\n                            <\/div>\r\n                            <div>\r\n                                <div style=\"color: #718096; font-size: 0.85em;\">\ud83d\udcb8 Cashout<\/div>\r\n                                <div style=\"font-weight: 600; color: #fc8181;\">\u20b9${dayCashout.toLocaleString('en-IN')}<\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div style=\"margin-top: 10px; padding-top: 10px; border-top: 1px solid #e2e8f0;\">\r\n                            <div style=\"display: flex; justify-content: space-between; align-items: center;\">\r\n                                <span style=\"color: #718096; font-size: 0.9em;\">Day Balance:<\/span>\r\n                                <span style=\"font-weight: 700; color: ${dayBalance >= 0 ? '#48bb78' : '#f56565'}; font-size: 1.1em;\">\r\n                                    ${dayBalance >= 0 ? '+' : ''}\u20b9${dayBalance.toLocaleString('en-IN')}\r\n                                <\/span>\r\n                            <\/div>\r\n                            <div style=\"display: flex; justify-content: space-between; align-items: center; margin-top: 5px;\">\r\n                                <span style=\"color: #2d3748; font-weight: 600; font-size: 0.95em;\">Running Balance:<\/span>\r\n                                <span style=\"font-weight: 700; color: #667eea; font-size: 1.2em;\">\u20b9${runningBalance.toLocaleString('en-IN')}<\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            }\r\n            \r\n            html += '<\/div><\/div>';\r\n            \r\n            \/\/ Total Summary\r\n            html += `\r\n                <div class=\"summary-section\" style=\"margin-top: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 20px; border-radius: 12px; color: white;\">\r\n                    <div class=\"summary-title\" style=\"color: white; border-bottom-color: rgba(255,255,255,0.3);\">\ud83d\udcca TOTAL SUMMARY<\/div>\r\n                    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 15px; margin-top: 15px;\">\r\n                        <div style=\"background: rgba(255,255,255,0.15); padding: 12px; border-radius: 8px; backdrop-filter: blur(10px);\">\r\n                            <div style=\"font-size: 0.85em; opacity: 0.9; margin-bottom: 5px;\">\ud83d\udcb5 Total Cash<\/div>\r\n                            <div style=\"font-size: 1.3em; font-weight: 700;\">\u20b9${totalCash.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                        <div style=\"background: rgba(255,255,255,0.15); padding: 12px; border-radius: 8px; backdrop-filter: blur(10px);\">\r\n                            <div style=\"font-size: 0.85em; opacity: 0.9; margin-bottom: 5px;\">\ud83d\udcb3 Total Online<\/div>\r\n                            <div style=\"font-size: 1.3em; font-weight: 700;\">\u20b9${totalOnline.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                        <div style=\"background: rgba(255,255,255,0.15); padding: 12px; border-radius: 8px; backdrop-filter: blur(10px);\">\r\n                            <div style=\"font-size: 0.85em; opacity: 0.9; margin-bottom: 5px;\">\u23f3 Total Pending<\/div>\r\n                            <div style=\"font-size: 1.3em; font-weight: 700;\">\u20b9${totalPending.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                        <div style=\"background: rgba(255,255,255,0.15); padding: 12px; border-radius: 8px; backdrop-filter: blur(10px);\">\r\n                            <div style=\"font-size: 0.85em; opacity: 0.9; margin-bottom: 5px;\">\ud83d\uded2 Total Purchase<\/div>\r\n                            <div style=\"font-size: 1.3em; font-weight: 700;\">\u20b9${totalPurchase.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                        <div style=\"background: rgba(255,255,255,0.15); padding: 12px; border-radius: 8px; backdrop-filter: blur(10px);\">\r\n                            <div style=\"font-size: 0.85em; opacity: 0.9; margin-bottom: 5px;\">\ud83d\udcb8 Total Cashout<\/div>\r\n                            <div style=\"font-size: 1.3em; font-weight: 700;\">\u20b9${totalCashout.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-top: 20px; padding: 20px; background: rgba(255,255,255,0.2); border-radius: 10px; backdrop-filter: blur(15px);\">\r\n                        <div style=\"font-size: 1.1em; opacity: 0.9; margin-bottom: 8px;\">\ud83c\udfc6 FINAL BALANCE<\/div>\r\n                        <div style=\"font-size: 2.5em; font-weight: 700;\">\u20b9${runningBalance.toLocaleString('en-IN')}<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            result.innerHTML = html;\r\n        }\r\n\r\n        \/\/ Show Pending Reminder\r\n        function showPendingReminder() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            let allPending = [];\r\n            \r\n            Object.keys(data).forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                const pendingItems = dayData.sell.filter(e => e.payment === 'pending');\r\n                \r\n                if (pendingItems.length > 0) {\r\n                    allPending.push({\r\n                        date: dateKey,\r\n                        items: pendingItems\r\n                    });\r\n                }\r\n            });\r\n            \r\n            document.getElementById('modalTitle').textContent = '\u23f3 Pending Payments Reminder';\r\n            \r\n            if (allPending.length === 0) {\r\n                modalBody.innerHTML = `\r\n                    <div class=\"pending-alert\">\r\n                        <div class=\"pending-alert-title\">\u2705 Great News!<\/div>\r\n                        <div>No pending payments found!<\/div>\r\n                    <\/div>\r\n                `;\r\n            } else {\r\n                let totalPending = 0;\r\n                let html = '';\r\n                \r\n                allPending.forEach(day => {\r\n                    const dayTotal = day.items.reduce((s, e) => s + e.amount, 0);\r\n                    totalPending += dayTotal;\r\n                    \r\n                    html += `<div class=\"summary-section\">\r\n                        <div class=\"summary-title\">${formatDate(day.date)}<\/div>`;\r\n                    \r\n                    day.items.forEach(item => {\r\n                        html += `<div class=\"pending-item\">\u2022 ${item.item} - \u20b9${item.amount.toLocaleString('en-IN')}<\/div>`;\r\n                    });\r\n                    \r\n                    html += `<div class=\"summary-row\">\r\n                        <span>Day Total:<\/span>\r\n                        <span style=\"color: #ed8936; font-weight: 700;\">\u20b9${dayTotal.toLocaleString('en-IN')}<\/span>\r\n                    <\/div><\/div>`;\r\n                });\r\n                \r\n                html = `<div class=\"pending-alert\">\r\n                    <div class=\"pending-alert-title\">\u26a0\ufe0f Total Pending Amount<\/div>\r\n                    <div style=\"font-size: 1.5em; font-weight: 700; color: #7c2d12;\">\u20b9${totalPending.toLocaleString('en-IN')}<\/div>\r\n                <\/div>` + html;\r\n                \r\n                modalBody.innerHTML = html;\r\n            }\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n\r\n        \/\/ Show Advance Reminder\r\n        function showAdvanceReminder() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            let allAdvances = [];\r\n            \r\n            Object.keys(data).forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                const advanceItems = dayData.cashout.filter(e => e.type === 'advance');\r\n                \r\n                if (advanceItems.length > 0) {\r\n                    allAdvances.push({\r\n                        date: dateKey,\r\n                        items: advanceItems\r\n                    });\r\n                }\r\n            });\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udcb0 Advance Payments Tracker';\r\n            \r\n            if (allAdvances.length === 0) {\r\n                modalBody.innerHTML = `\r\n                    <div class=\"pending-alert\" style=\"background: #e9d8fd; border-left-color: #805ad5;\">\r\n                        <div class=\"pending-alert-title\" style=\"color: #44337a;\">\u2705 No Advances!<\/div>\r\n                        <div style=\"color: #44337a;\">No advance payments found!<\/div>\r\n                    <\/div>\r\n                `;\r\n            } else {\r\n                let totalAdvance = 0;\r\n                let html = '';\r\n                \r\n                allAdvances.forEach(day => {\r\n                    const dayTotal = day.items.reduce((s, e) => s + e.amount, 0);\r\n                    totalAdvance += dayTotal;\r\n                    \r\n                    html += `<div class=\"summary-section\">\r\n                        <div class=\"summary-title\">${formatDate(day.date)}<\/div>`;\r\n                    \r\n                    day.items.forEach(item => {\r\n                        html += `<div class=\"pending-item\">\u2022 ${item.item} - \u20b9${item.amount.toLocaleString('en-IN')}<\/div>`;\r\n                    });\r\n                    \r\n                    html += `<div class=\"summary-row\">\r\n                        <span>Day Total:<\/span>\r\n                        <span style=\"color: #805ad5; font-weight: 700;\">\u20b9${dayTotal.toLocaleString('en-IN')}<\/span>\r\n                    <\/div><\/div>`;\r\n                });\r\n                \r\n                html = `<div class=\"pending-alert\" style=\"background: #e9d8fd; border-left-color: #805ad5;\">\r\n                    <div class=\"pending-alert-title\" style=\"color: #44337a;\">\ud83d\udcb0 Total Advance Given<\/div>\r\n                    <div style=\"font-size: 1.5em; font-weight: 700; color: #44337a;\">\u20b9${totalAdvance.toLocaleString('en-IN')}<\/div>\r\n                <\/div>` + html;\r\n                \r\n                modalBody.innerHTML = html;\r\n            }\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n\r\n        \/\/ Open P&L in full screen mode\r\n        function openPLPage() {\r\n            showPLDashboard();\r\n            \r\n            \/\/ Make modal full screen after a tiny delay to ensure it's rendered\r\n            setTimeout(() => {\r\n                const modal = document.getElementById('summaryModal');\r\n                if (modal) {\r\n                    modal.style.padding = '0';\r\n                    const modalContent = modal.querySelector('.modal-content');\r\n                    if (modalContent) {\r\n                        modalContent.style.maxWidth = '100%';\r\n                        modalContent.style.width = '100%';\r\n                        modalContent.style.maxHeight = '100vh';\r\n                        modalContent.style.height = '100vh';\r\n                        modalContent.style.borderRadius = '0';\r\n                        modalContent.style.margin = '0';\r\n                    }\r\n                }\r\n            }, 50);\r\n        }\r\n\r\n        \/\/ P&L Dashboard\r\n        function showPLDashboard() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udcc8 Profit & Loss Dashboard';\r\n            \r\n            const today = new Date();\r\n            const currentMonth = today.toISOString().slice(0, 7);\r\n            \r\n            \/\/ Get saved partners and fixed expenses\r\n            const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 8px; margin-bottom: 20px;\">\r\n                        <div style=\"font-weight: 700; font-size: 1.2em; margin-bottom: 5px;\">\ud83d\udcca Complete Profit & Loss Statement<\/div>\r\n                        <div style=\"font-size: 0.9em; opacity: 0.95;\">Date-wise breakdown with partner profit sharing<\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 20px;\">\r\n                        <label style=\"display: block; margin-bottom: 8px; font-weight: 600; color: #2d3748;\">\r\n                            \ud83d\udcc5 Select Month:\r\n                        <\/label>\r\n                        <input type=\"month\" id=\"plMonth\" value=\"${currentMonth}\" onchange=\"updatePLDashboard()\"\r\n                            style=\"width: 100%; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em;\">\r\n                    <\/div>\r\n                    \r\n                    <div id=\"plDashboardContent\"><\/div>\r\n                    \r\n                    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 20px;\">\r\n                        <button onclick=\"exportPLToExcel()\" \r\n                            style=\"padding: 14px; background: linear-gradient(135deg, #48bb78, #38a169); color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1em; box-shadow: 0 4px 12px rgba(72, 187, 120, 0.3);\">\r\n                            \ud83d\udce5 Export Excel\r\n                        <\/button>\r\n                        <button onclick=\"managePartners()\" \r\n                            style=\"padding: 14px; background: #667eea; color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1em;\">\r\n                            \ud83d\udc65 Partners\r\n                        <\/button>\r\n                        <button onclick=\"manageFixedExpenses()\" \r\n                            style=\"padding: 14px; background: #ed8936; color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1em;\">\r\n                            \ud83d\udcbc Fixed Exp\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            \/\/ Make modal content wider for P&L\r\n            const modalContent = modal.querySelector('.modal-content');\r\n            if (modalContent) {\r\n                modalContent.style.maxWidth = '95%';\r\n                modalContent.style.width = '1200px';\r\n            }\r\n            \r\n            modal.classList.add('active');\r\n            updatePLDashboard();\r\n        }\r\n        \r\n        \/\/ Platform Payments Management\r\n        function addPlatformPayment() {\r\n            const date = document.getElementById('platformDate').value;\r\n            const platform = document.getElementById('platformType').value;\r\n            const amount = parseFloat(document.getElementById('platformAmount').value);\r\n            \r\n            if (!date || !amount || amount <= 0) {\r\n                alert('Please enter valid date and amount!');\r\n                return;\r\n            }\r\n            \r\n            \/\/ Get platform payments from localStorage\r\n            let platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            \r\n            if (!platformPayments[date]) {\r\n                platformPayments[date] = [];\r\n            }\r\n            \r\n            platformPayments[date].push({\r\n                platform: platform,\r\n                amount: amount,\r\n                timestamp: new Date().toISOString()\r\n            });\r\n            \r\n            localStorage.setItem('platformPayments', JSON.stringify(platformPayments));\r\n            \r\n            \/\/ Clear inputs\r\n            document.getElementById('platformAmount').value = '';\r\n            \r\n            \/\/ Refresh display\r\n            updatePlatformPaymentsList();\r\n            updatePLDashboard();\r\n            \r\n            alert(`\u2705 ${platform} payment of \u20b9${amount.toLocaleString('en-IN')} added!`);\r\n        }\r\n        \r\n        function deletePlatformPayment(date, index) {\r\n            if (confirm('Delete this platform payment?')) {\r\n                let platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n                \r\n                if (platformPayments[date]) {\r\n                    platformPayments[date].splice(index, 1);\r\n                    \r\n                    \/\/ Remove date key if no payments left\r\n                    if (platformPayments[date].length === 0) {\r\n                        delete platformPayments[date];\r\n                    }\r\n                }\r\n                \r\n                localStorage.setItem('platformPayments', JSON.stringify(platformPayments));\r\n                updatePlatformPaymentsList();\r\n                updatePLDashboard();\r\n            }\r\n        }\r\n        \r\n        \/\/ Show Platform Payments Modal (Simplified)\r\n        function showPlatformPayments() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            const today = new Date().toISOString().split('T')[0];\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udecd\ufe0f Platform Payments (Zomato\/Swiggy)';\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); padding: 20px; border-radius: 12px; margin-bottom: 20px; color: white;\">\r\n                        <div style=\"font-weight: 700; font-size: 1.3em; margin-bottom: 15px;\">\r\n                            \u2795 Add New Payment\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: grid; gap: 12px; background: rgba(255,255,255,0.15); padding: 20px; border-radius: 10px;\">\r\n                            <div>\r\n                                <label style=\"display: block; margin-bottom: 6px; font-weight: 600;\">\ud83c\udfea Restaurant Name:<\/label>\r\n                                <input type=\"text\" id=\"platformRestaurant\" placeholder=\"e.g., Pizza Hut, McDonald's\"\r\n                                    style=\"width: 100%; padding: 12px; border: 2px solid rgba(255,255,255,0.3); border-radius: 8px; font-size: 1em; background: white; color: #2d3748;\">\r\n                            <\/div>\r\n                            \r\n                            <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 12px;\">\r\n                                <div>\r\n                                    <label style=\"display: block; margin-bottom: 6px; font-weight: 600;\">\ud83d\udcb0 Amount:<\/label>\r\n                                    <input type=\"number\" id=\"platformAmountInput\" placeholder=\"Amount\"\r\n                                        style=\"width: 100%; padding: 12px; border: 2px solid rgba(255,255,255,0.3); border-radius: 8px; font-size: 1em; background: white; color: #2d3748;\">\r\n                                <\/div>\r\n                                \r\n                                <div>\r\n                                    <label style=\"display: block; margin-bottom: 6px; font-weight: 600;\">\ud83d\udcc5 Date:<\/label>\r\n                                    <input type=\"date\" id=\"platformDateInput\" value=\"${today}\"\r\n                                        style=\"width: 100%; padding: 12px; border: 2px solid rgba(255,255,255,0.3); border-radius: 8px; font-size: 1em; background: white; color: #2d3748;\">\r\n                                <\/div>\r\n                            <\/div>\r\n                            \r\n                            <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px;\">\r\n                                <button onclick=\"addPlatformPaymentSimple('Zomato')\" \r\n                                    style=\"padding: 15px; background: #dc2626; color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1.1em; box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4);\">\r\n                                    \ud83d\udd34 Add Zomato\r\n                                <\/button>\r\n                                <button onclick=\"addPlatformPaymentSimple('Swiggy')\" \r\n                                    style=\"padding: 15px; background: #f97316; color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1.1em; box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4);\">\r\n                                    \ud83d\udfe0 Add Swiggy\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div id=\"platformHistoryList\"><\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n            loadPlatformHistory();\r\n        }\r\n        \r\n        function addPlatformPaymentSimple(platform) {\r\n            const restaurant = document.getElementById('platformRestaurant').value.trim();\r\n            const amount = parseFloat(document.getElementById('platformAmountInput').value);\r\n            const date = document.getElementById('platformDateInput').value;\r\n            \r\n            if (!restaurant || !amount || amount <= 0 || !date) {\r\n                alert('Please fill all fields correctly!');\r\n                return;\r\n            }\r\n            \r\n            let platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            \r\n            if (!platformPayments[date]) {\r\n                platformPayments[date] = [];\r\n            }\r\n            \r\n            platformPayments[date].push({\r\n                platform: platform,\r\n                restaurant: restaurant,\r\n                amount: amount,\r\n                timestamp: new Date().toISOString()\r\n            });\r\n            \r\n            localStorage.setItem('platformPayments', JSON.stringify(platformPayments));\r\n            \r\n            document.getElementById('platformRestaurant').value = '';\r\n            document.getElementById('platformAmountInput').value = '';\r\n            \r\n            loadPlatformHistory();\r\n            \r\n            const color = platform === 'Zomato' ? '\ud83d\udd34' : '\ud83d\udfe0';\r\n            alert(`\u2705 ${color} ${platform} - ${restaurant} payment of \u20b9${amount.toLocaleString('en-IN')} added!`);\r\n        }\r\n        \r\n        function loadPlatformHistory() {\r\n            const container = document.getElementById('platformHistoryList');\r\n            if (!container) return;\r\n            \r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            \r\n            if (Object.keys(platformPayments).length === 0) {\r\n                container.innerHTML = `\r\n                    <div style=\"background: #f7fafc; padding: 30px; border-radius: 12px; text-align: center;\">\r\n                        <div style=\"font-size: 3em; margin-bottom: 10px;\">\ud83d\udcf1<\/div>\r\n                        <div style=\"font-weight: 600; color: #2d3748; margin-bottom: 8px;\">No Platform Payments Yet<\/div>\r\n                        <div style=\"color: #718096;\">Add your first Zomato or Swiggy payment above!<\/div>\r\n                    <\/div>\r\n                `;\r\n                return;\r\n            }\r\n            \r\n            const grouped = {};\r\n            let totalAll = 0;\r\n            \r\n            Object.keys(platformPayments).sort().reverse().forEach(date => {\r\n                const month = date.substring(0, 7);\r\n                if (!grouped[month]) {\r\n                    grouped[month] = { dates: {}, total: 0 };\r\n                }\r\n                grouped[month].dates[date] = platformPayments[date];\r\n                platformPayments[date].forEach(p => {\r\n                    grouped[month].total += p.amount;\r\n                    totalAll += p.amount;\r\n                });\r\n            });\r\n            \r\n            let html = `\r\n                <div style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 15px; border-radius: 10px; margin-bottom: 20px; color: white; text-align: center;\">\r\n                    <div style=\"font-size: 0.9em; opacity: 0.9; margin-bottom: 5px;\">Total All-Time Platform Payments<\/div>\r\n                    <div style=\"font-size: 2em; font-weight: 700;\">\u20b9${totalAll.toLocaleString('en-IN')}<\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            Object.keys(grouped).forEach(month => {\r\n                const monthData = grouped[month];\r\n                const monthObj = new Date(month + '-01');\r\n                const monthName = monthObj.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\r\n                \r\n                html += `\r\n                    <div style=\"margin-bottom: 20px;\">\r\n                        <div style=\"background: #f7fafc; padding: 12px 15px; border-radius: 8px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center;\">\r\n                            <span style=\"font-weight: 700; color: #2d3748; font-size: 1.1em;\">\ud83d\udcc5 ${monthName}<\/span>\r\n                            <span style=\"font-weight: 700; color: #667eea; font-size: 1.2em;\">\u20b9${monthData.total.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                `;\r\n                \r\n                Object.keys(monthData.dates).sort().reverse().forEach(date => {\r\n                    monthData.dates[date].forEach((payment, index) => {\r\n                        const dateObj = new Date(date);\r\n                        const formattedDate = dateObj.toLocaleDateString('en-US', { day: 'numeric', month: 'short', year: 'numeric' });\r\n                        \r\n                        const bgColor = payment.platform === 'Zomato' ? '#fee2e2' : '#fed7aa';\r\n                        const textColor = payment.platform === 'Zomato' ? '#dc2626' : '#f97316';\r\n                        const emoji = payment.platform === 'Zomato' ? '\ud83d\udd34' : '\ud83d\udfe0';\r\n                        \r\n                        html += `\r\n                            <div style=\"display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; background: ${bgColor}; border-radius: 8px; margin-bottom: 8px; border-left: 4px solid ${textColor};\">\r\n                                <div style=\"flex: 1;\">\r\n                                    <div style=\"font-weight: 700; color: ${textColor}; margin-bottom: 4px;\">\r\n                                        ${emoji} ${payment.platform} - ${payment.restaurant}\r\n                                    <\/div>\r\n                                    <div style=\"font-size: 0.85em; color: #64748b;\">${formattedDate}<\/div>\r\n                                <\/div>\r\n                                <div style=\"display: flex; align-items: center; gap: 15px;\">\r\n                                    <span style=\"font-weight: 700; font-size: 1.2em; color: ${textColor};\">\u20b9${payment.amount.toLocaleString('en-IN')}<\/span>\r\n                                    <button onclick=\"deletePlatformPaymentSimple('${date}', ${index})\" \r\n                                        style=\"background: #ef4444; color: white; border: none; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.85em;\">\r\n                                        Delete\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        `;\r\n                    });\r\n                });\r\n                \r\n                html += '<\/div>';\r\n            });\r\n            \r\n            container.innerHTML = html;\r\n        }\r\n        \r\n        function deletePlatformPaymentSimple(date, index) {\r\n            if (confirm('Delete this platform payment?')) {\r\n                let platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n                \r\n                if (platformPayments[date]) {\r\n                    platformPayments[date].splice(index, 1);\r\n                    if (platformPayments[date].length === 0) {\r\n                        delete platformPayments[date];\r\n                    }\r\n                }\r\n                \r\n                localStorage.setItem('platformPayments', JSON.stringify(platformPayments));\r\n                loadPlatformHistory();\r\n            }\r\n        }\r\n        \r\n        function updatePlatformPaymentsList() {\r\n            const selectedMonth = document.getElementById('plMonth').value;\r\n            const listContainer = document.getElementById('platformPaymentsList');\r\n            const totalContainer = document.getElementById('platformTotal');\r\n            \r\n            if (!listContainer || !totalContainer) return;\r\n            \r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            \r\n            \/\/ Filter payments for selected month\r\n            const monthPayments = {};\r\n            let monthTotal = 0;\r\n            \r\n            Object.keys(platformPayments).forEach(date => {\r\n                if (date.startsWith(selectedMonth)) {\r\n                    monthPayments[date] = platformPayments[date];\r\n                    platformPayments[date].forEach(payment => {\r\n                        monthTotal += payment.amount;\r\n                    });\r\n                }\r\n            });\r\n            \r\n            \/\/ Display payments\r\n            let html = '';\r\n            \r\n            if (Object.keys(monthPayments).length === 0) {\r\n                html = '<div style=\"text-align: center; padding: 20px; color: rgba(255,255,255,0.7); font-style: italic;\">No platform payments for this month<\/div>';\r\n            } else {\r\n                const sortedDates = Object.keys(monthPayments).sort();\r\n                \r\n                sortedDates.forEach(date => {\r\n                    monthPayments[date].forEach((payment, index) => {\r\n                        const dateObj = new Date(date);\r\n                        const formattedDate = dateObj.toLocaleDateString('en-US', { day: 'numeric', month: 'short' });\r\n                        \r\n                        html += `\r\n                            <div style=\"display: flex; justify-content: space-between; align-items: center; padding: 10px; background: rgba(255,255,255,0.2); border-radius: 6px; margin-bottom: 8px;\">\r\n                                <div style=\"display: flex; gap: 15px; align-items: center; flex: 1;\">\r\n                                    <span style=\"font-weight: 600; min-width: 70px;\">${formattedDate}<\/span>\r\n                                    <span style=\"background: rgba(255,255,255,0.3); padding: 4px 10px; border-radius: 4px; font-size: 0.85em; font-weight: 600;\">${payment.platform}<\/span>\r\n                                    <span style=\"font-weight: 700; font-size: 1.1em;\">\u20b9${payment.amount.toLocaleString('en-IN')}<\/span>\r\n                                <\/div>\r\n                                <button onclick=\"deletePlatformPayment('${date}', ${index})\" \r\n                                    style=\"background: rgba(252, 129, 129, 0.9); color: white; border: none; padding: 6px 12px; border-radius: 5px; cursor: pointer; font-weight: 600;\">\r\n                                    Delete\r\n                                <\/button>\r\n                            <\/div>\r\n                        `;\r\n                    });\r\n                });\r\n            }\r\n            \r\n            listContainer.innerHTML = html;\r\n            totalContainer.textContent = `\u20b9${monthTotal.toLocaleString('en-IN')}`;\r\n        }\r\n        \r\n        function updatePLDashboard() {\r\n            const selectedMonth = document.getElementById('plMonth').value;\r\n            const [year, month] = selectedMonth.split('-');\r\n            \r\n            \/\/ Update platform payments list\r\n            updatePlatformPaymentsList();\r\n            \r\n            \/\/ Get platform payments for this month\r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            let totalPlatformPayments = 0;\r\n            \r\n            Object.keys(platformPayments).forEach(date => {\r\n                if (date.startsWith(selectedMonth)) {\r\n                    platformPayments[date].forEach(payment => {\r\n                        totalPlatformPayments += payment.amount;\r\n                    });\r\n                }\r\n            });\r\n            \r\n            \/\/ Get all dates for selected month\r\n            const allDates = Object.keys(data).filter(date => date.startsWith(selectedMonth)).sort();\r\n            \r\n            if (allDates.length === 0 && totalPlatformPayments === 0) {\r\n                document.getElementById('plDashboardContent').innerHTML = `\r\n                    <div style=\"background: #fff3cd; padding: 20px; border-radius: 8px; text-align: center; border-left: 4px solid #ffc107;\">\r\n                        <div style=\"font-weight: 600; color: #856404; margin-bottom: 8px;\">\u26a0\ufe0f No Data Found<\/div>\r\n                        <div style=\"color: #856404;\">No entries found for this month.<\/div>\r\n                    <\/div>\r\n                `;\r\n                return;\r\n            }\r\n            \r\n            \/\/ Calculate totals\r\n            let totalCash = 0, totalOnline = 0, totalPending = 0;\r\n            let totalPurchase = 0, totalKharch = 0, totalAdvance = 0;\r\n            \r\n            let html = '<div style=\"overflow-x: auto;\">';\r\n            html += '<table style=\"width: 100%; border-collapse: collapse; font-size: 0.9em;\">';\r\n            html += `\r\n                <thead>\r\n                    <tr style=\"background: #f7fafc; font-weight: 700;\">\r\n                        <th style=\"padding: 10px; text-align: left; border: 1px solid #e2e8f0;\">Date<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; color: #48bb78;\">\ud83d\udcb5 Cash<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; color: #3182ce;\">\ud83d\udcb3 Online<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; background: #c6f6d5;\">Total Sell<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; color: #f56565;\">\ud83d\uded2 Purchase<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; color: #fc8181;\">\ud83d\udcb8 Kharch<\/th>\r\n                        <th style=\"padding: 10px; text-align: right; border: 1px solid #e2e8f0; background: #fed7d7;\">Total Out<\/th>\r\n                    <\/tr>\r\n                <\/thead>\r\n                <tbody>\r\n            `;\r\n            \r\n            allDates.forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                \r\n                const cash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                const online = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                const pending = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                const purchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                const kharch = dayData.cashout.filter(e => e.type === 'kharch').reduce((s, e) => s + e.amount, 0);\r\n                const advance = dayData.cashout.filter(e => e.type === 'advance').reduce((s, e) => s + e.amount, 0);\r\n                \r\n                const sellTotal = cash + online;\r\n                const outTotal = purchase + kharch;\r\n                \r\n                totalCash += cash;\r\n                totalOnline += online;\r\n                totalPending += pending;\r\n                totalPurchase += purchase;\r\n                totalKharch += kharch;\r\n                totalAdvance += advance;\r\n                \r\n                const dateObj = new Date(dateKey);\r\n                const dayName = dateObj.toLocaleDateString('en-US', { day: 'numeric', weekday: 'short' });\r\n                \r\n                html += `\r\n                    <tr style=\"border-bottom: 1px solid #e2e8f0;\">\r\n                        <td style=\"padding: 8px; border: 1px solid #e2e8f0;\">${dayName}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0;\">\u20b9${cash.toLocaleString('en-IN')}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0;\">\u20b9${online.toLocaleString('en-IN')}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0; font-weight: 700; background: #f0fdf4;\">\u20b9${sellTotal.toLocaleString('en-IN')}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0;\">\u20b9${purchase.toLocaleString('en-IN')}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0;\">\u20b9${kharch.toLocaleString('en-IN')}<\/td>\r\n                        <td style=\"padding: 8px; text-align: right; border: 1px solid #e2e8f0; font-weight: 700; background: #fef2f2;\">\u20b9${outTotal.toLocaleString('en-IN')}<\/td>\r\n                    <\/tr>\r\n                `;\r\n            });\r\n            \r\n            \/\/ Totals row\r\n            const grandSell = totalCash + totalOnline + totalPlatformPayments;\r\n            const grandOut = totalPurchase + totalKharch;\r\n            \r\n            html += `\r\n                <tr style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; font-weight: 700;\">\r\n                    <td style=\"padding: 12px; border: 1px solid #667eea;\">TOTAL<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea;\">\u20b9${totalCash.toLocaleString('en-IN')}<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea;\">\u20b9${totalOnline.toLocaleString('en-IN')}<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea; font-size: 1.1em;\">\u20b9${grandSell.toLocaleString('en-IN')}<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea;\">\u20b9${totalPurchase.toLocaleString('en-IN')}<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea;\">\u20b9${totalKharch.toLocaleString('en-IN')}<\/td>\r\n                    <td style=\"padding: 12px; text-align: right; border: 1px solid #667eea; font-size: 1.1em;\">\u20b9${grandOut.toLocaleString('en-IN')}<\/td>\r\n                <\/tr>\r\n            `;\r\n            \r\n            \/\/ Platform Payments Row (if any)\r\n            if (totalPlatformPayments > 0) {\r\n                html += `\r\n                    <tr style=\"background: #3182ce; color: white; font-weight: 600;\">\r\n                        <td colspan=\"3\" style=\"padding: 10px; border: 1px solid #2563eb;\">\ud83d\udecd\ufe0f Platform Payments (Zomato\/Swiggy)<\/td>\r\n                        <td style=\"padding: 10px; text-align: right; border: 1px solid #2563eb; font-size: 1.05em;\">+\u20b9${totalPlatformPayments.toLocaleString('en-IN')}<\/td>\r\n                        <td colspan=\"3\" style=\"padding: 10px; border: 1px solid #2563eb; font-style: italic; font-size: 0.9em;\">Already included in Total Sell<\/td>\r\n                    <\/tr>\r\n                `;\r\n            }\r\n            \r\n            html += '<\/tbody><\/table><\/div>';\r\n            \r\n            \/\/ Profit Calculation\r\n            const grossProfit = grandSell - (totalPurchase + totalKharch);\r\n            \r\n            \/\/ Get fixed expenses for this month\r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            const monthKey = selectedMonth;\r\n            const rent = parseFloat(fixedExpenses[`${monthKey}_rent`] || 0);\r\n            const salary = parseFloat(fixedExpenses[`${monthKey}_salary`] || 0);\r\n            const totalFixedExp = rent + salary;\r\n            \r\n            const netProfit = grossProfit - totalFixedExp;\r\n            \r\n            \/\/ Profit Breakdown\r\n            html += `\r\n                <div style=\"margin-top: 25px; background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%); padding: 20px; border-radius: 12px; border: 2px solid #e2e8f0;\">\r\n                    <div style=\"font-weight: 700; font-size: 1.3em; color: #2d3748; margin-bottom: 15px; text-align: center;\">\r\n                        \ud83d\udcb0 Profit Calculation\r\n                    <\/div>\r\n                    \r\n                    <div style=\"display: grid; gap: 12px;\">\r\n                        <div style=\"display: flex; justify-content: space-between; padding: 10px; background: white; border-radius: 6px;\">\r\n                            <span style=\"font-weight: 600;\">\ud83d\udcca Total Sell:<\/span>\r\n                            <span style=\"font-weight: 700; color: #48bb78;\">\u20b9${grandSell.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; padding: 10px; background: white; border-radius: 6px;\">\r\n                            <span style=\"font-weight: 600;\">\u2796 Purchase:<\/span>\r\n                            <span style=\"font-weight: 700; color: #f56565;\">\u20b9${totalPurchase.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; padding: 10px; background: white; border-radius: 6px;\">\r\n                            <span style=\"font-weight: 600;\">\u2796 Kharch:<\/span>\r\n                            <span style=\"font-weight: 700; color: #fc8181;\">\u20b9${totalKharch.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; align-items: center; padding: 15px; background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%); border-radius: 8px; color: white;\">\r\n                            <div>\r\n                                <div style=\"font-weight: 700; font-size: 1.1em;\">= Gross Profit:<\/div>\r\n                                <div style=\"font-size: 0.85em; opacity: 0.9; margin-top: 4px;\">${grossProfit > 0 ? ((grossProfit \/ grandSell) * 100).toFixed(1) : 0}% of Total Sell<\/div>\r\n                            <\/div>\r\n                            <span style=\"font-weight: 700; font-size: 1.3em;\">\u20b9${grossProfit.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; padding: 10px; background: white; border-radius: 6px;\">\r\n                            <span style=\"font-weight: 600;\">\u2796 Rent (Fixed):<\/span>\r\n                            <span style=\"font-weight: 700; color: #ed8936;\">\u20b9${rent.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; padding: 10px; background: white; border-radius: 6px;\">\r\n                            <span style=\"font-weight: 600;\">\u2796 Salary (Fixed):<\/span>\r\n                            <span style=\"font-weight: 700; color: #ed8936;\">\u20b9${salary.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: flex; justify-content: space-between; padding: 18px; background: linear-gradient(135deg, #48bb78 0%, #38a169 100%); border-radius: 10px; color: white; box-shadow: 0 4px 15px rgba(72, 187, 120, 0.4);\">\r\n                            <span style=\"font-weight: 700; font-size: 1.2em;\">\ud83c\udfaf Net Profit:<\/span>\r\n                            <span style=\"font-weight: 700; font-size: 1.4em;\">\u20b9${netProfit.toLocaleString('en-IN')}<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            \/\/ Partner Profit Sharing\r\n            const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n            \r\n            if (partners.length > 0) {\r\n                html += `\r\n                    <div style=\"margin-top: 25px; background: linear-gradient(135deg, #e9d8fd 0%, #d6bcfa 100%); padding: 20px; border-radius: 12px; border: 2px solid #b794f4;\">\r\n                        <div style=\"font-weight: 700; font-size: 1.3em; color: #44337a; margin-bottom: 15px; text-align: center;\">\r\n                            \ud83d\udc65 Partner Profit Share\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: grid; gap: 10px;\">\r\n                `;\r\n                \r\n                partners.forEach(partner => {\r\n                    const partnerShare = (netProfit * partner.percentage \/ 100);\r\n                    html += `\r\n                        <div style=\"display: flex; justify-content: space-between; padding: 12px; background: white; border-radius: 8px; border-left: 4px solid #805ad5;\">\r\n                            <div>\r\n                                <div style=\"font-weight: 700; color: #2d3748;\">${partner.name}<\/div>\r\n                                <div style=\"font-size: 0.85em; color: #718096;\">${partner.percentage}% share<\/div>\r\n                            <\/div>\r\n                            <div style=\"font-weight: 700; font-size: 1.2em; color: #805ad5;\">\u20b9${partnerShare.toLocaleString('en-IN')}<\/div>\r\n                        <\/div>\r\n                    `;\r\n                });\r\n                \r\n                html += `\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            } else {\r\n                html += `\r\n                    <div style=\"margin-top: 20px; background: #fff3cd; padding: 15px; border-radius: 8px; text-align: center; border-left: 4px solid #ffc107;\">\r\n                        <div style=\"font-weight: 600; color: #856404;\">\ud83d\udc65 No Partners Added<\/div>\r\n                        <div style=\"color: #856404; font-size: 0.9em; margin-top: 5px;\">Click \"Manage Partners\" to add partners for profit sharing<\/div>\r\n                    <\/div>\r\n                `;\r\n            }\r\n            \r\n            \/\/ Additional Info\r\n            html += `\r\n                <div style=\"margin-top: 20px; padding: 15px; background: #f0f9ff; border-radius: 8px; border-left: 4px solid #3b82f6;\">\r\n                    <div style=\"font-weight: 600; color: #1e40af; margin-bottom: 8px;\">\ud83d\udcdd Additional Info:<\/div>\r\n                    <div style=\"color: #1e40af; font-size: 0.9em; display: grid; gap: 5px;\">\r\n                        <div>\u23f3 Pending Payments: \u20b9${totalPending.toLocaleString('en-IN')}<\/div>\r\n                        <div>\ud83d\udcb0 Staff Advances: \u20b9${totalAdvance.toLocaleString('en-IN')}<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            document.getElementById('plDashboardContent').innerHTML = html;\r\n        }\r\n        \r\n        function managePartners() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udc65 Manage Partners';\r\n            \r\n            const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n            \r\n            let html = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #2196f3;\">\r\n                        <div style=\"font-weight: 600; color: #1565c0; margin-bottom: 8px;\">\ud83d\udc65 Partner Profit Sharing<\/div>\r\n                        <div style=\"color: #424242; font-size: 0.95em;\">\r\n                            Add partners with their profit share percentage. Total should be 100%.\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 20px;\">\r\n                        <div style=\"font-weight: 600; color: #2d3748; margin-bottom: 10px;\">Current Partners:<\/div>\r\n                        <div id=\"partnersList\" style=\"display: grid; gap: 10px;\">\r\n            `;\r\n            \r\n            if (partners.length === 0) {\r\n                html += '<div style=\"padding: 20px; background: #f7fafc; border-radius: 8px; text-align: center; color: #718096;\">No partners added yet<\/div>';\r\n            } else {\r\n                partners.forEach((partner, index) => {\r\n                    html += `\r\n                        <div style=\"display: flex; justify-content: space-between; align-items: center; padding: 12px; background: white; border: 2px solid #e2e8f0; border-radius: 8px;\">\r\n                            <div>\r\n                                <div style=\"font-weight: 600;\">${partner.name}<\/div>\r\n                                <div style=\"font-size: 0.9em; color: #718096;\">${partner.percentage}%<\/div>\r\n                            <\/div>\r\n                            <button onclick=\"deletePartner(${index})\" style=\"background: #fc8181; color: white; border: none; padding: 6px 12px; border-radius: 5px; cursor: pointer; font-weight: 600;\">Delete<\/button>\r\n                        <\/div>\r\n                    `;\r\n                });\r\n                \r\n                const totalPercentage = partners.reduce((sum, p) => sum + p.percentage, 0);\r\n                html += `\r\n                    <div style=\"padding: 10px; background: ${totalPercentage === 100 ? '#c6f6d5' : '#feebc8'}; border-radius: 6px; text-align: center; font-weight: 600; color: ${totalPercentage === 100 ? '#22543d' : '#7c2d12'};\">\r\n                        Total: ${totalPercentage}% ${totalPercentage === 100 ? '\u2705' : '\u26a0\ufe0f Should be 100%'}\r\n                    <\/div>\r\n                `;\r\n            }\r\n            \r\n            html += `\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"background: #f7fafc; padding: 15px; border-radius: 8px; margin-bottom: 15px;\">\r\n                        <div style=\"font-weight: 600; margin-bottom: 12px;\">\u2795 Add New Partner:<\/div>\r\n                        <div style=\"display: grid; gap: 10px;\">\r\n                            <input type=\"text\" id=\"partnerName\" placeholder=\"Partner Name\" style=\"padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px;\">\r\n                            <input type=\"number\" id=\"partnerPercent\" placeholder=\"Percentage %\" min=\"0\" max=\"100\" style=\"padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px;\">\r\n                            <button onclick=\"addPartner()\" style=\"padding: 12px; background: #48bb78; color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;\">\r\n                                \u2705 Add Partner\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <button onclick=\"showPLDashboard()\" style=\"width: 100%; padding: 12px; background: #667eea; color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;\">\r\n                        \u2190 Back to Dashboard\r\n                    <\/button>\r\n                <\/div>\r\n            `;\r\n            \r\n            modalBody.innerHTML = html;\r\n        }\r\n        \r\n        function addPartner() {\r\n            const name = document.getElementById('partnerName').value.trim();\r\n            const percentage = parseFloat(document.getElementById('partnerPercent').value);\r\n            \r\n            if (!name || !percentage || percentage <= 0) {\r\n                alert('Please enter valid partner name and percentage!');\r\n                return;\r\n            }\r\n            \r\n            const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n            const currentTotal = partners.reduce((sum, p) => sum + p.percentage, 0);\r\n            \r\n            if (currentTotal + percentage > 100) {\r\n                alert(`Cannot add! Total would be ${currentTotal + percentage}%. Maximum is 100%.`);\r\n                return;\r\n            }\r\n            \r\n            partners.push({ name, percentage });\r\n            localStorage.setItem('partners', JSON.stringify(partners));\r\n            \r\n            managePartners();\r\n            alert('\u2705 Partner added successfully!');\r\n        }\r\n        \r\n        function deletePartner(index) {\r\n            if (confirm('Delete this partner?')) {\r\n                const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n                partners.splice(index, 1);\r\n                localStorage.setItem('partners', JSON.stringify(partners));\r\n                managePartners();\r\n            }\r\n        }\r\n        \r\n        function manageFixedExpenses() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udcbc Fixed Expenses';\r\n            \r\n            const today = new Date();\r\n            const currentMonth = today.toISOString().slice(0, 7);\r\n            \r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            const rent = fixedExpenses[`${currentMonth}_rent`] || '';\r\n            const salary = fixedExpenses[`${currentMonth}_salary`] || '';\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #2196f3;\">\r\n                        <div style=\"font-weight: 600; color: #1565c0; margin-bottom: 8px;\">\ud83d\udcbc Monthly Fixed Expenses<\/div>\r\n                        <div style=\"color: #424242; font-size: 0.95em;\">\r\n                            Set monthly fixed expenses like rent and salary. These will be deducted from Gross Profit.\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 15px;\">\r\n                        <label style=\"display: block; margin-bottom: 8px; font-weight: 600;\">\ud83d\udcc5 Month:<\/label>\r\n                        <input type=\"month\" id=\"expenseMonth\" value=\"${currentMonth}\" onchange=\"loadMonthExpenses()\"\r\n                            style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px;\">\r\n                    <\/div>\r\n                    \r\n                    <div style=\"background: #f7fafc; padding: 15px; border-radius: 8px; margin-bottom: 15px;\">\r\n                        <div style=\"display: grid; gap: 12px;\">\r\n                            <div>\r\n                                <label style=\"display: block; margin-bottom: 6px; font-weight: 600; color: #2d3748;\">\ud83c\udfe0 Rent:<\/label>\r\n                                <input type=\"number\" id=\"rentAmount\" value=\"${rent}\" placeholder=\"Monthly Rent\"\r\n                                    style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px;\">\r\n                            <\/div>\r\n                            \r\n                            <div>\r\n                                <label style=\"display: block; margin-bottom: 6px; font-weight: 600; color: #2d3748;\">\ud83d\udc68\u200d\ud83d\udcbc Salary:<\/label>\r\n                                <input type=\"number\" id=\"salaryAmount\" value=\"${salary}\" placeholder=\"Monthly Salary\"\r\n                                    style=\"width: 100%; padding: 10px; border: 2px solid #e2e8f0; border-radius: 6px;\">\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <button onclick=\"saveFixedExpenses()\" style=\"width: 100%; padding: 15px; background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%); color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1.1em; margin-bottom: 10px;\">\r\n                        \ud83d\udcbe Save Fixed Expenses\r\n                    <\/button>\r\n                    \r\n                    <button onclick=\"showPLDashboard()\" style=\"width: 100%; padding: 12px; background: #667eea; color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;\">\r\n                        \u2190 Back to Dashboard\r\n                    <\/button>\r\n                <\/div>\r\n            `;\r\n        }\r\n        \r\n        function loadMonthExpenses() {\r\n            const month = document.getElementById('expenseMonth').value;\r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            \r\n            document.getElementById('rentAmount').value = fixedExpenses[`${month}_rent`] || '';\r\n            document.getElementById('salaryAmount').value = fixedExpenses[`${month}_salary`] || '';\r\n        }\r\n        \r\n        function saveFixedExpenses() {\r\n            const month = document.getElementById('expenseMonth').value;\r\n            const rent = parseFloat(document.getElementById('rentAmount').value) || 0;\r\n            const salary = parseFloat(document.getElementById('salaryAmount').value) || 0;\r\n            \r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            fixedExpenses[`${month}_rent`] = rent;\r\n            fixedExpenses[`${month}_salary`] = salary;\r\n            \r\n            localStorage.setItem('fixedExpenses', JSON.stringify(fixedExpenses));\r\n            \r\n            alert('\u2705 Fixed expenses saved for ' + month + '!');\r\n            showPLDashboard();\r\n        }\r\n\r\n        \/\/ Monthly Excel Generator\r\n        function showMonthlyExcelGenerator() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udcc5 Monthly Report Generator';\r\n            \r\n            const today = new Date();\r\n            const currentMonth = today.toISOString().slice(0, 7); \/\/ YYYY-MM\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #2196f3;\">\r\n                        <div style=\"font-weight: 600; color: #1565c0; margin-bottom: 8px;\">\ud83d\udcca Monthly Excel Report<\/div>\r\n                        <div style=\"color: #424242; font-size: 0.95em; line-height: 1.6;\">\r\n                            Professional monthly report with all daily data combined:<br>\r\n                            \u2022 Day-wise summary<br>\r\n                            \u2022 Cash\/Online\/Pending breakdown<br>\r\n                            \u2022 Kharch\/Advance separation<br>\r\n                            \u2022 Monthly totals<br>\r\n                            \u2022 Ready for records!\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 15px;\">\r\n                        <label style=\"display: block; margin-bottom: 8px; font-weight: 600; color: #2d3748;\">\r\n                            \ud83d\udcc5 Select Month:\r\n                        <\/label>\r\n                        <input type=\"month\" id=\"reportMonth\" value=\"${currentMonth}\" \r\n                            style=\"width: 100%; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em;\">\r\n                    <\/div>\r\n                    \r\n                    <button onclick=\"generateMonthlyExcel()\" \r\n                        style=\"width: 100%; padding: 15px; background: linear-gradient(135deg, #48bb78 0%, #38a169 100%); \r\n                        color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1.1em;\">\r\n                        \ud83d\udce5 Generate & Download Excel\r\n                    <\/button>\r\n                <\/div>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        function generateMonthlyExcel() {\r\n            const monthInput = document.getElementById('reportMonth').value;\r\n            if (!monthInput) {\r\n                alert('Please select a month!');\r\n                return;\r\n            }\r\n            \r\n            const [year, month] = monthInput.split('-');\r\n            const monthName = new Date(year, month - 1).toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\r\n            \r\n            const workbook = XLSX.utils.book_new();\r\n            const sheetData = [];\r\n            \r\n            const storeName = localStorage.getItem('storeName') || 'Daily Accounts';\r\n            \r\n            \/\/ Header\r\n            sheetData.push([storeName]);\r\n            sheetData.push([`MONTHLY REPORT - ${monthName}`]);\r\n            sheetData.push([]);\r\n            sheetData.push(['Date', 'Cash Sell', 'Online Sell', 'Pending Sell', 'Total Sell', 'Purchase', 'Kharch', 'Advance', 'Total Cashout', 'Day Balance']);\r\n            \r\n            let totalCash = 0, totalOnline = 0, totalPending = 0, totalSell = 0;\r\n            let totalPurchase = 0, totalKharch = 0, totalAdvance = 0, totalCashout = 0;\r\n            let runningBalance = 0;\r\n            \r\n            \/\/ Get all dates in the month\r\n            const allDates = Object.keys(data).sort();\r\n            const monthDates = allDates.filter(date => date.startsWith(monthInput));\r\n            \r\n            if (monthDates.length === 0) {\r\n                alert(`No data found for ${monthName}!`);\r\n                return;\r\n            }\r\n            \r\n            monthDates.forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                \r\n                const cashSell = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                const onlineSell = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                const pendingSell = dayData.sell.filter(e => e.payment === 'pending').reduce((s, e) => s + e.amount, 0);\r\n                const daySell = cashSell + onlineSell + pendingSell;\r\n                \r\n                const dayPurchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                \r\n                const kharch = dayData.cashout.filter(e => !e.type || e.type === 'kharch').reduce((s, e) => s + e.amount, 0);\r\n                const advance = dayData.cashout.filter(e => e.type === 'advance').reduce((s, e) => s + e.amount, 0);\r\n                const dayCashout = kharch + advance;\r\n                \r\n                const dayToggles = dayData.toggleStates || { cash: true, online: true, pending: false, purchase: false, cashout: true };\r\n                let dayBalance = 0;\r\n                \r\n                if (dayToggles.cash) dayBalance += cashSell;\r\n                if (dayToggles.online) dayBalance += onlineSell;\r\n                if (dayToggles.pending) dayBalance += pendingSell;\r\n                if (dayToggles.purchase) dayBalance -= dayPurchase;\r\n                if (dayToggles.cashout) dayBalance -= dayCashout;\r\n                \r\n                runningBalance += dayBalance;\r\n                \r\n                sheetData.push([\r\n                    formatDate(dateKey),\r\n                    cashSell,\r\n                    onlineSell,\r\n                    pendingSell,\r\n                    daySell,\r\n                    dayPurchase,\r\n                    kharch,\r\n                    advance,\r\n                    dayCashout,\r\n                    dayBalance\r\n                ]);\r\n                \r\n                totalCash += cashSell;\r\n                totalOnline += onlineSell;\r\n                totalPending += pendingSell;\r\n                totalSell += daySell;\r\n                totalPurchase += dayPurchase;\r\n                totalKharch += kharch;\r\n                totalAdvance += advance;\r\n                totalCashout += dayCashout;\r\n            });\r\n            \r\n            \/\/ Totals row\r\n            sheetData.push([]);\r\n            sheetData.push(['TOTALS', totalCash, totalOnline, totalPending, totalSell, totalPurchase, totalKharch, totalAdvance, totalCashout, runningBalance]);\r\n            \r\n            \/\/ Summary section\r\n            sheetData.push([]);\r\n            sheetData.push(['SUMMARY']);\r\n            sheetData.push(['Total Cash Sell', totalCash]);\r\n            sheetData.push(['Total Online Sell', totalOnline]);\r\n            sheetData.push(['Total Pending Sell', totalPending]);\r\n            sheetData.push(['Total Sell', totalSell]);\r\n            sheetData.push([]);\r\n            sheetData.push(['Total Purchase', totalPurchase]);\r\n            sheetData.push([]);\r\n            sheetData.push(['Total Kharch', totalKharch]);\r\n            sheetData.push(['Total Advance', totalAdvance]);\r\n            sheetData.push(['Total Cashout', totalCashout]);\r\n            sheetData.push([]);\r\n            sheetData.push(['FINAL BALANCE', runningBalance]);\r\n            \r\n            const worksheet = XLSX.utils.aoa_to_sheet(sheetData);\r\n            \r\n            \/\/ Set column widths\r\n            worksheet['!cols'] = [\r\n                { wch: 20 }, \/\/ Date\r\n                { wch: 12 }, \/\/ Cash\r\n                { wch: 12 }, \/\/ Online\r\n                { wch: 12 }, \/\/ Pending\r\n                { wch: 12 }, \/\/ Total Sell\r\n                { wch: 12 }, \/\/ Purchase\r\n                { wch: 12 }, \/\/ Kharch\r\n                { wch: 12 }, \/\/ Advance\r\n                { wch: 12 }, \/\/ Total Cashout\r\n                { wch: 12 }  \/\/ Day Balance\r\n            ];\r\n            \r\n            XLSX.utils.book_append_sheet(workbook, worksheet, monthName);\r\n            \r\n            XLSX.writeFile(workbook, `Monthly_Report_${year}_${month}.xlsx`);\r\n            \r\n            closeModal();\r\n            alert(`\u2705 Monthly report generated!\\n\\nFile: Monthly_Report_${year}_${month}.xlsx`);\r\n        }\r\n\r\n        function closeModal() {\r\n            document.getElementById('summaryModal').classList.remove('active');\r\n        }\r\n        \r\n        \/\/ Settings Menu\r\n        function showSettings() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            const startDate = localStorage.getItem('startDate');\r\n            const startDateText = startDate ? formatDate(startDate) : 'Not Set';\r\n            \r\n            document.getElementById('modalTitle').textContent = '\u2699\ufe0f Settings';\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div class=\"settings-grid\">\r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); showProfileSettings();\">\r\n                            <div class=\"settings-icon\">\ud83d\udc64<\/div>\r\n                            <div class=\"settings-label\">Profile Settings<\/div>\r\n                            <div class=\"settings-desc\">Global toggles & preferences<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); showMonthlyExcelGenerator();\" style=\"border: 2px solid #48bb78;\">\r\n                            <div class=\"settings-icon\" style=\"color: #48bb78;\">\ud83d\udcca<\/div>\r\n                            <div class=\"settings-label\" style=\"color: #48bb78;\">Monthly Excel<\/div>\r\n                            <div class=\"settings-desc\">Generate monthly report<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); showSummary();\">\r\n                            <div class=\"settings-icon\">\ud83d\udcca<\/div>\r\n                            <div class=\"settings-label\">Summary Report<\/div>\r\n                            <div class=\"settings-desc\">View custom date range summary<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); showStartDateSetup();\">\r\n                            <div class=\"settings-icon\">\u26a1<\/div>\r\n                            <div class=\"settings-label\">Start Date<\/div>\r\n                            <div class=\"settings-desc\">Current: ${startDateText}<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); exportToExcel();\">\r\n                            <div class=\"settings-icon\">\ud83d\udce5<\/div>\r\n                            <div class=\"settings-label\">Export Data<\/div>\r\n                            <div class=\"settings-desc\">Download Excel backup<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"closeModal(); document.getElementById('importFile').click();\">\r\n                            <div class=\"settings-icon\">\ud83d\udce4<\/div>\r\n                            <div class=\"settings-label\">Import Data<\/div>\r\n                            <div class=\"settings-desc\">Restore from Excel file<\/div>\r\n                        <\/button>\r\n                        \r\n                        <button class=\"settings-btn\" onclick=\"clearAllData();\" style=\"border: 2px solid #f56565;\">\r\n                            <div class=\"settings-icon\" style=\"color: #f56565;\">\ud83d\uddd1\ufe0f<\/div>\r\n                            <div class=\"settings-label\" style=\"color: #f56565;\">Clear All Data<\/div>\r\n                            <div class=\"settings-desc\">Delete everything (password protected)<\/div>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <style>\r\n                    .settings-grid {\r\n                        display: grid;\r\n                        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n                        gap: 15px;\r\n                    }\r\n                    \r\n                    .settings-btn {\r\n                        background: white;\r\n                        border: 2px solid #e2e8f0;\r\n                        border-radius: 12px;\r\n                        padding: 20px;\r\n                        cursor: pointer;\r\n                        transition: all 0.3s;\r\n                        text-align: center;\r\n                    }\r\n                    \r\n                    .settings-btn:hover {\r\n                        border-color: #667eea;\r\n                        transform: translateY(-3px);\r\n                        box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);\r\n                    }\r\n                    \r\n                    .settings-icon {\r\n                        font-size: 2.5em;\r\n                        margin-bottom: 10px;\r\n                    }\r\n                    \r\n                    .settings-label {\r\n                        font-weight: 700;\r\n                        color: #2d3748;\r\n                        margin-bottom: 5px;\r\n                        font-size: 1.05em;\r\n                    }\r\n                    \r\n                    .settings-desc {\r\n                        font-size: 0.85em;\r\n                        color: #718096;\r\n                    }\r\n                <\/style>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        \/\/ Profile Settings\r\n        function showProfileSettings() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\ud83d\udc64 Profile Settings';\r\n            \r\n            \/\/ Get store name\r\n            const storeName = localStorage.getItem('storeName') || '';\r\n            \r\n            \/\/ Get global toggle settings\r\n            const globalToggles = JSON.parse(localStorage.getItem('globalToggles') || JSON.stringify({\r\n                cash: true,\r\n                online: true,\r\n                pending: false,\r\n                purchase: false,\r\n                cashout: true\r\n            }));\r\n            \r\n            const useGlobalToggles = localStorage.getItem('useGlobalToggles') === 'true';\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 20px; border-radius: 12px; margin-bottom: 20px; color: white;\">\r\n                        <div style=\"font-weight: 700; font-size: 1.3em; margin-bottom: 10px;\">\ud83c\udfea Store Information<\/div>\r\n                        <div style=\"font-size: 0.9em; opacity: 0.9;\">Your store name will appear in exports and shared reports<\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 25px;\">\r\n                        <label style=\"display: block; margin-bottom: 8px; font-weight: 600; color: #2d3748;\">\r\n                            Store Name:\r\n                        <\/label>\r\n                        <input type=\"text\" id=\"storeNameInput\" value=\"${storeName}\" placeholder=\"e.g., My Restaurant, ABC Store\"\r\n                            style=\"width: 100%; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em;\">\r\n                    <\/div>\r\n                    \r\n                    <div style=\"background: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #2196f3;\">\r\n                        <div style=\"font-weight: 600; color: #1565c0; margin-bottom: 8px;\">\u2139\ufe0f Global Toggle Settings<\/div>\r\n                        <div style=\"color: #424242; font-size: 0.95em; line-height: 1.6;\">\r\n                            \u2022 Set default toggles for <strong>all new pages<\/strong><br>\r\n                            \u2022 Apply these settings to <strong>all existing pages<\/strong> at once<br>\r\n                            \u2022 Each page can still be customized individually\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"margin-bottom: 20px;\">\r\n                        <div style=\"font-weight: 600; color: #2d3748; margin-bottom: 12px; font-size: 1.1em;\">\r\n                            \ud83c\udf9a\ufe0f Default Toggle Settings:\r\n                        <\/div>\r\n                        \r\n                        <div style=\"display: grid; gap: 12px;\">\r\n                            <div class=\"profile-toggle-item\">\r\n                                <div class=\"toggle-switch ${globalToggles.cash ? 'active' : ''}\" id=\"globalCashToggle\" onclick=\"toggleGlobalSetting('cash')\">\r\n                                    <div class=\"toggle-slider\"><\/div>\r\n                                <\/div>\r\n                                <span style=\"font-weight: 600;\">\ud83d\udcb5 Cash Sell<\/span>\r\n                                <span style=\"color: #718096; font-size: 0.85em; margin-left: auto;\">${globalToggles.cash ? 'Add to Total' : 'Ignore'}<\/span>\r\n                            <\/div>\r\n                            \r\n                            <div class=\"profile-toggle-item\">\r\n                                <div class=\"toggle-switch ${globalToggles.online ? 'active' : ''}\" id=\"globalOnlineToggle\" onclick=\"toggleGlobalSetting('online')\">\r\n                                    <div class=\"toggle-slider\"><\/div>\r\n                                <\/div>\r\n                                <span style=\"font-weight: 600;\">\ud83d\udcb3 Online Sell<\/span>\r\n                                <span style=\"color: #718096; font-size: 0.85em; margin-left: auto;\">${globalToggles.online ? 'Add to Total' : 'Ignore'}<\/span>\r\n                            <\/div>\r\n                            \r\n                            <div class=\"profile-toggle-item\">\r\n                                <div class=\"toggle-switch ${globalToggles.pending ? 'active' : ''}\" id=\"globalPendingToggle\" onclick=\"toggleGlobalSetting('pending')\">\r\n                                    <div class=\"toggle-slider\"><\/div>\r\n                                <\/div>\r\n                                <span style=\"font-weight: 600;\">\u23f3 Pending Sell<\/span>\r\n                                <span style=\"color: #718096; font-size: 0.85em; margin-left: auto;\">${globalToggles.pending ? 'Add to Total' : 'Ignore'}<\/span>\r\n                            <\/div>\r\n                            \r\n                            <div class=\"profile-toggle-item\">\r\n                                <div class=\"toggle-switch ${globalToggles.purchase ? 'active' : ''}\" id=\"globalPurchaseToggle\" onclick=\"toggleGlobalSetting('purchase')\">\r\n                                    <div class=\"toggle-slider\"><\/div>\r\n                                <\/div>\r\n                                <span style=\"font-weight: 600;\">\ud83d\uded2 Purchase<\/span>\r\n                                <span style=\"color: #718096; font-size: 0.85em; margin-left: auto;\">${globalToggles.purchase ? 'Minus from Total' : 'Ignore'}<\/span>\r\n                            <\/div>\r\n                            \r\n                            <div class=\"profile-toggle-item\">\r\n                                <div class=\"toggle-switch ${globalToggles.cashout ? 'active' : ''}\" id=\"globalCashoutToggle\" onclick=\"toggleGlobalSetting('cashout')\">\r\n                                    <div class=\"toggle-slider\"><\/div>\r\n                                <\/div>\r\n                                <span style=\"font-weight: 600;\">\ud83d\udcb8 Cashout<\/span>\r\n                                <span style=\"color: #718096; font-size: 0.85em; margin-left: auto;\">${globalToggles.cashout ? 'Minus from Total' : 'Ignore'}<\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"background: #fff3cd; padding: 15px; border-radius: 8px; margin-bottom: 15px; border-left: 4px solid #ffc107;\">\r\n                        <div style=\"font-weight: 600; color: #856404; margin-bottom: 8px;\">\u26a1 Quick Actions:<\/div>\r\n                        <div style=\"display: grid; gap: 10px;\">\r\n                            <button onclick=\"applyGlobalToggles()\" \r\n                                style=\"width: 100%; padding: 12px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); \r\n                                color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;\">\r\n                                \ud83d\udd04 Apply to ALL Existing Pages\r\n                            <\/button>\r\n                            <button onclick=\"resetToDefaults()\" \r\n                                style=\"width: 100%; padding: 12px; background: white; \r\n                                color: #667eea; border: 2px solid #667eea; border-radius: 8px; font-weight: 600; cursor: pointer;\">\r\n                                \u21bb Reset to Recommended Defaults\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"color: #718096; font-size: 0.85em; text-align: center; margin-top: 15px; line-height: 1.5;\">\r\n                        \ud83d\udca1 These settings will be used as default for all new pages.<br>\r\n                        You can still change toggles individually on each page.\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <style>\r\n                    .profile-toggle-item {\r\n                        display: flex;\r\n                        align-items: center;\r\n                        gap: 12px;\r\n                        padding: 12px;\r\n                        background: white;\r\n                        border: 2px solid #e2e8f0;\r\n                        border-radius: 8px;\r\n                    }\r\n                <\/style>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        let globalTogglesState = JSON.parse(localStorage.getItem('globalToggles') || JSON.stringify({\r\n            cash: true,\r\n            online: true,\r\n            pending: false,\r\n            purchase: false,\r\n            cashout: true\r\n        }));\r\n        \r\n        function toggleGlobalSetting(type) {\r\n            \/\/ Save store name if input exists\r\n            const storeNameInput = document.getElementById('storeNameInput');\r\n            if (storeNameInput) {\r\n                localStorage.setItem('storeName', storeNameInput.value.trim());\r\n            }\r\n            \r\n            globalTogglesState[type] = !globalTogglesState[type];\r\n            localStorage.setItem('globalToggles', JSON.stringify(globalTogglesState));\r\n            \r\n            \/\/ Update UI\r\n            const toggle = document.getElementById(`global${type.charAt(0).toUpperCase() + type.slice(1)}Toggle`);\r\n            toggle.classList.toggle('active');\r\n            \r\n            \/\/ Refresh the profile settings display\r\n            showProfileSettings();\r\n        }\r\n        \r\n        function applyGlobalToggles() {\r\n            if (confirm('Apply global toggle settings to ALL existing pages?\\n\\nThis will override individual page settings.')) {\r\n                const globalToggles = JSON.parse(localStorage.getItem('globalToggles'));\r\n                \r\n                \/\/ Apply to all dates in data\r\n                Object.keys(data).forEach(dateKey => {\r\n                    if (data[dateKey]) {\r\n                        data[dateKey].toggleStates = {...globalToggles};\r\n                    }\r\n                });\r\n                \r\n                \/\/ Save\r\n                localStorage.setItem('accountsData', JSON.stringify(data));\r\n                \r\n                \/\/ Apply to current page\r\n                toggleStates = {...globalToggles};\r\n                Object.keys(toggleStates).forEach(key => {\r\n                    const toggle = document.getElementById(`${key}Toggle`);\r\n                    if (toggle) {\r\n                        if (toggleStates[key]) {\r\n                            toggle.classList.add('active');\r\n                        } else {\r\n                            toggle.classList.remove('active');\r\n                        }\r\n                    }\r\n                });\r\n                \r\n                calculateGrandTotal();\r\n                \r\n                alert('\u2705 Global settings applied to all pages!');\r\n            }\r\n        }\r\n        \r\n        function resetToDefaults() {\r\n            const defaults = {\r\n                cash: true,\r\n                online: true,\r\n                pending: false,\r\n                purchase: false,\r\n                cashout: true\r\n            };\r\n            \r\n            globalTogglesState = {...defaults};\r\n            localStorage.setItem('globalToggles', JSON.stringify(defaults));\r\n            \r\n            showProfileSettings();\r\n            alert('\u2705 Reset to recommended defaults!');\r\n        }\r\n        \r\n        function clearAllData() {\r\n            const password = prompt('\ud83d\udd10 Enter password to clear all data:\\n\\n(Hint: Malik#1917)');\r\n            \r\n            if (password === 'Malik#1917') {\r\n                if (confirm('\u26a0\ufe0f This will DELETE ALL DATA permanently!\\n\\nMake sure you have exported a backup.\\n\\nContinue?')) {\r\n                    if (confirm('Are you ABSOLUTELY SURE? This cannot be undone!')) {\r\n                        localStorage.removeItem('accountsData');\r\n                        localStorage.removeItem('startDate');\r\n                        localStorage.removeItem('globalToggles');\r\n                        data = {};\r\n                        loadData();\r\n                        closeModal();\r\n                        alert('\u2705 All data cleared successfully!');\r\n                    }\r\n                }\r\n            } else if (password !== null) {\r\n                alert('\u274c Wrong password! Data is safe.');\r\n            }\r\n        }\r\n        \r\n        \/\/ Start Date Setup\r\n        function showStartDateSetup() {\r\n            const modal = document.getElementById('summaryModal');\r\n            const modalBody = document.getElementById('modalBody');\r\n            \r\n            document.getElementById('modalTitle').textContent = '\u26a1 Set Start Date';\r\n            \r\n            \/\/ Get the earliest date in data or suggest today\r\n            const allDates = Object.keys(data).sort();\r\n            const earliestDate = allDates.length > 0 ? allDates[0] : new Date().toISOString().split('T')[0];\r\n            const currentStartDate = localStorage.getItem('startDate');\r\n            \r\n            modalBody.innerHTML = `\r\n                <div class=\"summary-section\">\r\n                    <div style=\"background: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #2196f3;\">\r\n                        <div style=\"font-weight: 600; color: #1565c0; margin-bottom: 8px;\">\u2139\ufe0f What is Start Date?<\/div>\r\n                        <div style=\"color: #424242; font-size: 0.95em; line-height: 1.6;\">\r\n                            \u2022 Tool automatically sab dates ka Previous Balance calculate karega<br>\r\n                            \u2022 Aapko manually previous dates par jane ki zarurat nahi<br>\r\n                            \u2022 <strong>Tool is date se pehle ki dates par nahi jane dega<\/strong>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    ${currentStartDate ? `\r\n                    <div style=\"background: #c6f6d5; padding: 15px; border-radius: 8px; margin-bottom: 15px; border-left: 4px solid #48bb78;\">\r\n                        <div style=\"font-weight: 600; color: #22543d; margin-bottom: 5px;\">\u2705 Current Start Date:<\/div>\r\n                        <div style=\"color: #22543d; font-size: 1.1em; font-weight: 700;\">${formatDate(currentStartDate)}<\/div>\r\n                    <\/div>\r\n                    ` : ''}\r\n                    \r\n                    <div style=\"margin-bottom: 15px;\">\r\n                        <label style=\"display: block; margin-bottom: 8px; font-weight: 600; color: #2d3748;\">\r\n                            \ud83d\udcc5 Select New Start Date:\r\n                        <\/label>\r\n                        <input type=\"date\" id=\"startDate\" value=\"${currentStartDate || earliestDate}\" \r\n                            style=\"width: 100%; padding: 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 1em;\">\r\n                        <div style=\"color: #718096; font-size: 0.85em; margin-top: 5px;\">\r\n                            ${allDates.length > 0 ? `Earliest data found: ${formatDate(earliestDate)}` : 'No data found yet'}\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div style=\"background: #fff3cd; padding: 15px; border-radius: 8px; margin-bottom: 15px; border-left: 4px solid #ffc107;\">\r\n                        <div style=\"font-weight: 600; color: #856404; margin-bottom: 5px;\">\u26a0\ufe0f Important:<\/div>\r\n                        <div style=\"color: #856404; font-size: 0.9em; line-height: 1.5;\">\r\n                            Start Date set karne ke baad, aap is date se pehle ki dates par <strong>navigate nahi kar paoge<\/strong>. \r\n                            Agar purani dates ka data chahiye, toh unhe start date ke baad set karein.\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <button onclick=\"setStartDate()\" \r\n                        style=\"width: 100%; padding: 15px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); \r\n                        color: white; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 1.1em;\">\r\n                        ${currentStartDate ? '\ud83d\udd04 Update' : '\u26a1 Set'} Start Date\r\n                    <\/button>\r\n                    \r\n                    ${currentStartDate ? `\r\n                    <button onclick=\"removeStartDate()\" \r\n                        style=\"width: 100%; margin-top: 10px; padding: 12px; background: white; \r\n                        color: #f56565; border: 2px solid #f56565; border-radius: 10px; font-weight: 600; cursor: pointer; font-size: 1em;\">\r\n                        \ud83d\uddd1\ufe0f Remove Start Date (Allow All Dates)\r\n                    <\/button>\r\n                    ` : ''}\r\n                <\/div>\r\n            `;\r\n            \r\n            modal.classList.add('active');\r\n        }\r\n        \r\n        function removeStartDate() {\r\n            if (confirm('Remove Start Date? You will be able to navigate to any past date.')) {\r\n                localStorage.removeItem('startDate');\r\n                closeModal();\r\n                alert('\u2705 Start Date removed! You can now access all dates.');\r\n                loadData();\r\n            }\r\n        }\r\n        \r\n        function setStartDate() {\r\n            const startDateInput = document.getElementById('startDate');\r\n            const startDate = startDateInput.value;\r\n            \r\n            if (!startDate) {\r\n                alert('Please select a start date!');\r\n                return;\r\n            }\r\n            \r\n            \/\/ Save start date to localStorage\r\n            localStorage.setItem('startDate', startDate);\r\n            \r\n            \/\/ Close modal\r\n            closeModal();\r\n            \r\n            \/\/ Show success message\r\n            alert(`\u2705 Start Date set to ${formatDate(startDate)}!\\n\\nTool will now auto-calculate from this date.`);\r\n            \r\n            \/\/ Reload to apply changes\r\n            loadData();\r\n        }\r\n\r\n        \/\/ Export P&L to Excel\r\n        function exportPLToExcel() {\r\n            const selectedMonth = document.getElementById('plMonth').value;\r\n            if (!selectedMonth) {\r\n                alert('Please select a month first!');\r\n                return;\r\n            }\r\n            \r\n            const [year, month] = selectedMonth.split('-');\r\n            const monthName = new Date(selectedMonth + '-01').toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\r\n            \r\n            \/\/ Get all dates for selected month\r\n            const allDates = Object.keys(data).filter(date => date.startsWith(selectedMonth)).sort();\r\n            \r\n            if (allDates.length === 0) {\r\n                alert('No data found for this month!');\r\n                return;\r\n            }\r\n            \r\n            const workbook = XLSX.utils.book_new();\r\n            const sheetData = [];\r\n            \r\n            const storeName = localStorage.getItem('storeName') || 'Daily Accounts';\r\n            \r\n            \/\/ Header\r\n            sheetData.push([storeName]);\r\n            sheetData.push(['PROFIT & LOSS STATEMENT']);\r\n            sheetData.push([monthName]);\r\n            sheetData.push([]);\r\n            \r\n            \/\/ Table Header\r\n            sheetData.push(['Date', 'Cash Sell', 'Online Sell', 'Total Sell', 'Purchase', 'Kharch', 'Total Out', 'Day Profit']);\r\n            \r\n            let totalCash = 0, totalOnline = 0, totalPurchase = 0, totalKharch = 0;\r\n            \r\n            \/\/ Daily Data\r\n            allDates.forEach(dateKey => {\r\n                const dayData = data[dateKey];\r\n                \r\n                const cash = dayData.sell.filter(e => e.payment === 'cash').reduce((s, e) => s + e.amount, 0);\r\n                const online = dayData.sell.filter(e => e.payment === 'online').reduce((s, e) => s + e.amount, 0);\r\n                const purchase = dayData.purchase.reduce((s, e) => s + e.amount, 0);\r\n                const kharch = dayData.cashout.filter(e => e.type === 'kharch').reduce((s, e) => s + e.amount, 0);\r\n                \r\n                const sellTotal = cash + online;\r\n                const outTotal = purchase + kharch;\r\n                const dayProfit = sellTotal - outTotal;\r\n                \r\n                totalCash += cash;\r\n                totalOnline += online;\r\n                totalPurchase += purchase;\r\n                totalKharch += kharch;\r\n                \r\n                const dateObj = new Date(dateKey);\r\n                const dayName = dateObj.toLocaleDateString('en-US', { day: 'numeric', month: 'short' });\r\n                \r\n                sheetData.push([dayName, cash, online, sellTotal, purchase, kharch, outTotal, dayProfit]);\r\n            });\r\n            \r\n            \/\/ Get platform payments\r\n            const platformPayments = JSON.parse(localStorage.getItem('platformPayments') || '{}');\r\n            let totalPlatformPayments = 0;\r\n            \r\n            Object.keys(platformPayments).forEach(date => {\r\n                if (date.startsWith(selectedMonth)) {\r\n                    platformPayments[date].forEach(payment => {\r\n                        totalPlatformPayments += payment.amount;\r\n                    });\r\n                }\r\n            });\r\n            \r\n            \/\/ Totals\r\n            const grandSell = totalCash + totalOnline + totalPlatformPayments;\r\n            const grandOut = totalPurchase + totalKharch;\r\n            const grossProfit = grandSell - grandOut;\r\n            \r\n            sheetData.push([]);\r\n            sheetData.push(['TOTAL', totalCash, totalOnline, grandSell, totalPurchase, totalKharch, grandOut, grossProfit]);\r\n            \r\n            \/\/ Platform Payments Detail\r\n            if (totalPlatformPayments > 0) {\r\n                sheetData.push([]);\r\n                sheetData.push(['PLATFORM PAYMENTS (Zomato\/Swiggy)']);\r\n                sheetData.push(['Date', 'Platform', 'Amount']);\r\n                \r\n                Object.keys(platformPayments).sort().forEach(date => {\r\n                    if (date.startsWith(selectedMonth)) {\r\n                        platformPayments[date].forEach(payment => {\r\n                            const dateObj = new Date(date);\r\n                            const dayName = dateObj.toLocaleDateString('en-US', { day: 'numeric', month: 'short' });\r\n                            sheetData.push([dayName, payment.platform, payment.amount]);\r\n                        });\r\n                    }\r\n                });\r\n                \r\n                sheetData.push(['TOTAL PLATFORM', '', totalPlatformPayments]);\r\n            }\r\n            \r\n            \/\/ Profit Calculation\r\n            sheetData.push([]);\r\n            sheetData.push(['PROFIT CALCULATION']);\r\n            sheetData.push(['Total Sell (incl. Platform)', grandSell]);\r\n            sheetData.push(['Total Purchase', totalPurchase]);\r\n            sheetData.push(['Total Kharch', totalKharch]);\r\n            sheetData.push(['Gross Profit', grossProfit]);\r\n            sheetData.push(['Gross Profit %', ((grossProfit \/ grandSell) * 100).toFixed(1) + '%']);\r\n            \r\n            \/\/ Fixed Expenses\r\n            const fixedExpenses = JSON.parse(localStorage.getItem('fixedExpenses') || '{}');\r\n            const rent = parseFloat(fixedExpenses[`${selectedMonth}_rent`]) || 0;\r\n            const salary = parseFloat(fixedExpenses[`${selectedMonth}_salary`]) || 0;\r\n            const totalFixed = rent + salary;\r\n            const netProfit = grossProfit - totalFixed;\r\n            \r\n            sheetData.push([]);\r\n            sheetData.push(['FIXED EXPENSES']);\r\n            sheetData.push(['Rent', rent]);\r\n            sheetData.push(['Salary', salary]);\r\n            sheetData.push(['Total Fixed', totalFixed]);\r\n            sheetData.push([]);\r\n            sheetData.push(['NET PROFIT', netProfit]);\r\n            \r\n            \/\/ Partners\r\n            const partners = JSON.parse(localStorage.getItem('partners') || '[]');\r\n            if (partners.length > 0) {\r\n                sheetData.push([]);\r\n                sheetData.push(['PARTNER DISTRIBUTION']);\r\n                partners.forEach(partner => {\r\n                    const share = (netProfit * partner.percentage) \/ 100;\r\n                    sheetData.push([partner.name + ' (' + partner.percentage + '%)', share]);\r\n                });\r\n            }\r\n            \r\n            const worksheet = XLSX.utils.aoa_to_sheet(sheetData);\r\n            XLSX.utils.book_append_sheet(workbook, worksheet, 'P&L');\r\n            \r\n            XLSX.writeFile(workbook, `PL_Statement_${monthName}.xlsx`);\r\n            alert('\u2705 P&L Excel downloaded successfully!');\r\n        }\r\n\r\n        \/\/ Initialize\r\n        updateDisplay();\r\n        loadData();\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\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":"<p>Daily Accounts &#8211; Rozana Khata \ud83d\udcca Daily Accounts &#8211; Rozana Khata \ud83d\udecd\ufe0f Platform \ud83d\udcc8 P&#038;L \u23f3 Pending \ud83d\udcb0 Advance \ud83d\udce4 Share \u2699\ufe0f Settings \u25c0 Previous Next \u25b6 \ud83d\udcb0 Sell (Bikri) CashOnlinePending + Add Entry \ud83d\udcb5 Cash \u20b90 \ud83d\udcb3 Online \u20b90 \u23f3 Pending \u20b90 Total Sell: \u20b90 \ud83d\uded2 Purchase (Kharidari) + Add Entry Total Purchase: \u20b90 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2678","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/pages\/2678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/comments?post=2678"}],"version-history":[{"count":48,"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/pages\/2678\/revisions"}],"predecessor-version":[{"id":3196,"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/pages\/2678\/revisions\/3196"}],"wp:attachment":[{"href":"https:\/\/malikskitchen.in\/index.php\/wp-json\/wp\/v2\/media?parent=2678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}