{"id":2994,"date":"2026-07-18T05:31:24","date_gmt":"2026-07-18T05:31:24","guid":{"rendered":"https:\/\/bloomserve.com\/staging\/?page_id=2994"},"modified":"2026-07-18T05:31:24","modified_gmt":"2026-07-18T05:31:24","slug":"portal","status":"publish","type":"page","link":"https:\/\/bloomserve.com\/staging\/portal\/","title":{"rendered":"Portal"},"content":{"rendered":"\r\n<div class=\"bs-win11-login-wrapper\">\r\n    <div class=\"bs-win11-ambient-glow\"><\/div>\r\n\r\n    <div class=\"bs-win11-login-card\">\r\n\r\n        <!-- LOGO BRAND -->\r\n        <div class=\"bs-win11-brand-header\">\r\n            <img decoding=\"async\" src=\"https:\/\/bloomserve.com\/staging\/wp-content\/plugins\/bloomserve-hrms\/assets\/images\/bloomserve-logo.png\" alt=\"BloomServe Logo\" class=\"bs-win11-logo-img\" title=\"Portal\">\r\n            <span class=\"bs-win11-portal-badge\">Employee Portal<\/span>\r\n        <\/div>\r\n\r\n        \r\n            <!-- VIEW 2: LOGIN FORM -->\r\n            <div class=\"bs-win11-title-box\">\r\n                <h2>Welcome <span class=\"bs-win11-glow-txt\">Back<\/span><\/h2>\r\n                <p>Please enter your credentials to access your account.<\/p>\r\n            <\/div>\r\n\r\n            \r\n            <form method=\"post\" action=\"https:\/\/bloomserve.com\/staging\/portal\/\" class=\"bs-win11-auth-form\">\r\n                <input type=\"hidden\" name=\"bs_do_portal_login\" value=\"1\">\r\n\r\n                <div class=\"bs-win11-input-group\">\r\n                    <input type=\"text\" name=\"portal_username\" required placeholder=\"Employee Code \/ Email\" autocomplete=\"username\" autofocus class=\"bs-win11-field\">\r\n                <\/div>\r\n\r\n                <!-- PASSWORD FIELD WITH EYE TOGGLE -->\r\n                <div class=\"bs-win11-input-group bs-pass-group\">\r\n                    <input type=\"password\" name=\"portal_password\" id=\"bsPortalPassword\" required placeholder=\"Password\" autocomplete=\"current-password\" class=\"bs-win11-field bs-pass-field\">\r\n                    <button type=\"button\" id=\"bsTogglePassBtn\" onclick=\"togglePasswordVisibility()\" class=\"bs-win11-eye-btn\" title=\"Show\/Hide Password\" aria-label=\"Toggle Password Visibility\">\r\n                        <svg id=\"bsEyeOpen\" width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"><\/path><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><\/svg>\r\n                        <svg id=\"bsEyeClosed\" width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:none;\"><path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"><\/path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"><\/line><\/svg>\r\n                    <\/button>\r\n                <\/div>\r\n\r\n                <div class=\"bs-win11-auth-row\">\r\n                    <label class=\"bs-win11-remember\">\r\n                        <input type=\"checkbox\" name=\"rememberme\" value=\"forever\">\r\n                        <span>Remember me<\/span>\r\n                    <\/label>\r\n\r\n                    <a href=\"https:\/\/bloomserve.com\/staging\/portal\/?action=lostpassword\" class=\"bs-win11-forgot-link\">\r\n                        Forgot Password?\r\n                    <\/a>\r\n                <\/div>\r\n\r\n                <button type=\"submit\" class=\"bs-win11-submit-btn\">\r\n                    SIGN IN\r\n                <\/button>\r\n            <\/form>\r\n\r\n        \r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction togglePasswordVisibility() {\r\n    var passField = document.getElementById('bsPortalPassword');\r\n    var eyeOpen = document.getElementById('bsEyeOpen');\r\n    var eyeClosed = document.getElementById('bsEyeClosed');\r\n    if (!passField) return;\r\n\r\n    if (passField.type === 'password') {\r\n        passField.type = 'text';\r\n        if (eyeOpen) eyeOpen.style.display = 'none';\r\n        if (eyeClosed) eyeClosed.style.display = 'block';\r\n    } else {\r\n        passField.type = 'password';\r\n        if (eyeOpen) eyeOpen.style.display = 'block';\r\n        if (eyeClosed) eyeClosed.style.display = 'none';\r\n    }\r\n}\r\n<\/script>\r\n\r\n<style>\r\n\/* =========================================================\r\n   WINDOWS 11 FLUENT LOGIN AESTHETIC\r\n========================================================= *\/\r\n.bs-win11-login-wrapper {\r\n    min-height: 84vh;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 24px 16px;\r\n    font-family: 'Segoe UI Variable Display', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;\r\n    position: relative;\r\n    box-sizing: border-box;\r\n}\r\n\r\n.bs-win11-ambient-glow {\r\n    position: absolute;\r\n    width: 440px;\r\n    height: 440px;\r\n    background: radial-gradient(circle, rgba(2, 132, 199, 0.12) 0%, rgba(139, 92, 246, 0.08) 50%, transparent 75%);\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    pointer-events: none;\r\n    z-index: 0;\r\n}\r\n\r\n.bs-win11-login-card {\r\n    position: relative;\r\n    z-index: 1;\r\n    width: 100%;\r\n    max-width: 420px;\r\n    background: #ffffff;\r\n    border: 1px solid rgba(226, 232, 240, 0.9);\r\n    border-radius: 24px;\r\n    padding: 36px 32px;\r\n    box-shadow: 0 16px 40px -10px rgba(15, 23, 42, 0.08), 0 0 1px rgba(15, 23, 42, 0.05);\r\n    box-sizing: border-box;\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n\/* Brand Header *\/\r\n.bs-win11-brand-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    margin-bottom: 24px;\r\n}\r\n.bs-win11-logo-img {\r\n    height: 34px;\r\n    max-width: 150px;\r\n    object-fit: contain;\r\n    display: block;\r\n}\r\n.bs-win11-portal-badge {\r\n    font-size: 11px;\r\n    font-weight: 800;\r\n    color: #0284c7;\r\n    background: #e0f2fe;\r\n    padding: 4px 10px;\r\n    border-radius: 12px;\r\n    letter-spacing: 0.2px;\r\n}\r\n\r\n\/* Title Box *\/\r\n.bs-win11-title-box {\r\n    margin-bottom: 22px;\r\n}\r\n.bs-win11-title-box h2 {\r\n    margin: 0;\r\n    font-size: 24px;\r\n    font-weight: 800;\r\n    color: #0f172a;\r\n    letter-spacing: -0.4px;\r\n}\r\n.bs-win11-glow-txt {\r\n    background: linear-gradient(135deg, #0284c7 0%, #6366f1 100%);\r\n    -webkit-background-clip: text;\r\n    -webkit-text-fill-color: transparent;\r\n}\r\n.bs-win11-title-box p {\r\n    margin: 6px 0 0;\r\n    font-size: 13px;\r\n    color: #64748b;\r\n}\r\n\r\n\/* Alerts *\/\r\n.bs-win11-alert {\r\n    padding: 12px 14px;\r\n    border-radius: 12px;\r\n    font-size: 12.5px;\r\n    font-weight: 600;\r\n    margin-bottom: 18px;\r\n}\r\n.bs-alert-danger {\r\n    background: #fef2f2;\r\n    color: #991b1b;\r\n    border: 1px solid #fecaca;\r\n}\r\n.bs-alert-success {\r\n    background: #ecfdf5;\r\n    color: #065f46;\r\n    border: 1px solid #a7f3d0;\r\n}\r\n\r\n\/* Input Fields *\/\r\n.bs-win11-auth-form {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 14px;\r\n}\r\n.bs-win11-input-group {\r\n    position: relative;\r\n    width: 100%;\r\n}\r\n.bs-win11-field {\r\n    width: 100%;\r\n    height: 48px;\r\n    background: #f8fafc;\r\n    border: 1.5px solid #cbd5e1;\r\n    border-radius: 12px;\r\n    padding: 0 16px;\r\n    font-size: 13.5px;\r\n    color: #0f172a;\r\n    font-weight: 600;\r\n    box-sizing: border-box;\r\n    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);\r\n}\r\n.bs-win11-field:focus {\r\n    outline: none;\r\n    border-color: #0284c7;\r\n    background: #ffffff;\r\n    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.12);\r\n}\r\n\r\n\/* Password Eye Button *\/\r\n.bs-pass-group {\r\n    display: flex;\r\n    align-items: center;\r\n}\r\n.bs-pass-field {\r\n    padding-right: 46px;\r\n}\r\n.bs-win11-eye-btn {\r\n    position: absolute;\r\n    right: 12px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    background: none;\r\n    border: none;\r\n    color: #64748b;\r\n    cursor: pointer;\r\n    padding: 6px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    border-radius: 8px;\r\n    transition: color 0.15s ease;\r\n}\r\n.bs-win11-eye-btn:hover {\r\n    color: #0284c7;\r\n}\r\n\r\n\/* Remember \/ Forgot Row *\/\r\n.bs-win11-auth-row {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    font-size: 12.5px;\r\n    margin: 2px 0 6px;\r\n}\r\n.bs-win11-remember {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 7px;\r\n    color: #475569;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n}\r\n.bs-win11-remember input {\r\n    accent-color: #0284c7;\r\n    width: 15px;\r\n    height: 15px;\r\n    cursor: pointer;\r\n}\r\n.bs-win11-forgot-link {\r\n    color: #0284c7;\r\n    font-weight: 700;\r\n    text-decoration: none;\r\n    transition: color 0.15s ease;\r\n}\r\n.bs-win11-forgot-link:hover {\r\n    color: #0369a1;\r\n    text-decoration: underline;\r\n}\r\n\r\n\/* Submit Button *\/\r\n.bs-win11-submit-btn {\r\n    width: 100%;\r\n    height: 48px;\r\n    background: linear-gradient(135deg, #0284c7 0%, #4f46e5 100%);\r\n    color: #ffffff;\r\n    font-size: 14px;\r\n    font-weight: 800;\r\n    border: none;\r\n    border-radius: 12px;\r\n    cursor: pointer;\r\n    letter-spacing: 0.5px;\r\n    box-shadow: 0 4px 16px rgba(79, 70, 229, 0.35);\r\n    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);\r\n}\r\n.bs-win11-submit-btn:hover {\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45);\r\n}\r\n\r\n.bs-win11-back-wrap {\r\n    text-align: center;\r\n    margin-top: 14px;\r\n}\r\n.bs-win11-back-link {\r\n    font-size: 12.5px;\r\n    color: #64748b;\r\n    font-weight: 700;\r\n    text-decoration: none;\r\n}\r\n.bs-win11-back-link:hover {\r\n    color: #0284c7;\r\n}\r\n\r\n\/* Mobile Responsive *\/\r\n@media screen and (max-width: 480px) {\r\n    .bs-win11-login-card {\r\n        padding: 26px 20px;\r\n        border-radius: 20px;\r\n    }\r\n    .bs-win11-title-box h2 {\r\n        font-size: 21px;\r\n    }\r\n    .bs-win11-field,\r\n    .bs-win11-submit-btn {\r\n        height: 46px;\r\n    }\r\n}\r\n<\/style>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-2994","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/pages\/2994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/comments?post=2994"}],"version-history":[{"count":1,"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/pages\/2994\/revisions"}],"predecessor-version":[{"id":2995,"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/pages\/2994\/revisions\/2995"}],"wp:attachment":[{"href":"https:\/\/bloomserve.com\/staging\/wp-json\/wp\/v2\/media?parent=2994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}