{"id":7114,"date":"2025-11-23T10:44:38","date_gmt":"2025-11-23T02:44:38","guid":{"rendered":"https:\/\/hobertek.com\/?page_id=7114"},"modified":"2025-11-24T14:38:56","modified_gmt":"2025-11-24T06:38:56","slug":"hober-vip-partner-quoting-tool","status":"publish","type":"page","link":"https:\/\/hobertek.com\/pt\/hober-vip-partner-quoting-tool\/","title":{"rendered":"Ferramenta de cota\u00e7\u00e3o para parceiros VIP da Hober"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7114\" class=\"elementor elementor-7114\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d9ade10 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"d9ade10\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5c8506d\" data-id=\"5c8506d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-694cf1f elementor-widget elementor-widget-html\" data-id=\"694cf1f\" 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<div id=\"quote-system-wrapper\">\r\n    <!-- \u5f15\u5165\u5b57\u4f53\u548cPDF\u5e93 -->\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700;800&display=swap\" rel=\"stylesheet\">\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2pdf.js\/0.10.1\/html2pdf.bundle.min.js\"><\/script>\r\n\r\n    <style>\r\n        \/* === \u6837\u5f0f\u9694\u79bb\u5bb9\u5668 === *\/\r\n        #quote-system-wrapper {\r\n            font-family: 'Inter', sans-serif;\r\n            background: #f4f7f9;\r\n            color: #333;\r\n            height: 980px; \r\n            width: 100%;\r\n            border: 1px solid #e0e0e0;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-sizing: border-box;\r\n            position: relative;\r\n            --primary: #2c3e50; \r\n            --primary-dark: #1a252f;\r\n            --accent: #2980b9;\r\n            --bg: #f4f7f9;\r\n            --text: #333;\r\n            --border: #dcdfe6;\r\n            overflow: auto; \/* \u5141\u8bb8\u6eda\u52a8 *\/\r\n        }\r\n\r\n        #quote-system-wrapper * { box-sizing: border-box; line-height: 1.4; }\r\n        #quote-system-wrapper h2 { margin: 0; font-size: 16px; color: #333; line-height: 1.2; }\r\n\r\n        .app-container { display: flex; height: 100%; }\r\n\r\n        \/* Left Panel *\/\r\n        .left-panel { \r\n            width: 42%; \r\n            padding: 15px; \r\n            overflow-y: auto; \r\n            background: #fff; \r\n            border-right: 1px solid #ddd; \r\n            display: flex; \r\n            flex-direction: column; \r\n            gap: 12px; \r\n        }\r\n        \r\n        .panel-card { border: 1px solid #eee; border-radius: 6px; padding: 12px; background: #fafafa; margin-bottom: 5px; }\r\n        .panel-title { font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 8px; border-bottom: 2px solid #eef; padding-bottom: 4px; }\r\n        \r\n        .form-row { display: flex; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }\r\n        .form-group { flex: 1; min-width: 100px; }\r\n        \r\n        #quote-system-wrapper label { display: block; font-size: 10px; font-weight: 600; margin-bottom: 3px; color: #666; }\r\n        #quote-system-wrapper input, \r\n        #quote-system-wrapper select, \r\n        #quote-system-wrapper textarea { \r\n            width: 100%; padding: 6px; border: 1px solid #ccc; border-radius: 4px; font-size: 11px; background: #fff; height: auto;\r\n        }\r\n        \r\n        .highlight-input { border: 1px solid #f39c12 !important; background: #fffdf5 !important; }\r\n\r\n        .btn-calc { width: 100%; background: var(--primary); color: #fff; border: none; padding: 10px; border-radius: 4px; cursor: pointer; font-weight: 600; font-size: 12px; text-align: center;}\r\n        .btn-calc:hover { background: var(--primary-dark); }\r\n        \r\n        .btn-add { background: var(--accent); margin-top: 5px; }\r\n        .btn-add:hover { background: #1c6ea4; }\r\n\r\n        \/* Price Summary Box *\/\r\n        .price-summary {\r\n            background: #fff8e1; border: 1px solid #ffe0b2; padding: 10px; border-radius: 4px; margin-top: 10px;\r\n        }\r\n        .summary-row { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 4px; }\r\n        .summary-row.main { font-weight: 700; font-size: 13px; color: #d35400; border-top: 1px solid #ffe0b2; padding-top: 4px; margin-top: 4px;}\r\n\r\n        \/* Editor Table *\/\r\n        .editor-table { width: 100%; border-collapse: collapse; font-size: 10px; background: #fff; }\r\n        .editor-table th { background: #eef2f7; padding: 4px; text-align: left; border: 1px solid #ddd; color:#333; }\r\n        .editor-table td { border: 1px solid #ddd; padding: 0; color:#333; }\r\n        .editor-input { border: none; padding: 4px; width: 100%; height: 100%; font-family: inherit; font-size: 11px; background:transparent;}\r\n        .price-input { text-align: right; color: var(--primary); font-weight: bold; background: #fdfdfd; }\r\n        .btn-del { color: red; cursor: pointer; font-weight: bold; border: none; background: none; width: 100%; }\r\n\r\n        \/* Right Panel *\/\r\n        .right-panel { \r\n            width: 58%; \r\n            background: #525659; \r\n            padding: 20px; \r\n            overflow-y: auto; \r\n            display: flex; \r\n            justify-content: center; \r\n            align-items: flex-start;\r\n        }\r\n        \r\n        \/* A4 Paper Preview - Screen Mode *\/\r\n        .a4-paper { \r\n            background: white; \r\n            width: 210mm; \r\n            min-height: 297mm; \r\n            padding: 15mm; \r\n            box-shadow: 0 0 20px rgba(0,0,0,0.5); \r\n            position: relative; \r\n            margin-bottom: 20px;\r\n            color: #000; \r\n            box-sizing: border-box; \r\n            \/* Scale for screen viewing *\/\r\n            transform: scale(0.85); \r\n            transform-origin: top center;\r\n        }\r\n\r\n        .quote-header { display: flex; justify-content: space-between; margin-bottom: 15px; border-bottom: 2px solid var(--primary); padding-bottom: 15px;}\r\n        .logo-text { font-size: 22px; font-weight: 800; color: var(--primary); text-transform: uppercase; line-height: 1.2;}\r\n        .retailer-contact { font-size: 10px; color: #555; margin-top: 5px; line-height: 1.4; }\r\n        \r\n        .quote-meta { text-align: right; }\r\n        .meta-title { font-size: 24px; font-weight: 800; color: #ddd; text-transform: uppercase; margin:0; letter-spacing: 2px;}\r\n        .meta-row { font-size: 10px; color: #333; margin-top: 4px; }\r\n\r\n        .info-grid { display: flex; justify-content: space-between; margin: 20px 0; gap: 20px; }\r\n        .info-box { flex: 1; padding: 0px; font-size: 10px; line-height: 1.5; text-align:left;}\r\n        .info-label { color: #888; font-weight: 700; font-size: 9px; text-transform: uppercase; border-bottom: 1px solid #eee; margin-bottom: 5px; padding-bottom: 2px;}\r\n        .info-content { font-weight: 600; color: #000; font-size: 11px;}\r\n\r\n        \/* --- PDF Style Fixes for Colors and Stripes --- *\/\r\n        .preview-table { width: 100%; border-collapse: collapse; font-size: 10px; margin-top: 10px; }\r\n        \/* TH is already styled with --primary color *\/\r\n        .preview-table th { background: var(--primary); color: #fff; padding: 8px 6px; text-align: left; text-transform: uppercase; font-weight: 600;}\r\n        .preview-table td { border-bottom: 1px solid #eee; padding: 8px 6px; vertical-align: top; color: #333; }\r\n        \/* Add background to odd rows for a cleaner look in PDF *\/\r\n        .preview-table tr:nth-child(odd) { background-color: #f8f8f8; } \r\n        .preview-table tr:nth-child(even) { background-color: #ffffff; }\r\n\r\n        .preview-table tr { page-break-inside: avoid; break-inside: avoid; }\r\n        .preview-table .num { text-align: right; font-family: 'Inter', monospace; font-weight: 600; }\r\n        .preview-table .item-name { font-weight: 700; font-size: 11px; color: #222; }\r\n        .preview-table .item-desc { color: #666; font-size: 9px; margin-top: 2px; white-space: pre-line; }\r\n\r\n        .total-section { margin-top: 20px; display: flex; justify-content: flex-end; }\r\n        .total-table { width: 50%; border-collapse: collapse; font-size: 11px; }\r\n        .total-table td { padding: 6px 10px; text-align: right; color:#333; border-bottom: 1px solid #eee;}\r\n        .total-final { background: var(--primary); font-weight: 700; color: #fff!important; font-size: 12px; border-radius: 4px;}\r\n\r\n        .footer { position: absolute; bottom: 15mm; left: 0; width: 100%; text-align: center; font-size: 8px; color: #999; border-top: 1px solid #eee; padding-top: 8px; }\r\n        \r\n        .hidden { display: none !important; }\r\n    <\/style>\r\n\r\n    <div class=\"app-container\">\r\n        <!-- Left: Editor -->\r\n        <div class=\"left-panel\">\r\n            <h2>Criador de Or\u00e7amentos de Marca Branca<\/h2>\r\n            \r\n            <!-- 1. Header Info -->\r\n            <div class=\"panel-card\">\r\n                <div class=\"panel-title\">1. Cabe\u00e7alho e informa\u00e7\u00f5es de contato<\/div>\r\n                <div style=\"background:#eef7ff; padding:8px; border-radius:4px; margin-bottom:8px;\">\r\n                    <label style=\"color:#0056b3;\">A. Sua empresa (varejista)<\/label>\r\n                    <div class=\"form-row\"><div class=\"form-group\"><label>nome da empresa<\/label><input id=\"in_retailer_co\" placeholder=\"por exemplo, Solar Pro Solutions\" oninput=\"updateHeader()\"><\/div><\/div>\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-group\"><label>Nome do contato<\/label><input id=\"in_retailer_name\" placeholder=\"Seu nome\" oninput=\"updateHeader()\"><\/div>\r\n                        <div class=\"form-group\"><label>Telefone<\/label><input id=\"in_retailer_phone\" placeholder=\"Seu telefone\" oninput=\"updateHeader()\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"form-row\">\r\n                         <div class=\"form-group\" style=\"flex:2\"><label>E-mail<\/label><input id=\"in_retailer_email\" placeholder=\"Seu e-mail\" oninput=\"updateHeader()\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div style=\"background:#fff8f0; padding:8px; border-radius:4px;\">\r\n                    <label style=\"color:#d35400;\">B. Informa\u00e7\u00f5es do usu\u00e1rio final<\/label>\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-group\"><label>Nome do usu\u00e1rio final<\/label><input id=\"in_end_name\" placeholder=\"Nome do cliente\" oninput=\"updateHeader()\"><\/div>\r\n                        <div class=\"form-group\"><label>Telefone do usu\u00e1rio final<\/label><input id=\"in_end_phone\" placeholder=\"Telefone do cliente\" oninput=\"updateHeader()\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"form-row\" style=\"margin-top:8px;\">\r\n                     <div class=\"form-group\"><label>Cota\u00e7\u00e3o n\u00ba.<\/label><input id=\"in_no\" value=\"QT-2025-001\" oninput=\"updateHeader()\"><\/div>\r\n                     <div class=\"form-group\"><label>Data<\/label><input type=\"date\" id=\"in_date\" oninput=\"updateHeader()\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- 2. System Configure -->\r\n            <div class=\"panel-card\">\r\n                <div class=\"panel-title\">2. Configurar o sistema<\/div>\r\n                \r\n                <div class=\"form-row\" style=\"background:#f0fff4; padding:5px; border:1px solid #c3e6cb; border-radius:4px; margin-bottom:10px;\">\r\n                    <div class=\"form-group\" style=\"flex:2\">\r\n                        <label style=\"color:#155724\">Esquema de configura\u00e7\u00e3o<\/label>\r\n                        <select id=\"sys_scheme\" style=\"font-weight:bold;\" onchange=\"toggleSchemeInputs()\">\r\n                            <option value=\"B\">Esquema B: Sistema completo (bomba inclu\u00edda)<\/option>\r\n                            <option value=\"A\">Esquema A: Bomba existente (apenas atualiza\u00e7\u00e3o)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                    <div class=\"form-group\" style=\"flex:1\">\r\n                        <label style=\"color:#155724\">Margem (%)<\/label>\r\n                        <input type=\"number\" id=\"in_margin\" value=\"20\" style=\"font-weight:bold; color:#155724; text-align:center;\" oninput=\"updateTotals()\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Scheme B Inputs (BLUE BG) -->\r\n                <div id=\"inputs_scheme_b\" style=\"background:#e8f4fc; padding:8px; border-radius:4px; border:1px solid #b6d4fe; margin-bottom:8px;\">\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-group\"><label>\u00c1gua (m\u00b3\/dia)<\/label><input type=\"number\" id=\"sys_flow\" value=\"60\"><\/div>\r\n                        <div class=\"form-group\"><label>Altura manom\u00e9trica total (m)<\/label><input type=\"number\" id=\"sys_head\" value=\"80\"><\/div>\r\n                        <div class=\"form-group\"><label>Fonte<\/label>\r\n                            <select id=\"sys_source\">\r\n                                <option value=\"sub\">Po\u00e7o Profundo<\/option>\r\n                                <option value=\"surf\">Superf\u00edcie<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"form-group\"><label>Cabo da bomba (m)<\/label><input type=\"number\" id=\"len_pump\" value=\"120\"><\/div>\r\n                <\/div>\r\n\r\n                <!-- Scheme A Inputs (YELLOW BG, MANUAL INPUT) -->\r\n                <div id=\"inputs_scheme_a\" class=\"hidden\" style=\"background:#fff3cd; padding:8px; border:1px solid #ffeeba; border-radius:4px; margin-bottom:8px;\">\r\n                    <label style=\"color:#856404; border-bottom:1px solid #ffeeba; padding-bottom:3px; margin-bottom:5px; display:block; font-weight:bold;\">Especifica\u00e7\u00f5es da bomba existente (obrigat\u00f3rio)<\/label>\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-group\" style=\"flex:2\"><label>Marca\/Modelo da Bomba (Opcional)<\/label><input id=\"ext_pump_model\" class=\"highlight-input\" placeholder=\"Exemplo: Grundfos SP 5-17\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-group\"><label>Pot\u00eancia nominal (kW)<\/label><input type=\"number\" id=\"ext_pump_p\" class=\"highlight-input\" placeholder=\"Exemplo: 5.5\" step=\"0.1\"><\/div>\r\n                        <div class=\"form-group\"><label>Tens\u00e3o (V)<\/label>\r\n                            <select id=\"ext_pump_v\" class=\"highlight-input\">\r\n                                <option value=\"220\">Monof\u00e1sico 220V<\/option>\r\n                                <option value=\"380\">Trif\u00e1sico 380V<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div style=\"font-size:9px; color:#856404; font-style:italic;\">*Inversor selecionado com base na pot\u00eancia e voltagem.<\/div>\r\n                <\/div>\r\n\r\n                <!-- Common Inputs -->\r\n                <div class=\"form-row\">\r\n                    <div class=\"form-group\"><label>Modelo de painel<\/label>\r\n                        <select id=\"sys_panel_model\">\r\n                            <option value=\"580\">Mono de 580 W<\/option>\r\n                            <option value=\"550\">Monocrom\u00e1tico de 550 W<\/option>\r\n                            <option value=\"450\">Mono de 450 W<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                    <div class=\"form-group\"><label>Horas de sol<\/label><input type=\"number\" id=\"sys_sun\" value=\"5.5\"><\/div>\r\n                    <div class=\"form-group\"><label>Cabo fotovoltaico (m)<\/label><input type=\"number\" id=\"len_pv_m\" value=\"20\"><\/div>\r\n                <\/div>\r\n\r\n                <div class=\"form-row\">\r\n                    <button class=\"btn-calc\" onclick=\"runCalculation()\">\u26a1 Gerar Configura\u00e7\u00e3o<\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- 3. Editor -->\r\n            <div class=\"panel-card\" style=\"flex:1; display:flex; flex-direction:column; padding:0;\">\r\n                <div style=\"padding:8px 12px; background:#f1f3f5; border-bottom:1px solid #ddd; font-weight:bold; font-size:11px; display:flex; justify-content:space-between;\">\r\n                    <span>3. Editor de Itens<\/span>\r\n                    <span style=\"color:#666; font-weight:normal;\">*Pre\u00e7os = Custo de Atacado<\/span>\r\n                <\/div>\r\n                <div style=\"overflow:auto; flex:1; min-height: 150px;\">\r\n                    <table class=\"editor-table\">\r\n                        <thead>\r\n                            <tr>\r\n                                <th width=\"10%\">Quantidade<\/th>\r\n                                <th width=\"50%\">Item<\/th>\r\n                                <th width=\"30%\">Custo($)<\/th>\r\n                                <th width=\"10%\"><\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n                        <tbody id=\"editor_tbody\"><\/tbody>\r\n                    <\/table>\r\n                <\/div>\r\n                <div style=\"padding:5px; background:#fff; border-top:1px solid #ddd;\">\r\n                    <button class=\"btn-calc btn-add\" onclick=\"addCustomItem()\">+ Adicionar Item<\/button>\r\n                <\/div>\r\n                \r\n                <div class=\"price-summary\">\r\n                    <div class=\"summary-row\"><span>Custo do hardware:<\/span> <span id=\"disp_cost_total\">0.00<\/span><\/div>\r\n                    <div class=\"summary-row\"><span>Margem:<\/span> <span id=\"disp_margin_val\">20%<\/span><\/div>\r\n                    <div class=\"summary-row main\" style=\"color:#27ae60; font-size:14px;\"><span>Cota\u00e7\u00e3o para o varejo:<\/span> <span id=\"disp_retail_quote\">0.00<\/span><\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"panel-card\">\r\n                <div class=\"form-row\">\r\n                    <div class=\"form-group\"><label>Taxa de Instala\u00e7\u00e3o ($)<\/label><input type=\"number\" id=\"in_install_fee\" value=\"500\" oninput=\"updateTotals()\"><\/div>\r\n                <\/div>\r\n                <div class=\"form-row\">\r\n                    <div class=\"form-group\"><label>Observa\u00e7\u00f5es<\/label><textarea id=\"in_remarks\" rows=\"2\" oninput=\"updateTotals()\">Validity: 15 days.<\/textarea><\/div>\r\n                <\/div>\r\n                <button class=\"btn-calc\" style=\"background:#27ae60; margin-top:5px;\" onclick=\"downloadPDF()\">\ud83d\udcc4 Baixar PDF<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Right: Preview -->\r\n        <div class=\"right-panel\">\r\n            <div id=\"pdf_content\" class=\"a4-paper\">\r\n                <div class=\"quote-header\">\r\n                    <div class=\"logo-area\">\r\n                        <div class=\"logo-text\" id=\"out_retailer_co\">[NOME DA SUA EMPRESA]<\/div>\r\n                        <div class=\"retailer-contact\">\r\n                            <div id=\"out_retailer_contact\">Contato: [Nome]<\/div>\r\n                            <div id=\"out_retailer_phone_disp\">N\u00famero de telefone]<\/div>\r\n                            <div id=\"out_retailer_email_disp\">E-mail: [Email]<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"quote-meta\">\r\n                        <div class=\"meta-title\">Cota\u00e7\u00e3o<\/div>\r\n                        <div class=\"meta-row\"><strong>N\u00e3o:<\/strong> <span id=\"out_no\"><\/span><\/div>\r\n                        <div class=\"meta-row\"><strong>Data:<\/strong> <span id=\"out_date\"><\/span><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"info-grid\">\r\n                    <div class=\"info-box\">\r\n                        <div class=\"info-label\">Para (Usu\u00e1rio Final)<\/div>\r\n                        <div class=\"info-content\">\r\n                            <div id=\"out_end_name\" style=\"font-size:12px; margin-bottom:2px;\"><\/div>\r\n                            <div id=\"out_end_phone\" style=\"font-weight:normal;\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"info-box\" style=\"text-align:right;\">\r\n                        <div class=\"info-label\">De<\/div>\r\n                        <div class=\"info-content\">\r\n                             <div id=\"out_retailer_co_small\"><\/div>\r\n                             <div>Instalador de energia solar autorizado<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <table class=\"preview-table\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th width=\"5%\">#<\/th>\r\n                            <th width=\"55%\">Item e descri\u00e7\u00e3o<\/th>\r\n                            <th width=\"10%\">Unidade<\/th>\r\n                            <th width=\"10%\" style=\"text-align:center\">Quantidade<\/th>\r\n                            <th width=\"20%\" class=\"num\">Valor (USD)<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody id=\"preview_tbody\"><\/tbody>\r\n                <\/table>\r\n\r\n                <div class=\"total-section\">\r\n                    <table class=\"total-table\">\r\n                        <tr><td>Subtotal:<\/td><td id=\"out_subtotal\">0.00<\/td><\/tr>\r\n                        <tr><td>Taxa de instala\u00e7\u00e3o:<\/td><td id=\"out_install_fee\">0.00<\/td><\/tr>\r\n                        <tr class=\"total-final\"><td style=\"color:#fff;\">Total geral:<\/td><td style=\"color:#fff;\" id=\"out_grand_total\">0.00<\/td><\/tr>\r\n                    <\/table>\r\n                <\/div>\r\n\r\n                <div style=\"margin-top:40px; font-size:9px; color:#444;\">\r\n                    <strong>Observa\u00e7\u00f5es\/Termos:<\/strong>\r\n                    <div id=\"out_remarks\" style=\"margin-top:4px; white-space:pre-wrap; border:1px solid #eee; padding:8px;\"><\/div>\r\n                <\/div>\r\n\r\n                <div class=\"footer\">Obrigado pela sua prefer\u00eancia!<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n    \/\/ ================= 1. Full Database (Restored) =================\r\n    const panelDB = {\r\n        450: { w: 450, vmp: 34.67, voc: 41.25, price: 85 },\r\n        550: { w: 550, vmp: 41.97, voc: 49.95, price: 105 },\r\n        580: { w: 580, vmp: 42.84, voc: 50.72, price: 110 }\r\n    };\r\n    const prices = { mount_per_watt: 0.07, sensor: 15, remote_module: 60 };\r\n\r\n    \/\/ BLDC \u6cf5\u7684 PV \u9635\u5217\u63a8\u8350\u6570\u636e (\u6765\u81ea\u60a8\u7684\u8868\u683c)\r\n    const bldcPVRefDB = {\r\n        \"HD-SWP9-6-24-300\": { w: 450, qty: 1 },\r\n        \"HD-SWP18-11-48-600\": { w: 450, qty: 2 },\r\n        \"HD-SWP19-12-72-750\": { w: 450, qty: 2 },\r\n        \"HD-SWP22-16-110-1100\": { w: 550, qty: 3 },\r\n        \"HD-SWP36-12-110-1100\": { w: 550, qty: 3 },\r\n        \"HD-SWP23-25-110-1500\": { w: 550, qty: 4 },\r\n        \"HD-SWP28-30-280-2200\": { w: 450, qty: 8 },\r\n        \"HD-SWP45-15-110-1500\": { w: 550, qty: 4 },\r\n        \"HD-SWP50-20-280-2200\": { w: 450, qty: 8 },\r\n        \"HD-SWP70-16-280-2200\": { w: 450, qty: 8 },\r\n\r\n        \"HBP3C-24-300-3-35\": { w: 450, qty: 1 },\r\n        \"HBP3C-48-400-3.5-47\": { w: 450, qty: 2 },\r\n        \"HBP3C-72-600-3.5-80\": { w: 450, qty: 2 },\r\n        \"HBP3C-72-750-3.5-95\": { w: 450, qty: 3 },\r\n        \"HBP3C-48-500-5.2-45\": { w: 450, qty: 2 },\r\n        \"HBP3C-72-600-5.2-50\": { w: 450, qty: 2 },\r\n        \"HBP3C-96-750-5.2-75\": { w: 450, qty: 3 },\r\n        \"HBP3C-72-750-6-60\": { w: 450, qty: 3 },\r\n        \"HBP3C-110-1100-7.5-62\": { w: 550, qty: 3 },\r\n        \"HBP4C-48-400-6-32\": { w: 450, qty: 2 },\r\n        \"HBP4C-72-600-6-42\": { w: 450, qty: 2 },\r\n        \"HBP4C-110-1100-6-84\": { w: 550, qty: 3 },\r\n        \"HBP4C-110-1300-6-112\": { w: 550, qty: 4 },\r\n        \"HBP4C-110-1500-6-135\": { w: 550, qty: 4 },\r\n        \"HBP4C-96-750-9-45\": { w: 450, qty: 3 },\r\n        \"HBP4C-110-1100-9-58\": { w: 550, qty: 3 },\r\n        \"HBP4C-110-1300-9-71\": { w: 550, qty: 4 },\r\n        \"HBP4C-110-1500-9-85\": { w: 550, qty: 4 },\r\n        \"HBP4C-96-750-13-50\": { w: 450, qty: 3 },\r\n        \"HBP4C-110-1100-13-49\": { w: 550, qty: 3 },\r\n        \"HBP4C-110-1300-13-54\": { w: 550, qty: 4 },\r\n        \"HBP4C-110-1500-13-60\": { w: 550, qty: 4 },\r\n        \"HBP4C-110-1500-17-48\": { w: 550, qty: 4 },\r\n        \"HBP3SC-24-300-4-35\": { w: 450, qty: 1 },\r\n        \"HBP3SC-48-400-4-50\": { w: 450, qty: 2 },\r\n        \"HBP3SC-72-600-4-80\": { w: 450, qty: 2 },\r\n        \"HBP4SC-48-500-5.2-45\": { w: 450, qty: 2 },\r\n        \"HBP4SC-96-750-5.2-67\": { w: 450, qty: 3 },\r\n        \"HBP4SC-110-1100-5.2-101\": { w: 550, qty: 3 },\r\n        \"HBP4SC-110-1300-5.2-146\": { w: 550, qty: 4 },\r\n        \"HBP4SC-110-1500-5.2-198\": { w: 550, qty: 4 },\r\n        \"HBP4SC-110-1300-7.5-80\": { w: 450, qty: 4 },\r\n        \"HBP4SC-110-1500-7.5-100\": { w: 550, qty: 4 },\r\n        \"HBP4SC-110-1500-11-60\": { w: 550, qty: 4 },\r\n        \"HBP4SC-110-1500-19-35\": { w: 550, qty: 4 },\r\n        \"HBP4SC-110-1500-36-22\": { w: 550, qty: 4 },\r\n        \"HBP4C-300-2200-6-175\": { w: 450, qty: 8 },\r\n        \"HBP4C-300-2200-9-125\": { w: 450, qty: 8 },\r\n        \"HBP4C-300-2200-13-110\": { w: 450, qty: 8 },\r\n        \"HBP4C-300-2200-17-72\": { w: 450, qty: 8 },\r\n        \"HBP4SC-300-2200-5.2-255\": { w: 450, qty: 8 },\r\n        \"HBP4SC-300-2200-7.5-150\": { w: 450, qty: 8 },\r\n        \"HBP4SC-300-2200-11-120\": { w: 450, qty: 8 },\r\n        \"HBP4SC-300-2200-19-60\": { w: 450, qty: 8 },\r\n        \"HBP4SC-300-2200-36-38\": { w: 450, qty: 8 }\r\n    };\r\n\r\n    const invDB = [\r\n        { m: \"HSPH750LB\", p: 0.75, ph: 1, b: true, price: 200 },\r\n        { m: \"HSPH1500LB\", p: 1.5, ph: 1, b: true, price: 250 },\r\n        { m: \"HSPH1500L\", p: 1.5, ph: 1, b: false, price: 240 },\r\n        { m: \"HSPH2200L\", p: 2.2, ph: 1, b: false, price: 300 },\r\n        { m: \"HSPH3700L\", p: 3.7, ph: 1, b: false, price: 380 },\r\n        { m: \"HSPH5500L\", p: 5.5, ph: 1, b: false, price: 450 },\r\n        { m: \"HSPH7500L\", p: 7.5, ph: 1, b: false, price: 550 },\r\n        { m: \"HSPH1500HB\", p: 1.5, ph: 3, b: true, price: 260 },\r\n        { m: \"HSPH2200HB\", p: 2.2, ph: 3, b: true, price: 310 },\r\n        { m: \"HSPH3700H\", p: 3.7, ph: 3, b: false, price: 390 },\r\n        { m: \"HSPH4000H\", p: 4.0, ph: 3, b: false, price: 410 },\r\n        { m: \"HSPH5500H\", p: 5.5, ph: 3, b: false, price: 480 },\r\n        { m: \"HSPH7500H\", p: 7.5, ph: 3, b: false, price: 580 },\r\n        { m: \"HSPH9200H\", p: 9.2, ph: 3, b: false, price: 650 },\r\n        { m: \"HSPH11KH\", p: 11, ph: 3, b: false, price: 720 },\r\n        { m: \"HSPH15KH\", p: 15, ph: 3, b: false, price: 880 },\r\n        { m: \"HSPH18.5KH\", p: 18.5, ph: 3, b: false, price: 1050 },\r\n        { m: \"HSPH22KH\", p: 22, ph: 3, b: false, price: 1200 },\r\n        { m: \"HSPH26KH\", p: 26, ph: 3, b: false, price: 1350 },\r\n        { m: \"HSPH30KH\", p: 30, ph: 3, b: false, price: 1450 },\r\n        { m: \"HSPH37KH\", p: 37, ph: 3, b: false, price: 1650 },\r\n        { m: \"HSPH45KH\", p: 45, ph: 3, b: false, price: 1850 },\r\n        { m: \"HSPH55KH\", p: 55, ph: 3, b: false, price: 2250 },\r\n        { m: \"HSPH75KH\", p: 75, ph: 3, b: false, price: 2900 },\r\n        { m: \"HSPH100KH\", p: 100, ph: 3, b: false, price: 3800 },\r\n        { m: \"HSPH110KH\", p: 110, ph: 3, b: false, price: 4600 },\r\n        { m: \"HSPH132KH\", p: 132, ph: 3, b: false, price: 5300 },\r\n        { m: \"HSPH160KH\", p: 160, ph: 3, b: false, price: 6600 },\r\n        { m: \"HSPH180KH\", p: 180, ph: 3, b: false, price: 7200 },\r\n        { m: \"HSPH200KH\", p: 200, ph: 3, b: false, price: 8100 }\r\n    ];\r\n\r\n    const pumpDB = [\r\n      \/\/ --- \u539f\u6709\u7684 AC\/\u4f20\u7edfDC \u6cf5 (dbType: 'AC&DC') ---\r\n      \/\/ \u6f5c\u6c34\u6cf5 (Submersible) - \u6ce8\u610f\u8fd9\u4e9b\u662f\u65e7\u7684AC\/\u4f20\u7edfDC\u6cf5\r\n      {dbType:'AC&DC', model:\"H4SP2-06\",type:\"sub\",p:0.37,c:[{q:1.8,h:27},{q:3,h:20}], price: 382},\r\n      {dbType:'AC&DC', model:\"H4SP2-09\",type:\"sub\",p:0.37,c:[{q:1.8,h:41},{q:3,h:30}], price: 394},\r\n      {dbType:'AC&DC', model:\"H4SP2-13\",type:\"sub\",p:0.55,c:[{q:1.8,h:59},{q:3,h:43}], price: 417},\r\n      {dbType:'AC&DC', model:\"H4SP2-18\",type:\"sub\",p:0.75,c:[{q:1.8,h:81},{q:3,h:59}], price: 494},\r\n      {dbType:'AC&DC', model:\"H4SP2-23\",type:\"sub\",p:1.1,c:[{q:1.8,h:104},{q:3,h:76}], price: 532},\r\n      {dbType:'AC&DC', model:\"H4SP2-28\",type:\"sub\",p:1.5,c:[{q:1.8,h:126},{q:3,h:92}], price: 553},\r\n      {dbType:'AC&DC', model:\"H4SP2-33\",type:\"sub\",p:1.5,c:[{q:1.8,h:149},{q:3,h:109}], price: 583},\r\n      {dbType:'AC&DC', model:\"H4SP2-40\",type:\"sub\",p:2.2,c:[{q:1.8,h:180},{q:3,h:132}], price: 640},\r\n      {dbType:'AC&DC', model:\"H4SP2-48\",type:\"sub\",p:2.2,c:[{q:1.8,h:216},{q:3,h:158}], price: 680},\r\n      {dbType:'AC&DC', model:\"H4SP5-04\",type:\"sub\",p:0.37,c:[{q:4.8,h:17},{q:5.4,h:15}], price: 378},\r\n      {dbType:'AC&DC', model:\"H4SP5-06\",type:\"sub\",p:0.55,c:[{q:4.8,h:26},{q:5.4,h:23}], price: 391},\r\n      {dbType:'AC&DC', model:\"H4SP5-08\",type:\"sub\",p:0.75,c:[{q:4.8,h:34},{q:5.4,h:31}], price: 454},\r\n      {dbType:'AC&DC', model:\"H4SP5-12\",type:\"sub\",p:1.1,c:[{q:4.8,h:52},{q:5.4,h:46}], price: 487},\r\n      {dbType:'AC&DC', model:\"H4SP5-17\",type:\"sub\",p:1.5,c:[{q:4.8,h:73},{q:5.4,h:65}], price: 511},\r\n      {dbType:'AC&DC', model:\"H4SP5-22\",type:\"sub\",p:2.2,c:[{q:4.8,h:95},{q:5.4,h:84}], price: 553},\r\n      {dbType:'AC&DC', model:\"H4SP5-25\",type:\"sub\",p:2.2,c:[{q:4.8,h:108},{q:5.4,h:95}], price: 567},\r\n      {dbType:'AC&DC', model:\"H4SP5-33\",type:\"sub\",p:3,c:[{q:4.8,h:142},{q:5.4,h:125}], price: 724},\r\n      {dbType:'AC&DC', model:\"H4SP5-38\",type:\"sub\",p:4,c:[{q:4.8,h:163},{q:5.4,h:144}], price: 808},\r\n      {dbType:'AC&DC', model:\"H4SP5-40\",type:\"sub\",p:4,c:[{q:4.8,h:172},{q:5.4,h:152}], price: 819},\r\n      {dbType:'AC&DC', model:\"H4SP5-44\",type:\"sub\",p:4,c:[{q:4.8,h:189},{q:5.4,h:167}], price: 839},\r\n      {dbType:'AC&DC', model:\"H4SP5-52\",type:\"sub\",p:5.5,c:[{q:4.8,h:224},{q:5.4,h:198}], price: 951},\r\n      {dbType:'AC&DC', model:\"H4SP5-75\",type:\"sub\",p:7.5,c:[{q:4.8,h:323},{q:5.4,h:285}], price: 1244},\r\n      {dbType:'AC&DC', model:\"H4SP8-05\",type:\"sub\",p:0.75,c:[{q:6.6,h:25},{q:8.4,h:22}], price: 462},\r\n      {dbType:'AC&DC', model:\"H4SP8-07\",type:\"sub\",p:1.1,c:[{q:6.6,h:34},{q:8.4,h:30}], price: 491},\r\n      {dbType:'AC&DC', model:\"H4SP8-10\",type:\"sub\",p:1.5,c:[{q:6.6,h:49},{q:8.4,h:43}], price: 514},\r\n      {dbType:'AC&DC', model:\"H4SP8-12\",type:\"sub\",p:2.2,c:[{q:6.6,h:59},{q:8.4,h:52}], price: 546},\r\n      {dbType:'AC&DC', model:\"H4SP8-18\",type:\"sub\",p:3,c:[{q:6.6,h:88},{q:8.4,h:77}], price: 708},\r\n      {dbType:'AC&DC', model:\"H4SP8-21\",type:\"sub\",p:4,c:[{q:6.6,h:103},{q:8.4,h:90}], price: 783},\r\n      {dbType:'AC&DC', model:\"H4SP8-24\",type:\"sub\",p:4,c:[{q:6.6,h:118},{q:8.4,h:103}], price: 806},\r\n      {dbType:'AC&DC', model:\"H4SP8-30\",type:\"sub\",p:5.5,c:[{q:6.6,h:147},{q:8.4,h:129}], price: 920},\r\n      {dbType:'AC&DC', model:\"H4SP8-35\",type:\"sub\",p:5.5,c:[{q:6.6,h:171},{q:8.4,h:151}], price: 954},\r\n      {dbType:'AC&DC', model:\"H4SP8-40\",type:\"sub\",p:7.5,c:[{q:6.6,h:196},{q:8.4,h:172}], price: 1069},\r\n      {dbType:'AC&DC', model:\"H4SP8-44\",type:\"sub\",p:7.5,c:[{q:6.6,h:216},{q:8.4,h:189}], price: 1097},\r\n      {dbType:'AC&DC', model:\"H4SP8-58\",type:\"sub\",p:9.2,c:[{q:6.6,h:285},{q:8.4,h:250}], price: 1451},\r\n      {dbType:'AC&DC', model:\"H4SP14-05\",type:\"sub\",p:1.5,c:[{q:9,h:28},{q:15,h:20}], price: 521},\r\n      {dbType:'AC&DC', model:\"H4SP14-07\",type:\"sub\",p:2.2,c:[{q:9,h:39},{q:15,h:28}], price: 563},\r\n      {dbType:'AC&DC', model:\"H4SP14-10\",type:\"sub\",p:3,c:[{q:9,h:55},{q:15,h:40}], price: 716},\r\n      {dbType:'AC&DC', model:\"H4SP14-13\",type:\"sub\",p:4,c:[{q:9,h:72},{q:15,h:51}], price: 810},\r\n      {dbType:'AC&DC', model:\"H4SP14-15\",type:\"sub\",p:5.5,c:[{q:9,h:83},{q:15,h:59}], price: 909},\r\n      {dbType:'AC&DC', model:\"H4SP14-18\",type:\"sub\",p:5.5,c:[{q:9,h:99},{q:15,h:71}], price: 952},\r\n      {dbType:'AC&DC', model:\"H4SP14-21\",type:\"sub\",p:7.5,c:[{q:9,h:116},{q:15,h:83}], price: 1063},\r\n      {dbType:'AC&DC', model:\"H4SP14-25\",type:\"sub\",p:7.5,c:[{q:9,h:138},{q:15,h:99}], price: 1123},\r\n      {dbType:'AC&DC', model:\"H4SP14-30\",type:\"sub\",p:9.2,c:[{q:9,h:166},{q:15,h:119}], price: 1350},\r\n      {dbType:'AC&DC', model:\"H6SP46-1\",type:\"sub\",p:2.2,c:[{q:36,h:10},{q:48,h:9}], price: 569},\r\n      {dbType:'AC&DC', model:\"H6SP46-3\",type:\"sub\",p:5.5,c:[{q:36,h:31},{q:48,h:26}], price: 1027},\r\n      {dbType:'AC&DC', model:\"H6SP46-5\",type:\"sub\",p:7.5,c:[{q:36,h:51},{q:48,h:43}], price: 982},\r\n      {dbType:'AC&DC', model:\"H6SP46-7\",type:\"sub\",p:11,c:[{q:36,h:72},{q:48,h:60}], price: 1107},\r\n      {dbType:'AC&DC', model:\"H6SP46-10\",type:\"sub\",p:15,c:[{q:36,h:102},{q:48,h:86}], price: 1474},\r\n      {dbType:'AC&DC', model:\"H6SP46-13\",type:\"sub\",p:22,c:[{q:36,h:133},{q:48,h:112}], price: 1978},\r\n      {dbType:'AC&DC', model:\"H6SP46-18\",type:\"sub\",p:30,c:[{q:36,h:184},{q:48,h:155}], price: 2529},\r\n      {dbType:'AC&DC', model:\"H6SP46-22\",type:\"sub\",p:37,c:[{q:36,h:225},{q:48,h:189}], price: 3224},\r\n      {dbType:'AC&DC', model:\"H6SP46-26\",type:\"sub\",p:45,c:[{q:36,h:266},{q:48,h:224}], price: 4204},\r\n      {dbType:'AC&DC', model:\"H8SP77-3\",type:\"sub\",p:11,c:[{q:84,h:37},{q:120,h:12}], price: 1286},\r\n      {dbType:'AC&DC', model:\"H8SP77-5\",type:\"sub\",p:18.5,c:[{q:84,h:62},{q:120,h:20}], price: 1827},\r\n      {dbType:'AC&DC', model:\"H8SP77-6\",type:\"sub\",p:22,c:[{q:84,h:74},{q:120,h:24}], price: 2160},\r\n      {dbType:'AC&DC', model:\"H8SP77-8\",type:\"sub\",p:30,c:[{q:84,h:98},{q:120,h:32}], price: 3662},\r\n      {dbType:'AC&DC', model:\"H8SP77-10\",type:\"sub\",p:37,c:[{q:84,h:123},{q:120,h:40}], price: 4377},\r\n      {dbType:'AC&DC', model:\"H8SP77-12\",type:\"sub\",p:45,c:[{q:84,h:148},{q:120,h:48}], price: 5387},\r\n      {dbType:'AC&DC', model:\"H8SP77-14\",type:\"sub\",p:55,c:[{q:84,h:172},{q:120,h:56}], price: 6006},\r\n      {dbType:'AC&DC', model:\"H8SP77-18\",type:\"sub\",p:75,c:[{q:84,h:221},{q:120,h:72}], price: 7839},\r\n      {dbType:'AC&DC', model:\"H8SP95-5\",type:\"sub\",p:22,c:[{q:95,h:60},{q:120,h:32}], price: 2102},\r\n      {dbType:'AC&DC', model:\"H8SP95-9\",type:\"sub\",p:37,c:[{q:95,h:108},{q:120,h:57}], price: 4319},\r\n      {dbType:'AC&DC', model:\"H8SP95-12\",type:\"sub\",p:55,c:[{q:95,h:172},{q:120,h:77}], price: 5869},\r\n      {dbType:'AC&DC', model:\"H10SP125-3\",type:\"sub\",p:30,c:[{q:125,h:60},{q:160,h:40}], price: 3890},\r\n      {dbType:'AC&DC', model:\"H10SP125-5\",type:\"sub\",p:55,c:[{q:125,h:100},{q:160,h:62}], price: 6152},\r\n      {dbType:'AC&DC', model:\"H10SP125-7\",type:\"sub\",p:75,c:[{q:125,h:140},{q:160,h:89}], price: 8041},\r\n      {dbType:'AC&DC', model:\"H10SP160-5\",type:\"sub\",p:63,c:[{q:160,h:100},{q:200,h:80}], price: 6288},\r\n\r\n      \/\/ --- \u65b0\u589e\u7684 BLDC \u6cf5 (dbType: 'BLDC') ---\r\n      \/\/ HD-SWP \u7cfb\u5217 (\u4fee\u6b63\u4e3a BLDC, \u4fdd\u6301 Surface Pump)\r\n      {dbType:'BLDC', model:\"HD-SWP9-6-24-300\", type:\"surf\", p:0.3, q:9, h:6, price: 164},\r\n      {dbType:'BLDC', model:\"HD-SWP18-11-48-600\", type:\"surf\", p:0.6, q:18, h:11, price: 168},\r\n      {dbType:'BLDC', model:\"HD-SWP19-12-72-750\", type:\"surf\", p:0.75, q:19, h:12, price: 177},\r\n      {dbType:'BLDC', model:\"HD-SWP22-16-110-1100\", type:\"surf\", p:1.1, q:22, h:16, price: 194},\r\n      {dbType:'BLDC', model:\"HD-SWP36-12-110-1100\", type:\"surf\", p:1.1, q:36, h:12, price: 200},\r\n      {dbType:'BLDC', model:\"HD-SWP23-25-110-1500\", type:\"surf\", p:1.5, q:23, h:25, price: 210},\r\n      {dbType:'BLDC', model:\"HD-SWP28-30-280-2200\", type:\"surf\", p:2.2, q:28, h:30, price: 288},\r\n      {dbType:'BLDC', model:\"HD-SWP45-15-110-1500\", type:\"surf\", p:1.5, q:45, h:15, price: 236},\r\n      {dbType:'BLDC', model:\"HD-SWP50-20-280-2200\", type:\"surf\", p:2.2, q:50, h:20, price: 325},\r\n      {dbType:'BLDC', model:\"HD-SWP70-16-280-2200\", type:\"surf\", p:2.2, q:70, h:16, price: 330},\r\n\r\n      \/\/ HBP3C\/HBP4C\/HBP3SC\/HBP4SC \u7cfb\u5217 - \u6f5c\u6c34\u6cf5 (Submersible)\r\n      \/\/ HBP3C \u7cfb\u5217\r\n      {dbType:'BLDC', model:\"HBP3C-24-300-3-35\", p:0.3, type:\"sub\", q:3, h:35, price: 159},\r\n      {dbType:'BLDC', model:\"HBP3C-48-400-3.5-47\", p:0.4, type:\"sub\", q:3.5, h:47, price: 161},\r\n      {dbType:'BLDC', model:\"HBP3C-72-600-3.5-80\", p:0.6, type:\"sub\", q:3.5, h:80, price: 171},\r\n      {dbType:'BLDC', model:\"HBP3C-72-750-3.5-95\", p:0.75, type:\"sub\", q:3.5, h:95, price: 173},\r\n      {dbType:'BLDC', model:\"HBP3C-48-500-5.2-45\", p:0.5, type:\"sub\", q:5.2, h:45, price: 162},\r\n      {dbType:'BLDC', model:\"HBP3C-72-600-5.2-50\", p:0.6, type:\"sub\", q:5.2, h:50, price: 167},\r\n      {dbType:'BLDC', model:\"HBP3C-96-750-5.2-75\", p:0.75, type:\"sub\", q:5.2, h:75, price: 180},\r\n      {dbType:'BLDC', model:\"HBP3C-72-750-6-60\", p:0.75, type:\"sub\", q:6, h:60, price: 181},\r\n      {dbType:'BLDC', model:\"HBP3C-110-1100-7.5-62\", p:1.1, type:\"sub\", q:7.5, h:62, price: 180},\r\n      \r\n      \/\/ HBP4C \u7cfb\u5217\r\n      {dbType:'BLDC', model:\"HBP4C-48-400-6-32\", p:0.4, type:\"sub\", q:6, h:32, price: 166},\r\n      {dbType:'BLDC', model:\"HBP4C-72-600-6-42\", p:0.6, type:\"sub\", q:6, h:42, price: 166},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1100-6-84\", p:1.1, type:\"sub\", q:6, h:84, price: 185},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1300-6-112\", p:1.3, type:\"sub\", q:6, h:112, price: 192},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1500-6-135\", p:1.5, type:\"sub\", q:6, h:135, price: 193},\r\n      {dbType:'BLDC', model:\"HBP4C-96-750-9-45\", p:0.75, type:\"sub\", q:9, h:45, price: 181},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1100-9-58\", p:1.1, type:\"sub\", q:9, h:58, price: 183},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1300-9-71\", p:1.3, type:\"sub\", q:9, h:71, price: 190},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1500-9-85\", p:1.5, type:\"sub\", q:9, h:85, price: 191},\r\n      {dbType:'BLDC', model:\"HBP4C-96-750-13-50\", p:0.75, type:\"sub\", q:13, h:50, price: 181},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1100-13-49\", p:1.1, type:\"sub\", q:13, h:49, price: 188},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1300-13-54\", p:1.3, type:\"sub\", q:13, h:54, price: 189},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1500-13-60\", p:1.5, type:\"sub\", q:13, h:60, price: 189},\r\n      {dbType:'BLDC', model:\"HBP4C-110-1500-17-48\", p:1.5, type:\"sub\", q:17, h:48, price: 189}, \r\n\r\n      \/\/ HBP3SC \u7cfb\u5217 (\u6f5c\u6c34\u6cf5)\r\n      {dbType:'BLDC', model:\"HBP3SC-24-300-4-35\", p:0.3, type:\"sub\", q:4, h:35, price: 182},\r\n      {dbType:'BLDC', model:\"HBP3SC-48-400-4-50\", p:0.4, type:\"sub\", q:4, h:50, price: 191},\r\n      {dbType:'BLDC', model:\"HBP3SC-72-600-4-80\", p:0.6, type:\"sub\", q:4, h:80, price: 212},\r\n      \r\n      \/\/ HBP4SC \u7cfb\u5217 (\u6f5c\u6c34\u6cf5)\r\n      {dbType:'BLDC', model:\"HBP4SC-48-500-5.2-45\", p:0.5, type:\"sub\", q:5.2, h:45, price: 190},\r\n      {dbType:'BLDC', model:\"HBP4SC-96-750-5.2-67\", p:0.75, type:\"sub\", q:5.2, h:67, price: 208},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1100-5.2-101\", p:1.1, type:\"sub\", q:5.2, h:101, price: 220},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1300-5.2-146\", p:1.3, type:\"sub\", q:5.2, h:146, price: 243},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1500-5.2-198\", p:1.5, type:\"sub\", q:5.2, h:198, price: 259},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1300-7.5-80\", p:1.3, type:\"sub\", q:7.5, h:80, price: 218},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1500-7.5-100\", p:1.5, type:\"sub\", q:7.5, h:100, price: 226},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1500-11-60\", p:1.5, type:\"sub\", q:11, h:60, price: 214},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1500-19-35\", p:1.5, type:\"sub\", q:19, h:35, price: 211},\r\n      {dbType:'BLDC', model:\"HBP4SC-110-1500-36-22\", p:1.5, type:\"sub\", q:36, h:22, price: 274},\r\n      \r\n      \/\/ HBP4SC-300-2200 \u7cfb\u5217 (\u6f5c\u6c34\u6cf5)\r\n      {dbType:'BLDC', model:\"HBP4C-300-2200-6-175\", p:2.2, type:\"sub\", q:6, h:175, price: 267},\r\n      {dbType:'BLDC', model:\"HBP4C-300-2200-9-125\", p:2.2, type:\"sub\", q:9, h:125, price: 264},\r\n      {dbType:'BLDC', model:\"HBP4C-300-2200-13-110\", p:2.2, type:\"sub\", q:13, h:110, price: 264},\r\n      {dbType:'BLDC', model:\"HBP4C-300-2200-17-72\", p:2.2, type:\"sub\", q:17, h:72, price: 260},\r\n      {dbType:'BLDC', model:\"HBP4SC-300-2200-5.2-255\", p:2.2, type:\"sub\", q:5.2, h:255, price: 350},\r\n      {dbType:'BLDC', model:\"HBP4SC-300-2200-7.5-150\", p:2.2, type:\"sub\", q:7.5, h:150, price: 313},\r\n      {dbType:'BLDC', model:\"HBP4SC-300-2200-11-120\", p:2.2, type:\"sub\", q:11, h:120, price: 309},\r\n      {dbType:'BLDC', model:\"HBP4SC-300-2200-19-60\", p:2.2, type:\"sub\", q:19, h:60, price: 297},\r\n      {dbType:'BLDC', model:\"HBP4SC-300-2200-36-38\", p:2.2, type:\"sub\", q:36, h:38, price: 277}\r\n    ];\r\n\r\n    const combinerBoxDB = [\r\n      {model: \"HCBL1+2\", inputs:2, ph:1, type:\"hybrid\", spec: \"2 PV + 1 AC (500V)\", price: 168},\r\n      {model: \"HCBH3+2\", inputs:2, ph:3, type:\"hybrid\", spec: \"2 PV + 3 AC (1000V)\", price: 188},\r\n      {model: \"HCBH3+3\", inputs:3, ph:3, type:\"hybrid\", spec: \"3 PV + 3 AC (1000V)\", price: 218},\r\n      {model: \"HCBH3+4\", inputs:4, ph:3, type:\"hybrid\", spec: \"4 PV + 3 AC (1000V)\", price: 228},\r\n      {model: \"HCBH3+6\", inputs:6, ph:3, type:\"hybrid\", spec: \"6 PV + 3 AC (1000V)\", price: 348},\r\n      {model: \"HCBH3+8\", inputs:8, ph:3, type:\"hybrid\", spec: \"8 PV + 3 AC (1000V)\", price: 368},\r\n      {model: \"HCBH3\", inputs:3, ph:3, type:\"pv\", spec: \"3 In Max 1000Vdc\", price: 128},\r\n      {model: \"HCBH4\", inputs:4, ph:3, type:\"pv\", spec: \"4 In Max 1000Vdc\", price: 138},\r\n      {model: \"HCBH12\", inputs:12, ph:3, type:\"pv\", spec: \"12 In Max 1000Vdc\", price: 398},\r\n      {model: \"HCBH14\", inputs:14, ph:3, type:\"pv\", spec: \"14 In Max 1000Vdc\", price: 434},\r\n      {model: \"HCBH16\", inputs:16, ph:3, type:\"pv\", spec: \"16 In Max 1000Vdc\", price: 445},\r\n      {model: \"HCBH18\", inputs:18, ph:3, type:\"pv\", spec: \"18 In Max 1000Vdc\", price: 668},\r\n      {model: \"HCBH20\", inputs:24, ph:3, type:\"pv\", spec: \"20\/24 In Max 1000Vdc\", price: 700}\r\n    ];\r\n\r\n    const pumpCableDB = [\r\n      {spec: \"3*2.5mm\u00b2 + 1*1.5mm\u00b2\", amp: 10, price: 1.44},\r\n      {spec: \"3*4mm\u00b2 + 1*2.5mm\u00b2\", amp: 15, price: 2.25},\r\n      {spec: \"3*6mm\u00b2 + 1*4mm\u00b2\", amp: 23, price: 3.33},\r\n      {spec: \"3*10mm\u00b2 + 1*6mm\u00b2\", amp: 38, price: 5.89},\r\n      {spec: \"3*16mm\u00b2 + 1*10mm\u00b2\", amp: 62, price: 8.41},\r\n      {spec: \"3*25mm\u00b2 + 1*10mm\u00b2\", amp: 96, price: 13.22},\r\n      {spec: \"3*35mm\u00b2 + 1*10mm\u00b2\", amp: 135, price: 17.47},\r\n      {spec: \"3*50mm\u00b2 + 1*16mm\u00b2\", amp: 192, price: 25.21},\r\n      {spec: \"3*70mm\u00b2 + 1*25mm\u00b2\", amp: 269, price: 35.84}\r\n    ];\r\n\r\n    const solarCableDB = [\r\n      {spec: \"4mm\u00b2\", price: 0.63}, {spec: \"6mm\u00b2\", price: 0.92}, {spec: \"10mm\u00b2\", price: 1.60},\r\n      {spec: \"16mm\u00b2\", price: 2.58}, {spec: \"25mm\u00b2\", price: 3.98}, {spec: \"35mm\u00b2\", price: 5.54},\r\n      {spec: \"50mm\u00b2\", price: 7.92}\r\n    ];\r\n\r\n    const reactorDB = {\r\n        2.2: { r150: { m: \"HBR-2.2-005-140B\", p: 55 }, r250: { m: \"HBR-2.2-005-280B\", p: 75 }, f400: { m: \"HBF-2.2-005-D\", p: 140 }, f1000: { m: \"HBF-2.2-005-S\", p: 160 } },\r\n        3.7: { r150: { m: \"HBR-3.7-0010-700C\", p: 65 }, r250: { m: \"HBR-3.7-0010-140B\", p: 85 }, f400: { m: \"HBF-3.7-0010-D\", p: 130 }, f1000: { m: \"HBF-3.7-0010-S\", p: 150 } },\r\n        5.5: { r150: { m: \"HBR-5.5-0013-540C\", p: 76 }, r250: { m: \"HBR-5.5-0013-108B\", p: 90 }, f400: { m: \"HBF-5.5-0013-D\", p: 150 }, f1000: { m: \"HBF-5.5-0013-S\", p: 170 } },\r\n        7.5: { r150: { m: \"HBR-7.5-0016-438C\", p: 80 }, r250: { m: \"HBR-7.5-0016-875C\", p: 100 }, f400: { m: \"HBF-7.5-0016-D\", p: 165 }, f1000: { m: \"HBF-7.5-0016-S\", p: 200 } },\r\n        11: { r150: { m: \"HBR-11-0025-280C\", p: 85 }, r250: { m: \"HBR-11-0025-560C\", p: 110 }, f400: { m: \"HBF-11-0025-D\", p: 180 }, f1000: { m: \"HBF-11-0025-S\", p: 250 } },\r\n        15: { r150: { m: \"HBR-15-0030-233C\", p: 88 }, r250: { m: \"HBR-15-0030-467C\", p: 120 }, f400: { m: \"HBF-15-0030-D\", p: 190 }, f1000: { m: \"HBF-15-0030-S\", p: 270 } },\r\n        18.5: { r150: { m: \"HBR-18.5-0040-175C\", p: 98 }, r250: { m: \"HBR-18.5-0040-350C\", p: 150 }, f400: { m: \"HBF-18.5-0040-D\", p: 208 }, f1000: { m: \"HBF-18.5-0040-S\", p: 310 } },\r\n        22: { r150: { m: \"HBR-22-0045-155C\", p: 108 }, r250: { m: \"HBR-22-0045-311C\", p: 165 }, f400: { m: \"HBF-22-0045-D\", p: 255 }, f1000: { m: \"HBF-22-0045-S\", p: 355 } },\r\n        30: { r150: { m: \"HBR-30-0060-117C\", p: 130 }, r250: { m: \"HBR-30-0060-234C\", p: 165 }, f400: { m: \"HBF-30-0060-D\", p: 280 }, f1000: { m: \"HBF-30-0060-S\", p: 605 } },\r\n        37: { r150: { m: \"HBR-37-0075-934D\", p: 140 }, r250: { m: \"HBR-37-0075-187C\", p: 173 }, f400: { m: \"HBF-37-0075-D\", p: 340 }, f1000: { m: \"HBF-37-0075-S\", p: 702 } },\r\n        45: { r150: { m: \"HBR-45-0090-785D\", p: 155 }, r250: { m: \"HBR-45-0090-155C\", p: 190 }, f400: { m: \"HBF-45-0090-D\", p: 462 }, f1000: { m: \"HBF-45-0090-S\", p: 775 } },\r\n        55: { r150: { m: \"HBR-55-0110-640D\", p: 173 }, r250: { m: \"HBR-55-0110-128C\", p: 220 }, f400: { m: \"HBF-55-0110-D\", p: 495 }, f1000: { m: \"HBF-55-0110-S\", p: 1003 } },\r\n        75: { r150: { m: \"HBR-75-0150-467D\", p: 196 }, r250: { m: \"HBR-75-0150-934D\", p: 245 }, f400: { m: \"HBF-75-0150-D\", p: 525 }, f1000: { m: \"HBF-75-0150-S\", p: 1215 } },\r\n        110: { r150: { m: \"HBR-110-0220-320D\", p: 270 }, r250: { m: \"HBR-110-0220-640D\", p: 355 }, f400: { m: \"HBF-110-0220-D\", p: 703 }, f1000: { m: \"HBF-110-0220-S\", p: 1740 } },\r\n        132: { r150: { m: \"HBR-132-0260-270D\", p: 316 }, r250: { m: \"HBR-132-0260-540D\", p: 412 }, f400: { m: \"HBF-132-0260-D\", p: 776 }, f1000: { m: \"HBF-132-0260-S\", p: 2097 } },\r\n        160: { r150: { m: \"HBR-160-0320-220D\", p: 364 }, r250: { m: \"HBR-160-0320-438D\", p: 516 }, f400: { m: \"HBF-160-0320-D\", p: 978 }, f1000: { m: \"HBF-160-0320-S\", p: 2472 } },\r\n        200: { r150: { m: \"HBR-200-0400-175D\", p: 429 }, r250: { m: \"HBR-200-0400-350D\", p: 590 }, f400: { m: \"HBF-200-0400-D\", p: 1027 }, f1000: { m: \"HBF-200-0400-S\", p: 2612 } }\r\n    };\r\n\r\n    let draftItems = [];\r\n\r\n    \/\/ ================= 2. Logic =================\r\n    window.onload = () => {\r\n        document.getElementById('in_date').valueAsDate = new Date();\r\n        updateHeader();\r\n        toggleSchemeInputs(); \/\/ Init UI Immediately\r\n        runCalculation();\r\n    };\r\n\r\n    function updateHeader() {\r\n        \/\/ --- \u4fee\u590d\u70b9\uff1a\u786e\u4fdd Email \u5143\u7d20\u5728 HTML \u4e2d\u5b58\u5728\uff0c\u5e76\u7528 try-catch \u907f\u514d\u9519\u8bef ---\r\n        try {\r\n            const rCo = document.getElementById('in_retailer_co').value || \"YOUR COMPANY NAME\";\r\n            const rName = document.getElementById('in_retailer_name').value || \"Sales Rep\";\r\n            const rPhone = document.getElementById('in_retailer_phone').value || \"Phone Number\";\r\n            \/\/ \u786e\u4fdd in_retailer_email \u5b58\u5728\r\n            const rEmail = document.getElementById('in_retailer_email').value || \"Email Address\"; \r\n            \r\n            document.getElementById('out_retailer_co').innerText = rCo;\r\n            document.getElementById('out_retailer_co_small').innerText = rCo;\r\n            document.getElementById('out_retailer_contact').innerText = \"Contact: \" + rName;\r\n            document.getElementById('out_retailer_phone_disp').innerText = \"Phone: \" + rPhone;\r\n            document.getElementById('out_retailer_email_disp').innerText = \"Email: \" + rEmail; \/\/ \u786e\u4fdd\u8fd9\u4e2a\u5143\u7d20\u5b58\u5728\r\n            \r\n            document.getElementById('out_end_name').innerText = document.getElementById('in_end_name').value || \"Valued Customer\";\r\n            document.getElementById('out_end_phone').innerText = document.getElementById('in_end_phone').value;\r\n            document.getElementById('out_no').innerText = document.getElementById('in_no').value;\r\n            document.getElementById('out_date').innerText = document.getElementById('in_date').value;\r\n            \r\n        } catch (e) {\r\n            console.warn(\"Could not update header elements:\", e.message); \r\n        }\r\n    }\r\n\r\n    \/\/ Explicit Toggle Function\r\n    function toggleSchemeInputs() {\r\n        const scheme = document.getElementById('sys_scheme').value;\r\n        const divA = document.getElementById('inputs_scheme_a');\r\n        const divB = document.getElementById('inputs_scheme_b');\r\n        \r\n        if (scheme === 'A') {\r\n            divA.classList.remove('hidden'); \/\/ Show A\r\n            divB.classList.add('hidden');    \/\/ Hide B\r\n        } else {\r\n            divA.classList.add('hidden');    \/\/ Hide A\r\n            divB.classList.remove('hidden'); \/\/ Show B\r\n        }\r\n    }\r\n\r\n    \/\/ Helper: Find Pump (FINAL BLDC & AC COMBINED VERSION)\r\n    function findPump(reqFlowDaily, reqHead, type, sunHours) {\r\n        const G = 9.81; \r\n        const density = 1000;\r\n        const systemEfficiency = 0.55; \/\/ BLDC \u6cf5\u4f30\u7b97\u6548\u7387\r\n        const tolerance = 0.9; \r\n\r\n        \/\/ 1. \u8ba1\u7b97\u7406\u8bba\u6c34\u529f\u7387 (\u7528\u4e8e BLDC \u6cf5\u7684\u529f\u7387\u5339\u914d)\r\n        const reqFlowHourly = reqFlowDaily \/ sunHours; \/\/ m\u00b3\/h\r\n        const reqFlowCubicM_Per_S = reqFlowHourly \/ 3600; \/\/ m\u00b3\/s\r\n        const requiredWaterPower_KW = (density * G * reqFlowCubicM_Per_S * reqHead) \/ 1000;\r\n        const requiredMotorPower_KW = requiredWaterPower_KW \/ systemEfficiency;\r\n\r\n        let candidates = [];\r\n        \r\n        \/\/ ================= \u904d\u5386\u6240\u6709\u6c34\u6cf5 (BLDC & AC&DC) =================\r\n        pumpDB.forEach(pump => {\r\n            if (pump.type !== type) return; \/\/ \u7b5b\u9009\u7c7b\u578b (Sub\/Surf)\r\n\r\n            if (pump.dbType === 'BLDC') {\r\n                \/\/ --- A. BLDC (\u5355\u70b9\u6027\u80fd) \u5339\u914d\u903b\u8f91 ---\r\n                const powerMatch = (pump.p >= requiredMotorPower_KW);\r\n                const headMatch = (pump.h >= reqHead * tolerance);\r\n                const flowMatch = (pump.q >= reqFlowHourly * tolerance);\r\n                \r\n                if (powerMatch && headMatch && flowMatch) {\r\n                    if (bldcPVRefDB[pump.model]) {\r\n                        candidates.push(pump);\r\n                    }\r\n                }\r\n\r\n            } else if (pump.dbType === 'AC&DC') { \r\n                \/\/ --- B. AC&DC (\u66f2\u7ebf\u6027\u80fd) \u5339\u914d\u903b\u8f91 ---\r\n                \r\n                if(pump.type === 'surf') {\r\n                    \/\/ AC&DC \u5730\u9762\u6cf5\u7b80\u5355\u5339\u914d (\u4f7f\u7528 q_max\/h_max)\r\n                    if(pump.q_max >= reqFlowHourly * tolerance && pump.h_max >= reqHead * tolerance) candidates.push(pump);\r\n                    return;\r\n                }\r\n                \r\n                \/\/ AC&DC \u6f5c\u6c34\u6cf5\u66f2\u7ebf\u63d2\u503c\u5339\u914d (\u4f7f\u7528 c \u6570\u7ec4)\r\n                const curve = pump.c.sort((a,b) => a.q - b.q);\r\n                const maxQ = curve[curve.length-1].q * (1\/tolerance);\r\n                if (reqFlowHourly > maxQ) return;\r\n                \r\n                let calculatedHead = 0;\r\n                if (reqFlowHourly <= curve[0].q) calculatedHead = curve[0].h;\r\n                else if (reqFlowHourly >= curve[curve.length-1].q) calculatedHead = curve[curve.length-1].h;\r\n                else {\r\n                    for (let i = 0; i < curve.length - 1; i++) {\r\n                        if (reqFlowHourly >= curve[i].q && reqFlowHourly <= curve[i+1].q) {\r\n                            const slope = (curve[i+1].h - curve[i].h) \/ (curve[i+1].q - curve[i].q);\r\n                            calculatedHead = curve[i].h + (reqFlowHourly - curve[i].q) * slope;\r\n                            break;\r\n                        }\r\n                    }\r\n                }\r\n                if (calculatedHead >= reqHead * tolerance) candidates.push(pump);\r\n            }\r\n        });\r\n        \r\n        \/\/ 2. \u6838\u5fc3\u6392\u5e8f\u903b\u8f91: \r\n        \/\/ a. BLDC \u578b\u53f7\u4f18\u5148 (BLDC = 1, AC&DC = 2)\r\n        \/\/ b. \u7c7b\u578b\u76f8\u540c\u65f6\uff0c\u9009\u62e9\u6210\u672c\u6700\u4f4e (price)\r\n        candidates.sort((a, b) => {\r\n            const priorityA = (a.dbType === 'BLDC') ? 1 : 2;\r\n            const priorityB = (b.dbType === 'BLDC') ? 1 : 2;\r\n\r\n            if (priorityA !== priorityB) {\r\n                return priorityA - priorityB; \/\/ BLDC (1) \u4f18\u5148\u4e8e AC&DC (2)\r\n            }\r\n            \r\n            \/\/ \u5982\u679c dbType \u76f8\u540c\uff0c\u5219\u6309\u4ef7\u683c\u5347\u5e8f\u6392\u5e8f (\u6700\u4f4e\u6210\u672c\u4f18\u5148)\r\n            return a.price - b.price;\r\n        });\r\n        \r\n        \/\/ 3. \u8fd4\u56de\u6700\u4f73\u5339\u914d\u7ed3\u679c\uff0c\u5982\u679c\u6ca1\u627e\u5230\u5219\u8fd4\u56de\u4e00\u4e2a\u9ed8\u8ba4\u6cf5\r\n        return candidates.length > 0 ? candidates[0] : pumpDB.filter(p => p.type === type)[0];\r\n    }\r\n\r\n    \/\/ Helper: Find Inverter\r\n    function findInverterForExistingPump(pumpKW, voltage) {\r\n        const requiredPhase = (voltage >= 380) ? 3 : 1;\r\n        let suitableInverters = invDB.filter(inv => inv.ph === requiredPhase);\r\n        \/\/ Rule: Inv Power >= Pump Power\r\n        suitableInverters = suitableInverters.filter(inv => inv.p >= pumpKW);\r\n        suitableInverters.sort((a,b) => a.p - b.p || a.price - b.price);\r\n        return suitableInverters.length > 0 ? suitableInverters[0] : null;\r\n    }\r\n\r\n    function runCalculation() {\r\n        const scheme = document.getElementById('sys_scheme').value;\r\n        const panelW_input = parseInt(document.getElementById('sys_panel_model').value);\r\n        const sunHours = parseFloat(document.getElementById('sys_sun').value);\r\n        const lenPvM = parseFloat(document.getElementById('len_pv_m').value) || 0;\r\n\r\n        draftItems = [];\r\n\r\n        \/\/ \u521d\u59cb\u5316\u53d8\u91cf\r\n        let pumpKW = 0;\r\n        let selectedInv = null; \/\/ \u7528\u4e8e\u5b58\u50a8 AC&DC \u6a21\u5f0f\u4e0b\u7684\u9006\u53d8\u5668\u5bf9\u8c61\uff0c\u6216 Scheme A \u7684\u9006\u53d8\u5668\u5bf9\u8c61\r\n        let actualPanels = 0;\r\n        let panelW = panelW_input;\r\n        let panelData = panelDB[panelW];\r\n        let totalPowerWatts = 0;\r\n        let isBLDC = false;\r\n        \r\n        \/\/ \u786e\u4fdd Panel Data \u5b58\u5728 (\u4f7f\u7528\u9ed8\u8ba4\u503c 580W)\r\n        if (!panelData) {\r\n            panelW = 580; \r\n            panelData = panelDB[panelW];\r\n        }\r\n\r\n        if (scheme === 'B') {\r\n            \/\/ --- Scheme B: Complete System (\u4e0d\u5355\u72ec\u914d\u7f6e\u9006\u53d8\u5668) ---\r\n            const dailyFlow = parseFloat(document.getElementById('sys_flow').value);\r\n            const head = parseFloat(document.getElementById('sys_head').value);\r\n            const type = document.getElementById('sys_source').value;\r\n            const pumpLen = parseFloat(document.getElementById('len_pump').value) || 0;\r\n\r\n            const selectedPump = findPump(dailyFlow, head, type, sunHours); \r\n            \r\n            if(!selectedPump) return alert(\"No suitable pump found in DB.\");\r\n            \r\n            pumpKW = selectedPump.p;\r\n            const hourlyFlow = dailyFlow \/ sunHours; \/\/ \u7528\u4e8e\u63cf\u8ff0\r\n            isBLDC = selectedPump.dbType === 'BLDC';\r\n            \r\n            \/\/ 1. Pump Item (\u5305\u542b Inverter\/Controller)\r\n            draftItems.push({\r\n                name: \"Solar Pump Unit\" + (isBLDC ? \" (Integrated Controller)\" : \"\"),\r\n                desc: `Model: ${selectedPump.model} (${selectedPump.p}kW)\\nDuty: ${hourlyFlow.toFixed(1)}m\u00b3\/h @ ${head}m`,\r\n                unit: \"SET\", qty: 1, price: selectedPump.price\r\n            });\r\n\r\n            \/\/ 2. \u786e\u5b9a\u9006\u53d8\u5668\/\u63a7\u5236\u5668 (\u7528\u4e8e\u540e\u7eed\u7684\u7ebf\u7f06\u3001\u7535\u6297\u5668\u3001\u5149\u4f0f\u8ba1\u7b97)\r\n            if (!isBLDC) {\r\n                \/\/ AC&DC \u6cf5\u7684\u9006\u53d8\u5668\u903b\u8f91: \u5fc5\u987b\u627e\u5230\u4e00\u4e2a\u9006\u53d8\u5668\u6765\u8ba1\u7b97 PV \u9635\u5217\u548c\u7ebf\u7f06\r\n                const is3Phase = pumpKW >= 3;\r\n                selectedInv = invDB.find(i => i.p >= pumpKW && i.ph === (is3Phase?3:1));\r\n                if(!selectedInv) selectedInv = invDB[invDB.length-1];\r\n            } else {\r\n                 \/\/ BLDC \u6cf5: \u4f7f\u7528\u8868\u683c\u63a8\u8350\u7684 PV \u6570\u91cf\r\n                const pvRef = bldcPVRefDB[selectedPump.model];\r\n                if (pvRef) {\r\n                    panelW = pvRef.w;\r\n                    actualPanels = pvRef.qty;\r\n                    panelData = panelDB[panelW];\r\n                    totalPowerWatts = actualPanels * panelW;\r\n                }\r\n            }\r\n            \r\n            \/\/ 3. \u6cf5\u7ebf (Cable)\r\n            let pCable;\r\n            if (isBLDC) {\r\n                let pumpAmps = pumpKW * 2.5; \/\/ BLDC \u6cf5\u7b80\u5316\u7535\u6d41\u4f30\u7b97\r\n                pCable = pumpCableDB.find(c => c.amp >= pumpAmps) || pumpCableDB[pumpCableDB.length-1];\r\n            } else {\r\n                let pumpAmps = selectedInv.ph === 1 ? pumpKW * 4.5 : pumpKW * 2.0;\r\n                pCable = pumpCableDB.find(c => c.amp >= pumpAmps) || pumpCableDB[pumpCableDB.length-1];\r\n            }\r\n\r\n            draftItems.push({ \r\n                name: \"Pump Cable\", \r\n                desc: `Submersible (${pCable.spec})`, \r\n                unit: \"M\", qty: pumpLen, price: pCable.price \r\n            });\r\n\r\n            \/\/ 4. \u7535\u6297\u5668 (\u4ec5 AC&DC \u6cf5\u4e14\u7ebf\u7f06\u8fc7\u957f\u65f6\u9700\u8981)\r\n            if(!isBLDC && pumpLen > 100) {\r\n                let rKeys = Object.keys(reactorDB).map(Number).sort((a,b)=>a-b);\r\n                let rPower = rKeys.find(k => k >= selectedInv.p) || rKeys[rKeys.length-1];\r\n                const rData = reactorDB[rPower];\r\n                let spec = (pumpLen <= 250) ? rData.r250 : rData.f400;\r\n                draftItems.push({ name: \"Output Reactor\", desc: `${spec.m}`, unit: \"PCS\", qty: 1, price: spec.p });\r\n            }\r\n\r\n        } else {\r\n            \/\/ --- Scheme A: Existing Pump (\u9700\u8981\u5355\u72ec\u7684\u9006\u53d8\u5668) ---\r\n            pumpKW = parseFloat(document.getElementById('ext_pump_p').value) || 0;\r\n            const pumpV = parseInt(document.getElementById('ext_pump_v').value);\r\n            const pumpModelName = document.getElementById('ext_pump_model').value || \"Unknown Model\";\r\n            \r\n            if(pumpKW <= 0) { alert(\"Please enter valid Pump Power for Scheme A\"); return; }\r\n\r\n            selectedInv = findInverterForExistingPump(pumpKW, pumpV);\r\n            if (!selectedInv) { alert(`No suitable inverter found for ${pumpKW}kW ${pumpV}V`); return; }\r\n\r\n            \/\/ 1. Inverter Only\r\n            draftItems.push({\r\n                name: \"Solar Pump Inverter\",\r\n                desc: `Model: ${selectedInv.m} (${selectedInv.p}kW)\\nRetrofit: ${pumpModelName} (${pumpKW}kW, ${pumpV}V)`,\r\n                unit: \"PCS\", qty: 1, price: selectedInv.price\r\n            });\r\n\r\n            \/\/ 2. \u4e3a Scheme A \u8ba1\u7b97 PV \u9635\u5217\r\n            const targetTotalW = pumpKW * 1000 * 1.5; \r\n            const maxVoc = (selectedInv.ph === 3) ? 750 : 440;\r\n            const seriesNum = Math.floor(maxVoc \/ panelData.voc);\r\n            const totalPanelsNeeded = Math.ceil(targetTotalW \/ panelW);\r\n            const stringsNum = Math.ceil(totalPanelsNeeded \/ seriesNum);\r\n            actualPanels = seriesNum * stringsNum;\r\n            totalPowerWatts = actualPanels * panelW;\r\n        }\r\n\r\n        \/\/ --- Common Balance ---\r\n        \r\n        \/\/ 5. AC&DC \u6cf5\u7684 PV \u9635\u5217\u8ba1\u7b97 (\u5982\u679c Scheme B \u4e14\u4e0d\u662f BLDC\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u8ba1\u7b97)\r\n        if (!isBLDC && scheme === 'B' && selectedInv) {\r\n            const targetTotalW = pumpKW * 1000 * 1.5; \r\n            const maxVoc = (selectedInv.ph === 3) ? 750 : 440;\r\n            const seriesNum = Math.floor(maxVoc \/ panelData.voc);\r\n            const totalPanelsNeeded = Math.ceil(targetTotalW \/ panelW);\r\n            const stringsNum = Math.ceil(totalPanelsNeeded \/ seriesNum);\r\n            actualPanels = seriesNum * stringsNum;\r\n            totalPowerWatts = actualPanels * panelW;\r\n        }\r\n        \r\n        \/\/ \u4e32\u6570\u4f30\u7b97\uff08\u7528\u4e8e\u6c47\u6d41\u7bb1\uff09\r\n        const stringsNum = (actualPanels > 0 && panelData && panelData.w > 0) ? Math.ceil(actualPanels \/ 4) : 1; \r\n        \r\n        \/\/ 6. PV \u6a21\u5757\r\n        draftItems.push({\r\n            name: \"Solar PV Modules\",\r\n            desc: `${panelW}W Mono, Voc:${panelData.voc}V\\nTotal: ${totalPowerWatts}Wp`,\r\n            unit: \"PCS\", qty: actualPanels, price: panelData.price\r\n        });\r\n\r\n        \/\/ 7. \u652f\u67b6\r\n        draftItems.push({ \r\n            name: \"Mounting Structure\", \r\n            desc: `Ground Mounting for ${actualPanels} Panels`, \r\n            unit: \"W\", qty: totalPowerWatts, price: prices.mount_per_watt \r\n        });\r\n\r\n        \/\/ 8. \u6c47\u6d41\u7bb1 (\u6839\u636e\u76f8\u4f4d)\r\n        const combinerPh = (selectedInv && selectedInv.ph === 3) ? 3 : 1;\r\n        \r\n        let combiner = combinerBoxDB.find(c => c.ph===combinerPh && c.inputs >= stringsNum && c.type===\"hybrid\");\r\n        if(!combiner) combiner = combinerBoxDB.find(c => c.ph===combinerPh && c.inputs >= stringsNum);\r\n        \r\n        if(combiner) {\r\n            draftItems.push({ name: \"PV Combiner Box\", desc: `${combiner.model}`, unit: \"SET\", qty: 1, price: combiner.price });\r\n        } else {\r\n             draftItems.push({ name: \"PV Accessories\", desc: \"MC4 Connectors & Breakers\", unit: \"SET\", qty: 1, price: 50 });\r\n        }\r\n\r\n        \/\/ 9. PV \u4e3b\u7ebf\u7f06\r\n        let mainCable = solarCableDB.find(c => c.spec === (pumpKW>15?\"16mm\u00b2\":\"4mm\u00b2\")) || solarCableDB[0];\r\n        draftItems.push({ \r\n            name: \"PV Main Cable\", \r\n            desc: `${mainCable.spec} DC Cable`, \r\n            unit: \"M\", qty: lenPvM*2, price: mainCable.price \r\n        });\r\n\r\n        \/\/ 10. \u6c34\u4f4d\u4f20\u611f\u5668\r\n        draftItems.push({ name: \"Water Sensors\", desc: \"Well & Tank Sensors\", unit: \"SET\", qty: 1, price: prices.sensor });\r\n        \r\n        \/\/ 11. GPRS \u8fdc\u7a0b\u6a21\u5757 \r\n        draftItems.push({ name: \"GPRS Module\", desc: \"Remote Monitoring\", unit: \"SET\", qty: 1, price: prices.remote_module });\r\n        \r\n        renderEditor();\r\n    }\r\n\r\n    function addCustomItem() {\r\n        draftItems.push({ name: \"Custom Item\", desc: \"Description\", unit: \"PCS\", qty: 1, price: 0 });\r\n        renderEditor();\r\n    }\r\n\r\n    \/\/ ================= 3. Rendering =================\r\n    function renderEditor() {\r\n        const tbody = document.getElementById('editor_tbody');\r\n        tbody.innerHTML = \"\";\r\n        draftItems.forEach((item, idx) => {\r\n            const tr = document.createElement('tr');\r\n            tr.innerHTML = `\r\n                <td><input class=\"editor-input\" type=\"number\" value=\"${item.qty}\" oninput=\"editItem(${idx},'qty',this.value)\" style=\"text-align:center\"><\/td>\r\n                <td>\r\n                    <input class=\"editor-input\" value=\"${item.name}\" oninput=\"editItem(${idx},'name',this.value)\" style=\"font-weight:bold;color:var(--primary)\">\r\n                    <input class=\"editor-input\" value=\"${item.desc.replace(\/\\n\/g,', ')}\" oninput=\"editItem(${idx},'desc',this.value)\" style=\"color:#666;font-size:9px;\">\r\n                <\/td>\r\n                <td><input class=\"editor-input price-input\" type=\"number\" value=\"${item.price}\" oninput=\"editItem(${idx},'price',this.value)\"><\/td>\r\n                <td><button class=\"btn-del\" onclick=\"deleteItem(${idx})\">\u00d7<\/button><\/td>\r\n            `;\r\n            tbody.appendChild(tr);\r\n        });\r\n        updateTotals();\r\n    }\r\n\r\n    function editItem(idx, f, v) { \r\n        if(f==='qty'||f==='price') draftItems[idx][f] = parseFloat(v)||0; \r\n        else draftItems[idx][f] = v; \r\n        updateTotals(); \r\n    }\r\n    function deleteItem(idx) { draftItems.splice(idx, 1); renderEditor(); }\r\n\r\n    function updateTotals() {\r\n        const marginPercent = parseFloat(document.getElementById('in_margin').value) || 0;\r\n        const marginMultiplier = 1 + (marginPercent \/ 100);\r\n\r\n        const previewBody = document.getElementById('preview_tbody');\r\n        previewBody.innerHTML = \"\";\r\n        \r\n        let costSub = 0;\r\n        let retailSub = 0;\r\n\r\n        draftItems.forEach((item, idx) => {\r\n            const lineCost = item.qty * item.price;\r\n            const unitRetail = item.price * marginMultiplier;\r\n            const lineRetail = item.qty * unitRetail;\r\n\r\n            costSub += lineCost;\r\n            retailSub += lineRetail;\r\n\r\n            previewBody.innerHTML += `\r\n                <tr>\r\n                    <td>${idx+1}<\/td>\r\n                    <td><div class=\"item-name\">${item.name}<\/div><div class=\"item-desc\">${item.desc.replace(\/, \/g,'\\n')}<\/div><\/td>\r\n                    <td>${item.unit}<\/td>\r\n                    <td style=\"text-align:center\">${item.qty}<\/td>\r\n                    <td class=\"num\">${lineRetail.toLocaleString('en-US',{minimumFractionDigits:2, maximumFractionDigits:2})}<\/td>\r\n                <\/tr>`;\r\n        });\r\n\r\n        const installFee = parseFloat(document.getElementById('in_install_fee').value) || 0;\r\n        const retailGrandTotal = retailSub + installFee;\r\n\r\n        document.getElementById('disp_cost_total').innerText = costSub.toFixed(2);\r\n        document.getElementById('disp_margin_val').innerText = marginPercent + \"%\";\r\n        document.getElementById('disp_retail_quote').innerText = \"$\" + retailGrandTotal.toLocaleString('en-US',{minimumFractionDigits:2});\r\n\r\n        document.getElementById('out_subtotal').innerText = retailSub.toLocaleString('en-US',{minimumFractionDigits:2});\r\n        document.getElementById('out_install_fee').innerText = installFee.toLocaleString('en-US',{minimumFractionDigits:2});\r\n        document.getElementById('out_grand_total').innerText = retailGrandTotal.toLocaleString('en-US',{minimumFractionDigits:2});\r\n        document.getElementById('out_remarks').innerText = document.getElementById('in_remarks').value;\r\n    }\r\n\r\n    \/\/ ================= 4. Fixed PDF Generation (Clone & Clean) =================\r\n    function downloadPDF() {\r\n        const element = document.getElementById('pdf_content');\r\n        \r\n        \/\/ 1. Clone the DOM to avoid messing up the UI\r\n        const clone = element.cloneNode(true);\r\n\r\n        \/\/ 2. Reset Styles for Print (The \"Original\" Robust Method)\r\n        \/\/ Force include colors and shadows\r\n        clone.style.setProperty('--primary', '#2c3e50'); \r\n        clone.style.transform = 'none'; \r\n        clone.style.margin = '0'; \r\n        clone.style.boxShadow = 'none';\r\n        \r\n        \/\/ Force A4 Dimensions strictly\r\n        clone.style.width = '794px'; \r\n        clone.style.minHeight = '1123px';\r\n        clone.style.height = 'auto'; \/\/ allow expansion\r\n        clone.style.boxSizing = 'border-box';\r\n        clone.style.padding = '20px'; \/\/ Add internal padding for PDF look\r\n        clone.style.backgroundColor = '#fff';\r\n\r\n        \/\/ 3. Place clone in a temporary container off-screen\/fixed\r\n        const container = document.createElement('div');\r\n        container.style.position = 'fixed';\r\n        container.style.top = '-10000px'; \r\n        container.style.left = '0';\r\n        container.style.zIndex = '-1000';\r\n        container.appendChild(clone);\r\n        document.body.appendChild(container);\r\n\r\n        \/\/ 4. Generate PDF\r\n        const filename = (document.getElementById('in_end_name').value || 'Quote') + '.pdf';\r\n        const opt = {\r\n            margin: 0, \/\/ No external margins needed as we padded the clone\r\n            filename: filename,\r\n            image: { type: 'jpeg', quality: 0.98 },\r\n            html2canvas: { \r\n                scale: 2, \r\n                useCORS: true,\r\n                windowWidth: 794,\r\n                width: 794,\r\n                scrollY: 0, \/\/ Force top\r\n                x: 0,\r\n                y: 0,\r\n                \/\/ \u786e\u4fdd\u80cc\u666f\u989c\u8272\u548c\u9634\u5f71\u88ab\u6e32\u67d3\r\n                allowTaint: true,\r\n                useCORS: true,\r\n                ignoreElements: (element) => {\r\n                    return element.classList.contains('right-panel') || element.classList.contains('left-panel');\r\n                }\r\n            },\r\n            jsPDF: { unit: 'px', format: [794, 1123], orientation: 'portrait' }\r\n        };\r\n\r\n        html2pdf().set(opt).from(clone).save().then(() => {\r\n            \/\/ Cleanup\r\n            document.body.removeChild(container);\r\n        });\r\n    }\r\n\r\n    toggleSchemeInputs(); \/\/ Init visibility\r\n\r\n    <\/script>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aa4a850 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aa4a850\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-22d6b04\" data-id=\"22d6b04\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7c710c0 elementor-widget elementor-widget-spacer\" data-id=\"7c710c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-713b425 elementor-widget elementor-widget-html\" data-id=\"713b425\" 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<div class=\"cta-panel-order\" style=\"width: 90%; max-width: 1000px; margin: 50px auto; padding: 30px; border-radius: 12px; background: #e8f9e8; border: 2px solid #28a745; text-align: center;\">\r\n    \r\n    <h2 style=\"color: #28a745; margin-bottom: 10px; font-size: 24px;\">\ud83c\udf89 Confirma\u00e7\u00e3o do Pedido: Inicie seu Processo de Compras no Atacado!<\/h2>\r\n    <p style=\"color: #555; margin-bottom: 25px; font-size: 15px;\">Seu cliente final aceitou o or\u00e7amento? \u00d3timo! Envie-nos suas necessidades e a HOBERTEK processar\u00e1 seu pedido de atacado imediatamente.<\/p>\r\n\r\n    <div class=\"order-steps\" style=\"display: flex; justify-content: space-around; gap: 20px; margin-bottom: 30px;\">\r\n        <div class=\"step-card\">\r\n            <h3 style=\"color: var(--primary-color); font-size: 16px;\">Passo 1: Confirme a lista de itens<\/h3>\r\n            <p style=\"font-size: 14px; color: #666;\">Fa\u00e7a uma captura de tela ou copie os modelos\/quantidades da **&quot;Lista de Itens&quot;** (visualiza\u00e7\u00e3o de Custo de Atacado).<\/p>\r\n        <\/div>\r\n        <div class=\"step-card\">\r\n            <h3 style=\"color: var(--primary-color); font-size: 16px;\">Etapa 2: Enviar consulta<\/h3>\r\n            <p style=\"font-size: 14px; color: #666;\">Utilize o e-mail ou o WhatsApp abaixo para enviar sua lista de compras para a HOBERTEK.<\/p>\r\n        <\/div>\r\n        <div class=\"step-card\">\r\n            <h3 style=\"color: var(--primary-color); font-size: 16px;\">Etapa 3: Confirmar PI e organizar a produ\u00e7\u00e3o<\/h3>\r\n            <p style=\"font-size: 14px; color: #666;\">Geraremos a Fatura Proforma (PI) incluindo pre\u00e7o, **frete** e providenciaremos a produ\u00e7\u00e3o.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <div class=\"contact-buttons\" style=\"display: flex; justify-content: center; gap: 30px;\">\r\n        <a href=\"mailto:sales@hobertek.com?subject=Wholesale Order Inquiry from Quotation Builder\" \r\n           class=\"cta-btn primary-btn\" style=\"background-color: #3498db;\">\r\n            \ud83d\udce7 Envie um e-mail de compras para a HOBERTEK\r\n        <\/a>\r\n        <a href=\"https:\/\/wa.me\/message\/BYC4N55EFHTUH1\" target=\"_blank\" \r\n           class=\"cta-btn secondary-btn\" style=\"background-color: #25d366;\">\r\n            \ud83d\udcac Fa\u00e7a seu pedido rapidamente pelo WhatsApp\r\n        <\/a>\r\n    <\/div>\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6afb546 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6afb546\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-918de65\" data-id=\"918de65\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1d96b56 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1d96b56\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5ef6bae\" data-id=\"5ef6bae\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c0d5930 elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-button\" data-id=\"c0d5930\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI1NiIsInRvZ2dsZSI6ZmFsc2V9\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Servi\u00e7o de Engenharia<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-c3b9b8b\" data-id=\"c3b9b8b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6d8f70d elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-button\" data-id=\"6d8f70d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI1NiIsInRvZ2dsZSI6ZmFsc2V9\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mais design<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>White Label Quote Builder 1. Header &#038; Contact Info A. Your Company (Retailer) Company Name Contact Name Phone Email B. End-User Info End-User Name End-User Phone<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","om_disable_all_campaigns":false,"_joinchat":[],"footnotes":""},"class_list":["post-7114","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/pages\/7114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/comments?post=7114"}],"version-history":[{"count":1,"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/pages\/7114\/revisions"}],"predecessor-version":[{"id":7117,"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/pages\/7114\/revisions\/7117"}],"wp:attachment":[{"href":"https:\/\/hobertek.com\/pt\/wp-json\/wp\/v2\/media?parent=7114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}