@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--brand-cyan:#29ced2;--brand-cyan-dark:#19b6ba;--brand-cyan-soft:#e6f9fa;--brand-gradient:linear-gradient(135deg,#1ad6dd,#29ced2 60%,#17bcc2);--text-dark:#0f172a;--text-muted:#64748b;--border-light:#e2e8f0;--radius-sm:12px;--radius-lg:24px;--shadow-card:0 25px 50px -12px rgba(15,23,42,.08),0 12px 24px -8px rgba(41,206,210,.15)}.login-page-root{min-height:100vh;width:100%;background:#f8fafc;display:flex;flex-direction:column;justify-content:space-between;padding:24px 40px;position:relative;overflow-x:hidden;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-page-root,.login-page-root *{box-sizing:border-box}.top-header{justify-content:space-between;width:100%;max-width:1320px;margin:0 auto}.brand-header-logo,.top-header{display:flex;align-items:center}.brand-header-logo{gap:12px;text-decoration:none}.brand-header-logo svg{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.brand-header-title{font-size:22px;font-weight:800;color:var(--text-dark);letter-spacing:-.5px}.brand-header-title span{color:var(--brand-cyan)}.brand-header-title small{font-weight:500;font-size:14px;color:var(--text-muted);margin-left:8px}.lang-switcher-wrapper{position:relative}.lang-switcher{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-light);padding:6px 14px;border-radius:20px;font-size:13.5px;font-weight:600;color:var(--text-dark);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.02);transition:all .2s ease}.lang-switcher:hover{background:#fff;border-color:#cbd5e1}.lang-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--border-light);border-radius:12px;box-shadow:0 10px 25px -5px rgba(0,0,0,.1);padding:6px;min-width:130px;z-index:50;display:flex;flex-direction:column;gap:2px}.lang-dropdown-btn{padding:8px 12px;font-size:13px;font-weight:600;color:var(--text-dark);border-radius:8px;cursor:pointer;text-align:left;border:none;background:transparent;transition:all .15s ease;width:100%}.lang-dropdown-btn.active,.lang-dropdown-btn:hover{background:var(--brand-cyan-soft);color:var(--brand-cyan-dark)}.main-container{width:100%;max-width:1280px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding:20px 0}.illustration-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.illustration-box{width:100%;max-width:520px;margin-bottom:24px;position:relative}.illustration-box svg{width:100%;height:auto;max-width:520px;display:block}.illustration-text h2{font-size:26px;font-weight:800;color:var(--text-dark);margin-bottom:8px;letter-spacing:-.5px}.illustration-text p{font-size:15px;color:var(--text-muted);line-height:1.5}.auth-card-side{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-light);padding:40px;justify-self:end}.auth-title{font-size:22px;font-weight:700;color:var(--text-dark);text-align:center;margin-bottom:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;padding:4px;border-radius:12px;margin-bottom:26px}.tab-btn{background:transparent;border:none;padding:10px;font-size:13.5px;font-weight:600;color:var(--text-muted);border-radius:9px;cursor:pointer;transition:all .2s ease;text-align:center}.tab-btn.active{background:#fff;color:var(--text-dark);box-shadow:0 4px 12px rgba(0,0,0,.05)}.auth-form{gap:18px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{font-size:13px;font-weight:600;color:var(--text-dark)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .input-icon{position:absolute;left:14px;color:#94a3b8;font-size:15px;pointer-events:none}.input-wrap input{width:100%;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);padding:12px 14px 12px 42px;font-size:14.5px;color:var(--text-dark);outline:none;transition:all .2s;background:#fff;font-family:inherit}.input-wrap input:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 4px rgba(41,206,210,.15)}.input-wrap.has-error .input-icon{color:#ef4444}.input-wrap.has-error input{border-color:#f87171;background:#fff8f8}.input-wrap.has-error input:focus{border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.auth-error-banner{display:flex;align-items:flex-start;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;color:#991b1b;margin-top:4px;box-shadow:0 2px 6px rgba(239,68,68,.06);animation:authErrorSlide .25s cubic-bezier(.16,1,.3,1)}.auth-error-banner .auth-error-icon{font-size:17px;color:#ef4444;flex-shrink:0;margin-top:2px}.auth-error-banner .auth-error-text{flex:1;font-weight:500;word-break:break-word}.field-error-msg{display:flex;align-items:center;gap:6px;color:#ef4444;font-size:12px;font-weight:500;margin-top:4px;animation:authErrorSlide .2s cubic-bezier(.16,1,.3,1)}.field-error-msg svg{font-size:13px;flex-shrink:0}@keyframes authErrorSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toggle-pass{position:absolute;right:14px;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;padding:0}.toggle-pass:hover{color:#64748b}.form-meta{display:flex;justify-content:space-between}.form-meta,.remember{align-items:center;font-size:13.5px}.remember{display:inline-flex;gap:9px;color:var(--text-muted);cursor:pointer;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease}.remember:hover{color:var(--text-dark)}.remember:hover .custom-checkbox-box{border-color:var(--brand-cyan);background-color:var(--brand-cyan-soft)}.remember input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.remember input[type=checkbox]:checked+.custom-checkbox-box{background:var(--brand-gradient);border-color:var(--brand-cyan-dark);box-shadow:0 2px 8px rgba(41,206,210,.35)}.remember input[type=checkbox]:checked+.custom-checkbox-box .check-icon{transform:scale(1);opacity:1}.remember input[type=checkbox]:focus-visible+.custom-checkbox-box{box-shadow:0 0 0 3px rgba(41,206,210,.25)}.remember .custom-checkbox-box{width:18px;height:18px;border-radius:5px;border:1.5px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.remember .custom-checkbox-box .check-icon{color:#fff;font-size:11px;stroke-width:3.5;transform:scale(.6);opacity:0;transition:all .15s cubic-bezier(.175,.885,.32,1.275)}.remember .checkbox-label{line-height:1}.forgot{color:var(--brand-cyan-dark);text-decoration:none;font-weight:600;cursor:pointer}.forgot:hover{text-decoration:underline}.btn-submit{background:var(--brand-gradient);color:#fff;border:none;padding:13px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(41,206,210,.35);transition:all .2s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px rgba(41,206,210,.45)}.btn-submit:disabled{opacity:.75;cursor:not-allowed}.mobile-info-text{font-size:13px;color:var(--text-muted);text-align:center;line-height:1.5}.mobile-info-text a{color:var(--brand-cyan-dark);text-decoration:none;font-weight:600}.mobile-info-text a:hover{text-decoration:underline}.qr-container{margin:4px 0}.qr-box,.qr-container{display:flex;justify-content:center}.qr-box{width:110px;height:110px;border:1px solid var(--border-light);border-radius:12px;padding:8px;background:#fff;align-items:center}.divider-or{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:13px;margin:4px 0}.divider-or:after,.divider-or:before{content:"";flex:1;border-bottom:1px solid var(--border-light)}.divider-or:before{margin-right:.75em}.divider-or:after{margin-left:.75em}.btn-oneid{background:#fff;color:#2563eb;border:1.5px solid #bfdbfe;padding:12px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;width:100%}.btn-oneid:hover{background:#eff6ff}.bottom-footer{text-align:center;font-size:12.5px;color:var(--text-muted);width:100%;padding-top:10px}.forgot-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalBackdropFade .2s ease-out}.forgot-modal-card{background:#fff;border-radius:20px;max-width:440px;width:100%;padding:28px;box-shadow:0 25px 50px -12px rgba(15,23,42,.25);border:1px solid #e2e8f0;position:relative;animation:modalCardScale .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:16px}.forgot-modal-close{position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:none;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .15s ease}.forgot-modal-close:hover{background:#e2e8f0;color:#0f172a}.forgot-modal-icon-wrap{width:52px;height:52px;border-radius:16px;background:#e6f9fa;display:flex;align-items:center;justify-content:center;color:#19b6ba;font-size:24px}.forgot-modal-title{font-size:19px;font-weight:700;color:#0f172a;margin-top:4px}.forgot-modal-desc{font-size:14px;color:#475569;line-height:1.6}.forgot-modal-tip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#334155;line-height:1.5}.forgot-modal-tip svg{color:#19b6ba;font-size:17px;flex-shrink:0;margin-top:2px}.forgot-modal-btn{background:var(--brand-gradient);color:#fff;border:none;padding:12px;border-radius:12px;font-size:14.5px;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%;margin-top:4px}.forgot-modal-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(41,206,210,.35)}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}@keyframes modalCardScale{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:960px){.login-page-root{padding:16px}.main-container{grid-template-columns:1fr;gap:30px}.illustration-side{display:none}.auth-card-side{max-width:100%}}