:root{--bg-base:#f5f5f7;--bg-gradient:linear-gradient(180deg,#f5f5f7,#ececee);--card-bg:rgba(255,255,255,0.72);--card-border:rgba(0,0,0,0.06);--card-shadow:0 1px 3px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.02);--card-blur:blur(20px);--border-subtle:rgba(0,0,0,0.06);--border-default:rgba(0,0,0,0.1);--text-primary:#1d1d1f;--text-secondary:#86868b;--text-tertiary:#aeaeb2;--text-muted:#c7c7cc;--hover-bg:rgba(0,0,0,0.03);--active-bg:rgba(0,0,0,0.06);--accent-primary:#007AFF;--accent-primary-dark:#0055D4;--accent-danger:#FF3B30;--accent-success:#34C759;--input-bg:rgba(255,255,255,0.6);--input-blur:blur(8px);--input-border:rgba(0,0,0,0.06);--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",sans-serif}@media (prefers-color-scheme:dark){:root{--bg-base:#000000;--bg-gradient:#000000;--card-bg:rgba(255,255,255,0.06);--card-border:rgba(255,255,255,0.08);--card-shadow:0 1px 3px rgba(0,0,0,0.2),0 4px 12px rgba(0,0,0,0.1);--border-subtle:rgba(255,255,255,0.06);--border-default:rgba(255,255,255,0.1);--text-primary:#f5f5f7;--text-secondary:#86868b;--text-tertiary:rgba(255,255,255,0.4);--text-muted:rgba(255,255,255,0.3);--hover-bg:rgba(255,255,255,0.06);--active-bg:rgba(255,255,255,0.1);--input-bg:rgba(255,255,255,0.04);--input-border:rgba(255,255,255,0.08)}}.auth-container{min-height:100vh;align-items:center;justify-content:center;background:var(--bg-gradient);padding:40px 20px;overflow:hidden}.auth-container,.auth-form{display:flex;flex-direction:column;position:relative}.auth-form{width:100%;max-width:480px;gap:24px;z-index:10;background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--card-border);border-radius:8px;box-shadow:var(--card-shadow);padding:40px 36px;animation:fadeSlideIn .5s ease-out}.auth-background{position:absolute;inset:0;pointer-events:none;overflow:hidden}.auth-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.08;animation:float 20s ease-in-out infinite}.auth-glow-1{width:600px;height:600px;background:radial-gradient(circle,var(--accent-primary) 0,transparent 70%);top:-300px;left:-200px;animation-delay:0s}.auth-glow-2{width:500px;height:500px;background:radial-gradient(circle,var(--accent-success) 0,transparent 70%);bottom:-250px;right:-150px;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.auth-logo{width:64px;height:64px;margin:0 auto 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--text-primary);color:var(--bg-base);box-shadow:0 4px 16px rgba(0,0,0,.1);transition:transform .3s ease}.auth-logo:hover{transform:scale(1.05)}.auth-heading{font-size:32px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2;letter-spacing:-.03em;font-family:var(--font-sans)}.auth-subheading{font-size:15px;color:var(--text-secondary);margin:8px 0 0;line-height:1.5}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:11.5px;font-weight:550;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.input-large{width:100%;background:var(--input-bg);backdrop-filter:var(--input-blur);-webkit-backdrop-filter:var(--input-blur);border:1px solid var(--input-border);border-radius:6px;padding:10px 14px;font-size:14px;color:var(--text-primary);transition:all .2s ease;font-family:var(--font-sans);box-sizing:border-box}.input-large::placeholder{color:var(--text-tertiary)}.input-large:hover:not(:disabled){border-color:rgba(0,0,0,.12)}@media (prefers-color-scheme:dark){.input-large:hover:not(:disabled){border-color:rgba(255,255,255,.14)}}.input-large:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(0,122,255,.1)}.input-large:disabled{opacity:.5;cursor:not-allowed}.input-large.error{border-color:var(--accent-danger);box-shadow:0 0 0 3px rgba(255,59,48,.08)}.input-error{margin-top:4px}.error-banner,.input-error{font-size:13px;color:var(--accent-danger)}.error-banner{background:rgba(255,59,48,.06);border:1px solid rgba(255,59,48,.15);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:8px}.error-banner:before{content:"\26A0";font-size:14px}.password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:4px;transition:color .15s ease;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-primary)}.btn-large-primary{width:100%;height:44px;padding:0 24px;background:linear-gradient(135deg,#007AFF,#0055D4);border:none;color:white;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans);position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,122,255,.25)}.btn-large-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,122,255,.3)}.btn-large-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(0,122,255,.2)}.btn-large-primary:disabled{opacity:.5;cursor:not-allowed}.btn-large-primary.loading{color:transparent;pointer-events:none}.btn-large-primary.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spinner .6s linear infinite}@keyframes spinner{to{transform:rotate(1turn)}}.btn-ghost{width:100%;height:44px;padding:0 24px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans)}.btn-ghost:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-default)}.btn-ghost:active:not(:disabled){background:var(--active-bg)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-link-text{background:transparent;border:none;color:var(--accent-primary);font-size:14px;font-weight:500;cursor:pointer;padding:12px;transition:all .15s ease;text-align:center;font-family:var(--font-sans);text-decoration:none;display:block}.btn-link-text:hover{text-decoration:underline}.text-link{color:var(--accent-primary);text-decoration:none;transition:all .15s ease}.text-link:hover{text-decoration:underline}.divider{display:flex;align-items:center;gap:16px;margin:24px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border-subtle)}.divider-text{font-size:11.5px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:550;white-space:nowrap}@media (max-width:640px){.auth-container{padding:20px 16px}.auth-form{max-width:100%;padding:28px 20px;border-radius:8px}.auth-heading{font-size:26px}.auth-subheading{font-size:14px}.auth-logo{width:56px;height:56px;margin-bottom:24px}.input-large{padding:10px 14px;font-size:14px}.btn-large-primary{height:44px;font-size:14px}.auth-glow-1,.auth-glow-2{opacity:.04}}.btn-ghost:focus-visible,.btn-large-primary:focus-visible,.btn-link-text:focus-visible,.input-large:focus-visible,.password-toggle:focus-visible,.text-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-logo{animation:fadeSlideIn .4s ease-out}