*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:#171717;background-color:#fafafa;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.auth-brand-bar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e5e5e5;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.auth-back-btn{display:inline-flex;align-items:center;gap:4px;color:#525252;font-family:var(--auth-body-font, sans-serif);font-size:14px;font-weight:500;text-decoration:none;padding:6px 10px;border-radius:8px;transition:color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.auth-back-btn:hover{color:#171717;background:#f5f5f5}.auth-back-btn svg{flex-shrink:0}.auth-brand-logo{display:inline-flex;align-items:center;gap:0;text-decoration:none;-webkit-tap-highlight-color:transparent}.auth-brand-logo .logo-text{font-family:var(--auth-body-font, "DM Sans", sans-serif);font-size:18px;font-weight:400;letter-spacing:-.02em;color:#171717}.auth-brand-logo .logo-text strong{font-weight:700}.auth-logo-icon{display:none}.auth-page{--auth-primary: #0a0a0a;--auth-primary-light: #262626;--auth-accent: #1e3a5f;--auth-body-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(2rem,env(safe-area-inset-bottom));font-family:var(--auth-body-font);background:#fafafa}.auth-container{width:100%;max-width:420px}.auth-card{background:#fff;border-radius:16px;padding:2.5rem;border:1px solid #e5e5e5}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{margin:0 0 .375rem;font-family:var(--auth-body-font, sans-serif);font-size:clamp(1.375rem,5vw,1.5rem);font-weight:700;color:#171717}.auth-header p{margin:0;color:#a3a3a3;font-size:.9375rem}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.875rem;color:#525252}.auth-footer p{margin:.5rem 0}.auth-footer a{color:#171717;font-weight:600;text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:.25rem 0;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.auth-footer a:hover{color:var(--auth-accent, #1e3a5f)}.login-form,.register-form,.forgot-password-form,.reset-password-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:#171717}.form-group input{font-size:16px;font-family:var(--auth-body-font, sans-serif);padding:.75rem .875rem;border:1.5px solid #e5e5e5;border-radius:10px;background:#fff;color:#171717;width:100%;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none;touch-action:manipulation}.form-group input:focus{outline:none;border-color:#171717;box-shadow:0 0 0 3px #0000000f}.form-group input::placeholder{color:#a3a3a3}.form-group input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#171717!important}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.5rem;font-size:.9375rem;font-family:var(--auth-body-font, sans-serif);font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#0a0a0a;color:#fff}.btn-primary:hover:not(:disabled){background:#262626}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--auth-accent, #1e3a5f);outline-offset:2px}.alert{padding:.75rem 1rem;border-radius:10px;font-size:.875rem;line-height:1.5}.alert-error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert-success{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.login-form-container,.register-form-container,.forgot-password-form-container,.reset-password-form-container{display:flex;flex-direction:column;gap:1rem}.google-login-wrapper{display:flex;justify-content:center}.google-button-container{width:100%}.google-button-container>div{width:100%!important}.google-button-container iframe{min-height:44px!important}.divider{display:flex;align-items:center;gap:1rem;color:#a3a3a3;font-size:.75rem;margin:.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e5e5}.divider span{text-transform:uppercase;font-weight:600;letter-spacing:.08em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row .form-group{min-width:0}.form-row .form-group input{width:100%}@media(max-width:380px){.auth-page{padding:4.5rem .75rem .75rem}.auth-brand-bar{padding:0 12px}.auth-back-btn span{display:none}.auth-card{padding:1.5rem 1.25rem;border-radius:12px}.auth-header{margin-bottom:1.5rem}.form-group input{padding:.625rem .75rem}.btn{min-height:44px;padding:.625rem 1.25rem}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.auth-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.auth-footer{font-size:.8125rem}}@media(max-height:500px)and (orientation:landscape){.auth-page{padding:4rem 1rem .5rem;align-items:flex-start}.auth-card{padding:1.25rem}.auth-header{margin-bottom:1rem}.auth-header h1{font-size:1.25rem;margin-bottom:.25rem}.form-group{gap:.25rem}.form-group input{padding:.5rem .75rem}.btn{min-height:40px;padding:.5rem 1rem}}@media(min-width:768px){.auth-brand-bar{padding:0 2rem}.auth-card{padding:2.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
