.auth-shell{--bg:#000;--surface:#0c0c0c;--surface-2:#ffffff08;--surface-3:#ffffff0d;--primary:#dc2626;--primary-2:#ff453a;--accent:#34d399;--text:#f5f5f7;--text-dim:#a1a1a6;--text-muted:#6e6e73;--border:#ffffff1a;--border-hover:#ffffff29;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--radius:20px;--ease:cubic-bezier(.16, 1, .3, 1)}.auth-shell,.auth-shell *,.auth-shell :before,.auth-shell :after{box-sizing:border-box}.auth-shell *,.auth-shell :before,.auth-shell :after{margin:0;padding:0}.auth-shell{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100svh;position:relative;overflow-x:hidden}.auth-shell #bg-layer{z-index:0;pointer-events:none;background:#000;position:fixed;inset:0;overflow:hidden}.auth-shell .nebula{filter:blur(100px);border-radius:50%;position:absolute}.auth-shell .nebula--1{background:radial-gradient(circle,#dc262638,#0000 68%);width:min(640px,90vw);height:min(640px,90vw);animation:10s ease-in-out infinite alternate authGlow;top:-12%;left:50%;transform:translate(-50%)}.auth-shell .nebula--2{display:none}.auth-shell .bg-noise{opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes authGlow{0%{opacity:.7;transform:translate(-50%)scale(1)}to{opacity:1;transform:translate(-50%)scale(1.06)}}.auth-shell .auth-success-flash{display:none}.auth-shell .auth-page-wrapper{z-index:10;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:28px 16px 40px;display:flex;position:relative}.auth-shell .auth-form-side{flex:none;justify-content:center;align-items:center;width:100%;max-width:460px;padding:0;display:flex}.auth-shell .auth-visual-side{display:none!important}.auth-shell .auth-container{z-index:10;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);text-align:center;width:100%;animation:authCardIn .65s var(--ease) both;background:linear-gradient(#ffffff0b,#ffffff05);border-radius:24px;margin:0;padding:36px 32px 28px;position:relative;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0f}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.auth-shell .auth-logo{color:var(--text);letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:28px;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.auth-shell .auth-logo:hover{opacity:.85}.auth-shell .auth-logo-svg{border-radius:9px;width:32px;height:32px;box-shadow:0 8px 24px #dc262659}.auth-shell .auth-logo-dot{color:var(--primary-2)}.auth-shell .auth-title{color:var(--text);letter-spacing:-.035em;margin-bottom:8px;font-size:1.75rem;font-weight:700;line-height:1.15}.auth-shell .auth-subtitle{color:var(--text-dim);margin-bottom:28px;font-size:.95rem;line-height:1.5}.auth-shell .form-group{text-align:left;margin-bottom:14px}.auth-shell .form-label{color:var(--text-dim);letter-spacing:-.01em;text-transform:none;font-size:.8rem;font-weight:500;font-family:var(--font-sans);margin-bottom:6px;display:block}.auth-shell .form-label .label-hint{color:var(--text-muted);font-size:.7rem;font-weight:400}.auth-shell .input-wrapper{align-items:center;display:flex;position:relative}.auth-shell .form-input{background:var(--surface-2);border:1px solid var(--border);width:100%;height:48px;font-family:var(--font-sans);color:var(--text);border-radius:12px;padding:0 44px 0 14px;font-size:.95rem;transition:border-color .2s,background .2s,box-shadow .2s}.auth-shell .form-input:focus{background:var(--surface-3);border-color:#dc26268c;outline:none;box-shadow:0 0 0 3px #dc26261f}.auth-shell .form-input:focus-visible{border-color:#dc26268c;outline:none;box-shadow:0 0 0 3px #dc26261f}.auth-shell .form-input::placeholder{color:var(--text-muted)}.auth-shell .input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:auto;right:14px}.auth-shell .form-input:focus+.input-icon{color:var(--text-dim)}.auth-shell .password-toggle-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex;position:absolute;right:8px}.auth-shell .password-toggle-btn:hover{color:var(--text);background:#ffffff0d}.auth-shell .btn{letter-spacing:-.01em;cursor:pointer;width:100%;height:50px;transition:transform .25s var(--ease), background .2s, box-shadow .25s, border-color .2s;border:0;border-radius:980px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.auth-shell .btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 30px #dc26264d}.auth-shell .btn-primary:hover:not(:disabled){background:#ef4444;transform:scale(1.02);box-shadow:0 14px 36px #dc262666}.auth-shell .btn-primary:active{transform:scale(.98)}.auth-shell .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-shell .btn-loading{pointer-events:none;color:#0000!important}.auth-shell .btn-loading:after{content:"";border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spinner;position:absolute}@keyframes spinner{to{transform:rotate(360deg)}}.auth-shell .btn-oauth{border:1px solid var(--border-hover);color:var(--text);background:0 0;border-radius:980px;height:48px;font-weight:500}.auth-shell .btn-oauth:hover{background:#ffffff0a;border-color:#ffffff47}.auth-shell .alert{color:#ff8a80;text-align:left;background:#dc26261a;border:1px solid #dc262647;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:.88rem;line-height:1.4;display:none}.auth-shell .gsi-hidden-host{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell .google-signin-custom{width:100%}.auth-shell .google-signin-custom svg{flex-shrink:0;width:18px;height:18px}.auth-shell .auth-footer{color:var(--text-dim);margin-top:22px;font-size:.9rem}.auth-shell .auth-footer-link{color:var(--primary-2);font-weight:600;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:opacity .2s}.auth-shell .auth-footer-link:hover{opacity:.85;text-decoration:underline}.auth-shell.auth-shell--compact .auth-container{border-radius:20px;max-width:460px;padding:24px 24px 18px}.auth-shell.auth-shell--compact .auth-logo{margin-bottom:16px}.auth-shell.auth-shell--compact .auth-title{margin-bottom:4px;font-size:1.4rem}.auth-shell.auth-shell--compact .auth-subtitle{margin-bottom:16px;font-size:.88rem}.auth-shell.auth-shell--compact .form-group{margin-bottom:10px}.auth-shell.auth-shell--compact .form-label{margin-bottom:4px;font-size:.75rem}.auth-shell.auth-shell--compact .form-input{border-radius:10px;height:42px;font-size:.9rem}.auth-shell.auth-shell--compact .btn-primary{height:44px;font-size:.9rem}.auth-shell .form-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-shell .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.auth-shell *,.auth-shell :before,.auth-shell :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.auth-shell .auth-container{animation:none}.auth-shell .btn-primary:hover:not(:disabled){transform:none}}@media (max-width:480px){.auth-shell .auth-page-wrapper{padding:20px 12px 28px}.auth-shell .auth-container{border-radius:20px;padding:28px 20px 22px}.auth-shell.auth-shell--compact .auth-container{padding:20px 16px 16px}.auth-shell .auth-title{font-size:1.5rem}.auth-shell .form-grid-2{grid-template-columns:1fr;gap:0}.auth-shell .nebula--1{filter:blur(80px);animation:none}}
