.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--map-bg-discover);padding:var(--spacing-lg)}.login-container{width:100%;max-width:400px}.login-form{background:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:0 10px 25px #0000001a}.login-form h1{text-align:center;margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-xl)}.login-form .subtitle{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-text-secondary)}.error-message{background:#fee;color:#c33;padding:var(--spacing-sm);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);border:1px solid #fcc}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);font-weight:500}.form-group input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-base);transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-btn{width:100%;padding:var(--spacing-md);background:var(--color-primary);color:var(--color-surface);border:none;border-radius:var(--border-radius-pill);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-bottom:var(--spacing-lg)}.login-btn:hover:not(:disabled){background:var(--color-primary-dark)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.divider{position:relative;text-align:center;margin:var(--spacing-lg) 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-border)}.divider span{background:var(--color-surface);padding:0 var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.social-login{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.social-btn{flex:1;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-pill);background:var(--color-surface);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.social-btn:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.social-btn:disabled{opacity:.6;cursor:not-allowed}.google-btn{color:#757575}.apple-btn{color:#000}.login-footer{text-align:center}.login-footer p{color:var(--color-text-secondary);margin:0}.login-footer a{color:var(--color-primary);font-weight:500}.login-footer a:hover{text-decoration:underline}.forgot-password-link{text-align:right;margin-top:var(--spacing-xs)}.forgot-password-link a{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none}.forgot-password-link a:hover{color:var(--color-primary);text-decoration:underline}
