{"id":1080,"date":"2026-08-25T08:31:37","date_gmt":"2026-08-25T08:31:37","guid":{"rendered":"https:\/\/masjid-alihsan.or.id\/?page_id=1080"},"modified":"2026-08-25T10:18:56","modified_gmt":"2026-08-25T10:18:56","slug":"tamu-musyafir","status":"publish","type":"page","link":"https:\/\/masjid-alihsan.or.id\/?page_id=1080","title":{"rendered":"Tamu &amp; Musyafir"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1080\" class=\"elementor elementor-1080\">\n\t\t\t\t<div class=\"elementor-element elementor-element-730ae3d e-flex e-con-boxed e-con e-parent\" data-id=\"730ae3d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-baa1ac2 elementor-widget elementor-widget-html\" data-id=\"baa1ac2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"alihsan-guest-list\">\r\n\r\n<style>\r\n\r\n\/* =========================================================\r\n   MASJID AL-IHSAN - DAFTAR TAMU & MUSAFIR\r\n========================================================= *\/\r\n\r\n#alihsan-guest-list {\r\n    --green: #34d399;\r\n    --green-dark: #16a34a;\r\n    --green-light: #ecfdf5;\r\n    --green-border: #bbf7d0;\r\n    --text: #1f2937;\r\n    --muted: #6b7280;\r\n    --border: #e5e7eb;\r\n\r\n    font-family: \"Segoe UI\", Arial, sans-serif;\r\n    color: var(--text);\r\n\r\n    max-width: 1250px;\r\n    margin: 30px auto;\r\n\r\n    box-sizing: border-box;\r\n}\r\n\r\n#alihsan-guest-list * {\r\n    box-sizing: border-box;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   HEADER\r\n========================================================= *\/\r\n\r\n.alihsan-header {\r\n\r\n    background: linear-gradient(\r\n        135deg,\r\n        #6ee7b7,\r\n        #34d399\r\n    );\r\n\r\n    padding: 28px 30px;\r\n\r\n    border-radius: 18px 18px 0 0;\r\n\r\n    color: white;\r\n\r\n    box-shadow:\r\n        0 8px 25px rgba(16,185,129,.16);\r\n}\r\n\r\n\r\n.alihsan-header-content {\r\n\r\n    display: flex;\r\n\r\n    align-items: center;\r\n\r\n    justify-content: space-between;\r\n\r\n    gap: 25px;\r\n\r\n}\r\n\r\n\r\n.alihsan-header-text {\r\n\r\n    flex: 1;\r\n\r\n}\r\n\r\n\r\n.alihsan-title {\r\n\r\n    font-size: 27px;\r\n\r\n    font-weight: 700;\r\n\r\n    margin: 0 0 6px;\r\n\r\n}\r\n\r\n\r\n.alihsan-subtitle {\r\n\r\n    font-size: 14px;\r\n\r\n    opacity: .95;\r\n\r\n    margin: 0;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   BUTTON DAFTAR TAMU\r\n========================================================= *\/\r\n\r\n.alihsan-register-button {\r\n\r\n    display: inline-flex;\r\n\r\n    align-items: center;\r\n\r\n    justify-content: center;\r\n\r\n    gap: 9px;\r\n\r\n    flex-shrink: 0;\r\n\r\n    padding: 12px 18px;\r\n\r\n    background: #ffffff !important;\r\n\r\n    color: #15803d !important;\r\n\r\n    border: 1px solid #ffffff;\r\n\r\n    border-radius: 10px;\r\n\r\n    font-size: 13px;\r\n\r\n    font-weight: 700;\r\n\r\n    text-decoration: none !important;\r\n\r\n    box-shadow:\r\n        0 4px 12px rgba(0,0,0,.08);\r\n\r\n    transition:\r\n        transform .2s ease,\r\n        box-shadow .2s ease,\r\n        background .2s ease;\r\n\r\n}\r\n\r\n\r\n\/* PAKSA SEMUA ISI TOMBOL HIJAU *\/\r\n\r\n.alihsan-register-button span {\r\n\r\n    color: #15803d !important;\r\n\r\n}\r\n\r\n\r\n\/* ICON *\/\r\n\r\n.alihsan-register-icon {\r\n\r\n    color: #15803d !important;\r\n\r\n    font-size: 17px;\r\n\r\n    line-height: 1;\r\n\r\n}\r\n\r\n\r\n\/* HOVER *\/\r\n\r\n.alihsan-register-button:hover {\r\n\r\n    background: #f0fdf4 !important;\r\n\r\n    color: #166534 !important;\r\n\r\n    transform: translateY(-2px);\r\n\r\n    box-shadow:\r\n        0 7px 18px rgba(0,0,0,.13);\r\n\r\n}\r\n\r\n\r\n.alihsan-register-button:hover span {\r\n\r\n    color: #166534 !important;\r\n\r\n}\r\n\r\n.alihsan-register-button:hover {\r\n\r\n    background: #ffffff;\r\n\r\n    color: #166534;\r\n\r\n    transform: translateY(-2px);\r\n\r\n    box-shadow:\r\n        0 7px 18px rgba(0,0,0,.13);\r\n\r\n}\r\n\r\n\r\n.alihsan-register-button:active {\r\n\r\n    transform: translateY(0);\r\n\r\n}\r\n\r\n\r\n.alihsan-register-icon {\r\n\r\n    font-size: 17px;\r\n\r\n    line-height: 1;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CONTENT\r\n========================================================= *\/\r\n\r\n.alihsan-content {\r\n\r\n    background: white;\r\n\r\n    border:\r\n        1px solid var(--green-border);\r\n\r\n    border-top: 0;\r\n\r\n    border-radius:\r\n        0 0 18px 18px;\r\n\r\n    padding: 20px;\r\n\r\n    box-shadow:\r\n        0 8px 25px rgba(0,0,0,.06);\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   TOOLBAR\r\n========================================================= *\/\r\n\r\n.alihsan-toolbar {\r\n\r\n    display: flex;\r\n\r\n    align-items: center;\r\n\r\n    justify-content: space-between;\r\n\r\n    gap: 15px;\r\n\r\n    margin-bottom: 18px;\r\n\r\n}\r\n\r\n\r\n.alihsan-search {\r\n\r\n    flex: 1;\r\n\r\n    position: relative;\r\n\r\n}\r\n\r\n\r\n.alihsan-search input {\r\n\r\n    width: 100%;\r\n\r\n    height: 45px;\r\n\r\n    padding:\r\n        0 16px 0 43px;\r\n\r\n    border:\r\n        1px solid #d1d5db;\r\n\r\n    border-radius: 10px;\r\n\r\n    font-size: 14px;\r\n\r\n    outline: none;\r\n\r\n    transition: .2s;\r\n\r\n}\r\n\r\n\r\n.alihsan-search input:focus {\r\n\r\n    border-color:\r\n        var(--green);\r\n\r\n    box-shadow:\r\n        0 0 0 3px\r\n        rgba(52,211,153,.15);\r\n\r\n}\r\n\r\n\r\n.alihsan-search-icon {\r\n\r\n    position: absolute;\r\n\r\n    left: 15px;\r\n\r\n    top: 12px;\r\n\r\n    font-size: 17px;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   STAT\r\n========================================================= *\/\r\n\r\n.alihsan-stat {\r\n\r\n    min-width: 150px;\r\n\r\n    background:\r\n        var(--green-light);\r\n\r\n    border:\r\n        1px solid var(--green-border);\r\n\r\n    padding:\r\n        9px 15px;\r\n\r\n    border-radius: 10px;\r\n\r\n    text-align: center;\r\n\r\n}\r\n\r\n\r\n.alihsan-stat-number {\r\n\r\n    display: block;\r\n\r\n    color:\r\n        var(--green-dark);\r\n\r\n    font-size: 20px;\r\n\r\n    font-weight: 700;\r\n\r\n}\r\n\r\n\r\n.alihsan-stat-label {\r\n\r\n    font-size: 11px;\r\n\r\n    color:\r\n        var(--muted);\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   TABLE\r\n========================================================= *\/\r\n\r\n.alihsan-table-wrap {\r\n\r\n    width: 100%;\r\n\r\n    overflow-x: auto;\r\n\r\n    border:\r\n        1px solid var(--border);\r\n\r\n    border-radius: 12px;\r\n\r\n}\r\n\r\n\r\n.alihsan-table {\r\n\r\n    width: 100%;\r\n\r\n    border-collapse: collapse;\r\n\r\n    table-layout: fixed;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th {\r\n\r\n    background:\r\n        var(--green-light);\r\n\r\n    color:\r\n        #166534;\r\n\r\n    font-size: 12px;\r\n\r\n    font-weight: 700;\r\n\r\n    padding:\r\n        13px 10px;\r\n\r\n    text-align: left;\r\n\r\n    border-bottom:\r\n        1px solid var(--green-border);\r\n\r\n}\r\n\r\n\r\n.alihsan-table td {\r\n\r\n    padding:\r\n        12px 10px;\r\n\r\n    border-bottom:\r\n        1px solid #f0f0f0;\r\n\r\n    font-size: 13px;\r\n\r\n    vertical-align: middle;\r\n\r\n}\r\n\r\n\r\n.alihsan-table tbody tr:nth-child(even) {\r\n\r\n    background:\r\n        #fafafa;\r\n\r\n}\r\n\r\n\r\n.alihsan-table tbody tr:hover {\r\n\r\n    background:\r\n        #f0fdf4;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   COLUMN WIDTH\r\n========================================================= *\/\r\n\r\n.alihsan-table th:nth-child(1),\r\n.alihsan-table td:nth-child(1) {\r\n\r\n    width: 45px;\r\n\r\n    text-align: center;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(2),\r\n.alihsan-table td:nth-child(2) {\r\n\r\n    width: 19%;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(3),\r\n.alihsan-table td:nth-child(3) {\r\n\r\n    width: 16%;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(4),\r\n.alihsan-table td:nth-child(4) {\r\n\r\n    width: 13%;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(5),\r\n.alihsan-table td:nth-child(5) {\r\n\r\n    width: 17%;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(6),\r\n.alihsan-table td:nth-child(6) {\r\n\r\n    width: 10%;\r\n\r\n    text-align: center;\r\n\r\n}\r\n\r\n\r\n.alihsan-table th:nth-child(7),\r\n.alihsan-table td:nth-child(7) {\r\n\r\n    width: 10%;\r\n\r\n    text-align: center;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   NAMA\r\n========================================================= *\/\r\n\r\n.alihsan-name {\r\n\r\n    color:\r\n        #15803d;\r\n\r\n    font-weight: 700;\r\n\r\n    cursor: pointer;\r\n\r\n}\r\n\r\n\r\n.alihsan-name:hover {\r\n\r\n    text-decoration:\r\n        underline;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   BADGE\r\n========================================================= *\/\r\n\r\n.alihsan-badge {\r\n\r\n    display: inline-block;\r\n\r\n    background:\r\n        #dcfce7;\r\n\r\n    color:\r\n        #166534;\r\n\r\n    border-radius:\r\n        20px;\r\n\r\n    padding:\r\n        4px 9px;\r\n\r\n    font-size:\r\n        11px;\r\n\r\n    font-weight:\r\n        600;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   LOADING \/ EMPTY\r\n========================================================= *\/\r\n\r\n.alihsan-loading,\r\n.alihsan-empty {\r\n\r\n    text-align: center;\r\n\r\n    padding:\r\n        40px 20px;\r\n\r\n    color:\r\n        var(--muted);\r\n\r\n}\r\n\r\n\r\n.alihsan-loading {\r\n\r\n    font-size:\r\n        14px;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   PAGINATION\r\n========================================================= *\/\r\n\r\n.alihsan-pagination {\r\n\r\n    display: flex;\r\n\r\n    align-items: center;\r\n\r\n    justify-content: center;\r\n\r\n    gap: 6px;\r\n\r\n    margin-top: 18px;\r\n\r\n}\r\n\r\n\r\n.alihsan-pagination button {\r\n\r\n    border:\r\n        1px solid #d1d5db;\r\n\r\n    background:\r\n        white;\r\n\r\n    border-radius:\r\n        8px;\r\n\r\n    min-width:\r\n        36px;\r\n\r\n    height:\r\n        36px;\r\n\r\n    cursor:\r\n        pointer;\r\n\r\n    font-size:\r\n        13px;\r\n\r\n}\r\n\r\n\r\n.alihsan-pagination button:hover {\r\n\r\n    background:\r\n        var(--green-light);\r\n\r\n    border-color:\r\n        var(--green);\r\n\r\n}\r\n\r\n\r\n.alihsan-pagination button.active {\r\n\r\n    background:\r\n        var(--green);\r\n\r\n    color:\r\n        white;\r\n\r\n    border-color:\r\n        var(--green);\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   FOOTER\r\n========================================================= *\/\r\n\r\n.alihsan-footer {\r\n\r\n    text-align:\r\n        center;\r\n\r\n    margin-top:\r\n        13px;\r\n\r\n    color:\r\n        var(--muted);\r\n\r\n    font-size:\r\n        12px;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   MODAL\r\n========================================================= *\/\r\n\r\n.alihsan-modal {\r\n\r\n    display: none;\r\n\r\n    position: fixed;\r\n\r\n    z-index: 999999;\r\n\r\n    inset: 0;\r\n\r\n    background:\r\n        rgba(0,0,0,.45);\r\n\r\n    padding:\r\n        20px;\r\n\r\n    align-items:\r\n        center;\r\n\r\n    justify-content:\r\n        center;\r\n\r\n}\r\n\r\n\r\n.alihsan-modal.show {\r\n\r\n    display:\r\n        flex;\r\n\r\n}\r\n\r\n\r\n.alihsan-modal-box {\r\n\r\n    background:\r\n        white;\r\n\r\n    width:\r\n        100%;\r\n\r\n    max-width:\r\n        560px;\r\n\r\n    border-radius:\r\n        18px;\r\n\r\n    overflow:\r\n        hidden;\r\n\r\n    box-shadow:\r\n        0 20px 50px rgba(0,0,0,.2);\r\n\r\n    animation:\r\n        alihsanModal .2s ease;\r\n\r\n}\r\n\r\n\r\n@keyframes alihsanModal {\r\n\r\n    from {\r\n\r\n        opacity: 0;\r\n\r\n        transform:\r\n            translateY(15px);\r\n\r\n    }\r\n\r\n    to {\r\n\r\n        opacity: 1;\r\n\r\n        transform:\r\n            translateY(0);\r\n\r\n    }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   MODAL HEADER\r\n========================================================= *\/\r\n\r\n.alihsan-modal-header {\r\n\r\n    position:\r\n        relative;\r\n\r\n    background:\r\n        linear-gradient(\r\n            135deg,\r\n            #6ee7b7,\r\n            #34d399\r\n        );\r\n\r\n    color:\r\n        white;\r\n\r\n    padding:\r\n        20px 60px 20px 20px;\r\n\r\n}\r\n\r\n\r\n.alihsan-modal-header h3 {\r\n\r\n    margin:\r\n        0;\r\n\r\n    font-size:\r\n        20px;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CLOSE BUTTON\r\n========================================================= *\/\r\n\r\n.alihsan-close {\r\n\r\n    position:\r\n        absolute;\r\n\r\n    top:\r\n        14px;\r\n\r\n    right:\r\n        14px;\r\n\r\n    width:\r\n        34px;\r\n\r\n    height:\r\n        34px;\r\n\r\n    display:\r\n        flex;\r\n\r\n    align-items:\r\n        center;\r\n\r\n    justify-content:\r\n        center;\r\n\r\n    padding:\r\n        0;\r\n\r\n    margin:\r\n        0;\r\n\r\n    border:\r\n        1px solid\r\n        rgba(255,255,255,.35);\r\n\r\n    border-radius:\r\n        50%;\r\n\r\n    background:\r\n        rgba(255,255,255,.18);\r\n\r\n    color:\r\n        #ffffff;\r\n\r\n    font-family:\r\n        Arial, sans-serif;\r\n\r\n    font-size:\r\n        22px;\r\n\r\n    font-weight:\r\n        300;\r\n\r\n    line-height:\r\n        1;\r\n\r\n    cursor:\r\n        pointer;\r\n\r\n    transition:\r\n        background .2s ease,\r\n        transform .2s ease,\r\n        box-shadow .2s ease;\r\n\r\n}\r\n\r\n\r\n.alihsan-close:hover {\r\n\r\n    background:\r\n        rgba(255,255,255,.32);\r\n\r\n    transform:\r\n        rotate(90deg);\r\n\r\n    box-shadow:\r\n        0 3px 10px\r\n        rgba(0,0,0,.12);\r\n\r\n}\r\n\r\n\r\n.alihsan-close:active {\r\n\r\n    transform:\r\n        scale(.92);\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   MODAL BODY\r\n========================================================= *\/\r\n\r\n.alihsan-modal-body {\r\n\r\n    padding:\r\n        20px;\r\n\r\n}\r\n\r\n\r\n.alihsan-detail {\r\n\r\n    display:\r\n        grid;\r\n\r\n    grid-template-columns:\r\n        150px 1fr;\r\n\r\n    gap:\r\n        10px;\r\n\r\n    padding:\r\n        9px 0;\r\n\r\n    border-bottom:\r\n        1px solid #f0f0f0;\r\n\r\n    font-size:\r\n        13px;\r\n\r\n}\r\n\r\n\r\n.alihsan-detail-label {\r\n\r\n    color:\r\n        var(--muted);\r\n\r\n}\r\n\r\n\r\n.alihsan-detail-value {\r\n\r\n    font-weight:\r\n        600;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   MOBILE\r\n========================================================= *\/\r\n\r\n@media (max-width: 768px) {\r\n\r\n    #alihsan-guest-list {\r\n\r\n        margin:\r\n            15px auto;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-header {\r\n\r\n        padding:\r\n            22px 20px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-header-content {\r\n\r\n        flex-direction:\r\n            column;\r\n\r\n        align-items:\r\n            stretch;\r\n\r\n        gap:\r\n            18px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-title {\r\n\r\n        font-size:\r\n            21px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-register-button {\r\n\r\n        width:\r\n            100%;\r\n\r\n        padding:\r\n            12px 15px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-content {\r\n\r\n        padding:\r\n            12px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-toolbar {\r\n\r\n        flex-direction:\r\n            column;\r\n\r\n        align-items:\r\n            stretch;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-stat {\r\n\r\n        width:\r\n            100%;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-table th,\r\n    .alihsan-table td {\r\n\r\n        font-size:\r\n            12px;\r\n\r\n        padding:\r\n            10px 7px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-table {\r\n\r\n        min-width:\r\n            750px;\r\n\r\n    }\r\n\r\n\r\n    .alihsan-detail {\r\n\r\n        grid-template-columns:\r\n            120px 1fr;\r\n\r\n    }\r\n\r\n}\r\n\r\n<\/style>\r\n\r\n\r\n<!-- =========================================================\r\n     HEADER\r\n========================================================= -->\r\n\r\n<div class=\"alihsan-header\">\r\n\r\n    <div class=\"alihsan-header-content\">\r\n\r\n        <div class=\"alihsan-header-text\">\r\n\r\n            <h2 class=\"alihsan-title\">\r\n\r\n                Daftar Tamu &amp; Musafir Masjid Al-Ihsan\r\n\r\n            <\/h2>\r\n\r\n            <p class=\"alihsan-subtitle\">\r\n\r\n                Informasi kunjungan tamu dan musafir di Masjid Al-Ihsan\r\n\r\n            <\/p>\r\n\r\n        <\/div>\r\n\r\n\r\n        <!-- TOMBOL GOOGLE FORM -->\r\n\r\n        <a\r\n            href=\"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLSfh0y24bdNXlwCLIfGdrVPh-wqFGZf6TZbPwoldu5gNA3UXyA\/viewform?usp=sharing&ouid=102979134327156947524\"\r\n            target=\"_blank\"\r\n            rel=\"noopener noreferrer\"\r\n            class=\"alihsan-register-button\">\r\n\r\n            <span class=\"alihsan-register-icon\">\r\n                \ud83d\udcdd\r\n            <\/span>\r\n\r\n            <span>\r\n                Daftar sebagai Tamu \/ Musafir\r\n            <\/span>\r\n\r\n        <\/a>\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- =========================================================\r\n     CONTENT\r\n========================================================= -->\r\n\r\n<div class=\"alihsan-content\">\r\n\r\n\r\n    <!-- TOOLBAR -->\r\n\r\n    <div class=\"alihsan-toolbar\">\r\n\r\n\r\n        <!-- SEARCH -->\r\n\r\n        <div class=\"alihsan-search\">\r\n\r\n            <span class=\"alihsan-search-icon\">\r\n                \ud83d\udd0e\r\n            <\/span>\r\n\r\n            <input\r\n                type=\"text\"\r\n                id=\"alihsan-search-input\"\r\n                placeholder=\"Cari nama, asal daerah, atau tujuan...\"\r\n            >\r\n\r\n        <\/div>\r\n\r\n\r\n        <!-- TOTAL -->\r\n\r\n        <div class=\"alihsan-stat\">\r\n\r\n            <span\r\n                class=\"alihsan-stat-number\"\r\n                id=\"alihsan-total\">\r\n\r\n                0\r\n\r\n            <\/span>\r\n\r\n            <span class=\"alihsan-stat-label\">\r\n\r\n                Total Tamu\r\n\r\n            <\/span>\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <!-- =====================================================\r\n         TABLE\r\n    ====================================================== -->\r\n\r\n    <div class=\"alihsan-table-wrap\">\r\n\r\n        <table class=\"alihsan-table\">\r\n\r\n            <thead>\r\n\r\n                <tr>\r\n\r\n                    <th>\r\n                        No\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Nama\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Asal Daerah\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Kedatangan\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Tujuan\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Singgah\r\n                    <\/th>\r\n\r\n                    <th>\r\n                        Rombongan\r\n                    <\/th>\r\n\r\n                <\/tr>\r\n\r\n            <\/thead>\r\n\r\n\r\n            <tbody\r\n                id=\"alihsan-table-body\">\r\n\r\n                <tr>\r\n\r\n                    <td\r\n                        colspan=\"7\"\r\n                        class=\"alihsan-loading\">\r\n\r\n                        Memuat data tamu...\r\n\r\n                    <\/td>\r\n\r\n                <\/tr>\r\n\r\n            <\/tbody>\r\n\r\n        <\/table>\r\n\r\n    <\/div>\r\n\r\n\r\n    <!-- PAGINATION -->\r\n\r\n    <div\r\n        class=\"alihsan-pagination\"\r\n        id=\"alihsan-pagination\">\r\n    <\/div>\r\n\r\n\r\n    <!-- FOOTER -->\r\n\r\n    <div class=\"alihsan-footer\">\r\n\r\n        Data diperbarui secara otomatis dari formulir tamu Masjid Al-Ihsan\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- =========================================================\r\n     DETAIL MODAL\r\n========================================================= -->\r\n\r\n<div\r\n    class=\"alihsan-modal\"\r\n    id=\"alihsan-modal\">\r\n\r\n\r\n    <div class=\"alihsan-modal-box\">\r\n\r\n\r\n        <div class=\"alihsan-modal-header\">\r\n\r\n\r\n            <button\r\n                type=\"button\"\r\n                class=\"alihsan-close\"\r\n                onclick=\"alihsanCloseModal()\"\r\n                aria-label=\"Tutup\">\r\n\r\n                \u00d7\r\n\r\n            <\/button>\r\n\r\n\r\n            <h3\r\n                id=\"alihsan-modal-name\">\r\n\r\n                Detail Tamu\r\n\r\n            <\/h3>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div\r\n            class=\"alihsan-modal-body\"\r\n            id=\"alihsan-modal-body\">\r\n        <\/div>\r\n\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<script>\r\n\r\n(function() {\r\n\r\n\r\n\/* =========================================================\r\n   GOOGLE SHEET\r\n========================================================= *\/\r\n\r\nconst SHEET_URL =\r\n\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSckCNeCiotHcychoUDiIF9ZwBZESOdiQH4A1GjAFzqOu8Ij2Qrhh5xJ4DvZYZe4Xfd06QgV533ey0s\/pub?output=csv\";\r\n\r\n\r\nconst rowsPerPage = 10;\r\n\r\nlet allData = [];\r\n\r\nlet filteredData = [];\r\n\r\nlet currentPage = 1;\r\n\r\n\r\n\/* =========================================================\r\n   FORMAT TANGGAL INDONESIA\r\n========================================================= *\/\r\n\r\nfunction formatTanggalIndonesia(\r\n    value,\r\n    tampilWaktu = false\r\n) {\r\n\r\n    if (!value) return \"-\";\r\n\r\n\r\n    let date = new Date(value);\r\n\r\n\r\n    \/*\r\n     * Jika format tanggal Google Sheet\r\n     * tidak terbaca langsung.\r\n     *\/\r\n\r\n    if (isNaN(date.getTime())) {\r\n\r\n        const match =\r\n            String(value).match(\r\n                \/(\\d{1,2})[\\\/\\-](\\d{1,2})[\\\/\\-](\\d{4})\/\r\n            );\r\n\r\n\r\n        if (match) {\r\n\r\n            const hari =\r\n                parseInt(match[1]);\r\n\r\n            const bulan =\r\n                parseInt(match[2]) - 1;\r\n\r\n            const tahun =\r\n                parseInt(match[3]);\r\n\r\n\r\n            date = new Date(\r\n                tahun,\r\n                bulan,\r\n                hari\r\n            );\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    if (isNaN(date.getTime())) {\r\n\r\n        return value;\r\n\r\n    }\r\n\r\n\r\n    const hari = [\r\n\r\n        \"Minggu\",\r\n        \"Senin\",\r\n        \"Selasa\",\r\n        \"Rabu\",\r\n        \"Kamis\",\r\n        \"Jumat\",\r\n        \"Sabtu\"\r\n\r\n    ];\r\n\r\n\r\n    const bulan = [\r\n\r\n        \"Januari\",\r\n        \"Februari\",\r\n        \"Maret\",\r\n        \"April\",\r\n        \"Mei\",\r\n        \"Juni\",\r\n        \"Juli\",\r\n        \"Agustus\",\r\n        \"September\",\r\n        \"Oktober\",\r\n        \"November\",\r\n        \"Desember\"\r\n\r\n    ];\r\n\r\n\r\n    let hasil =\r\n\r\n        hari[date.getDay()] +\r\n\r\n        \", \" +\r\n\r\n        date.getDate() +\r\n\r\n        \" \" +\r\n\r\n        bulan[date.getMonth()] +\r\n\r\n        \" \" +\r\n\r\n        date.getFullYear();\r\n\r\n\r\n    if (tampilWaktu) {\r\n\r\n        const jam =\r\n\r\n            String(\r\n                date.getHours()\r\n            ).padStart(2, \"0\");\r\n\r\n\r\n        const menit =\r\n\r\n            String(\r\n                date.getMinutes()\r\n            ).padStart(2, \"0\");\r\n\r\n\r\n        hasil +=\r\n\r\n            \" \u2022 \" +\r\n\r\n            jam +\r\n\r\n            \".\" +\r\n\r\n            menit +\r\n\r\n            \" WIB\";\r\n\r\n    }\r\n\r\n\r\n    return hasil;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CSV PARSER\r\n========================================================= *\/\r\n\r\nfunction parseCSV(text) {\r\n\r\n    const result = [];\r\n\r\n    let row = [];\r\n\r\n    let value = \"\";\r\n\r\n    let insideQuotes = false;\r\n\r\n\r\n    for (\r\n        let i = 0;\r\n        i < text.length;\r\n        i++\r\n    ) {\r\n\r\n        const char = text[i];\r\n\r\n        const next = text[i + 1];\r\n\r\n\r\n        if (\r\n            char === '\"' &&\r\n            insideQuotes &&\r\n            next === '\"'\r\n        ) {\r\n\r\n            value += '\"';\r\n\r\n            i++;\r\n\r\n        }\r\n\r\n\r\n        else if (char === '\"') {\r\n\r\n            insideQuotes =\r\n                !insideQuotes;\r\n\r\n        }\r\n\r\n\r\n        else if (\r\n            char === \",\" &&\r\n            !insideQuotes\r\n        ) {\r\n\r\n            row.push(\r\n                value.trim()\r\n            );\r\n\r\n            value = \"\";\r\n\r\n        }\r\n\r\n\r\n        else if (\r\n            (\r\n                char === \"\\n\" ||\r\n                char === \"\\r\"\r\n            ) &&\r\n            !insideQuotes\r\n        ) {\r\n\r\n            if (\r\n                char === \"\\r\" &&\r\n                next === \"\\n\"\r\n            ) {\r\n\r\n                i++;\r\n\r\n            }\r\n\r\n\r\n            row.push(\r\n                value.trim()\r\n            );\r\n\r\n            value = \"\";\r\n\r\n\r\n            if (\r\n                row.some(\r\n                    x => x !== \"\"\r\n                )\r\n            ) {\r\n\r\n                result.push(row);\r\n\r\n            }\r\n\r\n\r\n            row = [];\r\n\r\n        }\r\n\r\n\r\n        else {\r\n\r\n            value += char;\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    if (\r\n        value !== \"\" ||\r\n        row.length\r\n    ) {\r\n\r\n        row.push(\r\n            value.trim()\r\n        );\r\n\r\n        result.push(row);\r\n\r\n    }\r\n\r\n\r\n    return result;\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   LOAD DATA\r\n========================================================= *\/\r\n\r\nasync function loadGuests() {\r\n\r\n    try {\r\n\r\n\r\n        const response =\r\n            await fetch(\r\n                SHEET_URL +\r\n                \"&t=\" +\r\n                Date.now()\r\n            );\r\n\r\n\r\n        if (!response.ok) {\r\n\r\n            throw new Error(\r\n                \"Gagal mengambil data\"\r\n            );\r\n\r\n        }\r\n\r\n\r\n        const csv =\r\n            await response.text();\r\n\r\n\r\n        const rows =\r\n            parseCSV(csv);\r\n\r\n\r\n        if (rows.length < 2) {\r\n\r\n            throw new Error(\r\n                \"Data belum tersedia\"\r\n            );\r\n\r\n        }\r\n\r\n\r\n        \/*\r\n          Struktur:\r\n\r\n          0 Waktu Pengisian\r\n          1 Nama\r\n          2 Asal Daerah\r\n          3 Tanggal Kedatangan\r\n          4 Tujuan Perjalanan\r\n          5 Kota Tujuan\r\n          6 Lama Singgah\r\n          7 Jumlah Rombongan\r\n          8 Kebutuhan\r\n          9 Nomor HP\r\n          10 Catatan\r\n        *\/\r\n\r\n\r\n        allData =\r\n\r\n            rows\r\n            .slice(1)\r\n\r\n            .filter(\r\n                row =>\r\n                    row[1] &&\r\n                    row[1].trim() !== \"\"\r\n            )\r\n\r\n            .map(row => ({\r\n\r\n                waktu:\r\n                    row[0] || \"\",\r\n\r\n                nama:\r\n                    row[1] || \"\",\r\n\r\n                asal:\r\n                    row[2] || \"\",\r\n\r\n                tanggal:\r\n                    row[3] || \"\",\r\n\r\n                tujuan:\r\n                    row[4] || \"\",\r\n\r\n                kota:\r\n                    row[5] || \"\",\r\n\r\n                lama:\r\n                    row[6] || \"\",\r\n\r\n                rombongan:\r\n                    row[7] || \"\",\r\n\r\n                kebutuhan:\r\n                    row[8] || \"\",\r\n\r\n                catatan:\r\n                    row[10] || \"\"\r\n\r\n            }))\r\n\r\n            .reverse();\r\n\r\n\r\n        filteredData =\r\n            [...allData];\r\n\r\n\r\n        document\r\n            .getElementById(\r\n                \"alihsan-total\"\r\n            )\r\n            .textContent =\r\n            allData.length;\r\n\r\n\r\n        renderTable();\r\n\r\n\r\n    }\r\n\r\n    catch (error) {\r\n\r\n\r\n        console.error(error);\r\n\r\n\r\n        document\r\n            .getElementById(\r\n                \"alihsan-table-body\"\r\n            )\r\n            .innerHTML = `\r\n\r\n                <tr>\r\n\r\n                    <td\r\n                        colspan=\"7\"\r\n                        class=\"alihsan-empty\">\r\n\r\n                        Data belum dapat dimuat.\r\n\r\n                    <\/td>\r\n\r\n                <\/tr>\r\n\r\n            `;\r\n\r\n    }\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   RENDER TABLE\r\n========================================================= *\/\r\n\r\nfunction renderTable() {\r\n\r\n\r\n    const body =\r\n        document.getElementById(\r\n            \"alihsan-table-body\"\r\n        );\r\n\r\n\r\n    const start =\r\n        (currentPage - 1) *\r\n        rowsPerPage;\r\n\r\n\r\n    const end =\r\n        start +\r\n        rowsPerPage;\r\n\r\n\r\n    const pageData =\r\n        filteredData.slice(\r\n            start,\r\n            end\r\n        );\r\n\r\n\r\n    if (\r\n        pageData.length === 0\r\n    ) {\r\n\r\n\r\n        body.innerHTML = `\r\n\r\n            <tr>\r\n\r\n                <td\r\n                    colspan=\"7\"\r\n                    class=\"alihsan-empty\">\r\n\r\n                    Tidak ada data yang ditemukan.\r\n\r\n                <\/td>\r\n\r\n            <\/tr>\r\n\r\n        `;\r\n\r\n\r\n        renderPagination();\r\n\r\n        return;\r\n\r\n    }\r\n\r\n\r\n    body.innerHTML =\r\n\r\n\r\n        pageData.map(\r\n            (guest, index) => {\r\n\r\n\r\n                const number =\r\n                    start +\r\n                    index +\r\n                    1;\r\n\r\n\r\n                return `\r\n\r\n                    <tr>\r\n\r\n\r\n                        <td>\r\n\r\n                            ${number}\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            <span\r\n\r\n                                class=\"alihsan-name\"\r\n\r\n                                onclick='alihsanShowDetail(${JSON.stringify(guest)})'>\r\n\r\n                                ${escapeHTML(\r\n                                    guest.nama\r\n                                )}\r\n\r\n                            <\/span>\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            ${escapeHTML(\r\n                                guest.asal\r\n                            )}\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            ${formatTanggalIndonesia(\r\n                                guest.tanggal\r\n                            )}\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            ${escapeHTML(\r\n                                guest.kota ||\r\n                                guest.tujuan\r\n                            )}\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            <span\r\n                                class=\"alihsan-badge\">\r\n\r\n                                ${escapeHTML(\r\n                                    guest.lama\r\n                                )}\r\n\r\n                            <\/span>\r\n\r\n                        <\/td>\r\n\r\n\r\n                        <td>\r\n\r\n                            ${escapeHTML(\r\n                                guest.rombongan\r\n                            )}\r\n\r\n                        <\/td>\r\n\r\n\r\n                    <\/tr>\r\n\r\n                `;\r\n\r\n            }\r\n        ).join(\"\");\r\n\r\n\r\n    renderPagination();\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   PAGINATION\r\n========================================================= *\/\r\n\r\nfunction renderPagination() {\r\n\r\n\r\n    const pagination =\r\n        document.getElementById(\r\n            \"alihsan-pagination\"\r\n        );\r\n\r\n\r\n    const totalPages =\r\n        Math.ceil(\r\n            filteredData.length \/\r\n            rowsPerPage\r\n        );\r\n\r\n\r\n    if (\r\n        totalPages <= 1\r\n    ) {\r\n\r\n        pagination.innerHTML =\r\n            \"\";\r\n\r\n        return;\r\n\r\n    }\r\n\r\n\r\n    let html = \"\";\r\n\r\n\r\n    if (\r\n        currentPage > 1\r\n    ) {\r\n\r\n        html += `\r\n\r\n            <button\r\n                onclick=\"alihsanGoPage(${currentPage - 1})\">\r\n\r\n                \u2039\r\n\r\n            <\/button>\r\n\r\n        `;\r\n\r\n    }\r\n\r\n\r\n    for (\r\n        let i = 1;\r\n        i <= totalPages;\r\n        i++\r\n    ) {\r\n\r\n\r\n        if (\r\n\r\n            i === 1 ||\r\n\r\n            i === totalPages ||\r\n\r\n            Math.abs(\r\n                i -\r\n                currentPage\r\n            ) <= 1\r\n\r\n        ) {\r\n\r\n\r\n            html += `\r\n\r\n                <button\r\n\r\n                    class=\"${\r\n                        i === currentPage\r\n                        ? \"active\"\r\n                        : \"\"\r\n                    }\"\r\n\r\n                    onclick=\"alihsanGoPage(${i})\">\r\n\r\n                    ${i}\r\n\r\n                <\/button>\r\n\r\n            `;\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    if (\r\n        currentPage <\r\n        totalPages\r\n    ) {\r\n\r\n        html += `\r\n\r\n            <button\r\n                onclick=\"alihsanGoPage(${currentPage + 1})\">\r\n\r\n                \u203a\r\n\r\n            <\/button>\r\n\r\n        `;\r\n\r\n    }\r\n\r\n\r\n    pagination.innerHTML =\r\n        html;\r\n\r\n}\r\n\r\n\r\nwindow.alihsanGoPage =\r\nfunction(page) {\r\n\r\n\r\n    currentPage =\r\n        page;\r\n\r\n\r\n    renderTable();\r\n\r\n\r\n    document\r\n        .getElementById(\r\n            \"alihsan-guest-list\"\r\n        )\r\n        .scrollIntoView({\r\n\r\n            behavior:\r\n                \"smooth\",\r\n\r\n            block:\r\n                \"start\"\r\n\r\n        });\r\n\r\n};\r\n\r\n\r\n\/* =========================================================\r\n   SEARCH\r\n========================================================= *\/\r\n\r\ndocument\r\n    .getElementById(\r\n        \"alihsan-search-input\"\r\n    )\r\n    .addEventListener(\r\n        \"input\",\r\n        function() {\r\n\r\n\r\n            const keyword =\r\n\r\n                this.value\r\n                    .toLowerCase()\r\n                    .trim();\r\n\r\n\r\n            filteredData =\r\n\r\n                allData.filter(\r\n                    guest => {\r\n\r\n\r\n                        return (\r\n\r\n                            guest.nama\r\n                                .toLowerCase()\r\n                                .includes(\r\n                                    keyword\r\n                                )\r\n\r\n                            ||\r\n\r\n                            guest.asal\r\n                                .toLowerCase()\r\n                                .includes(\r\n                                    keyword\r\n                                )\r\n\r\n                            ||\r\n\r\n                            guest.tujuan\r\n                                .toLowerCase()\r\n                                .includes(\r\n                                    keyword\r\n                                )\r\n\r\n                            ||\r\n\r\n                            guest.kota\r\n                                .toLowerCase()\r\n                                .includes(\r\n                                    keyword\r\n                                )\r\n\r\n                        );\r\n\r\n                    }\r\n                );\r\n\r\n\r\n            currentPage =\r\n                1;\r\n\r\n\r\n            renderTable();\r\n\r\n\r\n        }\r\n    );\r\n\r\n\r\n\/* =========================================================\r\n   DETAIL MODAL\r\n========================================================= *\/\r\n\r\nwindow.alihsanShowDetail =\r\nfunction(guest) {\r\n\r\n\r\n    document\r\n        .getElementById(\r\n            \"alihsan-modal-name\"\r\n        )\r\n        .textContent =\r\n        guest.nama;\r\n\r\n\r\n    document\r\n        .getElementById(\r\n            \"alihsan-modal-body\"\r\n        )\r\n        .innerHTML = `\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Waktu Pengisian\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${formatTanggalIndonesia(\r\n                    guest.waktu,\r\n                    true\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Asal Daerah\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.asal\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Tanggal Kedatangan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${formatTanggalIndonesia(\r\n                    guest.tanggal\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Tujuan Perjalanan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.tujuan\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Kota Tujuan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.kota\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Lama Singgah\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.lama ||\r\n                    \"-\"\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Jumlah Rombongan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.rombongan ||\r\n                    \"-\"\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Kebutuhan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.kebutuhan ||\r\n                    \"-\"\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"alihsan-detail\">\r\n\r\n            <div class=\"alihsan-detail-label\">\r\n\r\n                Catatan\r\n\r\n            <\/div>\r\n\r\n            <div class=\"alihsan-detail-value\">\r\n\r\n                ${escapeHTML(\r\n                    guest.catatan ||\r\n                    \"-\"\r\n                )}\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n    `;\r\n\r\n\r\n    document\r\n        .getElementById(\r\n            \"alihsan-modal\"\r\n        )\r\n        .classList.add(\r\n            \"show\"\r\n        );\r\n\r\n};\r\n\r\n\r\n\/* =========================================================\r\n   CLOSE MODAL\r\n========================================================= *\/\r\n\r\nwindow.alihsanCloseModal =\r\nfunction() {\r\n\r\n\r\n    document\r\n        .getElementById(\r\n            \"alihsan-modal\"\r\n        )\r\n        .classList.remove(\r\n            \"show\"\r\n        );\r\n\r\n};\r\n\r\n\r\n\/* Klik di luar modal *\/\r\n\r\ndocument\r\n    .getElementById(\r\n        \"alihsan-modal\"\r\n    )\r\n    .addEventListener(\r\n        \"click\",\r\n        function(e) {\r\n\r\n\r\n            if (\r\n                e.target === this\r\n            ) {\r\n\r\n                alihsanCloseModal();\r\n\r\n            }\r\n\r\n        }\r\n    );\r\n\r\n\r\n\/* =========================================================\r\n   ESCAPE HTML\r\n========================================================= *\/\r\n\r\nfunction escapeHTML(value) {\r\n\r\n\r\n    return String(\r\n        value || \"\"\r\n    )\r\n\r\n    .replace(\r\n        \/&\/g,\r\n        \"&amp;\"\r\n    )\r\n\r\n    .replace(\r\n        \/<\/g,\r\n        \"&lt;\"\r\n    )\r\n\r\n    .replace(\r\n        \/>\/g,\r\n        \"&gt;\"\r\n    )\r\n\r\n    .replace(\r\n        \/\"\/g,\r\n        \"&quot;\"\r\n    )\r\n\r\n    .replace(\r\n        \/'\/g,\r\n        \"&#039;\"\r\n    );\r\n\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   START\r\n========================================================= *\/\r\n\r\nloadGuests();\r\n\r\n\r\n})();\r\n\r\n<\/script>\r\n\r\n<\/div>\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>Daftar Tamu &amp; Musafir Masjid Al-Ihsan Informasi kunjungan tamu dan musafir di Masjid Al-Ihsan \ud83d\udcdd Daftar sebagai Tamu \/ Musafir<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"class_list":["post-1080","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/pages\/1080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1080"}],"version-history":[{"count":22,"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/pages\/1080\/revisions"}],"predecessor-version":[{"id":1109,"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=\/wp\/v2\/pages\/1080\/revisions\/1109"}],"wp:attachment":[{"href":"https:\/\/masjid-alihsan.or.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}