Login
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; font-family:Arial,sans-serif; background:linear-gradient(135deg,#071b3a 0%,#087fc4 55%,#00b5e8 100%); display:flex; justify-content:center; align-items:center; padding:20px; }
.card { position:relative; width:100%; max-width:580px; background:rgba(115,190,235,.28) !important; border:1px solid rgba(255,255,255,.18) !important; border-radius:28px; padding:30px 30px 22px; box-shadow:0 12px 35px rgba(0,0,0,.12); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); overflow:hidden; }
.card::before { content:""; position:absolute; top:0; left:0; right:0; height:10px; background:#ff6a00; border-radius:28px 28px 0 0; }
.icon,.subtitle { display:none !important; }
h1 { text-align:center; color:#fff; font-size:28px; font-weight:bold; margin:0 0 24px; }
label { display:block; color:#fff; font-size:12px; font-weight:bold; margin:0 0 6px; }
.password-wrap { position:relative; width:100%; }
.password-wrap input { padding-right:58px !important; }
.toggle-password { position:absolute; right:13px; top:22px; transform:translateY(-50%); border:0; background:transparent !important; color:#777 !important; width:auto !important; height:auto !important; padding:0 !important; margin:0 !important; font-size:18px; cursor:pointer !important; }
input,input[type=text],input[type=password],input[type=email] { width:100%; height:44px; padding:0 15px; margin:0 0 12px; background:#fff !important; background-color:#fff !important; color:#333 !important; opacity:1 !important; border:2px solid #fff !important; border-radius:11px; outline:none !important; font-size:14px; }
input:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus { background:#fff !important; background-color:#fff !important; color:#333 !important; opacity:1 !important; border-color:#fff !important; outline:none !important; box-shadow:none !important; }
input::placeholder { color:#888 !important; opacity:1 !important; }
.forgot-password { width:100%; text-align:right !important; margin:-3px 0 15px; }
.forgot-password a { color:#fff !important; font-size:12px; font-weight:bold; text-decoration:underline; }
button { width:100%; height:46px; padding:0 15px; border:none !important; border-radius:35px; background:#d9d9d9 !important; color:#999 !important; font-size:15px; font-weight:bold; cursor:not-allowed; transition:background .2s, color .2s; }
button.active { background:#ff6a00 !important; color:#fff !important; cursor:pointer; }
button.active:hover { background:#e88f00 !important; }
.success,.error { padding:12px; border-radius:8px; margin-bottom:18px; text-align:center; }
.success { background:rgba(46,204,113,.9); color:#fff; } .error { background:rgba(231,76,60,.9); color:#fff; }
@media (max-width:600px) { .card { padding:32px 16px 22px; border-radius:22px; } .card::before { height:8px; border-radius:22px 22px 0 0; } h1 { font-size:28px; margin-bottom:24px; } }
LOGIN
const corporateId = document.getElementById('corporate_id');
const userId = document.getElementById('user_id');
const password = document.getElementById('password');
const loginButton = document.getElementById('loginButton');
const togglePassword = document.getElementById('togglePassword');
function checkForm() {
const lengkap = corporateId.value.trim() !== '' &&
userId.value.trim() !== '' &&
password.value.trim() !== '';
loginButton.disabled = !lengkap;
loginButton.classList.toggle('active', lengkap);
}
[corporateId, userId, password].forEach(input => {
input.addEventListener('input', checkForm);
});
checkForm();
togglePassword.addEventListener('click', function () {
const tampil = password.type === 'password';
password.type = tampil ? 'text' : 'password';
this.textContent = tampil ? '🙈' : '👁';
this.setAttribute('aria-label', tampil ? 'Sembunyikan kata sandi' : 'Tampilkan kata sandi');
});