.jb-login{--brand-navy-dark:#071326;--brand-navy:#0b1e3f;--brand-navy-light:#162f5e;--brand-navy-soft:#1e3a73;--brand-navy-subtle:#edf2f9;--brand-gold:#dda128;--brand-gold-hover:#c58c1b;--brand-gold-light:#fdf5e6;--brand-gold-glow:#dda12859;--bg-page:#f4f7fc;--card-bg:#fff;--card-border:#e2e8f0;--text-main:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--color-success:#10b981;--color-error:#ef4444;--shadow-md:0 6px 18px -3px #0b1e3f14;--shadow-card:0 20px 48px -12px #0b1e3f29, 0 4px 12px #0b1e3f0f;--shadow-primary-hover:0 8px 24px #0b1e3f38;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}.jb-login,.jb-login *,.jb-login :before,.jb-login :after{box-sizing:border-box;margin:0;padding:0}.jb-login{font-family:var(--font-jakarta), "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 85% 10%,#0b1e3f0d 0%,#0000 45%),radial-gradient(circle at 10% 90%,#dda1280f 0%,#0000 45%);min-height:100vh;line-height:1.5}.jb-login .login-shell{justify-content:center;width:100%;min-height:100vh;padding:32px 20px;display:flex}.jb-login .login-shell-inner{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:440px;margin:auto 0;display:flex}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.jb-login .main-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);padding:40px 36px;animation:.55s ease-out 80ms both fadeInUp;position:relative;overflow:hidden}.jb-login .main-card:before{content:"";background:linear-gradient(90deg, transparent, var(--brand-gold), transparent);opacity:.6;height:3px;position:absolute;top:0;left:0;right:0}.jb-login .card-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.jb-login .brand-logo-container{border-radius:var(--radius-md);border:1px solid var(--card-border);width:56px;height:56px;box-shadow:var(--shadow-md);background:#fff;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.jb-login .brand-logo-img{object-fit:contain;width:38px;height:38px}.jb-login .form-title{color:var(--text-main);letter-spacing:-.4px;margin-bottom:6px;font-size:22px;font-weight:700}.jb-login .form-description{color:var(--text-muted);font-size:14px;line-height:1.5}.jb-login .login-form{flex-direction:column;gap:18px;display:flex}.jb-login .form-group{flex-direction:column;gap:7px;display:flex}.jb-login .form-label{color:var(--text-main);font-size:13px;font-weight:600}.jb-login .label-with-action{justify-content:space-between;align-items:center;gap:12px;display:flex}.jb-login .forgot-password-link{color:var(--brand-gold);transition:color var(--transition-fast);font-size:13px;font-weight:500;text-decoration:none}.jb-login .forgot-password-link:hover{color:var(--brand-gold-hover);text-decoration:underline}.jb-login .input-container{align-items:center;display:flex;position:relative}.jb-login .input-icon{color:var(--text-light);pointer-events:none;font-size:17px;position:absolute;left:14px}.jb-login .form-input{width:100%;color:var(--text-main);border:1.5px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);transition:all var(--transition-normal);outline:none;padding:11px 14px 11px 42px;font-family:inherit;font-size:14px}.jb-login .form-input:hover{border-color:#cbd5e1}.jb-login .form-input:focus{border-color:var(--brand-gold);box-shadow:0 0 0 4px var(--brand-gold-glow)}.jb-login .form-input::placeholder{color:var(--text-light)}.jb-login .btn-toggle-password{cursor:pointer;color:var(--text-light);transition:all var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 8px;font-size:17px;display:flex;position:absolute;right:8px}.jb-login .btn-toggle-password:hover{color:var(--brand-gold);background:#dda12814}.jb-login .input-error-msg{color:var(--color-error);min-height:16px;font-size:12.5px;font-weight:500;display:block}.jb-login .input-error-msg:empty{min-height:0}.jb-login .checkbox-container{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13.5px;display:flex}.jb-login .checkbox-container input{opacity:0;cursor:pointer;width:18px;height:18px;position:absolute}.jb-login .checkmark{border:1.5px solid var(--card-border);background:var(--card-bg);width:18px;height:18px;transition:all var(--transition-normal);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.jb-login .checkbox-container:hover .checkmark{border-color:var(--brand-gold)}.jb-login .checkbox-container input:checked+.checkmark{border-color:var(--brand-gold);background:var(--brand-gold)}.jb-login .checkbox-container input:checked+.checkmark:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.jb-login .btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.jb-login .btn-full-width{width:100%}.jb-login .btn-primary{background:var(--brand-gold);color:#fff;font-weight:700;box-shadow:0 4px 14px #dda12852}.jb-login .btn-primary:hover{background:var(--brand-gold-hover);transform:translateY(-1px);box-shadow:0 6px 18px #dda12866}.jb-login .btn-primary:active{transform:translateY(0)}.jb-login .btn-google{background:var(--card-bg);color:var(--text-main);border:1.5px solid var(--card-border);width:100%}.jb-login .btn-google:hover{background:var(--brand-navy-subtle);border-color:#cbd5e1}.jb-login .btn-google:active{transform:scale(.99)}.jb-login .btn-outline{color:var(--text-muted);border:1.5px solid var(--card-border);background:0 0;width:100%;text-decoration:none}.jb-login .btn-outline:hover{background:var(--brand-navy-subtle);border-color:var(--brand-navy-light);color:var(--text-main)}.jb-login .btn-outline:active{transform:scale(.99)}.jb-login .btn-back-home{margin-top:20px}.jb-login .divider{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:12px;font-size:12.5px;font-weight:500;display:flex}.jb-login .divider:before,.jb-login .divider:after{content:"";background:var(--card-border);flex:1;height:1px}.jb-login .form-footer{border-top:1px solid var(--card-border);text-align:center;flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;display:flex}.jb-login .footer-text{color:var(--text-muted);margin-bottom:8px;font-size:13.5px;line-height:1.6}.jb-login .signup-role-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.jb-login .signup-role-sep{color:var(--card-border);font-size:13px}.jb-login .signup-link{color:var(--brand-gold);transition:color var(--transition-fast);font-size:13.5px;font-weight:600;text-decoration:none}.jb-login .signup-link:hover{color:var(--brand-gold-hover);text-decoration:underline}.jb-login .shell-footnote{color:var(--text-light);text-align:center;font-size:12.5px;animation:.55s ease-out .15s both fadeInUp}@media (max-width:480px){.jb-login .login-shell{gap:18px;padding:24px 16px}.jb-login .main-card{padding:32px 22px}.jb-login .form-title{font-size:20px}}
