.auth-root{background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--wd-border) 60%, transparent) 1px, transparent 1px) 0 0 / 22px 22px, var(--background);justify-content:center;align-items:stretch;min-height:100vh;display:flex}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-h1{letter-spacing:-.012em;margin:0;font-size:22px;font-weight:600}.auth-sub{color:var(--wd-muted);margin-top:4px;font-size:13px;line-height:1.5}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--wd-muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.auth-field label a,.auth-field label button{color:var(--wd-primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:500;text-decoration:none}.auth-field label a:hover,.auth-field label button:hover{text-decoration:underline}.auth-input-wrap{border:1px solid var(--wd-border);border-radius:var(--radius-md);background:var(--surface);height:38px;transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);align-items:center;gap:8px;padding:0 12px;display:flex}.auth-input-wrap:hover{border-color:var(--wd-border-strong)}.auth-input-wrap:focus-within{border-color:var(--wd-primary);box-shadow:0 0 0 3px var(--wd-focus-ring)}.auth-input-wrap.is-error{border-color:var(--wd-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--wd-danger) 22%, transparent)}.auth-input-wrap>.auth-icon{color:var(--wd-muted-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.auth-input-wrap input{min-width:0;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:13px}.auth-input-wrap input::placeholder{color:var(--wd-muted-soft)}.auth-input-wrap .reveal{color:var(--wd-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.auth-input-wrap .reveal:hover{background:var(--wd-surface-hover);color:var(--foreground)}.auth-error-text{color:var(--wd-danger);align-items:flex-start;gap:6px;margin-top:2px;font-size:11.5px;display:flex}.auth-strength{gap:3px;margin-top:6px;display:flex}.auth-strength .seg{background:var(--wd-border);height:3px;transition:background var(--dur-base) var(--ease-standard);border-radius:9999px;flex:1}.auth-strength.s1 .seg:nth-child(-n+1){background:var(--wd-danger)}.auth-strength.s2 .seg:nth-child(-n+2),.auth-strength.s3 .seg:nth-child(-n+3){background:var(--wd-warning)}.auth-strength.s4 .seg:nth-child(-n+4){background:var(--wd-success)}.auth-strength-label{color:var(--wd-muted-soft);font-size:10.5px;font-family:var(--font-mono);justify-content:space-between;margin-top:4px;display:flex}.auth-strength-label .lvl{font-weight:500}.auth-strength.s1+.auth-strength-label .lvl{color:var(--wd-danger)}.auth-strength.s2+.auth-strength-label .lvl,.auth-strength.s3+.auth-strength-label .lvl{color:var(--wd-warning)}.auth-strength.s4+.auth-strength-label .lvl{color:var(--wd-success)}.auth-check{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--wd-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.auth-check .box{border:1px solid var(--wd-border-strong);background:var(--surface);width:16px;height:16px;transition:all var(--dur-fast) var(--ease-standard);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.auth-check.checked .box{background:var(--wd-primary);border-color:var(--wd-primary);color:var(--wd-primary-foreground)}.auth-check:hover .box{border-color:var(--wd-primary)}.auth-check .box svg{display:block}.auth-check a{color:var(--wd-primary);text-decoration:none}.auth-check a:hover{text-decoration:underline}.auth-btn-primary{border-radius:var(--radius-md);background:var(--wd-primary);height:40px;color:var(--wd-primary-foreground);transition:background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.auth-btn-primary:hover:not(:disabled){background:var(--wd-primary-hover)}.auth-btn-primary:active:not(:disabled){transform:scale(.985)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary .spinner{border:2px solid color-mix(in srgb, var(--wd-primary-foreground) 35%, transparent);border-top-color:var(--wd-primary-foreground);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-divider{color:var(--wd-muted-soft);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;margin:4px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--wd-border);flex:1;height:1px}.auth-sso-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-sso-btn{border:1px solid var(--wd-border);border-radius:var(--radius-md);background:var(--surface);height:38px;color:var(--foreground);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.auth-sso-btn:hover:not(:disabled){background:var(--wd-surface-hover);border-color:var(--wd-border-strong)}.auth-sso-btn:active:not(:disabled){transform:scale(.98)}.auth-sso-btn:disabled{opacity:.6;cursor:not-allowed}.auth-msg{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;display:flex}.auth-msg.error{background:var(--wd-danger-soft);color:var(--wd-danger);border-color:color-mix(in srgb, var(--wd-danger) 25%, transparent)}.auth-msg.info{background:var(--wd-info-soft);color:var(--wd-info);border-color:color-mix(in srgb, var(--wd-info) 25%, transparent)}.auth-msg .auth-icon{flex:none;margin-top:1px}.auth-msg strong{font-weight:600}.auth-logo{letter-spacing:-.01em;color:var(--foreground);align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.auth-logo .mark{background:var(--wd-primary);width:30px;height:30px;color:var(--wd-primary-foreground);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.layout-centered{justify-content:center;align-items:center;width:100%;padding:32px 24px;display:flex}.layout-centered .auth-card-shell{flex-direction:column;gap:20px;width:100%;max-width:420px;display:flex}.layout-centered .auth-card{background:var(--surface);border:1px solid var(--wd-border);border-radius:var(--radius-xl);box-shadow:var(--wd-shadow-md);flex-direction:column;gap:18px;padding:28px 28px 24px;display:flex}.layout-centered .auth-card-head{flex-direction:column;gap:4px;display:flex}.layout-centered .auth-foot-page{color:var(--wd-muted-soft);justify-content:space-between;align-items:center;padding:0 4px;font-size:11px;display:flex}.layout-centered .auth-foot-page .links{gap:14px;display:flex}.layout-centered .auth-foot-page .links a{color:var(--wd-muted);text-decoration:none}.layout-centered .auth-foot-page .links a:hover{color:var(--foreground);text-decoration:underline}.layout-centered .auth-uptime-line{font-family:var(--font-mono);align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.layout-centered .auth-uptime-line .pulse{background:var(--wd-success);border-radius:9999px;width:6px;height:6px;animation:1.8s ease-in-out infinite wd-auth-pulse}@keyframes wd-auth-pulse{0%,to{opacity:1}50%{opacity:.4}}.auth-mode-switch{text-align:center;color:var(--wd-muted);padding-top:4px;font-size:12px}.auth-mode-switch a{color:var(--wd-primary);font-weight:500;text-decoration:none}.auth-mode-switch a:hover{text-decoration:underline}
