.auth-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;margin-top:-60px;padding:120px 2rem 2rem;display:flex}.auth-container{width:100%;max-width:500px;margin-top:2rem}.auth-card{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:1rem;padding:2rem;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:4px;position:absolute;top:0;left:0;right:0}.auth-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.back-btn{background:var(--bg-secondary);width:2.5rem;height:2.5rem;color:var(--text-primary);border-radius:.5rem;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.back-btn:hover{background:var(--bg-tertiary);transform:scale(1.05)}.auth-logo{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.logo-icon{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:2rem;display:flex}.logo-text{background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo-large{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:1rem;justify-content:center;align-items:center;width:5rem;height:5rem;margin:0 auto 1.5rem;font-size:4rem;display:flex}.auth-title{text-align:center;margin-bottom:2rem}.auth-title h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:800}.auth-title p{color:var(--text-secondary);line-height:1.6}.form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group label{color:var(--text-primary);font-weight:600}.input-container{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);z-index:1;position:absolute;left:1rem}.input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:.5rem;padding:.75rem 1rem .75rem 3rem;font-size:1rem;transition:all .3s}.input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input.error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.input::placeholder{color:var(--text-muted)}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem;transition:all .3s;position:absolute;right:1rem}.password-toggle:hover{color:var(--text-primary);background:var(--bg-secondary)}.field-error{color:#ef4444;margin-top:.25rem;font-size:.875rem}.error-message{color:#ef4444;text-align:center;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem}.form-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.checkbox-container{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.checkbox-container input[type=checkbox]{display:none}.checkmark{border:2px solid var(--border-color);border-radius:.25rem;width:1.25rem;height:1.25rem;transition:all .3s;position:relative}.checkbox-container input[type=checkbox]:checked+.checkmark{background:#3b82f6;border-color:#3b82f6}.checkbox-container input[type=checkbox]:checked+.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.25rem;height:.5rem;position:absolute;top:.125rem;left:.25rem;transform:rotate(45deg)}.forgot-link{color:#3b82f6;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .3s}.forgot-link:hover{color:#1d4ed8;text-decoration:underline}.terms-link{color:#3b82f6;font-weight:500;text-decoration:none;transition:all .3s}.terms-link:hover{color:#1d4ed8;text-decoration:underline}.auth-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;display:flex}.auth-divider{text-align:center;margin:1rem 0;position:relative}.auth-divider:before{content:"";background:var(--border-color);height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background:var(--bg-primary);color:var(--text-muted);z-index:1;padding:0 1rem;font-size:.875rem;position:relative}.google-btn{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);justify-content:center;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.google-btn:hover{background:var(--bg-secondary);border-color:var(--text-muted);transform:translateY(-1px)}.auth-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.auth-footer p{color:var(--text-secondary);font-size:.875rem}.auth-link{color:#3b82f6;font-weight:600;text-decoration:none;transition:all .3s}.auth-link:hover{color:#1d4ed8;text-decoration:underline}.spinner{border:2px solid transparent;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}@media (max-width:768px){.auth-page{margin-top:-40px;padding:100px 1rem 1rem}.auth-container{margin-top:1rem}.auth-card{padding:1.5rem}.auth-title h1{font-size:1.75rem}.logo-large{width:4rem;height:4rem;font-size:3rem}}@media (max-width:480px){.auth-page{margin-top:-30px;padding-top:80px}.auth-container{margin-top:.5rem}.auth-card{padding:1rem}.auth-title h1{font-size:1.5rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}.form-row{grid-template-columns:1fr;gap:.75rem}.logo-large{width:3rem;height:3rem;font-size:2.5rem}}
