.login-fullpage{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-bg{z-index:0;background-image:url(/ds-bg.png);background-position:50%;background-size:cover;position:fixed;inset:0}.login-bg-scrim{background:linear-gradient(135deg,#0d1b2ac7 0%,#0064a073 45%,#00afef4d 70%,#0d1b2ab8 100%);position:absolute;inset:0}.login-watermark{color:#ffffff59;letter-spacing:.04em;z-index:10;white-space:nowrap;font-size:11px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.login-card{z-index:10;-webkit-backdrop-filter:blur(24px)saturate(1.8);background:#ffffffb8;border:1px solid #ffffff8c;border-radius:24px;width:100%;max-width:520px;padding:44px 44px 36px;animation:.5s cubic-bezier(.16,1,.3,1) both cardIn;position:relative;box-shadow:0 40px 100px #0d1b2a61,0 8px 32px #00afef1a,inset 0 1px #ffffffe6,inset 0 -1px #ffffff26}@keyframes cardIn{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card-header{flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-logo{object-fit:contain;width:auto;height:56px;display:block}.login-platform-tag{letter-spacing:-.3px;color:var(--ink);font-size:17px;font-weight:800}.login-title{color:var(--ink);letter-spacing:-.6px;text-align:center;margin-bottom:6px;font-size:28px;font-weight:700}.login-subtitle{color:var(--ink-mid);text-align:center;margin-bottom:24px;font-size:13.5px;line-height:1.55}.login-error{background:var(--red-lt);color:var(--red);border:1px solid #991b1b26;border-radius:10px;align-items:center;gap:9px;margin-bottom:18px;padding:11px 14px;font-size:13px;line-height:1.4;display:flex}.login-form{flex-direction:column;gap:0;display:flex}.lf-field{margin-bottom:16px}.lf-label{color:var(--ink-mid);letter-spacing:.01em;margin-bottom:7px;font-size:12.5px;font-weight:600;display:block}.lf-label-row{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.lf-forgot{color:var(--color-primary);font-size:12px;font-weight:500;text-decoration:none}.lf-forgot:hover{text-decoration:underline}.lf-input-wrap{position:relative}.lf-icon{color:var(--ink-faint,#9aa7b4);pointer-events:none;z-index:1;flex-shrink:0;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.lf-input{width:100%;color:var(--ink);font-size:14px;font-family:var(--font-sans);-webkit-backdrop-filter:blur(8px);background:#ffffff8c;border:1.5px solid #ffffff80;border-radius:10px;outline:none;padding:11px 12px 11px 40px;transition:border-color .18s,box-shadow .18s,background .18s}.lf-input::placeholder{color:var(--ink-faint)}.lf-input:focus{border-color:var(--color-primary);background:#fffc;box-shadow:0 0 0 3px #00afef26}.lf-toggle{width:36px;height:36px;color:var(--ink-faint);cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.lf-toggle:hover{color:var(--ink);background:#0d1b2a0d}.lf-toggle:active{background:#0d1b2a17}.lf-remember{margin-top:4px;margin-bottom:22px}.lf-checkbox-label{cursor:pointer;color:var(--ink-mid);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.lf-checkbox-label input[type=checkbox]{appearance:none;cursor:pointer;background:#fff9;border:1.5px solid #0d1b2a2e;border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:border-color .15s,background .15s;position:relative}.lf-checkbox-label input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.lf-checkbox-label input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:11px;font-weight:700;position:absolute;top:-1px;left:2px}.lf-submit{background:var(--color-primary);color:#fff;cursor:pointer;width:100%;font-size:15px;font-weight:600;font-family:var(--font-sans);letter-spacing:.01em;border:none;border-radius:11px;justify-content:center;align-items:center;gap:10px;margin-bottom:20px;padding:13px;transition:background .15s,transform .12s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.lf-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 8px 28px #00afef47}.lf-submit:active:not(:disabled){transform:translateY(0)}.lf-submit:disabled{opacity:.65;cursor:not-allowed}.lf-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lf-divider{color:var(--ink-faint);align-items:center;gap:12px;margin-bottom:16px;font-size:12px;display:flex}.lf-divider span:first-child,.lf-divider span:last-child{background:var(--rule);flex:1;height:1px;display:block}.lf-sso{border:1.5px solid var(--rule);width:100%;color:var(--ink-mid);cursor:pointer;font-size:13.5px;font-weight:500;font-family:var(--font-sans);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:9px;margin-bottom:22px;padding:11px;transition:border-color .15s,color .15s,background .15s;display:flex}.lf-sso:hover{color:var(--ink);background:var(--paper);border-color:#0d1b2a2e}.lf-help{text-align:center;color:var(--ink-faint);margin-bottom:16px;font-size:12.5px;line-height:1.6}.lf-help a{color:var(--color-primary);text-decoration:none}.lf-help a:hover{text-decoration:underline}.lf-security{background:var(--green-lt);color:var(--green);border:1px solid #1b6b451f;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:11.5px;font-weight:500;display:flex}@media (max-width:768px){.login-fullpage{padding:16px}.login-card{max-width:480px;padding:36px 32px 28px}.login-logo{height:48px}}@media (max-width:480px){.login-fullpage{padding:12px}.login-card{border-radius:18px;max-width:100%;padding:28px 22px 22px}.login-logo{height:42px}.login-title{font-size:22px}.login-subtitle{margin-bottom:18px;font-size:13px}.lf-submit{padding:12px;font-size:14px}.lf-input{font-size:13.5px}}@media (max-width:360px){.login-card{border-radius:12px;padding:20px 16px 18px}.login-title{font-size:20px}.lf-field{margin-bottom:12px}}
