.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}.auth-page::before{content:"";position:fixed;inset:0;background:radial-gradient( ellipse 70% 55% at 50% 40%,var(--primary-muted) 0%,transparent 60% ),var(--gradient-hero-dark);z-index:var(--z-below);pointer-events:none}.auth-page::after{content:"";position:fixed;inset:0;background:radial-gradient( ellipse 120% 100% at 50% 100%,var(--overlay-heavy) 0%,transparent 70% );z-index:var(--z-below);pointer-events:none}.auth-container{position:relative;z-index:var(--z-base);width:100%;max-width:420px;margin:0 auto;padding:var(--sp-6) var(--sp-4);display:flex;flex-direction:column;align-items:center}.auth-header{text-align:center;margin-bottom:var(--sp-10);width:100%}.auth-header .auth-logo{display:inline-block;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-black);color:var(--text);text-decoration:none;letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:var(--sp-4);transition:color var(--ease-fast)}.auth-header .auth-logo span{color:var(--primary)}.auth-header .auth-logo:hover{color:var(--primary)}.auth-header .auth-logo::after{content:"";display:block;width:2rem;height:2px;background:var(--gradient-primary);margin:var(--sp-3) auto 0;border-radius:var(--radius-full)}.auth-header h1,.auth-header .auth-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text);letter-spacing:var(--tracking-wide);margin:0 0 var(--sp-2);line-height:var(--leading-tight)}.auth-header .auth-tagline{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-relaxed);margin:0}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--sp-5)}.auth-field{display:flex;flex-direction:column;gap:var(--sp-2)}.auth-field label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text);letter-spacing:var(--tracking-wide)}.auth-field .auth-input-wrap{position:relative}.auth-field input[type="email"],.auth-field input[type="password"],.auth-field input[type="text"]{width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-body);background:transparent;color:var(--text);transition:border-color var(--ease-base),box-shadow var(--ease-base),background var(--ease-base);box-sizing:border-box;-webkit-appearance:none;appearance:none}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-muted);background:var(--overlay-light)}.auth-field.has-icon .auth-input-wrap input{padding-left:var(--sp-10)}.auth-field.has-icon .auth-input-wrap .auth-icon{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--text-base);pointer-events:none;transition:color var(--ease-fast)}.auth-field.has-icon .auth-input-wrap:focus-within .auth-icon{color:var(--primary)}.auth-field .auth-toggle-pw{position:absolute;right:var(--sp-3);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--sp-1);font-size:var(--text-sm);transition:color var(--ease-fast)}.auth-field .auth-toggle-pw:hover{color:var(--primary)}.auth-extras{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.auth-remember{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer}.auth-remember input[type="checkbox"]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.auth-remember span{font-size:var(--text-sm);color:var(--text-secondary);user-select:none}.auth-forgot{font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;transition:color var(--ease-fast)}.auth-forgot:hover{color:var(--primary)}.auth-submit{width:100%;padding:var(--sp-4) var(--sp-6);background:var(--gradient-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);transition:opacity var(--ease-base),box-shadow var(--ease-base),transform var(--ease-spring);box-shadow:var(--shadow-glow-sm);margin-top:var(--sp-2)}.auth-submit:hover{opacity:0.88;box-shadow:var(--shadow-glow);transform:translateY(-1px)}.auth-submit:active{transform:translateY(0);opacity:1}.auth-submit:disabled{opacity:0.45;cursor:not-allowed;transform:none;box-shadow:none}.auth-divider{display:flex;align-items:center;gap:var(--sp-3);width:100%;margin:var(--sp-2) 0}.auth-divider span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);white-space:nowrap}.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border-light)}.auth-message{width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.auth-message[hidden]{display:none}.auth-message i{font-size:var(--text-base);flex-shrink:0;margin-top:2px}.auth-message p{margin:0;color:inherit}.auth-message.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.auth-message.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.auth-message.info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--primary)}.auth-links{margin-top:var(--sp-8);text-align:center;width:100%;display:flex;flex-direction:column;gap:var(--sp-3)}.auth-links p{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:var(--leading-relaxed)}.auth-links a{color:var(--primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--ease-fast)}.auth-links a:hover{color:var(--primary-hover);text-decoration:underline}.auth-back{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;transition:color var(--ease-fast);margin-top:var(--sp-2)}.auth-back:hover{color:var(--text-secondary)}.auth-footer{margin-top:var(--sp-10);text-align:center;width:100%}.auth-footer p{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:var(--leading-relaxed)}.auth-footer a{color:var(--text-muted);text-decoration:underline;transition:color var(--ease-fast)}.auth-footer a:hover{color:var(--text-secondary)}@keyframes authFadeIn{from{opacity:0;transform:translateY(var(--sp-6))}to{opacity:1;transform:translateY(0)}}.auth-container{animation:authFadeIn var(--ease-slow) both}@media (prefers-reduced-motion: reduce){.auth-container{animation:none}}@media (min-width: 640px){.auth-container{max-width:440px;padding:var(--sp-8) var(--sp-6)}.auth-header{margin-bottom:var(--sp-12)}.auth-header h1,.auth-header .auth-title{font-size:var(--text-2xl)}}@media (min-width: 1024px){.auth-container{max-width:460px;padding:var(--sp-8) var(--sp-8)}.auth-field input[type="email"],.auth-field input[type="password"],.auth-field input[type="text"]{padding:var(--sp-4) var(--sp-5);font-size:var(--text-base)}.auth-submit{padding:var(--sp-4) var(--sp-8)}}