{"id":10,"date":"2026-06-20T11:34:12","date_gmt":"2026-06-20T11:34:12","guid":{"rendered":"https:\/\/www.websculptures.online\/Home\/hr-login\/"},"modified":"2026-06-20T11:34:12","modified_gmt":"2026-06-20T11:34:12","slug":"hr-login","status":"publish","type":"page","link":"https:\/\/www.websculptures.online\/Home\/hr-login\/","title":{"rendered":"HR Login"},"content":{"rendered":"        <div class=\"ws-login-page\" data-ajax=\"https:\/\/www.websculptures.online\/Home\/wp-admin\/admin-ajax.php\" data-nonce=\"50241cc321\" data-redirect=\"https:\/\/www.websculptures.online\/Home\/hr-dashboard\/\">\n            <div class=\"ws-login-bg\"><\/div>\n            <a class=\"ws-login-careers\" href=\"https:\/\/www.websculptures.online\/Home\/careers\/\">Careers<\/a>\n            <div class=\"ws-login-shell\">\n                <section class=\"ws-login-hero\">\n                    <div class=\"ws-login-brand\"><img decoding=\"async\" src=\"https:\/\/www.websculptures.online\/Home\/wp-content\/uploads\/2026\/06\/cropped_circle_image.png\" alt=\"Websculptures\"><span>Websculptures<\/span><\/div>\n                    <h1>Welcome to your HR Portal<\/h1>\n                    <p>Access your attendance, AUX, leave, shift, documents, payroll and support in one clean workspace.<\/p>\n                    <div class=\"ws-login-pills\"><span>Employee Portal<\/span><span>HR Portal<\/span><span>Secure Access<\/span><\/div>\n                <\/section>\n                <section class=\"ws-login-card\">\n                    <div class=\"ws-login-tabs\"><button type=\"button\" class=\"active\" data-panel=\"login\">Login<\/button><button type=\"button\" data-panel=\"reset\">Forgot password<\/button><\/div>\n                    <div class=\"ws-login-alert\" hidden><\/div>\n                    <form class=\"ws-login-form ws-panel active\" data-action=\"ws_hr_frontend_login\" data-panel-name=\"login\">\n                        <h2>Login<\/h2>\n                        <label>Email, Username or Employee ID<input type=\"text\" name=\"login\" autocomplete=\"username\" required><\/label>\n                        <label>Password<input type=\"password\" name=\"password\" autocomplete=\"current-password\" required><\/label>\n                        <label class=\"ws-login-check\"><input type=\"checkbox\" name=\"remember\" value=\"1\"> Keep me signed in<\/label>\n                        <button class=\"ws-login-primary\" type=\"submit\">Open HR Portal<\/button>\n                    <\/form>\n                    <form class=\"ws-login-form ws-panel\" data-action=\"ws_hr_send_reset_otp\" data-panel-name=\"reset-send\">\n                        <h2>Reset password<\/h2>\n                        <p class=\"ws-login-note\">Enter your registered email, username or Employee ID. We\u2019ll send an OTP to your registered email.<\/p>\n                        <label>Email, Username or Employee ID<input type=\"text\" name=\"identifier\" autocomplete=\"username\" required><\/label>\n                        <button class=\"ws-login-primary\" type=\"submit\">Send OTP<\/button>\n                    <\/form>\n                    <form class=\"ws-login-form ws-panel\" data-action=\"ws_hr_reset_password_with_otp\" data-panel-name=\"reset-confirm\">\n                        <h2>Enter OTP<\/h2>\n                        <p class=\"ws-login-note\">Set your new password on this same page.<\/p>\n                        <input type=\"hidden\" name=\"identifier\" value=\"\">\n                        <label>OTP<input type=\"text\" name=\"otp\" inputmode=\"numeric\" maxlength=\"6\" required><\/label>\n                        <label>New password<input type=\"password\" name=\"password\" autocomplete=\"new-password\" required><\/label>\n                        <label>Confirm password<input type=\"password\" name=\"confirm_password\" autocomplete=\"new-password\" required><\/label>\n                        <button class=\"ws-login-primary\" type=\"submit\">Reset Password<\/button>\n                        <button type=\"button\" class=\"ws-login-link\" data-panel=\"reset\">Send OTP again<\/button>\n                    <\/form>\n                <\/section>\n            <\/div>\n        <\/div>\n        <style>\n        html,body{margin:0!important;padding:0!important}.ws-login-page,.ws-login-page *{box-sizing:border-box}.ws-login-page{position:relative;min-height:100vh;width:100%;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;color:#101828;background:#f5f8ff}.ws-login-careers{position:absolute;right:34px;top:28px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(219,229,255,.95);color:#246BFE!important;text-decoration:none!important;font-weight:1000;box-shadow:0 14px 36px rgba(37,99,235,.12)}.ws-login-careers:hover{background:#246BFE;color:#fff!important;transform:translateY(-1px)}.ws-login-bg{position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(36,107,254,.28),transparent 32%),radial-gradient(circle at 84% 10%,rgba(18,200,107,.18),transparent 28%),linear-gradient(135deg,#f8fbff 0%,#edf4ff 46%,#f7f2ff 100%)}.ws-login-bg:after{content:\"\";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.85);border-radius:34px;box-shadow:inset 0 0 80px rgba(255,255,255,.55)}.ws-login-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) 460px;gap:36px;align-items:center;padding:56px 7vw}.ws-login-hero{max-width:760px}.ws-login-brand{display:inline-flex;align-items:center;gap:14px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 46px rgba(37,99,235,.12);border-radius:999px;padding:10px 18px;font-weight:1000;color:#0f1b3d}.ws-login-brand img,.ws-login-logo{width:54px;height:54px;object-fit:contain;border-radius:18px}.ws-login-hero h1{font-size:clamp(44px,6vw,82px);letter-spacing:-.07em;line-height:.94;margin:28px 0 18px;color:#0f1b3d}.ws-login-hero p{font-size:18px;line-height:1.7;color:#53627c;max-width:650px;font-weight:700}.ws-login-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.ws-login-pills span{padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(219,229,255,.9);font-weight:900;color:#2451b2}.ws-login-card{width:100%;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.92);border-radius:34px;box-shadow:0 34px 90px rgba(15,23,42,.14);backdrop-filter:blur(22px);padding:26px}.ws-login-card.compact{position:relative;z-index:1;max-width:460px;margin:12vh auto;text-align:center;padding:36px}.ws-login-card h1,.ws-login-card h2{margin:4px 0 10px;color:#0f1b3d;letter-spacing:-.04em}.ws-login-card h2{font-size:30px}.ws-login-card p{color:#667085}.ws-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef4ff;border-radius:18px;padding:7px;margin-bottom:18px}.ws-login-tabs button{border:0;background:transparent;border-radius:14px;padding:12px;font-weight:1000;color:#52637e;cursor:pointer}.ws-login-tabs button.active{background:#fff;color:#246BFE;box-shadow:0 10px 24px rgba(36,107,254,.12)}.ws-login-alert{border-radius:16px;padding:12px 14px;margin-bottom:14px;font-weight:850}.ws-login-alert.success{background:#e9f9ef;color:#087a3a}.ws-login-alert.error{background:#fff1f1;color:#b42318}.ws-login-form{display:none}.ws-login-form.active{display:block}.ws-login-form label{display:flex;flex-direction:column;gap:8px;font-weight:900;color:#344054;margin:14px 0}.ws-login-form input[type=\"text\"],.ws-login-form input[type=\"email\"],.ws-login-form input[type=\"password\"]{width:100%;border:1px solid #d8e2f5;border-radius:16px;background:#fff;padding:14px 15px;font-size:15px;outline:none}.ws-login-form input:focus{border-color:#246BFE;box-shadow:0 0 0 4px rgba(36,107,254,.1)}.ws-login-check{flex-direction:row!important;align-items:center;font-size:14px}.ws-login-check input{width:auto}.ws-login-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,#246BFE,#6d5dfc);color:#fff!important;text-decoration:none!important;padding:15px 18px;font-weight:1000;font-size:15px;cursor:pointer;box-shadow:0 18px 40px rgba(36,107,254,.22)}.ws-login-primary:disabled{opacity:.68;cursor:wait}.ws-login-link{border:0;background:transparent;color:#246BFE;font-weight:950;padding:12px;cursor:pointer;width:100%;margin-top:8px}.ws-login-note{font-size:14px;line-height:1.55;margin:0 0 10px}.ws-login-logo{margin:0 auto 18px;display:block;width:78px;height:78px;border-radius:24px}@media(max-width:920px){.ws-login-shell{grid-template-columns:1fr;padding:28px 18px}.ws-login-hero{text-align:center;margin:auto}.ws-login-pills{justify-content:center}.ws-login-card{max-width:520px;margin:auto}.ws-login-bg:after{inset:10px;border-radius:24px}}@media(max-width:520px){.ws-login-careers{right:16px;top:16px;min-height:38px;padding:0 13px}.ws-login-shell{padding:18px 12px}.ws-login-hero h1{font-size:42px}.ws-login-card{border-radius:24px;padding:18px}.ws-login-brand img{width:44px;height:44px}.ws-login-tabs{grid-template-columns:1fr}}\n.ws-employee-filterbar{display:grid;grid-template-columns:1.7fr repeat(5,minmax(135px,1fr)) auto;gap:14px;margin:0 0 20px;padding:18px;border:1px solid #dfe8f7;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 14px 34px rgba(15,27,61,.06)}.ws-employee-filterbar label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#52637f}.ws-employee-filterbar input,.ws-employee-filterbar select{width:100%;height:44px;margin-top:8px;border:1px solid #d9e4f5;border-radius:14px;padding:0 13px;background:#fff;font-weight:850;color:#243762;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.ws-employee-filterbar input:focus,.ws-employee-filterbar select:focus{outline:none;border-color:#246BFE;box-shadow:0 0 0 4px rgba(36,107,254,.1)}.ws-employee-filterbar button{align-self:end;height:44px;border-radius:14px;background:#eef4ff;color:#246BFE}\n.hrap-employee-edit-form{display:grid;gap:18px}.hrap-edit-section{border:1px solid #e4ebf7;background:#fbfdff;border-radius:20px;padding:18px}.hrap-edit-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hrap-edit-section-head h4{margin:0;color:#1f3768;font-size:17px;font-weight:1000}.hrap-edit-section-head small{color:#6f7f9e;font-weight:850}.hrap-employee-edit-form .hrap-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hrap-employee-edit-form .hrap-form-grid label span{display:block;font-weight:900;color:#34456d}.ws-hr-profile-rows{display:grid;gap:12px}.ws-hr-profile-row{border:1px solid #e3ebf6;background:#fff;border-radius:18px;padding:14px}.ws-hr-profile-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ws-hr-delete-row{display:flex!important;align-items:center;gap:8px;margin-top:10px;color:#e3344c!important;font-weight:900}.hrap-edit-actions{display:flex;justify-content:flex-end;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.65),#fff);padding-top:14px}@media(max-width:900px){.hrap-employee-edit-form .hrap-form-grid{grid-template-columns:1fr}}.hrap-nav-badge{margin-left:auto;background:#ffedf0;color:#d92d4b;min-width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-style:normal;font-weight:1000}.hrap-modal{display:none;position:fixed;inset:0;background:rgba(7,23,53,.58);z-index:99999;padding:24px;align-items:center;justify-content:center}.hrap-modal.open{display:flex}.hrap-modal-card{position:relative;background:#fff;border-radius:26px;padding:22px;box-shadow:0 34px 100px rgba(0,0,0,.25);width:min(720px,96vw);max-height:90vh;overflow:auto}.hrap-modal-card.wide{width:min(1080px,96vw)}.hrap-modal-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#eef4ff;color:#246BFE;font-size:26px;line-height:1;cursor:pointer;font-weight:900}.hrap-review-form input[type=text]{min-width:180px;border:1px solid #dfe7f3;border-radius:10px;padding:9px 10px}.hrp-clean-status{display:inline-flex;border-radius:999px;padding:7px 11px;font-weight:1000;font-size:12px;background:#fff7e6;color:#b46b00}.hrp-clean-status.approved{background:#e9fff3;color:#13a85f}.hrp-clean-status.rejected{background:#fff2f2;color:#e3344c}@media(max-width:1300px){.ws-employee-filterbar{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.ws-employee-filterbar{grid-template-columns:1fr}}\n\n        <\/style>        <script>\n        (function(){\n            const root=document.querySelector('.ws-login-page[data-ajax]'); if(!root) return;\n            const alertBox=root.querySelector('.ws-login-alert');\n            const panels=root.querySelectorAll('.ws-panel');\n            const tabs=root.querySelectorAll('[data-panel]');\n            function showAlert(msg,type){ alertBox.hidden=false; alertBox.textContent=msg; alertBox.className='ws-login-alert '+(type||'info'); }\n            function panel(name){ panels.forEach(p=>p.classList.toggle('active', p.dataset.panelName===name || (name==='reset' && p.dataset.panelName==='reset-send') || (name==='login' && p.dataset.panelName==='login'))); tabs.forEach(t=>t.classList.toggle('active',t.dataset.panel===name)); alertBox.hidden=true; }\n            tabs.forEach(btn=>btn.addEventListener('click',()=>panel(btn.dataset.panel)));\n            root.querySelectorAll('form[data-action]').forEach(form=>{\n                form.addEventListener('submit',function(e){\n                    e.preventDefault();\n                    const btn=form.querySelector('button[type=\"submit\"]'); const old=btn.textContent; btn.disabled=true; btn.textContent='Please wait...';\n                    const fd=new FormData(form); fd.append('action',form.dataset.action); fd.append('nonce',root.dataset.nonce); if(!fd.get('redirect_to')) fd.append('redirect_to',root.dataset.redirect);\n                    fetch(root.dataset.ajax,{method:'POST',credentials:'same-origin',body:fd}).then(r=>r.json()).then(data=>{\n                        if(!data || !data.success){ showAlert((data&&data.data&&data.data.message)||'Something went wrong.','error'); return; }\n                        showAlert(data.data.message||'Done.','success');\n                        if(form.dataset.action==='ws_hr_frontend_login' && data.data.redirect){ window.location.href=data.data.redirect; }\n                        if(form.dataset.action==='ws_hr_send_reset_otp'){\n                            const identifier=form.querySelector('[name=\"identifier\"]').value;\n                            root.querySelector('form[data-panel-name=\"reset-confirm\"] [name=\"identifier\"]').value=identifier;\n                            panels.forEach(p=>p.classList.toggle('active',p.dataset.panelName==='reset-confirm'));\n                        }\n                        if(form.dataset.action==='ws_hr_reset_password_with_otp'){ setTimeout(()=>panel('login'),900); }\n                    }).catch(()=>showAlert('Connection failed. Please try again.','error')).finally(()=>{btn.disabled=false;btn.textContent=old;});\n                });\n            });\n        })();\n        <\/script>\n        \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"ws-hr-portal-fullscreen.php","meta":{"footnotes":""},"class_list":["post-10","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":0,"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/pages\/10\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.websculptures.online\/Home\/wp-json\/wp\/v2\/media?parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}