.auth-page{background:var(--color-bg-body,#0c0825);min-height:100vh;font-family:var(--font-primary,"Inter", -apple-system, BlinkMacSystemFont, sans-serif);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(#6f59a633 0%,#0000 70%);width:700px;height:400px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.auth-page:after{content:"";pointer-events:none;background:radial-gradient(circle at 60% 60%,#fcb53f0f 0%,#6f59a61a 40%,#0000 70%);border-radius:55% 45% 60% 40%/50% 60% 40% 50%;width:500px;height:500px;animation:10s ease-in-out infinite auth-blob;position:absolute;bottom:-10%;right:-5%}@keyframes auth-blob{0%,to{opacity:.6;transform:scale(1)rotate(0)}50%{opacity:.9;transform:scale(1.15)rotate(-3deg)}}.auth-card{background:var(--color-bg-card,#1a1445);border:1px solid var(--color-border,#6f59a633);border-radius:var(--radius-xl,16px);z-index:1;width:100%;max-width:420px;padding:40px 36px;position:relative}.auth-logo{text-align:center;margin-bottom:12px}.auth-logo a{text-decoration:none;display:inline-block}.auth-logo-img{width:auto;height:28px}.auth-title{text-align:center;color:var(--color-text-primary,#fff);letter-spacing:-.02em;margin:0 0 6px;font-size:1.35rem;font-weight:600}.auth-desc{text-align:center;color:var(--color-text-tertiary,#fff6);margin:0 0 28px;font-size:.78rem;line-height:1.5}.auth-oauth{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.auth-oauth-btn{border:1px solid var(--color-border,#6f59a633);border-radius:var(--radius-md,8px);width:100%;color:var(--color-text-secondary,#fff9);cursor:pointer;transition:var(--transition,.2s ease);background:0 0;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-family:inherit;font-size:.8rem;font-weight:500;display:flex}.auth-oauth-btn:hover{background:var(--color-bg-card-hover,#231b52);border-color:var(--color-border-strong,#6f59a659);color:var(--color-text-primary,#fff)}.auth-oauth-btn:active{transform:scale(.99)}.auth-oauth-btn svg{flex-shrink:0}.auth-divider{align-items:center;gap:14px;margin-bottom:24px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border,#6f59a633);flex:1;height:1px}.auth-divider span{color:var(--color-text-tertiary,#fff6);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-size:.68rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--color-text-secondary,#fff9);letter-spacing:.02em;font-size:.72rem;font-weight:500}.auth-input{border:1px solid var(--color-border,#6f59a633);border-radius:var(--radius-md,8px);width:100%;color:var(--color-text-primary,#fff);box-sizing:border-box;background:#0c082580;outline:none;padding:11px 14px;font-family:inherit;font-size:.82rem;transition:border-color .2s,box-shadow .2s}.auth-input::placeholder{color:var(--color-text-tertiary,#fff6)}.auth-input:focus{border-color:var(--color-light-purple,#6f59a6);box-shadow:0 0 0 3px #6f59a626}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:42px}.auth-password-toggle{color:var(--color-text-tertiary,#fff6);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--color-text-secondary,#fff9)}.auth-forgot{text-align:right;margin-top:-8px}.auth-forgot a{color:var(--color-text-tertiary,#fff6);font-size:.7rem;text-decoration:none;transition:color .2s}.auth-forgot a:hover{color:var(--color-deep-gold,#fcb53f)}.auth-submit{border:1px solid var(--color-light-gold-bg,#fff6df);border-radius:var(--radius-md,8px);background:var(--color-deep-gold,#fcb53f);width:100%;color:var(--color-deep-purple,#120d31);cursor:pointer;transition:var(--transition,.2s ease);margin-top:4px;padding:12px 16px;font-family:inherit;font-size:.82rem;font-weight:600}.auth-submit:hover:not(:disabled){background:#e5a235}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-error{border-radius:var(--radius-md,8px);color:#f87171;background:#ef444414;border:1px solid #ef444433;padding:10px 14px;font-size:.74rem;line-height:1.5}.auth-success{border-radius:var(--radius-md,8px);color:var(--color-deep-gold,#fcb53f);text-align:center;background:#fcb53f14;border:1px solid #fcb53f33;padding:14px;font-size:.76rem;line-height:1.5}.auth-footer{text-align:center;color:var(--color-text-tertiary,#fff6);margin-top:24px;font-size:.74rem}.auth-footer a{color:var(--color-deep-gold,#fcb53f);font-weight:500;text-decoration:none;transition:color .2s}.auth-footer a:hover{color:#e5a235}.auth-back{text-align:center;margin-top:16px}.auth-back a{color:var(--color-text-tertiary,#fff6);font-size:.7rem;text-decoration:none;transition:color .2s}.auth-back a:hover{color:var(--color-text-secondary,#fff9)}.auth-spinner{border:2px solid #120d314d;border-top-color:var(--color-deep-purple,#120d31);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.6s linear infinite auth-spin;display:inline-block}.auth-oauth-btn .auth-spinner{border-color:#fff3;border-top-color:var(--color-deep-gold,#fcb53f)}@keyframes auth-spin{to{transform:rotate(360deg)}}
