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'); });