{"id":10240,"date":"2026-04-03T20:12:26","date_gmt":"2026-04-03T17:12:26","guid":{"rendered":"https:\/\/dual.kstvet.ac.ke\/cop\/cop-login\/"},"modified":"2026-09-04T11:36:29","modified_gmt":"2026-09-04T08:36:29","slug":"cop-login","status":"publish","type":"page","link":"https:\/\/dual.kstvet.ac.ke\/cop\/cop-login\/","title":{"rendered":"Log In"},"content":{"rendered":"        <div class=\"cop-auth-wrap\">\r\n                        <div class=\"cop-auth-card\">\r\n                <div class=\"cop-auth-header\">\r\n                                            <a href=\"https:\/\/dual.kstvet.ac.ke\/cop\/\" class=\"custom-logo-link\" rel=\"home\"><img decoding=\"async\" width=\"162\" height=\"148\" src=\"https:\/\/dual.kstvet.ac.ke\/cop\/wp-content\/uploads\/2026\/09\/cropped-download-1.png\" class=\"custom-logo\" alt=\"DUAL TVET COP\" srcset=\"https:\/\/dual.kstvet.ac.ke\/cop\/wp-content\/uploads\/2026\/09\/cropped-download-1.png 162w, https:\/\/dual.kstvet.ac.ke\/cop\/wp-content\/uploads\/2026\/09\/cropped-download-1-50x46.png 50w, https:\/\/dual.kstvet.ac.ke\/cop\/wp-content\/uploads\/2026\/09\/cropped-download-1-100x91.png 100w\" sizes=\"(max-width: 162px) 100vw, 162px\" \/><\/a>                                        <p class=\"cop-auth-subtitle\">Sign in to your account<\/p>\r\n                <\/div>\r\n\r\n                <form id=\"cop-login-form\" class=\"cop-auth-form\">\r\n                    <input type=\"hidden\" name=\"redirect_to\" value=\"\">\r\n                    <div class=\"cop-auth-field\">\r\n                        <label>Username or Email<\/label>\r\n                        <input type=\"text\" name=\"username\" required autofocus autocomplete=\"username\">\r\n                    <\/div>\r\n                    <div class=\"cop-auth-field\">\r\n                        <label>Password<\/label>\r\n                        <input type=\"password\" name=\"password\" required autocomplete=\"current-password\">\r\n                    <\/div>\r\n                    <div class=\"cop-auth-row\">\r\n                        <label class=\"cop-auth-check\"><input type=\"checkbox\" name=\"remember\" checked> Remember me<\/label>\r\n                        <a href=\"https:\/\/dual.kstvet.ac.ke\/cop\/cop-lost-password\/\" class=\"cop-auth-link\">Forgot password?<\/a>\r\n                    <\/div>\r\n                    <button type=\"submit\" class=\"cop-btn cop-btn-primary cop-auth-submit\">Sign In<\/button>\r\n                    <div class=\"cop-auth-status\" id=\"cop-login-status\"><\/div>\r\n                <\/form>\r\n\r\n                <div class=\"cop-social-divider\"><span>or continue with<\/span><\/div><div class=\"cop-social-buttons\"><a href=\"https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?client_id=179687474866-hjsq9m4am8jhf5nln3kbk03nuvkruse1.apps.googleusercontent.com&#038;redirect_uri=https%3A%2F%2Fdual.kstvet.ac.ke%2Fcop%2Fcop-login%2F%3Fsocial_callback%3Dgoogle&#038;response_type=code&#038;scope=openid+email+profile&#038;state=C51uyFOyvqfSljyh0aaIkqIj2dkciKvQ\" class=\"cop-social-btn cop-social-google\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"><path fill=\"#4285F4\" d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 01-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"\/><path fill=\"#34A853\" d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\/><path fill=\"#FBBC05\" d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\/><path fill=\"#EA4335\" d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\/><\/svg> Google<\/a><a href=\"https:\/\/orcid.org\/oauth\/authorize?client_id=APP-VRSD9ROH9L4VWRN4&#038;redirect_uri=https%3A%2F%2Fdual.kstvet.ac.ke%2Fcop%2Fcop-login%2F%3Fsocial_callback%3Dorcid&#038;response_type=code&#038;scope=%2Fauthenticate+openid&#038;state=UQrxF3iqdwMnnWP1XL9TtHHDwLZjoz0l&#038;prompt=login\" class=\"cop-social-btn cop-social-orcid\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"><circle fill=\"#a6ce39\" cx=\"12\" cy=\"12\" r=\"12\"\/><text x=\"12\" y=\"17\" text-anchor=\"middle\" fill=\"#fff\" font-size=\"14\" font-weight=\"bold\" font-family=\"Arial\">iD<\/text><\/svg> ORCID<\/a><\/div>\r\n                                <div class=\"cop-auth-footer\">\r\n                    Don't have an account? <a href=\"https:\/\/dual.kstvet.ac.ke\/cop\/cop-register\/\">Create one<\/a>\r\n                <\/div>\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <style>\r\n        .cop-auth-wrap{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:40px 20px;position:relative}\r\n        .cop-auth-bg{position:fixed;inset:0;background-size:cover;background-position:center;opacity:.08;z-index:0;pointer-events:none}\r\n        .cop-auth-card{position:relative;z-index:1;background:#fff;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:40px;width:100%;max-width:420px}\r\n        .cop-auth-header{text-align:center;margin-bottom:28px}\r\n        .cop-auth-header .custom-logo-link img{max-height:48px;width:auto;margin:0 auto}\r\n        .cop-auth-title{font-size:22px;font-weight:800;color:#1a1a2e;margin:0 0 4px}\r\n        .cop-auth-subtitle{font-size:14px;color:#64748b;margin:8px 0 0}\r\n        .cop-auth-form{display:flex;flex-direction:column;gap:16px}\r\n        .cop-auth-field label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:5px}\r\n        .cop-auth-field input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}\r\n        .cop-auth-field input:focus{outline:none;border-color:#572A24;box-shadow:0 0 0 3px #572A241a}\r\n        .cop-auth-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}\r\n        .cop-auth-check{display:flex;align-items:center;gap:6px;color:#475569;cursor:pointer}\r\n        .cop-auth-link{color:#572A24;font-weight:600;text-decoration:none}\r\n        .cop-auth-link:hover{text-decoration:underline}\r\n        .cop-auth-submit{width:100%;padding:12px;font-size:15px;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-family:inherit;background:#572A24;color:#fff;transition:opacity .2s}\r\n        .cop-auth-submit:hover{opacity:.9}\r\n        .cop-auth-submit:disabled{opacity:.6;cursor:not-allowed}\r\n        .cop-auth-consent{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#f8fafc}\r\n        .cop-auth-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0}\r\n        .cop-auth-check input{margin:2px 0 0;flex-shrink:0;accent-color:#572A24}\r\n        .cop-auth-check strong{display:block;font-size:13px;font-weight:600;color:#334155;line-height:1.35}\r\n        .cop-auth-check em{display:block;font-style:normal;font-size:11.5px;color:#64748b;margin-top:3px;line-height:1.45}\r\n        .cop-auth-status{text-align:center;font-size:13px;min-height:20px}\r\n        .cop-auth-status.error{color:#ef4444}\r\n        .cop-auth-status.success{color:#22c55e}\r\n        .cop-auth-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #f1f5f9;font-size:14px;color:#64748b}\r\n        .cop-auth-footer a{color:#572A24;font-weight:600;text-decoration:none}\r\n        .cop-social-divider{text-align:center;margin:20px 0 16px;position:relative}\r\n        .cop-social-divider::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#e2e8f0}\r\n        .cop-social-divider span{position:relative;background:#fff;padding:0 14px;font-size:13px;color:#94a3b8;font-weight:500}\r\n        .cop-social-buttons{display:flex;flex-direction:column;gap:8px}\r\n        .cop-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;color:#334155;text-decoration:none;transition:all .2s;background:#fff;cursor:pointer;font-family:inherit}\r\n        .cop-social-btn:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,.06);background:#f8fafc}\r\n        .cop-social-btn svg{flex-shrink:0}\r\n        .cop-social-google:hover{border-color:#4285f4;color:#4285f4}\r\n        .cop-social-microsoft:hover{border-color:#00a4ef;color:#00a4ef}\r\n        .cop-social-github:hover{border-color:#333;color:#333}\r\n        .cop-social-linkedin:hover{border-color:#0077b5;color:#0077b5}\r\n        .cop-social-orcid:hover{border-color:#a6ce39;color:#5a9a2b}\r\n        @media(max-width:480px){.cop-auth-card{padding:28px 20px}}\r\n        <\/style>\r\n\r\n        <script>\r\n        document.getElementById('cop-login-form').addEventListener('submit',function(e){\r\n            e.preventDefault();\r\n            var btn=this.querySelector('button[type=submit]'),st=document.getElementById('cop-login-status');\r\n            btn.disabled=true;btn.textContent='Signing in...';st.textContent='';st.className='cop-auth-status';\r\n            var fd=new FormData(this);fd.append('action','cop_login');fd.append('nonce','e788a4690b');\r\n            fetch('https:\/\/dual.kstvet.ac.ke\/cop\/wp-admin\/admin-ajax.php',{method:'POST',body:fd}).then(r=>r.json()).then(function(r){\r\n                if(r.success){st.className='cop-auth-status success';st.textContent=r.data.message;window.location.href=r.data.redirect;}\r\n                else{st.className='cop-auth-status error';st.textContent=r.data.message;btn.disabled=false;btn.textContent='Sign In';}\r\n            }).catch(function(){st.className='cop-auth-status error';st.textContent='Network error.';btn.disabled=false;btn.textContent='Sign In';});\r\n        });\r\n        <\/script>\r\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":"","meta":{"footnotes":""},"class_list":["post-10240","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/pages\/10240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/comments?post=10240"}],"version-history":[{"count":2,"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/pages\/10240\/revisions"}],"predecessor-version":[{"id":11055,"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/pages\/10240\/revisions\/11055"}],"wp:attachment":[{"href":"https:\/\/dual.kstvet.ac.ke\/cop\/wp-json\/wp\/v2\/media?parent=10240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}