body,html{margin:0;padding:0;font-family:var(--font-sans);color:#fff;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}*,:after,:before{box-sizing:inherit}.container{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:auto;padding:0;background-color:var(--background)}.login-page.container{background-color:#000}.login-page .login-stage{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:100%;max-width:none;height:100%;min-height:0;padding:clamp(1rem,3vh,2.5rem) clamp(1.5rem,5vw,4.5rem);box-sizing:border-box}.login-page .login-stage .auth-wrapper{position:relative;z-index:1;flex:0 0 auto;display:flex;justify-content:center;align-items:center;width:min(400px,100%);max-width:min(400px,calc(100vw - 2rem));min-width:0;height:auto;max-height:min(100%,100svh);padding:0;overflow-y:auto}@media (min-width:1600px){.login-page .login-stage{padding-inline:clamp(2.5rem,6vw,6rem)}}.login-page{--overlay-2:rgba(255,255,255,0.04);--overlay-3:rgba(255,255,255,0.06);--overlay-4:rgba(255,255,255,0.08);--glass-border:rgba(255,255,255,0.1);--input-bg:rgba(14,18,26,0.88);--input-bg-focus:rgba(18,24,34,0.94);--text-primary:#ededed;--text-secondary:rgba(255,255,255,0.72);--text-muted:rgba(255,255,255,0.5);--text-faint:rgba(255,255,255,0.35);--login-motion-duration:220ms;--login-motion-ease:cubic-bezier(0.22,1,0.36,1);color:var(--text-primary)}.login-page .auth-form{position:relative;z-index:10;width:100%;max-width:none;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none}.login-page .logo-container{display:flex;justify-content:center;margin-bottom:var(--space-5)}.login-page .logo{width:120px;max-height:52px;height:auto;object-fit:contain}.login-page h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:var(--text-2xl-lh);letter-spacing:var(--text-display-tracking);text-align:center;margin:0 0 var(--space-5);color:var(--text-primary)}.login-page .label{display:block;font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--text-secondary)}.login-page .input-group{margin-bottom:var(--space-4)}.login-page input{width:100%;min-height:44px;padding:.75rem .875rem;background-color:var(--input-bg);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);box-sizing:border-box;transition:border-color var(--login-motion-duration) var(--login-motion-ease),box-shadow var(--login-motion-duration) var(--login-motion-ease),background-color var(--login-motion-duration) var(--login-motion-ease)}.login-page input:focus{outline:none;border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2);background-color:var(--input-bg-focus)}.login-page input::placeholder{color:var(--text-faint)}.login-page .password-input-wrapper{position:relative;display:flex;align-items:center}.login-page .password-input-wrapper input{padding-right:2.75rem}.login-page .password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .18s ease;z-index:5}.login-page .password-toggle:hover{color:var(--accent)}.login-page .password-toggle:focus{outline:none}.login-page .password-toggle:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:2px;border-radius:var(--radius-sm)}.login-page .password-toggle svg{width:1.125rem;height:1.125rem}.login-page .password-info{font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-2)}.login-page .password-requirements{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:var(--space-3);padding:0;background:none;border:none;border-radius:0;overflow:hidden}.login-page .requirement{display:inline-flex;align-items:center;margin:0;padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--overlay-2);color:var(--text-muted);font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.02em;line-height:1.3;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.login-page .requirement.met{color:rgba(var(--accent-rgb),.95);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.1)}.login-page .password-symbols-hint{flex-basis:100%;width:100%;margin:var(--space-2) 0 0;line-height:1.45;word-break:break-word}.login-page .divider,.login-page .password-symbols-hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted)}.login-page .divider{display:flex;align-items:center;text-align:center;margin:var(--space-5) 0;letter-spacing:.06em}.login-page .divider:after,.login-page .divider:before{content:"";flex:1 1;border-bottom:1px solid var(--glass-border)}.login-page .divider span{padding:0 var(--space-3)}.login-page .google-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:44px;padding:.7rem 1.5rem;margin-bottom:var(--space-3);background-color:#fff;color:#1a1a1a;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;cursor:pointer;box-shadow:none;filter:none;transform:none;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1)}.login-page .google-button:hover:not(:disabled){background-color:#f0f0f0;border-color:rgba(255,255,255,.2);box-shadow:none;filter:none;transform:none}.login-page .google-button:active:not(:disabled){background-color:#e4e4e4;box-shadow:none;filter:none;transform:none}.login-page .google-button:disabled{opacity:.55;cursor:not-allowed}.login-page .google-button svg{width:1.125rem;height:1.125rem;flex-shrink:0}.login-page .primary-button{width:100%;min-height:44px;padding:.7rem 1.5rem;margin-top:var(--space-3);margin-bottom:var(--space-3);background-color:var(--accent);color:var(--accent-foreground);border:1px solid color-mix(in srgb,var(--accent) 72%,#000);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;cursor:pointer;box-shadow:none;filter:none;transform:none;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1)}.login-page .primary-button:hover:not(:disabled){background-color:var(--accent-hover);color:var(--accent-foreground);border-color:color-mix(in srgb,var(--accent-hover) 68%,#000);box-shadow:none;filter:none;transform:none}.login-page .primary-button:active:not(:disabled){background-color:color-mix(in srgb,var(--accent-hover) 82%,#000);border-color:color-mix(in srgb,var(--accent-hover) 58%,#000);box-shadow:none;filter:none;transform:none}.login-page .primary-button:disabled{opacity:.5;cursor:not-allowed}.login-page .google-button:focus-visible,.login-page .primary-button:focus-visible{outline:2px solid rgba(var(--accent-rgb),.5);outline-offset:3px}.login-page .text-center{display:flex;justify-content:center;align-items:center;margin-top:var(--space-2);width:100%}.login-page .secondary-button{display:inline-block;padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);text-align:center;cursor:pointer;transition:color var(--login-motion-duration) var(--login-motion-ease)}.login-page .secondary-button:hover{color:var(--accent);background-color:transparent}.login-page .login-page__message-slot{min-height:0}.login-page .forgot-password{text-align:center;margin-bottom:var(--space-3)}.login-page .text-link{background:transparent;border:none;color:rgba(var(--accent-rgb),.85);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2);text-decoration:none;transition:color var(--login-motion-duration) var(--login-motion-ease)}.login-page .text-link:hover{color:var(--accent);text-decoration:underline}.login-page .legal-links{text-align:center;margin:var(--space-3) 0 var(--space-2);padding:0}.login-page .legal-links div{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.login-page .legal-link{color:rgba(var(--accent-rgb),.85);text-decoration:none;transition:color .18s ease}.login-page .legal-link:hover{color:var(--accent);text-decoration:underline}.logo-container{display:flex;justify-content:center;margin-bottom:2rem}.logo{height:auto;width:160px;object-fit:contain;max-height:70px}.auth-form{position:relative;background:rgba(13,17,23,.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);padding:2rem;width:85%;max-width:400px;z-index:10}h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1.25rem;color:#fff}.label{display:block;font-size:1rem;margin-bottom:.625rem;color:rgba(255,255,255,.8)}.input-group{margin-bottom:1.25rem}input{width:100%;padding:.75rem;background-color:rgba(30,30,30,.7);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9375rem;font-family:var(--font-sans);box-sizing:border-box;transition:border-color .2s}input:focus{outline:none;border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}input::placeholder{color:rgba(255,255,255,.4)}.primary-button{width:100%;padding:.7rem;background-color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 72%,#000);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1);margin-top:.75rem;margin-bottom:1rem;filter:none}.primary-button,.primary-button:hover:not(:disabled){color:var(--accent-foreground);box-shadow:none;transform:none}.primary-button:hover:not(:disabled){background-color:var(--accent-hover);border-color:color-mix(in srgb,var(--accent-hover) 68%,#000)}.primary-button:active:not(:disabled){background-color:color-mix(in srgb,var(--accent-hover) 82%,#000);border-color:color-mix(in srgb,var(--accent-hover) 58%,#000);box-shadow:none;transform:none}.text-center{display:flex;justify-content:center;align-items:center;margin-top:.5rem;width:100%}.secondary-button{background:transparent;border:none;color:rgba(255,255,255,.7);font-family:var(--font-display);font-size:.9375rem;cursor:pointer;padding:.625rem 1.25rem;transition:color .2s;display:inline-block;text-align:center}.secondary-button:hover{color:var(--accent);background-color:transparent}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:rgba(255,255,255,.5);font-size:.875rem;font-family:var(--font-sans)}.divider:after,.divider:before{content:"";flex:1 1;border-bottom:1px solid rgba(255,255,255,.1)}.divider span{padding:0 1rem}.google-button{width:100%;padding:.7rem;background-color:#fff;color:#333;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1);margin-bottom:1rem;box-shadow:none;filter:none;transform:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.google-button:hover:not(:disabled){background-color:#f0f0f0;box-shadow:none;transform:none}.google-button:active:not(:disabled){background-color:#e4e4e4;box-shadow:none;transform:none}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button svg{width:20px;height:20px;flex-shrink:0}.error{color:#ff4d4d;background-color:rgba(255,77,77,.1);padding:.75rem;border-radius:8px;text-align:center;margin-bottom:1.25rem;font-size:.875rem}.auth-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:10px;overflow-y:auto;max-height:100vh}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:10px;top:25%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--accent);width:30px;height:30px;padding:0;margin:0;transition:color .2s;z-index:5}.password-toggle:hover{color:rgba(0,0,0,.8)}.password-toggle:focus{outline:none}.password-toggle svg{width:20px;height:20px}.password-info{font-size:.8rem;color:rgba(255,255,255,.6);margin-left:.5rem}.password-requirements{margin-top:.5rem;padding:.6rem;background-color:rgba(30,30,30,.5);border-radius:8px;border:1px solid rgba(255,255,255,.1)}.requirement{display:flex;align-items:center;margin-bottom:.35rem;color:rgba(255,255,255,.6);font-size:.75rem;transition:color .3s ease}.requirement:last-child{margin-bottom:0}.requirement.met{color:rgba(var(--accent-rgb),.9)}.indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background-color:rgba(0,0,0,.2);position:relative}.requirement.met .indicator{background-color:var(--accent)}.requirement.met .indicator:after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.forgot-password{text-align:center;margin-bottom:1.25rem}.text-link{background:transparent;border:none;color:rgba(var(--accent-rgb),.8);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;padding:.5rem;transition:all .2s;text-decoration:none}.text-link:hover{color:var(--accent);text-decoration:underline}.legal-links{text-align:center;margin:1rem 0 .75rem;padding:0 .5rem}.legal-links div{font-family:var(--font-sans);font-size:.75rem;color:rgba(255,255,255,.6);line-height:1.5}.legal-link{color:rgba(var(--accent-rgb),.8);text-decoration:none;transition:color .2s ease}.legal-link:hover{color:var(--accent);text-decoration:underline}@media (prefers-reduced-motion:reduce){.login-page .auth-form{transform:none}.login-page .google-button,.login-page .primary-button{transition:none}}@media (max-width:900px){.login-page .login-stage{justify-content:center;padding:1.25rem 1rem}.login-page .login-stage .auth-wrapper{flex:1 1 auto;width:100%;max-width:min(400px,100%)}.login-page .login-backdrop{opacity:.55}.login-page .login-backdrop__fade{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.72) 45%,#000000)}}