.trainer-login-page{background-color:var(--color-bg-dark);min-height:100vh;font-family:var(--font-family);background-image:radial-gradient(circle at 20%,rgba(0,242,234,.05) 0%,transparent 50%),radial-gradient(circle at 80%,rgba(0,242,234,.05) 0%,transparent 50%);justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.trainer-login-container{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:440px;display:flex}.trainer-login-card{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--border-radius-main);width:100%;box-shadow:var(--shadow-lg);padding:2.5rem;position:relative;overflow:auto}.trainer-login-card:before{content:"";background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));border-radius:var(--border-radius-main)var(--border-radius-main)0 0;height:3px;position:absolute;top:0;left:0;right:0}.trainer-login-header{text-align:center;margin-bottom:2rem}.trainer-login-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.trainer-login-logo img{width:auto;max-width:100%;height:auto;display:block}.trainer-login-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.trainer-login-subtitle{color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.trainer-login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--color-text);letter-spacing:.01em;font-size:.875rem;font-weight:600}.form-input{width:100%;font-size:.9375rem;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-normal);border-radius:8px;outline:none;padding:.75rem 1rem}.form-input::placeholder{color:var(--color-text-dark)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background-color:var(--color-bg-light)}.form-input:hover:not(:focus){border-color:rgba(255,255,255,.2)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{padding-right:44px}.password-toggle-btn{cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-normal);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:var(--color-primary)}.password-toggle-btn:focus{color:var(--color-primary);outline:none}.alert{border:1px solid;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.alert-success{border-color:var(--color-accent-green);color:var(--color-accent-green);background-color:rgba(41,216,159,.1)}.alert-error{border-color:var(--color-accent-red);color:var(--color-accent-red);background-color:rgba(255,71,87,.1)}.btn-primary{width:100%;font-size:.9375rem;font-weight:600;font-family:var(--font-family);color:var(--color-bg-dark);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));cursor:pointer;transition:all var(--transition-normal);letter-spacing:.02em;z-index:0;border:none;border-radius:8px;outline:none;padding:.875rem 1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,242,234,.25)}.btn-primary:before{content:"";background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));opacity:0;transition:opacity var(--transition-normal);z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0}.btn-primary:hover:before{opacity:1}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,242,234,.35)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.trainer-login-links{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.forgot-password-link{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.forgot-password-link span{color:var(--color-text-secondary)}.forgot-password-link a{color:var(--color-primary);transition:color var(--transition-normal);font-weight:600;text-decoration:none}.forgot-password-link a:hover{color:var(--color-primary-dark);text-decoration:underline}.signup-link{border-top:1px solid var(--color-border);padding-top:1rem}.signup-link p{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.875rem}.signup-link a{color:var(--color-primary);transition:color var(--transition-normal);font-weight:700;text-decoration:none}.signup-link a:hover{color:var(--color-primary-dark);text-decoration:underline}.trainer-login-support{color:var(--color-text-dark);text-align:center;margin:0;font-size:.8125rem}.trainer-login-support a{color:var(--color-primary);transition:color var(--transition-normal);text-decoration:none}.trainer-login-support a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:480px){.trainer-login-card{padding:2rem 1.5rem}.trainer-login-title{font-size:1.5rem}.trainer-login-subtitle{font-size:.875rem}.forgot-password-link{flex-direction:column;align-items:flex-start}}.btn-primary.loading:after{content:"";border:2px solid var(--color-bg-dark);vertical-align:middle;border-top-color:transparent;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.oauth-divider{align-items:center;gap:1rem;margin:.5rem 0;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background-color:var(--color-border);flex:1;height:1px}.oauth-divider span{color:var(--color-text-secondary);text-transform:lowercase;font-size:.8125rem}.google-signin-button{width:100%;font-size:15px;font-weight:500;font-family:var(--font-family,system-ui,-apple-system,sans-serif);color:#1f1f1f;cursor:pointer;background-color:#fff;border:1px solid #dadce0;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:12px;padding:12px 24px;transition:all .2s;display:flex}.google-signin-button:hover:not(:disabled){background-color:#f7f8f8;border-color:#c4c7c5;box-shadow:0 1px 3px rgba(0,0,0,.1)}.google-signin-button:focus-visible{box-shadow:0 0 0 3px rgba(66,133,244,.3)}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.google-signin-button .google-icon{flex-shrink:0}.google-signin-button .google-text{letter-spacing:.01em}
